Browse Source

修改不满意人员列表的跳转

v1.1
duanliangtao 2 years ago
parent
commit
7210a6a6ed
  1. 30
      src/router/index.js
  2. 2
      src/views/dataBoard/overview/components/map-top.vue
  3. 121
      src/views/dataBoard/overview/potentialPeople/12345.vue
  4. 201
      src/views/dataBoard/overview/potentialPeople/details/province.vue
  5. 12
      src/views/dataBoard/overview/potentialPeople/index.vue
  6. 124
      src/views/dataBoard/overview/potentialPeople/province.vue
  7. 134
      src/views/dataBoard/overview/potentialPeople/selfInspect.vue

30
src/router/index.js

@ -695,6 +695,36 @@ export const dataBoardRoutes = {
isTab: false,
},
},
{
path: "overview/potentialPeople/12345",
props: true,
component: () => import("@/views/dataBoard/overview/potentialPeople/12345"),
name: "dataBoard-overview-potentialPeople-12345",
meta: {
title: "12345人员事件",
isTab: false,
},
},
{
path: "overview/potentialPeople/province",
props: true,
component: () => import("@/views/dataBoard/overview/potentialPeople/province"),
name: "dataBoard-overview-potentialPeople-province",
meta: {
title: "上级满意度调查不满意列表",
isTab: false,
},
},
{
path: "overview/potentialPeople/selfInspect",
props: true,
component: () => import("@/views/dataBoard/overview/potentialPeople/selfInspect"),
name: "dataBoard-overview-potentialPeople-selfInspect",
meta: {
title: "社区自查不满意列表",
isTab: false,
},
},
{
path: "satisfactionEval/Problem/tddtlxsj",
props: true,

2
src/views/dataBoard/overview/components/map-top.vue

@ -21,7 +21,7 @@
<Bmysxxq ref="Bmysxxq" :currentLevelData="currentLevelData"/>
<EventDetails :id="rowId" :is12345="false" :showDialog="showDialog" @close="showDialog = false"/>
<EventDetails :id="rowId" :is12345="false" :showDialog="showDialog" :currentLevelData="currentLevelData" @close="showDialog = false"/>
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/>
<DissatisfiedDetails ref="DissatisfiedDetails" :id="rowId" :currentLevelData="currentLevelData" />

121
src/views/dataBoard/overview/potentialPeople/12345.vue

@ -0,0 +1,121 @@
<template>
<div>
<Breadcrumb :list="breadcrumbList" />
<div class="table">
<el-table :data="list"
v-loading="loading"
element-loading-text="加载中..."
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0,0,0,0.5)"
>
<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="gridName" label="所属组织"> </el-table-column>
<el-table-column prop="categoryName" label="事件类型" />
<el-table-column prop="happenTime" label="接收时间" />
<el-table-column prop="eventContent" show-overflow-tooltip label="事件描述" />
<el-table-column prop="name" label="联系人" />
<el-table-column prop="address" sortable label="详细地址" />
<el-table-column sortable label="操作">
<template slot-scope="{row}">
<el-button type="text" @click="handleView(row)">查看</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" />
<sjwjj :showDialog="showDialog" :id="rowId" @close="close" />
</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 sjwjj from "@/views/dataBoard/satisfactionEval/potentialPeople/details/sjwjj.vue";
export default {
name: "dissatisfied",
components: { Breadcrumb, Pagination, Title, sjwjj },
data() {
return {
queryParams: {
mobile: this.$route.query.mobile,
pageNo: 1,
pageSize: 10,
},
total: 0,
breadcrumbList: [
{
path: "/dataBoard/overview/index",
name: "书记看板",
},
{
path: "",
name: "不满意风险人员",
}
],
list: [],
showDialog: false,
rowId: "",
loading: true
};
},
activated() {
this.queryParams.mobile = this.$route.query.mobile;
this.queryParams.pageNo = 1;
this.getList();
},
methods: {
search() {
this.queryParams.pageNo = 1;
this.getList();
},
getList() {
this.loading = true
this.$http.post('/governance/icEvent/list', this.queryParams).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.list = res.data.list;
this.total = res.data.total;
this.loading = false
}
}).catch(() => {
return this.$message.error('网络错误')
})
},
handleView({icEventId}) {
this.showDialog = true;
this.rowId = icEventId;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss">
@import "@/assets/scss/dataBoard/table.scss";
.table {
margin-top: 40px;
}
</style>

201
src/views/dataBoard/overview/potentialPeople/details/province.vue

@ -0,0 +1,201 @@
<template>
<el-dialog
width="1118px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
:visible="showDialog"
@close="handleClose"
>
<div class="eventWrap">
<el-row :gutter="32">
<el-col :span="24" style="padding-left: 40px">
<title-box text="事件详情" />
</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"
>
<div class="leftEvent">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div class="eventItem">
<span>所属街道</span>
<span>
{{ item.streetName }}
</span>
</div>
<div class="eventItem">
<span>所属社区</span>
<span>
{{ item.communityName }}
</span>
</div>
<div class="eventItem">
<span>姓名</span>
<span>{{ item.name }}</span>
</div>
<div class="eventItem">
<span>回访电话</span>
<span>{{ item.mobile }}</span>
</div>
<div class="eventItem">
<div>领域</div>
<div style="margin-top: 20px">{{ item.scopeName }}</div>
</div>
<div class="eventItem">
<div>问题</div>
<div style="margin-top: 20px">{{ item.problemDesc }}</div>
</div>
<div class="eventItem">
<span>备注</span>
<span>{{ item.remark }}</span>
</div>
</div>
</el-col>
</el-row>
</div>
</el-dialog>
</template>
<script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title"
export default {
name: "ProvinceEvent",
components: {
titleBox,
},
props: {
id: {
type: String,
default: "",
},
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
item: {},
loading: false,
loading1: false,
activities: [],
};
},
computed: {},
watch: {
showDialog: {
handler(val) {
if (val) {
this.getDetailsData(this.id);
}
},
immediate: true,
},
},
mounted() {},
methods: {
handleClose() {
this.$emit("close", false);
this.item = {};
},
openImg(src) {
window.open(src);
},
getTrueTime(time) {
return this.$moment(time * 1000).format("YYYY-MM-DD hh:mm");
},
getDetailsData(id) {
this.loading = true;
this.$http
.post("/governance/icEvent/detail", { icEventId: id })
.then((res) => {
const { code, data, msg } = res.data;
if (code === 0) {
this.item = data;
this.loading = false;
} else {
this.loading = false;
this.$message.error(msg);
}
});
},
},
};
</script>
<style lang="scss" src="@/assets/scss/dataBoard/popup-info.scss" scoped></style>
<style lang="scss" scoped>
@import "@/assets/scss/modules/shequzhili/event-info.scss";
@import "@/assets/scss/dataBoard/dialog.scss";
@mixin fontStyle {
color: #fff !important;
font-size: 14px !important;
}
.eventWrap {
//width: 1094px;
//height: 798px;
overflow-y: auto;
overflow-x: hidden;
padding: 24px;
.eventDetails {
font-size: 18px;
margin: 48px 24px 48px 0;
color: #ffffff;
img {
margin-top: -4px;
margin-right: 8px;
}
}
.m-info {
padding: 0px !important;
.m-process {
margin: 0 !important;
.name {
@include fontStyle;
}
.date {
@include fontStyle;
}
.detail {
@include fontStyle;
.detail-field {
flex: none !important;
}
}
}
}
.leftEvent {
color: #fff;
.eventItem {
font-size: 14px;
margin-bottom: 24px;
span:first-child {
}
span:last-child {
}
}
}
.rightEvent {
color: #fff;
}
}
</style>

