25 changed files with 3659 additions and 2556 deletions
@ -0,0 +1,141 @@ |
|||
<template> |
|||
<div> |
|||
<Breadcrumb :list="breadcrumbList"/> |
|||
<div class="table"> |
|||
<el-table |
|||
v-loading="loading" |
|||
:data="list" |
|||
element-loading-background="rgba(0,0,0,0.5)" |
|||
element-loading-spinner="el-icon-loading" |
|||
element-loading-text="加载中..." |
|||
> |
|||
<el-table-column label="序号" type="index" width="80"/> |
|||
<el-table-column label="地点" prop="key"/> |
|||
<el-table-column label="工单号" prop="key"/> |
|||
<el-table-column label="所属社区" prop="key"></el-table-column> |
|||
<el-table-column label="事件分类" prop="key"></el-table-column> |
|||
<el-table-column label="投诉内容" prop="key"></el-table-column> |
|||
<el-table-column label="接收时间" prop="key"></el-table-column> |
|||
<el-table-column label="联系人" prop="key"></el-table-column> |
|||
<el-table-column label="联系电话" prop="key"></el-table-column> |
|||
<el-table-column label="状态" prop="key"></el-table-column> |
|||
<el-table-column align="center" label="详情"> |
|||
<template slot-scope="data"> |
|||
<el-button type="text" @click="handleView(data.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<EventDetails :id="rowId" :showDialog="showDialog" @close="showDialog = false"/> |
|||
|
|||
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total" |
|||
@pagination="getList"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb"; |
|||
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination"; |
|||
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; |
|||
import EventDetails from "@/views/dataBoard/overview/components/EventDetail.vue"; |
|||
|
|||
export default { |
|||
name: "TddtlxsjDetail", |
|||
components: {Breadcrumb, Pagination, Title, EventDetails}, |
|||
data() { |
|||
return { |
|||
showDialog: false, |
|||
rowId: "", |
|||
queryParams: { |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
total: 0, |
|||
orgOptions: [], |
|||
breadcrumbList: [ |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/index", |
|||
name: "满意度评价", |
|||
}, |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/Problem/tddtlxsj", |
|||
name: "同地点同类型重复投诉问题列表", |
|||
}, |
|||
{ |
|||
path: "", |
|||
name: "详情", |
|||
}, |
|||
], |
|||
list: [{}, {}, {}], |
|||
title: "", |
|||
loading: false, |
|||
}; |
|||
}, |
|||
activated() { |
|||
this.title = this.$route.query.title; |
|||
let searchParams = JSON.parse(this.$route.query.searchParams); |
|||
this.queryParams = { |
|||
...this.queryParams, |
|||
...searchParams, |
|||
}; |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
search() { |
|||
this.queryParams.pageNo = 1; |
|||
this.getList(); |
|||
}, |
|||
getList() { |
|||
this.loading = true; |
|||
let params = { |
|||
...this.queryParams, |
|||
} |
|||
|
|||
this.$http.get("?" + this.$paramsFormat(params)).then(({data: {data}}) => { |
|||
this.total = data.total; |
|||
this.list = data.list; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
handleView({id}) { |
|||
this.showDialog = true; |
|||
this.rowId = id; |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/dataBoard/table.scss"; |
|||
|
|||
.screen { |
|||
margin: 25px 0 40px; |
|||
|
|||
.el-select, |
|||
.el-input { |
|||
width: 150px; |
|||
margin-right: 4px; |
|||
border: 1px solid #126ac5; |
|||
border-radius: 2px; |
|||
|
|||
/deep/ .el-input__inner { |
|||
color: #fff; |
|||
border: none; |
|||
background: none; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
height: 32px; |
|||
margin-left: 46px; |
|||
} |
|||
} |
|||
|
|||
.main-title { |
|||
margin: 25px 0 32px; |
|||
} |
|||
|
|||
.table { |
|||
margin-top: 32px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,196 @@ |
|||
<template> |
|||
<div> |
|||
<Breadcrumb :list="breadcrumbList"/> |
|||
<div class="screen"> |
|||
<el-form :model="queryParams" inline> |
|||
<el-select |
|||
v-model="typeCondition" |
|||
class="select" |
|||
placeholder="请选择" |
|||
popper-class="selectPopClass" |
|||
size="small" |
|||
@change="timeChange" |
|||
> |
|||
<el-option |
|||
v-for="item in typeConditionList" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
<el-button class="btn" size="small" type="primary" @click="search">查询</el-button> |
|||
</el-form> |
|||
</div> |
|||
<div class="table"> |
|||
<el-table v-loading="loading" :data="list" element-loading-background="rgba(0,0,0,0.5)" |
|||
element-loading-spinner="el-icon-loading" element-loading-text="加载中..."> |
|||
<el-table-column label="序号" type="index"/> |
|||
<el-table-column label="地点" prop="key"/> |
|||
<el-table-column label="类型" prop="gridName"/> |
|||
<el-table-column label="投诉次数" prop="restName"></el-table-column> |
|||
<el-table-column align="center" label="详情"> |
|||
<template slot-scope="data"> |
|||
<el-button type="text" @click="handleView(data.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total" |
|||
@pagination="getList"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb"; |
|||
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination"; |
|||
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; |
|||
|
|||
export default { |
|||
name: "tddtlxsjList", |
|||
components: {Breadcrumb, Pagination, Title}, |
|||
data() { |
|||
return { |
|||
queryParams: { |
|||
month: "", |
|||
agencyId: "", |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
typeCondition: 5, |
|||
typeConditionList: [ |
|||
{ |
|||
label: "本月", |
|||
value: 1, |
|||
}, |
|||
{ |
|||
label: "上月", |
|||
value: 2, |
|||
}, |
|||
{ |
|||
label: "近三月", |
|||
value: 3, |
|||
}, |
|||
{ |
|||
label: "近半年", |
|||
value: 4, |
|||
}, |
|||
{ |
|||
label: "近一年", |
|||
value: 5, |
|||
}, |
|||
], |
|||
total: 0, |
|||
orgOptions: [], |
|||
breadcrumbList: [ |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/index", |
|||
name: "满意度评价", |
|||
}, |
|||
{ |
|||
path: "", |
|||
name: "同地点同类型重复投诉问题列表 ", |
|||
}, |
|||
], |
|||
monthOptions: new Array(12).fill(0).map((_, index) => { |
|||
return {label: index - 0 + 1 + "月", value: index - 0 + 1}; |
|||
}), |
|||
list: [{}, {}, {}], |
|||
title: "", |
|||
loading: false, |
|||
}; |
|||
}, |
|||
activated() { |
|||
this.title = this.$route.query.title; |
|||
let searchParams = JSON.parse(this.$route.query.searchParams); |
|||
this.queryParams = { |
|||
...this.queryParams, |
|||
...searchParams, |
|||
}; |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
search() { |
|||
this.queryParams.pageNo = 1; |
|||
this.getList(); |
|||
}, |
|||
getList() { |
|||
this.loading = true; |
|||
let params = { |
|||
...this.queryParams, |
|||
...this.timeChange(this.typeCondition) |
|||
} |
|||
|
|||
this.$http.get("?" + this.$paramsFormat(params)).then(({data: {data}}) => { |
|||
this.total = data.total; |
|||
this.list = data.list; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
timeChange(type) { |
|||
let startTime = "", |
|||
endTime = ""; |
|||
if (type == 1) { |
|||
startTime = this.$moment().startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 2) { |
|||
startTime = this.$moment().subtract(1, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 3) { |
|||
startTime = this.$moment().subtract(2, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 4) { |
|||
startTime = this.$moment().subtract(5, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 5) { |
|||
startTime = this.$moment().subtract(11, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
|
|||
if (type == 2) { |
|||
endTime = this.$moment().subtract(1, "months").endOf("month").format("YYYY-MM-DD"); |
|||
} else { |
|||
endTime = this.$moment().endOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
return {startTime, endTime}; |
|||
}, |
|||
handleView(id) { |
|||
this.id = id; |
|||
this.$router.push('/dataBoard/satisfactionEval/Problem/tddtlxsj/detail?id='+id) |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/dataBoard/table.scss"; |
|||
|
|||
.screen { |
|||
margin: 25px 0 40px; |
|||
|
|||
.el-select, |
|||
.el-input { |
|||
width: 150px; |
|||
margin-right: 4px; |
|||
border: 1px solid #126ac5; |
|||
border-radius: 2px; |
|||
|
|||
/deep/ .el-input__inner { |
|||
color: #fff; |
|||
border: none; |
|||
background: none; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
height: 32px; |
|||
margin-left: 46px; |
|||
} |
|||
} |
|||
|
|||
.main-title { |
|||
margin: 25px 0 32px; |
|||
} |
|||
|
|||
.table { |
|||
margin-top: 32px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,141 @@ |
|||
<template> |
|||
<div> |
|||
<Breadcrumb :list="breadcrumbList"/> |
|||
<div class="table"> |
|||
<el-table |
|||
v-loading="loading" |
|||
:data="list" |
|||
element-loading-background="rgba(0,0,0,0.5)" |
|||
element-loading-spinner="el-icon-loading" |
|||
element-loading-text="加载中..." |
|||
> |
|||
<el-table-column label="序号" type="index" width="80"/> |
|||
<el-table-column label="地点" prop="key"/> |
|||
<el-table-column label="工单号" prop="key"/> |
|||
<el-table-column label="所属社区" prop="key"></el-table-column> |
|||
<el-table-column label="事件分类" prop="key"></el-table-column> |
|||
<el-table-column label="投诉内容" prop="key"></el-table-column> |
|||
<el-table-column label="接收时间" prop="key"></el-table-column> |
|||
<el-table-column label="联系人" prop="key"></el-table-column> |
|||
<el-table-column label="联系电话" prop="key"></el-table-column> |
|||
<el-table-column label="状态" prop="key"></el-table-column> |
|||
<el-table-column align="center" label="详情"> |
|||
<template slot-scope="data"> |
|||
<el-button type="text" @click="handleView(data.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<EventDetails :id="rowId" :showDialog="showDialog" @close="showDialog = false"/> |
|||
|
|||
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total" |
|||
@pagination="getList"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb"; |
|||
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination"; |
|||
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; |
|||
import EventDetails from "@/views/dataBoard/overview/components/EventDetail.vue"; |
|||
|
|||
export default { |
|||
name: "tyrydetail", |
|||
components: {Breadcrumb, Pagination, Title, EventDetails}, |
|||
data() { |
|||
return { |
|||
showDialog: false, |
|||
rowId: "", |
|||
queryParams: { |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
total: 0, |
|||
orgOptions: [], |
|||
breadcrumbList: [ |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/index", |
|||
name: "满意度评价", |
|||
}, |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/Problem/tyqybtlx", |
|||
name: "同一区域不同类型重复投诉问题列表", |
|||
}, |
|||
{ |
|||
path: "", |
|||
name: "详情", |
|||
}, |
|||
], |
|||
list: [{}, {}, {}], |
|||
title: "", |
|||
loading: false, |
|||
}; |
|||
}, |
|||
activated() { |
|||
this.title = this.$route.query.title; |
|||
let searchParams = JSON.parse(this.$route.query.searchParams); |
|||
this.queryParams = { |
|||
...this.queryParams, |
|||
...searchParams, |
|||
}; |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
search() { |
|||
this.queryParams.pageNo = 1; |
|||
this.getList(); |
|||
}, |
|||
getList() { |
|||
this.loading = true; |
|||
let params = { |
|||
...this.queryParams, |
|||
} |
|||
|
|||
this.$http.get("?" + this.$paramsFormat(params)).then(({data: {data}}) => { |
|||
this.total = data.total; |
|||
this.list = data.list; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
handleView({id}) { |
|||
this.showDialog = true; |
|||
this.rowId = id; |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/dataBoard/table.scss"; |
|||
|
|||
.screen { |
|||
margin: 25px 0 40px; |
|||
|
|||
.el-select, |
|||
.el-input { |
|||
width: 150px; |
|||
margin-right: 4px; |
|||
border: 1px solid #126ac5; |
|||
border-radius: 2px; |
|||
|
|||
/deep/ .el-input__inner { |
|||
color: #fff; |
|||
border: none; |
|||
background: none; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
height: 32px; |
|||
margin-left: 46px; |
|||
} |
|||
} |
|||
|
|||
.main-title { |
|||
margin: 25px 0 32px; |
|||
} |
|||
|
|||
.table { |
|||
margin-top: 32px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,239 @@ |
|||
<template> |
|||
<div> |
|||
<Breadcrumb :list="breadcrumbList"/> |
|||
<div class="screen"> |
|||
<el-form :model="queryParams" inline> |
|||
<el-select |
|||
v-model="typeCondition" |
|||
class="select" |
|||
placeholder="请选择" |
|||
popper-class="selectPopClass" |
|||
size="small" |
|||
@change="timeChange" |
|||
> |
|||
<el-option |
|||
v-for="item in typeConditionList" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
<el-button class="btn" size="small" type="primary" @click="search">查询</el-button> |
|||
</el-form> |
|||
</div> |
|||
<div class="table"> |
|||
<el-table |
|||
v-loading="loading" |
|||
:data="data" |
|||
:span-method="objectSpanMethod" |
|||
element-loading-background="rgba(0,0,0,0.5)" |
|||
element-loading-spinner="el-icon-loading" |
|||
element-loading-text="加载中..." |
|||
> |
|||
<el-table-column label="序号" prop="number" width="80"/> |
|||
<el-table-column label="地点" prop="column1"/> |
|||
<el-table-column label="类型" prop="column3"/> |
|||
<el-table-column label="投诉次数" prop="column2"/> |
|||
<el-table-column align="center" label="详情"> |
|||
<template slot-scope="data"> |
|||
<el-button type="text" @click="handleView(data.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total" |
|||
@pagination="getList"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb"; |
|||
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination"; |
|||
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; |
|||
|
|||
export default { |
|||
name: "tyryList", |
|||
components: {Breadcrumb, Pagination, Title}, |
|||
data() { |
|||
return { |
|||
queryParams: { |
|||
month: "", |
|||
agencyId: "", |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
typeCondition: 5, |
|||
typeConditionList: [ |
|||
{ |
|||
label: "本月", |
|||
value: 1, |
|||
}, |
|||
{ |
|||
label: "上月", |
|||
value: 2, |
|||
}, |
|||
{ |
|||
label: "近三月", |
|||
value: 3, |
|||
}, |
|||
{ |
|||
label: "近半年", |
|||
value: 4, |
|||
}, |
|||
{ |
|||
label: "近一年", |
|||
value: 5, |
|||
}, |
|||
], |
|||
total: 0, |
|||
orgOptions: [], |
|||
breadcrumbList: [ |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/index", |
|||
name: "满意度评价", |
|||
}, |
|||
{ |
|||
path: "", |
|||
name: "同一区域不同类型重复投诉问题列表 ", |
|||
}, |
|||
], |
|||
monthOptions: new Array(12).fill(0).map((_, index) => { |
|||
return {label: index - 0 + 1 + "月", value: index - 0 + 1}; |
|||
}), |
|||
data: [ |
|||
{number: 1, column1: '市北区清江路100号', column2: '10', column3: '100'}, |
|||
{number: 2, column1: '市北区清江路100号', column2: '10', column3: '100'}, |
|||
{number: 3, column1: '市北区清江路100号', column2: '10', column3: '100'}, |
|||
{number: 4, column1: '市北区清江路**号', column2: '10', column3: '100'}, |
|||
{number: 5, column1: '市北区清江路**号', column2: '10', column3: '100'}, |
|||
], |
|||
data1: [ |
|||
"number", |
|||
"column1", |
|||
"column2", |
|||
"column3" |
|||
], |
|||
title: "", |
|||
loading: false, |
|||
}; |
|||
}, |
|||
activated() { |
|||
this.title = this.$route.query.title; |
|||
let searchParams = JSON.parse(this.$route.query.searchParams); |
|||
this.queryParams = { |
|||
...this.queryParams, |
|||
...searchParams, |
|||
}; |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
objectSpanMethod({row, column, rowIndex, columnIndex}) { |
|||
if (columnIndex === 1 || columnIndex === 0 || columnIndex === 4) { |
|||
if (rowIndex > 0 && row.column1 === this.data[rowIndex - 1].column1) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0, |
|||
}; |
|||
} else { |
|||
let rowspan = 1; |
|||
for (let i = rowIndex + 1; i < this.data.length; i++) { |
|||
if (row.column1 === this.data[i].column1) { |
|||
rowspan++; |
|||
} else { |
|||
//else:当遇到与当前行 "Name" 值不同的行时,我们退出循环。 |
|||
break; |
|||
} |
|||
} |
|||
//最后,我们返回 { rowspan, colspan: 1 },其中 rowspan 表示需要合并的行数,而 colspan: 1 表示不合并列 |
|||
return { |
|||
rowspan, |
|||
colspan: 1, |
|||
}; |
|||
} |
|||
} |
|||
}, |
|||
search() { |
|||
this.queryParams.pageNo = 1; |
|||
this.getList(); |
|||
}, |
|||
getList() { |
|||
this.loading = true; |
|||
let params = { |
|||
...this.queryParams, |
|||
...this.timeChange(this.typeCondition) |
|||
} |
|||
|
|||
this.$http.get("?" + this.$paramsFormat(params)).then(({data: {data}}) => { |
|||
this.total = data.total; |
|||
this.list = data.list; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
timeChange(type) { |
|||
let startTime = "", |
|||
endTime = ""; |
|||
if (type == 1) { |
|||
startTime = this.$moment().startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 2) { |
|||
startTime = this.$moment().subtract(1, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 3) { |
|||
startTime = this.$moment().subtract(2, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 4) { |
|||
startTime = this.$moment().subtract(5, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 5) { |
|||
startTime = this.$moment().subtract(11, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
|
|||
if (type == 2) { |
|||
endTime = this.$moment().subtract(1, "months").endOf("month").format("YYYY-MM-DD"); |
|||
} else { |
|||
endTime = this.$moment().endOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
return {startTime, endTime}; |
|||
}, |
|||
handleView(id) { |
|||
this.id = id; |
|||
this.$router.push('/dataBoard/satisfactionEval/Problem/tyqybtlx/detail?id=' + id) |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/dataBoard/table-border.scss"; |
|||
|
|||
.screen { |
|||
margin: 25px 0 40px; |
|||
|
|||
.el-select, |
|||
.el-input { |
|||
width: 150px; |
|||
margin-right: 4px; |
|||
border: 1px solid #126ac5; |
|||
border-radius: 2px; |
|||
|
|||
/deep/ .el-input__inner { |
|||
color: #fff; |
|||
border: none; |
|||
background: none; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
height: 32px; |
|||
margin-left: 46px; |
|||
} |
|||
} |
|||
|
|||
.main-title { |
|||
margin: 25px 0 32px; |
|||
} |
|||
|
|||
.table { |
|||
margin-top: 32px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,140 @@ |
|||
<template> |
|||
<div> |
|||
<Breadcrumb :list="breadcrumbList"/> |
|||
<div class="table"> |
|||
<el-table |
|||
v-loading="loading" |
|||
:data="list" |
|||
element-loading-background="rgba(0,0,0,0.5)" |
|||
element-loading-spinner="el-icon-loading" |
|||
element-loading-text="加载中..." |
|||
> |
|||
<el-table-column label="序号" type="index" width="80"/> |
|||
<el-table-column label="工单号" prop="key"/> |
|||
<el-table-column label="所属社区" prop="key"></el-table-column> |
|||
<el-table-column label="事件分类" prop="key"></el-table-column> |
|||
<el-table-column label="投诉内容" prop="key"></el-table-column> |
|||
<el-table-column label="接收时间" prop="key"></el-table-column> |
|||
<el-table-column label="联系人" prop="key"></el-table-column> |
|||
<el-table-column label="联系电话" prop="key"></el-table-column> |
|||
<el-table-column label="状态" prop="key"></el-table-column> |
|||
<el-table-column align="center" label="详情"> |
|||
<template slot-scope="data"> |
|||
<el-button type="text" @click="handleView(data.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<EventDetails :id="rowId" :showDialog="showDialog" @close="showDialog = false"/> |
|||
|
|||
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total" |
|||
@pagination="getList"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb"; |
|||
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination"; |
|||
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; |
|||
import EventDetails from "@/views/dataBoard/overview/components/EventDetail.vue"; |
|||
|
|||
export default { |
|||
name: "tyrydetail", |
|||
components: {Breadcrumb, Pagination, Title, EventDetails}, |
|||
data() { |
|||
return { |
|||
showDialog: false, |
|||
rowId: "", |
|||
queryParams: { |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
total: 0, |
|||
orgOptions: [], |
|||
breadcrumbList: [ |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/index", |
|||
name: "满意度评价", |
|||
}, |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/Problem/tyry", |
|||
name: "同一人员重复投诉问题列表", |
|||
}, |
|||
{ |
|||
path: "", |
|||
name: "详情", |
|||
}, |
|||
], |
|||
list: [{}, {}, {}], |
|||
title: "", |
|||
loading: false, |
|||
}; |
|||
}, |
|||
activated() { |
|||
this.title = this.$route.query.title; |
|||
let searchParams = JSON.parse(this.$route.query.searchParams); |
|||
this.queryParams = { |
|||
...this.queryParams, |
|||
...searchParams, |
|||
}; |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
search() { |
|||
this.queryParams.pageNo = 1; |
|||
this.getList(); |
|||
}, |
|||
getList() { |
|||
this.loading = true; |
|||
let params = { |
|||
...this.queryParams, |
|||
} |
|||
|
|||
this.$http.get("?" + this.$paramsFormat(params)).then(({data: {data}}) => { |
|||
this.total = data.total; |
|||
this.list = data.list; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
handleView({id}) { |
|||
this.showDialog = true; |
|||
this.rowId = id; |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/dataBoard/table.scss"; |
|||
|
|||
.screen { |
|||
margin: 25px 0 40px; |
|||
|
|||
.el-select, |
|||
.el-input { |
|||
width: 150px; |
|||
margin-right: 4px; |
|||
border: 1px solid #126ac5; |
|||
border-radius: 2px; |
|||
|
|||
/deep/ .el-input__inner { |
|||
color: #fff; |
|||
border: none; |
|||
background: none; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
height: 32px; |
|||
margin-left: 46px; |
|||
} |
|||
} |
|||
|
|||
.main-title { |
|||
margin: 25px 0 32px; |
|||
} |
|||
|
|||
.table { |
|||
margin-top: 32px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,195 @@ |
|||
<template> |
|||
<div> |
|||
<Breadcrumb :list="breadcrumbList"/> |
|||
<div class="screen"> |
|||
<el-form :model="queryParams" inline> |
|||
<el-select |
|||
v-model="typeCondition" |
|||
class="select" |
|||
placeholder="请选择" |
|||
popper-class="selectPopClass" |
|||
size="small" |
|||
@change="timeChange" |
|||
> |
|||
<el-option |
|||
v-for="item in typeConditionList" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
<el-button class="btn" size="small" type="primary" @click="search">查询</el-button> |
|||
</el-form> |
|||
</div> |
|||
<div class="table"> |
|||
<el-table v-loading="loading" :data="list" element-loading-background="rgba(0,0,0,0.5)" |
|||
element-loading-spinner="el-icon-loading" element-loading-text="加载中..."> |
|||
<el-table-column label="序号" type="index"/> |
|||
<el-table-column label="联系方式" prop="key"/> |
|||
<el-table-column label="投诉次数" prop="restName"></el-table-column> |
|||
<el-table-column align="center" label="详情"> |
|||
<template slot-scope="data"> |
|||
<el-button type="text" @click="handleView(data.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total" |
|||
@pagination="getList"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb"; |
|||
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination"; |
|||
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; |
|||
|
|||
export default { |
|||
name: "tyryList", |
|||
components: {Breadcrumb, Pagination, Title}, |
|||
data() { |
|||
return { |
|||
queryParams: { |
|||
month: "", |
|||
agencyId: "", |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
}, |
|||
typeCondition: 5, |
|||
typeConditionList: [ |
|||
{ |
|||
label: "本月", |
|||
value: 1, |
|||
}, |
|||
{ |
|||
label: "上月", |
|||
value: 2, |
|||
}, |
|||
{ |
|||
label: "近三月", |
|||
value: 3, |
|||
}, |
|||
{ |
|||
label: "近半年", |
|||
value: 4, |
|||
}, |
|||
{ |
|||
label: "近一年", |
|||
value: 5, |
|||
}, |
|||
], |
|||
total: 0, |
|||
orgOptions: [], |
|||
breadcrumbList: [ |
|||
{ |
|||
path: "/dataBoard/satisfactionEval/index", |
|||
name: "满意度评价", |
|||
}, |
|||
{ |
|||
path: "", |
|||
name: "同一人员重复投诉问题列表 ", |
|||
}, |
|||
], |
|||
monthOptions: new Array(12).fill(0).map((_, index) => { |
|||
return {label: index - 0 + 1 + "月", value: index - 0 + 1}; |
|||
}), |
|||
list: [{}, {}, {}], |
|||
title: "", |
|||
loading: false, |
|||
}; |
|||
}, |
|||
activated() { |
|||
this.title = this.$route.query.title; |
|||
let searchParams = JSON.parse(this.$route.query.searchParams); |
|||
this.queryParams = { |
|||
...this.queryParams, |
|||
...searchParams, |
|||
}; |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
search() { |
|||
this.queryParams.pageNo = 1; |
|||
this.getList(); |
|||
}, |
|||
getList() { |
|||
this.loading = true; |
|||
let params = { |
|||
...this.queryParams, |
|||
...this.timeChange(this.typeCondition) |
|||
} |
|||
|
|||
this.$http.get("?" + this.$paramsFormat(params)).then(({data: {data}}) => { |
|||
this.total = data.total; |
|||
this.list = data.list; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
timeChange(type) { |
|||
let startTime = "", |
|||
endTime = ""; |
|||
if (type == 1) { |
|||
startTime = this.$moment().startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 2) { |
|||
startTime = this.$moment().subtract(1, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 3) { |
|||
startTime = this.$moment().subtract(2, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 4) { |
|||
startTime = this.$moment().subtract(5, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
if (type == 5) { |
|||
startTime = this.$moment().subtract(11, "months").startOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
|
|||
if (type == 2) { |
|||
endTime = this.$moment().subtract(1, "months").endOf("month").format("YYYY-MM-DD"); |
|||
} else { |
|||
endTime = this.$moment().endOf("month").format("YYYY-MM-DD"); |
|||
} |
|||
return {startTime, endTime}; |
|||
}, |
|||
handleView(id) { |
|||
this.id = id; |
|||
this.$router.push('/dataBoard/satisfactionEval/Problem/tyry/detail?id='+id) |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/dataBoard/table.scss"; |
|||
|
|||
.screen { |
|||
margin: 25px 0 40px; |
|||
|
|||
.el-select, |
|||
.el-input { |
|||
width: 150px; |
|||
margin-right: 4px; |
|||
border: 1px solid #126ac5; |
|||
border-radius: 2px; |
|||
|
|||
/deep/ .el-input__inner { |
|||
color: #fff; |
|||
border: none; |
|||
background: none; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
height: 32px; |
|||
margin-left: 46px; |
|||
} |
|||
} |
|||
|
|||
.main-title { |
|||
margin: 25px 0 32px; |
|||
} |
|||
|
|||
.table { |
|||
margin-top: 32px; |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue