hz-zhhq-app/pages/order-form/evaluate.vue

227 lines
4.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="hzIndex">
<hzHeader title="评价"></hzHeader>
<view class="hzContent">
<view class="formTop" style="margin-bottom:20upx">
<view class="formTit">请对本次服务做出评价</view>
<view class="formCont">
<view class="radio" v-for="(item, index) in items" :key="item.value">
<image @click="selectRadio(item.value)" v-if="index == current" src="@/static/haircut/eck.png"
mode=""></image>
<image @click="selectRadio(item.value)" v-else src="@/static/haircut/nEck.png" mode=""></image>
<text>{{ item.name }}</text>
</view>
</view>
<view class="formBottom">
<view class="bottomTit">评价描述</view>
<textarea style="border: 1px solid #e5e5e5;border-radius: 10upx;font-size: 28upx;padding: 10upx;"
value="" placeholder="请输入评价内容" maxlength="100" v-model="evContent" />
</view>
</view>
</view>
<view class="sub-btn">
<view class="btn" @click="submit()">提交</view>
</view>
</view>
</template>
<script>
import uniRate from '@/components/uni-rate/uni-rate.vue';
import {
submitEvaluate,
saveHaircutComment
} from '@/common/api.js';
import {
callbackRequest,
getStorage,
alertTip,
sureAlterTip
} from '@/common/util.js';
export default {
components: {
uniRate
},
data() {
return {
type: null, //评价类型 1 订单2 食堂3 推荐菜 4理发 5洗车
typeId: null, //评价类型Id
spareId: '', //如果评价订单 id为食堂 , 如果评价食堂 id为订单
userInfo: getStorage('userInfo'),
evContent: '', //评价内容
grade: 5,
items: [{
value: '0',
name: '非常满意'
},
{
value: '1',
name: '满意',
checked: 'true'
},
{
value: '2',
name: '一般'
}
],
current: 0
};
},
onLoad(option) {
this.type = option.type;
this.typeId = option.typeId;
this.spareId = option.spareId;
},
methods: {
selectRadio: function(v) {
this.current = v
},
changeGrade(e) {
this.grade = e.value;
},
submit() {
if (!this.evContent) {
alertTip('请输入评价内容');
return false;
}
let data;
if (this.type == 4 || this.type == 5) {
data = {
method: saveHaircutComment,
data: {
detailId: this.typeId,
userId: this.userInfo.id,
commentContent: this.evContent,
satisfiedLevel: this.current,
type: this.type == 4 ? 1 : 2
}
};
} else {
data = {
method: submitEvaluate,
data: {
type: this.type,
typeId: this.typeId,
userId: this.userInfo.id,
evContent: this.evContent,
grade: this.grade,
bak1: this.spareId
}
};
}
callbackRequest(data).then(res => {
if (res.data.returnCode == 1) {
sureAlterTip('', '评价成功', false).then(_ => {
// if (this.type == 4) {
// uni.redirectTo({
// url: '/pages/haircut/haircut?currentTabIndex=1'
// });
// } else if (this.type == 5) {
// uni.redirectTo({
// url: '/pages/washcar/washCarReservation?currentTabIndex=1'
// });
// } else {
// // uni.redirectTo({
// // url:'/pages/order-form/order-form'
// // })
// uni.navigateBack({
// delta: 1
// });
// }
uni.navigateBack(1);
});
} else {
alertTip(res.data.returnMsg);
}
});
}
}
};
</script>
<style lang="scss">
.sub-btn {
width: 100%;
height: 120upx;
background-color: #fff;
position: fixed;
bottom: 0;
color: #fff;
font-size: 32upx;
display: flex;
align-items: center;
justify-content: center;
.btn {
width: 94%;
height: 88upx;
border-radius: 44upx;
text-align: center;
line-height: 88upx;
background-image: linear-gradient(to right, #5BCE9D, #00ADA6);
}
}
.hzContent {
padding: 20upx;
.formTop {
width: 100%;
background-color: #fff;
padding: 20upx;
border-radius: 20upx;
image {
width: 40upx;
height: 40upx;
}
.formTit {
font-weight: bold;
font-size: 16px;
color: #333333;
}
.formCont {
width: 80%;
display: flex;
justify-content: space-between;
margin-top: 50upx;
.radio {
display: flex;
align-items: center;
font-weight: 400;
font-size: 28upx;
color: #555555;
text {
margin-left: 20upx;
}
}
}
.formBottom {
margin-top: 30upx;
width: 100%;
.bottomTit {
font-weight: 600;
font-size: 28upx;
color: #555555;
}
textarea {
margin-top: 20upx;
width: 100%;
height: 220upx;
background: #F2F6FA;
border-radius: 16upx;
}
}
}
}
</style>