141 lines
4.4 KiB
Vue
141 lines
4.4 KiB
Vue
<template>
|
||
<view>
|
||
<status-nav navBarTitle="我要评价" returnColor="#c2c2c2"></status-nav>
|
||
<container-subgroup>
|
||
<view slot="content" style="margin: -6rpx -30rpx 0 -30rpx;">
|
||
<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>
|
||
</view>
|
||
<view class="mar-s10 mar-x30" style="color: #6b6a6a;">服务时间:{{orderObj.order_time}}</view>
|
||
<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>
|
||
<textarea v-model="serviceExperience" maxlength="-1" class="fon24 mar-z20 width100" style="height: 200rpx;" placeholder="写下您的服务体验,帮助我们更好的管理提升" placeholder-style="font-size:24rpx;color: #aaaaaa;" />
|
||
</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;">
|
||
<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>
|
||
</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>
|
||
<!-- 提交保存 -->
|
||
<view class="person-btn" @tap="submitData" style="margin-top: 50rpx;">提交保存</view>
|
||
</view>
|
||
</container-subgroup>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { uploadImg } from '@/jsFile/public-api.js';
|
||
import rate from '@/components/rate.vue';
|
||
export default {
|
||
components:{
|
||
rate
|
||
},
|
||
data() {
|
||
return {
|
||
imgList:[//上传图片数组
|
||
{imgsrc:''},
|
||
{imgsrc:''},
|
||
{imgsrc:''}
|
||
],
|
||
tempImgId:[],
|
||
rateNum:5,//技术服务评分
|
||
attitudeNum:5,//客服态度评分
|
||
serviceExperience:'',//服务体验
|
||
flag:true,
|
||
orderId:'',//工单id
|
||
orderObj: {
|
||
order_id:28,
|
||
order_number:"",
|
||
order_time:"",
|
||
project_name:""
|
||
}
|
||
}
|
||
},
|
||
onLoad(op) {
|
||
this.orderId = op.orderId;
|
||
// 调用查询订单信息
|
||
this.getOrderInfo();
|
||
},
|
||
methods: {
|
||
// 查询订单信息
|
||
getOrderInfo(){
|
||
this.$requst.get('/universal/api.order/evaluate_order',{order_id:this.orderId}).then(res=>{
|
||
if(res.code) {
|
||
this.orderObj = res.data;
|
||
} else {
|
||
this.$toolAll.tools.showToast(res.msg);
|
||
}
|
||
})
|
||
},
|
||
// 提交保存事件
|
||
submitData(){
|
||
if(this.flag) {
|
||
// this.flag = false;
|
||
let idArr = [];
|
||
idArr = this.tempImgId.filter(item => {return item!=''; });
|
||
let params = {
|
||
order_id:this.orderId,
|
||
evaluate_content:this.serviceExperience,
|
||
evaluate_images:idArr.join(','),
|
||
technology_score:this.rateNum,
|
||
customer_service_attitude_score:this.attitudeNum
|
||
}
|
||
console.log(params,74);
|
||
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);
|
||
}
|
||
})
|
||
}
|
||
},
|
||
// 选择图片
|
||
chooseImg(index){
|
||
uni.chooseImage({
|
||
count:1,
|
||
sourceType:['album','camera'],
|
||
sizeType:['compressed'],
|
||
success: (res) => {
|
||
uploadImg({path:res.tempFilePaths[0]}).then(resImg=>{
|
||
this.imgList[index].imgsrc = res.tempFilePaths[0];
|
||
this.tempImgId[index] = resImg.data.id;
|
||
})
|
||
},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>
|