Browse Source

Merge remote-tracking branch 'origin/jw_feature_dev' into jw_feature_zhanlibiao

# Conflicts:
#	src/views/dataBoard/overview/components/jdwgy.vue
V1.0
战立标 3 years ago
parent
commit
daa2d1b023
  1. 378
      src/views/dataBoard/cpts/details/jmxq.vue
  2. 393
      src/views/dataBoard/cpts/details/smyd.vue
  3. 407
      src/views/dataBoard/cpts/details/xqwmz.vue
  4. 320
      src/views/dataBoard/cpts/details/yxwxfw.vue
  5. 16
      src/views/dataBoard/cpts/family/modules/businessTables/community.vue
  6. 6
      src/views/dataBoard/cpts/family/modules/businessTables/complaint.vue
  7. 15
      src/views/dataBoard/cpts/family/modules/businessTables/economize.vue
  8. 16
      src/views/dataBoard/cpts/family/modules/businessTables/give-service.vue
  9. 16
      src/views/dataBoard/cpts/family/modules/businessTables/reporting-events.vue
  10. 16
      src/views/dataBoard/cpts/family/modules/businessTables/resident.vue
  11. 10
      src/views/dataBoard/cpts/homeDetails/index.vue
  12. 16
      src/views/dataBoard/cpts/personnel/modules/businessTables/community.vue
  13. 2
      src/views/dataBoard/cpts/personnel/modules/businessTables/complaint.vue
  14. 16
      src/views/dataBoard/cpts/personnel/modules/businessTables/economize.vue
  15. 21
      src/views/dataBoard/cpts/personnel/modules/businessTables/give-service.vue
  16. 2
      src/views/dataBoard/cpts/personnel/modules/businessTables/reporting-events.vue
  17. 16
      src/views/dataBoard/cpts/personnel/modules/businessTables/resident.vue
  18. 8
      src/views/dataBoard/organizational/index.vue
  19. 11
      src/views/dataBoard/overview/components/jdwgy.vue
  20. 5
      src/views/dataBoard/overview/components/map-top.vue
  21. 2
      src/views/dataBoard/renfang/index.vue

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

