Commit da1876a7b79f30130566180ded54becf95e70464
1 parent
061511a0
提交评价接口提交属性名修改,服务项目预约判断,历史服务bug修复,新增导航组件
Showing
25 changed files
with
379 additions
and
113 deletions
components/my_confirm/my_confirm.js
| ... | ... | @@ -2,30 +2,43 @@ var t = getApp(); |
| 2 | 2 | Component({ |
| 3 | 3 | /*** 页面的初始数据***/ |
| 4 | 4 | data: { |
| 5 | - yu_e_show:0, | |
| 6 | - iurl:t.globalData.setting.imghost, | |
| 7 | - width:0, | |
| 8 | - success:null, //成功的回调 | |
| 9 | - cancle: null, //取消的回调 | |
| 10 | - title: null, //标题 | |
| 11 | - s_text:null, //确定的提示语 | |
| 12 | - c_text:null, //取消的提示语 | |
| 5 | + yu_e_show: 0, | |
| 6 | + iurl: t.globalData.setting.imghost, | |
| 7 | + width: 0, | |
| 8 | + success: null, //成功的回调 | |
| 9 | + cancle: null, //取消的回调 | |
| 10 | + title: null, //标题 | |
| 11 | + s_text: null, //确定的提示语 | |
| 12 | + c_text: null, //取消的提示语 | |
| 13 | 13 | }, |
| 14 | 14 | |
| 15 | 15 | methods: { |
| 16 | - open: function (title,s_text,c_text,success,cancle) { | |
| 17 | - this.setData({ title: title, s_text: s_text, c_text:c_text, yu_e_show: 1}) | |
| 18 | - this.data.success=success;this.data.cancle=cancle; | |
| 19 | - }, | |
| 20 | - go_sure:function(){ | |
| 21 | - this.data.success(); | |
| 22 | - }, | |
| 23 | - go_cancle: function () { | |
| 24 | - this.data.cancle(); | |
| 25 | - }, | |
| 26 | - close_yu_e:function(){ | |
| 27 | - this.setData({ yu_e_show: 0 }) | |
| 28 | - } | |
| 16 | + open: function(title, s_text, c_text, success, cancle) { | |
| 17 | + this.setData({ | |
| 18 | + title: title, | |
| 19 | + s_text: s_text, | |
| 20 | + c_text: c_text, | |
| 21 | + yu_e_show: 1 | |
| 22 | + }) | |
| 23 | + this.data.success = success; | |
| 24 | + this.data.cancle = cancle; | |
| 25 | + }, | |
| 26 | + open_cancel: function (yu_e_show){ | |
| 27 | + this.setData({ | |
| 28 | + yu_e_show: yu_e_show | |
| 29 | + }) | |
| 30 | + }, | |
| 31 | + go_sure: function() { | |
| 32 | + this.data.success(); | |
| 33 | + }, | |
| 34 | + go_cancle: function() { | |
| 35 | + this.data.cancle(); | |
| 36 | + }, | |
| 37 | + close_yu_e: function() { | |
| 38 | + this.setData({ | |
| 39 | + yu_e_show: 0 | |
| 40 | + }) | |
| 41 | + } | |
| 29 | 42 | } |
| 30 | - | |
| 43 | + | |
| 31 | 44 | }) |
| 32 | 45 | \ No newline at end of file | ... | ... |
components/my_confirm/my_confirm.wxml
| ... | ... | @@ -6,7 +6,7 @@ |
| 6 | 6 | <view class="shut" bindtap="close_yu_e">ⅹ</view> |
| 7 | 7 | <view class="fs32 xc-black3 flex jc-center ai-center" style="width:100%;height:220rpx;">{{title}}</view> |
| 8 | 8 | <view class="flex jc-center ai_center" style="width: 100%;height: 75rpx;"> |
| 9 | - <view bindtap="go_sure" class="fs30 white flex jc-center ai-center ck_btn" style="margin-right: 20rpx;">{{s_text}}</view> | |
| 9 | + <view bindtap="go_sure" class="fs30 white flex jc-center ai-center ck_btn color color" style="margin-right: 20rpx;">{{s_text}}</view> | |
| 10 | 10 | <view bindtap='go_cancle' class="fs30 xc-ash flex jc-center ai-center ck_btn"style="background:#ececea;">{{c_text}}</view> |
| 11 | 11 | </view> |
| 12 | 12 | </view> | ... | ... |
components/my_confirm/my_confirm.wxss
| ... | ... | @@ -60,4 +60,7 @@ |
| 60 | 60 | } |
| 61 | 61 | .flex {display: flex;} |
| 62 | 62 | .jc-center{ justify-content: center;} |
| 63 | -.ai-center{align-items: center;} | |
| 64 | 63 | \ No newline at end of file |
| 64 | +.ai-center{align-items: center;} | |
| 65 | +.color{ | |
| 66 | + color: rgb(255,255,255); | |
| 67 | +} | |
| 65 | 68 | \ No newline at end of file | ... | ... |
components/nav_b/nav_b.js
0 → 100644
| 1 | +var t = getApp(), os = t.globalData.setting; | |
| 2 | +Component({ | |
| 3 | + properties: { | |
| 4 | + }, | |
| 5 | + data: { | |
| 6 | + isopen: 0, | |
| 7 | + iurl: os.imghost, | |
| 8 | + nav_left:"首页",//导航左边 | |
| 9 | + nav_center:"预约",//导航中间 | |
| 10 | + nav_right: "我的",//导航右边 | |
| 11 | + nav_left_url: "/pages/index/index/index",//导航左边地址 | |
| 12 | + nav_center_url:"/pages/user/my_service/tment_order_list",//导航中间地址 | |
| 13 | + nav_right_url:"/pages/user/index/index",//导航右边地址 | |
| 14 | + }, | |
| 15 | + | |
| 16 | + ready: function () { | |
| 17 | + }, | |
| 18 | + methods: { | |
| 19 | + //--点击打开事件-- | |
| 20 | + open_box: function () { | |
| 21 | + this.setData({ isopen: 1 }); | |
| 22 | + }, | |
| 23 | + //--关闭事件-- | |
| 24 | + close_box: function () { | |
| 25 | + this.setData({ isopen: 0 }); | |
| 26 | + }, | |
| 27 | + //--跳转-- | |
| 28 | + goto: function (e) { | |
| 29 | + var url = e.currentTarget.dataset.url; | |
| 30 | + getApp().goto(url); | |
| 31 | + } | |
| 32 | + | |
| 33 | + } | |
| 34 | + | |
| 35 | +}) | |
| 0 | 36 | \ No newline at end of file | ... | ... |
components/nav_b/nav_b.json
0 → 100644
components/nav_b/nav_b.wxml
0 → 100644
| 1 | + | |
| 2 | +<view class="box_main {{isopen==1?'box_isopen':''}}" > | |
| 3 | + <view class="dian" bindtap="open_box"> | |
| 4 | + <image src="{{iurl}}/miniapp/images/sheng_lue.png" ></image> | |
| 5 | + </view> | |
| 6 | + <view class="cl_list"> | |
| 7 | + <view class="item" data-url="{{nav_left_url}}" bindtap="goto">{{nav_left}}</view> | |
| 8 | + <view class="item" data-url="{{nav_center_url}}" bindtap="goto">{{nav_center}}</view> | |
| 9 | + <view class="item" data-url="{{nav_right_url}}" bindtap="goto">{{nav_right}}</view> | |
| 10 | + <view class="item big" bindtap="close_box">×</view> | |
| 11 | + </view> | |
| 12 | +</view> | |
| 13 | + | ... | ... |
components/nav_b/nav_b.wxss
0 → 100644
| 1 | +.box_main{ | |
| 2 | + width:80rpx; | |
| 3 | + height:80rpx; | |
| 4 | + background:#272636; | |
| 5 | + transition:width 0.8s; | |
| 6 | + -moz-transition:width 0.8s; /* Firefox 4 */ | |
| 7 | + -webkit-transition:width 0.8s; /* Safari and Chrome */ | |
| 8 | + -o-transition:width 0.8s; /* Opera */ | |
| 9 | + border-radius:50rpx ; | |
| 10 | + position: fixed; | |
| 11 | + right: 10rpx; | |
| 12 | + bottom:300rpx; | |
| 13 | + overflow: hidden; | |
| 14 | + z-index: 111; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.box_isopen{ | |
| 18 | + width: 420rpx; | |
| 19 | +} | |
| 20 | + | |
| 21 | +.box_main .dian{ | |
| 22 | + text-align: center; | |
| 23 | +width: 50rpx; | |
| 24 | +height: 50rpx; | |
| 25 | +color: #ffff; | |
| 26 | +font-size: 50rpx; | |
| 27 | +background: none; | |
| 28 | + | |
| 29 | +} | |
| 30 | + | |
| 31 | +.box_main .dian image{ | |
| 32 | + width: 60rpx; | |
| 33 | +height: 20rpx; | |
| 34 | +margin: 30rpx 0 0 10rpx; | |
| 35 | +} | |
| 36 | + | |
| 37 | +.box_main.box_isopen .dian{ | |
| 38 | + display: none; | |
| 39 | +} | |
| 40 | + | |
| 41 | +.box_main .cl_list{ | |
| 42 | + display: none; | |
| 43 | +} | |
| 44 | + | |
| 45 | +.box_main.box_isopen .cl_list{ | |
| 46 | + display: block; | |
| 47 | + margin-left: 20rpx; | |
| 48 | +} | |
| 49 | + | |
| 50 | +.box_main .cl_list .item{ | |
| 51 | + display: inline-block; | |
| 52 | + width:100rpx; | |
| 53 | + height:80rpx; | |
| 54 | + text-align: center; | |
| 55 | + line-height: 80rpx; | |
| 56 | + color: #fff; | |
| 57 | + vertical-align: top; | |
| 58 | + font-size: 32rpx; | |
| 59 | + | |
| 60 | +} | |
| 61 | + | |
| 62 | +.box_main .cl_list .item.big{ | |
| 63 | + font-size: 70rpx; | |
| 64 | +line-height: 70rpx; | |
| 65 | + | |
| 66 | +} | |
| 67 | + | ... | ... |
pages/user/my_service/appment_main.js
| ... | ... | @@ -469,5 +469,27 @@ Page({ |
| 469 | 469 | if (seekTime != "") { |
| 470 | 470 | th.query_more(); |
| 471 | 471 | } |
| 472 | + th.query_project(); | |
| 473 | + }, | |
| 474 | + //获取单个服务项目信息 | |
| 475 | + query_project:function(){ | |
| 476 | + var th = this; | |
| 477 | + var url = "/api/weshop/marketing/reservation/sm/page";//获取服务项目接口 | |
| 478 | + var project_id = th.data.project_id;//服务项目id | |
| 479 | + getApp().request.promiseGet(url,{ | |
| 480 | + data:{ | |
| 481 | + storeId:a.stoid, | |
| 482 | + userId:d.user_id, | |
| 483 | + projectId: project_id | |
| 484 | + } | |
| 485 | + }).then(res=>{ | |
| 486 | + if(res.data.code==0){ | |
| 487 | + th.setData({ | |
| 488 | + validay: res.data.data.pageData[0].Validay | |
| 489 | + }) | |
| 490 | + }else{ | |
| 491 | + getApp().my_warnning(res.data.msg,0,th); | |
| 492 | + } | |
| 493 | + }) | |
| 472 | 494 | } |
| 473 | 495 | }) |
| 474 | 496 | \ No newline at end of file | ... | ... |
pages/user/my_service/appment_main.wxss
| ... | ... | @@ -125,11 +125,14 @@ button { |
| 125 | 125 | width: 407rpx; |
| 126 | 126 | z-index: 3; |
| 127 | 127 | top: 45rpx; |
| 128 | - left: 0rpx; | |
| 128 | + left: -1rpx; | |
| 129 | 129 | padding: 0rpx 5rpx; |
| 130 | 130 | border: 2rpx solid rgb(238, 238, 238); |
| 131 | 131 | background-color: rgb(255, 255, 255); |
| 132 | 132 | padding-bottom: 5rpx; |
| 133 | + height: 279rpx; | |
| 134 | + overflow-x: scroll; | |
| 135 | + overflow-y: scroll; | |
| 133 | 136 | } |
| 134 | 137 | |
| 135 | 138 | .beautician { | ... | ... |
pages/user/my_service/beauty_deta.js
| ... | ... | @@ -37,11 +37,14 @@ Page({ |
| 37 | 37 | */ |
| 38 | 38 | onLoad: function(options) { |
| 39 | 39 | var th = this; |
| 40 | + var myDate = new Date(); | |
| 41 | + var date = myDate.getHours() + ":00"; //获取当前小时数(0-23) | |
| 40 | 42 | var beautician_id = options.BeauticianID; |
| 41 | 43 | th.setData({ |
| 42 | 44 | beautician_id: beautician_id, |
| 43 | 45 | itemId: options.itemId, |
| 44 | 46 | modify: options.modify, |
| 47 | + hours: date, | |
| 45 | 48 | projectId: options.projectId |
| 46 | 49 | }) |
| 47 | 50 | if (options.url != undefined) { |
| ... | ... | @@ -66,13 +69,7 @@ Page({ |
| 66 | 69 | * 生命周期函数--监听页面显示 |
| 67 | 70 | */ |
| 68 | 71 | onShow: function() { |
| 69 | - var th = this; | |
| 70 | - var myDate = new Date(); | |
| 71 | - var date = myDate.getHours() + ":00"; //获取当前小时数(0-23) | |
| 72 | - th.setData({ | |
| 73 | - hours:date | |
| 74 | - }) | |
| 75 | - th.query_date(); | |
| 72 | + | |
| 76 | 73 | }, |
| 77 | 74 | |
| 78 | 75 | //图片失败,默认图片 |
| ... | ... | @@ -251,9 +248,8 @@ Page({ |
| 251 | 248 | aweeks: arr, |
| 252 | 249 | weeks: weeks |
| 253 | 250 | }) |
| 254 | - if (data.length > 0) { | |
| 255 | - th.query_date(); | |
| 256 | - } | |
| 251 | + th.query_date(); | |
| 252 | + | |
| 257 | 253 | } else { |
| 258 | 254 | getApp().my_warnning(res.data.msg, 0, th); |
| 259 | 255 | } |
| ... | ... | @@ -267,7 +263,7 @@ Page({ |
| 267 | 263 | var date_id = th.data.date_id; //日期下标 |
| 268 | 264 | var SeekTime = th.data.aweeks[date_id].time; |
| 269 | 265 | var val = th.data.aweeks[date_id].val; |
| 270 | - if (val != "") { | |
| 266 | + | |
| 271 | 267 | var url = "/api/weshop/marketing/reservation/staff/time/list"; |
| 272 | 268 | getApp().request.promiseGet(url, { |
| 273 | 269 | data: { |
| ... | ... | @@ -279,21 +275,25 @@ Page({ |
| 279 | 275 | } |
| 280 | 276 | }).then(res => { |
| 281 | 277 | if (res.data.code == 0) { |
| 282 | - var time_list = res.data.data; | |
| 283 | - var time = th.data.time; | |
| 284 | - var new_time = []; | |
| 285 | - if (time_list != null) { | |
| 286 | - for (var i = 0; i < time.length; i++) { | |
| 287 | - for (var ii = 0; ii < time_list.length; ii++) { | |
| 288 | - if (time[i] == time_list[ii].GroupHour.substring(0, 5)) { | |
| 289 | - new_time[i] = time_list[ii].GroupHour.substring(0, 5); | |
| 290 | - break; | |
| 291 | - } else { | |
| 292 | - new_time[i] = ""; | |
| 278 | + console.log("也饿饿饿饿饿饿" + res.data.data[0].GroupHour); | |
| 279 | + if (res.data.data[0].GroupHour.length > 11) { | |
| 280 | + getApp().my_warnning(res.data.data[0].GroupHour, 0, th); | |
| 281 | + } | |
| 282 | + var time_list = res.data.data; | |
| 283 | + var time = th.data.time; | |
| 284 | + var new_time = []; | |
| 285 | + if (time_list != null) { | |
| 286 | + for (var i = 0; i < time.length; i++) { | |
| 287 | + for (var ii = 0; ii < time_list.length; ii++) { | |
| 288 | + if (time[i] == time_list[ii].GroupHour.substring(0, 5)) { | |
| 289 | + new_time[i] = time_list[ii].GroupHour.substring(0, 5); | |
| 290 | + break; | |
| 291 | + } else { | |
| 292 | + new_time[i] = ""; | |
| 293 | + } | |
| 293 | 294 | } |
| 294 | 295 | } |
| 295 | 296 | } |
| 296 | - } | |
| 297 | 297 | th.setData({ |
| 298 | 298 | time_list: new_time |
| 299 | 299 | }) |
| ... | ... | @@ -301,7 +301,7 @@ Page({ |
| 301 | 301 | getApp().my_warnning(res.data.msg, 0, th); |
| 302 | 302 | } |
| 303 | 303 | }) |
| 304 | - } | |
| 304 | + | |
| 305 | 305 | }, |
| 306 | 306 | //更改预约时间 |
| 307 | 307 | change_time: function() { | ... | ... |
pages/user/my_service/beauty_deta.wxml
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | <view class="Times"> |
| 42 | 42 | |
| 43 | 43 | <view class="flex-center" wx:for="{{time}}" style="display:inline-block;" wx:for-index="key" wx:for-item="it"> |
| 44 | - <block wx:if="{{it==time_list[key]}} && time[key]>=hours?true:false}}"> | |
| 44 | + <block wx:if="{{it==time_list[key]}}"> | |
| 45 | 45 | <view class="Time flex-center {{time_index==key?'chTime':''}}" bindtap="Selection_time" data-index="{{key}}"> |
| 46 | 46 | <view> |
| 47 | 47 | <view class="fs26">{{it}}</view> | ... | ... |
pages/user/my_service/hist_service.js
| ... | ... | @@ -31,6 +31,7 @@ Page({ |
| 31 | 31 | ismore: 0, //是否加载完毕 |
| 32 | 32 | is_screen: 0, //是否通过筛选来选择历史服务 |
| 33 | 33 | is_reset:0,//是否重复点击 |
| 34 | + is_nav:1,//是否显示导航栏 | |
| 34 | 35 | }, |
| 35 | 36 | pickerShow: function() { |
| 36 | 37 | this.setData({ |
| ... | ... | @@ -97,7 +98,9 @@ Page({ |
| 97 | 98 | curpage: 1, |
| 98 | 99 | is_service_read: 0, |
| 99 | 100 | is_screen: 1, |
| 100 | - is_reset:1 | |
| 101 | + is_reset:1, | |
| 102 | + beginDate: "", | |
| 103 | + endDate: "", | |
| 101 | 104 | }) |
| 102 | 105 | th.query_hist(); |
| 103 | 106 | } |
| ... | ... | @@ -119,6 +122,9 @@ Page({ |
| 119 | 122 | } |
| 120 | 123 | }).then(res => { |
| 121 | 124 | wx.hideLoading(); |
| 125 | + th.setData({ | |
| 126 | + is_reset: 0 | |
| 127 | + }) | |
| 122 | 128 | if (res.data.code == 0) { |
| 123 | 129 | th.data.curpage++; |
| 124 | 130 | var arr1 = th.data.hist_List; |
| ... | ... | @@ -131,7 +137,6 @@ Page({ |
| 131 | 137 | total: res.data.data.total, |
| 132 | 138 | ismore: ismore, |
| 133 | 139 | is_service_read: 1, |
| 134 | - is_reset:0 | |
| 135 | 140 | }), wx.stopPullDownRefresh(); //停止下拉刷新 |
| 136 | 141 | } else { |
| 137 | 142 | th.setData({ | ... | ... |
pages/user/my_service/hist_service.wxml
| 1 | -<view wx:if="{{true}}" class="{{isPickerRender==true?'container':''}}"> | |
| 1 | +<view class="{{isPickerRender==true?'container':''}}"> | |
| 2 | 2 | <!-- 点击方法 --> |
| 3 | - <view class="exption flex-vertical-between fs28" wx:if="{{hist_List.length>0 || startTime!=''}}"> | |
| 3 | + <view class="exption flex-vertical-between fs28" wx:if="{{is_nav ||hist_List.length>0}}"> | |
| 4 | 4 | <view class="flex"> |
| 5 | 5 | 共使用 |
| 6 | 6 | <view class="count">{{total}}</view> | ... | ... |
pages/user/my_service/i_service.js
| ... | ... | @@ -22,6 +22,7 @@ Page({ |
| 22 | 22 | total: 0, |
| 23 | 23 | ismore: 0, //是否加载完毕 |
| 24 | 24 | userinfo: null, |
| 25 | + is_sub: 0, //是否重复提交预约 | |
| 25 | 26 | }, |
| 26 | 27 | |
| 27 | 28 | /** |
| ... | ... | @@ -44,7 +45,7 @@ Page({ |
| 44 | 45 | * 生命周期函数--监听页面显示 |
| 45 | 46 | */ |
| 46 | 47 | onShow: function() { |
| 47 | - | |
| 48 | + | |
| 48 | 49 | }, |
| 49 | 50 | onReachBottom: function() { |
| 50 | 51 | var th = this; |
| ... | ... | @@ -91,6 +92,10 @@ Page({ |
| 91 | 92 | /*-- 打开服务项目 --*/ |
| 92 | 93 | open_fw: function(e) { |
| 93 | 94 | var th = this; |
| 95 | + var nav_b = th.selectComponent("#nav_b"); //组件的id | |
| 96 | + var url = e.currentTarget.dataset.url; | |
| 97 | + var service_id = e.currentTarget.dataset.service_id; //服务id | |
| 98 | + var project_id = e.currentTarget.dataset.project_id; | |
| 94 | 99 | var ind = e.currentTarget.dataset.ind; |
| 95 | 100 | var item = this.data.service_List[ind]; |
| 96 | 101 | var ewm = th.data.userinfo.erpvipid + "|" + item.ProjectID + "|" + item.BuyType + "|TY01|"; |
| ... | ... | @@ -99,7 +104,43 @@ Page({ |
| 99 | 104 | th.data.qr_code_object.val = ewm; |
| 100 | 105 | th.data.qr_code_object.is_fw = 1; |
| 101 | 106 | var qc_com = th.selectComponent("#qc_com"); //组件的id |
| 102 | - qc_com.open(th.data.qr_code_object) | |
| 107 | + getApp().request.promiseGet("/api/weshop/marketing/reservation/reservation/check", { | |
| 108 | + data: { | |
| 109 | + serviceId: service_id, | |
| 110 | + storeId: a.stoid, | |
| 111 | + userId: d.user_id | |
| 112 | + } | |
| 113 | + }).then(res => { | |
| 114 | + th.setData({ | |
| 115 | + is_sub: 0 | |
| 116 | + }) | |
| 117 | + if (res.data.data != null) { | |
| 118 | + var my_confirm = th.selectComponent("#my_confirm"); //组件的id | |
| 119 | + my_confirm.open_cancel(1); | |
| 120 | + my_confirm.open( | |
| 121 | + "已有预约记录!", | |
| 122 | + "继续使用", | |
| 123 | + "预约详情", | |
| 124 | + function() { | |
| 125 | + nav_b.close_box(); | |
| 126 | + my_confirm.open_cancel(0); | |
| 127 | + qc_com.open(th.data.qr_code_object) | |
| 128 | + }, | |
| 129 | + function() { | |
| 130 | + nav_b.close_box(); | |
| 131 | + my_confirm.open_cancel(0); | |
| 132 | + var deta_url = "/pages/user/my_service/tment_details?number=" + res.data.data.Number; | |
| 133 | + wx.navigateTo({ | |
| 134 | + url: deta_url | |
| 135 | + }) | |
| 136 | + } | |
| 137 | + ) | |
| 138 | + | |
| 139 | + } else { | |
| 140 | + qc_com.open(th.data.qr_code_object) | |
| 141 | + } | |
| 142 | + }) | |
| 143 | + | |
| 103 | 144 | }, |
| 104 | 145 | //图片失败,默认图片 |
| 105 | 146 | bind_bnerr1: function(e) { |
| ... | ... | @@ -130,37 +171,78 @@ Page({ |
| 130 | 171 | //校正是否可预约 |
| 131 | 172 | correcting: function(e) { |
| 132 | 173 | var th = this; |
| 133 | - var url = e.currentTarget.dataset.url; | |
| 134 | - var service_id = e.currentTarget.dataset.service_id; //服务id | |
| 135 | - var project_id = e.currentTarget.dataset.project_id; | |
| 136 | - getApp().request.promiseGet("/api/weshop/marketing/reservation/reservation/check", { | |
| 137 | - data: { | |
| 138 | - serviceId: service_id, | |
| 139 | - storeId: a.stoid, | |
| 140 | - userId: d.user_id | |
| 141 | - } | |
| 142 | - }).then(res => { | |
| 143 | - if (res.data.code == 0) { | |
| 144 | - getApp().request.promiseGet("/api/weshop/marketing/reservation/reservation/sm/check", { | |
| 145 | - data: { | |
| 146 | - projectId: project_id, | |
| 147 | - serviceId: service_id, | |
| 148 | - storeId: a.stoid, | |
| 149 | - userId: d.user_id | |
| 150 | - } | |
| 151 | - }).then(res => { | |
| 152 | - if (res.data.code == 0) { | |
| 174 | + var nav_b = th.selectComponent("#nav_b"); //组件的id | |
| 175 | + wx.showLoading({ | |
| 176 | + title: '加载中', | |
| 177 | + }) | |
| 178 | + if (th.data.is_sub == 0) { | |
| 179 | + th.setData({ | |
| 180 | + is_sub: 1 | |
| 181 | + }) | |
| 182 | + var url = e.currentTarget.dataset.url; | |
| 183 | + var service_id = e.currentTarget.dataset.service_id; //服务id | |
| 184 | + var project_id = e.currentTarget.dataset.project_id; | |
| 185 | + getApp().request.promiseGet("/api/weshop/marketing/reservation/reservation/check", { | |
| 186 | + data: { | |
| 187 | + serviceId: service_id, | |
| 188 | + storeId: a.stoid, | |
| 189 | + userId: d.user_id | |
| 190 | + } | |
| 191 | + }).then(res => { | |
| 192 | + wx.hideLoading(); | |
| 193 | + th.setData({ | |
| 194 | + is_sub: 0 | |
| 195 | + }) | |
| 196 | + if (res.data.code == 0) { | |
| 197 | + if (res.data.data != null) { | |
| 198 | + | |
| 199 | + var number = res.data.data.Number; | |
| 200 | + var my_confirm = th.selectComponent("#my_confirm"); //组件的id | |
| 201 | + my_confirm.open_cancel(1); | |
| 202 | + my_confirm.open( | |
| 203 | + "已有预约记录!", | |
| 204 | + "继续预约", | |
| 205 | + "预约详情", | |
| 206 | + function() { | |
| 207 | + nav_b.close_box(); | |
| 208 | + my_confirm.open_cancel(0); | |
| 209 | + getApp().request.promiseGet("/api/weshop/marketing/reservation/reservation/sm/check", { | |
| 210 | + data: { | |
| 211 | + projectId: project_id, | |
| 212 | + serviceId: service_id, | |
| 213 | + storeId: a.stoid, | |
| 214 | + userId: d.user_id | |
| 215 | + } | |
| 216 | + }).then(res => { | |
| 217 | + if (res.data.code == 0) { | |
| 218 | + wx.navigateTo({ | |
| 219 | + url: url | |
| 220 | + }) | |
| 221 | + } else { | |
| 222 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 223 | + } | |
| 224 | + }) | |
| 225 | + }, | |
| 226 | + function() { | |
| 227 | + nav_b.close_box(); | |
| 228 | + my_confirm.open_cancel(0); | |
| 229 | + var deta_url = "/pages/user/my_service/tment_details?number=" + number; | |
| 230 | + wx.navigateTo({ | |
| 231 | + url: deta_url | |
| 232 | + }) | |
| 233 | + } | |
| 234 | + ) | |
| 235 | + } else { | |
| 153 | 236 | wx.navigateTo({ |
| 154 | - url: url | |
| 237 | + url: url, | |
| 155 | 238 | }) |
| 156 | - } else { | |
| 157 | - getApp().my_warnning(res.data.msg, 0, th); | |
| 158 | 239 | } |
| 159 | - }) | |
| 160 | - } else { | |
| 161 | - getApp().my_warnning(res.data.msg, 0, th); | |
| 162 | - } | |
| 163 | - }) | |
| 240 | + | |
| 241 | + } else { | |
| 242 | + getApp().my_warnning(res.data.msg, 0, th); | |
| 243 | + } | |
| 244 | + }) | |
| 245 | + } | |
| 164 | 246 | } |
| 165 | 247 | |
| 166 | 248 | }) |
| 167 | 249 | \ No newline at end of file | ... | ... |
pages/user/my_service/i_service.json
| ... | ... | @@ -2,6 +2,8 @@ |
| 2 | 2 | "navigationBarTitleText": "服务项目", |
| 3 | 3 | "usingComponents": { |
| 4 | 4 | "qr_code": "/components/qr_code/qr_code", |
| 5 | - "warn": "/components/long_warn/long_warn" | |
| 5 | + "warn": "/components/long_warn/long_warn", | |
| 6 | + "my_confirm": "/components/my_confirm/my_confirm", | |
| 7 | + "nav_b": "/components/nav_b/nav_b" | |
| 6 | 8 | } |
| 7 | 9 | } |
| 8 | 10 | \ No newline at end of file | ... | ... |
pages/user/my_service/i_service.wxml
| ... | ... | @@ -45,7 +45,7 @@ |
| 45 | 45 | </view> |
| 46 | 46 | |
| 47 | 47 | <view class="flex-center fs24 functionMax"> |
| 48 | - <view class="flex-level Use" bindtap="open_fw" data-ind="{{index}}"> | |
| 48 | + <view class="flex-level Use" bindtap="open_fw" data-ind="{{index}}" data-service_id="{{item.ServiceID}}"> | |
| 49 | 49 | <view>立即使用</view> |
| 50 | 50 | </view> |
| 51 | 51 | <!-- 可预约 --> |
| ... | ... | @@ -79,7 +79,9 @@ |
| 79 | 79 | </view> |
| 80 | 80 | </view> |
| 81 | 81 | </view> |
| 82 | - | |
| 82 | +<!-- 制作一个圆球导航 --> | |
| 83 | +<nav_b id="nav_b"></nav_b> | |
| 83 | 84 | <!-- 弹出框扫描 --> |
| 84 | 85 | <qr_code id="qc_com"></qr_code> |
| 85 | -<warn id="warn"></warn> | |
| 86 | 86 | \ No newline at end of file |
| 87 | +<warn id="warn"></warn> | |
| 88 | +<my_confirm id="my_confirm"></my_confirm> | |
| 87 | 89 | \ No newline at end of file | ... | ... |
pages/user/my_service/tment_details.js
| ... | ... | @@ -85,13 +85,8 @@ Page({ |
| 85 | 85 | wx.hideLoading(); |
| 86 | 86 | if (res.data.code == 0) { |
| 87 | 87 | var data = res.data.data.pageData; |
| 88 | - var arrangeTime = data[0].ArrangeTime.substring(0, 11); | |
| 89 | - var day = data[0].ArrangeTime.substring(12, 13); | |
| 90 | - if (day < 12) { | |
| 91 | - day = "上午" | |
| 92 | - } else { | |
| 93 | - day = "下午" | |
| 94 | - } | |
| 88 | + var arrangeTime = data[0].ArrangeTime.substring(0, 11); | |
| 89 | + var day = data[0].ArrangeTime.substring(11, 16); | |
| 95 | 90 | th.setData({ |
| 96 | 91 | tment_details: data, |
| 97 | 92 | arrangeTime: arrangeTime, | ... | ... |
pages/user/my_service/tment_details.json
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | "navigationBarTitleText": "预约详情", |
| 3 | 3 | "usingComponents": { |
| 4 | 4 | "qr_code": "/components/qr_code/qr_code", |
| 5 | - "warn": "/components/long_warn/long_warn" | |
| 5 | + "warn": "/components/long_warn/long_warn", | |
| 6 | + "nav_b": "/components/nav_b/nav_b" | |
| 6 | 7 | } |
| 7 | 8 | } |
| 8 | 9 | \ No newline at end of file | ... | ... |
pages/user/my_service/tment_details.wxml
| ... | ... | @@ -20,7 +20,7 @@ |
| 20 | 20 | </view> |
| 21 | 21 | <image wx:if="{{item.State==0}}" src="{{iurl}}miniapp/images/order/code.png" class="code" bindtap="code_show" data-order_sn="{{number}}"></image> |
| 22 | 22 | </view> |
| 23 | - | |
| 23 | + | |
| 24 | 24 | <!-- 预约门店 --> |
| 25 | 25 | <view class="flex-vertical bmt"> |
| 26 | 26 | <view class="name">预约门店:</view> |
| ... | ... | @@ -114,6 +114,8 @@ |
| 114 | 114 | |
| 115 | 115 | </view> |
| 116 | 116 | </view> |
| 117 | +<!-- 制作一个圆球导航 --> | |
| 118 | +<nav_b></nav_b> | |
| 117 | 119 | <!-- 弹出框扫描 --> |
| 118 | 120 | <qr_code id="qc_com"></qr_code> |
| 119 | 121 | <warn id="warn"></warn> |
| 120 | 122 | \ No newline at end of file | ... | ... |
pages/user/my_service/tment_details.wxss
| ... | ... | @@ -35,6 +35,7 @@ page { |
| 35 | 35 | |
| 36 | 36 | .container { |
| 37 | 37 | padding: 0rpx 20rpx; |
| 38 | + padding-bottom:85rpx; | |
| 38 | 39 | } |
| 39 | 40 | |
| 40 | 41 | .Subscriber { |
| ... | ... | @@ -79,6 +80,9 @@ page { |
| 79 | 80 | .subs { |
| 80 | 81 | padding: 0rpx 5rpx; |
| 81 | 82 | margin-bottom: 20rpx; |
| 83 | + position: fixed; | |
| 84 | + width: 705rpx; | |
| 85 | + bottom:20rpx; | |
| 82 | 86 | } |
| 83 | 87 | |
| 84 | 88 | .sub { | ... | ... |
pages/user/my_service/tment_eval.js
| ... | ... | @@ -11,6 +11,7 @@ Page({ |
| 11 | 11 | data: { |
| 12 | 12 | url: a.url, //接口网址 |
| 13 | 13 | iurl: a.imghost, |
| 14 | + defimgurl: "/miniapp/images/yyservice/yyxmdefault.jpg", | |
| 14 | 15 | stars_index: -1, //当前点击的星星下标 |
| 15 | 16 | labels: [], //星级标签数组 |
| 16 | 17 | sub_evaluate: 0, //是否评价成功 |
| ... | ... | @@ -19,7 +20,7 @@ Page({ |
| 19 | 20 | number: "", //订单单号 |
| 20 | 21 | beautician: "", //美容师信息 |
| 21 | 22 | fromType: "服务评价", //评价来源 |
| 22 | - arrangeTime:"",//服务日期 | |
| 23 | + arrangeTime: "", //服务日期 | |
| 23 | 24 | }, |
| 24 | 25 | //点击星级 |
| 25 | 26 | check_stars: function(e) { |
| ... | ... | @@ -127,12 +128,12 @@ Page({ |
| 127 | 128 | var proposal = th.data.proposal; //用户建议内容 |
| 128 | 129 | var fromType = th.data.fromType; //评价来源 |
| 129 | 130 | var json = { |
| 130 | - "storeId": a.stoid, | |
| 131 | 131 | "evaLabList": evaLabList, |
| 132 | - "fromType": "预约评价", | |
| 133 | - "posNo": posNo, | |
| 132 | + "fromType": 2, | |
| 133 | + "number": posNo, | |
| 134 | 134 | "remark": proposal, |
| 135 | - "star": stars + 1 | |
| 135 | + "star": stars + 1, | |
| 136 | + "storeId": a.stoid | |
| 136 | 137 | }; |
| 137 | 138 | var data = JSON.stringify(json); //转换成json格式 |
| 138 | 139 | wx.request({ |
| ... | ... | @@ -147,7 +148,7 @@ Page({ |
| 147 | 148 | th.setData({ |
| 148 | 149 | sub_evaluate: 1 |
| 149 | 150 | }) |
| 150 | - setTimeout(function () { | |
| 151 | + setTimeout(function() { | |
| 151 | 152 | wx.redirectTo({ |
| 152 | 153 | url: "/pages/user/my_service/tment_order_list" |
| 153 | 154 | }); |
| ... | ... | @@ -159,6 +160,16 @@ Page({ |
| 159 | 160 | }) |
| 160 | 161 | |
| 161 | 162 | }, |
| 163 | + //图片失败,默认图片 | |
| 164 | + bind_bnerr1: function (e) { | |
| 165 | + var _errImg = e.target.dataset.errorimg; | |
| 166 | + var _Img = e.target.dataset.img; | |
| 167 | + if (_Img != undefined) { | |
| 168 | + var _errObj = {}; | |
| 169 | + _errObj[_errImg] = "/miniapp/images/no_cate_def.png"; | |
| 170 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
| 171 | + } | |
| 172 | + }, | |
| 162 | 173 | /** |
| 163 | 174 | * 生命周期函数--监听页面加载 |
| 164 | 175 | */ | ... | ... |
pages/user/my_service/tment_eval.wxml
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | <!-- 头像 --> |
| 4 | 4 | <view class="flex-center head"> |
| 5 | - <image class="headimg" src="{{iurl}}/miniapp/images/yyservice/Cosm_appo.png"></image> | |
| 5 | + <image class="headimg" src="{{beautician.ImageUrl==''?iurl+defimgurl:beautician.ImageUrl}}" lazy-load="true" data-errorimg="beautician.ImageUrl" binderror="bind_bnerr1" data-img="{{beautician.ImageUrl}}"></image> | |
| 6 | 6 | </view> |
| 7 | 7 | |
| 8 | 8 | <!-- 姓名 --> | ... | ... |
pages/user/my_service/tment_eval.wxss
pages/user/my_service/tment_order_list.js
| ... | ... | @@ -39,8 +39,7 @@ Page({ |
| 39 | 39 | * 生命周期函数--监听页面加载 |
| 40 | 40 | */ |
| 41 | 41 | onLoad: function(options) { |
| 42 | - var th = this; | |
| 43 | - th.query_orderList(); | |
| 42 | + | |
| 44 | 43 | }, |
| 45 | 44 | changeTab: function(e) { |
| 46 | 45 | var th = this; |
| ... | ... | @@ -81,9 +80,6 @@ Page({ |
| 81 | 80 | } else { |
| 82 | 81 | --state_index; |
| 83 | 82 | } |
| 84 | - wx.showLoading({ | |
| 85 | - title: '加载中', | |
| 86 | - }) | |
| 87 | 83 | th.setData({ |
| 88 | 84 | is_read: 0 |
| 89 | 85 | }) |
| ... | ... | @@ -156,7 +152,7 @@ Page({ |
| 156 | 152 | [start]: 3 |
| 157 | 153 | }) |
| 158 | 154 | } |
| 159 | - | |
| 155 | + wx.stopPullDownRefresh(); //停止下拉刷新 | |
| 160 | 156 | } else { |
| 161 | 157 | getApp().my_warnning(res.data.msg, 0, th); |
| 162 | 158 | } |
| ... | ... | @@ -179,6 +175,13 @@ Page({ |
| 179 | 175 | */ |
| 180 | 176 | onShow: function() { |
| 181 | 177 | var th = this; |
| 178 | + th.setData({ | |
| 179 | + curpage:1, | |
| 180 | + total:0, | |
| 181 | + ismore:0, | |
| 182 | + is_read:0, | |
| 183 | + tm_order_list:[] | |
| 184 | + }) | |
| 182 | 185 | th.query_orderList(); |
| 183 | 186 | }, |
| 184 | 187 | ... | ... |
pages/user/my_service/tment_order_list.wxml
| ... | ... | @@ -33,11 +33,11 @@ |
| 33 | 33 | <view class="details"> |
| 34 | 34 | <view class="item flex-vertical"> |
| 35 | 35 | <view class="itemname">预约门店:</view> |
| 36 | - <view class="itemvalue ellipsis-1">{{item.ServiceName}}</view> | |
| 36 | + <view class="itemvalue ellipsis-1">{{item.StorageName}}</view> | |
| 37 | 37 | </view> |
| 38 | 38 | <view class="item flex-vertical"> |
| 39 | 39 | <view class="itemname">预约项目:</view> |
| 40 | - <view class="itemvalue ellipsis-1">{{item.StorageName}}</view> | |
| 40 | + <view class="itemvalue ellipsis-1">{{item.ServiceName}}</view> | |
| 41 | 41 | </view> |
| 42 | 42 | <view class="item flex-vertical"> |
| 43 | 43 | <view class="itemname">美容师:</view> | ... | ... |