Commit 50b3b08f0719cccd1e790d989df77369181225da

Authored by 后端研发-苏明海
2 parents 6ea9bd27 e63897b4

Merge branch 'dev' into 'test'

Dev

See merge request !187
pages/cart/cart2/cart2.js
... ... @@ -361,7 +361,7 @@ Page({
361 361 }
362 362 })
363 363  
364   - if(frozenQuan){
  364 + if (frozenQuan && arr[ind].quan_list){
365 365 arr[ind].quan_list=th.check_is_frozenQuan(arr[ind].quan_list,frozenQuan);
366 366 }
367 367  
... ... @@ -446,7 +446,7 @@ Page({
446 446 }
447 447 })
448 448  
449   - if(frozenQuan){
  449 + if (frozenQuan && quanlist){
450 450 quanlist=th.check_is_frozenQuan(quanlist,frozenQuan);
451 451 }
452 452  
... ... @@ -493,7 +493,7 @@ Page({
493 493 }
494 494 })
495 495  
496   - if(frozenQuan){
  496 + if (frozenQuan && quanlist){
497 497 quanlist=th.check_is_frozenQuan(quanlist,frozenQuan);
498 498 }
499 499 }
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -305,7 +305,6 @@ Page({
305 305 if (!user) return false;
306 306 clearInterval(ti);
307 307  
308   -
309 308 if(user.card_field ){
310 309 var str = user['card_expiredate'].replace(/-/g, '/');
311 310 var end = new Date(str);
... ... @@ -1573,7 +1572,7 @@ Page({
1573 1572 }
1574 1573  
1575 1574 var goods_list = this.selectComponent("#goods_list"); //组件的id
1576   - goods_list.get_list();
  1575 + if (goods_list) goods_list.get_list();
1577 1576 },
1578 1577  
1579 1578 //--------检查是否活动,活动是否开始,或者是否结束-------
... ...
pages/goods/goodsInfo/goodsInfo.wxml
... ... @@ -566,25 +566,8 @@
566 566 <view class="xc-recommend-word">推荐</view>
567 567 </view>
568 568 </view>
569   -
570   - <!-- 显示商品 -->
571   - <view class="xc-goods ">
572   - <view>
573   - <view bindtap="go_goods" data-gid="{{item.goods_id}}" class="rel xc-goods-recommend {{index%2==0?'':'ml'}}" wx:for="{{recommend_list}}">
574   - <image class="xc-goods-imgs" src="{{iurl+item.original_img}}"></image>
575   - <view class='xc-goods-bottom abs'>
576   - <view class="flex monry-frame">
577   - <view class="flex">
578   - <view class="three-level-word money-color-val rmb-symbol">¥</view>
579   - <view class="two-level-word money-color-val" style='margin-top:8rpx;'>{{item.shop_price}}</view>
580   - </view>
581   - <view class="word-lines xc-original-price"> 原价¥{{item.market_price}}</view>
582   - </view>
583   - <view class="xc-good-explain ellipsis-2">{{item.goods_name}}</view>
584   - </view>
585   - </view>
586   - </view>
587   - </view>
  569 +
  570 + <goods_recommend id="goods_list"></goods_recommend>
588 571  
589 572 </view>
590 573  
... ...
pages/user/my_service/appment_main.js
... ... @@ -47,23 +47,6 @@ Page({
47 47 },
48 48 //控制备注输入
49 49 check_text: function() {
50   - wx.requestSubscribeMessage({
51   - tmplIds: ['Jg7Tj-wPlDfsairz_EHBQdoQnzLLF4nVhT1weCBEmTE'],
52   - success(res) {
53   - console.log("222222222222222222222222222222");
54   - },
55   -
56   - fail(res) {
57   -
58   - console.log('fail 失败')
59   -
60   - console.log(res)
61   -
62   - logger.warn('订阅消息fail', res)
63   -
64   - }
65   - })
66   -
67 50 var th = this;
68 51 var is_textea = th.data.is_textea;
69 52 th.setData({
... ... @@ -77,11 +60,13 @@ Page({
77 60 if (store) {
78 61 th.setData({
79 62 store: 0,
  63 + is_textea: 1
80 64 })
81 65 } else {
82 66 th.setData({
83 67 beautician: 0,
84 68 store: 1,
  69 + is_textea: 0
85 70 })
86 71 if (th.data.store_list.length < 1) {
87 72 wx.showLoading({
... ... @@ -101,148 +86,220 @@ Page({
101 86 //提交成功及发送模版代码
102 87 success: function() {
103 88 var th = this;
104   - th.setData({
105   - is_textea: 0
  89 + var store = th.data.store_name; //门店名称
  90 + var bea_name = th.data.beautician_name; //美容师名称
  91 + var time = th.data.time; //预约时间
  92 + var is_sub = th.data.is_sub; //是否重复提交
  93 + var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/insert"; //接口路径
  94 + var serviceId = th.data.itemId; //服务id
  95 + var beauticianID = th.data.beauticianID; //美容师id
  96 + var buyType = th.data.buyType; //服务项目类型
  97 + var storeId = a.stoid; //商家id
  98 + var storageId = th.data.storageId; //门店id
  99 + var userId = d.user_id; //用户id
  100 + var remarks = th.data.remarks; //用户备注
  101 + var project_id = th.data.project_id; //项目id
  102 + var validay = th.data.validay;
  103 + var json = {
  104 + "arrangeTime": time + ":00",
  105 + "beauticianId": beauticianID,
  106 + "buyType": buyType,
  107 + "effectiveDay": "",
  108 + "number": "",
  109 + "projectId": project_id,
  110 + "remark": remarks,
  111 + "serviceId": serviceId,
  112 + "states": 0,
  113 + "storageId": storageId,
  114 + "storeId": storeId,
  115 + "userId": userId,
  116 + "validay": validay
  117 + }
  118 + var data = JSON.stringify(json);
  119 + wx.request({
  120 + url: url,
  121 + data: json,
  122 + method: 'post',
  123 + header: {
  124 + 'content-type': 'application/json'
  125 + }, // 设置请求的 header
  126 + success: function(res) {
  127 + th.setData({
  128 + is_sub: 0
  129 + })
  130 + wx.hideLoading();
  131 + if (res.data.code == 0) {
  132 + getApp().my_warnning("预约成功", 1, th);
  133 + var store_name = th.data.store_name; //预约门店
  134 + var number = res.data.data.Number;
  135 + var temp_url = "/api/wx/open/app/user/sendSubscribeMsg"; //模版接口
  136 + var userinfo = getApp().globalData.userInfo;
  137 + var name = d.userInfo.nickname;
  138 + var json = {
  139 + // "formId": formid,
  140 + "keyWord": [{
  141 + "keyword": res.data.data.ServiceName
  142 + },
  143 + {
  144 + "keyword": time.substring(0, 16)
  145 + }, {
  146 + "keyword": res.data.data.BeauticianName
  147 + }, {
  148 + "keyword": res.data.data.StorageName
  149 + }, {
  150 + "keyword": res.data.data.Address
  151 + }
  152 + ],
  153 + "page": "/pages/user/my_service/tment_details?number=" + number,
  154 + "storeId": a.stoid,
  155 + "typeId": "1011",
  156 + "userId": d.user_id
  157 + };
  158 + var data = JSON.stringify(json);
  159 + //调用发送预约成功模版接口
  160 + wx.request({
  161 + url: th.data.inurl + temp_url,
  162 + data: data,
  163 + method: 'post',
  164 + header: {
  165 + 'content-type': 'application/json'
  166 + }, // 设置请求的 header
  167 + success: function(data) {}
  168 + })
  169 + setTimeout(function() {
  170 + wx.redirectTo({
  171 + url: "/pages/user/my_service/tment_details?number=" + number
  172 + });
  173 + }, 1000);
  174 + } else {
  175 + getApp().my_warnning(res.data.msg, 0, th);
  176 + th.settime();
  177 + }
  178 + }
106 179 })
  180 +
  181 + },
  182 + //定时显示texteat
  183 + settime: function() {
  184 + var th = this;
  185 + setTimeout(function() {
  186 + th.setData({
  187 + is_textea: 1
  188 + })
  189 + }, 2000);
  190 + },
  191 + //提交预约
  192 + sub_success: function(e) {
  193 + var th = this;
  194 + var temp_url = th.data.inurl + "/api/wx/weappSendlist/page";
  195 + var template_id = "";
  196 + if (th.data.is_sub == 1) {
  197 + return false;
  198 + }
107 199 var store = th.data.store_name; //门店名称
108 200 var bea_name = th.data.beautician_name; //美容师名称
109 201 var time = th.data.time; //预约时间
110 202 var is_sub = th.data.is_sub; //是否重复提交
  203 + th.setData({
  204 + is_textea: 0,
  205 + is_sub: 1
  206 + })
111 207 //提交预约前的判断
112 208 if (store == "") {
113 209 getApp().my_warnning("请选择服务门店", 0, th);
  210 + th.setData({
  211 + is_sub: 0
  212 + })
  213 + th.settime();
114 214 return false;
115 215 } else if (bea_name == "") {
116 216 getApp().my_warnning("请选择美容师", 0, th);
  217 + th.setData({
  218 + is_sub: 0
  219 + })
  220 + th.settime();
117 221 return false;
118   - } else if (time == "") {
  222 + } else if (time == undefined || time == '') {
119 223 getApp().my_warnning("请选择预约时间", 0, th);
  224 + th.setData({
  225 + is_sub: 0
  226 + })
  227 + th.settime();
120 228 return false;
121 229 } else {
122   - if (is_sub == 0) {
123   - th.setData({
124   - is_sub: 1
125   - })
126   - var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/insert"; //接口路径
127   - var serviceId = th.data.itemId; //服务id
128   - var beauticianID = th.data.beauticianID; //美容师id
129   - var buyType = th.data.buyType; //服务项目类型
130   - var storeId = a.stoid; //商家id
131   - var storageId = th.data.storageId; //门店id
132   - var userId = d.user_id; //用户id
133   - var remarks = th.data.remarks; //用户备注
134   - var project_id = th.data.project_id; //项目id
135   - var validay = th.data.validay;
136   - var json = {
137   - "arrangeTime": time,
138   - "beauticianId": beauticianID,
139   - "buyType": buyType,
140   - "effectiveDay": "",
141   - "number": "",
142   - "projectId": project_id,
143   - "remark": remarks,
144   - "serviceId": serviceId,
145   - "states": 0,
146   - "storageId": storageId,
147   - "storeId": storeId,
148   - "userId": userId,
149   - "validay": validay
  230 + var version ="";
  231 + //判断微信版本是否达到预约成功订阅的要求
  232 + wx.getSystemInfo({
  233 + success(res) {
  234 + version = res.version;
150 235 }
151   - var data = JSON.stringify(json);
152   - wx.request({
153   - url: url,
154   - data: json,
155   - method: 'post',
156   - header: {
157   - 'content-type': 'application/json'
158   - }, // 设置请求的 header
159   - success: function(res) {
160   - th.setData({
161   - is_sub: 0
  236 + })
  237 + wx.showLoading({
  238 + title: '加载中',
  239 + })
  240 + if (th.ver(version, '7.0.4') >= 0) {
  241 + //获取模版id
  242 + getApp().request.promiseGet(temp_url, {
  243 + data: {
  244 + store_id: a.stoid,
  245 + typeid: "1011"
  246 + }
  247 + }).then(res => {
  248 + if (res.data.code == 0 && res.data.data.pageData.length > 0) {
  249 + template_id = res.data.data.pageData[0].template_id;
  250 + // //授权订阅
  251 + wx.requestSubscribeMessage({
  252 + tmplIds: [template_id],
  253 + success(res) {
  254 + th.success();
  255 + },
  256 + fail(res) {
  257 + th.success();
  258 + }
162 259 })
163   - if (res.data.code == 0) {
164   - getApp().my_warnning("预约成功", 1, th);
165   - var store_name = th.data.store_name; //预约门店
166   - var number = res.data.data.Number;
167   - var temp_url = "/api/wx/open/app/user/sendSubscribeMsg"; //模版接口
168   - var userinfo = getApp().globalData.userInfo;
169   - var name = d.userInfo.nickname;
170   - var json = {
171   - // "formId": formid,
172   - "keyWord": [{
173   - "keyword": res.data.data.ServiceName
174   - },
175   - {
176   - "keyword": time
177   - }, {
178   - "keyword": res.data.data.BeauticianName
179   - }, {
180   - "keyword": res.data.data.StorageName
181   - }, {
182   - "keyword": res.data.data.Address
183   - }
184   - ],
185   - "page": "/pages/user/my_service/tment_details?number=" + number,
186   - "storeId": a.stoid,
187   - "typeId": "1011",
188   - "userId": d.user_id
189   - };
190   - var data = JSON.stringify(json);
191   - //调用发送预约成功模版接口
192   - wx.request({
193   - url: th.data.inurl + temp_url,
194   - data: data,
195   - method: 'post',
196   - header: {
197   - 'content-type': 'application/json'
198   - }, // 设置请求的 header
199   - success: function(data) {}
200   - })
201   - setTimeout(function() {
202   - wx.redirectTo({
203   - url: "/pages/user/my_service/tment_details?number=" + number
204   - });
205   - }, 1000);
206   - } else {
207   - getApp().my_warnning(res.data.msg, 0, th);
208   - th.setData({
209   - is_sub: 0
210   - })
211   - }
  260 + } else {
  261 + th.success();
212 262 }
213 263 })
  264 + } else {
  265 + // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  266 + wx.showModal({
  267 + title: '提示',
  268 + content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  269 + })
  270 + th.setData({
  271 + is_sub: 0
  272 + })
214 273 }
  274 +
215 275 }
216 276 },
217   - //提交预约
218   - sub_success: function(e) {
219   - var th = this;
220   - var temp_url = "/api/wx/weappSendlist/page";
221   - var template_id = "";
222   - //获取模版id
223   - getApp().request.promiseGet(temp_url, {
224   - data: {
225   - store_id: a.stoid,
226   - typeid: "1011"
  277 + //版本判断
  278 + ver:function(v1,v2){
  279 + v1 = v1.split('.')
  280 + v2 = v2.split('.')
  281 + var num1 = "" ;
  282 + var num2 = "";
  283 + var len = Math.max(v1.length, v2.length)
  284 +
  285 + while (v1.length < len) {
  286 + v1.push('0')
227 287 }
228   - }).then(res => {
229   - if (res.data.code == 0) {
230   - template_id = res.data.data.pageData[0].template_id;
231   - // //授权订阅
232   - wx.requestSubscribeMessage({
233   - tmplIds: [template_id],
234   - success(res) {
235   - th.success();
236   - },
237   - fail(res) {
238   - th.success();
239   - }
240   - })
241   - }else{
242   - th.success();
  288 + while (v2.length < len) {
  289 + v2.push('0')
243 290 }
244   - })
245 291  
  292 + for (let i = 0; i < len; i++) {
  293 + num1 = parseInt(v1[i])
  294 + num2 = parseInt(v2[i])
  295 +
  296 + if (num1 > num2) {
  297 + return 1
  298 + } else if (num1 < num2) {
  299 + return -1
  300 + }
  301 + }
  302 + return 0
246 303 },
247 304 goto: function(e) {
248 305 var th = this;
... ... @@ -252,9 +309,14 @@ Page({
252 309 })
253 310 if (th.data.store_name == "") {
254 311 getApp().my_warnning("请选择服务门店", 0, th);
  312 + th.settime();
255 313 } else if (th.data.beautician_name == "") {
256 314 getApp().my_warnning("请选择美容师", 0, th);
  315 + th.settime();
257 316 } else {
  317 + th.setData({
  318 + is_textea: 1
  319 + })
258 320 var url = e.currentTarget.dataset.url;
259 321 getApp().goto(url);
260 322 }
... ... @@ -285,7 +347,8 @@ Page({
285 347 th.setData({
286 348 store: 0,
287 349 store_name: store_name,
288   - storageId: Id
  350 + storageId: Id,
  351 + is_textea: 1
289 352 })
290 353 },
291 354 onReachBottom: function() {
... ... @@ -340,6 +403,7 @@ Page({
340 403 }
341 404 } else {
342 405 getApp().my_warnning(res.data.msg, 0, th);
  406 + th.settime();
343 407 }
344 408 })
345 409 },
... ... @@ -351,6 +415,7 @@ Page({
351 415 })
352 416 if (th.data.store_name == "") {
353 417 getApp().my_warnning("请选择服务门店", 0, th);
  418 + th.settime();
354 419 } else {
355 420 wx.showLoading({
356 421 title: '加载中',
... ... @@ -373,6 +438,7 @@ Page({
373 438 })
374 439 if (res.data.data.pageData.length < 1) {
375 440 getApp().my_warnning("暂无美容师", 0, th);
  441 + th.settime();
376 442 } else {
377 443 if (th.data.beautician == 0) {
378 444 th.setData({
... ... @@ -385,7 +451,8 @@ Page({
385 451 }
386 452 }
387 453 } else {
388   - getApp().my_warnning("暂无美容师", 0, th);
  454 + getApp().my_warnning(res.data.msg, 0, th);
  455 + th.settime();
389 456 }
390 457 })
391 458 }
... ... @@ -402,7 +469,7 @@ Page({
402 469 beauticianID: BeauticianID,
403 470 time: "",
404 471 tment_count: "",
405   - is_textea: 0
  472 + is_textea: 1
406 473 })
407 474  
408 475 },
... ... @@ -431,7 +498,6 @@ Page({
431 498 nav_bea: function() {
432 499 var th = this;
433 500 th.setData({
434   - is_textea: 0,
435 501 beautician: 0
436 502 })
437 503 var storageId = th.data.storageId; //线下门店id
... ... @@ -439,10 +505,15 @@ Page({
439 505 var project_id = th.data.project_id;
440 506 if (storageId == "") {
441 507 getApp().my_warnning("请选择服务门店", 0, th);
  508 + th.settime();
442 509 } else {
  510 + th.setData({
  511 + is_textea: 1
  512 + })
443 513 wx.navigateTo({
444 514 url: "/pages/user/my_service/cosmetology_list?" + 'storageId=' + storageId + '&' + 'itemId=' + itemId + '&' + "projectId=" + project_id
445 515 });
  516 +
446 517 }
447 518 },
448 519 /**
... ... @@ -473,6 +544,7 @@ Page({
473 544 });
474 545 if (th.data.is_gps == 0) {
475 546 getApp().confirmBox("请开启GPS定位", null, 25000, !1);
  547 + th.settime();
476 548 }
477 549 } else {
478 550 th.setData({
... ... @@ -509,6 +581,7 @@ Page({
509 581 })
510 582 } else {
511 583 getApp().my_warnning(res.data.msg, 0, th);
  584 + th.settime();
512 585 }
513 586 })
514 587  
... ... @@ -522,6 +595,10 @@ Page({
522 595 if (seekTime != "") {
523 596 th.query_more();
524 597 }
  598 + th.setData({
  599 + time: th.data.time.substring(0, 16),
  600 + is_textea: 1
  601 + })
525 602 th.query_project();
526 603 },
527 604 //获取单个服务项目信息
... ... @@ -542,6 +619,7 @@ Page({
542 619 })
543 620 } else {
544 621 getApp().my_warnning(res.data.msg, 0, th);
  622 + th.settime();
545 623 }
546 624 })
547 625 },
... ...
pages/user/my_service/appment_main.wxml
... ... @@ -36,7 +36,7 @@
36 36 <view class="beauticians abs" wx:if="{{beautician}}">
37 37 <!-- 到时候要做判断如果是index==循环的最后一个则把下边线去掉:(beaclone去掉的css) -->
38 38 <view class="beautician flex-vertical fs26" wx:for="{{beautician_list}}" bindtap="choice_beautician" data-baaindex="{{key}}" wx:for-index="key">
39   - <view>{{item.StaffName}}</view>
  39 + <view class="StaffName ellipsis-1">{{item.StaffName}}</view>
40 40 </view>
41 41 <view>
42 42 </view>
... ... @@ -69,12 +69,12 @@
69 69 <view>注</view>
70 70 </view>
71 71 <view class="flex fs26">
72   - <block wx:if="{{is_textea==1 && store==0}}">
  72 + <block wx:if="{{is_textea==1}}">
73 73 <textarea class="textarea" placeholder="{{remarks==''?'填写备注':remarks}}" placeholder-class="fs26 color" value="{{remarks}}" bindinput="input_remarks" maxlength="100">
74 74 </textarea>
75 75 </block>
76 76 <block wx:else>
77   - <view class="textarea color" bindtap="check_text">{{remarks==''?'填写备注':remarks}}
  77 + <view class="textarea {{remarks==''?'color':''}}" bindtap="check_text">{{remarks==''?'填写备注':remarks}}
78 78 </view>
79 79 </block>
80 80 </view>
... ...
pages/user/my_service/appment_main.wxss
... ... @@ -14,7 +14,9 @@
14 14 font-size: 26rpx;
15 15 color: rgb(142, 142, 142);
16 16 }
17   -
  17 +.StaffName{
  18 + max-width: 350rpx;
  19 +}
18 20 .angler {
19 21 transform: rotate(227deg);
20 22 margin-bottom: 0rpx;
... ...
pages/user/my_service/beauty_deta.js
... ... @@ -47,8 +47,7 @@ Page({
47 47 itemId: options.itemId,
48 48 modify: options.modify,
49 49 hours: hours,
50   - projectId: options.projectId,
51   - StaffName: options.StaffName
  50 + projectId: options.projectId
52 51 })
53 52 if (options.url != undefined) {
54 53 th.setData({
... ... @@ -65,6 +64,11 @@ Page({
65 64 iscos: options.iscos
66 65 })
67 66 }
  67 + if (options.StaffName!=undefined){
  68 + th.setData({
  69 + StaffName: options.StaffName
  70 + })
  71 + }
68 72 th.query_beatea();
69 73 th.query_aweek();
70 74 },
... ... @@ -78,8 +82,6 @@ Page({
78 82 // var date = myDate.getHours(); //获取当前小时数(0-23);
79 83 let str = myDate.toTimeString(); //"10:55:24 GMT+0800 (中国标准时间)"
80 84 let date = str.substring(0, 8); // '10:55:24'
81   -
82   - // console.log("当前时间", date);
83 85 th.setData({
84 86 hours: date
85 87 });
... ...
pages/user/my_service/cosmetology_list.js
... ... @@ -74,6 +74,7 @@ Page({
74 74 if (_Img != undefined) {
75 75 var _errObj = {};
76 76 _errObj[_errImg] = "/miniapp/images/no-head.jpg";
  77 + console.log(_errObj,"zzzzzzz");
77 78 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
78 79 }
79 80 },
... ...
pages/user/my_service/cosmetology_list.wxml
... ... @@ -2,33 +2,26 @@
2 2 <image class="appointment" src="{{iurl}}/miniapp/images/yyservice/Cosm_appo.png"></image>
3 3  
4 4 <!-- 总预约 -->
5   - <view wx:if="{{true}}">
  5 + <view wx:if="{{cosmetology_list.length>0}}">
6 6 <!-- 当个预约 -->
7   - <view class="single" wx:for="{{cosmetology_list}}">
  7 + <view class="single" wx:for="{{cosmetology_list}}" wx:for-item="item">
8 8 <!-- 个人属性 -->
9 9 <view class="flex-vertical-between">
10 10 <view class="flex-vertical">
11   - <image class="portrait" src="{{item.PhotoUrl==''?iurl+defimgurl:item.PhotoUrl}}" lazy-load="true" data-errorimg="cosmetology_list[{{index}}].PhotoUrl" binderror="bind_bnerr1" data-img="{{item.PhotoUrl}}"></image>
  11 + <image class="portrait" src="{{item.PhotoUrl==''?iurl+defimgurl:item.PhotoUrl}}" lazy-load="true" data-errorimg="cosmetology_list[{{index}}].PhotoUrl" binderror="bind_bnerr1" data-img="cosmetology_list[{{index}}].PhotoUrl"></image>
12 12 <view>
13 13 <!-- 用户名 -->
14 14 <view class="UserName ellipsis-1 fs32">{{item.StaffName}}</view>
15 15 <!-- 评价星数 -->
16 16 <view class="flex" style="margin-top:10rpx;">
17   - <image class="Stars" src="{{iurl}}{{key<item.Star || item.Star==''?'/miniapp/images/StarsredCk.png':'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{item.Star==''?5:it.Star}}" wx:for-index="key" wx:for-item="it"></image>
  17 + <image class="Stars" src="{{iurl}}{{key<item.Star || item.Star==''?'/miniapp/images/StarsredCk.png':'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{item.Star==''?5:5}}" wx:for-index="key" wx:for-item="it"></image>
18 18 <!-- images/StarswhiteUnCk.png//白色星星地址 -->
19 19 </view>
20 20 <!-- 个人标签 -->
21   - <view class="Label fs22 flex" wx:if="{{item.EvaluationLabel!=''?true:false}} " wx:for="{{item.EvaluationLabel.split('|')}}">
22   - <view wx:if="{{index==0}}" class="flex-center Labelitem itone">
23   - <view>{{item}}</view>
  21 + <view class="Labels fs22 flex" wx:if="{{item.EvaluationLabel!=''?true:false}} ">
  22 + <view wx:if="{{lab<3}}" class="flex-center Labelitem itone {{lab==1?'itwo':''}} {{lab==2?'ith':''}}" wx:for="{{item.EvaluationLabel}}" wx:for-item="it" wx:for-index="lab">
  23 + <view class="ellipsis-1">{{it.LabelName}}</view>
24 24 </view>
25   - <view wx:if="{{index==1}}" class="flex-center Labelitem itwo">
26   - <view>{{item}}</view>
27   - </view>
28   - <view wx:if="{{index==2}}" class="flex-center Labelitem ith">
29   - <view>{{item}}</view>
30   - </view>
31   -
32 25 </view>
33 26 </view>
34 27 </view>
... ... @@ -50,7 +43,7 @@
50 43 </view>
51 44 <!-- 没有数据 -->
52 45 <!-- 加载完毕并且数据大于=页大小 -->
53   - <view class="After_all flex-center" wx:if="{{ismore && service_List.length>=4}}">
  46 + <view class="After_all flex-center" wx:if="{{ismore && cosmetology_list.length>=4}}">
54 47 <view class="Line"></view>
55 48 <view class="end fs26 xc-black">到底了</view>
56 49 <view class="Line"></view>
... ...
pages/user/my_service/cosmetology_list.wxss
... ... @@ -32,7 +32,10 @@ page{
32 32 height: 25rpx;
33 33 margin-right: 7rpx;
34 34 }
35   -
  35 +.Labels{
  36 + width: 100%;
  37 + margin-top: 15rpx;
  38 +}
36 39 .Label {
37 40 margin-top: 25rpx;
38 41 }
... ... @@ -42,7 +45,8 @@ page{
42 45 height: 30rpx;
43 46 border-radius: 20rpx;
44 47 line-height: 30rpx;
45   - margin-right: 14rpx;
  48 + margin-right: 10rpx;
  49 + padding:0rpx 9rpx;
46 50 }
47 51  
48 52 .itone {
... ...
pages/user/my_service/hist_service.wxml
... ... @@ -39,6 +39,7 @@
39 39 </view>
40 40 <!-- right -->
41 41 <view class="serState fs32">
  42 + <view wx:if="{{item.State==0}}">未服务</view>
42 43 <view wx:if="{{item.State==1}}">已服务</view>
43 44 <view wx:if="{{item.State==2}}">已过期</view>
44 45 <view wx:if="{{item.State==3}}">已取消</view>
... ...
pages/user/my_service/i_service.js
... ... @@ -86,7 +86,9 @@ Page({
86 86 }),
87 87 wx.stopPullDownRefresh(); //停止下拉刷新
88 88 } else {
89   - getApp().my_warnning(res.data.msg, 0, th);
  89 + th.setData({
  90 + is_service_read: 1
  91 + })
90 92 }
91 93 })
92 94 },
... ...
pages/user/my_service/tment_eval.js
1   -var e = getApp(),
  1 + var e = getApp(),
2 2 a = e.globalData.setting,
3 3 os = a,
4 4 t = e.request,
... ... @@ -21,37 +21,37 @@ Page({
21 21 beautician: "", //美容师信息
22 22 fromType: "服务评价", //评价来源
23 23 arrangeTime: "", //服务日期
24   - is_evaluate:0,//是否评价
25   - EvaluateDatetime:"",//评价时间
  24 + is_evaluate: 0, //是否评价
  25 + EvaluateDatetime: "", //评价时间
26 26 },
27 27 //点击星级
28 28 check_stars: function(e) {
29 29 var th = this;
30   - var is_evaluate = th.data.is_evaluate;//0可点击
31   - if (is_evaluate==0){
32   - var index = e.currentTarget.dataset.index;
33   - var stars_index = th.data.stars_index;
34   - if (index != stars_index) {
35   - var url = "/api/weshop/marketing/reservation/star/label/list";
36   - getApp().request.promiseGet(url, {
37   - data: {
38   - Star: index+1,
39   - storeId: a.stoid
40   - }
41   - }).then(res => {
42   - if (res.data.code == 0) {
43   - th.setData({
44   - labels: res.data.data
45   - })
46   - } else {
47   - getApp().my_warnning(res.data.msg, 0, th);
48   - return;
49   - }
50   - })
51   - th.setData({
52   - stars_index: index
53   - })
54   - }
  30 + var is_evaluate = th.data.is_evaluate; //0可点击
  31 + if (is_evaluate == 0) {
  32 + var index = e.currentTarget.dataset.index;
  33 + var stars_index = th.data.stars_index;
  34 + if (index != stars_index) {
  35 + var url = "/api/weshop/marketing/reservation/star/label/list";
  36 + getApp().request.promiseGet(url, {
  37 + data: {
  38 + Star: index + 1,
  39 + storeId: a.stoid
  40 + }
  41 + }).then(res => {
  42 + if (res.data.code == 0) {
  43 + th.setData({
  44 + labels: res.data.data
  45 + })
  46 + } else {
  47 + getApp().my_warnning(res.data.msg, 0, th);
  48 + return;
  49 + }
  50 + })
  51 + th.setData({
  52 + stars_index: index
  53 + })
  54 + }
55 55 }
56 56 },
57 57 //输入评价意见和建议
... ... @@ -63,31 +63,32 @@ Page({
63 63 })
64 64 },
65 65 //图片失败,默认图片
66   - bind_bnerr1: function(e) {
  66 + bind_bnerr1: function (e) {
  67 + var th = this;
67 68 var _errImg = e.target.dataset.errorimg;
68 69 var _Img = e.target.dataset.img;
69 70 if (_Img != undefined) {
70 71 var _errObj = {};
71 72 _errObj[_errImg] = "/miniapp/images/no-head.jpg";
72   - this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  73 + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
73 74 }
74 75 },
75 76 //选择标签
76 77 check_label: function(e) {
77 78 var th = this;
78   - var evaluate = th.data.is_evaluate;//0为未评价,未评价才可点击标签
79   - if (evaluate==0){
80   - var index = e.currentTarget.dataset.index;
81   - var label_id = th.data.labels[index].check;
82   - var labels = 'labels[' + index + '].check';
83   - if (label_id) {
84   - label_id = 0
85   - } else {
86   - label_id = 1
87   - }
88   - th.setData({
89   - [labels]: label_id
90   - })
  79 + var evaluate = th.data.is_evaluate; //0为未评价,未评价才可点击标签
  80 + if (evaluate == 0) {
  81 + var index = e.currentTarget.dataset.index;
  82 + var label_id = th.data.labels[index].check;
  83 + var labels = 'labels[' + index + '].check';
  84 + if (label_id) {
  85 + label_id = 0
  86 + } else {
  87 + label_id = 1
  88 + }
  89 + th.setData({
  90 + [labels]: label_id
  91 + })
91 92 }
92 93 },
93 94 //查询美容师信息
... ... @@ -106,7 +107,7 @@ Page({
106 107 var data = res.data.data.pageData;
107 108 var arrangeTime = data[0].ArrangeTime;
108 109 th.setData({
109   - beautician: data[0],
  110 + beautician: data,
110 111 arrangeTime: arrangeTime
111 112 })
112 113 } else {
... ... @@ -118,22 +119,22 @@ Page({
118 119 evaluate_get: function() {
119 120 var th = this;
120 121 var url = "/api/weshop/evaluation/evaluate/get";
121   - getApp().request.promiseGet(url,{
  122 + getApp().request.promiseGet(url, {
122 123 data: {
123 124 number: th.data.number,
124 125 storeId: a.stoid
125 126 }
126 127 }).then(res => {
127   - if(res.data.code == 0){
128   - th.setData({
129   - stars_index: res.data.data.Star,
130   - labels: res.data.data.EvaluationList,
131   - proposal: res.data.data.Remark,
132   - EvaluateDatetime: res.data.data.EvaluateDatetime.substring(0,19)
133   - })
134   - }else{
135   - getApp().my_warnning(res.data.msg,0,th);
136   - }
  128 + if (res.data.code == 0) {
  129 + th.setData({
  130 + stars_index: res.data.data.Star-1,
  131 + labels: res.data.data.EvaluationList,
  132 + proposal: res.data.data.Remark,
  133 + EvaluateDatetime: res.data.data.EvaluateDatetime.substring(0, 19)
  134 + })
  135 + } else {
  136 + getApp().my_warnning(res.data.msg, 0, th);
  137 + }
137 138 })
138 139 },
139 140 //提交评价
... ... @@ -145,10 +146,13 @@ Page({
145 146 if (stars < 0) {
146 147 getApp().my_warnning("请进行评分", 0, th);
147 148 return false;
148   - } else if (proposal==""){
  149 + } else if (proposal == "") {
149 150 getApp().my_warnning("给点建议呗", 0, th);
150 151 return false;
151 152 }
  153 + wx.showLoading({
  154 + title: '加载中',
  155 + })
152 156 var labels = th.data.labels; //星级标签数组
153 157 var evaLabList = []; //用户选择的评价标签
154 158 // 查询评价标签
... ... @@ -178,15 +182,14 @@ Page({
178 182 'content-type': 'application/json'
179 183 }, // 设置请求的 header
180 184 success: function(res) {
  185 + wx.hideLoading();
181 186 if (res.data.code == 0) {
182   - th.setData({
183   - sub_evaluate: 1
184   - })
  187 + getApp().my_warnning("评价成功", 1, th);
185 188 setTimeout(function() {
186 189 wx.redirectTo({
187 190 url: "/pages/user/my_service/tment_order_list"
188 191 });
189   - }, 1500);
  192 + }, 2000);
190 193 } else {
191 194 getApp().my_warnning(res.data.msg, 0, th);
192 195 }
... ... @@ -196,12 +199,14 @@ Page({
196 199 },
197 200 //图片失败,默认图片
198 201 bind_bnerr1: function(e) {
  202 + var th = this;
199 203 var _errImg = e.target.dataset.errorimg;
200 204 var _Img = e.target.dataset.img;
201 205 if (_Img != undefined) {
  206 +
202 207 var _errObj = {};
203   - _errObj[_errImg] = "/miniapp/images/no-head.jpg";
204   - this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  208 + _errObj[_errImg] = th.data.iurl+"/miniapp/images/no-head.jpg";
  209 + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
205 210 }
206 211 },
207 212 /**
... ... @@ -222,8 +227,8 @@ Page({
222 227 onShow: function() {
223 228 var th = this;
224 229 var is_evaluate = th.data.is_evaluate;
225   - if (is_evaluate==1){
  230 + if (is_evaluate == 1) {
226 231 th.evaluate_get();
227   - }
  232 + }
228 233 },
229 234 })
230 235 \ No newline at end of file
... ...
pages/user/my_service/tment_eval.wxml
1   -<view class="container">
  1 +<view class="container" wx:for="{{beautician}}" wx:if="{{index<1}}" wx:for-item="it">
2 2  
3 3 <!-- 头像 -->
4 4 <view class="flex-center head">
5   - <image class="headimg" src="{{beautician.PhotoUrl==''?iurl+defimgurl:beautician.PhotoUrl}}" lazy-load="true" data-errorimg="beautician.PhotoUrl" binderror="bind_bnerr1" data-img="{{beautician.PhotoUrl}}"></image>
  5 +
  6 + <image class="headimg" src="{{it.PhotoUrl==''?iurl+defimgurl:it.PhotoUrl}}" lazy-load="true" data-errorimg="beautician[{{index}}].PhotoUrl" binderror="bind_bnerr1" data-img="beautician[{{index}}].PhotoUrl"></image>
6 7 </view>
7 8  
8   - <!-- 姓名 -->
  9 + <!-- 姓名 -->
9 10 <view class="flex-level item">
10 11 <view class="itemlf flex-level-right">
11 12 <view class="fs32">服务美容师:</view>
12 13 </view>
13   - <view class="itemlr fs30 ellipsis-1">{{beautician.BeauticianName}}</view>
  14 + <view class="itemlr fs30 ellipsis-1">{{it.BeauticianName}}</view>
14 15 </view>
15 16  
16 17 <!-- 项目 -->
17 18 <view class="flex-center item">
18 19 <view class="itemlf fs32 flex-level-right">服务项目:</view>
19   - <view class="itemlr fs30 ellipsis-1">{{beautician.StorageName}}</view>
  20 + <view class="itemlr fs30 ellipsis-1">{{it.ServiceName}}</view>
20 21 </view>
21 22  
22 23 <!-- 时间 -->
23 24 <view class="flex-center item">
24 25 <view class="itemlf fs32 flex-level-right">服务时间:</view>
25   - <view class="itemlr fs30">{{arrangeTime}}</view>
  26 + <view class="itemlr fs30">{{it.WriteTime}}</view>
26 27 </view>
27 28  
28 29 <!-- 评价时间 -->
... ... @@ -35,7 +36,7 @@
35 36  
36 37 <view class="flex-center">
37 38 <view class="starss">
38   - <image class="stars" src="{{iurl}}{{stars_index>=index?'/miniapp/images/StarsredCk.png':'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{5}}" bindtap="check_stars" data-index="{{index}}"></image>
  39 + <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 40 </view>
40 41 </view>
41 42 <view class="tea_labs">
... ... @@ -61,7 +62,7 @@
61 62 </view>
62 63 <view wx:if="{{labels.length>0 && is_evaluate==1}}" class="{{labels.length==1 || labels.length==2?'flex-center':''}}" style="width:100%;">
63 64 <view class="labels flex fs24 ellipsis-3">
64   - <view class="label {{item.check==1?'checklabel':''}} flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key">
  65 + <view class="label checklabel flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key">
65 66 <view class="ellipsis-1">{{item.LabelName}}</view>
66 67 </view>
67 68  
... ... @@ -85,8 +86,8 @@
85 86 </view>
86 87 </block>
87 88 </view>
88   -<navigator wx:if="{{is_evaluate==0}}" class="Subs fs32 flex-center" bindtap="evaluate_save">
89   - <view class="Submission flex-center">
  89 +<navigator wx:if="{{is_evaluate==0}}" class="Subs fs32 flex-center">
  90 + <view class="Submission flex-center" bindtap="evaluate_save">
90 91 <view>确认提交</view>
91 92 </view>
92 93 </navigator>
... ...
pages/user/my_service/tment_order_list.js
... ... @@ -101,6 +101,9 @@ Page({
101 101 var arr1 = th.data.tm_order_list;
102 102 var arr2 = res.data.data.pageData;
103 103 var arr3 = [...arr1, ...arr2];
  104 + for(var i = 0;i<arr3.length;i++){
  105 + arr3[i].ArrangeTime = arr3[i].ArrangeTime.substring(0, 16);
  106 + }
104 107 var ismore = 0;
105 108 if (arr3.length == res.data.data.total) ismore = 1
106 109 th.setData({
... ...
pages/user/my_service/tment_order_list.wxml
... ... @@ -73,7 +73,7 @@
73 73 <navigator wx:if="{{item.State==0}}" class="important Unimportance flex-level" url="/pages/user/my_service/beauty_deta?BeauticianID={{item.BeauticianID}}&number={{item.Number}}&itemId={{item.ServiceID}}&modify=1&projectId={{item.ProjectID}}">更改时间</navigator>
74 74 <navigator wx:if="{{item.State==1}}" url="/pages/user/my_service/tment_eval?Number={{item.Number}}&evaluate={{0}}" class="important Unimportance flex-level">发表评价</navigator>
75 75 <navigator wx:if="{{item.State==2 || item.State==3}}" url="/pages/user/my_service/appment_main?ProjectID={{item.ProjectID}}&BuyType={{item.BuyType}}&service_id={{item.ServiceID}}" class="important Unimportance flex-level">重新预约</navigator>
76   - <navigator wx:if="{{item.State==4}}" url="/pages/user/my_service/tment_eval?Number={{item.Number}}&evaluate={{1}}" class="important Unimportance flex-level">查看评价</navigator>
  76 + <navigator wx:if="{{item.State==4}}" url="/pages/user/my_service/tment_eval?Number={{item.Number}}&evaluate={{1}}" class="important Unimportance flex-level">评价详情</navigator>
77 77 </view>
78 78 </view>
79 79 <view class="exactly flex-center fs26" wx:if="{{ismore && tm_order_list.length>=3}}">
... ...
pages/user/my_service/tment_order_list.wxss
... ... @@ -69,6 +69,8 @@ page {
69 69 width: 190rpx;
70 70 height: 190rpx;
71 71 margin-right: 20rpx;
  72 + border-radius: 50%;
  73 + border: 1px solid #eee;
72 74 }
73 75  
74 76 .details {
... ...