4 changed files with 477 additions and 201 deletions
@ -0,0 +1,240 @@ |
|||||
|
<template> |
||||
|
<el-dialog |
||||
|
:destroy-on-close="true" |
||||
|
:modal="true" |
||||
|
:modal-append-to-body="false" |
||||
|
:visible="showDialog" |
||||
|
width="1118px" |
||||
|
@close="handleClose" |
||||
|
> |
||||
|
<div class="content"> |
||||
|
<div class="main-title main-title2"> |
||||
|
|
||||
|
<title-box text="服务详情"/> |
||||
|
</div> |
||||
|
|
||||
|
<div class="contents"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="items"> |
||||
|
<div class="label">所属组织:</div> |
||||
|
<div class="value">{{ detail.principalName }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
|
||||
|
<div class="items"> |
||||
|
<div class="label">服务类型:</div> |
||||
|
<div class="value">{{ |
||||
|
detail.customerId && getFwType(detail.customerId) |
||||
|
}} |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
|
||||
|
<div class="items"> |
||||
|
<div class="label">服务事项:</div> |
||||
|
<div class="value">{{ detail.serviceName }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="items"> |
||||
|
<div class="label">服务时间:</div> |
||||
|
<div class="value" |
||||
|
>{{ detail.serviceTimeStart }} ~ |
||||
|
{{ detail.serviceTimeEnd }} |
||||
|
</div |
||||
|
> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
|
||||
|
<el-col :span="12"> |
||||
|
<div class="items"> |
||||
|
<div class="label">经办人:</div> |
||||
|
<div class="value">{{ detail.principalName }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
|
||||
|
<div class="items"> |
||||
|
<div class="label">联系电话:</div> |
||||
|
<div class="value"> {{ $sensitive(detail.principalContact, 3, 7) }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
|
||||
|
<div class="items"> |
||||
|
<div class="label">服务方:</div> |
||||
|
<div class="value">{{ detail.principalName }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
|
||||
|
<div class="items"> |
||||
|
<div class="label">政策依据:</div> |
||||
|
<div class="value">{{ detail.policyTitle }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<div class="items" style="align-items: flex-start"> |
||||
|
<div class="label">服务内容:</div> |
||||
|
<div class="value">{{ detail.remark }}</div> |
||||
|
</div> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title"; |
||||
|
|
||||
|
export default { |
||||
|
name: "ServiceDetailsLookForSb", |
||||
|
components: { |
||||
|
titleBox, |
||||
|
}, |
||||
|
props: { |
||||
|
id: { |
||||
|
type: String, |
||||
|
default: "", |
||||
|
}, |
||||
|
type: { |
||||
|
type: [String, Number], |
||||
|
default: "", |
||||
|
}, |
||||
|
showDialog: { |
||||
|
type: Boolean, |
||||
|
default: false, |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
data() { |
||||
|
return { |
||||
|
item: {}, |
||||
|
loading: false, |
||||
|
detail: {}, |
||||
|
// 服务类型。 |
||||
|
serviceTypesLevel1: [], |
||||
|
}; |
||||
|
}, |
||||
|
|
||||
|
computed: {}, |
||||
|
watch: { |
||||
|
showDialog: { |
||||
|
handler(val) { |
||||
|
if (val) { |
||||
|
this.getDetailsData(); |
||||
|
} |
||||
|
}, |
||||
|
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; |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error("网络错误"); |
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
handleClose() { |
||||
|
this.$emit("close", false); |
||||
|
this.item = {}; |
||||
|
}, |
||||
|
getFwType(value) { |
||||
|
if (this.serviceTypesLevel1.length > 0 && value) { |
||||
|
return this.serviceTypesLevel1.filter( |
||||
|
(item) => item.customerId == value |
||||
|
)[0].name; |
||||
|
} |
||||
|
return ""; |
||||
|
}, |
||||
|
openImg(src) { |
||||
|
window.open(src); |
||||
|
}, |
||||
|
|
||||
|
getTrueTime(time) { |
||||
|
return this.$moment(time * 1000).format("YYYY-MM-DD hh:mm"); |
||||
|
}, |
||||
|
|
||||
|
getDetailsData() { |
||||
|
this.loading = true; |
||||
|
if (this.type === 2) { |
||||
|
this.getServiceFindPeople(); |
||||
|
} |
||||
|
if (this.type === 3) { |
||||
|
this.getWarmthAndFindPeople(); |
||||
|
} |
||||
|
if (this.type === 4) { |
||||
|
this.getJobAndFindPeople(); |
||||
|
} |
||||
|
if (this.type === 5) { |
||||
|
this.getSkillsToFindPeople(); |
||||
|
} |
||||
|
}, |
||||
|
getServiceFindPeople() { |
||||
|
this.$http.post('/governance/icServiceRecordV2/detail', {serviceRecordId: this.id}).then(({data: {data}}) => { |
||||
|
this.detail = data || {}; |
||||
|
this.loading = false; |
||||
|
}) |
||||
|
}, |
||||
|
getWarmthAndFindPeople() { |
||||
|
this.$http.post('/governance/icServiceWarmRecord/detail', {serviceRecordId: this.id}).then(({data: {data}}) => { |
||||
|
this.detail = data || {}; |
||||
|
this.loading = false; |
||||
|
}) |
||||
|
}, |
||||
|
getJobAndFindPeople() { |
||||
|
this.$http.post('/governance/icServicePostRecord/detail', {serviceRecordId: this.id}).then(({data: {data}}) => { |
||||
|
this.detail = data || {}; |
||||
|
this.loading = false; |
||||
|
}) |
||||
|
}, |
||||
|
getSkillsToFindPeople() { |
||||
|
this.$http.post('/governance/icServiceSkillRecord/detail', {serviceRecordId: this.id}).then(({data: {data}}) => { |
||||
|
this.detail = data || {}; |
||||
|
this.loading = false; |
||||
|
}) |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/shequzhili/event-info.scss"; |
||||
|
@import "@/assets/scss/dataBoard/dialog.scss"; |
||||
|
|
||||
|
|
||||
|
.contents { |
||||
|
padding: 40px 50px; |
||||
|
|
||||
|
.items { |
||||
|
font-size: 14px; |
||||
|
position: relative; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
margin-bottom: 17px; |
||||
|
|
||||
|
.label { |
||||
|
color: #9CB4D3; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
.value { |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
</style> |
||||
Loading…
Reference in new issue