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

合并分支 'crs' 到 'master'

Crs 查看合并请求 !12
......@@ -69,3 +69,66 @@
font-size: 18px;
background: #889cdd;
}
/*表格样式*/
.common-table{
margin: 24px 70px 0 70px;
box-shadow: rgba(72,119,230,0.1) 0 0 15px;;
border: .5px solid transparent;
border-radius: 10px;
cursor: default;
}
.el-table th > .cell{
font-size: 18px;
color: #333;
font-weight: normal;
}
.el-table th.is-leaf{
height: 70px;
}
.el-table tr{
font-size: 18px;
}
.el-table{
color: #233b6e;
}
.el-table--striped .el-table__body tr.el-table__row--striped.el-table__row--striped.el-table__row--striped td {
background-color: #fff;
}
.el-table--enable-row-hover .el-table__body tr:hover>td{
background-color: #f5f8fd;
}
.el-table th.is-leaf, .el-table td {
border-bottom: 1px solid #d5e3ff;
}
.el-table__body tr, .el-table__body td {
padding: 0;
height: 60px;
background: #f5f8fd;
}
.content .block{
text-align: right;
padding: 30px 70px 0 0;
}
.el-pagination.is-background .el-pager li{
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.el-pagination.is-background .el-pager li:not(.disabled).active{
background-image: linear-gradient(to bottom, #7a9eeb,#274acf);
color: #fff;
}
.content>>>.el-table td{
border-bottom: 1px solid #d5e3ff;
}
.content>>>.btn-prev,.role .content>>>.btn-next{
background: #c5d5f7;
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.content>>>.btn-prev:disabled,.dynamicList .content>>>.btn-next:disabled{
color: #C0C4CC;
}
.content>>>.el-table__body tr.current-row > td{
background: #f5f8fd;
}
......@@ -139,17 +139,6 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
console.log(val[val.length - 1])
if (val[val.length - 1].path !== 'dynamicList') {
val.push(
{
name: '最新动态',
path: 'dynamicList'
}
)
this.$store.commit('changeSidebar', val);
}
},
methods: {
// 点击表格
......@@ -227,7 +216,6 @@ export default {
text-align: center;
background: #4877e6;
cursor: pointer;
margin-left: 100px;
border-radius: 2px;
color: #fff;
font-size: 18px;
......
<template>
<div class="newsPage">
<div class="content">
<p class="title">
动态详情
</p>
<p class="name"><span class="line"></span>{{name}}</p>
<p class="other">
<span>标签:{{type}}</span>
<span>发布时间:{{time}}</span>
<span>发布机构:{{person}}</span>
<span>机构类型:{{type2}}</span>
</p>
<div class="news">
<el-scrollbar style="height: 100%">
<div class="newAll"></div>
</el-scrollbar>
</div>
<div class="newsPage">
<div class="content">
<p class="title">
动态详情
</p>
<p class="name"><span class="line"></span>{{name}}</p>
<p class="other">
<span>标签:{{type}}</span>
<span>发布时间:{{time}}</span>
<span>发布机构:{{person}}</span>
<span>机构类型:{{type2}}</span>
</p>
<div class="news">
<el-scrollbar style="height: 100%">
<div class="newAll"></div>
</el-scrollbar>
</div>
</div>
</div>
</div>
</template>
<script>
import $ from 'jquery';
export default {
import $ from 'jquery';
export default {
data () {
return {
name: '天津麒麟正式更名为麒麟软件 国产操作系统主力军吹响出征号角!',
time: '2020-02-26 12:13:13',
person: '中国软件',
type: '新闻',
type2: '公司',
news:`2月18日,中国电子旗下中国软件发布公告:中国软件子公司天津麒麟换股收购子公司中标软件事项,按照协议约定,天津麒麟更名为麒麟软件有限公司(简称麒麟软件),已办理完成相关工商变更登记手续,并取得新的营业执照。至此,由天津麒麟和中标软件整合而成的麒麟软件工商手续业已完成,基础软件的央企主力军吹响出征号角,中国操作系统新旗舰正式起航!<br><img src="static/img/1.d16d70ca.jpg" style="width: 600px;display: block;margin: 0 auto;"><b>麒麟软件:</b><br><br>为顺应产业发展趋势、市场客户需求和国家网络空间安全战略需要,发挥中央企业在国家关键信息基础设施建设中的主力军作用,中国电子旗下两家操作系统公司:中标软件和天津麒麟,实现强强整合,打造中国操作系统新旗舰——麒麟软件有限公司。<br><br>麒麟软件以安全可信操作系统技术为核心,旗下拥有“中标麒麟”“银河麒麟”两大产品品牌,既面向通用领域打造安全创新操作系统和相应解决方案,又面向国防专用领域打造高安全高可靠操作系统和解决方案,现已形成了服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云等产品,能够同时支持飞腾、龙芯、申威、兆芯、海光、鲲鹏等国产CPU。企业坚持开放合作打造产业生态,为客户提供完整的国产化解决方案。<br><br>麒麟软件注重核心技术创新,先后申请专利320余项,其中授权专利138项,登记软件著作权340余项,主持和参与起草国家、行业、联盟技术标准30余项,荣获国家科技进步一等奖在内的各类国家级、省部级和行业奖项400余个,并被授予“国家规划布局内重点软件企业”“国家高技术产业化示范工程”等称号。企业注重质量体系和创新能力打造,通过了CMMI5级评估,现有博士后工作站、省部级基础软件工程中心等,具有雄厚的科研能力和严格的管理规范。<br><br>麒麟软件在天津、北京、上海、长沙、广州、太原、郑州、成都、西安、沈阳等地设有分支机构,服务网点遍布全国31个省会城市。旗下的操作系统系列产品,在党政、国防、金融、电信、能源、交通、教育、医疗等行业获得广泛应用。根据赛迪顾问统计,麒麟软件旗下操作系统产品,连续8年位列中国Linux市场占有率第一名。`
}
return {
name: '天津麒麟正式更名为麒麟软件 国产操作系统主力军吹响出征号角!',
time: '2020-02-26 12:13:13',
person: '中国软件',
type: '新闻',
type2: '公司',
news:`2月18日,中国电子旗下中国软件发布公告:中国软件子公司天津麒麟换股收购子公司中标软件事项,按照协议约定,天津麒麟更名为麒麟软件有限公司(简称麒麟软件),已办理完成相关工商变更登记手续,并取得新的营业执照。至此,由天津麒麟和中标软件整合而成的麒麟软件工商手续业已完成,基础软件的央企主力军吹响出征号角,中国操作系统新旗舰正式起航!<br><img src="static/img/1.d16d70ca.jpg" style="width: 600px;display: block;margin: 0 auto;"><b>麒麟软件:</b><br><br>为顺应产业发展趋势、市场客户需求和国家网络空间安全战略需要,发挥中央企业在国家关键信息基础设施建设中的主力军作用,中国电子旗下两家操作系统公司:中标软件和天津麒麟,实现强强整合,打造中国操作系统新旗舰——麒麟软件有限公司。<br><br>麒麟软件以安全可信操作系统技术为核心,旗下拥有“中标麒麟”“银河麒麟”两大产品品牌,既面向通用领域打造安全创新操作系统和相应解决方案,又面向国防专用领域打造高安全高可靠操作系统和解决方案,现已形成了服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云等产品,能够同时支持飞腾、龙芯、申威、兆芯、海光、鲲鹏等国产CPU。企业坚持开放合作打造产业生态,为客户提供完整的国产化解决方案。<br><br>麒麟软件注重核心技术创新,先后申请专利320余项,其中授权专利138项,登记软件著作权340余项,主持和参与起草国家、行业、联盟技术标准30余项,荣获国家科技进步一等奖在内的各类国家级、省部级和行业奖项400余个,并被授予“国家规划布局内重点软件企业”“国家高技术产业化示范工程”等称号。企业注重质量体系和创新能力打造,通过了CMMI5级评估,现有博士后工作站、省部级基础软件工程中心等,具有雄厚的科研能力和严格的管理规范。<br><br>麒麟软件在天津、北京、上海、长沙、广州、太原、郑州、成都、西安、沈阳等地设有分支机构,服务网点遍布全国31个省会城市。旗下的操作系统系列产品,在党政、国防、金融、电信、能源、交通、教育、医疗等行业获得广泛应用。根据赛迪顾问统计,麒麟软件旗下操作系统产品,连续8年位列中国Linux市场占有率第一名。`
}
},
created() {
},
mounted(){
$('.newAll').html(this.news);
let val = this.$store.getters.getSidebar;
val.push(
{
name: '新闻页',
path: 'newsPage'
}
)
this.$store.commit('changeSidebar', val);
$('.newAll').html(this.news);
},
methods: {
},
......@@ -52,7 +44,7 @@
},
watch: {
}
}
}
</script>
<style scoped>
.newsPage{
......
......@@ -14,7 +14,7 @@
<el-select v-model="searchRole" placeholder="请选择" clearable>
<el-option
v-for="item in roleList"
:key="item.name"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
......@@ -25,7 +25,7 @@
<el-select v-model="searchUnit" placeholder="请选择" clearable>
<el-option
v-for="item in unitList"
:key="item.name"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
......@@ -115,16 +115,6 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'person') {
val.push(
{
name: '人员管理',
path: 'person'
}
)
this.$store.commit('changeSidebar', val);
}
this.$server.getRolefindAll().then((res) => { // 数据请求
if (res.data.code === 200) {
this.roleList = res.data.data;
......@@ -220,6 +210,7 @@ export default {
height: 841px;
background: #fff;
overflow: hidden;
cursor: default;
}
.person .content .title{
padding: 30px 0 0 60px;
......@@ -253,11 +244,6 @@ export default {
.person .content .change>img{
margin-right: 3px;
}
.person .content .common-table{
box-shadow: 4px 4px 5px rgba(72,119,230,0.1);
border: .5px solid transparent;
border-radius: 10px;
}
.person>>>.el-input__inner{
border: 1px solid rgba(8,104,157,.3);
border-radius: 2px;
......@@ -290,63 +276,4 @@ export default {
position: absolute;
right: 70px;
}
/*表格样式*/
.person .content .common-table{
margin: 24px 70px 0 70px;
}
.person .content .common-table>>>.el-table th > .cell{
font-size: 18px;
color: #333;
font-weight: normal;
}
.person .content .common-table>>>.el-table th.is-leaf{
height: 70px;
}
.person .content .common-table>>>.el-table tr{
font-size: 18px;
}
.person .content .common-table>>>.el-table{
color: #233b6e;
}
.person .content .common-table>>>.el-table--striped .el-table__body tr.el-table__row--striped.el-table__row--striped.el-table__row--striped td {
background-color: #fff;
}
.person .content .common-table>>>.el-table--enable-row-hover .el-table__body tr:hover>td{
background-color: #f5f8fd;
}
.person .content .common-table>>>.el-table th.is-leaf, .el-table td {
border-bottom: 1px solid #d5e3ff;
}
.person .content .common-table>>>.el-table__body tr, .el-table__body td {
padding: 0;
height: 60px;
background: #f5f8fd;
}
.person .content .block{
text-align: right;
padding: 30px 70px 0 0;
}
.person .content>>>.el-pagination.is-background .el-pager li{
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.person .content>>>.el-pagination.is-background .el-pager li:not(.disabled).active{
background-image: linear-gradient(to bottom, #7a9eeb,#274acf);
color: #fff;
}
.person .content>>>.el-table td{
border-bottom: 1px solid #d5e3ff;
}
.person .content>>>.btn-prev,.role .content>>>.btn-next{
background: #c5d5f7;
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.person .content>>>.btn-prev:disabled,.dynamicList .content>>>.btn-next:disabled{
color: #C0C4CC;
}
.person .content>>>.el-table__body tr.current-row > td{
background: #f5f8fd;
}
</style>
......@@ -82,16 +82,6 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'personPage') {
val.push(
{
name: '人员信息',
path: 'personPage'
}
)
this.$store.commit('changeSidebar', val);
}
let value = this.$route.params.value;
if (value !== '' || value !== undefined) {
this.allVal.name = value.name;
......
......@@ -86,16 +86,6 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'role') {
val.push(
{
name: '角色管理',
path: 'role'
}
)
this.$store.commit('changeSidebar', val);
}
this.init()
},
methods: {
......@@ -216,11 +206,6 @@ export default {
.role .content .change>img{
margin-right: 3px;
}
.role .content .common-table{
box-shadow: 4px 4px 5px rgba(72,119,230,0.1);
border: .5px solid transparent;
border-radius: 10px;
}
.role>>>.el-input__inner{
border: 1px solid rgba(8,104,157,.3);
border-radius: 2px;
......@@ -238,7 +223,6 @@ export default {
text-align: center;
background: #4877e6;
cursor: pointer;
margin-left: 100px;
border-radius: 2px;
color: #fff;
font-size: 18px;
......@@ -250,63 +234,4 @@ export default {
position: absolute;
right: 70px;
}
/*表格样式*/
.role .content .common-table{
margin: 24px 70px 0 70px;
}
.role .content .common-table>>>.el-table th > .cell{
font-size: 18px;
color: #333;
font-weight: normal;
}
.role .content .common-table>>>.el-table th.is-leaf{
height: 70px;
}
.role .content .common-table>>>.el-table tr{
font-size: 18px;
}
.role .content .common-table>>>.el-table{
color: #233b6e;
}
.role .content .common-table>>>.el-table--striped .el-table__body tr.el-table__row--striped.el-table__row--striped.el-table__row--striped td {
background-color: #fff;
}
.role .content .common-table>>>.el-table--enable-row-hover .el-table__body tr:hover>td{
background-color: #f5f8fd;
}
.role .content .common-table>>>.el-table th.is-leaf, .el-table td {
border-bottom: 1px solid #d5e3ff;
}
.role .content .common-table>>>.el-table__body tr, .el-table__body td {
padding: 0;
height: 60px;
background: #f5f8fd;
}
.role .content .block{
text-align: right;
padding: 30px 70px 0 0;
}
.role .content>>>.el-pagination.is-background .el-pager li{
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.role .content>>>.el-pagination.is-background .el-pager li:not(.disabled).active{
background-image: linear-gradient(to bottom, #7a9eeb,#274acf);
color: #fff;
}
.role .content>>>.el-table td{
border-bottom: 1px solid #d5e3ff;
}
.role .content>>>.btn-prev,.role .content>>>.btn-next{
background: #c5d5f7;
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.role .content>>>.btn-prev:disabled,.dynamicList .content>>>.btn-next:disabled{
color: #C0C4CC;
}
.role .content>>>.el-table__body tr.current-row > td{
background: #f5f8fd;
}
</style>
......@@ -6,7 +6,7 @@
<p class="title">新增建议</p>
<el-form :model="form" :rules="rules" ref="form" label-width="105px">
<p class="rowForm">
<el-form-item label="投诉对象:" class="inline" prop="objectVal">
<el-form-item label="单位类型:" class="inline" prop="objectVal">
<el-select v-model="form.objectVal" placeholder="请选择" clearable>
<el-option v-for="item in object" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
......@@ -18,7 +18,7 @@
</el-form-item>
<el-form-item label="投诉项目:" class="inline" prop="projectVal">
<el-select v-model="form.projectVal" placeholder="请选择" clearable>
<el-option v-for="item in project" :key="item.id" :label="item.value" :value="item.id" ></el-option>
<el-option v-for="item in project" :key="item.id" :label="item.name" :value="item.id" ></el-option>
</el-select>
</el-form-item>
</p>
......@@ -28,12 +28,15 @@
<el-option v-for="item in type" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="产品名称:" class="inline" prop="productVal" v-show="form.objectVal === 4 || form.objectVal === 5">
<el-form-item label="产品名称:" class="inline" prop="productVal" v-show="form.objectVal === 4">
<el-select v-model="form.productVal" placeholder="请选择" clearable>
<el-option v-for="item in product" :key="item.id" :label="item.name" :value="item.id" ></el-option>
</el-select>
</el-form-item>
<span class="blank" v-show="form.objectVal === 4 || form.objectVal === 5"></span>
<el-form-item label="电话:" class="inline" prop="phone">
<el-input v-model="form.phone"></el-input>
</el-form-item>
<span class="blank" v-show="form.objectVal !== 4"></span>
</p>
<p>
<el-form-item label="投诉内容:" class="inline" prop="content">
......@@ -82,28 +85,15 @@ export default {
},
{
id: 4,
name: '产品(软件)'
name: '产品'
},
{
id: 5,
name: '产品(硬件)'
},
{
id: 6,
name: '其他'
}
], // 投诉对象
unit: [], // 投诉单位
project: [
{
id: 1,
value: 'XXX项目'
},
{
id: 2,
value: '其他'
},
], // 投诉项目
project: [], // 投诉项目
type: [
{
id: 1,
......@@ -130,7 +120,8 @@ export default {
projectVal: '', // 项目值
typeVal: '', // 类型值
productVal: '', // 产品名称
content: '' // 投诉内容
content: '', // 投诉内容
phone: '' // 电话
},
rules: {
objectVal: [
......@@ -151,23 +142,14 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'addComplaint') {
val.push(
{
name: '新增建议',
path: 'addComplaint'
}
)
this.$store.commit('changeSidebar', val);
}
this.$server.getUnitFindAll().then(res => {
console.log(res.data.data)
this.unit = res.data.data;
this.$server.getProduceFindAll().then(res => {
console.log(res.data.data)
this.product = res.data.data;
this.$server.getProjectFindAll().then(res => {
console.log(res.data.data)
this.project = res.data.data;
})
})
})
},
......@@ -178,7 +160,7 @@ export default {
if (valid) {
console.log(this.form);
let val;
if (this.form.objectVal === 4 || this.form.objectVal === 5) {
if (this.form.objectVal === 4) {
val = {
'anonymity': this.anonymous,
'content': this.form.content,
......@@ -186,7 +168,8 @@ export default {
'projectId': this.form.projectVal,
'target': this.form.objectVal,
'type': this.form.typeVal,
'unitId': this.form.unitVal
'unitId': this.form.unitVal,
'phone': this.form.phone
}
} else {
val = {
......@@ -195,7 +178,8 @@ export default {
'projectId': this.form.projectVal,
'target': this.form.objectVal,
'type': this.form.typeVal,
'unitId': this.form.unitVal
'unitId': this.form.unitVal,
'phone': this.form.phone
}
}
console.log(val)
......@@ -286,14 +270,13 @@ export default {
font-size: 18px;
color: #666;
}
.addComplaint>>>.el-select{
.addComplaint>>>.el-select, .addComplaint>>>.el-input{
width: 290px;
}
.addComplaint>>>.el-input--suffix .el-input__inner{
.addComplaint>>>.el-input--suffix .el-input__inner, .addComplaint>>>.el-input__inner{
color: #333;
font-size: 18px;
border: 1px solid rgba(8, 104, 157, .3);
background: #f5f8fd;
}
.addComplaint>>>.el-textarea{
width: 92%;
......@@ -306,6 +289,5 @@ export default {
color: #333;
font-family: 'Regular';
border: 1px solid rgba(8, 104, 157, .3);
background: #f5f8fd;
}
</style>
......@@ -6,7 +6,6 @@
<p class="title">意见建议</p>
<p class="search">
<span class="searchVal">
<span>查询内容:</span>
<el-input v-model="searchVal" size="medium" placeholder="请输入查询内容"></el-input>
</span>
<span class="button" @click="search">查询</span>
......@@ -17,6 +16,7 @@
highlight-current-row
max-height="840"
:data="allData"
@row-click="jump"
stripe
style="width: 100%;margin-bottom: 10px;">
<el-table-column
......@@ -26,7 +26,7 @@
</el-table-column>
<el-table-column
prop="target"
label="投诉对象"
label="单位类型"
align="center">
</el-table-column>
<el-table-column
......@@ -58,9 +58,6 @@
prop="replyTime"
label="最近回复时间"
align="center">
<template slot-scope="scope">
<span class="change" @click="jump(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</div>
......@@ -97,16 +94,6 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'complaint') {
val.push(
{
name: '投诉管理',
path: 'complaint'
}
)
this.$store.commit('changeSidebar', val);
}
this.init()
},
methods: {
......@@ -116,7 +103,10 @@ export default {
if (this.searchVal !== '') {
val = {
'page': this.currentPage,
'pageSize': this.pagesize
'pageSize': this.pagesize,
't': {
'content': this.searchVal
}
}
} else {
val = {
......@@ -166,10 +156,7 @@ export default {
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;
return Y + M + D;
},
},
components: {
......@@ -201,7 +188,7 @@ export default {
display: flex;
}
.complaint .content .searchVal{
width: 280px;
width: 190px;
display: flex;
font-size: 18px;
color: #4663a6;
......@@ -218,11 +205,6 @@ export default {
.complaint .content .change>img{
margin-right: 3px;
}
.complaint .content .common-table{
box-shadow: 4px 4px 5px rgba(72,119,230,0.1);
border: .5px solid transparent;
border-radius: 10px;
}
.complaint>>>.el-input__inner{
border: 1px solid rgba(8,104,157,.3);
border-radius: 2px;
......@@ -240,7 +222,6 @@ export default {
text-align: center;
background: #4877e6;
cursor: pointer;
margin-left: 100px;
border-radius: 2px;
color: #fff;
font-size: 18px;
......@@ -252,63 +233,7 @@ export default {
position: absolute;
right: 70px;
}
/*表格样式*/
.complaint .content .common-table{
margin: 24px 70px 0 70px;
}
.complaint .content .common-table>>>.el-table th > .cell{
font-size: 18px;
color: #333;
font-weight: normal;
}
.complaint .content .common-table>>>.el-table th.is-leaf{
height: 70px;
}
.complaint .content .common-table>>>.el-table tr{
font-size: 18px;
}
.complaint .content .common-table>>>.el-table{
color: #233b6e;
}
.complaint .content .common-table>>>.el-table--striped .el-table__body tr.el-table__row--striped.el-table__row--striped.el-table__row--striped td {
background-color: #fff;
}
.complaint .content .common-table>>>.el-table--enable-row-hover .el-table__body tr:hover>td{
background-color: #f5f8fd;
}
.complaint .content .common-table>>>.el-table th.is-leaf, .el-table td {
border-bottom: 1px solid #d5e3ff;
}
.complaint .content .common-table>>>.el-table__body tr, .el-table__body td {
padding: 0;
height: 60px;
background: #f5f8fd;
}
.complaint .content .block{
text-align: right;
padding: 30px 70px 0 0;
}
.complaint .content>>>.el-pagination.is-background .el-pager li{
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.complaint .content>>>.el-pagination.is-background .el-pager li:not(.disabled).active{
background-image: linear-gradient(to bottom, #7a9eeb,#274acf);
color: #fff;
}
.complaint .content>>>.el-table td{
border-bottom: 1px solid #d5e3ff;
}
.complaint .content>>>.btn-prev,.role .content>>>.btn-next{
background: #c5d5f7;
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.complaint .content>>>.btn-prev:disabled,.dynamicList .content>>>.btn-next:disabled{
color: #C0C4CC;
}
.complaint .content>>>.el-table__body tr.current-row > td{
background: #f5f8fd;
.complaint>>>.el-table__body tr, .el-table__body td{
cursor: pointer;
}
</style>
......@@ -20,7 +20,7 @@
</div>
<div class="selectedList">
<p class="selected">
<span>投诉对象</span>
<span>单位类型</span>
<el-input v-model="objectVal" :disabled="true"></el-input>
</p>
<p class="selected">
......@@ -61,10 +61,17 @@
<p class="line"></p>
<div class="reply">
<span>回复列表:</span>
<span class="replyList"></span>
<span class="replyList">
<el-scrollbar style="height: 100%">
<p v-for="(item,index) of replyList" v-show="replyList !== ''" :key="index" class="replyAll">
<span>{{index + 1}}{{item.content}}</span>
<span><img src="./img/time.png">{{timeC(item.time)}}</span>
</p>
</el-scrollbar>
</span>
</div>
<p style="text-align: center;margin-top: 100px;">
<span class="button" @click="submit">确定</span>
<span class="button" @click="submit">返回</span>
</p>
</div>
</el-col>
......@@ -79,31 +86,22 @@ export default {
name: '', // 投诉人
time: '', // 投诉时间
replytime: '', // 回复时间
objectVal: '', // 对象值
objectVal: '', // 单位类型
unitVal: '', // 单位值
projectVal: '', // 项目值
typeVal: '', // 类型值
productVal: '', // 产品名称
phone: '', // 联系电话
content: '', // 投诉内容
replyList: '', // 处理记录
valueAll: {
target: 0
target: ''
}
}
},
created() {
},
mounted(){
// let val = this.$store.getters.getSidebar;
// if (val[val.length - 1].path !== 'complaintDetail') {
// val.push(
// {
// name: '投诉详情',
// path: 'complaintDetail'
// }
// )
// this.$store.commit('changeSidebar', val);
// }
this.$server.getUnitFindAll().then(res => {
console.log(res.data.data)
this.unit = res.data.data;
......@@ -122,6 +120,10 @@ export default {
this.phone = value.phone;
this.content = value.content;
this.valueAll = value;
if (value.replyList !== null) {
this.replyList = value.replyList;
}
console.log(this.replyList)
}
},
......@@ -129,6 +131,17 @@ export default {
// 确定
submit() {
this.$router.push({name: 'complaint'});
},
// 时间换算
timeC(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;
}
},
components: {
......@@ -193,6 +206,18 @@ export default {
height: 1px;
background: rgba(72,119,230,0.2);
}
.complaintDetail .content .replyAll{
position: relative;
padding: 10px;
}
.complaintDetail .content .replyAll>span:nth-child(2){
position: absolute;
right: 10px;
}
.complaintDetail .content .replyAll>span:nth-child(2)>img {
margin-right: 5px;
vertical-align: middle;
}
.complaintDetail .content .reply{
font-size: 18px;
color: #666;
......@@ -234,4 +259,7 @@ export default {
border: 1px solid rgba(8, 104, 157, .3);
background: #f5f8fd;
}
.complaintDetail>>>.el-scrollbar__wrap {
overflow-x: hidden;
}
</style>
......@@ -6,16 +6,17 @@
<p class="title">意见建议</p>
<p class="search">
<span class="searchVal">
<span>查询内容:</span>
<el-input v-model="searchVal" size="medium" placeholder="请输入查询内容"></el-input>
</span>
<span class="button" @click="search">查询</span>
<span class="button new" @click="addComplaint">新增意见</span>
</p>
<div class="common-table">
<el-table
highlight-current-row
max-height="840"
:data="allData"
@row-click="jump"
stripe
style="width: 100%;margin-bottom: 10px;">
<el-table-column
......@@ -25,7 +26,7 @@
</el-table-column>
<el-table-column
prop="target"
label="投诉对象"
label="单位类型"
align="center">
</el-table-column>
<el-table-column
......@@ -57,9 +58,6 @@
prop="replyTime"
label="最近回复时间"
align="center">
<template slot-scope="scope">
<span class="change" @click="jump(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</div>
......@@ -83,6 +81,7 @@
</template>
<script>
import $ from 'jquery';
export default {
data () {
return {
......@@ -96,17 +95,7 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'complaintManagement') {
val.push(
{
name: '投诉管理',
path: 'complaintManagement'
}
)
this.$store.commit('changeSidebar', val);
}
this.init()
this.init();
},
methods: {
// 初始请求
......@@ -131,11 +120,11 @@ export default {
console.log(res.data.data);
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.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 ? '软件产品' : '其他';
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 ? '软件产品' : '其他';
}
}
})
......@@ -154,6 +143,10 @@ export default {
this.currentPage = val;
this.init();
},
// 新增查询
addComplaint() {
this.$router.push({name: 'addComplaintManagement'});
},
// 跳转
jump(row) {
this.$router.push({name: 'complaintManagementDetail',params:{'value': row}});
......@@ -164,10 +157,7 @@ export default {
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;
return Y + M + D;
}
},
components: {
......@@ -199,7 +189,7 @@ export default {
display: flex;
}
.complaintManagement .content .searchVal{
width: 280px;
width: 190px;
display: flex;
font-size: 18px;
color: #4663a6;
......@@ -216,11 +206,6 @@ export default {
.complaintManagement .content .change>img{
margin-right: 3px;
}
.complaintManagement .content .common-table{
box-shadow: 4px 4px 5px rgba(72,119,230,0.1);
border: .5px solid transparent;
border-radius: 10px;
}
.complaintManagement>>>.el-input__inner{
border: 1px solid rgba(8,104,157,.3);
border-radius: 2px;
......@@ -238,7 +223,6 @@ export default {
text-align: center;
background: #4877e6;
cursor: pointer;
margin-left: 100px;
border-radius: 2px;
color: #fff;
font-size: 18px;
......@@ -250,63 +234,8 @@ export default {
position: absolute;
right: 70px;
}
/*表格样式*/
.complaintManagement .content .common-table{
margin: 24px 70px 0 70px;
}
.complaintManagement .content .common-table>>>.el-table th > .cell{
font-size: 18px;
color: #333;
font-weight: normal;
}
.complaintManagement .content .common-table>>>.el-table th.is-leaf{
height: 70px;
}
.complaintManagement .content .common-table>>>.el-table tr{
font-size: 18px;
}
.complaintManagement .content .common-table>>>.el-table{
color: #233b6e;
}
.complaintManagement .content .common-table>>>.el-table--striped .el-table__body tr.el-table__row--striped.el-table__row--striped.el-table__row--striped td {
background-color: #fff;
}
.complaintManagement .content .common-table>>>.el-table--enable-row-hover .el-table__body tr:hover>td{
background-color: #f5f8fd;
}
.complaintManagement .content .common-table>>>.el-table th.is-leaf, .el-table td {
border-bottom: 1px solid #d5e3ff;
}
.complaintManagement .content .common-table>>>.el-table__body tr, .el-table__body td {
padding: 0;
height: 60px;
background: #f5f8fd;
}
.complaintManagement .content .block{
text-align: right;
padding: 30px 70px 0 0;
}
.complaintManagement .content>>>.el-pagination.is-background .el-pager li{
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.complaintManagement .content>>>.el-pagination.is-background .el-pager li:not(.disabled).active{
background-image: linear-gradient(to bottom, #7a9eeb,#274acf);
color: #fff;
}
.complaintManagement .content>>>.el-table td{
border-bottom: 1px solid #d5e3ff;
}
.complaintManagement .content>>>.btn-prev,.role .content>>>.btn-next{
background: #c5d5f7;
background-image: linear-gradient(to bottom, #c5d5f7,#7a95e6);
color: #fff;
}
.complaintManagement .content>>>.btn-prev:disabled,.dynamicList .content>>>.btn-next:disabled{
color: #C0C4CC;
}
.complaintManagement .content>>>.el-table__body tr.current-row > td{
background: #f5f8fd;
.complaintManagement>>>.el-table__body tr, .el-table__body td{
cursor: pointer;
}
</style>
......@@ -76,9 +76,9 @@
<span>回复列表:</span>
<span class="replyList">
<el-scrollbar style="height: 100%">
<p v-for="item of replyList">
<span>{{item.content}}</span>
<span>{{this.time(item.time)}}</span>
<p v-for="(item,index) of replyList" v-show="replyList !== ''" :key="index" class="replyAll">
<span>{{index + 1}}{{item.content}}</span>
<span><img src="./img/time.png">{{timeC(item.time)}}</span>
</p>
</el-scrollbar>
</span>
......@@ -119,7 +119,7 @@ export default {
sign: -1, // 是否重要
stick: -1, // 是否置顶
reply: '', // 回复
replyList: [], // 处理记录
replyList: '', // 处理记录
valueAll: {
target: ''
}
......@@ -128,16 +128,6 @@ export default {
created() {
},
mounted(){
// let val = this.$store.getters.getSidebar;
// if (val[val.length - 1].path !== 'complaintManagementDetail') {
// val.push(
// {
// name: '投诉详情',
// path: 'complaintManagementDetail'
// }
// )
// this.$store.commit('changeSidebar', val);
// }
this.$server.getUnitFindAll().then(res => {
console.log(res.data.data)
this.unit = res.data.data;
......@@ -158,7 +148,9 @@ export default {
this.valueAll = value;
this.sign = value.sign;
this.stick = value.stick;
this.replyList = value.replyList;
if (value.replyList !== null) {
this.replyList = value.replyList;
}
}
},
......@@ -198,7 +190,7 @@ export default {
}
},
// 时间换算
time(value) {
timeC(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) + '-';
......@@ -280,6 +272,18 @@ export default {
color: #666;
justify-content: space-between;
}
.complaintManagementDetail .content .replyAll{
position: relative;
padding: 10px;
}
.complaintManagementDetail .content .replyAll>span:nth-child(2) {
position: absolute;
right: 10px;
}
.complaintManagementDetail .content .replyAll>span:nth-child(2)>img {
margin-right: 5px;
vertical-align: middle;
}
.complaintManagementDetail .content .reply>span:nth-child(1){
width: 124px;
display: inline-block;
......
......@@ -82,3 +82,8 @@
color: #fff;
cursor: pointer;
}
.headerAll .right .login{
margin-right: 25px;
color: #4777e7;
cursor: pointer;
}
......@@ -13,19 +13,22 @@
<img src="./img/toHome.png">
<span class="font">综合展现</span>
</span>
<!-- <span class="user">-->
<!-- <span class="admin">-->
<!-- <img src="./img/admin.png">-->
<!-- <span class="font">管理员</span>-->
<!-- </span>-->
<!-- <span class="line"></span>-->
<!-- <span class="logout">退出</span>-->
<!-- </span>-->
<span class="user">
<span class="admin">
<img src="./img/admin.png">
<span class="font">管理员</span>
</span>
<span class="line"></span>
<span class="logout">退出</span>
<span class="admin login" @click="jump('login')">请登录</span>
</span>
</span>
</div>
<div style="height: 40px;background: #fff;">
<p class="list">
<span v-for="(item,index) of sidebar" class="listVal" @click="jump(item.path,index)">{{item.name}}</span>
<span v-for="item of sidebar" class="listVal" @click="jump(item.path)">{{item.name}}</span>
</p>
</div>
</div>
......@@ -79,10 +82,8 @@ export default {
+ ' ' + h + seperator2 + m + seperator2 + s;
},
// 跳转
jump(path,index){
jump(path){
this.$router.push({name: path});
let arr = this.$store.getters.getSidebar;
this.$store.commit('changeSidebar', arr.slice(0,index + 1));
}
},
computed: {
......
......@@ -125,16 +125,6 @@ export default {
created() {
},
mounted(){
let val = this.$store.getters.getSidebar;
if (val[val.length - 1].path !== 'ZdynamicList') {
val.push(
{
name: '最新动态',
path: 'ZdynamicList'
}
)
this.$store.commit('changeSidebar', val);
}
},
methods: {
// 点击表格
......@@ -212,7 +202,6 @@ export default {
text-align: center;
background: #4877e6;
cursor: pointer;
margin-left: 100px;
border-radius: 2px;
color: #fff;
font-size: 18px;
......
......@@ -37,14 +37,6 @@ export default {
},
mounted(){
$('.newAll').html(this.news);
let val = this.$store.getters.getSidebar;
val.push(
{
name: '新闻页',
path: 'newsPage'
}
)
this.$store.commit('changeSidebar', val);
},
methods: {
},
......
......@@ -41,13 +41,13 @@
</p>
</div>
<div>
<div @click="clickMenu('complaint',5,'投诉管理')">
<span class="line"></span>
<p class="menu" style="margin-top: 0">
<span class="icon">
<img src="./img/KT.png">
</span>
<span class="font">课题攻关</span>
<span class="font">意见建议</span>
</p>
</div>
......@@ -80,6 +80,69 @@ import $ from 'jquery'
export default {
data () {
return {
menu: [
{
name: '信创联盟',
menuList: [
{
name: '最新动态',
path: 'dynamicList'
}
]
},
{
name: '政企校一体化',
menuList: [
{
name: '最新动态',
path: 'ZdynamicList'
}
]
},
{
name: '基础资料管理',
menuList: [
{
name: '角色管理',
path: 'role'
},
{
name: '人员管理',
path: 'person'
},
{
name: '单位管理',
path: 'company'
},
{
name: '产品管理',
path: ''
}
]
},
{
name: '市准入管理',
menuList: [
{
name: '技术路线',
path: ''
},
{
name: '评价管理',
path: ''
}
]
},
{
name: '投诉管理',
menuList: [
{
name: '投诉列表',
path: 'complaint'
}
]
}
]
}
},
created() {
......@@ -99,12 +162,11 @@ export default {
$(menu).addClass('click');
$(line).addClass('lineClick');
$(icon).addClass('iconClick');
let arr = [];
arr.push({
name: title,
path: name
})
this.$store.commit('changeSidebar', arr);
for (let item of this.menu) {
if (item.name === title) {
this.$store.commit('changeSidebar', item.menuList);
}
}
this.$router.push({name: name});
}
},
......
......@@ -110,18 +110,24 @@ export default new Router({
name: 'complaintDetail',
component: resolve => require(['../components/complaint/complaint/complaintDetail.vue'], resolve)
},
// 投诉列表-管理
// 投诉列表-中心
{
path: '/complaintManagement',
name: 'complaintManagement',
component: resolve => require(['../components/complaint/complaintManagement/complaintManagement.vue'], resolve)
},
// 投诉详情-管理
// 投诉详情-中心
{
path: '/complaintManagementDetail',
name: 'complaintManagementDetail',
component: resolve => require(['../components/complaint/complaintManagement/complaintManagementDetail.vue'], resolve)
},
// 新增投诉-中心端
{
path: '/addComplaintManagement',
name: 'addComplaintManagement',
component: resolve => require(['../components/complaint/complaintManagement/addComplaintManagement.vue'], resolve)
},
]
}
]
......
......@@ -108,6 +108,11 @@ const server = {
data: data,
headers: {'Content-Type': 'multipart/form-data'}
});
}
},
getProjectFindAll() { // 获取所有项目列表
return axios('/project/findAll', {
method: 'get'
});
},
}
export default server;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论