@ -0,0 +1,378 @@
<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.gridName }}</span>
</div>
<div class="eventItem">
<span>上报渠道</span>
<span>{{ item.reportTypeName }}</span>
</div>
<div class="eventItem">
<span>需求类型</span>
<span>{{ item.categoryName }}</span>
</div>
<div class="eventItem">
<span>上报时间</span>
<span>{{
item.reportTime
}}</span>
</div>
<div class="eventItem">
<div>需求描述</div>
<div style="margin-top: 20px">{{ item.locationDetail }}</div>
</div>
<div class="eventItem">
<span>需求人姓名</span>
<span>{{ item.demandUserName }}</span>
</div>
<div class="eventItem">
<span>需求人电话</span>
<span>{{ item.demandUserMobile }}</span>
</div>
<div class="eventItem">
<span>完成时限</span>
<span>{{ item.wantServiceTime }}</span>
</div>
<div class="eventItem">
<span>需求人住址</span>
<span>{{ item.serviceAddress }}</span>
</div>
<div class="eventItem">
<span>上报人</span>
<span>{{ item.reportUserName }}</span>
</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>
</template>
<script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "ReportAnEvent",
components: {
titleBox,
},
props: {
id: {
type: String,
default: "",
},
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
item: {
logList: [],
},
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;
let params = {
demandRecId: id,
};
this.$http
.post("/governance/userdemand/demandDetail", params)
.then((res) => {
this.loading = false;
const { code, data, msg } = res.data;
if (code === 0) {
this.item = data;
} else {
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";
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
height: 822px;
}
/deep/ .el-dialog__body {
padding: 0 20px 30px;
}
/deep/ .el-dialog__header {
border: 0 !important;
}
/deep/ .el-dialog__headerbtn {
top: 24px;
right: 32px;
.el-dialog__close {
color: #ffffff;
font-weight: 600;
}
}
@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>

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

@ -0,0 +1,393 @@
<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.agencyName }}</span>
</div>
<div class="eventItem">
<span>不满意事项来源</span>
<span>省满意度调查</span>
</div>
<div class="eventItem">
<span>不满意事项类型</span>
<span>{{ item.scopeId && getSxType(item.scopeId) }}</span>
</div>
<div class="eventItem">
<span>所属月份</span>
<span>{{
item.createdTime && getMonthData(item.createdTime)
}}</span>
</div>
<div class="eventItem">
<div>不满意事项描述</div>
<div style="margin-top: 20px">{{ item.problemDesc }}</div>
</div>
<div class="eventItem">
<span>提交人姓名</span>
<span>{{ item.name }}</span>
</div>
<div class="eventItem">
<span>提交人电话</span>
<span>{{ item.mobile }}</span>
</div>
<div class="eventItem">
<span>完成时限</span>
<span>{{ item.completeTime }}</span>
</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>
</template>
<script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "ReportAnEvent",
components: {
titleBox,
},
props: {
id: {
type: String,
default: "",
},
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
item: {
logList: [],
},
loading: false,
loading1: false,
activities: [],
//
satisfactionCategoryOptions: [],
};
},
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");
},
getSxType(value) {
if (this.satisfactionCategoryOptions.length > 0 && value) {
return this.satisfactionCategoryOptions.filter(
(item) => item.value == value
)[0].label;
}
return "";
},
getMonthData(time) {
if (time) {
return this.$moment(time).format("YYYY年MM月");
}
return "";
},
getDetailsData(id) {
this.loading = true;
this.$http
.post("/governance/provinceEvaluationRecord/" + id)
.then((res) => {
this.loading = false;
const { code, data, msg } = res.data;
if (code === 0) {
this.item = data;
} else {
this.$message.error(msg);
}
});
this.$http
.get(
"/governance/satisfactionDetailList/getUnsatisfiedCategory?satisfactionSource="
)
.then(({ data: { data } }) => {
this.satisfactionCategoryOptions = data.map((item) => {
return {
label: item.categoryName,
value: item.categoryCode,
};
});
});
},
},
};
</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";
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
max-height: 822px;
}
/deep/ .el-dialog__body {
padding: 0 20px 30px;
}
/deep/ .el-dialog__header {
border: 0 !important;
}
/deep/ .el-dialog__headerbtn {
top: 24px;
right: 32px;
.el-dialog__close {
color: #ffffff;
font-weight: 600;
}
}
@mixin fontStyle {
color: #fff !important;
font-size: 14px !important;
}
.eventWrap {
width: 1094px;
max-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>

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

@ -0,0 +1,407 @@
<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.agencyName }}</span>
</div>
<div class="eventItem">
<span>不满意事项来源</span>
<span>社区意度自查</span>
</div>
<div class="eventItem">
<span>不满意事项类型</span>
<span>{{ item.scopeId && getSxType(item.scopeId) }}</span>
</div>
<div class="eventItem">
<span>所属月份</span>
<span>{{
item.createdTime && getMonthData(item.createdTime)
}}</span>
</div>
<div class="eventItem">
<div>不满意事项描述</div>
<div style="margin-top: 20px">{{ item.problemDesc }}</div>
</div>
<div class="eventItem">
<span>提交人姓名</span>
<span>{{ item.reporterName }}</span>
</div>
<div class="eventItem">
<span>提交人电话</span>
<span>{{ item.reporterMobile }}</span>
</div>
<div class="eventItem">
<span>完成时限</span>
<span>{{ item.completeTime }}</span>
</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>
</template>
<script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "ReportAnEvent",
components: {
titleBox,
},
props: {
id: {
type: String,
default: "",
},
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
item: {
logList: [],
},
loading: false,
loading1: false,
activities: [],
//
satisfactionCategoryOptions: [],
};
},
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");
},
getSxType(value) {
if (this.satisfactionCategoryOptions.length > 0 && value) {
return this.satisfactionCategoryOptions.filter(
(item) => item.value == value
)[0].label;
}
return "";
},
getMonthData(time) {
if (time) {
return this.$moment(time).format("YYYY年MM月");
}
return "";
},
getDetailsData(id) {
this.loading = true;
this.$http
.get(
"/governance/satisfaction/communitySelfInsp/inspResult/detail/" + id
)
.then((res) => {
this.loading = false;
const { code, data, msg } = res.data;
if (code === 0) {
this.item = {...data.reporter,...data.satisfaction};
} else {
this.$message.error(msg);
}
});
// this.$http
// .post("/governance/provinceEvaluationRecord/" + id)
// .then((res) => {
// this.loading = false;
// const { code, data, msg } = res.data;
// if (code === 0) {
// this.item = data;
// } else {
// this.$message.error(msg);
// }
// });
this.$http
.get(
"/governance/satisfactionDetailList/getUnsatisfiedCategory?satisfactionSource="
)
.then(({ data: { data } }) => {
this.satisfactionCategoryOptions = data.map((item) => {
return {
label: item.categoryName,
value: item.categoryCode,
};
});
});
},
},
};
</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";
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
max-height: 822px;
}
/deep/ .el-dialog__body {
padding: 0 20px 30px;
}
/deep/ .el-dialog__header {
border: 0 !important;
}
/deep/ .el-dialog__headerbtn {
top: 24px;
right: 32px;
.el-dialog__close {
color: #ffffff;
font-weight: 600;
}
}
@mixin fontStyle {
color: #fff !important;
font-size: 14px !important;
}
.eventWrap {
width: 1094px;
max-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>

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

@ -0,0 +1,320 @@
<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>{{ formData.principalName }}</span>
</div>
<div class="eventItem">
<span>服务类型</span>
<span>{{
formData.customerId && getFwType(formData.customerId)
}}</span>
</div>
<div class="eventItem">
<span>服务事项</span>
<span>{{ formData.serviceName }}</span>
</div>
<div class="eventItem">
<span>服务时间</span>
<span
>{{ formData.serviceTimeStart }} ~
{{ formData.serviceTimeEnd }}</span
>
</div>
<div class="eventItem">
<div>服务内容</div>
<div style="margin-top: 20px">{{ formData.remark }}</div>
</div>
<div class="eventItem">
<span>经办人</span>
<span>{{ formData.principalName }}</span>
</div>
<div class="eventItem">
<span>联系电话</span>
<span>{{ formData.principalContact }}</span>
</div>
<div class="eventItem">
<span>服务方</span>
<span>{{ formData.principalName }}</span>
</div>
<div class="eventItem">
<span>政策依据</span>
<span>{{ formData.policyTitle }}</span>
</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>
</template>
<script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "ReportAnEvent",
components: {
titleBox,
},
props: {
id: {
type: String,
default: "",
},
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
item: {},
loading: false,
loading1: false,
activities: [],
zuziTypes: {
community_org: "社区自组织",
ic_user_volunteer: "志愿者",
party_unit: "联建单位",
ommunity_org: "",
},
//
serviceStatusList: {
in_service: "服务中",
completed: "已完成",
},
//
serviceTypesLevel1: [],
};
},
computed: {},
watch: {
showDialog: {
handler(val) {
if (val) {
this.getDetailsData(this.id);
}
},
immediate: true,
},
},
mounted() {
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
console.log("this.serviceTypesLevel1::", this.serviceTypesLevel1);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
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");
},
getFwType(value) {
if (this.serviceTypesLevel1.length > 0 && value) {
return this.serviceTypesLevel1.filter(
(item) => item.customerId == value
)[0].name;
}
return "";
},
getDetailsData(id) {
this.loading = true;
this.$http
.post("/governance/icServiceRecordV2/detail", {
serviceRecordId: id,
})
.then((res) => {
const { code, data, msg } = res.data;
if (code === 0) {
this.formData = 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";
/deep/ .el-dialog {
background: url(~@/assets/images/manyidu/dialog-bg.png);
background-size: 100% 100%;
width: 1118px;
max-height: 822px;
}
/deep/ .el-dialog__body {
padding: 0 20px 30px;
}
/deep/ .el-dialog__header {
border: 0 !important;
}
/deep/ .el-dialog__headerbtn {
top: 24px;
right: 32px;
.el-dialog__close {
color: #ffffff;
font-weight: 600;
}
}
@mixin fontStyle {
color: #fff !important;
font-size: 14px !important;
}
.eventWrap {
width: 1094px;
max-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>

16
src/views/dataBoard/cpts/family/modules/businessTables/community.vue

@ -8,16 +8,21 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<xqwmz :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import xqwmz from "@/views/dataBoard/cpts/details/xqwmz.vue";
export default {
name: "community",
components: {
xqwmz,
},
props: {
juminArr: {
type: Array,
@ -31,6 +36,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
watch: {
@ -44,6 +51,13 @@ export default {
},
},
methods: {
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
// (-2-1访0访/访1访)
const completeFlags = {

6
src/views/dataBoard/cpts/family/modules/businessTables/complaint.vue

@ -9,7 +9,7 @@
<el-table-column label="标记" prop="marktype" width="" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
@ -48,6 +48,8 @@ export default {
rowId: null,
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
watch: {
@ -62,7 +64,7 @@ export default {
},
methods: {
handleView(row) {
this.rowId = "1552950312263405569"; //row.id;
this.rowId = row.id;
this.showDialog = true;
},
close() {

15
src/views/dataBoard/cpts/family/modules/businessTables/economize.vue

@ -8,7 +8,7 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
@ -16,8 +16,12 @@
</template>
<script>
import smyd from "@/views/dataBoard/cpts/details/smyd.vue";
export default {
name: "economize",
components: {
smyd,
},
props: {
juminArr: {
type: Array,
@ -31,6 +35,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
watch: {
@ -44,6 +50,13 @@ export default {
},
},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http

16
src/views/dataBoard/cpts/family/modules/businessTables/give-service.vue

@ -8,16 +8,21 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<yxwxfw :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import yxwxfw from "@/views/dataBoard/cpts/details/yxwxfw.vue";
export default {
name: "give-service",
components: {
yxwxfw,
},
props: {
juminArr: {
type: Array,
@ -31,6 +36,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
watch: {
@ -44,6 +51,13 @@ export default {
},
},
methods: {
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http

16
src/views/dataBoard/cpts/family/modules/businessTables/reporting-events.vue

@ -8,7 +8,7 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
@ -19,12 +19,17 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<eventDetails :showDialog="showDialog" :id="this.rowId" @close="close" />
</div>
</template>
<script>
import eventDetails from "../../../event-details.vue";
export default {
name: "reporting-events",
components: {
eventDetails,
},
props: {
juminArr: {
type: Array,
@ -40,6 +45,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
watch: {
@ -53,6 +60,13 @@ export default {
},
},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
const statusArr = {

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

@ -8,16 +8,21 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<jmxq :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import jmxq from "@/views/dataBoard/cpts/details/jmxq.vue";
export default {
name: "complaint",
components:{
jmxq,
},
props: {
juminArr: {
type: Array,
@ -31,6 +36,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
watch: {
@ -44,6 +51,13 @@ export default {
},
},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http

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

@ -294,7 +294,7 @@ export default {
}
.bg {
margin-bottom: 50px;
margin-bottom: 0px;
background: linear-gradient(144deg, rgba(46, 164, 255, 0.1) 0%, rgba(13, 143, 243, 0) 100%);
.miniGrid_red {
@ -307,15 +307,15 @@ export default {
.miniGrid_green {
@include radio;
background: rgba(249, 86, 25, 0.2);
border: 1px solid #f95619;
color: #f95619;
border: 1px solid green;
color: green;
}
.miniGrid_yellow {
@include radio;
background: rgba(249, 86, 25, 0.2);
border: 1px solid #f95619;
color: #f95619;
border: 1px solid yellow;
color: yellow;
}
}
}

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

@ -8,16 +8,21 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<xqwmz :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import xqwmz from "@/views/dataBoard/cpts/details/xqwmz.vue";
export default {
name: "community",
components: {
xqwmz,
},
data() {
return {
queryParams: {
@ -25,6 +30,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
created() {
@ -59,6 +66,13 @@ export default {
this.$emit("changeTotal", { name: 2, total: this.total });
});
},
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>

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

@ -9,7 +9,7 @@
<el-table-column label="标记" prop="marktype" width="" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>

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

@ -8,16 +8,21 @@
<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">查看</el-button>
<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: {
@ -25,6 +30,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
created() {},
@ -34,6 +41,13 @@ export default {
this.getList();
},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http

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

@ -8,21 +8,28 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<yxwxfw :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import yxwxfw from "@/views/dataBoard/cpts/details/yxwxfw.vue";
export default {
name: "give-service",
components: {
yxwxfw,
},
data() {
return {
queryParams: {
residList: [],
},
rowId: null,
showDialog: false,
list: [],
total: 0,
};
@ -37,7 +44,10 @@ export default {
getList() {
//
this.$http
.post("/actual/base/peopleRoomOverview/communityServicePageList", this.queryParams)
.post(
"/actual/base/peopleRoomOverview/communityServicePageList",
this.queryParams
)
.then(({ data: res }) => {
this.list = res.data.map((item) => {
return {
@ -48,6 +58,13 @@ export default {
this.$emit("changeTotal", { name: 5, total: this.total });
});
},
handleView(item) {
this.rowId = item.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
},
};
</script>

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

@ -8,7 +8,7 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>

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

@ -8,16 +8,21 @@
<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">查看</el-button>
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<jmxq :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import jmxq from "@/views/dataBoard/cpts/details/jmxq.vue";
export default {
name: "complaint",
components:{
jmxq,
},
data() {
return {
queryParams: {
@ -25,6 +30,8 @@ export default {
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
created() {
@ -34,6 +41,13 @@ export default {
},
mounted() {},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http

8
src/views/dataBoard/organizational/index.vue

@ -1,7 +1,7 @@
<template>
<div class="organWrap">
<div class="top-nav">
<el-button @click="gotoHomeDetails">单元</el-button>
<!-- <el-button @click="gotoHomeDetails">单元</el-button> -->
<div class="top-nav-list">
<div v-for="item in navList" :key="item.key" :class="[$route.path == item.path ? 'top-nav-itemAC' : 'top-nav-item']" @click="chooseNav(item)">
{{ item.name }}
@ -476,9 +476,9 @@ export default {
this.$router.push(item.path);
},
gotoHomeDetails() {
this.$router.push("/homeDetails/index");
},
// gotoHomeDetails() {
// this.$router.push("/homeDetails/index");
// },
},
};
</script>

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

@ -5,6 +5,7 @@
:data="list"
v-if="currentLevelData.orgLevel != 'grid'"
v-loading="loading"
element-loading-background="rgba(0, 0, 0, 0.3)"
max-height="190px"
height="190px"
>
@ -95,7 +96,15 @@ export default {
}
},
},
mounted() {},
mounted() {
if (this.currentLevelData.orgId) {
this.getData(
this.peopleType,
this.currentLevelData.orgLevel,
this.currentLevelData.orgId
);
}
},
methods: {
getData(peopleType, level = "", orgId = "") {
this.loading = true;

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

@ -141,6 +141,11 @@ export default {
}
},
},
mounted() {
if (this.currentLevelData.orgId) {
this.getData(this.currentLevelData);
}
},
methods: {
selectIcon(type) {
this.selectIndex = type;

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

@ -549,7 +549,7 @@ export default {
},
toResiClassPage(pageType, type_id = "", type_name) {
this.$router.push({
path: "/dataBoard/renfang/resi-class-new",
path: "/dataBoard/renfang/resi-class",
query: {
org_id: this.orgId,
type_id,

Loading…
Cancel
Save