Browse Source

问题修改

feature
张若晨 2 years ago
parent
commit
3433650327
  1. BIN
      src/assets/images/overview/zanwu.png
  2. 129
      src/views/dataBoard/cpts/details/jmxq.vue
  3. 129
      src/views/dataBoard/cpts/details/smyd.vue
  4. 129
      src/views/dataBoard/cpts/details/xqwmz.vue
  5. 60
      src/views/dataBoard/cpts/details/yxwxfw.vue
  6. 9
      src/views/dataBoard/cpts/family/modules/EnjoyService.vue
  7. 116
      src/views/dataBoard/cpts/family/modules/Family.vue
  8. 20
      src/views/dataBoard/cpts/family/modules/MatterDetails.vue
  9. 119
      src/views/dataBoard/cpts/family/modules/businessTables copy/economize.vue
  10. 2
      src/views/dataBoard/cpts/homeDetails/index.vue
  11. 12
      src/views/dataBoard/cpts/personnel/modules/EnjoyService.vue
  12. 110
      src/views/dataBoard/cpts/personnel/modules/Family.vue
  13. 16
      src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue
  14. 14
      src/views/dataBoard/cpts/personnel/modules/PointsRecord.vue
  15. 14
      src/views/dataBoard/cpts/personnel/modules/businessTables/community.vue
  16. 20
      src/views/dataBoard/cpts/personnel/modules/businessTables/complaint.vue
  17. 19
      src/views/dataBoard/cpts/personnel/modules/businessTables/economize.vue
  18. 14
      src/views/dataBoard/cpts/personnel/modules/businessTables/give-service.vue
  19. 14
      src/views/dataBoard/cpts/personnel/modules/businessTables/reporting-events.vue
  20. 16
      src/views/dataBoard/cpts/personnel/modules/businessTables/resident.vue
  21. 55
      src/views/dataBoard/overview/components/DynamicHumanRoomData.vue
  22. 44
      src/views/dataBoard/overview/components/GridUpdateRanking.vue
  23. 48
      src/views/dataBoard/overview/components/RankingGridData.vue
  24. 53
      src/views/dataBoard/overview/components/sqrfph.vue
  25. 28
      src/views/dataBoard/overview/index.vue
  26. 7
      src/views/dataBoard/overview/resident/index.vue
  27. 2
      src/views/dataBoard/renfang/index.vue
  28. 10
      src/views/dataBoard/renfang/resi/classNew.vue

BIN
src/assets/images/overview/zanwu.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

129
src/views/dataBoard/cpts/details/jmxq.vue

@ -1,6 +1,6 @@
<template>
<el-dialog
width="1118px"
width="818px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
@ -13,7 +13,7 @@
<title-box text="居民需求详情" />
</el-col>
<el-col
:span="13"
:span="23"
style="padding-left: 40px"
v-loading="loading"
element-loading-text="加载中"
@ -70,129 +70,6 @@
</div>
</div>
</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)"
>
<div class="rightEvent m-info">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div v-if="item.logList && item.logList.length > 0">
<!-- <el-card :class="{ 'box-card': source === 'visiual' }" style="min-height: calc(88vh - 50px); overflow: auto"> -->
<div class="m-process">
<div class="list">
<div
class="item"
:class="[index === 0 ? 'z-on' : '']"
:key="item.processId"
v-for="(item, index) in item.logList"
>
<div class="item-row">
<template>
<div class="name">
{{
item.actionCode === "create"
? "创建需求"
: item.actionCode === "update"
? "更新需求"
: item.actionCode === "cancel"
? "撤销需求"
: item.actionCode === "assign"
? "指派"
: item.actionCode === "take_order"
? "接单"
: item.actionCode === "finish"
? "完成"
: item.actionCode === "evaluate"
? "评价"
: ""
}}
</div>
</template>
<div class="date">
{{ item.oprateTime }}
</div>
</div>
<div>
<template v-if="item.actionCode === 'create'">
<div class="detail">
<div class="detail-field">上报人</div>
<div class="detail-value">
{{ item.reportUserName }} {{ item.roleName }}
</div>
</div>
</template>
<template v-if="item.actionCode === 'assign'">
<div class="detail">
<div class="detail-field">办理人</div>
<div class="detail-value">
{{ item.assignUser }}
</div>
</div>
<div class="detail">
<div class="detail-field">指派给服务方</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === "volunteer"
? "志愿者"
: item.serviceType === "social_org"
? "社会组织"
: item.serviceType === "community_org"
? "社区自组织"
: item.serviceType === "party_unit"
? "区域党建单位"
: item.serviceType === "enterprise"
? "企业,商家"
: ""
}}
</div>
</div>
</template>
<template v-if="item.actionCode === 'finish'">
<div class="detail">
<div class="detail-field">服务方</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === "volunteer"
? "志愿者"
: item.serviceType === "social_org"
? "社会组织"
: item.serviceType === "community_org"
? "社区自组织"
: item.serviceType === "party_unit"
? "区域党建单位"
: item.serviceType === "enterprise"
? "企业,商家"
: ""
}}
</div>
</div>
<!-- <div class="detail">
<div class="detail-field">完成时间</div>
<div class="detail-value">
{{ item.assignUser }}
</div>
</div>-->
</template>
</div>
</div>
</div>
</div>
<!-- </el-card> -->
</div>
</div>
</el-col>
</el-row>
</div>
</el-dialog>
@ -285,7 +162,7 @@ export default {
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
width: 818px;
height: 822px;
}

