|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 691 B |
|
After Width: | Height: | Size: 649 B |
|
After Width: | Height: | Size: 708 B |
|
After Width: | Height: | Size: 890 B |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,5 @@ |
|||||
|
export default function desensitizeSubstring(inputString, start, end) { |
||||
|
// 保留部分非敏感信息,将敏感信息部分截取掉
|
||||
|
let desensitizedString = inputString.substring(0, start) + "*".repeat(end - start) + inputString.substring(end); |
||||
|
return desensitizedString; |
||||
|
} |
||||
@ -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> |
||||
@ -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> |
||||
@ -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> |
||||
@ -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> |
||||
@ -0,0 +1,63 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div class="breadcrumb"> |
||||
|
<Breadcrumb :list="breadcrumbList"/> |
||||
|
</div> |
||||
|
<Family/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb' |
||||
|
import Family from '@/views/dataBoard/cpts/family' |
||||
|
export default { |
||||
|
name: "dissatisfiedPersonnelDetail", |
||||
|
components: { |
||||
|
Breadcrumb, |
||||
|
Family |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
breadcrumbList: [{ |
||||
|
path: '/dataBoard/overview/index', |
||||
|
name: '概览' |
||||
|
}, { |
||||
|
path: '/homeDetails/index', |
||||
|
name: '画像匹配同类不满意人员' |
||||
|
}, { |
||||
|
path: '', |
||||
|
name: '' |
||||
|
}], |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
'$route.query'() { |
||||
|
this.$set(this.breadcrumbList[1], 'name', this.$route.query.name2) |
||||
|
this.$set(this.breadcrumbList[1], 'path', this.breadcrumbList[1].path + '?id=' +this.$route.query.id) |
||||
|
this.$set(this.breadcrumbList[2], 'name', this.$route.query.name) |
||||
|
this.breadcrumbList[2].name = this.$route.query.name |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$set(this.breadcrumbList[1], 'name', this.$route.query.name2) |
||||
|
this.$set(this.breadcrumbList[1], 'path', this.breadcrumbList[1].path + '?id=' +this.$route.query.id) |
||||
|
this.$set(this.breadcrumbList[2], 'name', this.$route.query.name) |
||||
|
this.breadcrumbList[2].name = this.$route.query.name |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.sub-title { |
||||
|
background: url("@/assets/images/manyidu/icon_fk.png") no-repeat left center; |
||||
|
font-size: 18px; |
||||
|
font-weight: 500; |
||||
|
color: #FFFFFF; |
||||
|
line-height: 22px; |
||||
|
padding-left: 26px; |
||||
|
margin-bottom: 20px; |
||||
|
} |
||||
|
.breadcrumb { |
||||
|
margin-bottom: 25px; |
||||
|
} |
||||
|
</style> |
||||