Browse Source

部分页面脱敏信息修改

feature
SongZhen 2 years ago
parent
commit
8981285cbc
  1. 66
      src/views/dataBoard/cpts/homeDetails/index.vue
  2. 4
      src/views/dataBoard/organizational/microgrid/components/popDetails.vue
  3. 2
      src/views/dataBoard/organizational/microgrid/components/reportAnEvent.vue
  4. 12
      src/views/dataBoard/organizational/microgrid/index.vue
  5. 94
      src/views/dataBoard/overview/components/jdwgy.vue
  6. 136
      src/views/dataBoard/satisfactionEval/dissatisfiedPersonnel/index.vue
  7. 87
      src/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue
  8. 178
      src/views/dataBoard/satisfactionEval/potentialPeople/index.vue
  9. 130
      src/views/dataBoard/satisfactionEval/potentialPeople/sjwjj.vue
  10. 125
      src/views/dataBoard/satisfactionEval/potentialPeople/yxwxfw.vue

66
src/views/dataBoard/cpts/homeDetails/index.vue

@ -1,27 +1,28 @@
<template> <template>
<div class="homeWrap"> <div class="homeWrap">
<div class="bread"> <div class="bread">
<bread-crumb :list="[{ <bread-crumb
path: '/dataBoard/overview/index', :list="[
name: '概览' {
},{ path: '/dataBoard/overview/index',
name: homeText?homeText:'' name: '概览',
}]"/> },
{
name: homeText ? homeText : '',
},
]" />
</div> </div>
<el-row :gutter="48"> <el-row :gutter="48">
<el-col :span="8"> <el-col :span="8">
<div class="bg"> <div class="bg">
<Title :text="homeText?homeText:''"> <Title :text="homeText ? homeText : ''">
<span v-if="homeMsg && homeMsg.type" :class="[homeMsg.type === 'red' ? 'miniGrid_red' : homeMsg.type === <span v-if="homeMsg && homeMsg.type" :class="[homeMsg.type === 'red' ? 'miniGrid_red' : homeMsg.type === 'yellow' ? 'miniGrid_yellow' : 'miniGrid_green']">{{ homeMsg.type === "red" ? "" : homeMsg.type === "yellow" ? "" : "绿" }}色微网格</span>
'yellow' ? 'miniGrid_yellow' :
'miniGrid_green']">{{homeMsg.type === 'red' ? '红' : homeMsg.type === 'yellow' ? '黄' :
'绿'}}色微网格</span>
</Title> </Title>
</div> </div>
<div class="apartment"> <div class="apartment">
<div class="apar_comtent"> <div class="apar_comtent">
<div class="apar_top"> <div class="apar_top">
<img src="@/assets/images/home/homeTop.png" alt="/"/> <img src="@/assets/images/home/homeTop.png" alt="/" />
</div> </div>
<div class="apar_center"> <div class="apar_center">
<div class="apar_center_flex"> <div class="apar_center_flex">
@ -35,20 +36,19 @@
</div> --> </div> -->
</div> </div>
<div class="apar_right"> <div class="apar_right">
<img src="@/assets/images/home/homeRight.png" alt=""/> <img src="@/assets/images/home/homeRight.png" alt="" />
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<div class="table"> <div class="table">
<el-table :data="list" v-loading="loading" height="500" element-loading-text="加载中" <el-table :data="list" v-loading="loading" height="500" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)"> <el-table-column label="序号" type="index" width="80" />
<el-table-column label="序号" type="index" width="80"/> <el-table-column prop="doorName" label="门牌号" />
<el-table-column prop="doorName" label="门牌号"/> <el-table-column prop="fullName" label="所属小区" />
<el-table-column prop="fullName" label="所属小区"/> <el-table-column prop="buildingId" label="所属楼栋" />
<el-table-column prop="buildingId" label="所属楼栋"/> <el-table-column prop="houseName" label="所属单元" />
<el-table-column prop="houseName" label="所属单元"/> <el-table-column prop="houseCode" label="房屋编码" />
<el-table-column prop="houseCode" label="房屋编码"/>
<el-table-column prop="rentFlag" label="房屋状态"> <el-table-column prop="rentFlag" label="房屋状态">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 1出租 0自住 2闲置 3未售出 --> <!-- 1出租 0自住 2闲置 3未售出 -->
@ -61,11 +61,15 @@
<span>{{ getHouseType(scope.row.houseType) }}</span> <span>{{ getHouseType(scope.row.houseType) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="ownerName" label="房主姓名"/> <el-table-column prop="ownerName" label="房主姓名" />
<el-table-column prop="ownerPhone" label="房主电话"/> <el-table-column prop="ownerPhone" label="房主电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.ownerPhone, 3, 7) }}
</template>
</el-table-column>
<el-table-column label="操作" width="90" align="center"> <el-table-column label="操作" width="90" align="center">
<template slot-scope="{row}"> <template slot-scope="{ row }">
<el-button type="text" @click="$router.push('/dataBoard/overview/familyPortrait/?name='+row.doorName+'&user_id='+row.resiId+'&id='+$route.query.id+'&name2='+(homeText?homeText:''))">查看</el-button> <el-button type="text" @click="$router.push('/dataBoard/overview/familyPortrait/?name=' + row.doorName + '&user_id=' + row.resiId + '&id=' + $route.query.id + '&name2=' + (homeText ? homeText : ''))">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -105,7 +109,7 @@ export default {
watch: { watch: {
"$route.query.id"() { "$route.query.id"() {
this.getList(); this.getList();
} },
}, },
mounted() { mounted() {
this.getList(); this.getList();
@ -147,16 +151,14 @@ export default {
this.$http.get(`/actual/base/streetOverview/getUnitHouseList?unitId=` + this.$route.query.id).then((res) => { this.$http.get(`/actual/base/streetOverview/getUnitHouseList?unitId=` + this.$route.query.id).then((res) => {
const { const {
code, code,
data: {houseList, unitInfo}, data: { houseList, unitInfo },
} = res.data; } = res.data;
if (code === 0) { if (code === 0) {
let unitInfos = unitInfo || {} let unitInfos = unitInfo || {};
this.list = houseList; this.list = houseList;
this.homeMsg = unitInfos; this.homeMsg = unitInfos;
this.homeText = (unitInfos.quartersName ? unitInfos.quartersName : '') + this.homeText = (unitInfos.quartersName ? unitInfos.quartersName : "") + (unitInfos.buildingName ? unitInfos.buildingName : "") + (unitInfos.unitNum ? unitInfos.unitNum + "单元" : "");
(unitInfos.buildingName ? unitInfos.buildingName : '') + console.log(this.homeText, " this.homeText");
(unitInfos.unitNum ? unitInfos.unitNum + "单元" : '');
console.log( this.homeText,' this.homeText')
this.houseMountArr = this.getDoorNameList(this.list); this.houseMountArr = this.getDoorNameList(this.list);
this.loading = false; this.loading = false;
} else { } else {

4
src/views/dataBoard/organizational/microgrid/components/popDetails.vue

@ -48,11 +48,11 @@
</div> </div>
<div class="item"> <div class="item">
<div class="field">联系电话</div> <div class="field">联系电话</div>
<div class="value">{{ info.telephone }}</div> <div class="value">{{ $sensitive(info.telephone, 3, 7) }}</div>
</div> </div>
<div class="item"> <div class="item">
<div class="field">证件号</div> <div class="field">证件号</div>
<div class="value">{{ info.idcard }}</div> <div class="value">{{ $sensitive(info.idcard, 6, 16) }}</div>
</div> </div>
<div class="item"> <div class="item">
<div class="field">备注</div> <div class="field">备注</div>

2
src/views/dataBoard/organizational/microgrid/components/reportAnEvent.vue

@ -38,7 +38,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>联系电话</span> <span>联系电话</span>
<span>{{ item.mobile }}</span> <span>{{ $sensitive(item.mobile, 3, 7) }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>详细地址</span> <span>详细地址</span>

12
src/views/dataBoard/organizational/microgrid/index.vue

@ -34,9 +34,17 @@
<el-table-column v-if="otherTabel === 'tzrq'" prop="gridName" label="所属网格" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="gridName" label="所属网格" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="familyName" label="所属家庭" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="familyName" label="所属家庭" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="name" label="姓名" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="name" label="姓名" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="mobile" label="联系电话" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="mobile" label="联系电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column v-if="otherTabel === 'tzrq'" prop="gender" label="性别" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="gender" label="性别" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="idNum" label="证件号" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="idNum" label="证件号">
<template slot-scope="scope">
{{ $sensitive(scope.row.idNum, 6, 16) }}
</template>
</el-table-column>
<el-table-column v-if="otherTabel === 'tzrq'" prop="categoryType" label="人员类别" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="categoryType" label="人员类别" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="remark" label="备注" /> <el-table-column v-if="otherTabel === 'tzrq'" prop="remark" label="备注" />
<!-- 安全隐患 --> <!-- 安全隐患 -->

94
src/views/dataBoard/overview/components/jdwgy.vue

@ -1,14 +1,7 @@
<template> <template>
<div class="m-subbox m-jdwgy"> <div class="m-subbox m-jdwgy">
<div class="table"> <div class="table">
<el-table <el-table :data="list" v-if="currentLevelData.orgLevel != 'grid'" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.3)" max-height="190px" height="190px">
:data="list"
v-if="currentLevelData.orgLevel != 'grid'"
v-loading="loading"
element-loading-background="rgba(0, 0, 0, 0.3)"
max-height="190px"
height="190px"
>
<el-table-column label="序号" type="index" width="80" /> <el-table-column label="序号" type="index" width="80" />
<el-table-column prop="orgName" width="120" label="组织名称" /> <el-table-column prop="orgName" width="120" label="组织名称" />
<el-table-column prop="name" width="120" label="姓名" /> <el-table-column prop="name" width="120" label="姓名" />
@ -18,29 +11,23 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="age" width="120" label="年龄" /> <el-table-column prop="age" width="120" label="年龄" />
<el-table-column prop="mobile" 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="operate" width="80" label="操作"> <el-table-column prop="operate" width="80" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small"> <el-button @click="handleClick(scope.row)" type="text" size="small"> 查看 </el-button>
查看
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table <el-table v-if="currentLevelData.orgLevel == 'grid'" :data="wglist" v-loading="loading" max-height="190px" height="190px">
v-if="currentLevelData.orgLevel == 'grid'"
:data="wglist"
v-loading="loading"
max-height="190px"
height="190px"
>
<el-table-column label="序号" type="index" width="50" /> <el-table-column label="序号" type="index" width="50" />
<el-table-column prop="name" width="140" label="微网格" /> <el-table-column prop="name" width="140" label="微网格" />
<el-table-column prop="type" width="90" label="类型"> <el-table-column prop="type" width="90" label="类型">
<template slot-scope="scope"> <template slot-scope="scope">
<span :style="'color:' + scope.row.type">{{ <span :style="'color:' + scope.row.type">{{ types[scope.row.type] }}</span>
types[scope.row.type]
}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="houseNum" width="90" label="户数" /> <el-table-column prop="houseNum" width="90" label="户数" />
@ -50,9 +37,7 @@
<el-table-column prop="safetyNum" label="安全隐患" /> <el-table-column prop="safetyNum" label="安全隐患" />
<el-table-column prop="operate" width="80" label="操作"> <el-table-column prop="operate" width="80" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small"> <el-button @click="handleClick(scope.row)" type="text" size="small"> 查看 </el-button>
查看
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -84,11 +69,7 @@ export default {
}, },
watch: { watch: {
peopleType(val) { peopleType(val) {
this.getData( this.getData(val, this.currentLevelData.orgLevel, this.currentLevelData.orgId);
val,
this.currentLevelData.orgLevel,
this.currentLevelData.orgId
);
}, },
currentLevelData(val) { currentLevelData(val) {
if (val.orgId) { if (val.orgId) {
@ -98,46 +79,27 @@ export default {
}, },
mounted() { mounted() {
if (this.currentLevelData.orgId) { if (this.currentLevelData.orgId) {
this.getData( this.getData(this.peopleType, this.currentLevelData.orgLevel, this.currentLevelData.orgId);
this.peopleType,
this.currentLevelData.orgLevel,
this.currentLevelData.orgId
);
} }
}, },
methods: { methods: {
getData(peopleType, level = "", orgId = "") { getData(peopleType, level = "", orgId = "") {
this.loading = true; this.loading = true;
if (level == "grid") { if (level == "grid") {
this.$http this.$http.get("/actual/base/streetOverview/queryPersonnelGridGroup?personnelType=" + peopleType + "&level=" + level + "&orgId=" + orgId).then(({ data: { data } }) => {
.get( this.loading = false;
"/actual/base/streetOverview/queryPersonnelGridGroup?personnelType="+ this.wglist = data;
peopleType this.$emit(
+"&level=" + "setPoint",
level + data.filter((item) => item.longitude && item.latitude)
"&orgId=" + );
orgId });
)
.then(({ data: { data } }) => {
this.loading = false;
this.wglist = data;
this.$emit('setPoint',data.filter(item => item.longitude && item.latitude))
});
} else { } else {
this.$http this.$http.get("/actual/base/streetOverview/queryPersonnelGroup?level=" + level + "&orgId=" + orgId + "&personnelType=" + peopleType).then(({ data: { data } }) => {
.get( this.loading = false;
"/actual/base/streetOverview/queryPersonnelGroup?level=" + this.list = data.personnelInfoVOList;
level + this.$emit("setNum", data.orgPersonnelVOList);
"&orgId=" + });
orgId +
"&personnelType=" +
peopleType
)
.then(({ data: { data } }) => {
this.loading = false;
this.list = data.personnelInfoVOList;
this.$emit('setNum',data.orgPersonnelVOList)
});
} }
}, },
handleClick(item) { handleClick(item) {
@ -161,11 +123,7 @@ export default {
}, },
}; };
</script> </script>
<style <style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>
<style lang="scss" src="@/assets/scss/dataBoard/table.scss" scoped></style> <style lang="scss" src="@/assets/scss/dataBoard/table.scss" scoped></style>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/.table { /deep/.table {

136
src/views/dataBoard/satisfactionEval/dissatisfiedPersonnel/index.vue

@ -1,87 +1,59 @@
<template> <template>
<div> <div>
<Breadcrumb :list="breadcrumbList"/> <Breadcrumb :list="breadcrumbList" />
<!-- <div class="main-title"> <!-- <div class="main-title">
<Title :text="`“${title}”画像匹配同类不满意人员`" noBg/> <Title :text="`“${title}”画像匹配同类不满意人员`" noBg/>
</div>--> </div>-->
<div class="table"> <div class="table">
<el-table :data="list"> <el-table :data="list">
<el-table-column <el-table-column label="序号" type="index" width="80" />
label="序号"
type="index" <el-table-column prop="gridName" width="118" label="所属组织" />
width="80"/>
<el-table-column
prop="gridName"
width="118"
label="所属组织"/>
<el-table-column
prop="restName"
label="姓名">
</el-table-column>
<el-table-column <el-table-column prop="restName" label="姓名"> </el-table-column>
prop="mobile"
label="电话"/>
<el-table-column prop="mobile" label="电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column <el-table-column prop="categoryNames" label="人员性质" />
prop="categoryNames"
label="人员性质"/>
<el-table-column <el-table-column prop="gender" label="性别">
prop="gender" <template slot-scope="{ row }">
label="性别"> {{ row.gender === "1" ? "男" : row.gender === "2" ? "女" : row.gender === "0" ? "未知" : "" }}
<template slot-scope="{row}">
{{row.gender === '1'?'男':row.gender === '2'?'女':row.gender === '0'?'未知':''}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="age" label="年龄" />
prop="age"
label="年龄"/>
<el-table-column <el-table-column prop="cultureLevel" label="学历" />
prop="cultureLevel"
label="学历"/>
<el-table-column <el-table-column prop="marriageName" label="婚姻" />
prop="marriageName"
label="婚姻"/>
<el-table-column <el-table-column prop="monthIncomeLevel" label="月收入" />
prop="monthIncomeLevel"
label="月收入"/>
<el-table-column label="详情" width="90" align="center"> <el-table-column label="详情" width="90" align="center">
<template slot-scope="data"> <template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button> <el-button type="text" @click="handleView(data.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<Pagination <Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div> </div>
</template> </template>
<script> <script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb' import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination' import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title" import Title from "@/views/dataBoard/satisfactionEval/components/Title";
export default { export default {
name: "dissatisfied", name: "dissatisfied",
components: {Breadcrumb, Pagination, Title}, components: { Breadcrumb, Pagination, Title },
data() { data() {
return { return {
queryParams: { queryParams: {
@ -89,42 +61,45 @@ export default {
pageSize: 10, pageSize: 10,
}, },
total: 0, total: 0,
breadcrumbList: [{ breadcrumbList: [
path: '/dataBoard/satisfactionEval/index', {
name: '满意度评价' path: "/dataBoard/satisfactionEval/index",
}, { name: "满意度评价",
path: '', },
name: '画像匹配同类不满意人员' {
}], path: "",
name: "画像匹配同类不满意人员",
},
],
monthOptions: new Array(12).fill(0).map((_, index) => { 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: [],
title: '' title: "",
} };
}, },
activated() { activated() {
this.title = this.$route.query.title this.title = this.$route.query.title;
let searchParams = JSON.parse(this.$route.query.searchParams) let searchParams = JSON.parse(this.$route.query.searchParams);
console.log(searchParams) console.log(searchParams);
this.queryParams = { this.queryParams = {
...this.queryParams, ...this.queryParams,
...searchParams ...searchParams,
} };
this.getList() this.getList();
}, },
methods: { methods: {
getList() { getList() {
this.$http.get('/governance/satisfactionOverview/satisfactionCrowdList?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => { this.$http.get("/governance/satisfactionOverview/satisfactionCrowdList?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list this.list = data.list;
this.total = data.total this.total = data.total;
}) });
}, },
handleView({restName,restId}) { handleView({ restName, restId }) {
this.$router.push('/dataBoard/satisfactionEval/dissatisfiedPersonnel/detail?name='+restName+'&user_id='+restId) this.$router.push("/dataBoard/satisfactionEval/dissatisfiedPersonnel/detail?name=" + restName + "&user_id=" + restId);
} },
} },
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -133,10 +108,11 @@ export default {
.screen { .screen {
margin: 25px 0 40px; margin: 25px 0 40px;
.el-select, .el-input { .el-select,
.el-input {
width: 150px; width: 150px;
margin-right: 4px; margin-right: 4px;
border: 1px solid #126AC5; border: 1px solid #126ac5;
border-radius: 2px; border-radius: 2px;
/deep/ .el-input__inner { /deep/ .el-input__inner {
@ -158,4 +134,4 @@ export default {
.table { .table {
margin-top: 32px; margin-top: 32px;
} }
</style> </style>

87
src/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue

@ -1,33 +1,13 @@
<template> <template>
<el-dialog <el-dialog width="1118px" :modal="true" :modal-append-to-body="false" :destroy-on-close="true" :visible="showDialog" @close="handleClose">
width="1118px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
:visible="showDialog"
@close="handleClose"
>
<div class="eventWrap"> <div class="eventWrap">
<el-row :gutter="32"> <el-row :gutter="32">
<el-col :span="24" style="padding-left: 40px"> <el-col :span="24" style="padding-left: 40px">
<title-box text="事件详情" /> <title-box text="事件详情" />
</el-col> </el-col>
<el-col <el-col :span="13" style="padding-left: 40px" v-loading="loading" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0">
:span="13"
style="padding-left: 40px"
v-loading="loading"
element-loading-text="加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 21, 64, 0"
>
<div class="leftEvent"> <div class="leftEvent">
<div class="eventDetails"> <div class="eventDetails"><img :width="18" :height="18" src="@/assets/images/manyidu/tc-title-icon.png" />事项详情</div>
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div class="eventItem"> <div class="eventItem">
<span>所属组织</span> <span>所属组织</span>
<span>{{ item.organizationName }}</span> <span>{{ item.organizationName }}</span>
@ -38,7 +18,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>服务事项</span> <span>服务事项</span>
<span>{{item.serviceName}}</span> <span>{{ item.serviceName }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>服务时间</span> <span>服务时间</span>
@ -54,7 +34,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>联系电话</span> <span>联系电话</span>
<span>{{ item.principalContact }}</span> <span> {{ $sensitive(item.principalContact, 3, 7) }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>服务方</span> <span>服务方</span>
@ -66,44 +46,24 @@
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col <el-col :span="11" v-loading="loading1" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
:span="11"
v-loading="loading1"
element-loading-text="加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 21, 64, 0.3)"
>
<div class="rightEvent m-info"> <div class="rightEvent m-info">
<div class="eventDetails"> <div class="eventDetails"><img :width="18" :height="18" src="@/assets/images/manyidu/tc-title-icon.png" />办理进展</div>
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div v-if="item.logList.length > 0"> <div v-if="item.logList.length > 0">
<div class="m-process"> <div class="m-process">
<div class="list"> <div class="list">
<div <div class="item" :class="[index === 0 ? 'z-on' : '']" v-for="(item, index) in item.logList">
class="item"
:class="[index === 0 ? 'z-on' : '']"
v-for="(item, index) in item.logList"
>
<div class="item-row"> <div class="item-row">
<div class="name">{{item.serviceStatus}}</div> <div class="name">{{ item.serviceStatus }}</div>
<div class="date"> <div class="date">
{{ {{ item.createdTime }}
item.createdTime
}}
</div> </div>
</div> </div>
<div> <div>
<template v-if="item.serviceStatus === '创建服务'"> <template v-if="item.serviceStatus === '创建服务'">
<div class="detail"> <div class="detail">
<div class="detail-field">创建人</div> <div class="detail-field">创建人</div>
<div class="detail-value"> <div class="detail-value">{{ item.createdBy }} {{ item.agencyName }}</div>
{{ item.createdBy }} {{item.agencyName}}
</div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
@ -128,7 +88,7 @@
</template> </template>
<script> <script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title" import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
export default { export default {
name: "ReportAnEvent", name: "ReportAnEvent",
components: { components: {
@ -183,20 +143,17 @@ export default {
getDetailsData(id) { getDetailsData(id) {
this.loading = true; this.loading = true;
this.$http this.$http.get("/governance/satisfactionDetailList/getServiceNotEnjoyedDetailById?id=" + id).then((res) => {
.get("/governance/satisfactionDetailList/getServiceNotEnjoyedDetailById?id="+id) const { code, data, msg } = res.data;
.then((res) => { if (code === 0) {
const { code, data, msg } = res.data; this.item = data;
if (code === 0) { this.loading = false;
this.item = data; } else {
this.loading = false; this.loading = false;
} else { this.$message.error(msg);
this.loading = false; }
this.$message.error(msg); });
}
});
}, },
}, },
}; };
</script> </script>

178
src/views/dataBoard/satisfactionEval/potentialPeople/index.vue

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

130
src/views/dataBoard/satisfactionEval/potentialPeople/sjwjj.vue

@ -1,80 +1,50 @@
<template> <template>
<div> <div>
<Breadcrumb :list="breadcrumbList"/> <Breadcrumb :list="breadcrumbList" />
<div class="table"> <div class="table">
<el-table :data="list"> <el-table :data="list">
<el-table-column <el-table-column label="序号" type="index" width="80" />
label="序号"
type="index"
width="80"/>
<el-table-column <el-table-column prop="name" label="上报人" />
prop="name"
label="上报人"/>
<el-table-column <el-table-column prop="mobile" label="上报人电话">
prop="mobile" <template slot-scope="scope">
label="上报人电话"/> {{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
<el-table-column
prop="agencyName"
label="所属组织">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="agencyName" label="所属组织"> </el-table-column>
prop="categoryName"
label="事件类型"/> <el-table-column prop="categoryName" label="事件类型" />
<el-table-column <el-table-column prop="eventContent" show-overflow-tooltip label="事件描述" />
prop="eventContent"
show-overflow-tooltip
label="事件描述"/>
<el-table-column <el-table-column prop="latestProcessingStatus" label="最新办理状态" />
prop="latestProcessingStatus"
label="最新办理状态"/>
<el-table-column <el-table-column prop="latestProcessingTime" sortable label="最近办理时间" />
prop="latestProcessingTime" <el-table-column prop="happenTime" sortable label="事件上报时间" />
sortable <el-table-column sortable label="详情">
label="最近办理时间"/> <template slot-scope="{ row }">
<el-table-column
prop="happenTime"
sortable
label="事件上报时间"/>
<el-table-column
sortable
label="详情">
<template slot-scope="{row}">
<el-button type="text" @click="handleView(row)">查看</el-button> <el-button type="text" @click="handleView(row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<Pagination <Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
v-show="total>0" <sjwjj :showDialog="showDialog" :id="rowId" @close="close" />
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<sjwjj :showDialog="showDialog" :id="rowId" @close="close"/>
</div> </div>
</template> </template>
<script> <script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb' import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination' import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title" import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import sjwjj from "@/views/dataBoard/satisfactionEval/potentialPeople/details/sjwjj.vue" import sjwjj from "@/views/dataBoard/satisfactionEval/potentialPeople/details/sjwjj.vue";
export default { export default {
name: "dissatisfied", name: "dissatisfied",
components: {Breadcrumb, Pagination, Title, sjwjj}, components: { Breadcrumb, Pagination, Title, sjwjj },
data() { data() {
return { return {
queryParams: { queryParams: {
@ -83,46 +53,50 @@ export default {
pageSize: 10, pageSize: 10,
}, },
total: 0, total: 0,
breadcrumbList: [{ breadcrumbList: [
path: '/dataBoard/satisfactionEval/index', {
name: '满意度评价' path: "/dataBoard/satisfactionEval/index",
}, { name: "满意度评价",
path: '/dataBoard/satisfactionEval/potentialPeople', },
name: '潜在不满意数' {
}, { path: "/dataBoard/satisfactionEval/potentialPeople",
path: '', name: "潜在不满意数",
name: '事件未解决数' },
}], {
path: "",
name: "事件未解决数",
},
],
list: [], list: [],
showDialog: false, showDialog: false,
rowId: '', rowId: "",
} };
}, },
activated() { activated() {
this.queryParams.reportUserId = this.$route.query.reportUserId this.queryParams.reportUserId = this.$route.query.reportUserId;
this.queryParams.pageNo = 1 this.queryParams.pageNo = 1;
this.getList(); this.getList();
}, },
methods: { methods: {
search() { search() {
this.queryParams.pageNo = 1 this.queryParams.pageNo = 1;
this.getList(); this.getList();
}, },
getList() { getList() {
this.$http.get('/governance/satisfactionDetailList/getEventUnSolvedByUserId?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => { this.$http.get("/governance/satisfactionDetailList/getEventUnSolvedByUserId?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list; this.list = data.list;
this.total = data.total; this.total = data.total;
}) });
}, },
handleView({id}) { handleView({ id }) {
this.showDialog = true this.showDialog = true;
this.rowId = id this.rowId = id;
}, },
close() { close() {
this.showDialog = false this.showDialog = false;
} },
} },
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -131,4 +105,4 @@ export default {
.table { .table {
margin-top: 40px; margin-top: 40px;
} }
</style> </style>

125
src/views/dataBoard/satisfactionEval/potentialPeople/yxwxfw.vue

@ -1,74 +1,47 @@
<template> <template>
<div> <div>
<Breadcrumb :list="breadcrumbList"/> <Breadcrumb :list="breadcrumbList" />
<div class="table"> <div class="table">
<el-table :data="list"> <el-table :data="list">
<el-table-column <el-table-column label="序号" type="index" width="80" />
label="序号"
type="index"
width="80"/>
<el-table-column <el-table-column prop="name" label="服务对象姓名" />
prop="name"
label="服务对象姓名"/>
<el-table-column <el-table-column prop="mobile" label="服务对象电话">
prop="mobile" <template slot-scope="scope">
label="服务对象电话"/> {{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
<el-table-column
prop="organizationName"
label="所属组织">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="organizationName" label="所属组织"> </el-table-column>
prop="serviceCategoryName"
label="服务类型"/>
<el-table-column <el-table-column prop="serviceCategoryName" label="服务类型" />
prop="remark"
show-overflow-tooltip <el-table-column prop="remark" show-overflow-tooltip label="服务描述" />
label="服务描述"/> <el-table-column prop="serviceStatus" sortable label="是否已完成服务" />
<el-table-column <el-table-column prop="serviceTimeStart" sortable label="服务发起时间" />
prop="serviceStatus" <el-table-column sortable label="详情">
sortable <template slot-scope="{ row }">
label="是否已完成服务"/>
<el-table-column
prop="serviceTimeStart"
sortable
label="服务发起时间"/>
<el-table-column
sortable
label="详情">
<template slot-scope="{row}">
<el-button type="text" @click="handleView(row)">查看</el-button> <el-button type="text" @click="handleView(row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<Pagination <Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
v-show="total>0" <yxwxfw :showDialog="showDialog" :id="rowId" @close="close" />
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<yxwxfw :showDialog="showDialog" :id="rowId" @close="close"/>
</div> </div>
</template> </template>
<script> <script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb' import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination' import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title" import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import yxwxfw from "@/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue" import yxwxfw from "@/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue";
export default { export default {
name: "dissatisfied", name: "dissatisfied",
components: {Breadcrumb, Pagination, Title, yxwxfw}, components: { Breadcrumb, Pagination, Title, yxwxfw },
data() { data() {
return { return {
queryParams: { queryParams: {
@ -76,48 +49,52 @@ export default {
pageSize: 10, pageSize: 10,
}, },
total: 0, total: 0,
breadcrumbList: [{ breadcrumbList: [
path: '/dataBoard/satisfactionEval/index', {
name: '满意度评价' path: "/dataBoard/satisfactionEval/index",
}, { name: "满意度评价",
path: '/dataBoard/satisfactionEval/potentialPeople', },
name: '潜在不满意数' {
}, { path: "/dataBoard/satisfactionEval/potentialPeople",
path: '', name: "潜在不满意数",
name: '应享未享服务数' },
}], {
path: "",
name: "应享未享服务数",
},
],
list: [], list: [],
showDialog: false, showDialog: false,
rowId: '', rowId: "",
} };
}, },
activated() { activated() {
this.queryParams.reportUserId = this.$route.query.reportUserId this.queryParams.reportUserId = this.$route.query.reportUserId;
this.queryParams.pageNo = 1 this.queryParams.pageNo = 1;
this.getList(); this.getList();
}, },
methods: { methods: {
search() { search() {
this.queryParams.pageNo = 1 this.queryParams.pageNo = 1;
this.getList(); this.getList();
}, },
getList() { getList() {
this.$http.get('/governance/satisfactionDetailList/getServiceNotEnjoyedByUserId?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => { this.$http.get("/governance/satisfactionDetailList/getServiceNotEnjoyedByUserId?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list; this.list = data.list;
this.total = data.total; this.total = data.total;
}) });
}, },
handleView({id}) { handleView({ id }) {
this.showDialog = true this.showDialog = true;
this.rowId = id this.rowId = id;
}, },
close() { close() {
this.showDialog = false this.showDialog = false;
} },
} },
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -126,4 +103,4 @@ export default {
.table { .table {
margin-top: 40px; margin-top: 40px;
} }
</style> </style>

Loading…
Cancel
Save