129
src/views/dataBoard/cpts/details/smyd.vue

@ -1,6 +1,6 @@
<template>
<el-dialog
width="1118px"
width="818px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
@ -13,7 +13,7 @@
<title-box text="省满意度调查不满意事项详情" />
</el-col>
<el-col
:span="13"
:span="23"
style="padding-left: 40px"
v-loading="loading"
element-loading-text="加载中"
@ -64,129 +64,6 @@
</div>
</div>
</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)"
>
<div class="rightEvent m-info">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div v-if="item.logList && item.logList.length > 0">
<!-- <el-card :class="{ 'box-card': source === 'visiual' }" style="min-height: calc(88vh - 50px); overflow: auto"> -->
<div class="m-process">
<div class="list">
<div
class="item"
:class="[index === 0 ? 'z-on' : '']"
:key="item.processId"
v-for="(item, index) in item.logList"
>
<div class="item-row">
<template>
<div class="name">
{{
item.actionCode === "create"
? "创建需求"
: item.actionCode === "update"
? "更新需求"
: item.actionCode === "cancel"
? "撤销需求"
: item.actionCode === "assign"
? "指派"
: item.actionCode === "take_order"
? "接单"
: item.actionCode === "finish"
? "完成"
: item.actionCode === "evaluate"
? "评价"
: ""
}}
</div>
</template>
<div class="date">
{{ item.oprateTime }}
</div>
</div>
<div>
<template v-if="item.actionCode === 'create'">
<div class="detail">
<div class="detail-field">上报人</div>
<div class="detail-value">
{{ item.reportUserName }} {{ item.roleName }}
</div>
</div>
</template>
<template v-if="item.actionCode === 'assign'">
<div class="detail">
<div class="detail-field">办理人</div>
<div class="detail-value">
{{ item.assignUser }}
</div>
</div>
<div class="detail">
<div class="detail-field">指派给服务方</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === "volunteer"
? "志愿者"
: item.serviceType === "social_org"
? "社会组织"
: item.serviceType === "community_org"
? "社区自组织"
: item.serviceType === "party_unit"
? "区域党建单位"
: item.serviceType === "enterprise"
? "企业,商家"
: ""
}}
</div>
</div>
</template>
<template v-if="item.actionCode === 'finish'">
<div class="detail">
<div class="detail-field">服务方</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === "volunteer"
? "志愿者"
: item.serviceType === "social_org"
? "社会组织"
: item.serviceType === "community_org"
? "社区自组织"
: item.serviceType === "party_unit"
? "区域党建单位"
: item.serviceType === "enterprise"
? "企业,商家"
: ""
}}
</div>
</div>
<!-- <div class="detail">
<div class="detail-field">完成时间</div>
<div class="detail-value">
{{ item.assignUser }}
</div>
</div>-->
</template>
</div>
</div>
</div>
</div>
<!-- </el-card> -->
</div>
</div>
</el-col>
</el-row>
</div>
</el-dialog>
@ -302,7 +179,7 @@ export default {
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
width: 818px;
max-height: 822px;
}

129
src/views/dataBoard/cpts/details/xqwmz.vue

