const util = require('../../../utils/util.js');
const app = getApp();
Page({
data: {
datas:{},
imgUrl:[],
uploadImg:[],
star:5,
cusStar:5,
aid:'',
title:'',
orderid:'',
type:'',
act:'',
content:'',//评价
cid:'',
one: [{ txt: '带队技能欠佳', cet: false }, { txt: '与宣传有差距', cet: false }, { txt: '活动不合理', cet: false }, { txt: '孩子体验一般', cet: false }, { txt: '吃住有待升级', cet: false }, { txt: '性价比一般', cet: false }],
two: [{ txt: '正能量的小黄人', cet: false }, { txt: '领队专业细心', cet: false }, { txt: '教育意义明显', cet: false }, { txt: '活动安排有序', cet: false }, { txt: '安全措施到位', cet: false }, { txt: '性价比超值', cet: false }],
chooseIndex:[],
option:[],
recommendArr: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],//推荐值数组
recomLevel: 0,//推荐值
},
onLoad(options) {
let orderid = options.orderid, type = options.otype, act = options.act || '';
this.setData({ orderid, type, act});
this.getData(orderid,type,act);
},
getData(orderid,type,act){
let that = this;
util.ajax({
func:"v2/order/detail",
data:{"orderid":orderid,"type":(type != undefined ? type : "")}
},function(res){
if(res.code == 0){
let datas = res.data, star = 5, uploadImg = [], content = '', option = [], options = that.data.two, cid = '', recomLevel=0;
if (!util.isObjEmpty(datas.comment)){
// star = datas.comment.arating;
cid = datas.comment.cid;
// recomLevel = datas.comment.recomLevel;
// uploadImg = datas.comment.images||[];
// content = datas.comment.content.replace(/#([^#]+)#/g,"").replace(/
/g,'\n');
// option = datas.comment.content.match(/#([^#]+)#/g);
// star>=3?options = that.data.two : options = that.data.one;
// for(let i in option){
// option[i] = option[i].replace(/#/g, "");
// for(let k in options){
// if(option[i] == options[k].txt){
// options[k].cet = true
// }
// }
// }
that.updateCommentData(datas.comment)
}
if (that.data.act !='edit') {
that.getlocalData();
}
// if(star>=3){
// that.setData({two:options})
// }else{
// that.setData({one:options})
// }
// that.setData({ star, uploadImg, aid: datas.aid, cid, content, datas, title: datas.title, recomLevel})
that.setData({aid: datas.aid, cid, datas, title: datas.title,})
}else
util.showTips(res.reason);
})
},
chooseImg(){
let that = this, uploadImg = that.data.uploadImg, count = 8;
wx.chooseImage({
count:count,
sizeType: ['compressed'],
sourceType: ['album', 'camera'],
success: function (res) {
var imgUrl = res.tempFilePaths;
if (count - (imgUrl.length + uploadImg.length) < 0) {
util.showTips("最多只能上传" + count + "张图片");
return false;
}
wx.showLoading({ title: '上传中…' });
let img = [];
that.data.upImg = [];
for(let i in imgUrl){
wx.uploadFile({
url: util.config.apiServer + 'user/upload_img_app.do',
filePath: imgUrl[i],
name: 'avatarFile',
formData:{
"rid":app.globalData.userInfo['rid']
},
success: function(reason){
let datas = JSON.parse(reason.data);
if(reason.statusCode==200&&datas.code==0){
img.push(datas.data.image);
that.setData({ uploadCount: imgUrl.length, uploadImg, upImg: img});
if (that.data.upImg.length == that.data.uploadCount) {
that.data.uploadImg = [...that.data.upImg, ...that.data.uploadImg];
that.setData({ uploadImg: that.data.uploadImg });
wx.hideLoading();
}
}
}
})
}
}
})
},
delImg(e){
let index = e.currentTarget.dataset.index,uploadImg = this.data.uploadImg;
uploadImg.splice(index,1);
this.setData({uploadImg})
},
submit(){
let that=this,
data = {},
uploadImg=this.data.uploadImg,
act = this.data.act,
userInfo = app.globalData.userInfo,
star = this.data.star,
content=this.data.content.replace(/\n/g,'
'),
option = this.data.two;
if(star == 1 || star == 2){
option = this.data.one;
}
for(let i in option){
if(option[i].cet){
content = content +'#'+option[i].txt+'#'
}
}
let pages = getCurrentPages(), prevPage = pages[pages.length - 2];
if (prevPage.route == "pages/order/detail/index"){
prevPage.data.query.otype = 0;
}
data['aid'] = this.data.aid;
data['orderid'] = this.data.orderid;
data['arating'] = star;//活动评分
data['crating'] = this.data.cusStar;//活动评分
data['leaderrating'] = '5';//领队评分
data['content'] = content;
data['cid'] = this.data.cid;
data['image'] = uploadImg?uploadImg.join(','):'';
data['rid'] = userInfo ? userInfo['rid']:"";
data['recomLevel'] = this.data.recomLevel;
if (data.recomLevel<=0&&this.data.datas.atype == 0) {
util.showTips("请对于本次活动体验后进行打分。");
return false;
}
if(util.isEmpty(data.content)){
util.showTips(this.data.datas.atype == 0?"请填写本次活动体验后的评价。":'请填写对此商品的评价。');
return false;
}
util.ajax({
func: (act == 'edit' ? "v2/comments/order/update" :"v2/comments/order/addcomment"),
data:data,
method: "POST",
load:true,
title:'提交中'
},function(res){
if(res.code == 0){
if (act == 'edit' || that.data.datas.atype == 1){
wx.navigateBack();
}else{
wx.redirectTo({
url: '/pages/order/scratch/scratch?orderid='+that.data.orderid+'&coin='+res.data||0
})
}
}else{
util.showTips(res.reason);
}
});
},
// 获取的评论数据整理公共方法
updateCommentData(commentData){
let star = 5,cusStar=5, uploadImg = [], content = '', option = [], options = this.data.two,recomLevel=0;
star = commentData.arating;
cusStar = commentData.crating;
recomLevel = commentData.recomLevel;
uploadImg = commentData.images||[];
content = commentData.content.replace(/#([^#]+)#/g,"").replace(/
/g,'\n');
option = commentData.content.match(/#([^#]+)#/g);
star>=3?options = this.data.two : options = this.data.one;
for(let i in option){
option[i] = option[i].replace(/#/g, "");
for(let k in options){
if(option[i] == options[k].txt){
options[k].cet = true
}
}
}
if(star>=3){
this.setData({two:options})
}else{
this.setData({one:options})
}
this.setData({star,cusStar,uploadImg,content,recomLevel})
},
// 获取本地草稿数据
getlocalData(){
if (!util.isObjEmpty(wx.getStorageSync("orderComment"))) {
let localData=wx.getStorageSync("orderComment");
if (localData.orderid==this.data.orderid) {
this.updateCommentData(localData)
}
}
},
// 保存草稿至本地
saveDataToLocal(){
let that=this,commentData={},option = this.data.two;
if (!util.isEmpty(this.data.content)||this.data.uploadImg.length>0) {
commentData.orderid=this.data.orderid;
commentData.saveDate=util.getNowFormatDate('yyyy-MM-dd hh:mm:ss');
commentData.arating=this.data.star;
commentData.crating=this.data.cusStar;
commentData.recomLevel=this.data.recomLevel;
commentData.images=this.data.uploadImg || '';
let content=this.data.content.replace(/\n/g,'
');
if(this.data.star == 1 || this.data.star == 2){
option = this.data.one;
}
for(let i in option){
if(option[i].cet){
content = content +'#'+option[i].txt+'#'
}
}
commentData.content=content;
wx.setStorageSync("orderComment", commentData);
}
},
chooseOpt:function(e){
var star = this.data.star,chooseIndex = this.data.chooseIndex,index=e.currentTarget.dataset.index,option = this.data.two;
if(star == 1 || star == 2){
option = this.data.one;
}
if(option[index].cet){
option[index].cet = false;
}else{
option[index].cet = true;
}
if(star == 1 || star == 2){
this.setData({one:option});
}else{
this.setData({two:option});
}
},
bindblur:function(e){
this.setData({content:e.detail.value});
},
bindstar:function(e){
if (e.currentTarget.dataset.type=='star') {
this.setData({star:e.target.dataset.index});
}else{
this.setData({cusStar:e.target.dataset.index});
}
},
recommend(e) {
this.setData({ recomLevel: e.target.dataset.number })
},
onUnload: function() {
if (this.data.datas.atype=='0') {
this.saveDataToLocal()
}
},
onHide(){
if (this.data.datas.atype=='0') {
this.saveDataToLocal()
}
}
})