duanliangtao 2 years ago
parent
commit
a9ded26b6e
  1. 2
      src/views/modules/jumin/cpts/leftBto.vue
  2. 8
      src/views/modules/jumin/cpts/leftTop.vue
  3. 509
      src/views/modules/jumin/cpts/rightTop.vue
  4. 153
      src/views/modules/jumin/cpts/table/complain.vue
  5. 64
      src/views/modules/jumin/cpts/table/fuwu.vue
  6. 62
      src/views/modules/jumin/cpts/table/sheng.vue
  7. 108
      src/views/modules/jumin/cpts/table/shequ.vue
  8. 106
      src/views/modules/jumin/cpts/table/shijian.vue
  9. 103
      src/views/modules/jumin/cpts/table/xuqiu.vue
  10. 50
      src/views/modules/jumin/huaxiang.vue

2
src/views/modules/jumin/cpts/leftBto.vue

@ -59,7 +59,7 @@ export default {
}
for(let i in data){
if(data[i].classificationOfInhabitantsList){
data[i].resiCategory = data[i].classificationOfInhabitantsList.join(',')
data[i].resiCategory = data[i].classificationOfInhabitantsList.join('')
}
}
this.familyList = data

8
src/views/modules/jumin/cpts/leftTop.vue

@ -44,6 +44,13 @@ export default {
default: ''
},
},
watch: {
resiId: {
handler(newVal, oldVal) {
this.getPersonalFile()
}
}
},
//
methods: {
async getPersonalFile() {
@ -51,6 +58,7 @@ export default {
let { code, data, msg } = await requestPost(url)
if (code == 0) {
this.resiInfo = data
console.log(this.resiInfo);
} else {
this.$message.error(msg)
}

509
src/views/modules/jumin/cpts/rightTop.vue

@ -0,0 +1,509 @@
<template>
<div class=''>
<el-tabs v-model="topTabs" @tab-click="tabClick">
<el-tab-pane :label="complainLabel" name="12345">
<complain :tableData="complainList" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ complainTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="complainTotal">
</el-pagination></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="shengLabel" name="sheng">
<sheng :tableData="shengList" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ shengTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="shengTotal">
</el-pagination></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="shequLabel" name="shequ">
<shequ :tableData="shequList" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ shequTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="shequTotal">
</el-pagination></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="shijianLabel" name="shijian">
<shijian :tableData="shijianList" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ shijianTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="shijianTotal">
</el-pagination></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="xuqiuLabel" name="xuqiu">
<xuqiu :tableData="xuqiuList" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ xuqiuTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="xuqiuTotal">
</el-pagination></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="fuwuLabel" name="fuwu">
<fuwu :tableData="fuwuList" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ fuwuTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="fuwuTotal">
</el-pagination></el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import complain from "./table/complain";
import sheng from "./table/sheng";
import shequ from "./table/shequ";
import shijian from "./table/shijian";
import xuqiu from "./table/xuqiu";
import fuwu from "./table/fuwu";
export default {
//
data() {
return {
topTabs: '12345',
complainTotal: 0,
complainList: [],
complainLabel: '',
shengLabel: '',
shengList: [],
shengTotal: 0,
shequLabel: '',
shequList: [],
shequTotal: 0,
shijianLabel: '',
shijianList: [],
shijianTotal: 0,
xuqiuLabel: '',
xuqiuList: [],
xuqiuTotal: 0,
fuwuLabel: '',
fuwuList: [],
fuwuTotal: 0,
pageNo: 1,
pageSize: 20
};
},
//
created() { },
mounted() {
this.getComplainList()
this.getShengList()
this.getShequList()
this.getshijianList()
this.getxuqiuList()
this.getfuwuList()
},
props: {
userInfo: {
type: Object,
default: {
resiId: ''
}
}
},
//
methods: {
tabClick(index) {
},
handleSizeChange() {
},
handleCurrentChange() {
},
getComplainList() {
let parm = {
residList: [this.userInfo.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", parm).then(({ data: res }) => {
this.complainList = [{
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}, {
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.complainTotal = this.complainList.length;
this.complainLabel = `12345投诉(${this.complainTotal}`
});
},
getShengList() {
let parm = {
residList: [this.userInfo.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/provincialSatisfactionPageList", parm).then(({ data: res }) => {
this.shengList = [{
scope: "服务态度",
problemDesc: "服务员的态度冷淡,没有微笑",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "在前台等待时间超过30分钟",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "环境问题",
problemDesc: "餐厅内部太吵,无法正常交流",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "食品质量",
problemDesc: "点的咖啡味道太苦,不如以前",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "洗手间没有纸巾",
completeFlag: "已办理",
isReturn: "是"
}]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.shengTotal = this.shengList.length;
this.shengLabel = `省满意度调查(${this.shengTotal}`
});
},
getShequList() {
let parm = {
residList: [this.userInfo.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", parm).then(({ data: res }) => {
this.shequList = [{
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}, {
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
}]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.shequTotal = this.shequList.length;
this.shequLabel = `社区满意度自查(${this.shequTotal}`
});
},
getshijianList() {
let parm = {
residList: [this.userInfo.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
this.$http.post("/actual/base/peopleRoomOverview/eventPageList", parm).then(({ data: res }) => {
this.shijianList = [{
categorycode: "设备故障",
eventcontent: "东侧出入口的闸机无法正常工作",
status: "处理中",
happentime: "2023-10-21 14:25:45"
},
{
categorycode: "安全事故",
eventcontent: "西侧楼梯有脚手架工具掉落",
status: "已完成",
happentime: "2023-10-20 09:10:32"
},
{
categorycode: "投诉",
eventcontent: "前台服务员态度不佳",
status: "未处理",
happentime: "2023-10-19 16:45:30"
},
{
categorycode: "环境问题",
eventcontent: "会议室的空调太冷",
status: "处理中",
happentime: "2023-10-18 11:05:25"
},]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.shijianTotal = this.shijianList.length;
this.shijianLabel = `上报事件(${this.shijianTotal}`
});
},
getxuqiuList() {
let parm = {
residList: [this.userInfo.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/demandOfResidentsPageList", parm).then(({ data: res }) => {
this.xuqiuList = [{
categoryName: "软件功能",
content: "希望增加导出 Excel 的功能",
status: "评估中",
reportTime: "2023-10-24 10:15:32"
},
{
categoryName: "硬件升级",
content: "需要更高配置的服务器来支撑业务",
status: "已批准",
reportTime: "2023-10-23 14:05:50"
},
{
categoryName: "界面优化",
content: "前台页面加载速度较慢,希望优化",
status: "处理中",
reportTime: "2023-10-22 11:30:15"
},
{
categoryName: "新功能",
content: "需要一个新的数据可视化面板",
status: "未开始",
reportTime: "2023-10-21 09:45:10"
},
{
categoryName: "其他",
content: "希望增加夜间模式,减少眼睛疲劳",
status: "评估中",
reportTime: "2023-10-20 16:20:45"
}]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.xuqiuTotal = this.xuqiuList.length;
this.xuqiuLabel = `居民需求(${this.xuqiuTotal}`
});
},
getfuwuList() {
let parm = {
residList: [this.userInfo.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
this.$http.post("/actual/base/peopleRoomOverview/communityServicePageList", parm).then(({ data: res }) => {
this.fuwuList = [ {
serviceCategoryKey: "系统故障",
serviceName: "登录功能无法使用",
state: "处理中",
serviceTimeStart: "2023-10-25 09:20:15"
},
{
serviceCategoryKey: "新功能请求",
serviceName: "添加多语言支持",
state: "已完成",
serviceTimeStart: "2023-10-24 15:10:45"
},
{
serviceCategoryKey: "优化建议",
serviceName: "改进搜索算法,提高搜索速度",
state: "未开始",
serviceTimeStart: "2023-10-23 14:05:20"
},
{
serviceCategoryKey: "界面问题",
serviceName: "移动端页面布局错乱",
state: "处理中",
serviceTimeStart: "2023-10-22 10:40:25"
},]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.fuwuTotal = this.fuwuList.length;
this.fuwuLabel = `社区服务(${this.fuwuTotal}`
});
},
},
//
components: { complain, sheng, fuwu, shijian, xuqiu, shequ },
//
computed: {},
//
watch: {},
}
</script>
<style lang="less" scoped></style>

153
src/views/modules/jumin/cpts/table/complain.vue

@ -0,0 +1,153 @@
<template>
<div class="table">
<el-table v-if="tableData.length > 0" :data="tableData" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />
<el-table-column label="办理状态" prop="completeFlag" width="120" />
<el-table-column label="是否回访" prop="isReturn" width="120" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div v-else style="width: 100%; height: 363px; text-align: center; padding-top: 120px">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div style="color: #fff">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
name: "community",
components: {
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
pageNo: 1,
pageSize: 20
};
},
activated() {
},
watch: {
},
mounted() { },
props: {
tableData: {
type: Array,
default: []
}
},
methods: {
getList() {
let parm = {
residList: [this.resiId],
pageNo: this.pageNo,
pageSize: this.pageSize
}
this.list = [];
this.total = 0;
// this.$emit("changeTotal", { name: 2, total: 0 });
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", parm).then(({ data: res }) => {
this.list = [{
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}, {
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}]
// this.list = res.data.list.map((item) => {
// return {
// ...item,
// status: item.status ? statusArr[item.status] : null,
// marktype: marktypes[item.marktype],
// };
// });
this.total = this.list.length;
this.$emit("changeTotal", { name: 2, total: this.total });
});
},
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
handleSizeChange(val) {
this.pageSize = val;
this.pageNo = 1;
this.getList();
},
handleCurrentChange(val) {
this.pageNo = val;
this.getList();
},
},
};
</script>
<style scoped lang="scss"></style>

64
src/views/modules/jumin/cpts/table/fuwu.vue

@ -0,0 +1,64 @@
<template>
<div class="table">
<el-table v-if="tableData.length > 0" :data="tableData" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="需求类型" prop="serviceCategoryKey" width="" />
<el-table-column label="事件描述" prop="serviceName" width="" />
<el-table-column label="服务情况" prop="state" width="" />
<el-table-column label="创建时间" prop="serviceTimeStart" width="180" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div v-else style="width: 100%; height: 100%; text-align: center; padding-top: 120px">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div style="color: #fff">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
name: "community",
components: {
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
activated() {
},
watch: {
},
mounted() { },
props: {
tableData: {
type: Array,
default: []
}
},
methods: {
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss"></style>

62
src/views/modules/jumin/cpts/table/sheng.vue

@ -0,0 +1,62 @@
<template>
<div class="table">
<el-table v-if="tableData.length > 0" :data="tableData" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />
<el-table-column label="办理状态" prop="completeFlag" width="120" />
<el-table-column label="是否回访" prop="isReturn" width="120" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div v-else style="width: 100%; height: 100%; text-align: center; padding-top: 120px">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div style="color: #fff">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
name: "community",
components: {
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
activated() {
},
watch: {
},
mounted() { },
props: {
tableData: {
type: Array,
default: []
}
},
methods: {
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss"></style>

108
src/views/modules/jumin/cpts/table/shequ.vue

@ -0,0 +1,108 @@
<template>
<div class="table">
<el-table v-if="tableData.length > 0" :data="tableData" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />
<el-table-column label="办理状态" prop="completeFlag" width="120" />
<el-table-column label="是否回访" prop="isReturn" width="120" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div v-else style="width: 100%; height: 100%; text-align: center; padding-top: 120px">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div style="color: #fff">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
name: "community",
components: {
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
activated() {
// this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
// this.getList();
},
},
mounted() { },
props: {
tableData: {
type: Array,
default: []
}
},
methods: {
getList() {
let residList = [this.resiId]
this.list = [];
this.total = 0;
// this.$emit("changeTotal", { name: 2, total: 0 });
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", { residList }).then(({ data: res }) => {
this.list = [{
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}]
this.total = res.data.length;
// this.$emit("changeTotal", { name: 2, total: this.total });
});
},
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss"></style>

106
src/views/modules/jumin/cpts/table/shijian.vue

@ -0,0 +1,106 @@
<template>
<div class="table">
<el-table v-if="tableData.length > 0" :data="tableData" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="事件类型" prop="categorycode" width="" />
<el-table-column label="事件描述" prop="eventcontent" width="" />
<el-table-column label="办理状态" prop="status" width="" />
<el-table-column label="接收时间" prop="happentime" width="180" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div v-else style="width: 100%; height: 100%; text-align: center; padding-top: 120px">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div style="color: #fff">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
name: "community",
components: {
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
activated() {
},
mounted() { },
props: {
resiId: {
type: String,
default: ''
},
tableData: {
type: Array,
default: []
}
},
methods: {
getList() {
let residList = [this.resiId]
this.list = [];
this.total = 0;
// this.$emit("changeTotal", { name: 2, total: 0 });
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", { residList }).then(({ data: res }) => {
this.list = [{
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}]
this.total = res.data.length;
// this.$emit("changeTotal", { name: 2, total: this.total });
});
},
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss"></style>

103
src/views/modules/jumin/cpts/table/xuqiu.vue

@ -0,0 +1,103 @@
<template>
<div class="table">
<el-table v-if="tableData.length > 0" :data="tableData" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="需求类型" prop="categoryName" width="" />
<el-table-column label="需求描述" prop="content" width="" />
<el-table-column label="办理情况" prop="status" width="" />
<el-table-column label="上报时间" prop="reportTime" width="180" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div v-else style="width: 100%; height: 100%; text-align: center; padding-top: 120px">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div style="color: #fff">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
name: "community",
components: {
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
activated() {
},
mounted() { },
props: {
tableData: {
type: Array,
default: []
}
},
methods: {
getList() {
let residList = [this.resiId]
this.list = [];
this.total = 0;
// this.$emit("changeTotal", { name: 2, total: 0 });
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", { residList }).then(({ data: res }) => {
this.list = [{
scope: "服务态度",
problemDesc: "服务人员态度不好",
completeFlag: "未办理",
isReturn: "否"
},
{
scope: "处理速度",
problemDesc: "等待时间过长",
completeFlag: "已办理",
isReturn: "是"
},
{
scope: "设备问题",
problemDesc: "使用的机器经常故障",
completeFlag: "办理中",
isReturn: "否"
},
{
scope: "其他",
problemDesc: "场地不够干净",
completeFlag: "已办理",
isReturn: "是"
}]
this.total = res.data.length;
// this.$emit("changeTotal", { name: 2, total: this.total });
});
},
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss"></style>

50
src/views/modules/jumin/huaxiang.vue

@ -8,16 +8,19 @@
<span class="title f-font14 gray" style="cursor: pointer;" @click="handlerUserInfo">详情 ></span>
</div>
<div class="f-top12">
<img src="../../../assets/images/index/resi.png" alt="" width="56px"> {{userInfo.name}}
<img src="../../../assets/images/index/resi.png" alt="" width="56px"> {{ userInfo.name }}
</div>
<section class="bgC">
<left-top :resiId="userInfo.resiId"></left-top>
<left-top :resiId="userInfo.resiId" :key="userInfo.resiId"></left-top>
</section>
</div>
</div>
<div class="right">
<div class="card">
<div class="title"></div>
<div class="title">
<div><img src="../../../assets/images/index/title-icon-ywjl.png" alt="">各项业务记录</div>
</div>
<right-top :userInfo="userInfo"></right-top>
</div>
</div>
</div>
@ -28,7 +31,7 @@
<div><img src="../../../assets/images/index/title-icon-jtgx.png" alt="">家庭关系</div>
</div>
<section class="bgC" style="padding: 0;">
<left-bto :userInfo="userInfo" ></left-bto>
<left-bto :userInfo="userInfo" :key="userInfo.resiId"></left-bto>
</section>
</div>
</div>
@ -38,51 +41,58 @@
</div>
</div>
</div>
<resi-info
v-if="showedResiInfo && userInfo.resiId"
:resi-id="userInfo.resiId"
@close="showedResiInfo = false"
/>
<resi-info v-if="showedResiInfo && userInfo.resiId" :resi-id="userInfo.resiId" @close="showedResiInfo = false" />
</div>
</template>
<script>
import { requestPost, requestGet } from '@/js/dai/request'
import leftTop from "./cpts/leftTop";
import leftBto from "./cpts/leftBto";
import rightTop from "./cpts/rightTop";
import resiInfo from "@/views/modules/cpts/resi/info";
import nextTick from "dai-js/tools/nextTick";
export default {
//
data() {
return {
userInfo:{},
userInfo: {},
showedResiInfo: false,
};
},
//
created() {
this.getFamilyRelationshipList()
async created() {
this.userInfo = this.$store.state.huaXiang.userInfo
await this.getFamilyRelationshipList()
},
mounted() {
},
activated() {
this.userInfo = this.$store.state.huaXiang.userInfo
},
//
methods: {
async getFamilyRelationshipList() {
let url = `/actual/base/peopleRoomOverview/getFamilyRelationshipList?type=0&resid=` + this.userInfo.resiId
let {code,data,msg} = await requestPost(url)
if(code == 0){
let { code, data, msg } = await requestPost(url)
if (code == 0) {
this.familyList = data
}else{
} else {
this.$message.error(msg)
}
},
async handlerUserInfo(){
await nextTick();
this.showedResiInfo = true;
async handlerUserInfo() {
await nextTick();
this.showedResiInfo = true;
},
changeTotal(val) {
this.total = val.total
},
},
//
components: {leftTop,leftBto,resiInfo},
components: { leftTop, leftBto, resiInfo,rightTop },
//
computed: {},
//

Loading…
Cancel
Save