From df12f2e8b7371fd90fe4fd70bc8d70e91be7c6d6 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Mon, 5 Jul 2021 17:26:19 +0800 Subject: [PATCH] pos销售评价 --- app.json | 4 +++- packageB/pages/evaluate/evaluate.js | 348 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageB/pages/evaluate/evaluate.json | 7 +++++++ packageB/pages/evaluate/evaluate.wxml | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageB/pages/evaluate/evaluate.wxss | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageB/pages/evaluate_list/evaluate_list.js | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageB/pages/evaluate_list/evaluate_list.json | 7 +++++++ packageB/pages/evaluate_list/evaluate_list.wxml | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ packageB/pages/evaluate_list/evaluate_list.wxss | 28 ++++++++++++++++++++++++++++ 9 files changed, 870 insertions(+), 1 deletion(-) create mode 100644 packageB/pages/evaluate/evaluate.js create mode 100644 packageB/pages/evaluate/evaluate.json create mode 100644 packageB/pages/evaluate/evaluate.wxml create mode 100644 packageB/pages/evaluate/evaluate.wxss create mode 100644 packageB/pages/evaluate_list/evaluate_list.js create mode 100644 packageB/pages/evaluate_list/evaluate_list.json create mode 100644 packageB/pages/evaluate_list/evaluate_list.wxml create mode 100644 packageB/pages/evaluate_list/evaluate_list.wxss diff --git a/app.json b/app.json index 2a3e288..21bfb31 100644 --- a/app.json +++ b/app.json @@ -154,7 +154,9 @@ "pages/user/view_comment/view_comment", "pages/user/add_comment/add_comment", "pages/user/user_coupon/user_coupon", - "pages/user/buyDetails/buyDetails" + "pages/user/buyDetails/buyDetails", + "pages/evaluate/evaluate", + "pages/evaluate_list/evaluate_list" ] } diff --git a/packageB/pages/evaluate/evaluate.js b/packageB/pages/evaluate/evaluate.js new file mode 100644 index 0000000..bbc29d5 --- /dev/null +++ b/packageB/pages/evaluate/evaluate.js @@ -0,0 +1,348 @@ + var e = getApp(), + a = e.globalData.setting, + os = a, + t = e.request, + d = e.globalData; +Page({ + + /** + * 页面的初始数据 + */ + data: { + url: a.url, //接口网址 + iurl: a.imghost, + defimgurl: "/miniapp/images/no-head.jpg", + stars_index: -1, //当前点击的星星下标 + labels: [], //星级标签数组 + sub_evaluate: 0, //是否评价成功 + proposal: "", //用户输入的建议 + proposal_size: 100, //评价意见和建议限定字数 + number: "", //订单单号 + beautician: "", //美容师信息 + fromType: "服务评价", //评价来源 + arrangeTime: "", //服务日期 + is_evaluate: 0, //是否评价 + EvaluateDatetime: "", //评价时间 + is_act:0, //是否能购获取图片 + actId:0, //活动ID + giftBagId:0, //礼包ID + + }, + //点击星级 + check_stars: function(e) { + var th = this; + var is_evaluate = th.data.is_evaluate; //0可点击 + if (is_evaluate == 0) { + var index = e.currentTarget.dataset.index; + var stars_index = th.data.stars_index; + if (index != stars_index) { + var url = "/api/weshop/marketing/reservation/star/label/list"; + getApp().request.promiseGet(url, { + data: { + Star: index + 1, + storeId: a.stoid + } + }).then(res => { + if (res.data.code == 0) { + th.setData({ + labels: res.data.data + }) + } else { + getApp().my_warnning(res.data.msg, 0, th); + return; + } + }) + th.setData({ + stars_index: index + }) + } + } + }, + //输入评价意见和建议 + input_proposal: function(e) { + var th = this; + var value = e.detail.value; + th.setData({ + proposal: value + }) + }, + //图片失败,默认图片 + bind_bnerr1: function (e) { + var th = this; + var _errImg = e.target.dataset.errorimg; + var _Img = e.target.dataset.img; + if (_Img != undefined) { + var _errObj = {}; + _errObj[_errImg] = "/miniapp/images/no-head.jpg"; + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + } + }, + //选择标签 + check_label: function(e) { + var th = this; + var evaluate = th.data.is_evaluate; //0为未评价,未评价才可点击标签 + if (evaluate == 0) { + var index = e.currentTarget.dataset.index; + var label_id = th.data.labels[index].check; + var labels = 'labels[' + index + '].check'; + if (label_id) { + label_id = 0 + } else { + label_id = 1 + } + th.setData({ + [labels]: label_id + }) + } + }, + + //查询美导信息 + query_bea: function() { + var th = this; + var url = "/api/weshop/order/pagePosOrder"; + var number = th.data.number; //订单编号 + getApp().request.promiseGet(url, { + data: { + store_id: a.stoid, + user_id: d.user_id, + No: number + } + }).then(res => { + if (res.data.code == 0) { + var data = res.data.data.pageData; + var arrangeTime = data[0].ArrangeTime; + th.setData({ + beautician: data, + arrangeTime: arrangeTime + }) + } else { + getApp().my_warnning(res.data.msg, 0, th); + } + }) + }, + + //获取预约评价 + evaluate_get: function() { + var th = this; + var url = "/api/weshop/evaluation/evaluate/get"; + getApp().request.promiseGet(url, { + data: { + number: th.data.number, + storeId: a.stoid + } + }).then(res => { + if (res.data.code == 0) { + var list=[]; + res.data.data.BillDate=res.data.data.BillDate.replace(".0",''); + list.push(res.data.data); + + th.setData({ + stars_index: res.data.data.Star-1, + labels: res.data.data.EvaluationList, + proposal: res.data.data.Remark, + EvaluateDatetime: res.data.data.EvaluateDatetime.substring(0, 19), + beautician:list, + }) + } else { + getApp().my_warnning(res.data.msg, 0, th); + } + }) + }, + //提交评价 + evaluate_save: function() { + var th = this; + var stars = th.data.stars_index; //评价星级 + var proposal = th.data.proposal; + //判断是否评级 + if (stars < 0) { + getApp().my_warnning("请进行评分", 0, th); + return false; + } else if (proposal == "") { + getApp().my_warnning("给点建议呗", 0, th); + return false; + } + wx.showLoading({ + title: '加载中', + }) + var labels = th.data.labels; //星级标签数组 + var evaLabList = []; //用户选择的评价标签 + // 查询评价标签 + for (var i = 0; i < labels.length; i++) { + if (labels[i].check) { + evaLabList.push(labels[i].LabelName); + } + } + var url = th.data.url + "/api/weshop/evaluation/evaluate/insert"; + var posNo = th.data.number; //收银单号 + var proposal = th.data.proposal; //用户建议内容 + var fromType = th.data.fromType; //评价来源 + var json = { + "evaLabList": evaLabList, + "fromType": 1, + "number": posNo, + "remark": proposal, + "star": stars + 1, + "storeId": a.stoid + }; + var data = JSON.stringify(json); //转换成json格式 + wx.request({ + url: url, + data: data, + method: 'POST', + header: { + 'content-type': 'application/json' + }, // 设置请求的 header + success: function(res) { + wx.hideLoading(); + if (res.data.code == 0) { + getApp().my_warnning("评价成功", 1, th); + var namber=th.data.number; + setTimeout(function() { + wx.redirectTo({ + url: "/packageB/pages/evaluate_list/evaluate_list?IsEvaluate=1" + }); + }, 2000); + } else { + getApp().my_warnning(res.data.msg, 0, th); + } + } + }) + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function(options) { + var th = this; + th.setData({ + number: options.number, + //is_evaluate: options.evaluate + }) + //th.query_bea(); + //th.judge_act(); + var userinfo=getApp().globalData.userInfo; + console.log("userinfo",userinfo) + + if(!userinfo){ + getApp().goto("/pages/togoin/togoin"); + } + + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + //var th = this; + //var is_evaluate = th.data.is_evaluate; + //if (is_evaluate == 1) { + // th.evaluate_get(); + //} + //判断有没有评价 + this.check_is_pj(); + }, + + + //评价其他跳转 + evaluate_qt:function(e){ + var status=e.currentTarget.dataset.status; + if(!status) status=0; + wx.redirectTo({ + url: "/packageB/pages/evaluate_list/evaluate_list?IsEvaluate="+status + }); + }, + + + + //点击领取礼包 + clike_lb:function(){ + + var id=this.data.actId; + var gifbagid = this.data.gifbagid; + console.log(id,"订单", this.data.number), + wx.redirectTo({ + url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType=2&orderNumber="+this.data.number + }); + + }, + + //--评价有礼判断--- + judge_act: function () { + var th = this; + var url = "/api/weshop/marketing/comment/act/judge"; + getApp().request.promiseGet(url, { + data: { + orderNumber: th.data.number, + orderType: 2, + storeId: a.stoid, + userId: d.user_id + } + }).then(res => { + if (res.data.code == 0) { + var id = res.data.data.id; + var giftbagid = res.data.data.giftbagid; + th.setData({ + is_act: 1, + actId: id, + giftBagId: giftbagid + }) + } else{ + th.setData({ + is_act:0 + }) + } + }) + }, + + //判断是不是已经评价了 + check_is_pj:function(){ + var th=this; + var chekc_data={}; + chekc_data['storeId'] = a.stoid; + chekc_data['number'] =this.data.number; + getApp().request.get("/api/weshop/evaluation/evaluate/check",{ + data:chekc_data, + success:function(res){ + if(res.data.code==0){ + //没有评价的情况下 + if(res.data.data==='0'){ + th.query_bea(); + th.setData({is_get:1}) + }else if(res.data.data==="1"){ + th.evaluate_get(); + th.setData({is_evaluate:1,is_get:1}) + } + }else{ + getApp().my_warnning(res.data.msg, 0, th); + } + } + }) + + }, + + //跳转到链接地址 + goto:function(e){ + var url=e.currentTarget.dataset.url; + getApp().goto(url); + }, + + //弹出显示商品 + show_goods:function(e){ + var index=e.currentTarget.dataset.index; + var item=this.data.beautician[index]; + var show_goods_list=item.list; + this.setData({ + show_goods_list:show_goods_list, + sh_pop:1 + }) + }, + + //关闭弹出 + close_pop:function(){ + this.setData({ + show_goods_list:null,sh_pop:0 + }) + } + +}) \ No newline at end of file diff --git a/packageB/pages/evaluate/evaluate.json b/packageB/pages/evaluate/evaluate.json new file mode 100644 index 0000000..c17a03b --- /dev/null +++ b/packageB/pages/evaluate/evaluate.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "导购评价", + "usingComponents": { + "qr_code": "/components/qr_code/qr_code", + "warn": "/components/long_warn/long_warn" + } +} \ No newline at end of file diff --git a/packageB/pages/evaluate/evaluate.wxml b/packageB/pages/evaluate/evaluate.wxml new file mode 100644 index 0000000..ebfa0e5 --- /dev/null +++ b/packageB/pages/evaluate/evaluate.wxml @@ -0,0 +1,142 @@ + + + + + + + + + + 导购名称: + + {{it.StaffName?it.StaffName:'无'}} + + + + + 购买商品: + {{it.list[0].WareName}} + + + + + 购买时间: + {{it.BillDate}} + + + + + 评价时间: + {{EvaluateDatetime}} + + + + + + + + + + + + + + + + {{proposal}} + + + + + + + {{item.LabelName}} + + + + + + + {{item.LabelName}} + + + + + + + + + + + + + + + + 评价成功 + + + + + + + + + 确认提交 + + + + + + + 评价其他 + + + 查看已评价的订单 + + + + + + + + 溜街 + + + + + + 领券 + + + + + + + 点击领取礼品 + + + + + + + + diff --git a/packageB/pages/evaluate/evaluate.wxss b/packageB/pages/evaluate/evaluate.wxss new file mode 100644 index 0000000..a48f95a --- /dev/null +++ b/packageB/pages/evaluate/evaluate.wxss @@ -0,0 +1,174 @@ +.container { + border-top: 7rpx solid rgb(245, 245, 245); + padding-bottom: 100rpx; + background-color: rgb(255, 255, 255); +} + +.head { + height: 270rpx; +} + +.headimg { + width: 190rpx; + height: 190rpx; + border-radius: 50%; +} + +.item { + margin-bottom: 20rpx; +} + +.itemlf { + width: 195rpx; +} + +.itemlr { + width: 360rpx; +} + +.starss { + margin-top: 15rpx; + border-top: 3rpx dashed rgb(203, 203, 203); + padding-top: 25rpx; + padding-left: 15rpx; +} + +.stars { + width: 50rpx; + height: 50rpx; + margin-right: 20rpx; +} + +.datetime { + width: 190rpx; +} + +.tea_labs { + padding: 0rpx 56rpx; + margin-top: 20rpx; +} + +.proposal { + right: 20rpx; + bottom: 20rpx; + color: rgb(152, 152, 152); +} + +.textarea { + width: 100%; + height: 200rpx; + margin-top: 70rpx; + border: 2rpx solid rgb(203, 203, 203); + border-radius: 13rpx; + padding-top: 25rpx; + padding-left: 30rpx; + margin-bottom: 30rpx; + padding-right: 15rpx; + padding-bottom: 20rpx; +} + +.labels { + display: inline-block; + max-height: 240rxp; + line-height: 50rpx; + padding-left: 15rpx; +} + +.label { + padding: 0rpx 10rpx; + height: 48rpx; + line-height: 48rpx; + border: 2rpx solid rgb(218, 218, 218); + color: rgb(152, 152, 152); + border-radius: 5rpx; + margin-right: 20rpx; + width: 165rpx; + display: inline-block; + text-align: center; + margin-bottom: 10rpx; +} + +/* 选择标签的样式 */ + +.checklabel { + border: 2rpx solid rgb(214, 1, 33); + background-color: rgb(255, 231, 235); + color: rgb(214, 1, 33); +} + +.feedback { + color: rgb(152, 152, 152); + margin-bottom: 70rpx; +} + +.Subs { + background-color: rgb(255, 255, 255); + position: fixed; + width: 100%; + bottom: 40rpx; +} + +.Submission { + width: 400rpx; + height: 65rpx; + border-radius: 60rpx; + background-color: rgb(214, 1, 33); + color: rgb(255, 255, 255); +} +.Submission.yellow-b{ + background-color: #ffb03f; + +} + +.clonri { + margin: 0rpx; +} + +.subSuccess { + position: fixed; + z-index: 3; + top: 435rpx; + left: 66rpx; + background-color: #a6a6a6a4; + width: 615rpx; + height: 315rpx; + border-radius: 20rpx; + color: rgb(255, 255, 255); +} + +.Success { + width: 110rpx; + height: 110rpx; + margin-top: 50rpx; + margin-bottom: 45rpx; +} + +.show_icon{ + width: 50%; + margin: 0 auto; + display: flex; justify-content: space-between; +} + +.icon_item{ + display: flex;align-items: center; justify-content: center; font-size: 26rpx; text-align: center; + width: 140rpx; height: 140rpx; border: 1rpx solid #eee; border-radius: 50%; line-height: 34rpx; +} + +.go_right::after{ + content: ''; + display: inline-block; + width: 20rpx; + height: 20rpx; + border-top:1rpx solid #999 ; + border-right: 1rpx solid #999; + transform: rotate(45deg); +} + +.show_pop_div{ + position: fixed; max-height:50%; left: 0;top:50%; transform: translateY(-50%); overflow-y: auto; + background-color: #fff; text-align: center; z-index: 100000; width: 100%; min-height: 300rpx; +} + +.show_pop_div .title{ + height: 100rpx; line-height: 100rpx; border-bottom: 1rpx solid #eee; font-size: 34rpx; +} diff --git a/packageB/pages/evaluate_list/evaluate_list.js b/packageB/pages/evaluate_list/evaluate_list.js new file mode 100644 index 0000000..0ef06b7 --- /dev/null +++ b/packageB/pages/evaluate_list/evaluate_list.js @@ -0,0 +1,110 @@ + var e = getApp(), + os = e.globalData.setting, + t = e.request, + d = e.globalData; +Page({ + /** + * 页面的初始数据 + */ + data: { + url: os.url, //接口网址 + iurl: os.imghost, + defimgurl: "/miniapp/images/no-head.jpg", + list:[], + }, + + //图片失败,默认图片 + bind_bnerr1: function (e) { + var th = this; + var _errImg = e.target.dataset.errorimg; + var _Img = e.target.dataset.img; + if (_Img != undefined) { + var _errObj = {}; + _errObj[_errImg] = "/miniapp/images/no-head.jpg"; + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + } + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function(options) { + var th=this; + getApp().getConfig(function(e){ + th.setData({img:e.store_logo}); + }) + + var IsEvaluate=options.IsEvaluate?options.IsEvaluate:0; + this.setData({IsEvaluate:parseInt(IsEvaluate) }); + this.get_list(); + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + + }, + + get_list:function(){ + var th=this; + var req={ + storeId:os.stoid, + VIPId:getApp().globalData.userInfo.erpvipid, + IsEvaluate:0 + } + if(parseInt(this.data.IsEvaluate)){ + req.IsEvaluate=1; + } + + var url="/api/weshop/evaluation/FormListNew/page"; //获取评价列表 + getApp().request.get(url,{ + data:req, + success:function(res){ + console.log(res); + th.setData({is_get:1}); + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + th.setData({list:res.data.data.pageData}); + } + }, + }) + }, + + go_evaluate(e){ + var idx=e.currentTarget.dataset.index; + var item=this.data.list[idx]; + var posno=item.PosNo; + getApp().goto("/packageB/pages/evaluate/evaluate?number="+posno); + }, + + //弹出显示商品详情 + show_pop:function(e){ + var idx=e.currentTarget.dataset.index; + var item=this.data.list[idx]; + var posno=item.PosNo; + var th=this; + //获取商品详情 + var url="/api/weshop/evaluation/Evaluatewares/page"; + getApp().request.get(url,{ + isShowLoading:true, + data:{storeId:os.stoid,POSNo:posno}, + success:function(res){ + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + th.setData({show_goods_list:res.data.data.pageData,sh_pop:1}); + } + } + }) + }, + + //关闭弹出 + close_pop:function(){ + this.setData({ + show_goods_list:null,sh_pop:0 + }) + } + + + + + +}) \ No newline at end of file diff --git a/packageB/pages/evaluate_list/evaluate_list.json b/packageB/pages/evaluate_list/evaluate_list.json new file mode 100644 index 0000000..bd72270 --- /dev/null +++ b/packageB/pages/evaluate_list/evaluate_list.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "评价列表", + "usingComponents": { + "qr_code": "/components/qr_code/qr_code", + "warn": "/components/long_warn/long_warn" + } +} \ No newline at end of file diff --git a/packageB/pages/evaluate_list/evaluate_list.wxml b/packageB/pages/evaluate_list/evaluate_list.wxml new file mode 100644 index 0000000..04aae0b --- /dev/null +++ b/packageB/pages/evaluate_list/evaluate_list.wxml @@ -0,0 +1,51 @@ + + + + + 暂无订单或未设置评价信息 + + + + + + + + + + + + 4.9 + + + {{item.WareName}} + + + + 消费时间:{{item.BillDate}} + 查看评价 + 去评价 + + + + + + + + + + + + + + diff --git a/packageB/pages/evaluate_list/evaluate_list.wxss b/packageB/pages/evaluate_list/evaluate_list.wxss new file mode 100644 index 0000000..d2f31e1 --- /dev/null +++ b/packageB/pages/evaluate_list/evaluate_list.wxss @@ -0,0 +1,28 @@ +.item{ padding:10rpx 20rpx; border-bottom: 20rpx solid #ebeced} +.line_item{ height: 36rpx;} +.logo{ + width: 160rpx; height: 160rpx; border-radius: 50%; border: 1rpx solid #eee; +} +.go_right{position: relative;top:-10rpx;right: 10rpx;} +.go_right::after{ + content: ''; + display: inline-block; + width: 20rpx; + height: 20rpx; + border-top:1rpx solid #333 ; + border-right: 1rpx solid #333; + transform: rotate(45deg); +} +.btn{ + padding: 10rpx 16rpx; border: 1rpx solid #c4182e; color: #c4182e; border-radius: 8rpx; +} + + +.show_pop_div{ + width: 96%; margin-left: 2%; position: fixed; max-height:50%; left: 0;top:50%; transform: translateY(-50%); overflow-y: auto; + background-color: #fff; text-align: center; z-index: 100000; min-height: 300rpx; +} + +.show_pop_div .title{ + height: 100rpx; line-height: 100rpx; border-bottom: 1rpx solid #eee; font-size: 34rpx; +} -- libgit2 0.21.4