|
|
@ -1,15 +1,10 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<Breadcrumb :list="breadcrumbList"/> |
|
|
|
<Breadcrumb :list="breadcrumbList" /> |
|
|
|
<div class="screen"> |
|
|
|
<el-form :model="queryParams" inline> |
|
|
|
<el-select popper-class="selectPopClass" v-model="queryParams.agencyId" size="small" placeholder="按组织"> |
|
|
|
<el-option |
|
|
|
v-for="item in orgOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
<el-option v-for="item in orgOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> |
|
|
|
</el-select> |
|
|
|
<el-input v-model="queryParams.name" clearable size="small" placeholder="按姓名"></el-input> |
|
|
|
<el-input v-model="queryParams.mobile" clearable size="small" placeholder="按电话"></el-input> |
|
|
@ -19,145 +14,125 @@ |
|
|
|
|
|
|
|
<div class="table"> |
|
|
|
<el-table :data="list"> |
|
|
|
<el-table-column |
|
|
|
label="序号" |
|
|
|
type="index" |
|
|
|
width="80"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="name" |
|
|
|
label="上报人"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="mobile" |
|
|
|
label="上报人电话"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="agencyName" |
|
|
|
label="所属组织"> |
|
|
|
<el-table-column label="序号" type="index" width="80" /> |
|
|
|
|
|
|
|
<el-table-column prop="name" label="上报人" /> |
|
|
|
|
|
|
|
<el-table-column prop="mobile" label="上报人电话"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ $sensitive(scope.row.mobile, 3, 7) }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="eventCount" |
|
|
|
sortable |
|
|
|
label="事件未解决数"> |
|
|
|
<template slot-scope="{row}"> |
|
|
|
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/sjwjj?reportUserId='+row.reportUserId)">{{ row.eventCount }}</el-button> |
|
|
|
<el-table-column prop="agencyName" label="所属组织"> </el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="eventCount" sortable label="事件未解决数"> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/sjwjj?reportUserId=' + row.reportUserId)">{{ row.eventCount }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="demandCount" |
|
|
|
sortable |
|
|
|
label="需求未满足数"> |
|
|
|
<template slot-scope="{row}"> |
|
|
|
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/xqwmz?reportUserId='+row.reportUserId)">{{ row.demandCount }}</el-button> |
|
|
|
<el-table-column prop="demandCount" sortable label="需求未满足数"> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/xqwmz?reportUserId=' + row.reportUserId)">{{ row.demandCount }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="serviceCount" |
|
|
|
sortable |
|
|
|
label="应享未享数"> |
|
|
|
<template slot-scope="{row}"> |
|
|
|
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/yxwxfw?reportUserId='+row.reportUserId)">{{ row.serviceCount }}</el-button> |
|
|
|
<el-table-column prop="serviceCount" sortable label="应享未享数"> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/yxwxfw?reportUserId=' + row.reportUserId)">{{ row.serviceCount }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="countAll" |
|
|
|
sortable |
|
|
|
label="总数"> |
|
|
|
<template slot-scope="{row}">{{ row.countAll }} |
|
|
|
<!-- <el-button type="text"></el-button>--> |
|
|
|
<el-table-column prop="countAll" sortable label="总数"> |
|
|
|
<template slot-scope="{ row }" |
|
|
|
>{{ row.countAll }} |
|
|
|
<!-- <el-button type="text"></el-button>--> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
|
|
|
|
<Pagination |
|
|
|
v-show="total>0" |
|
|
|
:total="total" |
|
|
|
:page.sync="queryParams.pageNo" |
|
|
|
:limit.sync="queryParams.pageSize" |
|
|
|
@pagination="getList" |
|
|
|
/> |
|
|
|
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @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 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: "dissatisfied", |
|
|
|
components: {Breadcrumb, Pagination, Title}, |
|
|
|
components: { Breadcrumb, Pagination, Title }, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
queryParams: { |
|
|
|
month: '', |
|
|
|
org: '', |
|
|
|
matterSource: '', |
|
|
|
matterType: '', |
|
|
|
name: '', |
|
|
|
tel: '', |
|
|
|
month: "", |
|
|
|
org: "", |
|
|
|
matterSource: "", |
|
|
|
matterType: "", |
|
|
|
name: "", |
|
|
|
tel: "", |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 10, |
|
|
|
}, |
|
|
|
orgOptions: [], |
|
|
|
total: 0, |
|
|
|
breadcrumbList: [{ |
|
|
|
path: '/dataBoard/satisfactionEval/index', |
|
|
|
name: '满意度评价' |
|
|
|
}, { |
|
|
|
path: '', |
|
|
|
name: '潜在不满意人数' |
|
|
|
}], |
|
|
|
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)} |
|
|
|
return { label: index - 0 + 1 + "月", value: index - 0 + 1 }; |
|
|
|
}), |
|
|
|
list: [] |
|
|
|
} |
|
|
|
list: [], |
|
|
|
}; |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
this.getOrg() |
|
|
|
this.getOrg(); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
search() { |
|
|
|
this.queryParams.pageNo = 1 |
|
|
|
this.queryParams.pageNo = 1; |
|
|
|
this.getList(); |
|
|
|
}, |
|
|
|
getOrg() { |
|
|
|
let params = { |
|
|
|
orgId: this.$store.state.chooseArea.chooseName.orgId, |
|
|
|
level: this.$store.state.chooseArea.chooseName.level |
|
|
|
} |
|
|
|
|
|
|
|
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({data: {data}}) => { |
|
|
|
this.queryParams.agencyId = this.$store.state.chooseArea.chooseName.orgId |
|
|
|
let parent = {value: data.id, label: data.name} |
|
|
|
this.orgOptions = [parent, ...data.children.map(item => { |
|
|
|
return { |
|
|
|
value: item.id, |
|
|
|
label: item.name |
|
|
|
} |
|
|
|
})] |
|
|
|
this.getList() |
|
|
|
}) |
|
|
|
level: this.$store.state.chooseArea.chooseName.level, |
|
|
|
}; |
|
|
|
|
|
|
|
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({ data: { data } }) => { |
|
|
|
this.queryParams.agencyId = this.$store.state.chooseArea.chooseName.orgId; |
|
|
|
let parent = { value: data.id, label: data.name }; |
|
|
|
this.orgOptions = [ |
|
|
|
parent, |
|
|
|
...data.children.map((item) => { |
|
|
|
return { |
|
|
|
value: item.id, |
|
|
|
label: item.name, |
|
|
|
}; |
|
|
|
}), |
|
|
|
]; |
|
|
|
this.getList(); |
|
|
|
}); |
|
|
|
}, |
|
|
|
getList() { |
|
|
|
this.$http.get('/governance/satisfactionDetailList/getPotentialDissatisfiedCountDetail?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => { |
|
|
|
this.$http.get("/governance/satisfactionDetailList/getPotentialDissatisfiedCountDetail?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => { |
|
|
|
this.list = data.list; |
|
|
|
this.total = data.total; |
|
|
|
}) |
|
|
|
}); |
|
|
|
}, |
|
|
|
handleView(id) { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
handleView(id) {}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
@ -166,10 +141,11 @@ export default { |
|
|
|
.screen { |
|
|
|
margin: 25px 0 40px; |
|
|
|
|
|
|
|
.el-select, .el-input { |
|
|
|
.el-select, |
|
|
|
.el-input { |
|
|
|
width: 150px; |
|
|
|
margin-right: 4px; |
|
|
|
border: 1px solid #126AC5; |
|
|
|
border: 1px solid #126ac5; |
|
|
|
border-radius: 2px; |
|
|
|
|
|
|
|
/deep/ .el-input__inner { |
|
|
@ -184,4 +160,4 @@ export default { |
|
|
|
height: 32px; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|