@ -1,6 +1,6 @@
<template>
<el-dialog
width="1118px"
width="818px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
@ -13,7 +13,7 @@
<title-box text="社区满意度自查不满意事项详情" />
</el-col>
<el-col
:span="13"
:span="23"
style="padding-left: 40px"
v-loading="loading"
element-loading-text="加载中"
@ -64,129 +64,6 @@
</div>
</div>
</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)"
>
<div class="rightEvent m-info">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div v-if="item.logList && item.logList.length > 0">
<!-- <el-card :class="{ 'box-card': source === 'visiual' }" style="min-height: calc(88vh - 50px); overflow: auto"> -->
<div class="m-process">
<div class="list">
<div
class="item"
:class="[index === 0 ? 'z-on' : '']"
:key="item.processId"
v-for="(item, index) in item.logList"
>
<div class="item-row">
<template>
<div class="name">
{{
item.actionCode === "create"
? "创建需求"
: item.actionCode === "update"
? "更新需求"
: item.actionCode === "cancel"
? "撤销需求"
: item.actionCode === "assign"
? "指派"
: item.actionCode === "take_order"
? "接单"
: item.actionCode === "finish"
? "完成"
: item.actionCode === "evaluate"
? "评价"
: ""
}}
</div>
</template>
<div class="date">
{{ item.oprateTime }}
</div>
</div>
<div>
<template v-if="item.actionCode === 'create'">
<div class="detail">
<div class="detail-field">上报人</div>
<div class="detail-value">
{{ item.reportUserName }} {{ item.roleName }}
</div>
</div>
</template>
<template v-if="item.actionCode === 'assign'">
<div class="detail">
<div class="detail-field">办理人</div>
<div class="detail-value">
{{ item.assignUser }}
</div>
</div>
<div class="detail">
<div class="detail-field">指派给服务方</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === "volunteer"
? "志愿者"
: item.serviceType === "social_org"
? "社会组织"
: item.serviceType === "community_org"
? "社区自组织"
: item.serviceType === "party_unit"
? "区域党建单位"
: item.serviceType === "enterprise"
? "企业,商家"
: ""
}}
</div>
</div>
</template>
<template v-if="item.actionCode === 'finish'">
<div class="detail">
<div class="detail-field">服务方</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === "volunteer"
? "志愿者"
: item.serviceType === "social_org"
? "社会组织"
: item.serviceType === "community_org"
? "社区自组织"
: item.serviceType === "party_unit"
? "区域党建单位"
: item.serviceType === "enterprise"
? "企业,商家"
: ""
}}
</div>
</div>
<!-- <div class="detail">
<div class="detail-field">完成时间</div>
<div class="detail-value">
{{ item.assignUser }}
</div>
</div>-->
</template>
</div>
</div>
</div>
</div>
<!-- </el-card> -->
</div>
</div>
</el-col>
</el-row>
</div>
</el-dialog>
@ -316,7 +193,7 @@ export default {
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
width: 818px;
max-height: 822px;
}

60
src/views/dataBoard/cpts/details/yxwxfw.vue

