This commit is contained in:
liuye
2024-08-08 13:38:29 +08:00
parent 8da84b02ac
commit 4997f2a564
19 changed files with 995 additions and 331 deletions

View File

@@ -5,9 +5,9 @@
<div class="right">
<div class="names">{{ data.name }}的上报</div>
<div class="times">{{ data.createTime }}</div>
</div>
<span class="edit-btn" @click="toEdit()" v-if="data.eventStatus != 2 && data.eventStatus != 3">编辑</span>
</div>
<div class="header-middle">
@@ -16,19 +16,18 @@
<span class="status status0" :class="detailStatus.cls" v-if="data.eventStatus"> {{ detailStatus.label }}</span>
<div class="card">
<span class="card-left">事件类型</span>
<span class="card-right">{{ data.type }}</span>
<span class="card-left">事件来源</span>
<span class="card-right">{{ $dict.getLabel('residentEventSource', data.eventSource) }}</span>
</div>
<div class="card">
<span class="card-left">消息来源</span>
<span class="card-left">事件类型</span>
<span class="card-right">{{ data.groupName }}</span>
</div>
<!-- <div class="card">
<div class="card">
<span class="card-left">所属网格</span>
<span class="card-right">{{ data.girdName }}</span>
</div> -->
</div>
<div class="card">
<span class="card-left">联系方式</span>
@@ -71,7 +70,7 @@
<div class="cards" v-for="(item, index) in process" :key="index">
<div class="cardss">
<div class="cardss-left">
<span v-text="item.avatar"/>
<span v-text="formatName(item.systemExplain)"/>
</div>
<div class="cardss-right">
<div class="cardsss-right-left">
@@ -94,35 +93,34 @@
</div>
</div>
<div class="fixedBtn">
<div class="fixedBtn" v-if="isShowBtn">
<div class="status00" v-if="data.eventStatus == 0">
<div class="columns border-r" @click="toContent(1)">
<div class="columns border-r" v-if="data.powerTransmit" @click="toContent(1)">
<img src="./components/img/zhuanjiao.png" alt="" />
<span class="hint">转交事件</span>
</div>
<div class="columns" @click="toContent(2)">
<div class="columns" v-if="data.powerHandle" @click="toContent(2)">
<img src="./components/img/jujue.png" alt="" />
<span class="hint">拒绝受理</span>
</div>
<div class="doIt" @click="doItShow = true">我来受理</div>
<div class="doIt" @click="toContent(3)">我来受理</div>
</div>
<div class="status00" v-if="data.eventStatus == 1 && data.handleUserId == user.wxUserId">
<div class="columns border-r" @click="toContent(1)">
<div class="status00" v-if="data.eventStatus == 1">
<div class="columns border-r" v-if="data.powerTransmit" @click="toContent(1)">
<img src="./components/img/zhuanjiao.png" alt="" />
<span class="hint">转交事件</span>
</div>
<div class="columns" @click="toContent(2)">
<div class="columns" v-if="data.powerHandle" @click="toContent(2)">
<img src="./components/img/jujue.png" alt="" />
<span class="hint">拒绝受理</span>
</div>
<div class="doIt" @click="toContent(3)">前往办理</div>
<div class="doIt" v-if="data.powerHandle" @click="toContent(3)">前往办理</div>
</div>
<!-- <div class="endDoIt" v-if="data.eventStatus == 1 && data.handleUserId == user.wxUserId" @click="toContent(3)">前往办理</div> -->
<!-- <div class="endDoIt" v-if="data.eventStatus == 1 && data.rightType == 0" @click="toContent(3)">前往办理</div> -->
</div>
<AiEvaluation v-show="false" v-model="evaluation" :bid="data.id"/>
<u-modal v-model="doItShow" :mask-close-able="true" z-index="99" content="确定受理该事件?" :show-cancel-button="true" @confirm="doThings"></u-modal>
@@ -139,7 +137,8 @@ export default {
data: {},
id: '',
doItShow: false,
evaluation: {}
evaluation: {},
isShowBtn: false
}
},
computed: {
@@ -155,16 +154,17 @@ export default {
const getAvatar = str => str?.substring(str?.length, str?.length - 2)
const list = this.data.processList.map(e => ({
...e,
avatar: getAvatar(e.userName),
statusLabel: this.$dict.getLabel('clapDoStatus', e.doStatus)
avatar: getAvatar(e.girdMemberName),
statusLabel: this.$dict.getLabel('residentReportDoStatus', e.doStatus)
}))
if (this.evaluation.id) {
const {id, createUserName, score, createTime: doTime, content: doExplain} = this.evaluation
const {id, createUserName, score, files, createTime: doTime, content: doExplain} = this.evaluation
list.splice(0, 0, {
id, doTime, doExplain,
statusLabel: `${score}星评价`,
avatar: getAvatar(createUserName),
systemExplain: `${createUserName}完成评价`
systemExplain: `${createUserName}完成评价`,
files: files
})
}
return list
@@ -172,8 +172,9 @@ export default {
},
watch: {},
onLoad(o) {
this.isShowBtn = o.isShowBtn == 1 ? true : false
this.id = o.id
this.$dict.load('realityStatus', 'clapDoStatus', 'xbotReportEventType', 'clapEventStatus').then(() => {
this.$dict.load('clapEventStatus','residentEventSource', 'residentReportDoStatus').then(() => {
this.getDetail()
})
@@ -182,11 +183,11 @@ export default {
})
},
onShow() {
document.title = '工单详情'
document.title = '工单管理'
},
methods: {
getDetail() {
this.$http.post(`/app/appsessionarchivereportinfo/queryDetailById?id=${this.id}`).then((res) => {
this.$http.post(`/app/apppatrolreportinfov2/queryDetailById?id=${this.id}`).then((res) => {
if (res?.data) {
this.data = res.data
}
@@ -198,14 +199,21 @@ export default {
},
doThings() {
this.$http.post(`/app/appsessionarchivereportinfo/acceptance?id=${this.id}`).then((res) => {
this.$http.post(`/app/appresidentreportinfov2/finivsh`, {
id: this.id,
eventStatus: 1
}).then((res) => {
if (res.code == 0) {
this.$u.toast('受理成功')
this.getDetail()
}
})
},
toContent(status) {
// if(status == 3 && !this.data.doRight) {
// return this.$u.toast('没有办理权限')
// }
uni.navigateTo({url: `./Content?status=${status}&groupId=${this.data.groupId}&groupName=${this.data.groupName}&id=${this.id}`})
},
previewImage(images, img) {
@@ -214,9 +222,12 @@ export default {
current: img
})
},
toEdit() {
uni.navigateTo({url: `./Edit?id=${this.id}`})
}
formatName(name) {
if (name == undefined) {
return
}
return name.substr(0, 2)
},
},
}
</script>
@@ -224,6 +235,7 @@ export default {
<style scoped lang="scss">
uni-page-body {
height: 100%;
padding-top: 26px;
}
.Detail {
@@ -232,9 +244,8 @@ uni-page-body {
.header-top {
display: flex;
margin: 26px 0 14px 0;
padding: 0 32px;
position: relative;
margin-bottom: 14px;
padding: 32px 32px 0;
.avatars {
width: 80px;
@@ -261,17 +272,6 @@ uni-page-body {
color: #999999;
}
}
.edit-btn {
position: absolute;
color: #197df0;
top: 16px;
right: 32px;
width: 150px;
height: 44px;
line-height: 44px;
text-align: right;
}
}
.header-middle {
@@ -345,7 +345,7 @@ uni-page-body {
margin-right: 8px;
}
img:nth-child(3n) {
img:nth-of-type(3n) {
margin-right: 0;
}
}
@@ -455,7 +455,7 @@ uni-page-body {
margin-right: 12px;
}
img:nth-child(4n) {
img:nth-of-type(3n) {
margin-right: 0;
}
}
@@ -515,9 +515,6 @@ uni-page-body {
color: #fff;
}
.width78 {
width: 78%;
}
}
.endDoIt {