Showing
26 changed files
with
1148 additions
and
37 deletions
| @@ -60,6 +60,9 @@ Page({ | @@ -60,6 +60,9 @@ Page({ | ||
| 60 | wxml: null, | 60 | wxml: null, |
| 61 | imgSrc:'',//canvas图片地址 | 61 | imgSrc:'',//canvas图片地址 |
| 62 | couponData: '', //评价赠送优惠券数据 | 62 | couponData: '', //评价赠送优惠券数据 |
| 63 | + timeList: [], | ||
| 64 | + temp_ddate:'',//展示的到店时间 | ||
| 65 | + lite_style:'',//小程序转发卡片样式 | ||
| 63 | }, | 66 | }, |
| 64 | tablestr: '', | 67 | tablestr: '', |
| 65 | urlsValue: [], | 68 | urlsValue: [], |
| @@ -280,7 +283,9 @@ Page({ | @@ -280,7 +283,9 @@ Page({ | ||
| 280 | tableNum, | 283 | tableNum, |
| 281 | tableinfo, | 284 | tableinfo, |
| 282 | is_user_comments: res.data.is_user_comments, | 285 | is_user_comments: res.data.is_user_comments, |
| 286 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 283 | seller: { | 287 | seller: { |
| 288 | + daily: reserev.seller.daily, | ||
| 284 | name: reserev.seller.sellername, | 289 | name: reserev.seller.sellername, |
| 285 | sid: reserev.sid, | 290 | sid: reserev.sid, |
| 286 | date: dateSmart, | 291 | date: dateSmart, |
| @@ -668,6 +673,16 @@ Page({ | @@ -668,6 +673,16 @@ Page({ | ||
| 668 | themeSixteen = '#fbf6f1' | 673 | themeSixteen = '#fbf6f1' |
| 669 | break; | 674 | break; |
| 670 | } | 675 | } |
| 676 | + let solt = this.data.detail.ddate_solt; | ||
| 677 | + let lunchDis = this.data.seller.daily; | ||
| 678 | + let timeList = [] | ||
| 679 | + var morningStr = lunchDis.morning.split("-"); | ||
| 680 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 681 | + var noonStr = lunchDis.noon.split("-"); | ||
| 682 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 683 | + var nightStr = lunchDis.night.split("-"); | ||
| 684 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 685 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 671 | this.setData({ | 686 | this.setData({ |
| 672 | chef, | 687 | chef, |
| 673 | marketing, | 688 | marketing, |
| @@ -681,6 +696,8 @@ Page({ | @@ -681,6 +696,8 @@ Page({ | ||
| 681 | titleType, | 696 | titleType, |
| 682 | themeColor, | 697 | themeColor, |
| 683 | themeSixteen, | 698 | themeSixteen, |
| 699 | + lite_style:data.lite_style, | ||
| 700 | + timeList, | ||
| 684 | }) | 701 | }) |
| 685 | // 开启语音播报 | 702 | // 开启语音播报 |
| 686 | if (reserve && reserve.swich_voice == '1') { | 703 | if (reserve && reserve.swich_voice == '1') { |
| @@ -698,7 +715,12 @@ Page({ | @@ -698,7 +715,12 @@ Page({ | ||
| 698 | } else { | 715 | } else { |
| 699 | let d = detailInfo.ddate_solt; | 716 | let d = detailInfo.ddate_solt; |
| 700 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 717 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 701 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 718 | + let time2; |
| 719 | + if(this.data.temp_ddate){ | ||
| 720 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 721 | + }else{ | ||
| 722 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 723 | + } | ||
| 702 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 724 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 703 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 725 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 704 | this.painterBtn( | 726 | this.painterBtn( |
| @@ -920,7 +942,95 @@ Page({ | @@ -920,7 +942,95 @@ Page({ | ||
| 920 | this.audioCtx.destroy(); // 释放音频资源 | 942 | this.audioCtx.destroy(); // 释放音频资源 |
| 921 | } | 943 | } |
| 922 | }, | 944 | }, |
| 923 | - | 945 | + // 设置虚拟到店时间 |
| 946 | + bindPickerChange: function(e) { | ||
| 947 | + let index = e.detail.value | ||
| 948 | + let temp_ddate = this.data.timeList[index] | ||
| 949 | + this.setData({ | ||
| 950 | + temp_ddate | ||
| 951 | + }) | ||
| 952 | + let detailInfo = this.data.detail; | ||
| 953 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 954 | + let reserveTime = | ||
| 955 | + reserveDate.getFullYear() + | ||
| 956 | + "-" + | ||
| 957 | + (reserveDate.getMonth() + 1) + | ||
| 958 | + "-" + | ||
| 959 | + reserveDate.getDate(); | ||
| 960 | + let times=new Date( | ||
| 961 | + reserveTime + " " + temp_ddate | ||
| 962 | + ).getTime() / 1000 | ||
| 963 | + let form = { | ||
| 964 | + rid:this.id, | ||
| 965 | + sid:this.data.seller.sid, | ||
| 966 | + temp_ddate:times, | ||
| 967 | + tid:detailInfo.tid, | ||
| 968 | + rname:detailInfo.rname, | ||
| 969 | + sex:detailInfo.sex, | ||
| 970 | + phone:detailInfo.phone, | ||
| 971 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 972 | + ddate:detailInfo.ddate, | ||
| 973 | + ddate_solt:detailInfo.ddate_solt, | ||
| 974 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 975 | + cusdem:detailInfo.cusdem, | ||
| 976 | + } | ||
| 977 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 978 | + if (res.ret == 200) { | ||
| 979 | + if (this.data.lite_style == '2') { | ||
| 980 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 981 | + this.painterBtn( | ||
| 982 | + detailInfo.seller.seller_image, | ||
| 983 | + detailInfo.seller.sellername, | ||
| 984 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 985 | + time | ||
| 986 | + ); | ||
| 987 | + } | ||
| 988 | + } | ||
| 989 | + }) | ||
| 990 | + }, | ||
| 991 | + //根据起始时间(获取时间时间段) | ||
| 992 | + computeHour (time1, time2, interval) { | ||
| 993 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 994 | + function getTimeList (time1, time2, interval) { | ||
| 995 | + var timeList = []; | ||
| 996 | + time1 = time1.split(":"); | ||
| 997 | + time2 = time2.split(":"); | ||
| 998 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 999 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 1000 | + interval = interval * 60 * 1000; | ||
| 1001 | + while (time1 <= time2) { | ||
| 1002 | + timeList.push(time1.format("hh:mm")); | ||
| 1003 | + time1 = new Date(time1.getTime() + interval); | ||
| 1004 | + } | ||
| 1005 | + return timeList; | ||
| 1006 | + } | ||
| 1007 | + Date.prototype.format = function (format) { | ||
| 1008 | + var date = { | ||
| 1009 | + "M+": this.getMonth() + 1, | ||
| 1010 | + "d+": this.getDate(), | ||
| 1011 | + "h+": this.getHours(), | ||
| 1012 | + "m+": this.getMinutes(), | ||
| 1013 | + "s+": this.getSeconds(), | ||
| 1014 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 1015 | + S: this.getMilliseconds(), | ||
| 1016 | + }; | ||
| 1017 | + if (/(y+)/.test(format)) | ||
| 1018 | + format = format.replace( | ||
| 1019 | + RegExp.$1, | ||
| 1020 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 1021 | + ); | ||
| 1022 | + for (var k in date) | ||
| 1023 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 1024 | + format = format.replace( | ||
| 1025 | + RegExp.$1, | ||
| 1026 | + RegExp.$1.length == 1 | ||
| 1027 | + ? date[k] | ||
| 1028 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 1029 | + ); | ||
| 1030 | + return format; | ||
| 1031 | + }; | ||
| 1032 | + return getTimeList(time1, time2, interval); | ||
| 1033 | + }, | ||
| 924 | /** | 1034 | /** |
| 925 | * 页面相关事件处理函数--监听用户下拉动作 | 1035 | * 页面相关事件处理函数--监听用户下拉动作 |
| 926 | */ | 1036 | */ |
| @@ -29,13 +29,16 @@ | @@ -29,13 +29,16 @@ | ||
| 29 | <view class="label font28r">【预订贵宾】</view> | 29 | <view class="label font28r">【预订贵宾】</view> |
| 30 | <view class="contentData font36r">{{detail.rnameStr}}</view> | 30 | <view class="contentData font36r">{{detail.rnameStr}}</view> |
| 31 | </view> | 31 | </view> |
| 32 | - <view class="flex-11" wx:if="{{seller.date}}"> | ||
| 33 | - <view class="label font28r">【就餐日期】</view> | ||
| 34 | - <view class="contentData font36r">{{seller.date}}</view> | ||
| 35 | - </view> | ||
| 36 | <view class="flex-11" wx:if="{{seller.soltName}}"> | 32 | <view class="flex-11" wx:if="{{seller.soltName}}"> |
| 37 | - <view class="label font28r">【就餐时间】</view> | ||
| 38 | - <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 33 | + <view class="label font28r">【就餐日期】</view> |
| 34 | + <view class="arrivalBox"> | ||
| 35 | + <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 36 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 37 | + <view class="picker"> | ||
| 38 | + <button>修改到店时间</button> | ||
| 39 | + </view> | ||
| 40 | + </picker> | ||
| 41 | + </view> | ||
| 39 | </view> | 42 | </view> |
| 40 | <view class="flex-11" wx:if="{{detail.actual_pum || tableNum}}"> | 43 | <view class="flex-11" wx:if="{{detail.actual_pum || tableNum}}"> |
| 41 | <view class="label font28r">【就餐人数】</view> | 44 | <view class="label font28r">【就餐人数】</view> |
| @@ -706,6 +706,27 @@ | @@ -706,6 +706,27 @@ | ||
| 706 | width: 100%; | 706 | width: 100%; |
| 707 | } | 707 | } |
| 708 | 708 | ||
| 709 | +.arrivalBox{ | ||
| 710 | + display: flex; | ||
| 711 | + width: 100%; | ||
| 712 | + justify-content: space-between; | ||
| 713 | + align-items: center; | ||
| 714 | +} | ||
| 715 | + | ||
| 716 | +.arrivalBox button{ | ||
| 717 | + display: flex; | ||
| 718 | + font-size: 24rpx; | ||
| 719 | + flex-direction: column; | ||
| 720 | + height: 50rpx; | ||
| 721 | + padding: 0 18rpx; | ||
| 722 | + line-height: 48rpx; | ||
| 723 | + font-family: PingFang SC; | ||
| 724 | + border-radius: 40rpx; | ||
| 725 | + background: transparent; | ||
| 726 | + color: #FFEFC5; | ||
| 727 | + border: 2rpx solid #FFEFC5; | ||
| 728 | +} | ||
| 729 | + | ||
| 709 | /* 黑蓝过渡 */ | 730 | /* 黑蓝过渡 */ |
| 710 | .blackBlueGradient, | 731 | .blackBlueGradient, |
| 711 | .blackBlueGradient .positioningBox { | 732 | .blackBlueGradient .positioningBox { |
| @@ -990,7 +1011,8 @@ | @@ -990,7 +1011,8 @@ | ||
| 990 | .pearlWhite .favouredPolicy, | 1011 | .pearlWhite .favouredPolicy, |
| 991 | .pearlWhite .paymenBtn, | 1012 | .pearlWhite .paymenBtn, |
| 992 | .pearlWhite .moreBtn, | 1013 | .pearlWhite .moreBtn, |
| 993 | -.pearlWhite .mapBtn { | 1014 | +.pearlWhite .mapBtn, |
| 1015 | +.pearlWhite .arrivalBox button { | ||
| 994 | color: #578C69; | 1016 | color: #578C69; |
| 995 | border: 2rpx solid #578C69; | 1017 | border: 2rpx solid #578C69; |
| 996 | } | 1018 | } |
| @@ -60,6 +60,9 @@ Page({ | @@ -60,6 +60,9 @@ Page({ | ||
| 60 | wxml: null, | 60 | wxml: null, |
| 61 | imgSrc:'',//canvas图片地址 | 61 | imgSrc:'',//canvas图片地址 |
| 62 | couponData: '', //评价赠送优惠券数据 | 62 | couponData: '', //评价赠送优惠券数据 |
| 63 | + timeList: [], | ||
| 64 | + temp_ddate:'',//展示的到店时间 | ||
| 65 | + lite_style:'',//小程序转发卡片样式 | ||
| 63 | }, | 66 | }, |
| 64 | tablestr: '', | 67 | tablestr: '', |
| 65 | urlsValue: [], | 68 | urlsValue: [], |
| @@ -280,7 +283,9 @@ Page({ | @@ -280,7 +283,9 @@ Page({ | ||
| 280 | tableNum, | 283 | tableNum, |
| 281 | tableinfo, | 284 | tableinfo, |
| 282 | is_user_comments: res.data.is_user_comments, | 285 | is_user_comments: res.data.is_user_comments, |
| 286 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 283 | seller: { | 287 | seller: { |
| 288 | + daily: reserev.seller.daily, | ||
| 284 | name: reserev.seller.sellername, | 289 | name: reserev.seller.sellername, |
| 285 | sid: reserev.sid, | 290 | sid: reserev.sid, |
| 286 | date: dateSmart, | 291 | date: dateSmart, |
| @@ -624,6 +629,16 @@ Page({ | @@ -624,6 +629,16 @@ Page({ | ||
| 624 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | 629 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); |
| 625 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | 630 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); |
| 626 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | 631 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); |
| 632 | + let solt = this.data.detail.ddate_solt; | ||
| 633 | + let lunchDis = this.data.seller.daily; | ||
| 634 | + let timeList = [] | ||
| 635 | + var morningStr = lunchDis.morning.split("-"); | ||
| 636 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 637 | + var noonStr = lunchDis.noon.split("-"); | ||
| 638 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 639 | + var nightStr = lunchDis.night.split("-"); | ||
| 640 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 641 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 627 | this.setData({ | 642 | this.setData({ |
| 628 | chef, | 643 | chef, |
| 629 | marketing, | 644 | marketing, |
| @@ -636,6 +651,8 @@ Page({ | @@ -636,6 +651,8 @@ Page({ | ||
| 636 | StyleType, | 651 | StyleType, |
| 637 | titleType, | 652 | titleType, |
| 638 | themeColor, | 653 | themeColor, |
| 654 | + lite_style:data.lite_style, | ||
| 655 | + timeList, | ||
| 639 | }) | 656 | }) |
| 640 | // 开启语音播报 | 657 | // 开启语音播报 |
| 641 | if (reserve && reserve.swich_voice == '1') { | 658 | if (reserve && reserve.swich_voice == '1') { |
| @@ -653,7 +670,12 @@ Page({ | @@ -653,7 +670,12 @@ Page({ | ||
| 653 | } else { | 670 | } else { |
| 654 | let d = detailInfo.ddate_solt; | 671 | let d = detailInfo.ddate_solt; |
| 655 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 672 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 656 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 673 | + let time2; |
| 674 | + if(this.data.temp_ddate){ | ||
| 675 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 676 | + }else{ | ||
| 677 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 678 | + } | ||
| 657 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 679 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 658 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 680 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 659 | this.painterBtn( | 681 | this.painterBtn( |
| @@ -875,7 +897,95 @@ Page({ | @@ -875,7 +897,95 @@ Page({ | ||
| 875 | this.audioCtx.destroy(); // 释放音频资源 | 897 | this.audioCtx.destroy(); // 释放音频资源 |
| 876 | } | 898 | } |
| 877 | }, | 899 | }, |
| 878 | - | 900 | + // 设置虚拟到店时间 |
| 901 | + bindPickerChange: function(e) { | ||
| 902 | + let index = e.detail.value | ||
| 903 | + let temp_ddate = this.data.timeList[index] | ||
| 904 | + this.setData({ | ||
| 905 | + temp_ddate | ||
| 906 | + }) | ||
| 907 | + let detailInfo = this.data.detail; | ||
| 908 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 909 | + let reserveTime = | ||
| 910 | + reserveDate.getFullYear() + | ||
| 911 | + "-" + | ||
| 912 | + (reserveDate.getMonth() + 1) + | ||
| 913 | + "-" + | ||
| 914 | + reserveDate.getDate(); | ||
| 915 | + let times=new Date( | ||
| 916 | + reserveTime + " " + temp_ddate | ||
| 917 | + ).getTime() / 1000 | ||
| 918 | + let form = { | ||
| 919 | + rid:this.id, | ||
| 920 | + sid:this.data.seller.sid, | ||
| 921 | + temp_ddate:times, | ||
| 922 | + tid:detailInfo.tid, | ||
| 923 | + rname:detailInfo.rname, | ||
| 924 | + sex:detailInfo.sex, | ||
| 925 | + phone:detailInfo.phone, | ||
| 926 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 927 | + ddate:detailInfo.ddate, | ||
| 928 | + ddate_solt:detailInfo.ddate_solt, | ||
| 929 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 930 | + cusdem:detailInfo.cusdem, | ||
| 931 | + } | ||
| 932 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 933 | + if (res.ret == 200) { | ||
| 934 | + if (this.data.lite_style == '2') { | ||
| 935 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 936 | + this.painterBtn( | ||
| 937 | + detailInfo.seller.seller_image, | ||
| 938 | + detailInfo.seller.sellername, | ||
| 939 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 940 | + time | ||
| 941 | + ); | ||
| 942 | + } | ||
| 943 | + } | ||
| 944 | + }) | ||
| 945 | + }, | ||
| 946 | + //根据起始时间(获取时间时间段) | ||
| 947 | + computeHour (time1, time2, interval) { | ||
| 948 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 949 | + function getTimeList (time1, time2, interval) { | ||
| 950 | + var timeList = []; | ||
| 951 | + time1 = time1.split(":"); | ||
| 952 | + time2 = time2.split(":"); | ||
| 953 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 954 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 955 | + interval = interval * 60 * 1000; | ||
| 956 | + while (time1 <= time2) { | ||
| 957 | + timeList.push(time1.format("hh:mm")); | ||
| 958 | + time1 = new Date(time1.getTime() + interval); | ||
| 959 | + } | ||
| 960 | + return timeList; | ||
| 961 | + } | ||
| 962 | + Date.prototype.format = function (format) { | ||
| 963 | + var date = { | ||
| 964 | + "M+": this.getMonth() + 1, | ||
| 965 | + "d+": this.getDate(), | ||
| 966 | + "h+": this.getHours(), | ||
| 967 | + "m+": this.getMinutes(), | ||
| 968 | + "s+": this.getSeconds(), | ||
| 969 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 970 | + S: this.getMilliseconds(), | ||
| 971 | + }; | ||
| 972 | + if (/(y+)/.test(format)) | ||
| 973 | + format = format.replace( | ||
| 974 | + RegExp.$1, | ||
| 975 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 976 | + ); | ||
| 977 | + for (var k in date) | ||
| 978 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 979 | + format = format.replace( | ||
| 980 | + RegExp.$1, | ||
| 981 | + RegExp.$1.length == 1 | ||
| 982 | + ? date[k] | ||
| 983 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 984 | + ); | ||
| 985 | + return format; | ||
| 986 | + }; | ||
| 987 | + return getTimeList(time1, time2, interval); | ||
| 988 | + }, | ||
| 879 | /** | 989 | /** |
| 880 | * 页面相关事件处理函数--监听用户下拉动作 | 990 | * 页面相关事件处理函数--监听用户下拉动作 |
| 881 | */ | 991 | */ |
| @@ -44,7 +44,14 @@ | @@ -44,7 +44,14 @@ | ||
| 44 | </view> | 44 | </view> |
| 45 | <view class="flex-11" wx:if="{{seller.soltName}}"> | 45 | <view class="flex-11" wx:if="{{seller.soltName}}"> |
| 46 | <view class="label font28r">【餐段】</view> | 46 | <view class="label font28r">【餐段】</view> |
| 47 | - <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 47 | + <view class="arrivalBox"> |
| 48 | + <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 49 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 50 | + <view class="picker"> | ||
| 51 | + <button>修改到店时间</button> | ||
| 52 | + </view> | ||
| 53 | + </picker> | ||
| 54 | + </view> | ||
| 48 | </view> | 55 | </view> |
| 49 | <view class="flex-11" wx:if="{{detail.actual_pum || tableNum}}"> | 56 | <view class="flex-11" wx:if="{{detail.actual_pum || tableNum}}"> |
| 50 | <view class="label font28r">【人数】</view> | 57 | <view class="label font28r">【人数】</view> |
| @@ -737,6 +737,27 @@ | @@ -737,6 +737,27 @@ | ||
| 737 | width: 100%; | 737 | width: 100%; |
| 738 | } | 738 | } |
| 739 | 739 | ||
| 740 | +.arrivalBox{ | ||
| 741 | + display: flex; | ||
| 742 | + width: 100%; | ||
| 743 | + justify-content: space-between; | ||
| 744 | + align-items: center; | ||
| 745 | +} | ||
| 746 | + | ||
| 747 | +.arrivalBox button{ | ||
| 748 | + display: flex; | ||
| 749 | + font-size: 24rpx; | ||
| 750 | + flex-direction: column; | ||
| 751 | + height: 50rpx; | ||
| 752 | + padding: 0 18rpx; | ||
| 753 | + line-height: 48rpx; | ||
| 754 | + font-family: PingFang SC; | ||
| 755 | + border-radius: 40rpx; | ||
| 756 | + background: transparent; | ||
| 757 | + color: #FFEFC5; | ||
| 758 | + border: 2rpx solid #FFEFC5; | ||
| 759 | +} | ||
| 760 | + | ||
| 740 | /* 黑蓝过渡 */ | 761 | /* 黑蓝过渡 */ |
| 741 | .blackBlueGradient, | 762 | .blackBlueGradient, |
| 742 | .blackBlueGradient .positioningBox { | 763 | .blackBlueGradient .positioningBox { |
| @@ -1023,7 +1044,8 @@ | @@ -1023,7 +1044,8 @@ | ||
| 1023 | .pearlWhite .favouredPolicy, | 1044 | .pearlWhite .favouredPolicy, |
| 1024 | .pearlWhite .paymenBtn, | 1045 | .pearlWhite .paymenBtn, |
| 1025 | .pearlWhite .mapBtn, | 1046 | .pearlWhite .mapBtn, |
| 1026 | -.pearlWhite .moreBtn { | 1047 | +.pearlWhite .moreBtn, |
| 1048 | +.pearlWhite .arrivalBox button { | ||
| 1027 | color: #578C69; | 1049 | color: #578C69; |
| 1028 | border: 2rpx solid #578C69; | 1050 | border: 2rpx solid #578C69; |
| 1029 | } | 1051 | } |
| @@ -60,6 +60,9 @@ Page({ | @@ -60,6 +60,9 @@ Page({ | ||
| 60 | wxml: null, | 60 | wxml: null, |
| 61 | imgSrc:'',//canvas图片地址 | 61 | imgSrc:'',//canvas图片地址 |
| 62 | couponData: '', //评价赠送优惠券数据 | 62 | couponData: '', //评价赠送优惠券数据 |
| 63 | + timeList: [], | ||
| 64 | + temp_ddate:'',//展示的到店时间 | ||
| 65 | + lite_style:'',//小程序转发卡片样式 | ||
| 63 | }, | 66 | }, |
| 64 | tablestr: '', | 67 | tablestr: '', |
| 65 | urlsValue: [], | 68 | urlsValue: [], |
| @@ -280,7 +283,9 @@ Page({ | @@ -280,7 +283,9 @@ Page({ | ||
| 280 | tableNum, | 283 | tableNum, |
| 281 | tableinfo, | 284 | tableinfo, |
| 282 | is_user_comments: res.data.is_user_comments, | 285 | is_user_comments: res.data.is_user_comments, |
| 286 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 283 | seller: { | 287 | seller: { |
| 288 | + daily: reserev.seller.daily, | ||
| 284 | name: reserev.seller.sellername, | 289 | name: reserev.seller.sellername, |
| 285 | sid: reserev.sid, | 290 | sid: reserev.sid, |
| 286 | date: dateSmart, | 291 | date: dateSmart, |
| @@ -624,6 +629,16 @@ Page({ | @@ -624,6 +629,16 @@ Page({ | ||
| 624 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | 629 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); |
| 625 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | 630 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); |
| 626 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | 631 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); |
| 632 | + let solt = this.data.detail.ddate_solt; | ||
| 633 | + let lunchDis = this.data.seller.daily; | ||
| 634 | + let timeList = [] | ||
| 635 | + var morningStr = lunchDis.morning.split("-"); | ||
| 636 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 637 | + var noonStr = lunchDis.noon.split("-"); | ||
| 638 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 639 | + var nightStr = lunchDis.night.split("-"); | ||
| 640 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 641 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 627 | this.setData({ | 642 | this.setData({ |
| 628 | chef, | 643 | chef, |
| 629 | marketing, | 644 | marketing, |
| @@ -636,6 +651,8 @@ Page({ | @@ -636,6 +651,8 @@ Page({ | ||
| 636 | StyleType, | 651 | StyleType, |
| 637 | titleType, | 652 | titleType, |
| 638 | themeColor, | 653 | themeColor, |
| 654 | + lite_style:data.lite_style, | ||
| 655 | + timeList, | ||
| 639 | }) | 656 | }) |
| 640 | // 开启语音播报 | 657 | // 开启语音播报 |
| 641 | if (reserve && reserve.swich_voice == '1') { | 658 | if (reserve && reserve.swich_voice == '1') { |
| @@ -653,7 +670,12 @@ Page({ | @@ -653,7 +670,12 @@ Page({ | ||
| 653 | } else { | 670 | } else { |
| 654 | let d = detailInfo.ddate_solt; | 671 | let d = detailInfo.ddate_solt; |
| 655 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 672 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 656 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 673 | + let time2; |
| 674 | + if(this.data.temp_ddate){ | ||
| 675 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 676 | + }else{ | ||
| 677 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 678 | + } | ||
| 657 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 679 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 658 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 680 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 659 | this.painterBtn( | 681 | this.painterBtn( |
| @@ -875,7 +897,95 @@ Page({ | @@ -875,7 +897,95 @@ Page({ | ||
| 875 | this.audioCtx.destroy(); // 释放音频资源 | 897 | this.audioCtx.destroy(); // 释放音频资源 |
| 876 | } | 898 | } |
| 877 | }, | 899 | }, |
| 878 | - | 900 | + // 设置虚拟到店时间 |
| 901 | + bindPickerChange: function(e) { | ||
| 902 | + let index = e.detail.value | ||
| 903 | + let temp_ddate = this.data.timeList[index] | ||
| 904 | + this.setData({ | ||
| 905 | + temp_ddate | ||
| 906 | + }) | ||
| 907 | + let detailInfo = this.data.detail; | ||
| 908 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 909 | + let reserveTime = | ||
| 910 | + reserveDate.getFullYear() + | ||
| 911 | + "-" + | ||
| 912 | + (reserveDate.getMonth() + 1) + | ||
| 913 | + "-" + | ||
| 914 | + reserveDate.getDate(); | ||
| 915 | + let times=new Date( | ||
| 916 | + reserveTime + " " + temp_ddate | ||
| 917 | + ).getTime() / 1000 | ||
| 918 | + let form = { | ||
| 919 | + rid:this.id, | ||
| 920 | + sid:this.data.seller.sid, | ||
| 921 | + temp_ddate:times, | ||
| 922 | + tid:detailInfo.tid, | ||
| 923 | + rname:detailInfo.rname, | ||
| 924 | + sex:detailInfo.sex, | ||
| 925 | + phone:detailInfo.phone, | ||
| 926 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 927 | + ddate:detailInfo.ddate, | ||
| 928 | + ddate_solt:detailInfo.ddate_solt, | ||
| 929 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 930 | + cusdem:detailInfo.cusdem, | ||
| 931 | + } | ||
| 932 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 933 | + if (res.ret == 200) { | ||
| 934 | + if (this.data.lite_style == '2') { | ||
| 935 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 936 | + this.painterBtn( | ||
| 937 | + detailInfo.seller.seller_image, | ||
| 938 | + detailInfo.seller.sellername, | ||
| 939 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 940 | + time | ||
| 941 | + ); | ||
| 942 | + } | ||
| 943 | + } | ||
| 944 | + }) | ||
| 945 | + }, | ||
| 946 | + //根据起始时间(获取时间时间段) | ||
| 947 | + computeHour (time1, time2, interval) { | ||
| 948 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 949 | + function getTimeList (time1, time2, interval) { | ||
| 950 | + var timeList = []; | ||
| 951 | + time1 = time1.split(":"); | ||
| 952 | + time2 = time2.split(":"); | ||
| 953 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 954 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 955 | + interval = interval * 60 * 1000; | ||
| 956 | + while (time1 <= time2) { | ||
| 957 | + timeList.push(time1.format("hh:mm")); | ||
| 958 | + time1 = new Date(time1.getTime() + interval); | ||
| 959 | + } | ||
| 960 | + return timeList; | ||
| 961 | + } | ||
| 962 | + Date.prototype.format = function (format) { | ||
| 963 | + var date = { | ||
| 964 | + "M+": this.getMonth() + 1, | ||
| 965 | + "d+": this.getDate(), | ||
| 966 | + "h+": this.getHours(), | ||
| 967 | + "m+": this.getMinutes(), | ||
| 968 | + "s+": this.getSeconds(), | ||
| 969 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 970 | + S: this.getMilliseconds(), | ||
| 971 | + }; | ||
| 972 | + if (/(y+)/.test(format)) | ||
| 973 | + format = format.replace( | ||
| 974 | + RegExp.$1, | ||
| 975 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 976 | + ); | ||
| 977 | + for (var k in date) | ||
| 978 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 979 | + format = format.replace( | ||
| 980 | + RegExp.$1, | ||
| 981 | + RegExp.$1.length == 1 | ||
| 982 | + ? date[k] | ||
| 983 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 984 | + ); | ||
| 985 | + return format; | ||
| 986 | + }; | ||
| 987 | + return getTimeList(time1, time2, interval); | ||
| 988 | + }, | ||
| 879 | /** | 989 | /** |
| 880 | * 页面相关事件处理函数--监听用户下拉动作 | 990 | * 页面相关事件处理函数--监听用户下拉动作 |
| 881 | */ | 991 | */ |
| @@ -27,7 +27,14 @@ | @@ -27,7 +27,14 @@ | ||
| 27 | wx:if="{{detail && detail.rnameStr && reserve && reserve.swich_customer == '1'}}" | 27 | wx:if="{{detail && detail.rnameStr && reserve && reserve.swich_customer == '1'}}" |
| 28 | >{{detail.rnameStr}}</view> | 28 | >{{detail.rnameStr}}</view> |
| 29 | <view class="leftInfo font36r">{{seller.date}}</view> | 29 | <view class="leftInfo font36r">{{seller.date}}</view> |
| 30 | - <view class="leftInfo font36r"> {{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 30 | + <view class="arrivalBox"> |
| 31 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 32 | + <view class="picker"> | ||
| 33 | + <button>修改到店时间</button> | ||
| 34 | + </view> | ||
| 35 | + </picker> | ||
| 36 | + <view class="leftInfo font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 37 | + </view> | ||
| 31 | <view class="leftInfo font36r over">{{seller.tablesText}}</view> | 38 | <view class="leftInfo font36r over">{{seller.tablesText}}</view> |
| 32 | <view class="leftInfo font36r tables" wx:if="{{swich_phone!='0' && seller && seller.tel && seller.tel.length>0}}">预订台<block wx:for="{{seller.tel}}" wx:key="index"><text data-phone="{{item}}" bindtap="call">{{item}}</text>{{index==(seller.tel.length-1)?'':','}}</block></view> | 39 | <view class="leftInfo font36r tables" wx:if="{{swich_phone!='0' && seller && seller.tel && seller.tel.length>0}}">预订台<block wx:for="{{seller.tel}}" wx:key="index"><text data-phone="{{item}}" bindtap="call">{{item}}</text>{{index==(seller.tel.length-1)?'':','}}</block></view> |
| 33 | </view> | 40 | </view> |
| @@ -727,6 +727,28 @@ | @@ -727,6 +727,28 @@ | ||
| 727 | width: 100%; | 727 | width: 100%; |
| 728 | } | 728 | } |
| 729 | 729 | ||
| 730 | +.arrivalBox{ | ||
| 731 | + display: flex; | ||
| 732 | + width: 100%; | ||
| 733 | + justify-content: flex-end; | ||
| 734 | + align-items: center; | ||
| 735 | +} | ||
| 736 | + | ||
| 737 | +.arrivalBox button{ | ||
| 738 | + display: flex; | ||
| 739 | + font-size: 24rpx; | ||
| 740 | + flex-direction: column; | ||
| 741 | + height: 50rpx; | ||
| 742 | + padding: 0 18rpx; | ||
| 743 | + line-height: 48rpx; | ||
| 744 | + font-family: PingFang SC; | ||
| 745 | + border-radius: 40rpx; | ||
| 746 | + background: transparent; | ||
| 747 | + color: #FFEFC5; | ||
| 748 | + border: 2rpx solid #FFEFC5; | ||
| 749 | + margin-right: 20rpx; | ||
| 750 | +} | ||
| 751 | + | ||
| 730 | /* 黑蓝过渡 */ | 752 | /* 黑蓝过渡 */ |
| 731 | .blackBlueGradient, | 753 | .blackBlueGradient, |
| 732 | .blackBlueGradient .positioningBox { | 754 | .blackBlueGradient .positioningBox { |
| @@ -1067,7 +1089,8 @@ | @@ -1067,7 +1089,8 @@ | ||
| 1067 | .pearlWhite .favouredPolicy, | 1089 | .pearlWhite .favouredPolicy, |
| 1068 | .pearlWhite .paymenBtn, | 1090 | .pearlWhite .paymenBtn, |
| 1069 | .pearlWhite .mapBtn, | 1091 | .pearlWhite .mapBtn, |
| 1070 | -.pearlWhite .moreBtn { | 1092 | +.pearlWhite .moreBtn, |
| 1093 | +.pearlWhite .arrivalBox button { | ||
| 1071 | color: #578C69; | 1094 | color: #578C69; |
| 1072 | border: 2rpx solid #578C69; | 1095 | border: 2rpx solid #578C69; |
| 1073 | } | 1096 | } |
| @@ -59,6 +59,9 @@ Page({ | @@ -59,6 +59,9 @@ Page({ | ||
| 59 | wxml: null, | 59 | wxml: null, |
| 60 | imgSrc:'',//canvas图片地址 | 60 | imgSrc:'',//canvas图片地址 |
| 61 | couponData: '', //评价赠送优惠券数据 | 61 | couponData: '', //评价赠送优惠券数据 |
| 62 | + timeList: [], | ||
| 63 | + temp_ddate:'',//展示的到店时间 | ||
| 64 | + lite_style:'',//小程序转发卡片样式 | ||
| 62 | }, | 65 | }, |
| 63 | tablestr: '', | 66 | tablestr: '', |
| 64 | urlsValue: [], | 67 | urlsValue: [], |
| @@ -279,7 +282,9 @@ Page({ | @@ -279,7 +282,9 @@ Page({ | ||
| 279 | tableNum, | 282 | tableNum, |
| 280 | tableinfo, | 283 | tableinfo, |
| 281 | is_user_comments: res.data.is_user_comments, | 284 | is_user_comments: res.data.is_user_comments, |
| 285 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 282 | seller: { | 286 | seller: { |
| 287 | + daily: reserev.seller.daily, | ||
| 283 | name: reserev.seller.sellername, | 288 | name: reserev.seller.sellername, |
| 284 | sid: reserev.sid, | 289 | sid: reserev.sid, |
| 285 | date: dateSmart, | 290 | date: dateSmart, |
| @@ -623,6 +628,16 @@ Page({ | @@ -623,6 +628,16 @@ Page({ | ||
| 623 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | 628 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); |
| 624 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | 629 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); |
| 625 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | 630 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); |
| 631 | + let solt = this.data.detail.ddate_solt; | ||
| 632 | + let lunchDis = this.data.seller.daily; | ||
| 633 | + let timeList = [] | ||
| 634 | + var morningStr = lunchDis.morning.split("-"); | ||
| 635 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 636 | + var noonStr = lunchDis.noon.split("-"); | ||
| 637 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 638 | + var nightStr = lunchDis.night.split("-"); | ||
| 639 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 640 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 626 | this.setData({ | 641 | this.setData({ |
| 627 | chef, | 642 | chef, |
| 628 | marketing, | 643 | marketing, |
| @@ -635,6 +650,8 @@ Page({ | @@ -635,6 +650,8 @@ Page({ | ||
| 635 | StyleType, | 650 | StyleType, |
| 636 | titleType, | 651 | titleType, |
| 637 | themeColor, | 652 | themeColor, |
| 653 | + lite_style:data.lite_style, | ||
| 654 | + timeList, | ||
| 638 | }) | 655 | }) |
| 639 | // 开启语音播报 | 656 | // 开启语音播报 |
| 640 | if (reserve && reserve.swich_voice == '1') { | 657 | if (reserve && reserve.swich_voice == '1') { |
| @@ -652,7 +669,12 @@ Page({ | @@ -652,7 +669,12 @@ Page({ | ||
| 652 | } else { | 669 | } else { |
| 653 | let d = detailInfo.ddate_solt; | 670 | let d = detailInfo.ddate_solt; |
| 654 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 671 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 655 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 672 | + let time2; |
| 673 | + if(this.data.temp_ddate){ | ||
| 674 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 675 | + }else{ | ||
| 676 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 677 | + } | ||
| 656 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 678 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 657 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 679 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 658 | this.painterBtn( | 680 | this.painterBtn( |
| @@ -874,7 +896,95 @@ Page({ | @@ -874,7 +896,95 @@ Page({ | ||
| 874 | this.audioCtx.destroy(); // 释放音频资源 | 896 | this.audioCtx.destroy(); // 释放音频资源 |
| 875 | } | 897 | } |
| 876 | }, | 898 | }, |
| 877 | - | 899 | + // 设置虚拟到店时间 |
| 900 | + bindPickerChange: function(e) { | ||
| 901 | + let index = e.detail.value | ||
| 902 | + let temp_ddate = this.data.timeList[index] | ||
| 903 | + this.setData({ | ||
| 904 | + temp_ddate | ||
| 905 | + }) | ||
| 906 | + let detailInfo = this.data.detail; | ||
| 907 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 908 | + let reserveTime = | ||
| 909 | + reserveDate.getFullYear() + | ||
| 910 | + "-" + | ||
| 911 | + (reserveDate.getMonth() + 1) + | ||
| 912 | + "-" + | ||
| 913 | + reserveDate.getDate(); | ||
| 914 | + let times=new Date( | ||
| 915 | + reserveTime + " " + temp_ddate | ||
| 916 | + ).getTime() / 1000 | ||
| 917 | + let form = { | ||
| 918 | + rid:this.id, | ||
| 919 | + sid:this.data.seller.sid, | ||
| 920 | + temp_ddate:times, | ||
| 921 | + tid:detailInfo.tid, | ||
| 922 | + rname:detailInfo.rname, | ||
| 923 | + sex:detailInfo.sex, | ||
| 924 | + phone:detailInfo.phone, | ||
| 925 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 926 | + ddate:detailInfo.ddate, | ||
| 927 | + ddate_solt:detailInfo.ddate_solt, | ||
| 928 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 929 | + cusdem:detailInfo.cusdem, | ||
| 930 | + } | ||
| 931 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 932 | + if (res.ret == 200) { | ||
| 933 | + if (this.data.lite_style == '2') { | ||
| 934 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 935 | + this.painterBtn( | ||
| 936 | + detailInfo.seller.seller_image, | ||
| 937 | + detailInfo.seller.sellername, | ||
| 938 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 939 | + time | ||
| 940 | + ); | ||
| 941 | + } | ||
| 942 | + } | ||
| 943 | + }) | ||
| 944 | + }, | ||
| 945 | + //根据起始时间(获取时间时间段) | ||
| 946 | + computeHour (time1, time2, interval) { | ||
| 947 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 948 | + function getTimeList (time1, time2, interval) { | ||
| 949 | + var timeList = []; | ||
| 950 | + time1 = time1.split(":"); | ||
| 951 | + time2 = time2.split(":"); | ||
| 952 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 953 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 954 | + interval = interval * 60 * 1000; | ||
| 955 | + while (time1 <= time2) { | ||
| 956 | + timeList.push(time1.format("hh:mm")); | ||
| 957 | + time1 = new Date(time1.getTime() + interval); | ||
| 958 | + } | ||
| 959 | + return timeList; | ||
| 960 | + } | ||
| 961 | + Date.prototype.format = function (format) { | ||
| 962 | + var date = { | ||
| 963 | + "M+": this.getMonth() + 1, | ||
| 964 | + "d+": this.getDate(), | ||
| 965 | + "h+": this.getHours(), | ||
| 966 | + "m+": this.getMinutes(), | ||
| 967 | + "s+": this.getSeconds(), | ||
| 968 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 969 | + S: this.getMilliseconds(), | ||
| 970 | + }; | ||
| 971 | + if (/(y+)/.test(format)) | ||
| 972 | + format = format.replace( | ||
| 973 | + RegExp.$1, | ||
| 974 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 975 | + ); | ||
| 976 | + for (var k in date) | ||
| 977 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 978 | + format = format.replace( | ||
| 979 | + RegExp.$1, | ||
| 980 | + RegExp.$1.length == 1 | ||
| 981 | + ? date[k] | ||
| 982 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 983 | + ); | ||
| 984 | + return format; | ||
| 985 | + }; | ||
| 986 | + return getTimeList(time1, time2, interval); | ||
| 987 | + }, | ||
| 878 | /** | 988 | /** |
| 879 | * 页面相关事件处理函数--监听用户下拉动作 | 989 | * 页面相关事件处理函数--监听用户下拉动作 |
| 880 | */ | 990 | */ |
| @@ -28,7 +28,14 @@ | @@ -28,7 +28,14 @@ | ||
| 28 | wx:if="{{detail && detail.rnameStr && reserve && reserve.swich_customer == '1'}}" | 28 | wx:if="{{detail && detail.rnameStr && reserve && reserve.swich_customer == '1'}}" |
| 29 | >{{detail.rnameStr}}</view> | 29 | >{{detail.rnameStr}}</view> |
| 30 | <view class="leftInfo font36r">{{seller.date}}</view> | 30 | <view class="leftInfo font36r">{{seller.date}}</view> |
| 31 | - <view class="leftInfo font36r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 31 | + <view class="arrivalBox"> |
| 32 | + <view class="leftInfo font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 33 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 34 | + <view class="picker"> | ||
| 35 | + <button>修改到店时间</button> | ||
| 36 | + </view> | ||
| 37 | + </picker> | ||
| 38 | + </view> | ||
| 32 | <view class="leftInfo font36r over">{{seller.tablesText}}</view> | 39 | <view class="leftInfo font36r over">{{seller.tablesText}}</view> |
| 33 | <view class="leftInfo font36r tables" wx:if="{{swich_phone!='0' && seller && seller.tel && seller.tel.length>0}}">预订台 <block wx:for="{{seller.tel}}" wx:key="index"><text data-phone="{{item}}" bindtap="call">{{item}}</text>{{index==(seller.tel.length-1)?'':','}}</block></view> | 40 | <view class="leftInfo font36r tables" wx:if="{{swich_phone!='0' && seller && seller.tel && seller.tel.length>0}}">预订台 <block wx:for="{{seller.tel}}" wx:key="index"><text data-phone="{{item}}" bindtap="call">{{item}}</text>{{index==(seller.tel.length-1)?'':','}}</block></view> |
| 34 | </view> | 41 | </view> |
| @@ -726,6 +726,26 @@ | @@ -726,6 +726,26 @@ | ||
| 726 | width: 100%; | 726 | width: 100%; |
| 727 | } | 727 | } |
| 728 | 728 | ||
| 729 | +.arrivalBox{ | ||
| 730 | + display: flex; | ||
| 731 | + justify-content: space-between; | ||
| 732 | + align-items: center; | ||
| 733 | +} | ||
| 734 | + | ||
| 735 | +.arrivalBox button{ | ||
| 736 | + display: flex; | ||
| 737 | + font-size: 24rpx; | ||
| 738 | + flex-direction: column; | ||
| 739 | + height: 50rpx; | ||
| 740 | + padding: 0 18rpx; | ||
| 741 | + line-height: 48rpx; | ||
| 742 | + font-family: PingFang SC; | ||
| 743 | + border-radius: 40rpx; | ||
| 744 | + background: transparent; | ||
| 745 | + color: #FFEFC5; | ||
| 746 | + border: 2rpx solid #FFEFC5; | ||
| 747 | +} | ||
| 748 | + | ||
| 729 | /* 黑蓝过渡 */ | 749 | /* 黑蓝过渡 */ |
| 730 | .blackBlueGradient, | 750 | .blackBlueGradient, |
| 731 | .blackBlueGradient .positioningBox { | 751 | .blackBlueGradient .positioningBox { |
| @@ -1066,7 +1086,8 @@ | @@ -1066,7 +1086,8 @@ | ||
| 1066 | .pearlWhite .favouredPolicy, | 1086 | .pearlWhite .favouredPolicy, |
| 1067 | .pearlWhite .paymenBtn, | 1087 | .pearlWhite .paymenBtn, |
| 1068 | .pearlWhite .mapBtn, | 1088 | .pearlWhite .mapBtn, |
| 1069 | -.pearlWhite .moreBtn { | 1089 | +.pearlWhite .moreBtn, |
| 1090 | +.pearlWhite .arrivalBox button { | ||
| 1070 | color: #578C69; | 1091 | color: #578C69; |
| 1071 | border: 2rpx solid #578C69; | 1092 | border: 2rpx solid #578C69; |
| 1072 | } | 1093 | } |
| @@ -61,6 +61,9 @@ Page({ | @@ -61,6 +61,9 @@ Page({ | ||
| 61 | wxml: null, | 61 | wxml: null, |
| 62 | imgSrc:'',//canvas图片地址 | 62 | imgSrc:'',//canvas图片地址 |
| 63 | couponData: '', //评价赠送优惠券数据 | 63 | couponData: '', //评价赠送优惠券数据 |
| 64 | + timeList: [], | ||
| 65 | + temp_ddate:'',//展示的到店时间 | ||
| 66 | + lite_style:'',//小程序转发卡片样式 | ||
| 64 | }, | 67 | }, |
| 65 | screenHeight: '', | 68 | screenHeight: '', |
| 66 | attentionAnim: {}, | 69 | attentionAnim: {}, |
| @@ -235,7 +238,9 @@ Page({ | @@ -235,7 +238,9 @@ Page({ | ||
| 235 | detail: this.formatDatail(reserev, dateSmart), | 238 | detail: this.formatDatail(reserev, dateSmart), |
| 236 | tableNum, | 239 | tableNum, |
| 237 | is_user_comments: res.data.is_user_comments, | 240 | is_user_comments: res.data.is_user_comments, |
| 238 | - seller: { | 241 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), |
| 242 | + seller: { | ||
| 243 | + daily: reserev.seller.daily, | ||
| 239 | name: reserev.seller.sellername, | 244 | name: reserev.seller.sellername, |
| 240 | sid: reserev.sid, | 245 | sid: reserev.sid, |
| 241 | date: dateSmart, | 246 | date: dateSmart, |
| @@ -578,6 +583,16 @@ Page({ | @@ -578,6 +583,16 @@ Page({ | ||
| 578 | } else { | 583 | } else { |
| 579 | whiteBj = false | 584 | whiteBj = false |
| 580 | } | 585 | } |
| 586 | + let solt = this.data.detail.ddate_solt; | ||
| 587 | + let lunchDis = this.data.seller.daily; | ||
| 588 | + let timeList = [] | ||
| 589 | + var morningStr = lunchDis.morning.split("-"); | ||
| 590 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 591 | + var noonStr = lunchDis.noon.split("-"); | ||
| 592 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 593 | + var nightStr = lunchDis.night.split("-"); | ||
| 594 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 595 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 581 | this.setData({ | 596 | this.setData({ |
| 582 | chef, | 597 | chef, |
| 583 | marketing, | 598 | marketing, |
| @@ -591,6 +606,8 @@ Page({ | @@ -591,6 +606,8 @@ Page({ | ||
| 591 | titleType, | 606 | titleType, |
| 592 | themeColor, | 607 | themeColor, |
| 593 | whiteBj, | 608 | whiteBj, |
| 609 | + lite_style:data.lite_style, | ||
| 610 | + timeList, | ||
| 594 | }) | 611 | }) |
| 595 | // 开启语音播报 | 612 | // 开启语音播报 |
| 596 | if (reserve && reserve.swich_voice == '1') { | 613 | if (reserve && reserve.swich_voice == '1') { |
| @@ -608,7 +625,12 @@ Page({ | @@ -608,7 +625,12 @@ Page({ | ||
| 608 | } else { | 625 | } else { |
| 609 | let d = detailInfo.ddate_solt; | 626 | let d = detailInfo.ddate_solt; |
| 610 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 627 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 611 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 628 | + let time2; |
| 629 | + if(this.data.temp_ddate){ | ||
| 630 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 631 | + }else{ | ||
| 632 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 633 | + } | ||
| 612 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 634 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 613 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 635 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 614 | this.painterBtn( | 636 | this.painterBtn( |
| @@ -830,7 +852,95 @@ Page({ | @@ -830,7 +852,95 @@ Page({ | ||
| 830 | this.audioCtx.destroy(); // 释放音频资源 | 852 | this.audioCtx.destroy(); // 释放音频资源 |
| 831 | } | 853 | } |
| 832 | }, | 854 | }, |
| 833 | - | 855 | + // 设置虚拟到店时间 |
| 856 | + bindPickerChange: function(e) { | ||
| 857 | + let index = e.detail.value | ||
| 858 | + let temp_ddate = this.data.timeList[index] | ||
| 859 | + this.setData({ | ||
| 860 | + temp_ddate | ||
| 861 | + }) | ||
| 862 | + let detailInfo = this.data.detail; | ||
| 863 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 864 | + let reserveTime = | ||
| 865 | + reserveDate.getFullYear() + | ||
| 866 | + "-" + | ||
| 867 | + (reserveDate.getMonth() + 1) + | ||
| 868 | + "-" + | ||
| 869 | + reserveDate.getDate(); | ||
| 870 | + let times=new Date( | ||
| 871 | + reserveTime + " " + temp_ddate | ||
| 872 | + ).getTime() / 1000 | ||
| 873 | + let form = { | ||
| 874 | + rid:this.id, | ||
| 875 | + sid:this.data.seller.sid, | ||
| 876 | + temp_ddate:times, | ||
| 877 | + tid:detailInfo.tid, | ||
| 878 | + rname:detailInfo.rname, | ||
| 879 | + sex:detailInfo.sex, | ||
| 880 | + phone:detailInfo.phone, | ||
| 881 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 882 | + ddate:detailInfo.ddate, | ||
| 883 | + ddate_solt:detailInfo.ddate_solt, | ||
| 884 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 885 | + cusdem:detailInfo.cusdem, | ||
| 886 | + } | ||
| 887 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 888 | + if (res.ret == 200) { | ||
| 889 | + if (this.data.lite_style == '2') { | ||
| 890 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 891 | + this.painterBtn( | ||
| 892 | + detailInfo.seller.seller_image, | ||
| 893 | + detailInfo.seller.sellername, | ||
| 894 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 895 | + time | ||
| 896 | + ); | ||
| 897 | + } | ||
| 898 | + } | ||
| 899 | + }) | ||
| 900 | + }, | ||
| 901 | + //根据起始时间(获取时间时间段) | ||
| 902 | + computeHour (time1, time2, interval) { | ||
| 903 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 904 | + function getTimeList (time1, time2, interval) { | ||
| 905 | + var timeList = []; | ||
| 906 | + time1 = time1.split(":"); | ||
| 907 | + time2 = time2.split(":"); | ||
| 908 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 909 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 910 | + interval = interval * 60 * 1000; | ||
| 911 | + while (time1 <= time2) { | ||
| 912 | + timeList.push(time1.format("hh:mm")); | ||
| 913 | + time1 = new Date(time1.getTime() + interval); | ||
| 914 | + } | ||
| 915 | + return timeList; | ||
| 916 | + } | ||
| 917 | + Date.prototype.format = function (format) { | ||
| 918 | + var date = { | ||
| 919 | + "M+": this.getMonth() + 1, | ||
| 920 | + "d+": this.getDate(), | ||
| 921 | + "h+": this.getHours(), | ||
| 922 | + "m+": this.getMinutes(), | ||
| 923 | + "s+": this.getSeconds(), | ||
| 924 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 925 | + S: this.getMilliseconds(), | ||
| 926 | + }; | ||
| 927 | + if (/(y+)/.test(format)) | ||
| 928 | + format = format.replace( | ||
| 929 | + RegExp.$1, | ||
| 930 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 931 | + ); | ||
| 932 | + for (var k in date) | ||
| 933 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 934 | + format = format.replace( | ||
| 935 | + RegExp.$1, | ||
| 936 | + RegExp.$1.length == 1 | ||
| 937 | + ? date[k] | ||
| 938 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 939 | + ); | ||
| 940 | + return format; | ||
| 941 | + }; | ||
| 942 | + return getTimeList(time1, time2, interval); | ||
| 943 | + }, | ||
| 834 | /** | 944 | /** |
| 835 | * 页面相关事件处理函数--监听用户下拉动作 | 945 | * 页面相关事件处理函数--监听用户下拉动作 |
| 836 | */ | 946 | */ |
| @@ -40,7 +40,14 @@ | @@ -40,7 +40,14 @@ | ||
| 40 | </view> | 40 | </view> |
| 41 | <view class="flex-11" wx:if="{{seller.soltName}}"> | 41 | <view class="flex-11" wx:if="{{seller.soltName}}"> |
| 42 | <view class="label font36r">【餐段】</view> | 42 | <view class="label font36r">【餐段】</view> |
| 43 | - <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 43 | + <view class="arrivalBox"> |
| 44 | + <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 45 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 46 | + <view class="picker"> | ||
| 47 | + <button>修改到店时间</button> | ||
| 48 | + </view> | ||
| 49 | + </picker> | ||
| 50 | + </view> | ||
| 44 | </view> | 51 | </view> |
| 45 | <view class="flex-11" wx:if="{{seller.tablesText}}"> | 52 | <view class="flex-11" wx:if="{{seller.tablesText}}"> |
| 46 | <view class="label font36r">【包间】</view> | 53 | <view class="label font36r">【包间】</view> |
| @@ -782,6 +782,27 @@ | @@ -782,6 +782,27 @@ | ||
| 782 | box-sizing: border-box; | 782 | box-sizing: border-box; |
| 783 | } | 783 | } |
| 784 | 784 | ||
| 785 | +.arrivalBox{ | ||
| 786 | + display: flex; | ||
| 787 | + width: 100%; | ||
| 788 | + justify-content: space-between; | ||
| 789 | + align-items: center; | ||
| 790 | +} | ||
| 791 | + | ||
| 792 | +.arrivalBox button{ | ||
| 793 | + display: flex; | ||
| 794 | + font-size: 24rpx; | ||
| 795 | + flex-direction: column; | ||
| 796 | + height: 50rpx; | ||
| 797 | + padding: 0 18rpx; | ||
| 798 | + line-height: 48rpx; | ||
| 799 | + font-family: PingFang SC; | ||
| 800 | + border-radius: 40rpx; | ||
| 801 | + background: transparent; | ||
| 802 | + color: #000; | ||
| 803 | + border: 2rpx solid #000; | ||
| 804 | +} | ||
| 805 | + | ||
| 785 | /* 黑蓝过渡 */ | 806 | /* 黑蓝过渡 */ |
| 786 | .blackBlueGradient .titleImg { | 807 | .blackBlueGradient .titleImg { |
| 787 | background: linear-gradient(104.24deg, #42a5ff -57.47%, #000000 55.72%, #42a5ff 182.69%); | 808 | background: linear-gradient(104.24deg, #42a5ff -57.47%, #000000 55.72%, #42a5ff 182.69%); |
| @@ -60,6 +60,9 @@ Page({ | @@ -60,6 +60,9 @@ Page({ | ||
| 60 | wxml: null, | 60 | wxml: null, |
| 61 | imgSrc:'',//canvas图片地址 | 61 | imgSrc:'',//canvas图片地址 |
| 62 | couponData: '', //评价赠送优惠券数据 | 62 | couponData: '', //评价赠送优惠券数据 |
| 63 | + timeList: [], | ||
| 64 | + temp_ddate:'',//展示的到店时间 | ||
| 65 | + lite_style:'',//小程序转发卡片样式 | ||
| 63 | }, | 66 | }, |
| 64 | tablestr: '', | 67 | tablestr: '', |
| 65 | urlsValue: [], | 68 | urlsValue: [], |
| @@ -280,7 +283,9 @@ Page({ | @@ -280,7 +283,9 @@ Page({ | ||
| 280 | tableNum, | 283 | tableNum, |
| 281 | tableinfo, | 284 | tableinfo, |
| 282 | is_user_comments: res.data.is_user_comments, | 285 | is_user_comments: res.data.is_user_comments, |
| 286 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 283 | seller: { | 287 | seller: { |
| 288 | + daily: reserev.seller.daily, | ||
| 284 | name: reserev.seller.sellername, | 289 | name: reserev.seller.sellername, |
| 285 | sid: reserev.sid, | 290 | sid: reserev.sid, |
| 286 | date: dateSmart, | 291 | date: dateSmart, |
| @@ -624,6 +629,16 @@ Page({ | @@ -624,6 +629,16 @@ Page({ | ||
| 624 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | 629 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); |
| 625 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | 630 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); |
| 626 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | 631 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); |
| 632 | + let solt = this.data.detail.ddate_solt; | ||
| 633 | + let lunchDis = this.data.seller.daily; | ||
| 634 | + let timeList = [] | ||
| 635 | + var morningStr = lunchDis.morning.split("-"); | ||
| 636 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 637 | + var noonStr = lunchDis.noon.split("-"); | ||
| 638 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 639 | + var nightStr = lunchDis.night.split("-"); | ||
| 640 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 641 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 627 | this.setData({ | 642 | this.setData({ |
| 628 | chef, | 643 | chef, |
| 629 | marketing, | 644 | marketing, |
| @@ -636,6 +651,8 @@ Page({ | @@ -636,6 +651,8 @@ Page({ | ||
| 636 | StyleType, | 651 | StyleType, |
| 637 | titleType, | 652 | titleType, |
| 638 | themeColor, | 653 | themeColor, |
| 654 | + lite_style:data.lite_style, | ||
| 655 | + timeList, | ||
| 639 | }) | 656 | }) |
| 640 | // 开启语音播报 | 657 | // 开启语音播报 |
| 641 | if (reserve && reserve.swich_voice == '1') { | 658 | if (reserve && reserve.swich_voice == '1') { |
| @@ -653,7 +670,12 @@ Page({ | @@ -653,7 +670,12 @@ Page({ | ||
| 653 | } else { | 670 | } else { |
| 654 | let d = detailInfo.ddate_solt; | 671 | let d = detailInfo.ddate_solt; |
| 655 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 672 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 656 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 673 | + let time2; |
| 674 | + if(this.data.temp_ddate){ | ||
| 675 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 676 | + }else{ | ||
| 677 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 678 | + } | ||
| 657 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 679 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 658 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 680 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 659 | this.painterBtn( | 681 | this.painterBtn( |
| @@ -875,7 +897,95 @@ Page({ | @@ -875,7 +897,95 @@ Page({ | ||
| 875 | this.audioCtx.destroy(); // 释放音频资源 | 897 | this.audioCtx.destroy(); // 释放音频资源 |
| 876 | } | 898 | } |
| 877 | }, | 899 | }, |
| 878 | - | 900 | + // 设置虚拟到店时间 |
| 901 | + bindPickerChange: function(e) { | ||
| 902 | + let index = e.detail.value | ||
| 903 | + let temp_ddate = this.data.timeList[index] | ||
| 904 | + this.setData({ | ||
| 905 | + temp_ddate | ||
| 906 | + }) | ||
| 907 | + let detailInfo = this.data.detail; | ||
| 908 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 909 | + let reserveTime = | ||
| 910 | + reserveDate.getFullYear() + | ||
| 911 | + "-" + | ||
| 912 | + (reserveDate.getMonth() + 1) + | ||
| 913 | + "-" + | ||
| 914 | + reserveDate.getDate(); | ||
| 915 | + let times=new Date( | ||
| 916 | + reserveTime + " " + temp_ddate | ||
| 917 | + ).getTime() / 1000 | ||
| 918 | + let form = { | ||
| 919 | + rid:this.id, | ||
| 920 | + sid:this.data.seller.sid, | ||
| 921 | + temp_ddate:times, | ||
| 922 | + tid:detailInfo.tid, | ||
| 923 | + rname:detailInfo.rname, | ||
| 924 | + sex:detailInfo.sex, | ||
| 925 | + phone:detailInfo.phone, | ||
| 926 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 927 | + ddate:detailInfo.ddate, | ||
| 928 | + ddate_solt:detailInfo.ddate_solt, | ||
| 929 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 930 | + cusdem:detailInfo.cusdem, | ||
| 931 | + } | ||
| 932 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 933 | + if (res.ret == 200) { | ||
| 934 | + if (this.data.lite_style == '2') { | ||
| 935 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 936 | + this.painterBtn( | ||
| 937 | + detailInfo.seller.seller_image, | ||
| 938 | + detailInfo.seller.sellername, | ||
| 939 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 940 | + time | ||
| 941 | + ); | ||
| 942 | + } | ||
| 943 | + } | ||
| 944 | + }) | ||
| 945 | + }, | ||
| 946 | + //根据起始时间(获取时间时间段) | ||
| 947 | + computeHour (time1, time2, interval) { | ||
| 948 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 949 | + function getTimeList (time1, time2, interval) { | ||
| 950 | + var timeList = []; | ||
| 951 | + time1 = time1.split(":"); | ||
| 952 | + time2 = time2.split(":"); | ||
| 953 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 954 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 955 | + interval = interval * 60 * 1000; | ||
| 956 | + while (time1 <= time2) { | ||
| 957 | + timeList.push(time1.format("hh:mm")); | ||
| 958 | + time1 = new Date(time1.getTime() + interval); | ||
| 959 | + } | ||
| 960 | + return timeList; | ||
| 961 | + } | ||
| 962 | + Date.prototype.format = function (format) { | ||
| 963 | + var date = { | ||
| 964 | + "M+": this.getMonth() + 1, | ||
| 965 | + "d+": this.getDate(), | ||
| 966 | + "h+": this.getHours(), | ||
| 967 | + "m+": this.getMinutes(), | ||
| 968 | + "s+": this.getSeconds(), | ||
| 969 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 970 | + S: this.getMilliseconds(), | ||
| 971 | + }; | ||
| 972 | + if (/(y+)/.test(format)) | ||
| 973 | + format = format.replace( | ||
| 974 | + RegExp.$1, | ||
| 975 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 976 | + ); | ||
| 977 | + for (var k in date) | ||
| 978 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 979 | + format = format.replace( | ||
| 980 | + RegExp.$1, | ||
| 981 | + RegExp.$1.length == 1 | ||
| 982 | + ? date[k] | ||
| 983 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 984 | + ); | ||
| 985 | + return format; | ||
| 986 | + }; | ||
| 987 | + return getTimeList(time1, time2, interval); | ||
| 988 | + }, | ||
| 879 | /** | 989 | /** |
| 880 | * 页面相关事件处理函数--监听用户下拉动作 | 990 | * 页面相关事件处理函数--监听用户下拉动作 |
| 881 | */ | 991 | */ |
| @@ -34,7 +34,14 @@ | @@ -34,7 +34,14 @@ | ||
| 34 | </view> | 34 | </view> |
| 35 | <view class="flex-11" wx:if="{{seller.soltName}}"> | 35 | <view class="flex-11" wx:if="{{seller.soltName}}"> |
| 36 | <view class="label font28r">【餐段】</view> | 36 | <view class="label font28r">【餐段】</view> |
| 37 | - <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 37 | + <view class="arrivalBox"> |
| 38 | + <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 39 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 40 | + <view class="picker"> | ||
| 41 | + <button>修改到店时间</button> | ||
| 42 | + </view> | ||
| 43 | + </picker> | ||
| 44 | + </view> | ||
| 38 | </view> | 45 | </view> |
| 39 | <view class="flex-11" wx:if="{{detail.actual_pum || tableNum}}"> | 46 | <view class="flex-11" wx:if="{{detail.actual_pum || tableNum}}"> |
| 40 | <view class="label font28r">【人数】</view> | 47 | <view class="label font28r">【人数】</view> |
| @@ -719,6 +719,27 @@ | @@ -719,6 +719,27 @@ | ||
| 719 | width: 100%; | 719 | width: 100%; |
| 720 | } | 720 | } |
| 721 | 721 | ||
| 722 | +.arrivalBox{ | ||
| 723 | + display: flex; | ||
| 724 | + width: 100%; | ||
| 725 | + justify-content: space-between; | ||
| 726 | + align-items: center; | ||
| 727 | +} | ||
| 728 | + | ||
| 729 | +.arrivalBox button{ | ||
| 730 | + display: flex; | ||
| 731 | + font-size: 24rpx; | ||
| 732 | + flex-direction: column; | ||
| 733 | + height: 50rpx; | ||
| 734 | + padding: 0 18rpx; | ||
| 735 | + line-height: 48rpx; | ||
| 736 | + font-family: PingFang SC; | ||
| 737 | + border-radius: 40rpx; | ||
| 738 | + background: transparent; | ||
| 739 | + color: #FFEFC5; | ||
| 740 | + border: 2rpx solid #FFEFC5; | ||
| 741 | +} | ||
| 742 | + | ||
| 722 | /* 黑蓝过渡 */ | 743 | /* 黑蓝过渡 */ |
| 723 | .blackBlueGradient, | 744 | .blackBlueGradient, |
| 724 | .blackBlueGradient .positioningBox { | 745 | .blackBlueGradient .positioningBox { |
| @@ -1060,7 +1081,8 @@ | @@ -1060,7 +1081,8 @@ | ||
| 1060 | .pearlWhite .favouredPolicy, | 1081 | .pearlWhite .favouredPolicy, |
| 1061 | .pearlWhite .paymenBtn, | 1082 | .pearlWhite .paymenBtn, |
| 1062 | .pearlWhite .mapBtn, | 1083 | .pearlWhite .mapBtn, |
| 1063 | -.pearlWhite .moreBtn { | 1084 | +.pearlWhite .moreBtn, |
| 1085 | +.pearlWhite .arrivalBox button { | ||
| 1064 | color: #578C69; | 1086 | color: #578C69; |
| 1065 | border: 2rpx solid #578C69; | 1087 | border: 2rpx solid #578C69; |
| 1066 | } | 1088 | } |
| @@ -60,6 +60,9 @@ Page({ | @@ -60,6 +60,9 @@ Page({ | ||
| 60 | wxml: null, | 60 | wxml: null, |
| 61 | imgSrc:'',//canvas图片地址 | 61 | imgSrc:'',//canvas图片地址 |
| 62 | couponData: '', //评价赠送优惠券数据 | 62 | couponData: '', //评价赠送优惠券数据 |
| 63 | + timeList: [], | ||
| 64 | + temp_ddate:'',//展示的到店时间 | ||
| 65 | + lite_style:'',//小程序转发卡片样式 | ||
| 63 | }, | 66 | }, |
| 64 | tablestr: '', | 67 | tablestr: '', |
| 65 | urlsValue: [], | 68 | urlsValue: [], |
| @@ -280,7 +283,9 @@ Page({ | @@ -280,7 +283,9 @@ Page({ | ||
| 280 | tableNum, | 283 | tableNum, |
| 281 | tableinfo, | 284 | tableinfo, |
| 282 | is_user_comments: res.data.is_user_comments, | 285 | is_user_comments: res.data.is_user_comments, |
| 286 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 283 | seller: { | 287 | seller: { |
| 288 | + daily: reserev.seller.daily, | ||
| 284 | name: reserev.seller.sellername, | 289 | name: reserev.seller.sellername, |
| 285 | sid: reserev.sid, | 290 | sid: reserev.sid, |
| 286 | date: dateSmart, | 291 | date: dateSmart, |
| @@ -623,6 +628,16 @@ Page({ | @@ -623,6 +628,16 @@ Page({ | ||
| 623 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | 628 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); |
| 624 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | 629 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); |
| 625 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | 630 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); |
| 631 | + let solt = this.data.detail.ddate_solt; | ||
| 632 | + let lunchDis = this.data.seller.daily; | ||
| 633 | + let timeList = [] | ||
| 634 | + var morningStr = lunchDis.morning.split("-"); | ||
| 635 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 636 | + var noonStr = lunchDis.noon.split("-"); | ||
| 637 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 638 | + var nightStr = lunchDis.night.split("-"); | ||
| 639 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 640 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 626 | this.setData({ | 641 | this.setData({ |
| 627 | chef, | 642 | chef, |
| 628 | marketing, | 643 | marketing, |
| @@ -635,6 +650,8 @@ Page({ | @@ -635,6 +650,8 @@ Page({ | ||
| 635 | StyleType, | 650 | StyleType, |
| 636 | titleType, | 651 | titleType, |
| 637 | themeColor, | 652 | themeColor, |
| 653 | + lite_style:data.lite_style, | ||
| 654 | + timeList, | ||
| 638 | }) | 655 | }) |
| 639 | // 开启语音播报 | 656 | // 开启语音播报 |
| 640 | if (reserve && reserve.swich_voice == '1') { | 657 | if (reserve && reserve.swich_voice == '1') { |
| @@ -652,7 +669,12 @@ Page({ | @@ -652,7 +669,12 @@ Page({ | ||
| 652 | } else { | 669 | } else { |
| 653 | let d = detailInfo.ddate_solt; | 670 | let d = detailInfo.ddate_solt; |
| 654 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 671 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 655 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 672 | + let time2; |
| 673 | + if(this.data.temp_ddate){ | ||
| 674 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 675 | + }else{ | ||
| 676 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 677 | + } | ||
| 656 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 678 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 657 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 679 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 658 | this.painterBtn( | 680 | this.painterBtn( |
| @@ -874,7 +896,95 @@ Page({ | @@ -874,7 +896,95 @@ Page({ | ||
| 874 | this.audioCtx.destroy(); // 释放音频资源 | 896 | this.audioCtx.destroy(); // 释放音频资源 |
| 875 | } | 897 | } |
| 876 | }, | 898 | }, |
| 877 | - | 899 | + // 设置虚拟到店时间 |
| 900 | + bindPickerChange: function(e) { | ||
| 901 | + let index = e.detail.value | ||
| 902 | + let temp_ddate = this.data.timeList[index] | ||
| 903 | + this.setData({ | ||
| 904 | + temp_ddate | ||
| 905 | + }) | ||
| 906 | + let detailInfo = this.data.detail; | ||
| 907 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 908 | + let reserveTime = | ||
| 909 | + reserveDate.getFullYear() + | ||
| 910 | + "-" + | ||
| 911 | + (reserveDate.getMonth() + 1) + | ||
| 912 | + "-" + | ||
| 913 | + reserveDate.getDate(); | ||
| 914 | + let times=new Date( | ||
| 915 | + reserveTime + " " + temp_ddate | ||
| 916 | + ).getTime() / 1000 | ||
| 917 | + let form = { | ||
| 918 | + rid:this.id, | ||
| 919 | + sid:this.data.seller.sid, | ||
| 920 | + temp_ddate:times, | ||
| 921 | + tid:detailInfo.tid, | ||
| 922 | + rname:detailInfo.rname, | ||
| 923 | + sex:detailInfo.sex, | ||
| 924 | + phone:detailInfo.phone, | ||
| 925 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 926 | + ddate:detailInfo.ddate, | ||
| 927 | + ddate_solt:detailInfo.ddate_solt, | ||
| 928 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 929 | + cusdem:detailInfo.cusdem, | ||
| 930 | + } | ||
| 931 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 932 | + if (res.ret == 200) { | ||
| 933 | + if (this.data.lite_style == '2') { | ||
| 934 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 935 | + this.painterBtn( | ||
| 936 | + detailInfo.seller.seller_image, | ||
| 937 | + detailInfo.seller.sellername, | ||
| 938 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 939 | + time | ||
| 940 | + ); | ||
| 941 | + } | ||
| 942 | + } | ||
| 943 | + }) | ||
| 944 | + }, | ||
| 945 | + //根据起始时间(获取时间时间段) | ||
| 946 | + computeHour (time1, time2, interval) { | ||
| 947 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 948 | + function getTimeList (time1, time2, interval) { | ||
| 949 | + var timeList = []; | ||
| 950 | + time1 = time1.split(":"); | ||
| 951 | + time2 = time2.split(":"); | ||
| 952 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 953 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 954 | + interval = interval * 60 * 1000; | ||
| 955 | + while (time1 <= time2) { | ||
| 956 | + timeList.push(time1.format("hh:mm")); | ||
| 957 | + time1 = new Date(time1.getTime() + interval); | ||
| 958 | + } | ||
| 959 | + return timeList; | ||
| 960 | + } | ||
| 961 | + Date.prototype.format = function (format) { | ||
| 962 | + var date = { | ||
| 963 | + "M+": this.getMonth() + 1, | ||
| 964 | + "d+": this.getDate(), | ||
| 965 | + "h+": this.getHours(), | ||
| 966 | + "m+": this.getMinutes(), | ||
| 967 | + "s+": this.getSeconds(), | ||
| 968 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 969 | + S: this.getMilliseconds(), | ||
| 970 | + }; | ||
| 971 | + if (/(y+)/.test(format)) | ||
| 972 | + format = format.replace( | ||
| 973 | + RegExp.$1, | ||
| 974 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 975 | + ); | ||
| 976 | + for (var k in date) | ||
| 977 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 978 | + format = format.replace( | ||
| 979 | + RegExp.$1, | ||
| 980 | + RegExp.$1.length == 1 | ||
| 981 | + ? date[k] | ||
| 982 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 983 | + ); | ||
| 984 | + return format; | ||
| 985 | + }; | ||
| 986 | + return getTimeList(time1, time2, interval); | ||
| 987 | + }, | ||
| 878 | /** | 988 | /** |
| 879 | * 页面相关事件处理函数--监听用户下拉动作 | 989 | * 页面相关事件处理函数--监听用户下拉动作 |
| 880 | */ | 990 | */ |
| @@ -31,8 +31,15 @@ | @@ -31,8 +31,15 @@ | ||
| 31 | </view> | 31 | </view> |
| 32 | <view class="infoItem" wx:if="{{seller.soltName}}"> | 32 | <view class="infoItem" wx:if="{{seller.soltName}}"> |
| 33 | <view class="label font28r">【宴会时间】</view> | 33 | <view class="label font28r">【宴会时间】</view> |
| 34 | - <view class="contentData font40r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | ||
| 35 | - </view> | 34 | + <view class="arrivalBox"> |
| 35 | + <view class="contentData font40r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 36 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 37 | + <view class="picker"> | ||
| 38 | + <button>修改到店时间</button> | ||
| 39 | + </view> | ||
| 40 | + </picker> | ||
| 41 | + </view> | ||
| 42 | + </view> | ||
| 36 | <view class="infoItem" wx:if="{{detail && detail.rnameStr && reserve && reserve.swich_customer == '1'}}"> | 43 | <view class="infoItem" wx:if="{{detail && detail.rnameStr && reserve && reserve.swich_customer == '1'}}"> |
| 37 | <view class="label font28r">【预订贵宾】</view> | 44 | <view class="label font28r">【预订贵宾】</view> |
| 38 | <view class="contentData font40r">{{detail.rnameStr}}</view> | 45 | <view class="contentData font40r">{{detail.rnameStr}}</view> |
| @@ -728,6 +728,25 @@ | @@ -728,6 +728,25 @@ | ||
| 728 | width: 100%; | 728 | width: 100%; |
| 729 | } | 729 | } |
| 730 | 730 | ||
| 731 | +.arrivalBox{ | ||
| 732 | + display: flex; | ||
| 733 | + align-items: center; | ||
| 734 | +} | ||
| 735 | + | ||
| 736 | +.arrivalBox button{ | ||
| 737 | + display: flex; | ||
| 738 | + font-size: 24rpx; | ||
| 739 | + flex-direction: column; | ||
| 740 | + height: 50rpx; | ||
| 741 | + padding: 0 18rpx; | ||
| 742 | + line-height: 48rpx; | ||
| 743 | + font-family: PingFang SC; | ||
| 744 | + border-radius: 40rpx; | ||
| 745 | + background: transparent; | ||
| 746 | + color: #FFEFC5; | ||
| 747 | + border: 2rpx solid #FFEFC5; | ||
| 748 | +} | ||
| 749 | + | ||
| 731 | /* 黑蓝过渡 */ | 750 | /* 黑蓝过渡 */ |
| 732 | .blackBlueGradient, | 751 | .blackBlueGradient, |
| 733 | .blackBlueGradient .positioningBox { | 752 | .blackBlueGradient .positioningBox { |
| @@ -1079,7 +1098,8 @@ | @@ -1079,7 +1098,8 @@ | ||
| 1079 | .pearlWhite .favouredPolicy, | 1098 | .pearlWhite .favouredPolicy, |
| 1080 | .pearlWhite .paymenBtn, | 1099 | .pearlWhite .paymenBtn, |
| 1081 | .pearlWhite .mapBtn, | 1100 | .pearlWhite .mapBtn, |
| 1082 | -.pearlWhite .moreBtn { | 1101 | +.pearlWhite .moreBtn, |
| 1102 | +.pearlWhite .arrivalBox button { | ||
| 1083 | color: #578C69; | 1103 | color: #578C69; |
| 1084 | border: 2rpx solid #578C69; | 1104 | border: 2rpx solid #578C69; |
| 1085 | } | 1105 | } |
| @@ -68,6 +68,9 @@ Page({ | @@ -68,6 +68,9 @@ Page({ | ||
| 68 | imgSrc: '', //canvas图片地址 | 68 | imgSrc: '', //canvas图片地址 |
| 69 | colors:'',//导航栏颜色 | 69 | colors:'',//导航栏颜色 |
| 70 | couponData: '', //评价赠送优惠券数据 | 70 | couponData: '', //评价赠送优惠券数据 |
| 71 | + timeList: [], | ||
| 72 | + temp_ddate:'',//展示的到店时间 | ||
| 73 | + lite_style:'',//小程序转发卡片样式 | ||
| 71 | }, | 74 | }, |
| 72 | tablestr: '', | 75 | tablestr: '', |
| 73 | urlsValue: [], | 76 | urlsValue: [], |
| @@ -297,7 +300,9 @@ Page({ | @@ -297,7 +300,9 @@ Page({ | ||
| 297 | tableNum, | 300 | tableNum, |
| 298 | tableinfo, | 301 | tableinfo, |
| 299 | is_user_comments: res.data.is_user_comments, | 302 | is_user_comments: res.data.is_user_comments, |
| 303 | + temp_ddate:this.data.temp_ddate?this.data.temp_ddate:reserev.temp_ddate?util.unixtoTime(reserev.temp_ddate, 'HH:II'):util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 300 | seller: { | 304 | seller: { |
| 305 | + daily: reserev.seller.daily, | ||
| 301 | name: reserev.seller.sellername, | 306 | name: reserev.seller.sellername, |
| 302 | sid: reserev.sid, | 307 | sid: reserev.sid, |
| 303 | date: dateSmart, | 308 | date: dateSmart, |
| @@ -657,6 +662,16 @@ Page({ | @@ -657,6 +662,16 @@ Page({ | ||
| 657 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | 662 | if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); |
| 658 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | 663 | if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); |
| 659 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | 664 | if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); |
| 665 | + let solt = this.data.detail.ddate_solt; | ||
| 666 | + let lunchDis = this.data.seller.daily; | ||
| 667 | + let timeList = [] | ||
| 668 | + var morningStr = lunchDis.morning.split("-"); | ||
| 669 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 670 | + var noonStr = lunchDis.noon.split("-"); | ||
| 671 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 672 | + var nightStr = lunchDis.night.split("-"); | ||
| 673 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 674 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 660 | this.setData({ | 675 | this.setData({ |
| 661 | chef, | 676 | chef, |
| 662 | marketing, | 677 | marketing, |
| @@ -672,6 +687,8 @@ Page({ | @@ -672,6 +687,8 @@ Page({ | ||
| 672 | settingUrl, | 687 | settingUrl, |
| 673 | inviteImgUrl, | 688 | inviteImgUrl, |
| 674 | colors, | 689 | colors, |
| 690 | + lite_style:data.lite_style, | ||
| 691 | + timeList, | ||
| 675 | }) | 692 | }) |
| 676 | // 开启语音播报 | 693 | // 开启语音播报 |
| 677 | if (reserve && reserve.swich_voice == '1') { | 694 | if (reserve && reserve.swich_voice == '1') { |
| @@ -689,7 +706,12 @@ Page({ | @@ -689,7 +706,12 @@ Page({ | ||
| 689 | } else { | 706 | } else { |
| 690 | let d = detailInfo.ddate_solt; | 707 | let d = detailInfo.ddate_solt; |
| 691 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | 708 | let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); |
| 692 | - let time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | 709 | + let time2; |
| 710 | + if(this.data.temp_ddate){ | ||
| 711 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 712 | + }else{ | ||
| 713 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 714 | + } | ||
| 693 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | 715 | let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); |
| 694 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | 716 | let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; |
| 695 | this.painterBtn( | 717 | this.painterBtn( |
| @@ -911,6 +933,95 @@ Page({ | @@ -911,6 +933,95 @@ Page({ | ||
| 911 | this.audioCtx.destroy(); // 释放音频资源 | 933 | this.audioCtx.destroy(); // 释放音频资源 |
| 912 | } | 934 | } |
| 913 | }, | 935 | }, |
| 936 | + // 设置虚拟到店时间 | ||
| 937 | + bindPickerChange: function(e) { | ||
| 938 | + let index = e.detail.value | ||
| 939 | + let temp_ddate = this.data.timeList[index] | ||
| 940 | + this.setData({ | ||
| 941 | + temp_ddate | ||
| 942 | + }) | ||
| 943 | + let detailInfo = this.data.detail; | ||
| 944 | + const reserveDate = new Date(detailInfo.ddate*1000); | ||
| 945 | + let reserveTime = | ||
| 946 | + reserveDate.getFullYear() + | ||
| 947 | + "-" + | ||
| 948 | + (reserveDate.getMonth() + 1) + | ||
| 949 | + "-" + | ||
| 950 | + reserveDate.getDate(); | ||
| 951 | + let times=new Date( | ||
| 952 | + reserveTime + " " + temp_ddate | ||
| 953 | + ).getTime() / 1000 | ||
| 954 | + let form = { | ||
| 955 | + rid:this.id, | ||
| 956 | + sid:this.data.seller.sid, | ||
| 957 | + temp_ddate:times, | ||
| 958 | + tid:detailInfo.tid, | ||
| 959 | + rname:detailInfo.rname, | ||
| 960 | + sex:detailInfo.sex, | ||
| 961 | + phone:detailInfo.phone, | ||
| 962 | + rdate:detailInfo.rdate+'-'+detailInfo.edate, | ||
| 963 | + ddate:detailInfo.ddate, | ||
| 964 | + ddate_solt:detailInfo.ddate_solt, | ||
| 965 | + is_set_ddate:detailInfo.ddate_solt, | ||
| 966 | + cusdem:detailInfo.cusdem, | ||
| 967 | + } | ||
| 968 | + App.Reserve.AndroidSetReserveInfo(form).then(res => { | ||
| 969 | + if (res.ret == 200) { | ||
| 970 | + if (this.data.lite_style == '2') { | ||
| 971 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 972 | + this.painterBtn( | ||
| 973 | + detailInfo.seller.seller_image, | ||
| 974 | + detailInfo.seller.sellername, | ||
| 975 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 976 | + time | ||
| 977 | + ); | ||
| 978 | + } | ||
| 979 | + } | ||
| 980 | + }) | ||
| 981 | + }, | ||
| 982 | + //根据起始时间(获取时间时间段) | ||
| 983 | + computeHour (time1, time2, interval) { | ||
| 984 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 985 | + function getTimeList (time1, time2, interval) { | ||
| 986 | + var timeList = []; | ||
| 987 | + time1 = time1.split(":"); | ||
| 988 | + time2 = time2.split(":"); | ||
| 989 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 990 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 991 | + interval = interval * 60 * 1000; | ||
| 992 | + while (time1 <= time2) { | ||
| 993 | + timeList.push(time1.format("hh:mm")); | ||
| 994 | + time1 = new Date(time1.getTime() + interval); | ||
| 995 | + } | ||
| 996 | + return timeList; | ||
| 997 | + } | ||
| 998 | + Date.prototype.format = function (format) { | ||
| 999 | + var date = { | ||
| 1000 | + "M+": this.getMonth() + 1, | ||
| 1001 | + "d+": this.getDate(), | ||
| 1002 | + "h+": this.getHours(), | ||
| 1003 | + "m+": this.getMinutes(), | ||
| 1004 | + "s+": this.getSeconds(), | ||
| 1005 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 1006 | + S: this.getMilliseconds(), | ||
| 1007 | + }; | ||
| 1008 | + if (/(y+)/.test(format)) | ||
| 1009 | + format = format.replace( | ||
| 1010 | + RegExp.$1, | ||
| 1011 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 1012 | + ); | ||
| 1013 | + for (var k in date) | ||
| 1014 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 1015 | + format = format.replace( | ||
| 1016 | + RegExp.$1, | ||
| 1017 | + RegExp.$1.length == 1 | ||
| 1018 | + ? date[k] | ||
| 1019 | + : ("00" + date[k]).substr(("" + date[k]).length) | ||
| 1020 | + ); | ||
| 1021 | + return format; | ||
| 1022 | + }; | ||
| 1023 | + return getTimeList(time1, time2, interval); | ||
| 1024 | + }, | ||
| 914 | 1025 | ||
| 915 | /** | 1026 | /** |
| 916 | * 页面相关事件处理函数--监听用户下拉动作 | 1027 | * 页面相关事件处理函数--监听用户下拉动作 |
| @@ -33,7 +33,14 @@ | @@ -33,7 +33,14 @@ | ||
| 33 | </view> | 33 | </view> |
| 34 | <view class="infoItem" wx:if="{{seller.soltName}}"> | 34 | <view class="infoItem" wx:if="{{seller.soltName}}"> |
| 35 | <view class="label font28r">用餐时间:</view> | 35 | <view class="label font28r">用餐时间:</view> |
| 36 | - <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{seller.dateTime}}</text></view> | 36 | + <view class="arrivalBox"> |
| 37 | + <view class="contentData font36r">{{seller.soltName}}<text class="marLeft font36r">{{temp_ddate}}</text></view> | ||
| 38 | + <picker wx:if="{{detail && options && options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 39 | + <view class="picker"> | ||
| 40 | + <button>修改到店时间</button> | ||
| 41 | + </view> | ||
| 42 | + </picker> | ||
| 43 | + </view> | ||
| 37 | </view> | 44 | </view> |
| 38 | <view class="infoItem" wx:if="{{seller.tablesText}}"> | 45 | <view class="infoItem" wx:if="{{seller.tablesText}}"> |
| 39 | <view class="label font28r">用餐位置:</view> | 46 | <view class="label font28r">用餐位置:</view> |
| @@ -488,6 +488,27 @@ | @@ -488,6 +488,27 @@ | ||
| 488 | width: 100%; | 488 | width: 100%; |
| 489 | } | 489 | } |
| 490 | 490 | ||
| 491 | +.arrivalBox{ | ||
| 492 | + display: flex; | ||
| 493 | + width: 100%; | ||
| 494 | + justify-content: space-between; | ||
| 495 | + align-items: center; | ||
| 496 | +} | ||
| 497 | + | ||
| 498 | +.arrivalBox button{ | ||
| 499 | + display: flex; | ||
| 500 | + font-size: 24rpx; | ||
| 501 | + flex-direction: column; | ||
| 502 | + height: 50rpx; | ||
| 503 | + padding: 0 18rpx; | ||
| 504 | + line-height: 48rpx; | ||
| 505 | + font-family: PingFang SC; | ||
| 506 | + border-radius: 40rpx; | ||
| 507 | + background: transparent; | ||
| 508 | + color: #FFEFC5; | ||
| 509 | + border: 2rpx solid #FFEFC5; | ||
| 510 | +} | ||
| 511 | + | ||
| 491 | .shareItem, | 512 | .shareItem, |
| 492 | .moreBtn, | 513 | .moreBtn, |
| 493 | .paymenBtn { | 514 | .paymenBtn { |
| @@ -130,7 +130,8 @@ Page({ | @@ -130,7 +130,8 @@ Page({ | ||
| 130 | } else { | 130 | } else { |
| 131 | url = '/pack-invitation/pages/detail_owner_invitation9'; | 131 | url = '/pack-invitation/pages/detail_owner_invitation9'; |
| 132 | } | 132 | } |
| 133 | - url += '?id=' + this.data.options.id + '&tplid=' + this.data.options.tplid + '&onlineReserve=' + is_online_reserve; | 133 | + // is_online_reserve 在线预订开关 hasSellerShare 商家app分享 hasInvitation 受邀人 |
| 134 | + url += '?id=' + this.data.options.id + '&tplid=' + this.data.options.tplid + '&onlineReserve=' + is_online_reserve + '&hasInvitation=' + this.data.options.hasInvitation + '&hasSellerShare=' + this.data.options.hasSellerShare; | ||
| 134 | // (过了当前餐段结束时间 || 预订是用餐完成状态) 邀请函显示已结束 | 135 | // (过了当前餐段结束时间 || 预订是用餐完成状态) 邀请函显示已结束 |
| 135 | url += (isOrder == '1' || status == '3') ? '&isOrder=1' : ''; | 136 | url += (isOrder == '1' || status == '3') ? '&isOrder=1' : ''; |
| 136 | url+= this.data.options.paymentId?'&paymentId='+this.data.options.paymentId:'&paymentId=' ; | 137 | url+= this.data.options.paymentId?'&paymentId='+this.data.options.paymentId:'&paymentId=' ; |
-
Please register or login to post a comment