Commit d3875c47f410a817e2681d0dd18da21a7c2a2ca0
Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into dev
Showing
9 changed files
with
870 additions
and
1 deletions
app.json
| ... | ... | @@ -154,7 +154,9 @@ |
| 154 | 154 | "pages/user/view_comment/view_comment", |
| 155 | 155 | "pages/user/add_comment/add_comment", |
| 156 | 156 | "pages/user/user_coupon/user_coupon", |
| 157 | - "pages/user/buyDetails/buyDetails" | |
| 157 | + "pages/user/buyDetails/buyDetails", | |
| 158 | + "pages/evaluate/evaluate", | |
| 159 | + "pages/evaluate_list/evaluate_list" | |
| 158 | 160 | ] |
| 159 | 161 | |
| 160 | 162 | } | ... | ... |
packageB/pages/evaluate/evaluate.js
0 → 100644
| 1 | + var e = getApp(), | |
| 2 | + a = e.globalData.setting, | |
| 3 | + os = a, | |
| 4 | + t = e.request, | |
| 5 | + d = e.globalData; | |
| 6 | +Page({ | |
| 7 | + | |
| 8 | + /** | |
| 9 | + * 页面的初始数据 | |
| 10 | + */ | |
| 11 | + data: { | |
| 12 | + url: a.url, //接口网址 | |
| 13 | + iurl: a.imghost, | |
| 14 | + defimgurl: "/miniapp/images/no-head.jpg", | |
| 15 | + stars_index: -1, //当前点击的星星下标 | |
| 16 | + labels: [], //星级标签数组 | |
| 17 | + sub_evaluate: 0, //是否评价成功 | |
| 18 | + proposal: "", //用户输入的建议 | |
| 19 | + proposal_size: 100, //评价意见和建议限定字数 | |
| 20 | + number: "", //订单单号 | |
| 21 | + beautician: "", //美容师信息 | |
| 22 | + fromType: "服务评价", //评价来源 | |
| 23 | + arrangeTime: "", //服务日期 | |
| 24 | + is_evaluate: 0, //是否评价 | |
| 25 | + EvaluateDatetime: "", //评价时间 | |
| 26 | + is_act:0, //是否能购获取图片 | |
| 27 | + actId:0, //活动ID | |
| 28 | + giftBagId:0, //礼包ID | |
| 29 | + | |
| 30 | + }, | |
| 31 | + //点击星级 | |
| 32 | + check_stars: function(e) { | |
| 33 | + var th = this; | |
| 34 | + var is_evaluate = th.data.is_evaluate; //0可点击 | |
| 35 | + if (is_evaluate == 0) { | |
| 36 | + var index = e.currentTarget.dataset.index; | |
| 37 | + var stars_index = th.data.stars_index; | |
| 38 | + if (index != stars_index) { | |
| 39 | + var url = "/api/weshop/marketing/reservation/star/label/list"; | |
| 40 | + getApp().request.promiseGet(url, { | |
| 41 | + data: { | |
| 42 | + Star: index + 1, | |
| 43 | + storeId: a.stoid | |
| 44 | + } | |
| 45 | + }).then(res => { | |
| 46 | + if (res.data.code == 0) { | |
| 47 | + th.setData({ | |
| 48 | + labels: res.data.data | |
| 49 | + }) | |
| 50 | + } else { | |
| 51 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 52 | + return; | |
| 53 | + } | |
| 54 | + }) | |
| 55 | + th.setData({ | |
| 56 | + stars_index: index | |
| 57 | + }) | |
| 58 | + } | |
| 59 | + } | |
| 60 | + }, | |
| 61 | + //输入评价意见和建议 | |
| 62 | + input_proposal: function(e) { | |
| 63 | + var th = this; | |
| 64 | + var value = e.detail.value; | |
| 65 | + th.setData({ | |
| 66 | + proposal: value | |
| 67 | + }) | |
| 68 | + }, | |
| 69 | + //图片失败,默认图片 | |
| 70 | + bind_bnerr1: function (e) { | |
| 71 | + var th = this; | |
| 72 | + var _errImg = e.target.dataset.errorimg; | |
| 73 | + var _Img = e.target.dataset.img; | |
| 74 | + if (_Img != undefined) { | |
| 75 | + var _errObj = {}; | |
| 76 | + _errObj[_errImg] = "/miniapp/images/no-head.jpg"; | |
| 77 | + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
| 78 | + } | |
| 79 | + }, | |
| 80 | + //选择标签 | |
| 81 | + check_label: function(e) { | |
| 82 | + var th = this; | |
| 83 | + var evaluate = th.data.is_evaluate; //0为未评价,未评价才可点击标签 | |
| 84 | + if (evaluate == 0) { | |
| 85 | + var index = e.currentTarget.dataset.index; | |
| 86 | + var label_id = th.data.labels[index].check; | |
| 87 | + var labels = 'labels[' + index + '].check'; | |
| 88 | + if (label_id) { | |
| 89 | + label_id = 0 | |
| 90 | + } else { | |
| 91 | + label_id = 1 | |
| 92 | + } | |
| 93 | + th.setData({ | |
| 94 | + [labels]: label_id | |
| 95 | + }) | |
| 96 | + } | |
| 97 | + }, | |
| 98 | + | |
| 99 | + //查询美导信息 | |
| 100 | + query_bea: function() { | |
| 101 | + var th = this; | |
| 102 | + var url = "/api/weshop/order/pagePosOrder"; | |
| 103 | + var number = th.data.number; //订单编号 | |
| 104 | + getApp().request.promiseGet(url, { | |
| 105 | + data: { | |
| 106 | + store_id: a.stoid, | |
| 107 | + user_id: d.user_id, | |
| 108 | + No: number | |
| 109 | + } | |
| 110 | + }).then(res => { | |
| 111 | + if (res.data.code == 0) { | |
| 112 | + var data = res.data.data.pageData; | |
| 113 | + var arrangeTime = data[0].ArrangeTime; | |
| 114 | + th.setData({ | |
| 115 | + beautician: data, | |
| 116 | + arrangeTime: arrangeTime | |
| 117 | + }) | |
| 118 | + } else { | |
| 119 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 120 | + } | |
| 121 | + }) | |
| 122 | + }, | |
| 123 | + | |
| 124 | + //获取预约评价 | |
| 125 | + evaluate_get: function() { | |
| 126 | + var th = this; | |
| 127 | + var url = "/api/weshop/evaluation/evaluate/get"; | |
| 128 | + getApp().request.promiseGet(url, { | |
| 129 | + data: { | |
| 130 | + number: th.data.number, | |
| 131 | + storeId: a.stoid | |
| 132 | + } | |
| 133 | + }).then(res => { | |
| 134 | + if (res.data.code == 0) { | |
| 135 | + var list=[]; | |
| 136 | + res.data.data.BillDate=res.data.data.BillDate.replace(".0",''); | |
| 137 | + list.push(res.data.data); | |
| 138 | + | |
| 139 | + th.setData({ | |
| 140 | + stars_index: res.data.data.Star-1, | |
| 141 | + labels: res.data.data.EvaluationList, | |
| 142 | + proposal: res.data.data.Remark, | |
| 143 | + EvaluateDatetime: res.data.data.EvaluateDatetime.substring(0, 19), | |
| 144 | + beautician:list, | |
| 145 | + }) | |
| 146 | + } else { | |
| 147 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 148 | + } | |
| 149 | + }) | |
| 150 | + }, | |
| 151 | + //提交评价 | |
| 152 | + evaluate_save: function() { | |
| 153 | + var th = this; | |
| 154 | + var stars = th.data.stars_index; //评价星级 | |
| 155 | + var proposal = th.data.proposal; | |
| 156 | + //判断是否评级 | |
| 157 | + if (stars < 0) { | |
| 158 | + getApp().my_warnning("请进行评分", 0, th); | |
| 159 | + return false; | |
| 160 | + } else if (proposal == "") { | |
| 161 | + getApp().my_warnning("给点建议呗", 0, th); | |
| 162 | + return false; | |
| 163 | + } | |
| 164 | + wx.showLoading({ | |
| 165 | + title: '加载中', | |
| 166 | + }) | |
| 167 | + var labels = th.data.labels; //星级标签数组 | |
| 168 | + var evaLabList = []; //用户选择的评价标签 | |
| 169 | + // 查询评价标签 | |
| 170 | + for (var i = 0; i < labels.length; i++) { | |
| 171 | + if (labels[i].check) { | |
| 172 | + evaLabList.push(labels[i].LabelName); | |
| 173 | + } | |
| 174 | + } | |
| 175 | + var url = th.data.url + "/api/weshop/evaluation/evaluate/insert"; | |
| 176 | + var posNo = th.data.number; //收银单号 | |
| 177 | + var proposal = th.data.proposal; //用户建议内容 | |
| 178 | + var fromType = th.data.fromType; //评价来源 | |
| 179 | + var json = { | |
| 180 | + "evaLabList": evaLabList, | |
| 181 | + "fromType": 1, | |
| 182 | + "number": posNo, | |
| 183 | + "remark": proposal, | |
| 184 | + "star": stars + 1, | |
| 185 | + "storeId": a.stoid | |
| 186 | + }; | |
| 187 | + var data = JSON.stringify(json); //转换成json格式 | |
| 188 | + wx.request({ | |
| 189 | + url: url, | |
| 190 | + data: data, | |
| 191 | + method: 'POST', | |
| 192 | + header: { | |
| 193 | + 'content-type': 'application/json' | |
| 194 | + }, // 设置请求的 header | |
| 195 | + success: function(res) { | |
| 196 | + wx.hideLoading(); | |
| 197 | + if (res.data.code == 0) { | |
| 198 | + getApp().my_warnning("评价成功", 1, th); | |
| 199 | + var namber=th.data.number; | |
| 200 | + setTimeout(function() { | |
| 201 | + wx.redirectTo({ | |
| 202 | + url: "/packageB/pages/evaluate_list/evaluate_list?IsEvaluate=1" | |
| 203 | + }); | |
| 204 | + }, 2000); | |
| 205 | + } else { | |
| 206 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 207 | + } | |
| 208 | + } | |
| 209 | + }) | |
| 210 | + }, | |
| 211 | + | |
| 212 | + /** | |
| 213 | + * 生命周期函数--监听页面加载 | |
| 214 | + */ | |
| 215 | + onLoad: function(options) { | |
| 216 | + var th = this; | |
| 217 | + th.setData({ | |
| 218 | + number: options.number, | |
| 219 | + //is_evaluate: options.evaluate | |
| 220 | + }) | |
| 221 | + //th.query_bea(); | |
| 222 | + //th.judge_act(); | |
| 223 | + var userinfo=getApp().globalData.userInfo; | |
| 224 | + console.log("userinfo",userinfo) | |
| 225 | + | |
| 226 | + if(!userinfo){ | |
| 227 | + getApp().goto("/pages/togoin/togoin"); | |
| 228 | + } | |
| 229 | + | |
| 230 | + | |
| 231 | + }, | |
| 232 | + | |
| 233 | + /** | |
| 234 | + * 生命周期函数--监听页面显示 | |
| 235 | + */ | |
| 236 | + onShow: function() { | |
| 237 | + //var th = this; | |
| 238 | + //var is_evaluate = th.data.is_evaluate; | |
| 239 | + //if (is_evaluate == 1) { | |
| 240 | + // th.evaluate_get(); | |
| 241 | + //} | |
| 242 | + //判断有没有评价 | |
| 243 | + this.check_is_pj(); | |
| 244 | + }, | |
| 245 | + | |
| 246 | + | |
| 247 | + //评价其他跳转 | |
| 248 | + evaluate_qt:function(e){ | |
| 249 | + var status=e.currentTarget.dataset.status; | |
| 250 | + if(!status) status=0; | |
| 251 | + wx.redirectTo({ | |
| 252 | + url: "/packageB/pages/evaluate_list/evaluate_list?IsEvaluate="+status | |
| 253 | + }); | |
| 254 | + }, | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + //点击领取礼包 | |
| 259 | + clike_lb:function(){ | |
| 260 | + | |
| 261 | + var id=this.data.actId; | |
| 262 | + var gifbagid = this.data.gifbagid; | |
| 263 | + console.log(id,"订单", this.data.number), | |
| 264 | + wx.redirectTo({ | |
| 265 | + url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType=2&orderNumber="+this.data.number | |
| 266 | + }); | |
| 267 | + | |
| 268 | + }, | |
| 269 | + | |
| 270 | + //--评价有礼判断--- | |
| 271 | + judge_act: function () { | |
| 272 | + var th = this; | |
| 273 | + var url = "/api/weshop/marketing/comment/act/judge"; | |
| 274 | + getApp().request.promiseGet(url, { | |
| 275 | + data: { | |
| 276 | + orderNumber: th.data.number, | |
| 277 | + orderType: 2, | |
| 278 | + storeId: a.stoid, | |
| 279 | + userId: d.user_id | |
| 280 | + } | |
| 281 | + }).then(res => { | |
| 282 | + if (res.data.code == 0) { | |
| 283 | + var id = res.data.data.id; | |
| 284 | + var giftbagid = res.data.data.giftbagid; | |
| 285 | + th.setData({ | |
| 286 | + is_act: 1, | |
| 287 | + actId: id, | |
| 288 | + giftBagId: giftbagid | |
| 289 | + }) | |
| 290 | + } else{ | |
| 291 | + th.setData({ | |
| 292 | + is_act:0 | |
| 293 | + }) | |
| 294 | + } | |
| 295 | + }) | |
| 296 | + }, | |
| 297 | + | |
| 298 | + //判断是不是已经评价了 | |
| 299 | + check_is_pj:function(){ | |
| 300 | + var th=this; | |
| 301 | + var chekc_data={}; | |
| 302 | + chekc_data['storeId'] = a.stoid; | |
| 303 | + chekc_data['number'] =this.data.number; | |
| 304 | + getApp().request.get("/api/weshop/evaluation/evaluate/check",{ | |
| 305 | + data:chekc_data, | |
| 306 | + success:function(res){ | |
| 307 | + if(res.data.code==0){ | |
| 308 | + //没有评价的情况下 | |
| 309 | + if(res.data.data==='0'){ | |
| 310 | + th.query_bea(); | |
| 311 | + th.setData({is_get:1}) | |
| 312 | + }else if(res.data.data==="1"){ | |
| 313 | + th.evaluate_get(); | |
| 314 | + th.setData({is_evaluate:1,is_get:1}) | |
| 315 | + } | |
| 316 | + }else{ | |
| 317 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 318 | + } | |
| 319 | + } | |
| 320 | + }) | |
| 321 | + | |
| 322 | + }, | |
| 323 | + | |
| 324 | + //跳转到链接地址 | |
| 325 | + goto:function(e){ | |
| 326 | + var url=e.currentTarget.dataset.url; | |
| 327 | + getApp().goto(url); | |
| 328 | + }, | |
| 329 | + | |
| 330 | + //弹出显示商品 | |
| 331 | + show_goods:function(e){ | |
| 332 | + var index=e.currentTarget.dataset.index; | |
| 333 | + var item=this.data.beautician[index]; | |
| 334 | + var show_goods_list=item.list; | |
| 335 | + this.setData({ | |
| 336 | + show_goods_list:show_goods_list, | |
| 337 | + sh_pop:1 | |
| 338 | + }) | |
| 339 | + }, | |
| 340 | + | |
| 341 | + //关闭弹出 | |
| 342 | + close_pop:function(){ | |
| 343 | + this.setData({ | |
| 344 | + show_goods_list:null,sh_pop:0 | |
| 345 | + }) | |
| 346 | + } | |
| 347 | + | |
| 348 | +}) | |
| 0 | 349 | \ No newline at end of file | ... | ... |
packageB/pages/evaluate/evaluate.json
0 → 100644
packageB/pages/evaluate/evaluate.wxml
0 → 100644
| 1 | +<view class="container" wx:for="{{beautician}}" wx:if="{{index<1}}" wx:for-item="it"> | |
| 2 | + <!-- 头像 --> | |
| 3 | + <view class="flex-center head"> | |
| 4 | + <image class="headimg" src="{{!it.PhotoUrl || it.PhotoUrl==''?iurl+defimgurl:it.PhotoUrl}}" lazy-load="true" | |
| 5 | + data-errorimg="beautician[{{index}}].PhotoUrl" | |
| 6 | + binderror="bind_bnerr1" data-img="beautician[{{index}}].PhotoUrl"></image> | |
| 7 | + </view> | |
| 8 | + | |
| 9 | + <!-- 姓名 --> | |
| 10 | + <view class="flex-level item"> | |
| 11 | + <view class="itemlf flex-level-right"> | |
| 12 | + <view class="fs32">导购名称:</view> | |
| 13 | + </view> | |
| 14 | + <view class="itemlr fs30 ellipsis-1">{{it.StaffName?it.StaffName:'无'}}</view> | |
| 15 | + </view> | |
| 16 | + | |
| 17 | + <!-- 项目 --> | |
| 18 | + <view class="flex-center item" bindtap="show_goods" data-index="{{index}}"> | |
| 19 | + <view class="itemlf fs32 flex-level-right">购买商品:</view> | |
| 20 | + <view class="itemlr fs30 ellipsis-1 go_right">{{it.list[0].WareName}}</view> | |
| 21 | + </view> | |
| 22 | + | |
| 23 | + <!-- 时间 --> | |
| 24 | + <view class="flex-center item"> | |
| 25 | + <view class="itemlf fs32 flex-level-right">购买时间:</view> | |
| 26 | + <view class="itemlr fs30">{{it.BillDate}}</view> | |
| 27 | + </view> | |
| 28 | + | |
| 29 | + <!-- 评价时间 --> | |
| 30 | + <view class="flex-center" wx:if="{{is_evaluate==1}}"> | |
| 31 | + <view class="itemlf fs32 flex-level-right">评价时间:</view> | |
| 32 | + <view class="itemlr fs30">{{EvaluateDatetime}}</view> | |
| 33 | + </view> | |
| 34 | + | |
| 35 | + <!-- 设置虚线 --> | |
| 36 | + <view class="flex-center"> | |
| 37 | + <view class="starss"> | |
| 38 | + <image class="stars" src="{{iurl}}{{key<=stars_index?'/miniapp/images/StarsredCk.png':'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{5}}" bindtap="check_stars" data-index="{{key}}" wx:for-index="key"></image> | |
| 39 | + </view> | |
| 40 | + </view> | |
| 41 | + <view class="tea_labs"> | |
| 42 | + <view class="flex-center fs26"> | |
| 43 | + <block wx:if="{{is_evaluate==0}}"> | |
| 44 | + <textarea class="rel textarea" placeholder="写其他意见和建议" placeholder-class="fs24" maxlength="{{proposal_size}}" bindinput="input_proposal" value="{{proposal}}"> | |
| 45 | + <!-- 提示已输入多少数字 --> | |
| 46 | + <view if="{{is_evaluate==0}}" class="proposal abs">{{proposal.length}}/{{proposal_size}}</view> | |
| 47 | + </textarea> | |
| 48 | + </block> | |
| 49 | + <block wx:else> | |
| 50 | + <view wx:if="{{proposal!=''}}" class="textarea"> | |
| 51 | + {{proposal}} | |
| 52 | + </view> | |
| 53 | + </block> | |
| 54 | + </view> | |
| 55 | + | |
| 56 | + <view wx:if="{{labels.length>0 && is_evaluate==0}}" class="labels flex fs24 ellipsis-3"> | |
| 57 | + <view class="label {{item.check==1?'checklabel':''}} flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key"> | |
| 58 | + <view class="ellipsis-1">{{item.LabelName}}</view> | |
| 59 | + </view> | |
| 60 | + | |
| 61 | + </view> | |
| 62 | + <view wx:if="{{labels.length>0 && is_evaluate==1}}" class="{{labels.length==1 || labels.length==2?'flex-center':''}}" style="width:100%;"> | |
| 63 | + <view class="labels flex fs24 ellipsis-3"> | |
| 64 | + <view class="label checklabel flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key"> | |
| 65 | + <view class="ellipsis-1">{{item.LabelName}}</view> | |
| 66 | + </view> | |
| 67 | + | |
| 68 | + </view> | |
| 69 | + </view> | |
| 70 | + | |
| 71 | + </view> | |
| 72 | + | |
| 73 | + <view wx:if="{{is_evaluate==0}}" class="feedback flex-center fs28"> | |
| 74 | + <view>满意的话请打五星噢,谢谢您的支持!</view> | |
| 75 | + </view> | |
| 76 | + | |
| 77 | + <block wx:if="{{sub_evaluate}}"> | |
| 78 | + <view class="subSuccess"> | |
| 79 | + <view class="flex-center"> | |
| 80 | + <image class="Success" src="{{iurl}}/miniapp/images/yyservice/Success.png"></image> | |
| 81 | + </view> | |
| 82 | + <view class="fs36 flex-center"> | |
| 83 | + <view>评价成功</view> | |
| 84 | + </view> | |
| 85 | + </view> | |
| 86 | + </block> | |
| 87 | +</view> | |
| 88 | + | |
| 89 | +<block wx:if="{{is_get}}"> | |
| 90 | +<navigator wx:if="{{is_evaluate==0}}" class="Subs fs32 flex-center"> | |
| 91 | + <view class="Submission flex-center" bindtap="evaluate_save"> | |
| 92 | + <view>确认提交</view> | |
| 93 | + </view> | |
| 94 | +</navigator> | |
| 95 | +<view wx:else> | |
| 96 | + | |
| 97 | + | |
| 98 | + <view style="margin: auto;margin-bottom: 30rpx;" class="Submission flex-center" bindtap="evaluate_qt"> | |
| 99 | + <view>评价其他</view> | |
| 100 | + </view> | |
| 101 | + <view style="margin: auto;margin-bottom: 30rpx;" class="Submission flex-center" bindtap="evaluate_qt" data-status="1"> | |
| 102 | + <view>查看已评价的订单</view> | |
| 103 | + </view> | |
| 104 | + | |
| 105 | + <!-- 显示来个图标 --> | |
| 106 | + <view class="show_icon" style="margin-top: 60rpx;"> | |
| 107 | + <view class="icon_item" bindtap="goto" data-url="/pages/index/index/index"> | |
| 108 | + <view> | |
| 109 | + <image style="width: 60rpx; height: 50rpx;" src="{{iurl}}/miniapp/images/evaluate/store.png"></image> | |
| 110 | + <view>溜街</view> | |
| 111 | + </view> | |
| 112 | + </view> | |
| 113 | + <view class="icon_item" bindtap="goto" data-url="/packageA/pages/quan_list/quan_list"> | |
| 114 | + <view> | |
| 115 | + <image style="width: 70rpx; height: 50rpx;" src="{{iurl}}/miniapp/images/evaluate/lq.png"></image> | |
| 116 | + <view>领券</view> | |
| 117 | + </view> | |
| 118 | + </view> | |
| 119 | + </view> | |
| 120 | + | |
| 121 | + <view style="height: 60rpx;"></view> | |
| 122 | + <view wx:if="{{is_act==1}}" style="margin: auto;margin-bottom: 30rpx;" class="Submission flex-center yellow-b" bindtap="clike_lb"> | |
| 123 | + <view>点击领取礼品</view> | |
| 124 | + </view> | |
| 125 | + </view> | |
| 126 | +<warn id="warn"></warn> | |
| 127 | +</block> | |
| 128 | + | |
| 129 | + | |
| 130 | +<view hidden="{{!sh_pop}}"> | |
| 131 | + <view class="cover-layer" bindtap="close_pop"></view> | |
| 132 | + <view class="show_pop_div"> | |
| 133 | + <view class="title">商品详情</view> | |
| 134 | + <view style="padding: 0 20rpx;"> | |
| 135 | + <view class="flex jc_sb fs30" style="margin-top: 20rpx;" wx:for="{{show_goods_list}}"> | |
| 136 | + <view>{{item.WareName}}</view> | |
| 137 | + <view>{{item.Qty}}</view> | |
| 138 | + </view> | |
| 139 | + </view> | |
| 140 | + </view> | |
| 141 | +</view> | |
| 142 | + | ... | ... |
packageB/pages/evaluate/evaluate.wxss
0 → 100644
| 1 | +.container { | |
| 2 | + border-top: 7rpx solid rgb(245, 245, 245); | |
| 3 | + padding-bottom: 100rpx; | |
| 4 | + background-color: rgb(255, 255, 255); | |
| 5 | +} | |
| 6 | + | |
| 7 | +.head { | |
| 8 | + height: 270rpx; | |
| 9 | +} | |
| 10 | + | |
| 11 | +.headimg { | |
| 12 | + width: 190rpx; | |
| 13 | + height: 190rpx; | |
| 14 | + border-radius: 50%; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.item { | |
| 18 | + margin-bottom: 20rpx; | |
| 19 | +} | |
| 20 | + | |
| 21 | +.itemlf { | |
| 22 | + width: 195rpx; | |
| 23 | +} | |
| 24 | + | |
| 25 | +.itemlr { | |
| 26 | + width: 360rpx; | |
| 27 | +} | |
| 28 | + | |
| 29 | +.starss { | |
| 30 | + margin-top: 15rpx; | |
| 31 | + border-top: 3rpx dashed rgb(203, 203, 203); | |
| 32 | + padding-top: 25rpx; | |
| 33 | + padding-left: 15rpx; | |
| 34 | +} | |
| 35 | + | |
| 36 | +.stars { | |
| 37 | + width: 50rpx; | |
| 38 | + height: 50rpx; | |
| 39 | + margin-right: 20rpx; | |
| 40 | +} | |
| 41 | + | |
| 42 | +.datetime { | |
| 43 | + width: 190rpx; | |
| 44 | +} | |
| 45 | + | |
| 46 | +.tea_labs { | |
| 47 | + padding: 0rpx 56rpx; | |
| 48 | + margin-top: 20rpx; | |
| 49 | +} | |
| 50 | + | |
| 51 | +.proposal { | |
| 52 | + right: 20rpx; | |
| 53 | + bottom: 20rpx; | |
| 54 | + color: rgb(152, 152, 152); | |
| 55 | +} | |
| 56 | + | |
| 57 | +.textarea { | |
| 58 | + width: 100%; | |
| 59 | + height: 200rpx; | |
| 60 | + margin-top: 70rpx; | |
| 61 | + border: 2rpx solid rgb(203, 203, 203); | |
| 62 | + border-radius: 13rpx; | |
| 63 | + padding-top: 25rpx; | |
| 64 | + padding-left: 30rpx; | |
| 65 | + margin-bottom: 30rpx; | |
| 66 | + padding-right: 15rpx; | |
| 67 | + padding-bottom: 20rpx; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.labels { | |
| 71 | + display: inline-block; | |
| 72 | + max-height: 240rxp; | |
| 73 | + line-height: 50rpx; | |
| 74 | + padding-left: 15rpx; | |
| 75 | +} | |
| 76 | + | |
| 77 | +.label { | |
| 78 | + padding: 0rpx 10rpx; | |
| 79 | + height: 48rpx; | |
| 80 | + line-height: 48rpx; | |
| 81 | + border: 2rpx solid rgb(218, 218, 218); | |
| 82 | + color: rgb(152, 152, 152); | |
| 83 | + border-radius: 5rpx; | |
| 84 | + margin-right: 20rpx; | |
| 85 | + width: 165rpx; | |
| 86 | + display: inline-block; | |
| 87 | + text-align: center; | |
| 88 | + margin-bottom: 10rpx; | |
| 89 | +} | |
| 90 | + | |
| 91 | +/* 选择标签的样式 */ | |
| 92 | + | |
| 93 | +.checklabel { | |
| 94 | + border: 2rpx solid rgb(214, 1, 33); | |
| 95 | + background-color: rgb(255, 231, 235); | |
| 96 | + color: rgb(214, 1, 33); | |
| 97 | +} | |
| 98 | + | |
| 99 | +.feedback { | |
| 100 | + color: rgb(152, 152, 152); | |
| 101 | + margin-bottom: 70rpx; | |
| 102 | +} | |
| 103 | + | |
| 104 | +.Subs { | |
| 105 | + background-color: rgb(255, 255, 255); | |
| 106 | + position: fixed; | |
| 107 | + width: 100%; | |
| 108 | + bottom: 40rpx; | |
| 109 | +} | |
| 110 | + | |
| 111 | +.Submission { | |
| 112 | + width: 400rpx; | |
| 113 | + height: 65rpx; | |
| 114 | + border-radius: 60rpx; | |
| 115 | + background-color: rgb(214, 1, 33); | |
| 116 | + color: rgb(255, 255, 255); | |
| 117 | +} | |
| 118 | +.Submission.yellow-b{ | |
| 119 | + background-color: #ffb03f; | |
| 120 | + | |
| 121 | +} | |
| 122 | + | |
| 123 | +.clonri { | |
| 124 | + margin: 0rpx; | |
| 125 | +} | |
| 126 | + | |
| 127 | +.subSuccess { | |
| 128 | + position: fixed; | |
| 129 | + z-index: 3; | |
| 130 | + top: 435rpx; | |
| 131 | + left: 66rpx; | |
| 132 | + background-color: #a6a6a6a4; | |
| 133 | + width: 615rpx; | |
| 134 | + height: 315rpx; | |
| 135 | + border-radius: 20rpx; | |
| 136 | + color: rgb(255, 255, 255); | |
| 137 | +} | |
| 138 | + | |
| 139 | +.Success { | |
| 140 | + width: 110rpx; | |
| 141 | + height: 110rpx; | |
| 142 | + margin-top: 50rpx; | |
| 143 | + margin-bottom: 45rpx; | |
| 144 | +} | |
| 145 | + | |
| 146 | +.show_icon{ | |
| 147 | + width: 50%; | |
| 148 | + margin: 0 auto; | |
| 149 | + display: flex; justify-content: space-between; | |
| 150 | +} | |
| 151 | + | |
| 152 | +.icon_item{ | |
| 153 | + display: flex;align-items: center; justify-content: center; font-size: 26rpx; text-align: center; | |
| 154 | + width: 140rpx; height: 140rpx; border: 1rpx solid #eee; border-radius: 50%; line-height: 34rpx; | |
| 155 | +} | |
| 156 | + | |
| 157 | +.go_right::after{ | |
| 158 | + content: ''; | |
| 159 | + display: inline-block; | |
| 160 | + width: 20rpx; | |
| 161 | + height: 20rpx; | |
| 162 | + border-top:1rpx solid #999 ; | |
| 163 | + border-right: 1rpx solid #999; | |
| 164 | + transform: rotate(45deg); | |
| 165 | +} | |
| 166 | + | |
| 167 | +.show_pop_div{ | |
| 168 | + position: fixed; max-height:50%; left: 0;top:50%; transform: translateY(-50%); overflow-y: auto; | |
| 169 | + background-color: #fff; text-align: center; z-index: 100000; width: 100%; min-height: 300rpx; | |
| 170 | +} | |
| 171 | + | |
| 172 | +.show_pop_div .title{ | |
| 173 | + height: 100rpx; line-height: 100rpx; border-bottom: 1rpx solid #eee; font-size: 34rpx; | |
| 174 | +} | ... | ... |
packageB/pages/evaluate_list/evaluate_list.js
0 → 100644
| 1 | + var e = getApp(), | |
| 2 | + os = e.globalData.setting, | |
| 3 | + t = e.request, | |
| 4 | + d = e.globalData; | |
| 5 | +Page({ | |
| 6 | + /** | |
| 7 | + * 页面的初始数据 | |
| 8 | + */ | |
| 9 | + data: { | |
| 10 | + url: os.url, //接口网址 | |
| 11 | + iurl: os.imghost, | |
| 12 | + defimgurl: "/miniapp/images/no-head.jpg", | |
| 13 | + list:[], | |
| 14 | + }, | |
| 15 | + | |
| 16 | + //图片失败,默认图片 | |
| 17 | + bind_bnerr1: function (e) { | |
| 18 | + var th = this; | |
| 19 | + var _errImg = e.target.dataset.errorimg; | |
| 20 | + var _Img = e.target.dataset.img; | |
| 21 | + if (_Img != undefined) { | |
| 22 | + var _errObj = {}; | |
| 23 | + _errObj[_errImg] = "/miniapp/images/no-head.jpg"; | |
| 24 | + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
| 25 | + } | |
| 26 | + }, | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 生命周期函数--监听页面加载 | |
| 30 | + */ | |
| 31 | + onLoad: function(options) { | |
| 32 | + var th=this; | |
| 33 | + getApp().getConfig(function(e){ | |
| 34 | + th.setData({img:e.store_logo}); | |
| 35 | + }) | |
| 36 | + | |
| 37 | + var IsEvaluate=options.IsEvaluate?options.IsEvaluate:0; | |
| 38 | + this.setData({IsEvaluate:parseInt(IsEvaluate) }); | |
| 39 | + this.get_list(); | |
| 40 | + }, | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * 生命周期函数--监听页面显示 | |
| 44 | + */ | |
| 45 | + onShow: function() { | |
| 46 | + | |
| 47 | + }, | |
| 48 | + | |
| 49 | + get_list:function(){ | |
| 50 | + var th=this; | |
| 51 | + var req={ | |
| 52 | + storeId:os.stoid, | |
| 53 | + VIPId:getApp().globalData.userInfo.erpvipid, | |
| 54 | + IsEvaluate:0 | |
| 55 | + } | |
| 56 | + if(parseInt(this.data.IsEvaluate)){ | |
| 57 | + req.IsEvaluate=1; | |
| 58 | + } | |
| 59 | + | |
| 60 | + var url="/api/weshop/evaluation/FormListNew/page"; //获取评价列表 | |
| 61 | + getApp().request.get(url,{ | |
| 62 | + data:req, | |
| 63 | + success:function(res){ | |
| 64 | + console.log(res); | |
| 65 | + th.setData({is_get:1}); | |
| 66 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 67 | + th.setData({list:res.data.data.pageData}); | |
| 68 | + } | |
| 69 | + }, | |
| 70 | + }) | |
| 71 | + }, | |
| 72 | + | |
| 73 | + go_evaluate(e){ | |
| 74 | + var idx=e.currentTarget.dataset.index; | |
| 75 | + var item=this.data.list[idx]; | |
| 76 | + var posno=item.PosNo; | |
| 77 | + getApp().goto("/packageB/pages/evaluate/evaluate?number="+posno); | |
| 78 | + }, | |
| 79 | + | |
| 80 | + //弹出显示商品详情 | |
| 81 | + show_pop:function(e){ | |
| 82 | + var idx=e.currentTarget.dataset.index; | |
| 83 | + var item=this.data.list[idx]; | |
| 84 | + var posno=item.PosNo; | |
| 85 | + var th=this; | |
| 86 | + //获取商品详情 | |
| 87 | + var url="/api/weshop/evaluation/Evaluatewares/page"; | |
| 88 | + getApp().request.get(url,{ | |
| 89 | + isShowLoading:true, | |
| 90 | + data:{storeId:os.stoid,POSNo:posno}, | |
| 91 | + success:function(res){ | |
| 92 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 93 | + th.setData({show_goods_list:res.data.data.pageData,sh_pop:1}); | |
| 94 | + } | |
| 95 | + } | |
| 96 | + }) | |
| 97 | + }, | |
| 98 | + | |
| 99 | + //关闭弹出 | |
| 100 | + close_pop:function(){ | |
| 101 | + this.setData({ | |
| 102 | + show_goods_list:null,sh_pop:0 | |
| 103 | + }) | |
| 104 | + } | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | +}) | |
| 0 | 111 | \ No newline at end of file | ... | ... |
packageB/pages/evaluate_list/evaluate_list.json
0 → 100644
packageB/pages/evaluate_list/evaluate_list.wxml
0 → 100644
| 1 | + | |
| 2 | +<block wx:if="{{list.length==0 && is_get}}"> | |
| 3 | + <view class="fs30" style="text-align: center;"> | |
| 4 | + <image mode="widthFix" style="width: 360rpx;" src="{{iurl}}/miniapp/images/user/nodistribut.png"></image> | |
| 5 | + <view style="margin-top: 30rpx;">暂无订单或未设置评价信息</view> | |
| 6 | + </view> | |
| 7 | +</block> | |
| 8 | +<block wx:else> | |
| 9 | + <view class="item flex fs26 ai-center" style="line-height: 34rpx;" wx:for="{{list}}"> | |
| 10 | + <view class="show_img" style="width: 26%; text-align: center;"> | |
| 11 | + <image class="logo" mode="aspectFit" src="{{iurl+img}}"></image> | |
| 12 | + </view> | |
| 13 | + <view style="width: 74%; padding-right: 6rpx;padding-left: 18rpx;"> | |
| 14 | + <view> | |
| 15 | + <view class="line_item flex ai-center fs28"> | |
| 16 | + <image style="width: 60rpx;" mode="widthFix" src="{{iurl}}/miniapp/images/evaluate/idcard.png"></image> | |
| 17 | + <image style="width: 30rpx; height: 30rpx; margin-left: 20rpx; margin-right: 10rpx;" src="{{iurl}}/miniapp/images/evaluate/starlit.png"></image>4.9 | |
| 18 | + </view> | |
| 19 | + <view class="line_item flex jc_sb ai-center" style="margin-top: 18rpx;"> | |
| 20 | + <view class="ellipsis-1" style="max-width: 90%;">{{item.WareName}}</view> | |
| 21 | + <view bindtap="show_pop" data-index="{{index}}" class="go_right"></view> | |
| 22 | + </view> | |
| 23 | + <view class="line_item flex jc_sb ai-center" style="margin-top: 14rpx;"> | |
| 24 | + <view class="fs24" style="color: #999;">消费时间:{{item.BillDate}}</view> | |
| 25 | + <view bindtap="go_evaluate" data-index="{{index}}" wx:if="{{IsEvaluate}}" class="btn">查看评价</view> | |
| 26 | + <view bindtap="go_evaluate" data-index="{{index}}" wx:else class="btn">去评价</view> | |
| 27 | + </view> | |
| 28 | + | |
| 29 | + </view> | |
| 30 | + </view> | |
| 31 | + </view> | |
| 32 | + | |
| 33 | + | |
| 34 | +</block> | |
| 35 | + | |
| 36 | + | |
| 37 | +<warn id="warn"></warn> | |
| 38 | +<!-- 显示商品列表 --> | |
| 39 | +<view hidden="{{!sh_pop}}"> | |
| 40 | + <view class="cover-layer" bindtap="close_pop"></view> | |
| 41 | + <view class="show_pop_div"> | |
| 42 | + <view class="title">商品详情</view> | |
| 43 | + <view style="padding: 0 20rpx;"> | |
| 44 | + <view class="flex jc_sb fs30" style="margin-top: 20rpx;" wx:for="{{show_goods_list}}"> | |
| 45 | + <view>{{item.WareName}}</view> | |
| 46 | + <view>{{item.Qty}}</view> | |
| 47 | + </view> | |
| 48 | + </view> | |
| 49 | + </view> | |
| 50 | +</view> | |
| 51 | + | ... | ... |
packageB/pages/evaluate_list/evaluate_list.wxss
0 → 100644
| 1 | +.item{ padding:10rpx 20rpx; border-bottom: 20rpx solid #ebeced} | |
| 2 | +.line_item{ height: 36rpx;} | |
| 3 | +.logo{ | |
| 4 | + width: 160rpx; height: 160rpx; border-radius: 50%; border: 1rpx solid #eee; | |
| 5 | +} | |
| 6 | +.go_right{position: relative;top:-10rpx;right: 10rpx;} | |
| 7 | +.go_right::after{ | |
| 8 | + content: ''; | |
| 9 | + display: inline-block; | |
| 10 | + width: 20rpx; | |
| 11 | + height: 20rpx; | |
| 12 | + border-top:1rpx solid #333 ; | |
| 13 | + border-right: 1rpx solid #333; | |
| 14 | + transform: rotate(45deg); | |
| 15 | +} | |
| 16 | +.btn{ | |
| 17 | + padding: 10rpx 16rpx; border: 1rpx solid #c4182e; color: #c4182e; border-radius: 8rpx; | |
| 18 | +} | |
| 19 | + | |
| 20 | + | |
| 21 | +.show_pop_div{ | |
| 22 | + width: 96%; margin-left: 2%; position: fixed; max-height:50%; left: 0;top:50%; transform: translateY(-50%); overflow-y: auto; | |
| 23 | + background-color: #fff; text-align: center; z-index: 100000; min-height: 300rpx; | |
| 24 | +} | |
| 25 | + | |
| 26 | +.show_pop_div .title{ | |
| 27 | + height: 100rpx; line-height: 100rpx; border-bottom: 1rpx solid #eee; font-size: 34rpx; | |
| 28 | +} | ... | ... |