工厂信息
This commit is contained in:
parent
b039bc4a96
commit
88c52b9693
53
src/api/ownerContract.js
Normal file
53
src/api/ownerContract.js
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 机构合同基本信息新增
|
||||||
|
export function addOwnerContBase(data) {
|
||||||
|
return request({
|
||||||
|
url: `/owner/contract/addOwnerContBase`,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 机构合同基本信息修改
|
||||||
|
export function modifyOwnerContBaseById(data) {
|
||||||
|
return request({
|
||||||
|
url: `/updateOrganInfo`,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据ID查看合同基本信息详情
|
||||||
|
export function findOwnById(id) {
|
||||||
|
return request({
|
||||||
|
url: `/owner/contract/findById/${id}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据ID查看合同基本信息详情
|
||||||
|
export function findByOrganId(organId) {
|
||||||
|
return request({
|
||||||
|
url: `/owner/contract/findByOrganId/${organId}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取登录用户机构信息
|
||||||
|
export function getOrganInfo(params) {
|
||||||
|
return request({
|
||||||
|
url: `/getOrganInfo`,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function updateLogoImg(params) {
|
||||||
|
return request({
|
||||||
|
url: ``,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.6 KiB |
@ -1,12 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="navbar">
|
<div class="navbar">
|
||||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
<hamburger
|
||||||
|
id="hamburger-container"
|
||||||
|
:is-active="sidebar.opened"
|
||||||
|
class="hamburger-container"
|
||||||
|
@toggleClick="toggleSideBar"
|
||||||
|
/>
|
||||||
|
|
||||||
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
|
<breadcrumb
|
||||||
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
|
id="breadcrumb-container"
|
||||||
|
class="breadcrumb-container"
|
||||||
|
v-if="!topNav"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--图片-->
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
display: inline-block;
|
||||||
|
width: 66%;
|
||||||
|
margin-left: 30px;
|
||||||
|
line-height: 40px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<!--<el-image src="/images/logo.png" style="width:100%;height:40px"></el-image>-->
|
||||||
|
<el-image
|
||||||
|
v-show="this.companyImg != null || this.companyImg !=''"
|
||||||
|
:src="this.companyImg"
|
||||||
|
style="width: 100%; height: 46px"
|
||||||
|
></el-image>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" />
|
||||||
|
|
||||||
<div class="right-menu">
|
<div class="right-menu">
|
||||||
<template v-if="device!=='mobile'">
|
<template v-if="device !== 'mobile'">
|
||||||
<search id="header-search" class="right-menu-item" />
|
<search id="header-search" class="right-menu-item" />
|
||||||
|
|
||||||
<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
|
<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
|
||||||
@ -22,12 +49,14 @@
|
|||||||
<el-tooltip content="布局大小" effect="dark" placement="bottom">
|
<el-tooltip content="布局大小" effect="dark" placement="bottom">
|
||||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
<el-dropdown
|
||||||
|
class="avatar-container right-menu-item hover-effect"
|
||||||
|
trigger="click"
|
||||||
|
>
|
||||||
<div class="avatar-wrapper">
|
<div class="avatar-wrapper">
|
||||||
<img :src="avatar" class="user-avatar">
|
<img :src="avatar" class="user-avatar" />
|
||||||
<i class="el-icon-caret-bottom" />
|
<i class="el-icon-caret-bottom" />
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
@ -47,15 +76,17 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from "vuex";
|
||||||
import Breadcrumb from '@/components/Breadcrumb'
|
import Breadcrumb from "@/components/Breadcrumb";
|
||||||
import TopNav from '@/components/TopNav'
|
import TopNav from "@/components/TopNav";
|
||||||
import Hamburger from '@/components/Hamburger'
|
import Hamburger from "@/components/Hamburger";
|
||||||
import Screenfull from '@/components/Screenfull'
|
import Screenfull from "@/components/Screenfull";
|
||||||
import SizeSelect from '@/components/SizeSelect'
|
import SizeSelect from "@/components/SizeSelect";
|
||||||
import Search from '@/components/HeaderSearch'
|
import Search from "@/components/HeaderSearch";
|
||||||
import RuoYiGit from '@/components/RuoYi/Git'
|
import RuoYiGit from "@/components/RuoYi/Git";
|
||||||
import RuoYiDoc from '@/components/RuoYi/Doc'
|
import RuoYiDoc from "@/components/RuoYi/Doc";
|
||||||
|
|
||||||
|
import * as ownerServer from "@/api/ownerContract";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -66,48 +97,63 @@ export default {
|
|||||||
SizeSelect,
|
SizeSelect,
|
||||||
Search,
|
Search,
|
||||||
RuoYiGit,
|
RuoYiGit,
|
||||||
RuoYiDoc
|
RuoYiDoc,
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getOwnInfo();
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
companyImg: null,
|
||||||
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters([
|
...mapGetters(["sidebar", "avatar", "device"]),
|
||||||
'sidebar',
|
|
||||||
'avatar',
|
|
||||||
'device'
|
|
||||||
]),
|
|
||||||
setting: {
|
setting: {
|
||||||
get() {
|
get() {
|
||||||
return this.$store.state.settings.showSettings
|
return this.$store.state.settings.showSettings;
|
||||||
},
|
},
|
||||||
set(val) {
|
set(val) {
|
||||||
this.$store.dispatch('settings/changeSetting', {
|
this.$store.dispatch("settings/changeSetting", {
|
||||||
key: 'showSettings',
|
key: "showSettings",
|
||||||
value: val
|
value: val,
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
topNav: {
|
topNav: {
|
||||||
get() {
|
get() {
|
||||||
return this.$store.state.settings.topNav
|
return this.$store.state.settings.topNav;
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toggleSideBar() {
|
toggleSideBar() {
|
||||||
this.$store.dispatch('app/toggleSideBar')
|
this.$store.dispatch("app/toggleSideBar");
|
||||||
|
},
|
||||||
|
getOwnInfo() {
|
||||||
|
ownerServer.getOrganInfo().then((res) => {
|
||||||
|
if (res.code === 200 && res.data) {
|
||||||
|
this.companyImg = res.data.picture;
|
||||||
|
console.log(companyImg);
|
||||||
|
this.isEdit = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
async logout() {
|
async logout() {
|
||||||
this.$confirm('确定注销并退出系统吗?', '提示', {
|
this.$confirm("确定注销并退出系统吗?", "提示", {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: "取消",
|
||||||
type: 'warning'
|
type: "warning",
|
||||||
}).then(() => {
|
})
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
.then(() => {
|
||||||
location.href = '/index';
|
this.$store.dispatch("LogOut").then(() => {
|
||||||
|
location.href = "/index";
|
||||||
|
});
|
||||||
})
|
})
|
||||||
}).catch(() => {});
|
.catch(() => {});
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@ -116,18 +162,18 @@ export default {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
|
||||||
|
|
||||||
.hamburger-container {
|
.hamburger-container {
|
||||||
line-height: 46px;
|
line-height: 46px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
float: left;
|
float: left;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: background .3s;
|
transition: background 0.3s;
|
||||||
-webkit-tap-highlight-color:transparent;
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: rgba(0, 0, 0, .025)
|
background: rgba(0, 0, 0, 0.025);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,10 +210,10 @@ export default {
|
|||||||
|
|
||||||
&.hover-effect {
|
&.hover-effect {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: background .3s;
|
transition: background 0.3s;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: rgba(0, 0, 0, .025)
|
background: rgba(0, 0, 0, 0.025);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -260,3 +260,8 @@ export default new Router({
|
|||||||
scrollBehavior: () => ({ y: 0 }),
|
scrollBehavior: () => ({ y: 0 }),
|
||||||
routes: constantRoutes,
|
routes: constantRoutes,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export function resetRouter() {
|
||||||
|
const newRouter = createRouter()
|
||||||
|
Router.matcher = newRouter.matcher // 重制 router
|
||||||
|
}
|
||||||
|
19
src/store/modules/companyImg.js
Normal file
19
src/store/modules/companyImg.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
const state = {
|
||||||
|
companyImg:localStorage.getItem("logo"),
|
||||||
|
isLogo:false
|
||||||
|
}
|
||||||
|
|
||||||
|
const mutations = {
|
||||||
|
SET_LOGO(state,img){
|
||||||
|
state.companyImg = img
|
||||||
|
},
|
||||||
|
SET_IS_LOGO(state,isLogo) {
|
||||||
|
state.isLogo = isLogo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
namespaced: true,
|
||||||
|
state,
|
||||||
|
mutations,
|
||||||
|
}
|
234
src/views/system/FactoryInformation/index.vue
Normal file
234
src/views/system/FactoryInformation/index.vue
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-card header="工厂信息维护" shadow="never" style="min-height:600px">
|
||||||
|
<div style="width: 98%;margin:0 auto">
|
||||||
|
<el-form ref="contractForm" :model="contractForm" :rules="contractRules" label-width="110px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item prop="organName" label="工厂名称:" label-width="165px">
|
||||||
|
<el-input v-model="contractForm.organName" :disabled="isEdit" maxlength="20" style="width: 350pxpx" placeholder="请录入工厂名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item prop="organJurPerson" label="法定代表人:">
|
||||||
|
<el-input v-model="contractForm.organJurPerson" style="width: 350pxpx" maxlength="10" placeholder="请录入法人" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item prop="organPhone" label="工厂联系方式:" label-width="165px">
|
||||||
|
<el-input v-model="contractForm.organPhone" style="width: 350pxpx" maxlength="15" placeholder="请录入工厂联系方式" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item prop="userName" label="用户名:" >
|
||||||
|
<el-input v-model="contractForm.userName" style="width: 350pxpx" maxlength="30" placeholder="请录入用户名" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item prop="taxNumber" label="统一社会信用代码:" label-width="165px">
|
||||||
|
<el-input v-model="contractForm.taxNumber" :disabled="isEdit" style="width: 350pxpx" maxlength="20" placeholder="请录入统一社会信用代码" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="工厂顶图:" label-width="165px">
|
||||||
|
<el-upload
|
||||||
|
class="inline-block"
|
||||||
|
action="/prod-api/common/uploadMinio"
|
||||||
|
list-type="picture-card"
|
||||||
|
:headers="headers"
|
||||||
|
:auto-upload="false"
|
||||||
|
:on-success="handlerSuccess"
|
||||||
|
:on-change="changeLogo"
|
||||||
|
:on-remove="showLogo"
|
||||||
|
accept="jpeg,jpg,png"
|
||||||
|
name="file"
|
||||||
|
ref="upload"
|
||||||
|
:limit="1"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
v-show="isShow"
|
||||||
|
width="100%"
|
||||||
|
:src="this.contractForm.picture"
|
||||||
|
/>
|
||||||
|
<!-- <i slot="default" class="el-icon-plus"></i> -->
|
||||||
|
</el-upload>
|
||||||
|
<span style="display:inline-block;position: relative;top: 60px;left:20px"><el-button plain @click="uploadImg" >上传</el-button></span>
|
||||||
|
<div style="color: red">注 :您最多只能上传一张图片,图片尺寸为1000px*40px,并且图片大小不能超过2M</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" style="text-align:center;">
|
||||||
|
<el-button type="primary" @click="confirm"> 保 存 </el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as ownerServer from '@/api/ownerContract'
|
||||||
|
import { getToken } from "@/utils/auth";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
headers: {
|
||||||
|
Authorization: "Bearer " + getToken()
|
||||||
|
},
|
||||||
|
isShow:true,
|
||||||
|
contractForm: {
|
||||||
|
id: '',
|
||||||
|
organName: '',
|
||||||
|
contControlId: 'HT001',
|
||||||
|
address: '',
|
||||||
|
postCode: '',
|
||||||
|
jurPerson: '',
|
||||||
|
agentPerson: '',
|
||||||
|
telFax: '',
|
||||||
|
bankName: '',
|
||||||
|
bankNo: '',
|
||||||
|
taxNumber: ''
|
||||||
|
},
|
||||||
|
isEdit: false,
|
||||||
|
contractRules: {
|
||||||
|
organName: [{ required: true, message: '请录入工厂名称', trigger: 'blur' }],
|
||||||
|
organJurPerson: [{ required: true, message: '请录入法定代表人', trigger: 'blur' }],
|
||||||
|
organPhone: [{ required: true, message: '请录入工厂联系方式', trigger: 'blur' }],
|
||||||
|
userName: [{ required: true, message: '请录入用户名', trigger: 'blur' }],
|
||||||
|
},
|
||||||
|
fileFormats:["jpep","png","jpg"],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getOwnInfo()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeLogo(file){
|
||||||
|
const isLt2M = file.size / 1024 / 1024 < 2;
|
||||||
|
let suffixFile=file.name.substring(file.name.lastIndexOf("\.")+1);
|
||||||
|
if (!this.fileFormats.includes(suffixFile)){
|
||||||
|
this.$refs.upload.clearFiles();
|
||||||
|
this.$message.error('上传图片格式只能是.jpg,.jpeg,.png');
|
||||||
|
}else if(!isLt2M){
|
||||||
|
this.$refs.upload.clearFiles();
|
||||||
|
this.$message.error('上传头像图片大小不能超过 2MB!');
|
||||||
|
}else{
|
||||||
|
let vue=this;
|
||||||
|
let url = window.URL || window.webkitURL;
|
||||||
|
let img = new Image();
|
||||||
|
img.src = url.createObjectURL(file.raw);
|
||||||
|
img.onload=function () {
|
||||||
|
if(!(this.width==1000&&this.height==40)){
|
||||||
|
vue.$refs.upload.clearFiles();
|
||||||
|
vue.$message.error('图片尺寸必须是1000*40的图片');
|
||||||
|
}else{
|
||||||
|
vue.isShow=false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showLogo(){
|
||||||
|
this.isShow=true;
|
||||||
|
},
|
||||||
|
handlerSuccess(companyImg) {
|
||||||
|
console.log(companyImg);
|
||||||
|
this.contractForm.picture = companyImg.fileName;
|
||||||
|
},
|
||||||
|
uploadImg() {
|
||||||
|
if (this.$refs.upload.uploadFiles.length>0){
|
||||||
|
this.$refs.upload.submit()
|
||||||
|
}else{
|
||||||
|
this.$message.error('请先选择图片');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeLogoUpload(file) {
|
||||||
|
// console.log(file);
|
||||||
|
// const isJPG = file.type === 'image/jpeg';
|
||||||
|
// const isLt2M = file.size / 1024 / 1024 < 2;
|
||||||
|
//
|
||||||
|
// if (!isJPG) {
|
||||||
|
// this.$message.error('上传头像图片只能是 JPG 格式!');
|
||||||
|
// }
|
||||||
|
// if (!isLt2M) {
|
||||||
|
// this.$message.error('上传头像图片大小不能超过 2MB!');
|
||||||
|
// }
|
||||||
|
// return isJPG && isLt2M;
|
||||||
|
},
|
||||||
|
getOwnInfo() {
|
||||||
|
ownerServer.getOrganInfo().then(res => {
|
||||||
|
if (res.code === 200 && res.data) {
|
||||||
|
this.contractForm = res.data;
|
||||||
|
this.$store.commit("companyImg/SET_LOGO",this.$store.getters.sysBaseUrl + '/reportImg/' + this.contractForm.picture);
|
||||||
|
this.$store.commit("companyImg/SET_IS_LOGO",true);
|
||||||
|
this.isEdit = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.$refs.contractForm.validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.contractForm.contControlId = 'HT001'
|
||||||
|
if (!this.isEdit) {
|
||||||
|
ownerServer.modifyOwnerContBaseById(this.contractForm).then(result => {
|
||||||
|
if (result.code === 200) {
|
||||||
|
this.$notify({
|
||||||
|
title: '成功',
|
||||||
|
message: result.message,
|
||||||
|
type: 'success'
|
||||||
|
})
|
||||||
|
this.getOwnInfo()
|
||||||
|
} else {
|
||||||
|
this.$notify({
|
||||||
|
title: '失败',
|
||||||
|
message: result.message,
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
ownerServer.modifyOwnerContBaseById(this.contractForm).then(result => {
|
||||||
|
console.log(this.contractForm);
|
||||||
|
if (result.code === 200) {
|
||||||
|
this.$notify({
|
||||||
|
title: '成功',
|
||||||
|
message: result.msg,
|
||||||
|
type: 'success'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$notify({
|
||||||
|
title: '失败',
|
||||||
|
message: result.msg,
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.error('请录入完整信息')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
::v-deep .el-card .el-card__header {
|
||||||
|
padding: 15px 20px;
|
||||||
|
background: #F3F2F2;
|
||||||
|
}
|
||||||
|
.inline-block {
|
||||||
|
display: inline-block;
|
||||||
|
/*border: 1px solid black;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/*::v-deep .el-upload{*/
|
||||||
|
/*width: 500px;*/
|
||||||
|
/*}*/
|
||||||
|
</style>
|
Loading…
Reference in New Issue
Block a user