提交 e33ccb7e authored 作者: CRS's avatar CRS

合并分支 'crs' 到 'master'

Crs 查看合并请求 !20
......@@ -151,6 +151,8 @@ export default {
this.$server.postUnitSearchAccess(data).then(res => {
this.allData = res.data.data.rows;
this.totalLength = this.allData.length;
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 点击分页
......
......@@ -129,6 +129,8 @@ export default {
// })
this.$server.getTechFindAll().then(res => { // 请求技术路线
this.techList = res.data.data
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 技术路线值转换
......@@ -185,6 +187,8 @@ export default {
this.$server.postProduceSearchAccess(data).then(res => {
this.allData = res.data.data.rows;
this.totalLength = this.allData.length;
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 点击分页
......@@ -396,4 +400,4 @@ export default {
.newCompany .company-content>>>.el-input__inner{
width: 290px;
}
</style>
\ No newline at end of file
</style>
......@@ -58,6 +58,8 @@ export default {
this.$server.getProduceFind(this.list).then(res => {
console.log(res)
this.techNameList = res.data.data
}).catch(err => {
this.$message.error('数据请求失败!');
})
}
},
......
......@@ -8,26 +8,52 @@
<span>路线名称:</span>
<el-input v-model="addVal" size="medium" placeholder="请输入"></el-input>
</p>
<p class="select">
<div class="select">
<span>产品组合:</span>
<el-select v-model="product1" placeholder="请选择" clearable>
<el-option
v-for="item in product1List"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="product2" placeholder="请选择" clearable style="margin-left: 20px;">
<el-option
v-for="item in product2List"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<img src="./img/delN.png" class="del">
</p>
<div>
<el-scrollbar style="height: 100%">
<p style="margin-bottom: 10px;">
<el-select v-model="product1" placeholder="请选择" clearable>
<el-option
v-for="item in product1List"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="product2" placeholder="请选择" clearable style="margin-left: 20px;">
<el-option
v-for="item in product2List"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<img src="./img/delN.png" class="del">
</p>
<p style="margin-bottom: 10px;" v-for="(item,index) of allProduct" v-if="allProduct.length !== 0">
<el-select v-model="item.product1" placeholder="请选择" clearable @change="changeVal(item.product1,index)">
<el-option
v-for="item in product1List"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="item.product2" placeholder="请选择" clearable style="margin-left: 20px;">
<el-option
v-for="item in product2List"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<img src="./img/delN.png" class="del" @click="dele(index)">
</p>
<p class="addProduct" @click="addProduct"><img src="./img/clickN.png"><span>新增产品组合</span></p>
</el-scrollbar>
</div>
</div>
</div>
<p class="line"></p>
<p class="buttonClick">
......@@ -67,7 +93,8 @@ export default {
label: '其他'
}
],
product2List: []
product2List: [],
allProduct: []
}
},
created() {
......@@ -77,23 +104,61 @@ export default {
methods: {
// 保存
save() {
let val = {
'name': this.addVal,
'product1': this.product1,
'product2': this.product2,
'allProduct': this.allProduct
}
console.log(val)
},
// 取消
cancel() {
this.$emit('on-cancel')
},
// 新增产品组合
addProduct() {
let val = {
'product1': '',
'product2': ''
}
this.allProduct.push(val);
console.log(this.allProduct)
},
// 选择产品组合
changeVal(val,index) {
if (val !== '') {
this.$server.getFindByForm(val).then((res) => { // 数据请求
if (res.data.code === 200) {
this.product2List = res.data.data;
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
} else {
this.allProduct[index].product2 = '';
}
},
// 删除产品组合
dele(index) {
this.allProduct.splice(index,1)
}
},
components: {
},
watch: {
'product1':function (val) {
console.log(val);
this.$server.getFindByForm(val).then((res) => { // 数据请求
console.log(res.data.data)
if (res.data.code === 200) {
this.product2List = res.data.data;
}
})
this.product2 = '';
if (val !== '') {
this.$server.getFindByForm(val).then((res) => { // 数据请求
if (res.data.code === 200) {
this.product2List = res.data.data;
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
}
}
}
}
......@@ -112,7 +177,7 @@ export default {
display: inline;
}
.addTechnical .line{
margin: 150px 30px 0 30px;
margin: 20px 30px 0 30px;
height: 1px;
background: rgba(72,119,230,0.2);
}
......@@ -131,4 +196,28 @@ export default {
.addTechnical .select img{
margin-left: 10px;
}
.addTechnical .select>div{
display: inline-block;
height: 200px;
}
.addTechnical .select>span{
display: inline-block;
height: 34px;
line-height: 34px;
vertical-align: top;
}
.addTechnical>>>.el-scrollbar__wrap {
overflow-x: hidden;
}
.addTechnical .addProduct{
color: #98B2F0;
cursor: pointer;
}
.addTechnical .addProduct:hover{
color: #4C7AE6;
cursor: pointer;
}
.addTechnical .addProduct:hover>img{
content: url("./img/click.png");
}
</style>
......@@ -14,7 +14,7 @@
<el-input v-model="productVal" size="medium" placeholder="请输入"></el-input>
</span>
<span class="button" @click="search">搜索</span>
<span class="button new" @click="addperson">新增技术路线</span>
<span class="button new" @click="addperson" title="新增技术路线"><img src="./img/add.png"></span>
</p>
<div class="common-table">
<el-table
......@@ -119,6 +119,8 @@ export default {
this.allData = res.data.data.rows;
this.totleLength = res.data.data.total;
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 搜索栏
......@@ -232,6 +234,6 @@ export default {
.technical .content .new{
position: absolute;
right: 70px;
width: 128px;
width: 50px;
}
</style>
......@@ -167,6 +167,8 @@ export default {
this.$server.postUnitSearch(data).then(res => {
this.allData = res.data.data.rows;
this.totalLength = this.allData.length;
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 点击分页
......
......@@ -105,7 +105,11 @@ export default {
if (res.data.code === 200) {
this.$message.success('新增人员成功!');
this.resetForm('form')
} else {
this.$message.error('新增人员失败!');
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
} else {
return false;
......
......@@ -32,7 +32,7 @@
</el-select>
</span>
<span class="button" @click="search">搜索</span>
<span class="button new" @click="addperson">新增人员</span>
<span class="button new" @click="addperson" title="新增人员"><img src="./img/add.png"></span>
</p>
<div class="common-table">
<el-table
......@@ -131,8 +131,12 @@ export default {
}
this.init()
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
methods: {
......@@ -162,6 +166,8 @@ export default {
this.allData = res.data.data.rows;
this.totleLength = res.data.data.total;
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 搜索栏
......@@ -275,5 +281,6 @@ export default {
.person .content .new{
position: absolute;
right: 70px;
width: 50px;
}
</style>
......@@ -145,6 +145,8 @@ export default {
// })
this.$server.getTechFindAll().then(res => { // 请求技术路线
this.techList = res.data.data
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 技术路线值转换
......@@ -205,6 +207,8 @@ export default {
this.$server.postProduceSearch(data).then(res => {
this.allData = res.data.data.rows;
this.totalLength = this.allData.length;
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 点击分页
......@@ -439,4 +443,4 @@ export default {
.newCompany .company-content>>>.el-input__inner{
width: 290px;
}
</style>
\ No newline at end of file
</style>
......@@ -58,6 +58,8 @@
this.$server.getProduceFind(this.list).then(res => {
console.log(res)
this.techNameList = res.data.data
}).catch(err => {
this.$message.error('数据请求失败!');
})
}
},
......
......@@ -12,9 +12,11 @@
</p>
<p class="add">
<span>角色权限:</span>
<span style="margin-left: 150px;">
<span class="selected" @click="selected('y')"><img src="./img/selectedH.png">全选</span>
<span class="selectedN" @click="selected('n')"><img src="./img/selectedNH.png">全不选</span>
<span style="margin-left: 180px;">
<span class="selected" @click="selected">
<img src="./img/selectedH.png" class="img">
<span class="val">全选</span>
</span>
</span>
</p>
<p class="authorityList">
......@@ -37,7 +39,8 @@ export default {
return {
authority: [],
allAuthority: [],
nameVal: ''
nameVal: '',
clickAll: false // 全选
}
},
created() {
......@@ -48,6 +51,8 @@ export default {
this.authority = res.data.data;
this.init();
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
methods: {
......@@ -86,7 +91,11 @@ export default {
if (res.data.code === 200) {
this.$message.success('角色新增成功!');
this.cancel();
} else {
this.$message.error('角色新增失败!');
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
} else {
let val = {
......@@ -97,28 +106,35 @@ export default {
if (res.data.code === 200) {
this.$message.success('角色修改成功!');
this.cancel();
} else {
this.$message.error('角色修改失败!');
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
}
},
// 点击全选/全不选
selected(val) {
if (val === 'y') {
selected() {
if (this.clickAll === false) {
$('.selected').addClass('selectedClick');
$('.selectedN').removeClass('selectedNClick')
$('.authorityList>span').addClass('authorityListClick');
$('.selected>img').addClass('noClick')
$('.val').html('全不选')
this.allAuthority = [];
for (let item of this.authority) {
this.allAuthority.push(item.id)
}
this.clickAll = true;
} else {
$('.selected>img').removeClass('noClick')
$('.selected').removeClass('selectedClick');
$('.selectedN').addClass('selectedNClick')
$('.val').html('全选')
this.allAuthority = [];
$('.authorityList>span').removeClass('authorityListClick')
this.clickAll = false;
}
console.log(this.allAuthority)
},
// 点击选择
clickList(index,row) {
......@@ -180,29 +196,14 @@ export default {
justify-content: space-evenly;
margin-top: 20px;
}
.authority .selected, .authority .selectedN{
color: #b6c9f5;
.authority .selected{
cursor: pointer;
}
.authority .selectedN{
margin-left: 30px;
}
.authority .selected:hover,.authority .selectedN:hover{
color: #4877e6;
}
.authority .selected:hover>img{
content: url("./img/selected.png");
}
.authority .selectedN:hover>img{
content: url("./img/selectedN.png");
}
.authority .selectedClick, .authority .selectedNClick{
color: #4877e6;
}
.authority .selectedClick>img{
.authority .img{
content: url("./img/selected.png");
}
.authority .selectedNClick>img{
.authority .noClick{
content: url("./img/selectedN.png");
}
.authority .authorityList{
......
......@@ -10,7 +10,7 @@
<el-input v-model="searchVal" size="medium" placeholder="请输入"></el-input>
</span>
<span class="button" @click="search">搜索</span>
<span class="button new" @click="addrole">新增角色</span>
<span class="button new" @click="addrole" title="新增角色"><img src="./img/add.png"></span>
</p>
<div class="common-table">
<el-table
......@@ -111,6 +111,8 @@ export default {
this.allData = res.data.data.rows;
this.totleLength = res.data.data.total;
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 搜索栏
......@@ -233,5 +235,6 @@ export default {
.role .content .new{
position: absolute;
right: 70px;
width: 50px;
}
</style>
......@@ -81,7 +81,7 @@ export default {
},
{
id: 3,
name: '监理'
name: '监理'
},
{
id: 4,
......@@ -149,8 +149,14 @@ export default {
this.$server.getProjectFindAll().then(res => {
console.log(res.data.data)
this.project = res.data.data;
}).catch(err => {
this.$message.error('数据请求失败!');
})
}).catch(err => {
this.$message.error('数据请求失败!');
})
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
methods: {
......@@ -187,7 +193,11 @@ export default {
if (res.data.code === 200) {
this.$message.success('新增投诉成功!');
this.$router.push({name: 'complaint'});
} else {
this.$message.success('新增投诉失败!');
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
} else {
return false;
......
......@@ -9,7 +9,7 @@
<el-input v-model="searchVal" size="medium" placeholder="请输入查询内容"></el-input>
</span>
<span class="button" @click="search">查询</span>
<span class="button new" @click="addComplaint">新增意见</span>
<span class="button new" @click="addComplaint" title="新增意见"><img src="./img/add.png"></span>
</p>
<div class="common-table">
<el-table
......@@ -37,6 +37,7 @@
<el-table-column
prop="produceName"
label="产品"
:show-overflow-tooltip="true"
align="center">
</el-table-column>
<el-table-column
......@@ -50,12 +51,12 @@
align="center">
</el-table-column>
<el-table-column
prop="time"
prop="time1"
label="投诉时间"
align="center">
</el-table-column>
<el-table-column
prop="replyTime"
prop="replyTime1"
label="最近回复时间"
align="center">
</el-table-column>
......@@ -120,12 +121,14 @@ export default {
this.allData = res.data.data.rows;
this.totleLength = res.data.data.total;
for (let item of this.allData) {
item.time = this.time(item.time);
item.replyTime = this.time(item.replyTime);
item.time1 = this.time1(item.time);
item.replyTime1 = this.time1(item.replyTime);
item.type = item.type === 1 ? '服务质量' : item.type === 2 ? '服务态度' : item.type === 3 ? '响应速度' : '其他';
item.target = item.target === 1 ? '集成商' : item.target === 2 ? '监理' : item.target === 3 ? '开发商' : item.target === 4 ? '硬件产品' : item.target === 5 ? '软件产品' : '其他';
item.target = item.target === 1 ? '集成商' : item.target === 2 ? '监理' : item.target === 3 ? '开发商' : item.target === 4 ? '硬件产品' : item.target === 5 ? '软件产品' : '其他';
}
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 搜索栏
......@@ -152,6 +155,16 @@ export default {
},
// 时间换算
time(value) {
let date = new Date(value); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
return Y + M + D + ' ' + h + m + s;
},
time1(value) {
let date = new Date(value); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
......@@ -232,6 +245,7 @@ export default {
.complaint .content .new{
position: absolute;
right: 70px;
width: 50px;
}
.complaint>>>.el-table__body tr, .el-table__body td{
cursor: pointer;
......
......@@ -60,7 +60,7 @@
</div>
<p class="line"></p>
<div class="reply">
<span>回复列表</span>
<span>中心回复</span>
<span class="replyList">
<el-scrollbar style="height: 100%">
<p v-for="(item,index) of replyList" v-show="replyList !== ''" :key="index" class="replyAll">
......@@ -105,13 +105,15 @@ export default {
this.$server.getUnitFindAll().then(res => {
console.log(res.data.data)
this.unit = res.data.data;
}).catch(err => {
this.$message.error('数据请求失败!');
})
let value = this.$route.params.value;
if (value !== '' || value !== undefined) {
console.log(value);
this.name = value.userName;
this.time = value.time;
this.replytime = value.replyTime;
this.time = this.timeC(value.time);
this.replytime = this.timeC(value.replyTime);
this.objectVal = value.target;
this.unitVal = value.unitName;
this.projectVal = value.projectName;
......@@ -170,10 +172,10 @@ export default {
.complaintDetail .content .selectedList{
display: flex;
justify-content: space-between;
margin-top: 30px;
margin-top: 15px;
}
.complaintDetail .textarea{
margin-top: 50px;
margin-top: 15px;
}
.complaintDetail .content .blank{
width: 390px;
......@@ -232,7 +234,7 @@ export default {
.complaintDetail .content .replyList{
display: inline-block;
width: 89%;
height: 100px;
height: 200px;
background: #f5f8fd;
border: 1px solid rgba(8, 104, 157, .3);
border-radius: 2px;
......@@ -245,14 +247,15 @@ export default {
background: #f5f8fd;
font-size: 18px;
color: #333;
font-family: 'Regular';
}
.complaintDetail .selected>>>.el-textarea{
width: 89%;
}
.complaintDetail .selected>>>.el-textarea textarea{
max-height: 70px;
min-height: 70px;
height: 70px;
max-height: 100px;
min-height: 100px;
height: 100px;
font-size: 18px;
color: #333;
font-family: 'Regular';
......
......@@ -81,7 +81,7 @@ export default {
},
{
id: 3,
name: '监理'
name: '监理'
},
{
id: 4,
......@@ -149,8 +149,14 @@ export default {
this.$server.getProjectFindAll().then(res => {
console.log(res.data.data)
this.project = res.data.data;
}).catch(err => {
this.$message.error('数据请求失败!');
})
}).catch(err => {
this.$message.error('数据请求失败!');
})
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
methods: {
......@@ -187,7 +193,11 @@ export default {
if (res.data.code === 200) {
this.$message.success('新增投诉成功!');
this.$router.push({name: 'complaint'});
} else {
this.$message.success('新增投诉失败!');
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
} else {
return false;
......
......@@ -3,13 +3,13 @@
<el-row>
<el-col :span="24">
<div class="content">
<p class="title">意见建议</p>
<p class="title">投诉管理</p>
<p class="search">
<span class="searchVal">
<el-input v-model="searchVal" size="medium" placeholder="请输入查询内容"></el-input>
</span>
<span class="button" @click="search">查询</span>
<span class="button new" @click="addComplaint">新增意见</span>
<span class="button new" @click="addComplaint" title="新增意见"><img src="./img/add.png"></span>
</p>
<div class="common-table">
<el-table
......@@ -37,6 +37,7 @@
<el-table-column
prop="produceName"
label="产品"
:show-overflow-tooltip="true"
align="center">
</el-table-column>
<el-table-column
......@@ -50,12 +51,12 @@
align="center">
</el-table-column>
<el-table-column
prop="time"
prop="time1"
label="投诉时间"
align="center">
</el-table-column>
<el-table-column
prop="replyTime"
prop="replyTime1"
label="最近回复时间"
align="center">
</el-table-column>
......@@ -120,13 +121,15 @@ export default {
console.log(res.data.data);
this.allData = res.data.data.rows;
this.totleLength = res.data.data.total;
for (let i = 0; i < this.allData.length; i++) {
this.allData[i].time = this.time(this.allData[i].time);
this.allData[i].replyTime = this.time(this.allData[i].replyTime);
this.allData[i].type = this.allData[i].type === 1 ? '服务质量' : this.allData[i].type === 2 ? '服务态度' : this.allData[i].type === 3 ? '响应速度' : '其他';
this.allData[i].target = this.allData[i].target === 1 ? '集成商' : this.allData[i].target === 2 ? '监理方' : this.allData[i].target === 3 ? '开发商' : this.allData[i].target === 4 ? '硬件产品' : this.allData[i].target === 5 ? '软件产品' : '其他';
for (let item of this.allData) {
item.time1 = this.time1(item.time);
item.replyTime1 = this.time1(item.replyTime);
item.type = item.type === 1 ? '服务质量' : item.type === 2 ? '服务态度' : item.type === 3 ? '响应速度' : '其他';
item.target = item.target === 1 ? '集成商' : item.target === 2 ? '监理商' : item.target === 3 ? '开发商' : item.target === 4 ? '硬件产品' : item.target === 5 ? '软件产品' : '其他';
}
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
// 搜索栏
......@@ -158,6 +161,13 @@ export default {
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
return Y + M + D;
},
time1(value) {
let date = new Date(value); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
return Y + M + D;
}
},
components: {
......@@ -233,6 +243,7 @@ export default {
.complaintManagement .content .new{
position: absolute;
right: 70px;
width: 50px;
}
.complaintManagement>>>.el-table__body tr, .el-table__body td{
cursor: pointer;
......
......@@ -3,14 +3,13 @@
<el-row>
<el-col :span="24">
<div class="content">
<p class="title">投诉详情</p>
<p style="margin-top: 30px;color: #666;font-size: 18px;">
<span @click="signClick" style="cursor: pointer;">
<p class="title">投诉详情
<span @click="signClick" style="cursor: pointer;" class="diologClick">
<img src="./img/clickN.png" class="img" v-if="sign === -1">
<img src="./img/click.png" class="img" v-if="sign === 1">
重要
</span>
<span @click="stickClick" style="cursor: pointer;">
<span @click="stickClick" style="cursor: pointer;" class="diologClick">
<img src="./img/clickN.png" class="img" v-if="stick === -1">
<img src="./img/click.png" class="img" v-if="stick === 1">
置顶
......@@ -73,7 +72,7 @@
</div>
<p class="line"></p>
<div class="reply">
<span>回复列表</span>
<span>中心回复</span>
<span class="replyList">
<el-scrollbar style="height: 100%">
<p v-for="(item,index) of replyList" v-show="replyList !== ''" :key="index" class="replyAll">
......@@ -93,7 +92,8 @@
</el-input>
</p>
</div>
<p style="text-align: center;margin-top: 50px;">
<p style="display: flex;justify-content: space-evenly;;margin-top: 50px;">
<span class="button" @click="cancel">返回</span>
<span class="button" @click="submit">确定</span>
</p>
</div>
......@@ -131,13 +131,15 @@ export default {
this.$server.getUnitFindAll().then(res => {
console.log(res.data.data)
this.unit = res.data.data;
}).catch(err => {
this.$message.error('数据请求失败!');
})
let value = this.$route.params.value;
if (value !== '' || value !== undefined) {
console.log(value);
this.name = value.userName;
this.time = value.time;
this.replytime = value.replyTime;
this.time = this.timeC(value.time);
this.replytime = this.timeC(value.replyTime);
this.objectVal = value.target;
this.unitVal = value.unitName;
this.projectVal = value.projectName;
......@@ -170,9 +172,16 @@ export default {
if (res.data.code === 200) {
this.$message.success('投诉回复成功!')
this.$router.push({name: 'complaintManagement'});
} else {
this.$message.error('投诉回复成功!')
}
}).catch(err => {
this.$message.error('数据请求失败!');
})
},
cancel() {
this.$router.push({name: 'complaintManagement'});
},
// 重要
signClick() {
if (this.sign === -1) {
......@@ -225,16 +234,20 @@ export default {
font-size: 20px;
color: #233b6e;
}
.complaintManagementDetail .content .diologClick{
font-size: 18px;
color: #666;
}
.complaintManagementDetail .content .img{
margin-left: 20px;
}
.complaintManagementDetail .content .selectedList{
display: flex;
justify-content: space-between;
margin-top: 25px;
margin-top: 10px;
}
.complaintManagementDetail .textarea{
margin-top: 25px;
margin-top: 10px;
}
.complaintManagementDetail .content .blank{
width: 390px;
......@@ -293,7 +306,7 @@ export default {
.complaintManagementDetail .content .replyList{
display: inline-block;
width: 89%;
height: 100px;
height: 200px;
background: #f5f8fd;
border: 1px solid rgba(8, 104, 157, .3);
border-radius: 2px;
......@@ -306,14 +319,15 @@ export default {
background: #f5f8fd;
font-size: 18px;
color: #333;
font-family: 'Regular';
}
.complaintManagementDetail .selected>>>.el-textarea{
width: 89%;
}
.complaintManagementDetail .selected>>>.el-textarea textarea{
max-height: 70px;
min-height: 70px;
height: 70px;
max-height: 100px;
min-height: 100px;
height: 100px;
font-size: 18px;
color: #333;
font-family: 'Regular';
......
......@@ -86,8 +86,12 @@
margin: 0 20px 0 20px;
display: inline-block;
font-size: 20px;
cursor: default;
color: #4765A4;
cursor: pointer;
color: rgba(123,144,189,0.9);
line-height: 40px;
}
.headerAll .goTitle{
color: #4777e7;
}
.headerAll .menuClick{
color: #4777e7;
......
......@@ -2,10 +2,10 @@
<div class="headerAll">
<div class="header">
<span class="left-header">
<p style="text-align: center;font-size: 28px;font-weight: bold;color: #fff;line-height: 98px;">912</p>
<p style="text-align: center;font-size: 28px;font-weight: bold;color: #fff;line-height: 98px;">XXX</p>
</span>
<span class="center">
<span class="title">工程综合监管系统</span>
<span class="title">XX工作台</span>
<span class="time">当前时间:&nbsp;&nbsp;{{this.time}}</span>
</span>
<span class="right">
......@@ -28,7 +28,7 @@
</div>
<div style="height: 40px;background: #fff;" v-if="this.$route.path !== '/firstHome'">
<p class="list">
<span class="menuTitle">{{sidebar.name}}</span>
<span class="menuTitle goTitle" @click="go">{{sidebar.name}}</span>
<span v-for="(item,index) of sidebar.menu" :key="index" class="listVal" @click="jump(item.path, index)">
<span>{{item.name}}</span>
<img src="./img/line.png" v-show="index !== sidebar.menu.length - 1">
......@@ -56,10 +56,9 @@ export default {
setInterval(function () {
that.timeDayFilter()
},1000)
console.log(this.$store.getters.getUserData)
},
methods: {
// 时间
// 获取当前时间
timeDayFilter () {
let date = new Date();
let seperator1 = '-';
......@@ -89,13 +88,19 @@ export default {
},
// 跳转
jump(path, index){
console.log(index)
this.$router.push({name: path});
if (index !== undefined) {
let va = '.list>span:nth-child(' + (index + 2) + ')>span';
let va = '.list>span:nth-child(' + (index + 2) + ')>span'; // 修改子菜单点击样式
$('.listVal>span').removeClass('menuClick')
$('.menuTitle').removeClass('goTitle')
$(va).addClass('menuClick')
}
},
// 首页跳转
go() {
this.$router.push({name: this.sidebar.path});
$('.menuTitle').addClass('goTitle') // 样式修改
$('.listVal>span').removeClass('menuClick')
}
},
computed: {
......@@ -104,9 +109,21 @@ export default {
components: {
},
watch: {
'getSidebar': {
'getSidebar': { // 监听侧边栏点击
handler: function (val) {
this.sidebar = val;
if (val.path !== this.$store.getters.getNowPath && val.menu !== undefined) { // 判断是否显示首页
for (let i = 0; i < val.menu.length; i++) { // 没有显示首页,轮询子菜单对比名称
if (val.menu[i].path === this.$store.getters.getNowPath) { // 判断子菜单path与当前path
$('.listVal>span').removeClass('menuClick') // 修改样式
$('.menuTitle').removeClass('goTitle')
setTimeout(()=>{ // 新增样式,vux更新延迟,需要加延时
let va = '.list>span:nth-child(' + (i + 2) + ')>span';
$(va).addClass('menuClick')
},50)
}
}
}
},
deep: true
}
......
......@@ -3,19 +3,19 @@
<div class="firstHome">
<el-row>
<el-col :span="24">
<p class="title">912工程综合监管系统</p>
<p class="title">XXX工程综合监管系统</p>
<div class="menu">
<p class="bg">
<img src="./img/JD.png">
<span>基地建设</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type !== 1">
<img src="./img/WD.png">
<span>我的项目</span>
<p class="bg" @click="jump('XCalliance',2,'XX联盟')">
<img src="./img/XC.png">
<span>XX联盟</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type === 1">
<img src="./img/WD.png">
<span>项目管理</span>
<p class="bg" @click="jump('integration',3,'XXX一体化')">
<img src="./img/ZQ.png">
<span>XXX一体化</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type !== 1">
<img src="./img/GJ.png">
......@@ -25,42 +25,42 @@
<img src="./img/SJ.png">
<span>市级名录</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type === 1" @click="jump('company',3,'基础资料管理')">
<p class="bg" v-if="this.$store.getters.getUserData.type === 1" @click="jump('company',4,'基础资料管理')">
<img src="./img/GJ.png">
<span>基础资料管理</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type === 1" @click="jump('product',4,'市级准入管理')">
<p class="bg" v-if="this.$store.getters.getUserData.type === 1" @click="jump('product',5,'市级准入管理')">
<img src="./img/SJ.png">
<span>市级准入管理</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type !== 1" @click="jump('complaint',5,'意见建议')">
<img src="./img/YJ.png">
<span>意见建议</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type === 1" @click="jump('complaintManagement',5,'投诉管理')">
<img src="./img/YJ.png">
<span>投诉管理</span>
</p>
<p class="bg">
<img src="./img/KT.png">
<span>课题攻关</span>
</p>
</div>
<div class="menu">
<p class="bg" @click="jump('XCalliance',7,'XX联盟')">
<img src="./img/XC.png">
<span>XX联盟</span>
<p class="bg" v-if="this.$store.getters.getUserData.type !== 1">
<img src="./img/WD.png">
<span>我的项目</span>
</p>
<p class="bg" @click="jump('integration',8,'XXX一体化')">
<img src="./img/ZQ.png">
<span>XXX一体化</span>
<p class="bg" v-if="this.$store.getters.getUserData.type === 1">
<img src="./img/WD.png">
<span>项目管理</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type !== 1" @click="jump('complaint',8,'意见建议')">
<img src="./img/YJ.png">
<span>意见建议</span>
</p>
<p class="bg" v-if="this.$store.getters.getUserData.type === 1" @click="jump('complaintManagement',8,'投诉管理')">
<img src="./img/YJ.png">
<span>投诉管理</span>
</p>
<p class="blank"></p>
<p class="blank"></p>
<p class="blank"></p>
<p class="blank"></p>
</div>
<p class="title XC">信创应用系统适配替换</p>
<p class="title XC">XX应用系统适配替换</p>
<div class="XCmenu">
<p>
<img src="./img/PG.png">
......@@ -94,6 +94,7 @@ export default {
mounted(){
},
methods: {
// 跳转
jump(path,index,title) {
this.$router.push({name: path});
let val = {
......@@ -101,7 +102,8 @@ export default {
index: index,
title: title
}
this.$store.commit('changeHomeClick', val);
this.$store.commit('changeHomeClick', val); // 传给导航进行样式定位和点击事件
this.$store.commit('changeNowPath', path); // 当前path传给header作比对
}
},
components: {
......
......@@ -42,7 +42,6 @@ export default {
imgload() {
this.$nextTick(()=>{
this.height = this.$refs.height[0].height;
console.log(this.$refs.height[0].height);
})
}
},
......
......@@ -4,63 +4,46 @@
background: #fff;
}
.sidebarAll .sidebar .menu{
padding-top: 10px;
text-align: center;
margin-top: 24px;
height: 80px;
height: 60px;
line-height: 60px;
padding: 10px 0 10px 0px;
cursor: pointer;
position: relative;
transition: all 0.5s;
}
.sidebarAll .sidebar .icon{
display: inline-block;
height: 40px;
width: 40px;
background: rgba(71,119,231,0.5);
}
.sidebarAll .sidebar .icon>img{
margin-top: 9px;
}
.sidebarAll .sidebar .font{
display: block;
margin-top: 8px;
font-size: 18px;
color: #233b6e;
}
.sidebarAll .sidebar .line{
display: inline-block;
position: absolute;
left: 3px;
width: 5px;
height: 90px;
transition: all 0.5s;
z-index: 10;
}
.sidebarAll .sidebar>div{
margin-top: 24px;
}
.sidebarAll .sidebar>div:hover .menu{
background: #ebf0f8;
border-top-right-radius: 50px;
border-bottom-right-radius: 50px;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
}
.sidebarAll .sidebar>div:hover .line{
background: #4777e7;
}
.sidebarAll .sidebar>div:hover .icon{
background: #4777e7;
.sidebarAll .sidebar>div:hover .font{
background: #4877e6;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
color: #fff;
}
.sidebarAll .sidebar .click{
background: #ebf0f8;
border-top-right-radius: 50px;
border-bottom-right-radius: 50px;
}
.sidebarAll .sidebar .lineClick{
background: #4777e7;
}
.sidebarAll .sidebar .iconClick{
background: #4777e7;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
}
.sidebarAll .sidebar .fontClick{
background: #4877e6;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
color: #fff;
}
......@@ -18,6 +18,12 @@ const actions = {
homeClick: payload
})
},
changeNowPath(store, payload) {
store.commit({
type: 'changeNowPath',
nowPath: payload
})
},
};
export default actions;
......@@ -8,6 +8,9 @@ const getters = {
},
getHomeClick(state) {
return state.homeClick
},
getNowPath(state) {
return state.nowPath
}
};
......
......@@ -9,6 +9,9 @@ const mutations = {
changeHomeClick(state, payload) {
state.homeClick = payload;
},
changeNowPath(state, payload) {
state.nowPath = payload;
},
};
export default mutations;
......@@ -2,7 +2,8 @@
const state = {
sidebar: [], // 子菜单
userData: {}, // 登录用户信息
homeClick: {} // 首页点击的模块
homeClick: {}, // 首页点击的模块
nowPath: '' // 当前页面路径
};
export default state;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论