flying-monkey/pagesB/i-want-evaluate/i-want-evaluate.vue

141 lines
4.4 KiB
Vue
Raw Normal View History

<template>
<view>
2022-03-18 07:11:46 +00:00
<status-nav navBarTitle="我要评价" returnColor="#c2c2c2"></status-nav>
<container-subgroup>
2022-04-01 08:56:35 +00:00
<view slot="content" style="margin: -6rpx -30rpx 0 -30rpx;">
2022-03-18 07:11:46 +00:00
<view class="bacf fon28 pad-sx30 pad-zy40">
<view class=" bold disjbac fw line-h50">
<!-- 项目名称 -->
<view class="mar-y20">{{orderObj.project_name || '项目名称'}}</view>
<!-- 项目编号 -->
<view>{{orderObj.order_number || '项目编号'}}</view>
2022-03-18 07:11:46 +00:00
</view>
<view class="mar-s10 mar-x30" style="color: #6b6a6a;">服务时间{{orderObj.order_time}}</view>
2022-03-18 07:11:46 +00:00
<view class="radius20 pad30 dis" style="border: 2rpx solid #dcdcdc;">
<image src="/static/public/icon-evaluate-pen.png" mode="widthFix" lazy-load style="width: 25rpx;height: 30rpx;"></image>
2022-05-13 09:39:50 +00:00
<textarea v-model="serviceExperience" maxlength="-1" class="fon24 mar-z20 width100" style="height: 200rpx;" placeholder="写下您的服务体验,帮助我们更好的管理提升" placeholder-style="font-size:24rpx;color: #aaaaaa;" />
2022-03-18 07:11:46 +00:00
</view>
<view class="fon30 bold mar-sx30">上传图片</view>
<view class="disac">
<view @tap="chooseImg(index)" class="mar-y20" v-for="(item,index) in imgList" :key="index" style="background-color: #dcdcdc;">
2022-03-18 07:11:46 +00:00
<view v-if="item.imgsrc==''" class="evaluate-addimg" style="width: 142rpx;height: 142rpx;"></view>
<image v-else :src="item.imgsrc" mode="aspectFill" lazy-load style="width: 142rpx;height: 142rpx;vertical-align: middle;"></image>
2022-03-18 07:11:46 +00:00
</view>
</view>
</view>
<view class="bacf fon28 pad-sx30 pad-zy40 mar-s20">
<view class="fon30 bold mar-sx30">您的评价</view>
<view class="mar-s40 mar-x50" style="color: #545454;">
<view class="mar-x40 disac"><text class="mar-y40">技术服务</text><rate :size="42" :gutter="40" :curentClick="0" v-model="rateNum" @change="chooseRate"></rate></view>
<view class="disac"><text class="mar-y40">客服态度</text><rate :size="42" :gutter="40" :curentClick="1" v-model="attitudeNum" @change="chooseRate"></rate></view>
</view>
</view>
<!-- 提交保存 -->
2022-03-28 10:40:48 +00:00
<view class="person-btn" @tap="submitData" style="margin-top: 50rpx;">提交保存</view>
2022-03-18 07:11:46 +00:00
</view>
</container-subgroup>
</view>
</template>
<script>
2022-05-13 09:39:50 +00:00
import { uploadImg } from '@/jsFile/public-api.js';
import rate from '@/components/rate.vue';
export default {
components:{
rate
},
data() {
return {
imgList:[//上传图片数组
2022-03-18 07:11:46 +00:00
{imgsrc:''},
{imgsrc:''},
{imgsrc:''}
],
2022-05-13 09:39:50 +00:00
tempImgId:[],
rateNum:5,//技术服务评分
attitudeNum:5,//客服态度评分
2022-03-28 10:40:48 +00:00
serviceExperience:'',//服务体验
2022-05-13 09:39:50 +00:00
flag:true,
orderId:'',//工单id
orderObj: {
order_id:28,
order_number:"",
order_time:"",
project_name:""
}
}
},
2022-05-13 09:39:50 +00:00
onLoad(op) {
this.orderId = op.orderId;
// 调用查询订单信息
this.getOrderInfo();
},
methods: {
2022-05-13 09:39:50 +00:00
// 查询订单信息
getOrderInfo(){
this.$requst.get('/universal/api.order/evaluate_order',{order_id:this.orderId}).then(res=>{
if(res.code) {
this.orderObj = res.data;
2022-05-13 09:39:50 +00:00
} else {
this.$toolAll.tools.showToast(res.msg);
}
})
},
2022-03-28 10:40:48 +00:00
// 提交保存事件
submitData(){
if(this.flag) {
2022-05-13 09:39:50 +00:00
// this.flag = false;
let idArr = [];
idArr = this.tempImgId.filter(item => {return item!=''; });
2022-03-28 10:40:48 +00:00
let params = {
2022-05-13 09:39:50 +00:00
order_id:this.orderId,
evaluate_content:this.serviceExperience,
evaluate_images:idArr.join(','),
technology_score:this.rateNum,
customer_service_attitude_score:this.attitudeNum
2022-03-28 10:40:48 +00:00
}
console.log(params,74);
2022-05-13 09:39:50 +00:00
this.$requst.post('/universal/api.order/evaluate_order',params).then(res=>{
if(res.code) {
uni.navigateBack({delta:1})
} else {
this.$toolAll.tools.showToast(res.msg);
}
})
2022-03-28 10:40:48 +00:00
}
},
// 选择图片
chooseImg(index){
uni.chooseImage({
count:1,
sourceType:['album','camera'],
sizeType:['compressed'],
success: (res) => {
2022-05-13 09:39:50 +00:00
uploadImg({path:res.tempFilePaths[0]}).then(resImg=>{
this.imgList[index].imgsrc = res.tempFilePaths[0];
this.tempImgId[index] = resImg.data.id;
2022-04-02 12:08:56 +00:00
})
2022-05-13 09:39:50 +00:00
},fail:(err)=> {
this.$toolAll.tools.checkQx(err.code);
}
})
},
chooseRate(arr){
switch (arr[1]){
case 0:
this.rateNum = arr[0];
break;
case 1:
this.attitudeNum = arr[0];
break;
}
},
}
}
</script>
<style>
</style>