uniapp/pages_tool/order/public/js/evaluate.js

233 lines
5.8 KiB
JavaScript
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.

export default {
data() {
return {
orderId: null,
orderNo: "",
memberName: "",
memberNeadimg: "",
isAnonymous: 1, //是否匿名发布 1.匿名0.公开
goodsList: [], //订单列表
goodsEvalList: [], //评价列表
imgList: [],
isEvaluate: 0, //判断是否为追评
flag: false, //防止重复点击 ,
evaluateConfig: {
evaluate_audit: 1,
evaluate_show: 0,
evaluate_status: 1
}
};
},
methods: {
//获取用户信息
getUserInfo() {
this.$api.sendRequest({
url: '/api/member/info',
success: res => {
if (res.code == 0) {
this.memberName = res.data.nickname;
this.memberNeadimg = res.data.headimg;
} else {
this.$util.showToast({
title: res.message
})
}
}
});
},
//获取订单信息
getOrderInfo() {
//获取订单信息
let data = {
order_id: this.orderId
};
this.$api.sendRequest({
url: '/api/order/evluateinfo',
data: data,
success: res => {
if (res.code == 0) {
this.isEvaluate = res.data.evaluate_status
this.goodsList = res.data.list;
if (this.goodsList.length) {
this.orderNo = res.data.list[0].order_no;
}
if (this.isEvaluate) {
for (let i = 0; i < res.data.list.length; i++) {
let array = [];
this.imgList.push(array)
this.goodsEvalList.push({
order_goods_id: res.data.list[i].order_goods_id,
goods_id: res.data.list[i].goods_id,
sku_id: res.data.list[i].sku_id,
again_content: "",
again_images: ""
});
}
} else {
for (let i = 0; i < res.data.list.length; i++) {
let array = [];
this.imgList.push(array)
this.goodsEvalList.push({
content: '', // 评价内容
images: "", //图片数组
scores: 5, // 评分
explain_type: 1, // 评价类型
order_goods_id: res.data.list[i].order_goods_id,
goods_id: res.data.list[i].goods_id,
sku_id: res.data.list[i].sku_id,
sku_name: res.data.list[i].sku_name,
sku_price: res.data.list[i].price,
sku_image: res.data.list[i].sku_image
});
}
}
} else {
this.$util.showToast({
title: "未获取到订单数据"
})
setTimeout(() => {
this.$util.redirectTo('/pages/order/list', {}, "redirectTo");
}, 1000)
}
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
},
fail() {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}
});
},
//监听评分变化
setStar(e) {
this.goodsEvalList[e.index].scores = e.value;
if (e.value >= 4) {
this.goodsEvalList[e.index].explain_type = 1;
} else if (1 < e.value && e.value < 4) {
this.goodsEvalList[e.index].explain_type = 2
} else {
this.goodsEvalList[e.index].explain_type = 3
}
},
//切换,是否匿名
isAll() {
this.isAnonymous ? this.isAnonymous = 0 : this.isAnonymous = 1
},
//添加图片
addImg(e) {
let size = this.imgList[e].length ? this.imgList[e].length : 0
this.$util.upload(6 - size, {
path: 'evaluateimg'
}, res => {
let arr = this.imgList[e]
arr = arr.concat(res);
this.imgList[e] = [];
this.$set(this.imgList, e, arr)
if (this.isEvaluate) {
this.goodsEvalList[e].again_images = this.imgList[e].toString()
} else {
this.goodsEvalList[e].images = this.imgList[e].toString()
}
});
},
//删除图片
deleteImg(i, index, j) {
this.imgList[index].splice(j, 1);
if (this.isEvaluate) {
this.goodsEvalList[index].again_images = this.imgList[index].toString()
} else {
this.goodsEvalList[index].images = this.imgList[index].toString()
}
},
// 图片预览
preview(i, j) {
let urls = this.imgList[j];
for (let k = 0; k < urls.length; k++) {
urls[k] = this.$util.img(urls[k])
}
uni.previewImage({
urls: urls,
current: i
});
},
//提交评价
save() {
if (this.evaluateConfig.evaluate_status == 0) {
this.$util.showToast({
title: "商家未开启商品评价功能"
});
return;
}
for (let i = 0; i < this.goodsEvalList.length; i++) {
if (this.isEvaluate) {
if (!this.goodsEvalList[i].again_content.trim().length) {
this.$util.showToast({
title: "商品的评价不能为空哦"
});
return;
}
} else {
if (!this.goodsEvalList[i].content.trim().length) {
this.$util.showToast({
title: "商品的评价不能为空哦"
});
return;
}
}
}
let goodsEvaluate = JSON.stringify(this.goodsEvalList)
let data = {
order_id: this.orderId,
goods_evaluate: goodsEvaluate,
};
if (!this.isEvaluate) {
data.order_no = this.orderNo;
data.member_name = this.memberName;
data.member_headimg = this.memberNeadimg;
data.is_anonymous = this.isAnonymous;
}
if (this.flag) return;
this.flag = true;
this.$api.sendRequest({
url: this.isEvaluate ? '/api/goodsevaluate/again' : '/api/goodsevaluate/add',
data: data,
success: res => {
if (res.code == 0) {
this.$util.showToast({
title: "评价成功"
});
setTimeout(() => {
this.$util.redirectTo('/pages/order/list', {}, "redirectTo");
}, 1000);
} else {
this.$util.showToast({
title: res.message
});
this.flag = false;
}
},
fail: res => {
this.flag = false;
}
});
},
imageError(index) {
this.goodsList[index].sku_image = this.$util.getDefaultImage().goods;
this.$forceUpdate();
},
getEvaluateConfig() {
this.$api.sendRequest({
url: '/api/goodsevaluate/config',
success: res => {
if (res.code == 0) {
var data = res.data;
this.evaluateConfig = data;
}
}
});
}
}
};