@ -1,6 +1,6 @@
<template>
<el-dialog
width="1118px"
width="818px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
@ -13,7 +13,7 @@
<title-box text="社区服务详情" />
</el-col>
<el-col
:span="13"
:span="23"
style="padding-left: 40px"
v-loading="loading"
element-loading-text="加载中"
@ -71,60 +71,6 @@
</div>
</div>
</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)"
>
<div class="rightEvent m-info">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div v-if="formData.gridIdList.length > 0">
<div class="m-process">
<div class="list">
<div
class="item"
:class="[index === 0 ? 'z-on' : '']"
v-for="(item, index) in formData.gridIdList"
>
<div class="item-row">
<div class="name">{{ item.serviceStatus }}</div>
<div class="date">
{{ item.createdTime }}
</div>
</div>
<div>
<template v-if="item.serviceStatus === '创建服务'">
<div class="detail">
<div class="detail-field">创建人</div>
<div class="detail-value">
{{ item.createdBy }} {{ item.agencyName }}
</div>
</div>
</template>
<template v-else>
<div class="detail">
<div class="detail-field">服务方</div>
<div class="detail-value">
{{ item.objectName }}
</div>
</div>
</template>
</div>
</div>
</div>
</div>
<!-- </el-card> -->
</div>
</div>
</el-col>
</el-row>
</div>
</el-dialog>
@ -258,7 +204,7 @@ export default {
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
width: 818px;
max-height: 822px;
}
/deep/ .el-dialog__body {

9
src/views/dataBoard/cpts/family/modules/EnjoyService.vue

@ -29,12 +29,17 @@ export default {
};
},
created() {
const query = this.$route.query;
this.houseId = query.houseId;
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
methods: {
getList() {
const query = this.$route.query;
this.houseId = query.houseId;
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",

116
src/views/dataBoard/cpts/family/modules/Family.vue

@ -1,16 +1,19 @@
<template>
<div class="family">
<div class="tag" v-for="item in data" :key="item.id">
<div
class="tag"
@click="cheackCrrent(item)"
v-for="item in data"
:key="item.id"
>
<div>
{{ item.name }}
<span v-if="item.houseHolderRel"
>({{ item.houseHolderRel == "本人" ? "户主" : item.houseHolderRel }})
</span>
</div>
<div v-if="item.householdSituation">
入户状态{{ item.householdSituation }}
<div v-if="item.houseHolderRel">
关系{{
item.houseHolderRel == "本人" ? "户主" : item.houseHolderRel
}}
</div>
<div>居民分类{{ getType(item.classificationOfInhabitantsList) }}</div>
</div>
<div style="padding-top: 220px; margin-left: 148px">
<div class="user-name">{{ hzData.name }}</div>
@ -25,50 +28,66 @@ export default {
data() {
return {
data: [],
queryParam: {
type: "1",
},
info: {},
};
},
computed: {
getType() {
return (arr) => {
if (arr.length > 0) {
let txt = "";
arr.forEach((item, index) => {
if (arr.length == index + 1) {
txt = txt + item;
} else {
txt = txt + item + ",";
}
});
return txt;
} else {
return "暂无";
}
};
computed: {},
watch: {
"$route.query"(newVal, oldVal) {
this.getDatas();
},
},
created() {
const query = this.$route.query;
this.queryParam.resid = query.houseId;
this.getDatas();
},
methods: {
getParams(params) {
let paramStr = "";
Object.keys(params).forEach((item) => {
if (paramStr === "") {
paramStr = `${item}=${params[item]}`;
} else {
paramStr = `${paramStr}&${item}=${params[item]}`;
}
});
return paramStr;
},
cheackCrrent(item) {
const params = { ...this.$route.query, user_id: item.id };
this.$router.push(this.$route.path + "?" + this.getParams(params));
},
getDatas() {
this.data = [];
this.info = {};
const query = this.$route.query;
this.$http
.post(
"/actual/base/peopleRoomOverview/getFamilyRelationshipList?type=1&resid=" +
this.queryParam.resid
query.houseId
)
.then(({ data: res }) => {
const data = res.data;
this.data = data;
this.hzData = data.filter((item) => item.houseHolderRel == "本人")[0];
const arr = data.filter((item) => item.houseHolderRel == "本人");
this.hzData = arr.length > 0 ? arr[0] : {};
this.$emit("setJuminData", data);
});
},
getType(arr) {
if (arr.length > 0) {
let txt = "";
arr.forEach((item, index) => {
if (arr.length == index + 1) {
txt = txt + item;
} else {
txt = txt + item + ",";
}
});
return txt;
} else {
return "暂无";
}
},
// getUserInfo() {
// this.$http
// .post(
@ -105,37 +124,56 @@ export default {
width: 180px;
min-height: 80px;
&:nth-of-type(1) {
left: -24px;
left: -14px;
top: -24px;
}
&:nth-of-type(2) {
right: -24px;
right: -14px;
top: -24px;
}
&:nth-of-type(3) {
left: -24px;
bottom: -20px;
bottom: -40px;
}
&:nth-of-type(4) {
right: -24px;
top: 274px;
top: 294px;
}
&:nth-of-type(5) {
left: -94px;
top: 74px;
top: 58px;
}
&:nth-of-type(6) {
right: -94px;
top: 74px;
top: 58px;
}
&:nth-of-type(7) {
left: -124px;
top: 174px;
top: 134px;
}
&:nth-of-type(8) {
right: -124px;
top: 174px;
top: 134px;
}
&:nth-of-type(9) {
left: -104px;
top: 214px;
}
&:nth-of-type(10) {
right: -104px;
top: 214px;
}
&:nth-of-type(11) {
right: 144px;
bottom: -60px;
}
&:nth-of-type(12) {
right: 144px;
top: -44px;
}
}
.tag:hover {
cursor: pointer;
}
.user-name {
width: 174px;

20
src/views/dataBoard/cpts/family/modules/MatterDetails.vue

@ -15,7 +15,7 @@
{{ item.tagName }}
</div>
</div>
<!-- <div class="jtxxdz">四季景园1号楼1单元101</div>-->
<!-- <div class="jtxxdz">四季景园1号楼1单元101</div>-->
</div>
</template>
@ -31,19 +31,25 @@ export default {
},
created() {
const query = this.$route.query;
this.queryParams.houseId = query.houseId;
this.getDatas();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getDatas();
},
},
methods: {
getDatas() {
this.data = [];
const query = this.$route.query;
this.$http
.get(
"/actual/base/peopleRoomOverview/getHouseTag?houseId=" +
this.queryParams.houseId
"/actual/base/peopleRoomOverview/getHouseTag?houseId=" + query.houseId
)
.then(({ data: res }) => {
this.data = res.data;
if (res.code == 0) {
this.data = res.data;
}
});
},
},
@ -61,7 +67,7 @@ export default {
color: #ffffff !important;
line-height: 32px;
position: absolute;
top:370px;
top: 370px;
left: 0;
}
.matter-details {

119
src/views/dataBoard/cpts/family/modules/businessTables copy/economize.vue

@ -1,119 +0,0 @@
<template>
<div class="table">
<el-table :data="list" 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>
<smyd :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import smyd from "@/views/dataBoard/cpts/details/smyd.vue";
export default {
name: "economize",
components: {
smyd,
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http
.post("/actual/base/peopleRoomOverview/provincialSatisfactionPageList", this.queryParams)
.then(({ data: res }) => {
this.list = res.data;
this.total = res.data.length;
this.$emit("changeTotal", { name: 1, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

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

@ -69,7 +69,7 @@
</el-table-column>
<el-table-column label="操作" width="90" align="center">
<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 + '&houseId=' + row.id + '&id=' + $route.query.id + '&name2=' + (homeText ? homeText : ''))">查看</el-button>
</template>
</el-table-column>
</el-table>

12
src/views/dataBoard/cpts/personnel/modules/EnjoyService.vue

@ -25,14 +25,22 @@ export default {
nameArr: ["岗位找人", "技能找人", "温暖找人", "服务找人"],
};
},
created() {
activated() {
this.getData();
},
watch: {
"$route.query"(newVal, oldVal) {
if (newVal.user_id != oldVal.user_id) {
this.getDatas();
}
},
},
mounted() {},
methods: {
getData() {
const id = this.$route.query.user_id;
this.$http
.get("/actual/base/peopleRoomOverview/serviceNumber")
.get("/actual/base/peopleRoomOverview/serviceNumber?resid=" + id)
.then(({ data: res }) => {
this.dataArr = dataFormatter(res.data);
this.nameArr = dataFormatter1(res.data);

110
src/views/dataBoard/cpts/personnel/modules/Family.vue

@ -1,21 +1,22 @@
<template>
<div class="family">
<div class="tag" v-for="item in data" :key="item.id">
<div
class="tag"
@click="cheackCrrent(item)"
v-for="item in data"
:key="item.id"
>
<div>
{{ item.name }}
<span v-if="item.houseHolderRel"
>({{ item.houseHolderRel == "本人" ? "户主" : item.houseHolderRel }})
</span>
</div>
<div v-if="item.householdSituation">
入户状态{{ item.householdSituation }}
<div v-if="item.houseHolderRel">
关系{{ item.houseHolderRel == "本人" ? "户主" : item.houseHolderRel }}
</div>
<div>居民分类{{ getType(item.classificationOfInhabitantsList) }}</div>
</div>
<div style="padding-top: 220px; margin-left: 148px">
<div class="user-name">{{ info.name }}</div>
<div class="user-gx" v-if="info.houseHolderRel">
{{ info.houseHolderRel == "本人" ? "户主" : info.houseHolderRel }}
户主
</div>
</div>
</div>
@ -48,13 +49,38 @@ export default {
};
},
},
created() {
activated() {
const query = this.$route.query;
this.queryParam.resid = query.user_id;
this.data = [];
this.getDatas();
this.getUserInfo();
},
watch: {
"$route.query"(newVal, oldVal) {
const query = this.$route.query;
this.queryParam.resid = query.user_id;
this.data = [];
this.info = {};
this.getDatas();
},
},
// this.$route.query.path
methods: {
getParams(params) {
let paramStr = "";
Object.keys(params).forEach((item) => {
if (paramStr === "") {
paramStr = `${item}=${params[item]}`;
} else {
paramStr = `${paramStr}&${item}=${params[item]}`;
}
});
return paramStr;
},
cheackCrrent(item) {
const params = { ...this.$route.query, user_id: item.id };
this.$router.push(this.$route.path + "?" + this.getParams(params));
},
getDatas() {
this.$http
.post(
@ -63,20 +89,25 @@ export default {
this.queryParam
)
.then(({ data: res }) => {
this.data = res.data;
});
},
getUserInfo() {
this.$http
.post(
"/actual/base/peopleRoomOverview/getPersonalFile?resid=" +
this.queryParam.resid,
this.queryParam
)
.then(({ data: res }) => {
this.info = res.data;
if (res.code == 0) {
const data = res.data;
this.data = data;
const arr = data.filter((item) => item.houseHolderRel == "本人");
this.info = arr.length > 0 ? arr[0] : {};
}
});
},
// getUserInfo() {
// this.$http
// .post(
// "/actual/base/peopleRoomOverview/getPersonalFile?resid=" +
// this.queryParam.resid,
// this.queryParam
// )
// .then(({ data: res }) => {
// this.info = res.data;
// });
// },
},
};
</script>
@ -102,37 +133,56 @@ export default {
width: 180px;
min-height: 80px;
&:nth-of-type(1) {
left: -24px;
left: -14px;
top: -24px;
}
&:nth-of-type(2) {
right: -24px;
right: -14px;
top: -24px;
}
&:nth-of-type(3) {
left: -24px;
bottom: -20px;
bottom: -40px;
}
&:nth-of-type(4) {
right: -24px;
top: 274px;
top: 294px;
}
&:nth-of-type(5) {
left: -94px;
top: 74px;
top: 58px;
}
&:nth-of-type(6) {
right: -94px;
top: 74px;
top: 58px;
}
&:nth-of-type(7) {
left: -124px;
top: 174px;
top: 134px;
}
&:nth-of-type(8) {
right: -124px;
top: 174px;
top: 134px;
}
&:nth-of-type(9) {
left: -104px;
top: 214px;
}
&:nth-of-type(10) {
right: -104px;
top: 214px;
}
&:nth-of-type(11) {
right: 144px;
bottom: -60px;
}
&:nth-of-type(12) {
right: 144px;
top: -44px;
}
}
.tag:hover {
cursor: pointer;
}
.user-name {
width: 174px;

16
src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue

@ -38,10 +38,18 @@ export default {
genderArr: ["未知", "男", "女"],
};
},
created() {
watch: {
"$route.query"(newVal, oldVal) {
const query = this.$route.query;
this.queryParams.resid = query.user_id;
this.data = {};
this.getDatas();
},
},
activated() {
const query = this.$route.query;
this.queryParams.resid = query.user_id;
this.data = {};
this.getDatas();
},
methods: {
@ -53,7 +61,9 @@ export default {
this.queryParams
)
.then(({ data: res }) => {
this.data = res.data;
if (res.code == 0) {
this.data = res.data;
}
});
},
},

14
src/views/dataBoard/cpts/personnel/modules/PointsRecord.vue

@ -17,18 +17,26 @@ export default {
name: "PointsRecord",
data() {
return {
data:[],
data: [],
};
},
created() {
activated() {
this.getData();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getDatas();
},
},
methods: {
getData() {
this.data = [];
this.$http
.get("/actual/base/peopleRoomOverview/recorHistory")
.then(({ data: res }) => {
this.data = res.data;
if (res.code == 0) {
this.data = res.data;
}
});
},
},

14
src/views/dataBoard/cpts/personnel/modules/businessTables/community.vue

@ -34,14 +34,22 @@ export default {
showDialog: false,
};
},
created() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
activated() {
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
mounted() {},
methods: {
getList() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.list = [];
this.total = 0;
this.$emit("changeTotal", { name: 2, total: 0 });
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",

20
src/views/dataBoard/cpts/personnel/modules/businessTables/complaint.vue

@ -13,11 +13,7 @@
</template>
</el-table-column>
</el-table>
<eventDetails
:showDialog="showDialog"
:id="this.rowId"
@close="close"
/>
<eventDetails :showDialog="showDialog" :id="this.rowId" @close="close" />
<Pagination
v-show="total > 0"
:total="total"
@ -50,11 +46,14 @@ export default {
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
activated() {
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
methods: {
handleView(row) {
this.rowId = row.id;
@ -64,6 +63,11 @@ export default {
this.showDialog = false;
},
getList() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.list = [];
this.total = 0;
this.$emit("changeTotal", { name: 0, total: 0 });
//
const statusArr = {
processing: "处理中",

19
src/views/dataBoard/cpts/personnel/modules/businessTables/economize.vue

@ -35,11 +35,14 @@ export default {
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
activated() {
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
methods: {
handleView(row) {
this.rowId = row.id;
@ -49,9 +52,17 @@ export default {
this.showDialog = false;
},
getList() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.list = [];
this.total = 0;
this.$emit("changeTotal", { name: 1, total: 0 });
//
this.$http
.post("/actual/base/peopleRoomOverview/provincialSatisfactionPageList", this.queryParams)
.post(
"/actual/base/peopleRoomOverview/provincialSatisfactionPageList",
this.queryParams
)
.then(({ data: res }) => {
this.list = res.data;
this.total = res.data.length;

14
src/views/dataBoard/cpts/personnel/modules/businessTables/give-service.vue

@ -35,13 +35,21 @@ export default {
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
activated() {
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
methods: {
getList() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.list = [];
this.total = 0;
this.$emit("changeTotal", { name: 5, total: 0 });
//
this.$http
.post(

14
src/views/dataBoard/cpts/personnel/modules/businessTables/reporting-events.vue

@ -44,11 +44,14 @@ export default {
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
activated() {
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
methods: {
handleView(row) {
this.rowId = row.id;
@ -58,6 +61,11 @@ export default {
this.showDialog = false;
},
getList() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.list = [];
this.total = 0;
this.$emit("changeTotal", { name: 3, total: 0 });
//
const statusArr = {
processing: "处理中",

16
src/views/dataBoard/cpts/personnel/modules/businessTables/resident.vue

@ -20,7 +20,7 @@
import jmxq from "@/views/dataBoard/cpts/details/jmxq.vue";
export default {
name: "complaint",
components:{
components: {
jmxq,
},
data() {
@ -34,11 +34,14 @@ export default {
showDialog: false,
};
},
created() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
activated() {
this.getList();
},
watch: {
"$route.query"(newVal, oldVal) {
this.getList();
},
},
mounted() {},
methods: {
handleView(row) {
@ -49,6 +52,11 @@ export default {
this.showDialog = false;
},
getList() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.list = [];
this.total = 0;
this.$emit("changeTotal", { name: 4, total: 0 });
//
this.$http
.post(

55
src/views/dataBoard/overview/components/DynamicHumanRoomData.vue

@ -1,6 +1,6 @@
<template>
<div class="dhrd">
<div class="dhrd-list">
<div v-if="list.length > 0" class="dhrd-list">
<!-- <div class="dhrd-item">
<div class="time blue">
刚刚
@ -11,15 +11,37 @@
修改了新苑小区**的居民信息的居民信息的居民信息
</div>
</div>-->
<div class="dhrd-item" v-for="(item, index) in list" :key="index">
<div class="time">
{{ $moment(item.changeTime).format("HH:mm") }}
<div style="overflow: hidden">
<div ref="animation">
<div class="dhrd-item" v-for="(item, index) in list" :key="index">
<div class="time">
{{ $moment(item.changeTime).format("HH:mm") }}
</div>
<div class="title">{{ item.orgName }}</div>
<!-- <div class="name">{{item.orgName}}</div>-->
<div class="address">{{ item.content }}</div>
</div>
<div v-if="list.length > 4">
<div class="dhrd-item" v-for="(item, index) in list" :key="index">
<div class="time">
{{ $moment(item.changeTime).format("HH:mm") }}
</div>
<div class="title">{{ item.orgName }}</div>
<!-- <div class="name">{{item.orgName}}</div>-->
<div class="address">{{ item.content }}</div>
</div>
</div>
</div>
<div class="title">{{ item.orgName }}</div>
<!-- <div class="name">{{item.orgName}}</div>-->
<div class="address">{{ item.content }}</div>
</div>
</div>
<div v-else style="width: 100%; height: 100%; text-align: center;padding-top: 20px;">
<img
width="268px"
height="128px"
src="~@/assets/images/overview/zanwu.png"
/>
<div class="zanwuText">近3日暂无更新</div>
</div>
</div>
</template>
@ -61,6 +83,18 @@ export default {
)
.then(({ data: { data } }) => {
this.list = data;
if (this.list.length > 4) {
this.$nextTick(() => {
const aniHeight =
this.$refs.animation.querySelector(".tr").offsetHeight *
this.pmList.length;
this.$refs.animation.style.animation = "move 10s linear infinite";
document.styleSheets[0].insertRule(
`@keyframes move{0% {transform: translateY(0px);}100% {transform: translateY(-${aniHeight}px);}`,
0
);
});
}
});
},
},
@ -72,6 +106,13 @@ export default {
.dhrd {
padding: 0 16px 20px;
}
.zanwuText {
margin-top: -34px;
font-size: 14px;
font-family: PingFang SC;
font-weight: 500;
color: #a3b9da;
}
.dhrd-list {
height: 140px;
overflow-y: auto;

44
src/views/dataBoard/overview/components/GridUpdateRanking.vue

@ -8,14 +8,32 @@
<div class="th">人口更新数</div>
<div class="th">人房更新总数</div>
</div>
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
<div style="overflow: hidden">
<div ref="animation">
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
<!-- 无缝滚动 -->
<div v-if="pmList.length > 3">
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div
:class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"
>
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
</div>
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
</div>
</div>
@ -65,6 +83,18 @@ export default {
)
.then(({ data: { data } }) => {
this.pmList = data;
if (this.pmList.length > 3) {
this.$nextTick(() => {
const aniHeight =
this.$refs.animation.querySelector(".tr").offsetHeight *
this.pmList.length;
this.$refs.animation.style.animation = "move 10s linear infinite";
document.styleSheets[0].insertRule(
`@keyframes move{0% {transform: translateY(0px);}100% {transform: translateY(-${aniHeight}px);}`,
0
);
});
}
});
},
},

48
src/views/dataBoard/overview/components/RankingGridData.vue

@ -15,14 +15,32 @@
<div class="th">人口更新数</div>
<div class="th">人房更新总数</div>
</div>
<div class="tr" v-for="item in pmList" :key="item.rank">
<div :class="item.rank < 4 ? `td tdbg${item.rank}` : 'td'">
{{ item.rank }}
<div style="overflow: hidden">
<div ref="animation">
<div class="tr" v-for="item in pmList" :key="item.rank">
<div :class="item.rank < 4 ? `td tdbg${item.rank}` : 'td'">
{{ item.rank }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
<!-- 无缝滚动 -->
<div v-if="pmList.length > 9">
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div
:class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"
>
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
</div>
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
</div>
</div>
@ -80,6 +98,19 @@ export default {
if (self) {
this.self = self;
}
if (this.pmList.length > 9) {
this.$nextTick(() => {
const aniHeight =
this.$refs.animation.querySelector(".tr").offsetHeight *
this.pmList.length;
this.$refs.animation.style.animation =
"move 10s linear infinite";
document.styleSheets[0].insertRule(
`@keyframes move{0% {transform: translateY(0px);}100% {transform: translateY(-${aniHeight}px);}`,
0
);
});
}
}
});
},
@ -89,6 +120,9 @@ export default {
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped />
<style scoped lang="scss">
.m-sqrfph {
height: 500px !important;
}
.rank {
font-size: 16px;
font-weight: 400;

53
src/views/dataBoard/overview/components/sqrfph.vue

@ -22,7 +22,9 @@
<!-- 无缝滚动 -->
<div v-if="pmList.length > 7">
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
<div
:class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"
>
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
@ -72,28 +74,37 @@ export default {
},
methods: {
getList(item) {
this.$http.get("/actual/base/streetOverview/residentHouseUpdateGroup?month=" + this.date + "&level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => {
this.pmList = data;
if (this.pmList.length > 7) {
this.$nextTick(() => {
const aniHeight = this.$refs.animation.querySelector(".tr").offsetHeight * this.pmList.length;
this.$refs.animation.style.animation = "move 10s linear infinite";
document.styleSheets[0].insertRule(
`@keyframes move{0% {
transform: translateY(0px);
}
100% {
transform: translateY(-${aniHeight}px);
}`,
0
);
});
}
});
this.$http
.get(
"/actual/base/streetOverview/residentHouseUpdateGroup?month=" +
this.date +
"&level=" +
item.orgLevel +
"&orgId=" +
item.orgId
)
.then(({ data: { data } }) => {
this.pmList = data;
if (this.pmList.length > 7) {
this.$nextTick(() => {
const aniHeight =
this.$refs.animation.querySelector(".tr").offsetHeight *
this.pmList.length;
this.$refs.animation.style.animation = "move 10s linear infinite";
document.styleSheets[0].insertRule(
`@keyframes move{0% {transform: translateY(0px);}100% {transform: translateY(-${aniHeight}px);}`,
0
);
});
}
});
},
},
};
</script>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>
<style
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>

28
src/views/dataBoard/overview/index.vue

@ -60,12 +60,27 @@
</div>
<!-- 社区&网格-->
<div v-if="currentLevel === 'community' || currentLevel === 'grid'" class="m-box">
<title-box text="人房数据动态更新"/>
<Tabs v-model="dynamicType" :list="dynamicTypeList" v-if="currentLevel === 'community'"
@changeVal="dynamicTypeChange"/>
<DynamicHumanRoomData :currentLevelData="currentLevelData" v-if="dynamicType === 1"/>
<GridUpdateRanking :currentLevelData="currentLevelData" v-if="dynamicType === 2"/>
<div
v-if="currentLevel === 'community' || currentLevel === 'grid'"
class="m-box"
>
<title-box text="人房数据动态更新" />
<Tabs
v-model="dynamicType"
:list="dynamicTypeList"
v-if="currentLevel === 'community'"
@changeVal="dynamicTypeChange"
/>
<DynamicHumanRoomData
:currentLevelData="currentLevelData"
:currentLevel="currentLevel"
v-if="dynamicType === 1"
/>
<GridUpdateRanking
:currentLevelData="currentLevelData"
:currentLevel="currentLevel"
v-if="dynamicType === 2"
/>
</div>
<!-- 社区概览-->
<div v-if="currentLevel === 'community'" class="m-box">
@ -472,7 +487,6 @@ export default {
cursor: pointer;
}
}
.date-current-weiyi {
background: #000;
}

7
src/views/dataBoard/overview/resident/index.vue

@ -31,7 +31,6 @@ export default {
},
},
{
path: "/dataBoard/renfang/resident",
meta: {
title: "居民画像",
},
@ -39,7 +38,11 @@ export default {
],
};
},
watch: {
breadList(val) {
console.log("val::", val);
},
},
mounted() {},
watch: {},
methods: {

2
src/views/dataBoard/renfang/index.vue

@ -104,7 +104,7 @@
</div>
</div>
</div>
<div class="item" @click="jumpPath('normal', 'aged', '月更新率')">
<div class="item">
<div class="item-info">
<div>
<img

10
src/views/dataBoard/renfang/resi/classNew.vue

@ -542,9 +542,9 @@ export default {
this.pageNo = 1;
},
watch: {
$route(to, from) {
// this.$router.go(0);
},
// $route(to, from) {
// this.$router.go(0);
// },
oldVal: {
handler(newVal, oldVal) {
this.pageNo = 1;
@ -630,8 +630,8 @@ export default {
item.name ? item.name : "--",
item.gridName ? item.gridName : "--",
item.fullName ? item.fullName : "--",
item.mobile ? item.mobile : "--",
item.idNum ? item.idNum : "--",
item.mobile ? $sensitive(item.mobile, 3, 7) : "--",
item.idNum ? $sensitive(item.idNum, 6, 16) : "--",
item.gender ? gender[item.gender] : "--",
item.birthday ? item.birthday : "--",
{ type: "operate", list: ["查看"] },

Loading…
Cancel
Save