12
src/views/dataBoard/overview/potentialPeople/index.vue

@ -75,8 +75,8 @@
type="text"
@click="
$router.push(
'/dataBoard/overview/potentialPeople/sjwjj?reportUserId=' +
row.reportUserId
'/dataBoard/overview/potentialPeople/12345?mobile=' +
row.mobile
)
"
>
@ -91,8 +91,8 @@
type="text"
@click="
$router.push(
'/dataBoard/overview/potentialPeople/xqwmz?reportUserId=' +
row.reportUserId
'/dataBoard/overview/potentialPeople/province?mobile=' +
row.mobile
)
"
>
@ -107,8 +107,8 @@
type="text"
@click="
$router.push(
'/dataBoard/overview/potentialPeople/yxwxfw?reportUserId=' +
row.reportUserId
'/dataBoard/overview/potentialPeople/selfInspect?mobile=' +
row.mobile
)
"
>

124
src/views/dataBoard/overview/potentialPeople/province.vue

@ -0,0 +1,124 @@
<template>
<div>
<Breadcrumb :list="breadcrumbList" />
<div class="table">
<el-table :data="list"
v-loading="loading"
element-loading-text="加载中..."
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0,0,0,0.5)"
>
<el-table-column label="序号" type="index" width="80" />
<el-table-column prop="name" label="月度" />
<el-table-column prop="communityName" label="所属社区"> </el-table-column>
<el-table-column prop="scopeName" label="所属类型"/>
<el-table-column prop="problemDesc" label="问题" />
<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="periodStart" label="提交时间" />
<el-table-column show-overflow-tooltip label="是否完成">已完成</el-table-column>
<el-table-column label="消除风险"></el-table-column>
<el-table-column sortable label="操作">
<template slot-scope="{row}">
<el-button type="text" @click="handleView(row)">查看</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" />
<province :showDialog="showDialog" :id="rowId" @close="close" />
</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 province from "@/views/dataBoard/satisfactionEval/potentialPeople/details/sjwjj.vue";
export default {
name: "dissatisfied",
components: { Breadcrumb, Pagination, Title, province },
data() {
return {
queryParams: {
mobile: this.$route.query.mobile,
pageNo: 1,
pageSize: 10,
},
total: 0,
breadcrumbList: [
{
path: "/dataBoard/overview/index",
name: "书记看板",
},
{
path: "",
name: "不满意风险人员",
}
],
list: [],
showDialog: false,
rowId: "",
loading: true
};
},
activated() {
this.queryParams.mobile = this.$route.query.mobile;
this.queryParams.pageNo = 1;
this.getList();
},
methods: {
search() {
this.queryParams.pageNo = 1;
this.getList();
},
getList() {
this.loading = true
this.$http.post('/governance/provinceEvaluationRecord/pageInfo', this.queryParams).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.list = res.data.list;
this.total = res.data.total;
this.loading = false
}
}).catch(() => {
return this.$message.error('网络错误')
})
},
handleView({icEventId}) {
this.showDialog = true;
this.rowId = icEventId;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss">
@import "@/assets/scss/dataBoard/table.scss";
.table {
margin-top: 40px;
}
</style>

134
src/views/dataBoard/overview/potentialPeople/selfInspect.vue

@ -0,0 +1,134 @@
<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="periodStart" width="100"/>
<el-table-column label="所属社区" prop="agencyName" width="200"/>
<el-table-column :formatter="(row) => row.evaCulturalFacility === 'veryGood' ? '满意' : '不满意'" label="文化设施" prop="evaCulturalFacility"
width="150"/>
<el-table-column :formatter="(row) => row.evaSportsFacility === 'veryGood' ? '满意' : '不满意'" label="体育设施" prop="evaSportsFacility"
width="150"/>
<el-table-column :formatter="(row) => row.evaEcologicalEnv === 'veryGood' ? '满意' : '不满意'" label="生态环境" prop="evaEcologicalEnv"
width="150"/>
<el-table-column :formatter="(row) => row.evaSocialSecurity === 'veryGood' ? '满意' : '不满意'" label="社会治安" prop="evaSocialSecurity"
width="150"/>
<el-table-column :formatter="(row) => row.evaSocialAssistance === 'veryGood' ? '满意' : '不满意'" label="社会救助" prop="evaSocialAssistance"
width="150"/>
<el-table-column :formatter="(row) => row.evaOldPeopleProvide === 'veryGood' ? '满意' : '不满意'" label="老有所养" prop="evaOldPeopleProvide"
width="150"/>
<el-table-column :formatter="(row) => row.evaBasicEducation === 'veryGood' ? '满意' : '不满意'" label="基础教育" prop="evaBasicEducation"
width="150"/>
<el-table-column :formatter="(row) => row.evaMedical === 'veryGood' ? '满意' : '不满意'" label="病有所医" prop="evaMedical"
width="150"/>
<el-table-column label="提交时间" prop="createdTime" width="200"/>
<el-table-column label="姓名" prop="reporterName" width="100"/>
<el-table-column label="电话" min-width="120" prop="reporterMobile">
<template slot-scope="scope">
{{ $sensitive(scope.row.reporterMobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column label="是否回访" prop="followUpStatus" width="150" :formatter="(row) => row.followUpStatus === -1?'否':'是'"/>
<el-table-column label="消除风险" prop="dangerFlag" width="150"/>
<el-table-column label="操作" width="120">
<template slot-scope="{ row }">
<span class="view" @click="handleView(row)">查看</span>
</template>
</el-table-column>
</el-table>
</div>
<Pagination v-show="total > 0" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNo" :total="total"
@pagination="getList"/>
<dissatisfieReasonDetail ref="detail" />
</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 CallPhone from '@/views/dataBoard/cpts/CallPhone.vue'
import dissatisfieReasonDetail from "@/views/dataBoard/satisfactionEval/dissatisfieReason/detail.vue";
export default {
name: "selfInspect",
components: {Breadcrumb, Pagination, Title, CallPhone,dissatisfieReasonDetail},
data() {
return {
queryParams: {
pageNo: 1,
pageSize: 10,
agencyId: this.$route.query.id
},
total: 0,
breadcrumbList: [
{
path: "/dataBoard/overview/index",
name: "书记看板",
},
{
path: "",
name: "社区自查不满意数",
},
],
list: [],
rowId: "",
loading: true
};
},
activated() {
this.queryParams.mobile = this.$route.query.mobile;
this.queryParams.pageNo = 1;
this.getList();
},
methods: {
search() {
this.queryParams.pageNo = 1;
this.getList();
},
getList() {
this.loading = true
this.$http.get("/governance/satisfaction/communitySelfInsp/inspResult/list?" + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => {
this.list = data.list;
this.total = data.total;
this.loading = false
});
},
handleView({id}) {
this.id = id;
this.$refs.detail.open(id);
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/dataBoard/table.scss";
.table {
margin-top: 40px;
}
.handle {
font-size: 14px;
margin-left: 10px;
color: #9A69EC;
cursor: pointer;
}
.view {
font-size: 14px;
margin-left: 10px;
color: #007FF1;
cursor: pointer;
}
</style>
Loading…
Cancel
Save