企微端详情已调整
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
<div class="header-middle">
|
<div class="header-middle">
|
||||||
<div class="titles">{{ data.content }}</div>
|
<div class="titles">{{ data.content }}</div>
|
||||||
|
|
||||||
<span class="status status0" :class="data.eventStatus == 0 ? 'status0' : data.eventStatus == 1 ? 'status1' : data.eventStatus == 2 ? 'status2' : 'status3'" v-if="data.eventStatus"> {{ $dict.getLabel('clapEventStatus', data.eventStatus) }}</span>
|
<span class="status status0" :class="detailStatus.cls" v-if="data.eventStatus"> {{ detailStatus.label }}</span>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<span class="card-left">事件类型</span>
|
<span class="card-left">事件类型</span>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
<span class="card-left" style="color:#999">照片</span>
|
<span class="card-left" style="color:#999">照片</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<img :src="item.url" alt="" v-for="(item, i) in data.files" :key="i" @click="previewImage(data.files, item.url)" />
|
<img :src="item.url" alt="" v-for="(item, i) in data.files" :key="i" @click="previewImage(data.files, item.url)"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header-bottom">
|
<div class="header-bottom">
|
||||||
@@ -60,40 +60,30 @@
|
|||||||
<div class="plan">
|
<div class="plan">
|
||||||
<div class="nav">
|
<div class="nav">
|
||||||
<span>办理进度</span>
|
<span>办理进度</span>
|
||||||
<span> ({{ $dict.getLabel('clapEventStatus', data.eventStatus) }})</span>
|
<span> ({{ detailStatus.label }})</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cards" v-for="(item, index) in data.processList" :key="index">
|
<div class="cards" v-for="(item, index) in process" :key="index">
|
||||||
<div class="cardss">
|
<div class="cardss">
|
||||||
<div class="cardss-left">
|
<div class="cardss-left">
|
||||||
<span>
|
<span v-text="item.avatar"/>
|
||||||
<!-- {{ item.systemExplain }} -->
|
|
||||||
{{ item.girdMemberName && item.girdMemberName.substring(item.girdMemberName.length, item.girdMemberName.length - 2) }}
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<!-- <img src="./components/1.png" class="avatarIcon" alt="" /> -->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cardss-right">
|
<div class="cardss-right">
|
||||||
<div class="cardsss-right-left">
|
<div class="cardsss-right-left">
|
||||||
<div class="cardssss-right-left-top">
|
<div class="cardssss-right-left-top">
|
||||||
<span>{{ item.systemExplain }}</span>
|
<span v-text="item.systemExplain"/>
|
||||||
<div style="color: #2ea222; font-size: 16px; margin-top: 5px">
|
<div style="color: #2ea222; font-size: 16px; margin-top: 5px" v-text="item.statusLabel"/>
|
||||||
{{ $dict.getLabel('clapDoStatus', item.doStatus) }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="cardees-right-right">{{ item.doTime }}</div>
|
<div class="cardees-right-right">{{ item.doTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="lines"/>
|
||||||
<div class="lines"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cardes-msg-top" v-if="item.doExplain">{{ item.doExplain }}</div>
|
<div class="cardes-msg-top" v-if="item.doExplain">{{ item.doExplain }}</div>
|
||||||
|
|
||||||
<div class="imgs">
|
<div class="imgs">
|
||||||
<img :src="e.url" alt="" v-for="(e, index) in item.files" :key="index" @click="previewImage(item.files, e.url)" />
|
<img :src="e.url" alt="" v-for="(e, index) in item.files" :key="index" @click="previewImage(item.files, e.url)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -116,24 +106,53 @@
|
|||||||
|
|
||||||
<div class="endDoIt" v-if="data.eventStatus == 1 && data.rightType == 0" @click="toContent(3)">前往办理</div>
|
<div class="endDoIt" v-if="data.eventStatus == 1 && data.rightType == 0" @click="toContent(3)">前往办理</div>
|
||||||
</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>
|
<u-modal v-model="doItShow" :mask-close-able="true" z-index="99" content="确定受理该事件?" :show-cancel-button="true" @confirm="doThings"></u-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import AiEvaluation from "../../components/AiEvaluation";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Detail',
|
name: 'Detail',
|
||||||
components: {},
|
components: {AiEvaluation},
|
||||||
props: {},
|
props: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
data: {},
|
data: {},
|
||||||
id: '',
|
id: '',
|
||||||
doItShow: false,
|
doItShow: false,
|
||||||
|
evaluation: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
detailStatus: v => {
|
||||||
|
const status = !v.evaluation.id ? v.data.eventStatus : 'evaluation'
|
||||||
|
return {
|
||||||
|
cls: 'status' + status,
|
||||||
|
label: !v.evaluation.id ? v.$dict.getLabel('clapEventStatus', v.data.eventStatus) : "已评价"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
process() {
|
||||||
|
const getAvatar = str => str?.substring(str?.length, str?.length - 2)
|
||||||
|
const list = this.data.processList.map(e => ({
|
||||||
|
...e,
|
||||||
|
avatar: getAvatar(e.girdMemberName),
|
||||||
|
statusLabel: this.$dict.getLabel('clapDoStatus', e.doStatus)
|
||||||
|
}))
|
||||||
|
if (this.evaluation.id) {
|
||||||
|
const {id, createUserName, score, createTime: doTime, content: doExplain} = this.evaluation
|
||||||
|
list.splice(0, 0, {
|
||||||
|
id, doTime, doExplain,
|
||||||
|
statusLabel: `${score}星评价`,
|
||||||
|
avatar: getAvatar(createUserName),
|
||||||
|
systemExplain: `${createUserName}完成评价`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return list
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {},
|
|
||||||
watch: {},
|
watch: {},
|
||||||
onLoad(o) {
|
onLoad(o) {
|
||||||
this.id = o.id
|
this.id = o.id
|
||||||
@@ -158,7 +177,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
callPhone(phone) {
|
callPhone(phone) {
|
||||||
uni.makePhoneCall({ phoneNumber: phone })
|
uni.makePhoneCall({phoneNumber: phone})
|
||||||
},
|
},
|
||||||
|
|
||||||
doThings() {
|
doThings() {
|
||||||
@@ -170,7 +189,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
toContent(status) {
|
toContent(status) {
|
||||||
uni.navigateTo({ url: `./Content?status=${status}&groupId=${this.data.groupId}&groupName=${this.data.groupName}&id=${this.id}` })
|
uni.navigateTo({url: `./Content?status=${status}&groupId=${this.data.groupId}&groupName=${this.data.groupName}&id=${this.id}`})
|
||||||
},
|
},
|
||||||
previewImage(images, img) {
|
previewImage(images, img) {
|
||||||
uni.previewImage({
|
uni.previewImage({
|
||||||
@@ -186,6 +205,7 @@ export default {
|
|||||||
uni-page-body {
|
uni-page-body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Detail {
|
.Detail {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
@@ -194,6 +214,7 @@ uni-page-body {
|
|||||||
display: flex;
|
display: flex;
|
||||||
margin: 26px 0 14px 0;
|
margin: 26px 0 14px 0;
|
||||||
padding: 0 32px;
|
padding: 0 32px;
|
||||||
|
|
||||||
.avatars {
|
.avatars {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
@@ -206,11 +227,13 @@ uni-page-body {
|
|||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
.names {
|
.names {
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.times {
|
.times {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
@@ -221,6 +244,7 @@ uni-page-body {
|
|||||||
|
|
||||||
.header-middle {
|
.header-middle {
|
||||||
padding: 0 32px 10px 32px;
|
padding: 0 32px 10px 32px;
|
||||||
|
|
||||||
.titles {
|
.titles {
|
||||||
margin: 32px 0;
|
margin: 32px 0;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
@@ -228,6 +252,7 @@ uni-page-body {
|
|||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status {
|
.status {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
@@ -236,11 +261,12 @@ uni-page-body {
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status0 {
|
.status0 {
|
||||||
background: #ff883c;
|
background: #ff883c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status1 {
|
.status1, .statusevaluation {
|
||||||
background: #1aaaff;
|
background: #1aaaff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,13 +283,16 @@ uni-page-body {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 34px 0;
|
padding: 34px 0;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
|
|
||||||
.card-left {
|
.card-left {
|
||||||
width: 46%;
|
width: 46%;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-right {
|
.card-right {
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
|
|
||||||
.u-icon {
|
.u-icon {
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
}
|
}
|
||||||
@@ -283,6 +312,7 @@ uni-page-body {
|
|||||||
height: 226px;
|
height: 226px;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
img:nth-child(3n) {
|
img:nth-child(3n) {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
@@ -290,6 +320,7 @@ uni-page-body {
|
|||||||
|
|
||||||
.header-bottom {
|
.header-bottom {
|
||||||
padding-bottom: 80px;
|
padding-bottom: 80px;
|
||||||
|
|
||||||
.line {
|
.line {
|
||||||
height: 16px;
|
height: 16px;
|
||||||
background: #f3f6f9;
|
background: #f3f6f9;
|
||||||
@@ -297,6 +328,7 @@ uni-page-body {
|
|||||||
|
|
||||||
.plan {
|
.plan {
|
||||||
padding: 0 32px;
|
padding: 0 32px;
|
||||||
|
|
||||||
.nav {
|
.nav {
|
||||||
padding: 26px 0;
|
padding: 26px 0;
|
||||||
}
|
}
|
||||||
@@ -304,6 +336,7 @@ uni-page-body {
|
|||||||
.cards {
|
.cards {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 80px;
|
padding-bottom: 80px;
|
||||||
|
|
||||||
.cardss {
|
.cardss {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -333,10 +366,12 @@ uni-page-body {
|
|||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardss-right {
|
.cardss-right {
|
||||||
width: calc(100% - 110px);
|
width: calc(100% - 110px);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.cardsss-right-left {
|
.cardsss-right-left {
|
||||||
.cardssss-right-left-top {
|
.cardssss-right-left-top {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
@@ -344,17 +379,20 @@ uni-page-body {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardssss-right-left-bottom {
|
.cardssss-right-left-bottom {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardees-right-right {
|
.cardees-right-right {
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.lines {
|
.lines {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
@@ -364,6 +402,7 @@ uni-page-body {
|
|||||||
background: #eeeeee;
|
background: #eeeeee;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardes-msg-top {
|
.cardes-msg-top {
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
color: #343d65;
|
color: #343d65;
|
||||||
@@ -374,17 +413,20 @@ uni-page-body {
|
|||||||
.imgs {
|
.imgs {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-left: 110px;
|
margin-left: 110px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 136px;
|
width: 136px;
|
||||||
height: 136px;
|
height: 136px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
img:nth-child(4n) {
|
img:nth-child(4n) {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cards:last-child {
|
.cards:last-child {
|
||||||
.lines {
|
.lines {
|
||||||
width: 0;
|
width: 0;
|
||||||
@@ -401,6 +443,7 @@ uni-page-body {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
|
||||||
.status00 {
|
.status00 {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
@@ -411,19 +454,23 @@ uni-page-body {
|
|||||||
width: 22%;
|
width: 22%;
|
||||||
padding: 16px 0;
|
padding: 16px 0;
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 44px;
|
width: 44px;
|
||||||
height: 42px;
|
height: 42px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hint {
|
.hint {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.border-r {
|
.border-r {
|
||||||
border-right: 1px solid #ddd;
|
border-right: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.doIt {
|
.doIt {
|
||||||
width: 56%;
|
width: 56%;
|
||||||
background: #3975c6;
|
background: #3975c6;
|
||||||
|
|||||||
81
src/components/AiEvaluation.vue
Normal file
81
src/components/AiEvaluation.vue
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
<template>
|
||||||
|
<section class="AiEvaluation">
|
||||||
|
<AiPagePicker v-if="type=='submit'&&!hasEvaluated" type="custom" :ops="ops" nodeKey="">
|
||||||
|
<slot v-if="$slots.default"/>
|
||||||
|
<div v-else v-text="placeholder"/>
|
||||||
|
</AiPagePicker>
|
||||||
|
<div v-if="type=='show'">
|
||||||
|
<slot v-if="$slots.default"/>
|
||||||
|
<AiGroup description no-border labelColor="#999" v-else>
|
||||||
|
<AiItem label="评级分数">
|
||||||
|
<u-rate v-model="detail.score" disabled inactive-icon="star-fill" active-color="#F8B425"/>
|
||||||
|
{{ detail.rateText || "" }}
|
||||||
|
</AiItem>
|
||||||
|
<AiItem label="评价详情" top-label>
|
||||||
|
<div v-html="detail.content"/>
|
||||||
|
</AiItem>
|
||||||
|
<AiItem label="附件" top-label>
|
||||||
|
<AiUploader :def="detail.files" disabled/>
|
||||||
|
</AiItem>
|
||||||
|
</AiGroup>
|
||||||
|
</div>
|
||||||
|
<slot name="finish" v-if="$slots.finish"/>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AiPagePicker from "./AiPagePicker";
|
||||||
|
import AiGroup from "./AiGroup";
|
||||||
|
import AiItem from "./AiItem";
|
||||||
|
import AiUploader from "./AiUploader";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "AiEvaluation",
|
||||||
|
model: {
|
||||||
|
prop: "info",
|
||||||
|
event: "input"
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
info: {default: () => ({})},
|
||||||
|
placeholder: {default: "去评价"},
|
||||||
|
bid: {default: ""},
|
||||||
|
type: {default: "submit"} //可选值: submit:提交评价,show:展示评价
|
||||||
|
},
|
||||||
|
components: {AiUploader, AiItem, AiGroup, AiPagePicker},
|
||||||
|
computed: {
|
||||||
|
isShow: v => v.type == 'show',
|
||||||
|
hasEvaluated: v => !!v.detail?.id
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
detail: {},
|
||||||
|
ops: {
|
||||||
|
rateTexts: ['非常不满意', '不满意', '一般', '满意', '非常满意'],
|
||||||
|
url: "/components/pages/submitEvaluation?bid=" + this.bid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
bid: {
|
||||||
|
immediate: true,
|
||||||
|
handler() {
|
||||||
|
this.getDetail()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getDetail() {
|
||||||
|
const bizId = this.bid
|
||||||
|
bizId && this.$http.post("/app/appbusinesscompletionevaluation/queryMyEvaluationByBizId", null, {
|
||||||
|
params: {bizId}
|
||||||
|
}).then(res => {
|
||||||
|
if (res?.data) {
|
||||||
|
const info = res.data?.[0]
|
||||||
|
this.detail = {...info, rateText: this.rateTexts?.[info.score - 1]}
|
||||||
|
this.$emit("input", this.detail)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
62
src/components/pages/submitEvaluation.vue
Normal file
62
src/components/pages/submitEvaluation.vue
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<template>
|
||||||
|
<section class="submitEvaluation">
|
||||||
|
<AiGroup>
|
||||||
|
<AiItem label="评价分数" top-label required>
|
||||||
|
<u-rate v-model="form.score" :size="64" active-color="#F8B425" :min-count="1" inactive-icon="star-fill"/>
|
||||||
|
</AiItem>
|
||||||
|
</AiGroup>
|
||||||
|
<u-gap height="24"/>
|
||||||
|
<AiGroup>
|
||||||
|
<AiItem label="评价详情" top-label required>
|
||||||
|
<u-input type="textarea" v-model="form.content" placeholder="请简要描述..."/>
|
||||||
|
</AiItem>
|
||||||
|
</AiGroup>
|
||||||
|
<u-gap height="24"/>
|
||||||
|
<AiGroup>
|
||||||
|
<AiItem label="附件" top-label>
|
||||||
|
<AiUploader v-model="form.files" :limit="9" multiple/>
|
||||||
|
</AiItem>
|
||||||
|
</AiGroup>
|
||||||
|
<div class="fixed-bottom">
|
||||||
|
<div class="bottomBtn" @click="submit">提交</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "submitEvaluation",
|
||||||
|
appName: "提交评价",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
files: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
submit() {
|
||||||
|
if (!this.form.score) {
|
||||||
|
return this.$u.toast("请选择评价分数!")
|
||||||
|
}
|
||||||
|
if (!this.form.content) {
|
||||||
|
return this.$u.toast("请填写评价详情!")
|
||||||
|
}
|
||||||
|
this.$http.post("/app/appbusinesscompletionevaluation/addOrUpdate", this.form).then(res => {
|
||||||
|
if (res?.code == 0) {
|
||||||
|
this.$u.toast("提交成功!")
|
||||||
|
setTimeout(() => uni.navigateBack({}), 1500)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(params) {
|
||||||
|
this.form.bizId = params.bid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.submitEvaluation {
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user