Commit 9977ede34dd39fa5291b359c1bb992fae0f041dc

Authored by pengye
1 parent 601161d2

新版样式页面、样式调整

Showing 90 changed files with 4198 additions and 814 deletions
@@ -64,7 +64,14 @@ @@ -64,7 +64,14 @@
64 "pages/customer/detail_owner_invitation_new", 64 "pages/customer/detail_owner_invitation_new",
65 "pages/me/invitation", 65 "pages/me/invitation",
66 "pages/reserve/index_new", 66 "pages/reserve/index_new",
67 - "pages/reserve/sellerGift" 67 + "pages/reserve/sellerGift",
  68 + "pages/reserveNew/collect",
  69 + "pages/reserveNew/index",
  70 + "pages/reserveNew/my",
  71 + "pages/reserveNew/itinerary",
  72 + "pages/reserveNew/personInfo",
  73 + "pages/reserveNew/verifyPhone",
  74 + "pages/reserveNew/coupon_sellerList"
68 ], 75 ],
69 "requiredPrivateInfos": [ 76 "requiredPrivateInfos": [
70 "getLocation", 77 "getLocation",
@@ -177,6 +184,36 @@ @@ -177,6 +184,36 @@
177 "navigationBarTitleText": "周到安排", 184 "navigationBarTitleText": "周到安排",
178 "navigationBarTextStyle": "black" 185 "navigationBarTextStyle": "black"
179 }, 186 },
  187 + "tabBar": {
  188 + "color": "#696969",
  189 + "selectedColor": "#ff5a0b",
  190 + "list": [
  191 + {
  192 + "pagePath": "pages/reserveNew/index",
  193 + "iconPath": "./pages/image/shop.png",
  194 + "selectedIconPath": "./pages/image/shopActive.png",
  195 + "text": "找店"
  196 + },
  197 + {
  198 + "pagePath": "pages/reserveNew/collect",
  199 + "iconPath": "./pages/image/collect.png",
  200 + "selectedIconPath": "./pages/image/collectActive.png",
  201 + "text": "收藏"
  202 + },
  203 + {
  204 + "pagePath": "pages/reserveNew/itinerary",
  205 + "iconPath": "./pages/image/itinerary.png",
  206 + "selectedIconPath": "./pages/image/itineraryActive.png",
  207 + "text": "行程"
  208 + },
  209 + {
  210 + "pagePath": "pages/reserveNew/my",
  211 + "iconPath": "./pages/image/my.png",
  212 + "selectedIconPath": "./pages/image/myActive.png",
  213 + "text": "我的"
  214 + }
  215 + ]
  216 + },
180 "networkTimeout": { 217 "networkTimeout": {
181 "request": 10000, 218 "request": 10000,
182 "downloadFile": 10000 219 "downloadFile": 10000
@@ -5,23 +5,23 @@ @@ -5,23 +5,23 @@
5 <view class="view round margin-right-sm" 5 <view class="view round margin-right-sm"
6 style="width: 60rpx;height: 60rpx; background-image: url('{{seller.seller_image}}');"> 6 style="width: 60rpx;height: 60rpx; background-image: url('{{seller.seller_image}}');">
7 </view> 7 </view>
8 - <view class="view text-cut flex-treble">  
9 - <view class="view text-lg text-cut Medium">{{seller.sellername}}</view> 8 + <view class="view text-cut flex-treble text-bold">
  9 + <view class="view text-lg text-cut Medium text-bold">{{seller.sellername}}</view>
10 </view> 10 </view>
11 - <view class="view margin-left-sm text-blue text-lg Medium"> 11 + <!-- <view class="view margin-left-sm text-blue text-lg Medium">
12 <image src="http://nosqn.colorcun.com/detail/x%20%2815%29.png" style="width:28rpx;height: 30rpx;"></image> 12 <image src="http://nosqn.colorcun.com/detail/x%20%2815%29.png" style="width:28rpx;height: 30rpx;"></image>
13 - </view> 13 + </view> -->
14 </view> 14 </view>
15 <view class="view margin-top"> 15 <view class="view margin-top">
16 <view class="view flex align-center" style="margin-bottom: 44rpx;"> 16 <view class="view flex align-center" style="margin-bottom: 44rpx;">
17 - <view class="view flex-sub bg-white Medium">预订时间</view>  
18 - <view class="view flex-treble text-bold" style="font-size: 36rpx;">  
19 - <view class="value">{{reserve.ddateStr}},{{ddate_Str}}</view> 17 + <view class="view flex-sub bg-white Medium text-df">预订时间</view>
  18 + <view class="view flex-treble text-bold">
  19 + <view class="value text-df">{{reserve.ddateStr}},{{ddate_Str}}</view>
20 </view> 20 </view>
21 </view> 21 </view>
22 <view class="view flex align-center"> 22 <view class="view flex align-center">
23 - <view class="view flex-sub bg-white Medium" style="min-width: 140rpx;">包间类型</view>  
24 - <view class="view flex-treble text-bold text-cut" style="font-size: 36rpx;"> 23 + <view class="view flex-sub bg-white Medium text-df" style="min-width: 140rpx;">包间类型</view>
  24 + <view class="view flex-treble text-bold text-cut text-df">
25 {{util.replace(reserve.tables,',',',')}} 25 {{util.replace(reserve.tables,',',',')}}
26 </view> 26 </view>
27 </view> 27 </view>
@@ -129,7 +129,7 @@ Component({ @@ -129,7 +129,7 @@ Component({
129 if(action.type=="tap"){ 129 if(action.type=="tap"){
130 if(res.data==0){ 130 if(res.data==0){
131 wx.navigateTo({ 131 wx.navigateTo({
132 - url:'/pages/pinglun/create?sid='+this.data.reserve.seller.id+'&oid='+this.data.reserve.id+'&sellername='+this.data.reserve.seller.sellername 132 + url:'/pages/pinglun/createOpinion?sellid='+this.data.reserve.seller.id+'&oid='+this.data.reserve.id+'&sellerName='+this.data.reserve.seller.sellername+'&types=1'
133 }) 133 })
134 }else{ 134 }else{
135 wx.showToast({ 135 wx.showToast({
1 <!--components/2.0/reserve/card.wxml--> 1 <!--components/2.0/reserve/card.wxml-->
2 <wxs src="../../../../utils/util.wxs" module="util" /> 2 <wxs src="../../../../utils/util.wxs" module="util" />
3 -<view class="view margin-lr-lg margin-top-lg solid radius padding padding-bottom-lg" style="box-shadow: 0px 0px 20rpx 0px #EEF0F2;"> 3 +<view class="view margin-lr-lg margin-top-lg solid padding padding-bottom-lg backF">
4 <view class="view flex padding-bottom solid-bottom align-start"> 4 <view class="view flex padding-bottom solid-bottom align-start">
5 <view class="view round margin-right-sm" 5 <view class="view round margin-right-sm"
6 style="width: 60rpx;height: 60rpx; background-image: url('{{reserve.seller.seller_image}}');"> 6 style="width: 60rpx;height: 60rpx; background-image: url('{{reserve.seller.seller_image}}');">
7 </view> 7 </view>
8 <view class="view text-cut flex-treble"> 8 <view class="view text-cut flex-treble">
9 - <view class="view text-lg text-cut Medium" style="margin-bottom: 16rpx;">{{reserve.seller.sellername}}</view> 9 + <view class="view text-lg text-cut text-bold" style="margin-bottom: 16rpx;">{{reserve.seller.sellername}}</view>
10 <view class="view text-df bg-white text-cut">{{reserve.seller.map_address}}</view> 10 <view class="view text-df bg-white text-cut">{{reserve.seller.map_address}}</view>
11 </view> 11 </view>
12 <view class="view margin-left-sm text-blue text-lg Medium flex justify-end" 12 <view class="view margin-left-sm text-blue text-lg Medium flex justify-end"
13 bindtap="asPhone" 13 bindtap="asPhone"
14 style="min-width: 100rpx;"> 14 style="min-width: 100rpx;">
15 - <image src="http://nosqn.colorcun.com/detail/x%20%2811%29.png" style="width: 40rpx;height: 40rpx;"></image> 15 + <image src="https://qn.colorcun.com/phoneIcon.png" style="width: 52rpx;height: 52rpx;"></image>
16 </view> 16 </view>
17 </view> 17 </view>
18 <view class="view"> 18 <view class="view">
19 <view class="view flex align-center margin-top"> 19 <view class="view flex align-center margin-top">
20 - <view class="view flex-sub bg-white Medium" style="min-width: 172rpx;">预订时间</view>  
21 - <view class="view flex-treble text-bold text-lg"> 20 + <view class="view flex-sub bg-white Medium texts">预订时间</view>
  21 + <view class="view flex-treble text-bold text-df heiView">
22 <view class="value" wx:if="{{reserve.hasOnlineReserve || reserve.hasUpdateDate || reserve.type==0}}"> 22 <view class="value" wx:if="{{reserve.hasOnlineReserve || reserve.hasUpdateDate || reserve.type==0}}">
23 - <text wx:if="{{reserve.ddate>0}}">{{util.unixtoTime(reserve.ddate||'','MM月DD日')}} {{ddate_Str}}</text> 23 + <text wx:if="{{reserve.ddate>0}}" class="font28r">{{util.unixtoTime(reserve.ddate||'','MM月DD日')}} {{ddate_Str}}</text>
24 </view> 24 </view>
25 <view class="value" wx:else="">{{reserve.rdateStr}}</view> 25 <view class="value" wx:else="">{{reserve.rdateStr}}</view>
26 </view> 26 </view>
27 </view> 27 </view>
28 <view class="view flex align-center margin-top"> 28 <view class="view flex align-center margin-top">
29 - <view class="view flex-sub bg-white Medium" style="min-width: 172rpx;">包间类型</view>  
30 - <view class="view flex-treble text-bold text-cut text-lg"> 29 + <view class="view flex-sub bg-white Medium texts">包间类型</view>
  30 + <view class="view flex-treble text-bold text-cut text-df heiView font28r">
31 {{reserve.tableFirst||util.getRoomName(reserve.room_demand)}} 31 {{reserve.tableFirst||util.getRoomName(reserve.room_demand)}}
32 </view> 32 </view>
33 </view> 33 </view>
34 <view class="view flex align-center margin-top"> 34 <view class="view flex align-center margin-top">
35 - <view class="view flex-sub bg-white Medium" style="min-width: 172rpx;">预订人</view>  
36 - <view class="view flex-treble text-cut text-lg"> 35 + <view class="view flex-sub bg-white Medium texts">预订人</view>
  36 + <view class="view flex-treble text-cut text-df heiView font28r text1">
37 {{reserve.rname}} 37 {{reserve.rname}}
38 </view> 38 </view>
39 </view> 39 </view>
40 <view class="view flex align-center margin-top"> 40 <view class="view flex align-center margin-top">
41 - <view class="view flex-sub bg-white Medium" style="min-width: 172rpx;">联系电话</view>  
42 - <view class="view flex-treble text-cut text-lg"> 41 + <view class="view flex-sub bg-white Medium texts">电话</view>
  42 + <view class="view flex-treble text-cut text-df heiView font28r text1">
43 {{reserve.phone?reserve.phoneMask:''}} 43 {{reserve.phone?reserve.phoneMask:''}}
44 </view> 44 </view>
45 </view> 45 </view>
46 <view class="view flex align-center margin-top" wx:if="{{reserve.cusdem}}"> 46 <view class="view flex align-center margin-top" wx:if="{{reserve.cusdem}}">
47 - <view class="view flex-sub bg-white Medium" style="min-width: 172rpx;">备注信息</view>  
48 - <view class="view flex-treble text-cut text-lg"> 47 + <view class="view flex-sub bg-white Medium texts">备注</view>
  48 + <view class="view flex-treble text-cut text-df heiView font28r text1">
49 {{reserve.cusdem}} 49 {{reserve.cusdem}}
50 </view> 50 </view>
51 </view> 51 </view>
1 /* components/2.0/reserve/card.wxss */ 1 /* components/2.0/reserve/card.wxss */
2 @import "/colorui/main.wxss"; 2 @import "/colorui/main.wxss";
  3 +
  4 +.backF {
  5 + background: #fff;
  6 + margin: 12rpx;
  7 + border-radius: 10rpx;
  8 +}
  9 +
  10 +.texts {
  11 + width: 112rpx;
  12 + text-align: justify;
  13 + height: 76rpx;
  14 + line-height: 76rpx;
  15 + margin-right: 40rpx;
  16 +}
  17 +
  18 +.heiView,.heiView view {
  19 + height: 76rpx;
  20 + line-height: 76rpx;
  21 +}
  22 +
  23 +.texts:after {
  24 + content: '';
  25 + display: inline-block;
  26 + width: 100%;
  27 +}
  28 +
  29 +.text1 {
  30 + color: #696969;
  31 +}
@@ -2,43 +2,43 @@ @@ -2,43 +2,43 @@
2 const STATUS=[ 2 const STATUS=[
3 //'待确认',//0:待确认 3 //'待确认',//0:待确认
4 { 4 {
5 - icon:'http://nosqn.colorcun.com/detail/s%20%281%29.png',//http://nosqn.colorcun.com/detail/s%20%284%29.png 5 + icon:'https://qn.colorcun.com/processingIcon.png',
6 title:'提交成功,商家处理中',//商家休息中 6 title:'提交成功,商家处理中',//商家休息中
7 msg:'预计10分钟左右短信或微信告知您结果',//预计{rec_stime}左右营业并告知您结果 7 msg:'预计10分钟左右短信或微信告知您结果',//预计{rec_stime}左右营业并告知您结果
8 }, 8 },
9 //'已预订',//1:已定座 9 //'已预订',//1:已定座
10 { 10 {
11 - icon:'http://nosqn.colorcun.com/detail/s%20%283%29.png', 11 + icon:'https://qn.colorcun.com/bookSuccess.png',
12 title:'订座成功', 12 title:'订座成功',
13 msg:'选择通知好友将订座信息分享给朋友', 13 msg:'选择通知好友将订座信息分享给朋友',
14 }, 14 },
15 //'已完成',//2:确认到店(到店) 15 //'已完成',//2:确认到店(到店)
16 { 16 {
17 - icon:'http://nosqn.colorcun.com/detail/s%20%283%29.png', 17 + icon:'https://qn.colorcun.com/bookSuccess.png',
18 title:'订座成功', 18 title:'订座成功',
19 msg:'选择通知好友将订座信息分享给朋友', 19 msg:'选择通知好友将订座信息分享给朋友',
20 }, 20 },
21 //'已完成',//3:用餐完成(离店) 21 //'已完成',//3:用餐完成(离店)
22 { 22 {
23 - icon:'http://nosqn.colorcun.com/detail/s%20%283%29.png', 23 + icon:'https://qn.colorcun.com/bookSuccess.png',
24 title:'已完成', 24 title:'已完成',
25 msg:'您的订单已完成', 25 msg:'您的订单已完成',
26 }, 26 },
27 //'已取消',//4:取消预定 27 //'已取消',//4:取消预定
28 { 28 {
29 - icon:'http://nosqn.colorcun.com/detail/s%20%282%29.png', 29 + icon:'https://qn.colorcun.com/bookCancel.png',
30 title:'已取消', 30 title:'已取消',
31 msg:'订单已取消,如有需要请重新预订', 31 msg:'订单已取消,如有需要请重新预订',
32 }, 32 },
33 //'已预订',//5:C端在线预定(分配包间) 33 //'已预订',//5:C端在线预定(分配包间)
34 { 34 {
35 - icon:'http://nosqn.colorcun.com/detail/s%20%283%29.png', 35 + icon:'https://qn.colorcun.com/bookSuccess.png',
36 title:'订座成功', 36 title:'订座成功',
37 msg:'选择通知好友将订座信息分享给朋友', 37 msg:'选择通知好友将订座信息分享给朋友',
38 }, 38 },
39 //'已拒绝'//6:拒单 39 //'已拒绝'//6:拒单
40 { 40 {
41 - icon:'http://nosqn.colorcun.com/detail/s%20%282%29.png', 41 + icon:'https://qn.colorcun.com/detail/bookCancel.png',
42 title:'包间已订满', 42 title:'包间已订满',
43 msg:'周到安排可帮您抢订,并推荐更多优质餐厅', 43 msg:'周到安排可帮您抢订,并推荐更多优质餐厅',
44 }, 44 },
1 <!--components/2.0/reserve/detail/status.wxml--> 1 <!--components/2.0/reserve/detail/status.wxml-->
2 -<view class="view padding-lg flex align-center"> 2 +<view class="view padding-lg flex align-center backF">
3 <image src="{{icon}}" style="width:88rpx;height: 88rpx;"></image> 3 <image src="{{icon}}" style="width:88rpx;height: 88rpx;"></image>
4 <view class="view flex-treble margin-left"> 4 <view class="view flex-treble margin-left">
5 <view class="txt-44-h text-bold">{{title}}</view> 5 <view class="txt-44-h text-bold">{{title}}</view>
1 /* components/2.0/reserve/detail/status.wxss */ 1 /* components/2.0/reserve/detail/status.wxss */
2 -@import "/colorui/main.wxss";  
  2 +@import "/colorui/main.wxss";
  3 +
  4 +.backF {
  5 + background: #fff;
  6 + margin: 12rpx;
  7 + border-radius: 10rpx;
  8 +}
@@ -12,4 +12,6 @@ @@ -12,4 +12,6 @@
12 -webkit-tap-highlight-color: transparent; 12 -webkit-tap-highlight-color: transparent;
13 color: inherit; 13 color: inherit;
14 width: 100%; 14 width: 100%;
  15 + position: relative;
  16 + top: -20rpx;
15 } 17 }
@@ -42,19 +42,19 @@ Component({ @@ -42,19 +42,19 @@ Component({
42 type: String, 42 type: String,
43 value: '', 43 value: '',
44 }, 44 },
45 - top: { 45 + modalTop: {
46 type: String, 46 type: String,
47 value: '' 47 value: ''
48 }, 48 },
49 - bottom: { 49 + modalBottom: {
50 type: String, 50 type: String,
51 value: '' 51 value: ''
52 }, 52 },
53 - left: { 53 + modaLeft: {
54 type: String, 54 type: String,
55 value: '' 55 value: ''
56 }, 56 },
57 - right: { 57 + modalRight: {
58 type: String, 58 type: String,
59 value: '' 59 value: ''
60 }, 60 },
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <!--遮罩层--> 2 <!--遮罩层-->
3 <view class='mask' wx:if="{{showModalStatus}}" style="opacity:{{opacity}}"></view> 3 <view class='mask' wx:if="{{showModalStatus}}" style="opacity:{{opacity}}"></view>
4 <!--弹出模态框--> 4 <!--弹出模态框-->
5 -<view class='mymodal' wx:if="{{showModalStatus}}" style='width:{{width}};height:{{height}};top:{{top}};bottom:{{bottom}};left:{{left}};right:{{right}}'> 5 +<view class='mymodal' wx:if="{{showModalStatus}}" style="width:{{width}};height:{{height}};top:{{modalTop}};bottom:{{modalBottom}};left:{{modaLeft}};right:{{modalRight}}">
6 <!-- 模态框title --> 6 <!-- 模态框title -->
7 <view class='mymodal-title'> 7 <view class='mymodal-title'>
8 <slot name="modalName"></slot> 8 <slot name="modalName"></slot>
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 <block wx:for="{{daylist}}" wx:for-item="itemlist" wx:for-index="indexlist" wx:key="{{indexlist}}"> 21 <block wx:for="{{daylist}}" wx:for-item="itemlist" wx:for-index="indexlist" wx:key="{{indexlist}}">
22 <view class="calendar-week-day flex-lr"> 22 <view class="calendar-week-day flex-lr">
23 <block wx:for="{{itemlist.list}}" wx:key="{{index}}"> 23 <block wx:for="{{itemlist.list}}" wx:key="{{index}}">
24 - <view class="{{item.overdate ? 'txt-e5e5e5' : ('font-font color-'+(index%6))}} calendar-day flex-cc font30r {{item.istoday ? 'today' : ''}} {{item.isselected ? 'bg-yellow white-font' : ''}}" data-date="{{item.date}}" catchtap="{{item.overdate ? '' : 'selectdate'}}">{{item.mark ? item.mark : item.day}}</view> 24 + <view class="{{item.overdate ? 'txt-e5e5e5' : ('font-font color-'+(index%6))}} calendar-day flex-cc font30r {{item.istoday ? 'today' : ''}} {{item.isselected ? 'backColor white-font' : ''}}" data-date="{{item.date}}" catchtap="{{item.overdate ? '' : 'selectdate'}}">{{item.mark ? item.mark : item.day}}</view>
25 </block> 25 </block>
26 </view> 26 </view>
27 </block> 27 </block>
@@ -58,13 +58,19 @@ @@ -58,13 +58,19 @@
58 box-sizing: border-box; 58 box-sizing: border-box;
59 } 59 }
60 .calendar-day.today{ 60 .calendar-day.today{
61 - border:2rpx solid #42A5FF; 61 + border:2rpx solid #fe6806;
62 } 62 }
63 .calendar-day.bg-yellow{ 63 .calendar-day.bg-yellow{
64 background: linear-gradient(180deg, #3BBFF5 0%, #57A0FF 100%); 64 background: linear-gradient(180deg, #3BBFF5 0%, #57A0FF 100%);
65 border-width:0; 65 border-width:0;
66 color: #ffffff!important; 66 color: #ffffff!important;
67 } 67 }
68 -.color-0{  
69 - color:#42A5FF; 68 +
  69 +.calendar-day.backColor {
  70 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  71 + border-width:0;
  72 + color: #ffffff!important;
  73 +}
  74 +.color-0 {
  75 + color:#fe6806;
70 } 76 }
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <block wx:for="{{roomlist}}" wx:key="{{index}}"> 2 <block wx:for="{{roomlist}}" wx:key="{{index}}">
3 <block wx:if="{{item.status==1}}"> 3 <block wx:if="{{item.status==1}}">
4 <view class="room-item black-font {{((item.isFull && item.isFull==1) || (item.isorderFull && item.isorderFull==1)) && false ? 'bg-gray' : 'bg-yellow'}} {{item.selectnum>0?'border-yellow':''}} flex-vl" style="justify-content:center;" data-id="{{item.id}}" data-index="{{index}}" data-selectnum="{{item.selectnum ? item.selectnum : 0}}" data-fid="{{item.fid ? item.fid : null}}" catchtap="selectroom"> 4 <view class="room-item black-font {{((item.isFull && item.isFull==1) || (item.isorderFull && item.isorderFull==1)) && false ? 'bg-gray' : 'bg-yellow'}} {{item.selectnum>0?'border-yellow':''}} flex-vl" style="justify-content:center;" data-id="{{item.id}}" data-index="{{index}}" data-selectnum="{{item.selectnum ? item.selectnum : 0}}" data-fid="{{item.fid ? item.fid : null}}" catchtap="selectroom">
5 - <view class="font30r font-bold" style="width:100%;padding-right:62rpx;box-sizing:border-box; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{item.name}}</view> 5 + <view class="font28r font-bold" style="text-align: center;width:100%;padding-right:62rpx;box-sizing:border-box; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{item.name}}</view>
6 <block wx:if="{{item.max && item.max!=0}}"> 6 <block wx:if="{{item.max && item.max!=0}}">
7 <view class="font24r room-more">最多可坐{{item.max}}人</view> 7 <view class="font24r room-more">最多可坐{{item.max}}人</view>
8 </block> 8 </block>
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 border:2rpx solid #cccccc; 18 border:2rpx solid #cccccc;
19 } 19 }
20 .border-yellow{ 20 .border-yellow{
21 - border:2rpx solid #42A5FF; 21 + border:2rpx solid #fe6806;
22 } 22 }
23 .bg-yellow{ 23 .bg-yellow{
24 background: #ffffff; 24 background: #ffffff;
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 background: #F5F5F5; 30 background: #F5F5F5;
31 } 31 }
32 .room-more{ 32 .room-more{
33 - margin-top: 10rpx; 33 + margin-top: 10rpx;
34 } 34 }
35 .room-consume{ 35 .room-consume{
36 margin-top:6rpx; 36 margin-top:6rpx;
@@ -51,16 +51,15 @@ @@ -51,16 +51,15 @@
51 min-width:92rpx; 51 min-width:92rpx;
52 height:40rpx; 52 height:40rpx;
53 position: absolute; 53 position: absolute;
54 - right:0;  
55 - top:0;  
56 - border-bottom-left-radius: 10rpx; 54 + right:8rpx;
  55 + top:8rpx;
  56 + border-radius: 10rpx;
57 padding:0 4rpx; 57 padding:0 4rpx;
58 box-sizing: border-box; 58 box-sizing: border-box;
59 } 59 }
60 .room-select.yellow { 60 .room-select.yellow {
61 - background: #F4FAFF;  
62 - border: 2rpx solid #42A5FF;  
63 - color: #42A5FF; 61 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  62 + color: #fff;
64 font-weight: bold; 63 font-weight: bold;
65 } 64 }
66 .room-select.gray{ 65 .room-select.gray{
1 <view class="section flex-lr"> 1 <view class="section flex-lr">
2 <block wx:for="{{sectionlist}}" wx:key="{{index}}"> 2 <block wx:for="{{sectionlist}}" wx:key="{{index}}">
3 <view class="flex-vc section-single {{item.isselected ? 'bg-yellow' : ''}}" style="width:{{690/sectionlist.length}}rpx;" data-section="{{item.section}}" data-index="{{index}}" catchtap="{{item.overdate ? '' : 'selectsection'}}"> 3 <view class="flex-vc section-single {{item.isselected ? 'bg-yellow' : ''}}" style="width:{{690/sectionlist.length}}rpx;" data-section="{{item.section}}" data-index="{{index}}" catchtap="{{item.overdate ? '' : 'selectsection'}}">
4 - <view class="{{item.overdate ? 'gray-font' : (item.isselected ? 'blue-font' : '')}} font30r Semibold">{{item.showmark}}</view>  
5 - <view class="{{item.overdate ? 'gray-font' : (item.isselected ? 'blue-font' : '')}} font24r" style="line-height:34rpx;">{{item.sectiondur}}</view> 4 + <view class="{{item.overdate ? 'gray-font' : (item.isselected ? 'checkView' : '')}} font28r Semibold">{{item.showmark}}</view>
  5 + <view class="{{item.overdate ? 'gray-font' : (item.isselected ? 'checkView' : '')}} font28r" style="line-height:34rpx;">{{item.sectiondur}}</view>
6 </view> 6 </view>
7 </block> 7 </block>
8 </view> 8 </view>
@@ -14,8 +14,8 @@ @@ -14,8 +14,8 @@
14 box-sizing: border-box; 14 box-sizing: border-box;
15 } 15 }
16 .section-single.bg-yellow{ 16 .section-single.bg-yellow{
17 - background: #F4FAFF;  
18 - border: 2rpx solid #42A5FF; 17 + background: #FFF7F5;
  18 + border: 2rpx solid #fe6806;
19 } 19 }
20 .Semibold { 20 .Semibold {
21 overflow: hidden; 21 overflow: hidden;
@@ -28,6 +28,12 @@ @@ -28,6 +28,12 @@
28 height: 40rpx; 28 height: 40rpx;
29 } 29 }
30 30
  31 +.checkView {
  32 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  33 + -webkit-background-clip: text;
  34 + -webkit-text-fill-color: transparent;
  35 +}
  36 +
31 .blue-font { 37 .blue-font {
32 overflow: hidden; 38 overflow: hidden;
33 word-break: break-all; 39 word-break: break-all;
1 <view class="select-rooms flex-rs"> 1 <view class="select-rooms flex-rs">
2 - <view class="select-rooms-title black-font font-bold font36r flex-ll">已选包间</view> 2 + <view class="select-rooms-title black-font font-bold font28r flex-ll">已选包间</view>
3 <block wx:for="{{seletroomlist}}" wx:key="{{index}}"> 3 <block wx:for="{{seletroomlist}}" wx:key="{{index}}">
4 <view class="select-rooms-item flex-vc" data-index="{{index}}" data-id="{{item.id}}" catchtap="cancelroom"> 4 <view class="select-rooms-item flex-vc" data-index="{{index}}" data-id="{{item.id}}" catchtap="cancelroom">
5 - <view class="font-bold font30r" style="width:100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;text-align:center; color:#42A5FF;">{{item.name}}</view> 5 + <view class="font-bold font28r selectRoom" style="width:100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;text-align:center;">{{item.name}}</view>
6 <image src="http://nosqn.colorcun.com/detail/x%20%2814%29.png" class="select-rooms-close"></image> 6 <image src="http://nosqn.colorcun.com/detail/x%20%2814%29.png" class="select-rooms-close"></image>
7 </view> 7 </view>
8 </block> 8 </block>
@@ -13,14 +13,18 @@ @@ -13,14 +13,18 @@
13 width:150rpx; 13 width:150rpx;
14 height:70rpx; 14 height:70rpx;
15 margin-right:20rpx; 15 margin-right:20rpx;
16 - background: #F4FAFF;  
17 - border: 2rpx solid #42A5FF; 16 + background: #FFF7F5;
  17 + border: 2rpx solid #fe6806;
18 border-radius:10rpx; 18 border-radius:10rpx;
19 position: relative; 19 position: relative;
20 margin-bottom:20rpx; 20 margin-bottom:20rpx;
21 padding:0 12rpx; 21 padding:0 12rpx;
22 box-sizing: border-box; 22 box-sizing: border-box;
23 } 23 }
  24 +.selectRoom {
  25 + background-color: #FFF7F5;
  26 + color: #fe6806;
  27 +}
24 .select-rooms-close{ 28 .select-rooms-close{
25 width:36rpx; 29 width:36rpx;
26 height:36rpx; 30 height:36rpx;
1 <wxs src="../../../utils/util.wxs" module="util" /> 1 <wxs src="../../../utils/util.wxs" module="util" />
2 <view class="padding-lr-lg padding-top-lg"> 2 <view class="padding-lr-lg padding-top-lg">
3 <view class="flex justify-between align-center margin-bottom" catchtap="clickmore"> 3 <view class="flex justify-between align-center margin-bottom" catchtap="clickmore">
4 - <view class="txt-36-h text-bold">预订日期</view> 4 + <view class="txt-28-h text-bold">预订日期</view>
5 <view class="flex align-center txt-24-h"> 5 <view class="flex align-center txt-24-h">
6 更多 6 更多
7 <view class="more margin-left-xs"></view> 7 <view class="more margin-left-xs"></view>
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 height:100rpx; 7 height:100rpx;
8 line-height: 100rpx; 8 line-height: 100rpx;
9 border-radius:10rpx; 9 border-radius:10rpx;
10 - border:2rpx solid #fffff; 10 + border:2rpx solid #fff;
11 font-size:28rpx; 11 font-size:28rpx;
12 font-weight:400; 12 font-weight:400;
13 color:#353535; 13 color:#353535;
@@ -17,8 +17,10 @@ @@ -17,8 +17,10 @@
17 .tabs .item.active{ 17 .tabs .item.active{
18 background: #F4FAFF; 18 background: #F4FAFF;
19 border-radius: 10rpx; 19 border-radius: 10rpx;
20 - border: 2rpx solid #42A5FF;  
21 - color:#42A5FF; 20 + border: 2rpx solid #fe6806;
  21 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  22 + -webkit-background-clip: text;
  23 + -webkit-text-fill-color: transparent;
22 font-weight: bold; 24 font-weight: bold;
23 } 25 }
24 .date .item{ 26 .date .item{
@@ -27,7 +29,7 @@ @@ -27,7 +29,7 @@
27 } 29 }
28 .item .name{ 30 .item .name{
29 height: 36rpx; 31 height: 36rpx;
30 - font-size: 26rpx; 32 + font-size: 28rpx;
31 line-height: 36rpx; 33 line-height: 36rpx;
32 } 34 }
33 .item .mmdd{ 35 .item .mmdd{
@@ -107,7 +107,7 @@ @@ -107,7 +107,7 @@
107 总计:<text>¥{{totalize}}</text>元 107 总计:<text>¥{{totalize}}</text>元
108 </view> 108 </view>
109 <button 109 <button
110 - class="font32r {{(dataStr>(detail.etime*1) || detail.grant_last=='0' || (this.data.detail.grant_last && (detail.grant_last*1)<(num*1)))?'btns btnsDisabled':'btns'}}" 110 + class="font32r {{(dataStr>(detail.etime*1) || detail.grant_last=='0' || (detail.grant_last && (detail.grant_last*1)<(num*1)))?'btns btnsDisabled':'btns'}}"
111 bindtap="submitOrder">提交订单 111 bindtap="submitOrder">提交订单
112 </button> 112 </button>
113 </view> 113 </view>
@@ -11,9 +11,12 @@ Page({ @@ -11,9 +11,12 @@ Page({
11 dataStr: Date.now() * 1 / 1000, 11 dataStr: Date.now() * 1 / 1000,
12 detail: {}, 12 detail: {},
13 exp_date: {}, 13 exp_date: {},
  14 + couponType:'',//1代金券 2折扣券 3菜品券
14 resultCoupon: '', //0未领取 1已领取 15 resultCoupon: '', //0未领取 1已领取
15 seller: {}, 16 seller: {},
16 distance: '', 17 distance: '',
  18 + num: 1,
  19 + totalize: '',
17 }, 20 },
18 myModal: '', 21 myModal: '',
19 myToast:'', 22 myToast:'',
@@ -132,9 +135,12 @@ Page({ @@ -132,9 +135,12 @@ Page({
132 id: this.data.opt.id 135 id: this.data.opt.id
133 }).then(res => { 136 }).then(res => {
134 if (res.data.length > 0) { 137 if (res.data.length > 0) {
  138 + let couponType = '';
135 let detail = res.data[0]; 139 let detail = res.data[0];
136 let exp_date = util.determine(detail.exp_date); 140 let exp_date = util.determine(detail.exp_date);
137 detail.arule = detail.arule ? util.determine(detail.arule) : ''; 141 detail.arule = detail.arule ? util.determine(detail.arule) : '';
  142 + detail.use = detail.use ? util.determine(detail.use) : '';
  143 + detail.exp_date = exp_date;
138 detail.expiration_date = detail.expiration_date ? util.determine(detail.expiration_date) : ''; 144 detail.expiration_date = detail.expiration_date ? util.determine(detail.expiration_date) : '';
139 detail.aexpiration = detail.aexpiration ? util.determine(detail.aexpiration) : ''; 145 detail.aexpiration = detail.aexpiration ? util.determine(detail.aexpiration) : '';
140 detail.cdate = detail.cdate * 1; 146 detail.cdate = detail.cdate * 1;
@@ -175,16 +181,54 @@ Page({ @@ -175,16 +181,54 @@ Page({
175 detail.noonText = noon; 181 detail.noonText = noon;
176 detail.nigText = nig; 182 detail.nigText = nig;
177 } 183 }
  184 + if(detail.is_type!='3'){
  185 + detail.useStime = util.unixtoTime(detail.etime, 'YYYY-MM-DD');
  186 + detail.useEtime = util.unixtoTime(detail.etime, 'YYYY-MM-DD');
  187 + }
  188 + // is_cash 代金券 is_discount折扣券 is_dish菜品券 只有代金券有几折显示
  189 + if(detail.use){
  190 + couponType = detail.use.is_cash=='1'?'1':detail.use.is_discount=='1'?'2':detail.use.is_dish=='1'?'3':'1';
  191 + detail.use.images = detail.use.images ? util.determine(detail.use.images) : '';
  192 + }else{
  193 + couponType = '1'
  194 + }
178 if (detail.arule && detail.arule.is_share_lose == '0') { 195 if (detail.arule && detail.arule.is_share_lose == '0') {
179 wx.hideShareMenu() 196 wx.hideShareMenu()
180 } 197 }
  198 + let price = detail.price * 1;
  199 + let num = this.data.num * 1;
181 this.setData({ 200 this.setData({
182 detail, 201 detail,
183 exp_date, 202 exp_date,
  203 + totalize: (price * num).toFixed(2),
  204 + couponType,
184 }) 205 })
185 } 206 }
186 }) 207 })
187 }, 208 },
  209 + // 点击减号
  210 + subtraction() {
  211 + let price = this.data.detail.price * 1;
  212 + let num = this.data.num * 1;
  213 + let num1 = num - 1
  214 + if (num == '1') {
  215 + return false
  216 + }
  217 + this.setData({
  218 + num: num1,
  219 + totalize: (price * num1).toFixed(2)
  220 + })
  221 + },
  222 + // 点击加号
  223 + addition() {
  224 + let price = this.data.detail.price * 1;
  225 + let num = this.data.num * 1;
  226 + let num1 = num + 1
  227 + this.setData({
  228 + num: num1,
  229 + totalize: (price * num1).toFixed(2)
  230 + })
  231 + },
188 // 获取店铺名称 232 // 获取店铺名称
189 getSellerDetail() { 233 getSellerDetail() {
190 let that = this; 234 let that = this;
1 <!--pack-activity/pack/receiveCoupon.wxml--> 1 <!--pack-activity/pack/receiveCoupon.wxml-->
2 <wxs src="../../utils/util.wxs" module="util" /> 2 <wxs src="../../utils/util.wxs" module="util" />
3 -<nav>代金券详情</nav> 3 +<nav>优惠券详情</nav>
4 <view class="top_box"> 4 <view class="top_box">
5 - <image src="https://qn.colorcun.com/voucherIcon1.png" mode="" />  
6 - <view class="texts"> 5 + <image src="https://qn.colorcun.com/{{couponType=='1'?'voucherIcon1':couponType=='2'?'coupon2':'coupon3'}}.png" mode="" />
  6 + <view class="texts" wx:if="{{detail.is_type == '3'}}">
7 <view class="font32r textName">{{detail.aname}}</view> 7 <view class="font32r textName">{{detail.aname}}</view>
8 <view class="font24r threshold">¥<text class="priceText">{{detail.price}}</text><text class="font28r" wx:if="{{detail.desc!='0'}}">满{{detail.desc}}元可用</text></view> 8 <view class="font24r threshold">¥<text class="priceText">{{detail.price}}</text><text class="font28r" wx:if="{{detail.desc!='0'}}">满{{detail.desc}}元可用</text></view>
9 </view> 9 </view>
  10 + <view class="texts texts{{couponType}}" wx:if="{{detail.is_type != '3'}}">
  11 + <view class="flex-lr">
  12 + <view class="font28r textName">{{detail.aname}}</view>
  13 + <view class="font20r">¥<text class="font32r">{{detail.price}}</text></view>
  14 + </view>
  15 + <view class="flex-lr">
  16 + <view class="font20r threshold">
  17 + <text class="priceText font36r" wx:if="{{detail.use.discount}}">{{detail.use.discount}}折</text>
  18 + <text class="font20r" wx:else>¥<text class="priceText font36r">{{detail.price}}</text></text>
  19 + {{detail.desc}}
  20 + </view>
  21 + <view class="operation">
  22 + <image class="countimgs" src="https://qn.colorcun.com/WechatIMG699.png" bindtap="subtraction" />
  23 + <input type="number" model:value="{{num}}" bindinput="bindKeyNameInput" />
  24 + <image class="countimgs" src="https://qn.colorcun.com/WechatIMG698.png" bindtap="addition" mode="" />
  25 + </view>
  26 + </view>
  27 + </view>
10 <view class="font28r receive" wx:if="{{resultCoupon == '1'}}">已领取</view> 28 <view class="font28r receive" wx:if="{{resultCoupon == '1'}}">已领取</view>
11 </view> 29 </view>
12 <view class="center_box"> 30 <view class="center_box">
  31 + <view class="centerMain dishMain" wx:if="{{couponType == '3' && detail.use}}">
  32 + <view class="title">
  33 + <image src="https://qn.colorcun.com/voucherUnion_6.png" mode="" />
  34 + <text class="font32r">菜品</text>
  35 + </view>
  36 + <text space="nbsp" class="info font28r">{{detail.use.dish}}</text>
  37 + <image wx:for="{{detail.use.images}}" src="{{item}}" mode="widthFix"/>
  38 + </view>
13 <view class="centerMain"> 39 <view class="centerMain">
14 <view class="title"> 40 <view class="title">
15 <image src="https://qn.colorcun.com/voucherUnion_1.png" mode="" /> 41 <image src="https://qn.colorcun.com/voucherUnion_1.png" mode="" />
16 <text class="font32r">有效期</text> 42 <text class="font32r">有效期</text>
17 </view> 43 </view>
18 - <view class="info font28r" wx:if="{{detail.aexpiration.valid_forever == '0' && detail.useStime && detail.useEtime}}"><text>券有效期:</text>{{detail.useStime}} <text> 至 </text> {{detail.useEtime}}</view>  
19 - <view class="info font28r" wx:if="{{detail.aexpiration.valid_forever == '1'}}"><text>券有效期:</text> 永久有效</view> 44 + <block wx:if="{{detail.is_type == '3'}}">
  45 + <view class="info font28r" wx:if="{{detail.aexpiration.valid_forever == '0' && detail.useStime && detail.useEtime}}"><text>券有效期:</text>{{detail.useStime}} <text> 至 </text> {{detail.useEtime}}</view>
  46 + <view class="info font28r" wx:if="{{detail.aexpiration.valid_forever == '1'}}"><text>券有效期:</text> 永久有效</view>
  47 + </block>
  48 + <block wx:else>
  49 + <view class="info font28r" wx:if="{{detail.useStime && detail.useEtime}}"><text>活动期限:</text>{{detail.useStime}} <text> 至 </text> {{detail.useEtime}}</view>
  50 + </block>
20 </view> 51 </view>
21 - <view class="centerMain">  
22 - <view class="title" wx:if="{{detail.morText || detail.noonText || detail.nigText}}"> 52 + <view class="centerMain" wx:if="{{detail.morText || detail.noonText || detail.nigText}}">
  53 + <view class="title">
23 <image src="https://qn.colorcun.com/voucherUnion_2.png" mode="" /> 54 <image src="https://qn.colorcun.com/voucherUnion_2.png" mode="" />
24 - <text class="font32r">不可用日期</text> 55 + <text class="font32r">{{detail.is_type=='3'?'不':''}}可用日期</text>
25 </view> 56 </view>
26 <view wx:if="{{detail.morText}}" class="info font28r">{{detail.morText}}</view> 57 <view wx:if="{{detail.morText}}" class="info font28r">{{detail.morText}}</view>
27 <view wx:if="{{detail.noonText}}" class="info font28r">{{detail.noonText}}</view> 58 <view wx:if="{{detail.noonText}}" class="info font28r">{{detail.noonText}}</view>
28 <view wx:if="{{detail.nigText}}" class="info font28r">{{detail.nigText}}</view> 59 <view wx:if="{{detail.nigText}}" class="info font28r">{{detail.nigText}}</view>
29 </view> 60 </view>
30 - <view class="centerMain centerMain3" wx:if="{{detail.aexpiration}}"> 61 + <view class="centerMain" wx:if="{{detail.is_type!='3' && exp_date.is_none=='1'}}">
  62 + <view class="title">
  63 + <image src="https://qn.colorcun.com/voucherUnion_1.png" mode="" />
  64 + <text class="font32r">可用日期</text>
  65 + </view>
  66 + <view wx:if="{{exp_date.is_none=='1'}}" class="info font28r" >
  67 + 无限制
  68 + </view>
  69 + </view>
  70 + <view class="centerMain centerMain3" wx:if="{{detail.aexpiration && detail.is_type == '3'}}">
31 <view class="title"> 71 <view class="title">
32 <image src="https://qn.colorcun.com/voucherUnion_3.png" mode="" /> 72 <image src="https://qn.colorcun.com/voucherUnion_3.png" mode="" />
33 <text class="font32r">使用规则</text> 73 <text class="font32r">使用规则</text>
@@ -48,7 +88,16 @@ @@ -48,7 +88,16 @@
48 <view class="drop"></view>{{detail.arule.is_appointment == '1' ? '需要提前预约' : '不需要提前预约'}} 88 <view class="drop"></view>{{detail.arule.is_appointment == '1' ? '需要提前预约' : '不需要提前预约'}}
49 </view> 89 </view>
50 </view> 90 </view>
51 - <view class="centerMain"> 91 + <view class="centerMain centerMain3" wx:if="{{exp_date && exp_date.is_birthday=='1' && detail.is_type != '3'}}">
  92 + <view class="title">
  93 + <image src="https://qn.colorcun.com/voucherUnion_3.png" mode="" />
  94 + <text class="font32r">使用限制</text>
  95 + </view>
  96 + <view class="info font28r">
  97 + 顾客生日当天可用
  98 + </view>
  99 + </view>
  100 + <view class="centerMain" wx:if="{{detail.is_type == '3'}}">
52 <view class="title"> 101 <view class="title">
53 <image src="https://qn.colorcun.com/voucherUnion_4.png" mode="" /> 102 <image src="https://qn.colorcun.com/voucherUnion_4.png" mode="" />
54 <text class="font32r">分享规则</text> 103 <text class="font32r">分享规则</text>
@@ -98,20 +147,30 @@ @@ -98,20 +147,30 @@
98 </view> 147 </view>
99 </view> 148 </view>
100 </view> 149 </view>
101 -<view class="sharewidth" wx:if="{{resultCoupon == '0' || detail.arule.is_share_lose == '1'}}">  
102 - <button wx:if="{{detail.arule.is_share_lose == '1'}}" class="shareBtn" open-type="share">  
103 - <image src="https://qn.colorcun.com/voucherIcon2.png" mode="" />  
104 - <text class="font24r">分享</text>  
105 - </button>  
106 - <view class="btns">  
107 - <view class="btn1 font36r" wx:if="{{seller.is_online_reserve == '1'}}">  
108 - <navigator url="/pages/reserve/reserve?id={{opt.sid}}&activeTab=reserve" class="book-item-font second-book-button flex-cc font30r" style="position: relative;">预订包间</navigator>  
109 - </view>  
110 - <view class="btn font36r" wx:if="{{seller.is_online_reserve == '0' && seller.phone}}">  
111 - <view bindtap="callPhone">预订包间</view>  
112 - </view>  
113 - <view wx:if="{{resultCoupon == '0' && detail.grant_last>0}}" class="btn font36r" bindtap="submitOrder">领取到卡包</view>  
114 - </view> 150 +<view class="sharewidth {{detail.is_type != '3'?'sharewidth1':''}}" wx:if="{{resultCoupon == '0' || detail.arule.is_share_lose == '1'}}">
  151 + <block wx:if="{{detail.is_type == '3'}}">
  152 + <button wx:if="{{detail.arule.is_share_lose == '1'}}" class="shareBtn" open-type="share">
  153 + <image src="https://qn.colorcun.com/voucherIcon2.png" mode="" />
  154 + <text class="font24r">分享</text>
  155 + </button>
  156 + <view class="btns">
  157 + <view class="btn1 font36r" wx:if="{{seller.is_online_reserve == '1'}}">
  158 + <navigator url="/pages/reserve/reserve?id={{opt.sid}}&activeTab=reserve" class="book-item-font second-book-button flex-cc font30r" style="position: relative;">预订包间</navigator>
  159 + </view>
  160 + <view class="btn font36r" wx:if="{{seller.is_online_reserve == '0' && seller.phone}}">
  161 + <view bindtap="callPhone">预订包间</view>
  162 + </view>
  163 + <view wx:if="{{resultCoupon == '0' && detail.grant_last>0}}" class="btn font36r" bindtap="submitOrder">领取到卡包</view>
  164 + </view>
  165 + </block>
  166 + <block wx:else>
  167 + <view class="leftBox">
  168 + <view class="news font24r">
  169 + 合计<text class="font28r">¥<text class="priceInfo">{{totalize}}</text></text>
  170 + </view>
  171 + </view>
  172 + <button bindtap="submitOrder" class="font32r {{(dataStr>(detail.etime*1) || detail.grant_last=='0' || (detail.grant_last && (detail.grant_last*1)<(num*1)))?'submitBtns btnsDisabled':'submitBtns'}}">提交订单</button>
  173 + </block>
115 </view> 174 </view>
116 <toast id="myToast"></toast> 175 <toast id="myToast"></toast>
117 <my-modal id="myModal" fadeStyle="slideUp" height="240px"> 176 <my-modal id="myModal" fadeStyle="slideUp" height="240px">
@@ -26,6 +26,10 @@ page { @@ -26,6 +26,10 @@ page {
26 margin-right: 12rpx; 26 margin-right: 12rpx;
27 } 27 }
28 28
  29 +.texts2 .priceText {
  30 + font-size: 36rpx;
  31 +}
  32 +
29 .top_box .texts { 33 .top_box .texts {
30 flex: 1; 34 flex: 1;
31 margin-left: 32rpx; 35 margin-left: 32rpx;
@@ -70,7 +74,7 @@ page { @@ -70,7 +74,7 @@ page {
70 } 74 }
71 75
72 .centerMain { 76 .centerMain {
73 - margin-bottom: 40rpx; 77 + margin-bottom: 30rpx;
74 } 78 }
75 79
76 .centerMain .drop { 80 .centerMain .drop {
@@ -190,15 +194,15 @@ page { @@ -190,15 +194,15 @@ page {
190 } 194 }
191 195
192 #myModal .titleModal2 { 196 #myModal .titleModal2 {
193 - margin-top: 80%; 197 + margin-top: 80%;
194 } 198 }
195 199
196 #myModal .titleModal3 { 200 #myModal .titleModal3 {
197 - margin-top: 60%; 201 + margin-top: 60%;
198 } 202 }
199 203
200 #myModal .titleModal4 { 204 #myModal .titleModal4 {
201 - margin-top: 30%; 205 + margin-top: 30%;
202 } 206 }
203 207
204 #myModal .mymodal { 208 #myModal .mymodal {
@@ -219,7 +223,7 @@ page { @@ -219,7 +223,7 @@ page {
219 223
220 .modalText1 { 224 .modalText1 {
221 color: #dfdfdf; 225 color: #dfdfdf;
222 - font-family: PingFang SC; 226 + font-family: PingFang SC;
223 font-weight: 600; 227 font-weight: 600;
224 font-size: 52rpx; 228 font-size: 52rpx;
225 text-align: center; 229 text-align: center;
@@ -227,7 +231,7 @@ page { @@ -227,7 +231,7 @@ page {
227 231
228 .modalText2 { 232 .modalText2 {
229 color: #dfdfdf; 233 color: #dfdfdf;
230 - font-family: PingFang SC; 234 + font-family: PingFang SC;
231 font-weight: 500; 235 font-weight: 500;
232 text-align: center; 236 text-align: center;
233 margin: 0 40rpx; 237 margin: 0 40rpx;
@@ -237,12 +241,12 @@ page { @@ -237,12 +241,12 @@ page {
237 width: 80%; 241 width: 80%;
238 margin: 0 auto; 242 margin: 0 auto;
239 border-radius: 42rpx; 243 border-radius: 42rpx;
240 - background: linear-gradient(90.98deg, #f41919 0.25%, #ff7426 120.07%); 244 + background: linear-gradient(90.98deg, #f41919 0.25%, #ff7426 120.07%);
241 font-weight: 400; 245 font-weight: 400;
242 color: #fff; 246 color: #fff;
243 text-align: center; 247 text-align: center;
244 border: 4rpx solid #fff; 248 border: 4rpx solid #fff;
245 - padding: 12rpx 0; 249 + padding: 12rpx 0;
246 margin: 80rpx auto 20rpx auto; 250 margin: 80rpx auto 20rpx auto;
247 } 251 }
248 252
@@ -306,11 +310,11 @@ page { @@ -306,11 +310,11 @@ page {
306 .info_name { 310 .info_name {
307 color: #000; 311 color: #000;
308 overflow: hidden; 312 overflow: hidden;
309 - word-break: break-all;  
310 - text-overflow: ellipsis;  
311 - display: -webkit-box;  
312 - -webkit-box-orient: vertical;  
313 - -webkit-line-clamp: 1; 313 + word-break: break-all;
  314 + text-overflow: ellipsis;
  315 + display: -webkit-box;
  316 + -webkit-box-orient: vertical;
  317 + -webkit-line-clamp: 1;
314 font-weight: 600; 318 font-weight: 600;
315 } 319 }
316 320
@@ -326,4 +330,79 @@ page { @@ -326,4 +330,79 @@ page {
326 background: #FFE8D7; 330 background: #FFE8D7;
327 color: #fb4e21; 331 color: #fb4e21;
328 border-radius: 4rpx; 332 border-radius: 4rpx;
  333 +}
  334 +
  335 +.operation {
  336 + display: flex;
  337 + align-items: center;
  338 + border: 2rpx solid #CBCBCB;
  339 + border-radius: 198rpx;
  340 + height: 52rpx;
  341 +}
  342 +
  343 +.operation input {
  344 + width: 64rpx;
  345 + border-left: 2rpx solid #CBCBCB;
  346 + border-right: 2rpx solid #CBCBCB;
  347 + border-radius: 10rpx;
  348 + text-align: center;
  349 + height: 52rpx;
  350 +}
  351 +
  352 +.top_box .countimgs {
  353 + width: 32rpx;
  354 + height: 32rpx;
  355 + padding: 16rpx;
  356 +}
  357 +
  358 +.dishMain .info {
  359 + display: flex;
  360 + flex-wrap: wrap;
  361 + justify-content: flex-start;
  362 +}
  363 +
  364 +.dishMain image {
  365 + margin-bottom: 12rpx;
  366 + width: 100%;
  367 +}
  368 +
  369 +.dishMain .title image {
  370 + width: 26rpx;
  371 +}
  372 +
  373 +.leftBox {
  374 + display: flex;
  375 + align-items: center;
  376 + justify-content: space-between;
  377 + font-family: PingFang SC;
  378 +}
  379 +
  380 +.news {
  381 + color: #000;
  382 +}
  383 +
  384 +.news text {
  385 + color: #FD4D59;
  386 +}
  387 +
  388 +.priceInfo {
  389 + font-weight: 600;
  390 + font-size: 60rpx;
  391 +}
  392 +
  393 +.submitBtns {
  394 + margin: 0;
  395 + border-radius: 42rpx;
  396 + padding: 0 56rpx;
  397 + color: #fff;
  398 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  399 +}
  400 +
  401 +.btnsDisabled {
  402 + background: #999999 !important;
  403 + color: #fff !important;
  404 +}
  405 +
  406 +.sharewidth1 {
  407 + justify-content: space-between;
329 } 408 }
1 <!--pages/customer/cancel.wxml--> 1 <!--pages/customer/cancel.wxml-->
2 -<nav hasHome>取消订座</nav>  
3 -<view class="pages" style="padding-bottom: {{paddingBottom+70}}px;">  
4 - <view class="flex align-center">  
5 - <image src="http://nosqn.colorcun.com/jiujiajingicon08%403x.png" style="width: 82rpx;height: 72rpx;"></image> 2 +<nav hasHome>取消预订</nav>
  3 +<view class="pages">
  4 + <view class="flex align-center justify-center">
  5 + <image src="https://qn.colorcun.com/bookCancel.png" style="width: 72rpx;height: 72rpx;"></image>
6 <view class="margin-left-lg text-bold text-black"> 6 <view class="margin-left-lg text-bold text-black">
7 - <view class="txt-32-h">请告知取消原因</view>  
8 - <view class="txt-32-h">以便为您提供更好的服务</view> 7 + <view class="txt-40-h">请告知取消原因</view>
  8 + <view class="txt-24-h">以便为您提供更好的服务</view>
9 </view> 9 </view>
10 </view> 10 </view>
11 - <view class="reasons-title">取消原因(必选)</view> 11 + <view class="reasons-title">请选择取消原因(必选)</view>
12 <radio-group class="radio-group reasons-group" bindchange="radioChange"> 12 <radio-group class="radio-group reasons-group" bindchange="radioChange">
13 - <radio class="reasons-radio"  
14 - wx:for="{{reasons}}" wx:key="reasons" value="{{index}}" checked="{{index==radioIndex}}">  
15 - <text class="reasons-radio-text">{{item}}</text>  
16 - </radio> 13 + <!-- <block wx:for="{{reasons}}" wx:key="reasons">
  14 +
  15 + <radio class="reasons-radio"
  16 + value="{{index}}" checked="{{index==radioIndex}}">
  17 + <text class="reasons-radio-text">{{item}}</text>
  18 + </radio>
  19 + </block> -->
  20 + <label class="reasons-radio" wx:for="{{reasons}}" wx:key="{{item}}">
  21 + <view class="reasons-radio-text">{{item}}</view>
  22 + <radio class="reasons-radio" value="{{index}}" checked="{{index==radioIndex}}"/>
  23 + </label>
17 </radio-group> 24 </radio-group>
18 <textarea class="cancel-input" placeholder="请输入其他原因(不超过30字)" hidden="{{!inputFouce}}" 25 <textarea class="cancel-input" placeholder="请输入其他原因(不超过30字)" hidden="{{!inputFouce}}"
19 bindinput="cancelInput" focus="{{inputFouce}}" 26 bindinput="cancelInput" focus="{{inputFouce}}"
@@ -25,7 +32,9 @@ @@ -25,7 +32,9 @@
25 adjust-position="{{false}}" bindfocus="textareaFocus" 32 adjust-position="{{false}}" bindfocus="textareaFocus"
26 bindinput="textareaInput" 33 bindinput="textareaInput"
27 placeholder-class="input-pl" maxlength="30"></textarea> 34 placeholder-class="input-pl" maxlength="30"></textarea>
28 - <view class="cancel-button round bg-blue-blue" 35 + <view class="btns">
  36 + <view class="cancel-button round"
29 bindtap="cancelSubmit" 37 bindtap="cancelSubmit"
30 style="bottom:{{paddingBottom}}px;">申请取消</view> 38 style="bottom:{{paddingBottom}}px;">申请取消</view>
  39 + </view>
31 </view> 40 </view>
1 /* pages/customer/cancel.wxss */ 1 /* pages/customer/cancel.wxss */
2 @import "/colorui/icon.wxss"; 2 @import "/colorui/icon.wxss";
3 @import "/colorui/main.wxss"; 3 @import "/colorui/main.wxss";
  4 +page{
  5 + background: #F5F5F5;
  6 +}
4 .pages{ 7 .pages{
5 - width: calc(100% - 80rpx);  
6 - padding-left: 40rpx; 8 + margin: 20rpx;
  9 + box-sizing: border-box;
  10 + padding: 40rpx;
7 font-size:28rpx; 11 font-size:28rpx;
8 color:rgba(153,153,153,1); 12 color:rgba(153,153,153,1);
9 - padding-top: 60rpx; 13 + background: #fff;
  14 + border-radius: 10rpx;
10 } 15 }
11 .cancel-button{ 16 .cancel-button{
12 - height:84rpx;  
13 - line-height: 84rpx; 17 + height:72rpx;
  18 + line-height: 72rpx;
  19 + box-sizing: border-box;
14 width: calc(100% - 80rpx); 20 width: calc(100% - 80rpx);
15 text-align: center; 21 text-align: center;
16 font-size:36rpx; 22 font-size:36rpx;
17 font-weight:600; 23 font-weight:600;
18 color:rgba(254,254,254,1); 24 color:rgba(254,254,254,1);
19 margin: 0 auto; 25 margin: 0 auto;
20 - position: fixed;  
21 - bottom: 20rpx; 26 + position: relative;
  27 + top: -20rpx;
  28 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  29 + -webkit-background-clip: text;
  30 + -webkit-text-fill-color: transparent;
  31 + border: 2rpx solid #fe6806;
22 32
23 } 33 }
24 .cancel-input{ 34 .cancel-input{
25 - border: 2rpx solid #F5F5F5; 35 + border: 2rpx solid #CBCBCB;
26 height: 208rpx; 36 height: 208rpx;
27 width: 100%; 37 width: 100%;
28 box-sizing: border-box; 38 box-sizing: border-box;
@@ -33,25 +43,25 @@ @@ -33,25 +43,25 @@
33 .reasons-title{ 43 .reasons-title{
34 height:40rpx; 44 height:40rpx;
35 font-size:28rpx; 45 font-size:28rpx;
36 - font-weight:500;  
37 - color:rgba(153,153,153,1); 46 + color:#000;
38 line-height:40rpx; 47 line-height:40rpx;
39 - margin-top: 60rpx;  
40 - margin-bottom: 60rpx; 48 + margin: 40rpx 0;
  49 + font-weight: 600;
41 } 50 }
42 .reasons-group{ 51 .reasons-group{
43 font-size: 30rpx; 52 font-size: 30rpx;
  53 + width: 100%;
44 } 54 }
45 55
46 .reasons-radio{ 56 .reasons-radio{
47 - height: 102rpx;  
48 - line-height: 102rpx;  
49 - font-size:30rpx; 57 + height: 90rpx;
  58 + line-height: 90rpx;
  59 + font-size:28rpx;
50 font-weight:500; 60 font-weight:500;
51 color:rgba(53,53,53,1); 61 color:rgba(53,53,53,1);
52 - width: 100%;  
53 - border-top: 2rpx solid #F5F5F5;  
54 box-sizing: border-box; 62 box-sizing: border-box;
  63 + display: flex;
  64 + justify-content: space-between;
55 } 65 }
56 radio::before 66 radio::before
57 { 67 {
@@ -75,10 +85,29 @@ radio.radio[checked]::after { @@ -75,10 +85,29 @@ radio.radio[checked]::after {
75 } 85 }
76 radio.reasons-radio[checked] .wx-radio-input { 86 radio.reasons-radio[checked] .wx-radio-input {
77 border-color: transparent !important; 87 border-color: transparent !important;
78 - background: linear-gradient(180deg, #3BBFF5 0%, #57A0FF 100%); 88 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
79 color: var(--white) !important; 89 color: var(--white) !important;
80 } 90 }
81 91
82 .reasons-radio-text{ 92 .reasons-radio-text{
83 padding-left: 20rpx; 93 padding-left: 20rpx;
  94 + flex: 1;
  95 + color: #000;
  96 + font-weight: 400;
  97 + font-size: 28rpx;
84 } 98 }
  99 +
  100 +
  101 +.btns {
  102 + position: fixed;
  103 + bottom: 0;
  104 + left: 0;
  105 + width: 100%;
  106 + background: #fff;
  107 + height: 200rpx;
  108 + display: flex;
  109 + justify-content: space-between;
  110 + align-items: center;
  111 + padding: 0 40rpx;
  112 + box-sizing: border-box;
  113 +}
@@ -24,36 +24,36 @@ @@ -24,36 +24,36 @@
24 24
25 <detail-status detail="{{detail}}" ></detail-status> 25 <detail-status detail="{{detail}}" ></detail-status>
26 <detail-card detail="{{detail}}"></detail-card> 26 <detail-card detail="{{detail}}"></detail-card>
27 - <view class="flex padding justify-end align-center margin-top text-black">  
28 - <service id="service" class="split view">  
29 - <view class="min-but flex align-center justify-center txt-30-h solid">联系客服</view> 27 + <view class="flex justify-end align-center margin-top text-black btns">
  28 + <block wx:if="{{customerCancel && customerCancel == '1'}}">
  29 + <navigator url="./cancel?id={{detail.id}}"
  30 + wx:if="{{(detail.hasRunning || detail.status==0) && checkout.status!=3}}"
  31 + class="split btnBox">
  32 + <view class="min-but flex align-center justify-center txt-30-h btn1">取消预订</view>
  33 + </navigator>
  34 + </block>
  35 + <service id="service" class="split view btnBox">
  36 + <view class="min-but flex align-center justify-center txt-30-h btn1 {{(detail.status=='4' || detail.status=='2' || detail.status=='3')?'':'btn2'}}">联系客服</view>
30 </service> 37 </service>
31 <block wx:if="{{detail.seller.is_online_reserve == '1'}}"> 38 <block wx:if="{{detail.seller.is_online_reserve == '1'}}">
32 <navigator url="/pages/reserve/reserve?id={{detail.sid}}&activeTab=reserve" 39 <navigator url="/pages/reserve/reserve?id={{detail.sid}}&activeTab=reserve"
33 wx:if="{{detail.hasCancel || detail.status==6}}" 40 wx:if="{{detail.hasCancel || detail.status==6}}"
34 - class="split">  
35 - <view class="min-but flex align-center justify-center txt-30-h solid">再次预订</view> 41 + class="split btnBox">
  42 + <view class="min-but flex align-center justify-center txt-30-h btn1 btn2">再次预订</view>
36 </navigator> 43 </navigator>
37 </block> 44 </block>
38 - <block wx:if="{{customerCancel && customerCancel == '1'}}">  
39 - <navigator url="./cancel?id={{detail.id}}"  
40 - wx:if="{{(detail.hasRunning || detail.status==0) && checkout.status!=3}}"  
41 - class="split">  
42 - <view class="min-but flex align-center justify-center txt-30-h solid">取消预订</view>  
43 - </navigator> 45 + <block>
  46 + <view bindtap="gotoInvitation"
  47 + wx:if="{{detail.hasRunning}}"
  48 + class="split btnBox">
  49 + <view class="min-but flex align-center justify-center txt-30-h line-blue">通知好友</view>
  50 + </view>
44 </block> 51 </block>
45 - <block>  
46 - <view bindtap="gotoInvitation"  
47 - wx:if="{{detail.hasRunning}}"  
48 - class="split">  
49 - <view class="min-but flex align-center justify-center txt-30-h solid line-blue">通知好友</view>  
50 - </view>  
51 - </block>  
52 52
53 - <navigator url="/pages/pinglun/create?sid={{detail.seller.id}}&oid={{detail.id}}&sellername={{detail.seller.sellername}}" 53 + <navigator url="/pages/pinglun/createOpinion?sellid={{detail.seller.id}}&oid={{detail.id}}&sellerName={{detail.seller.sellername}}&types=1"
54 wx:if="{{detail.hasFinished && hasComment}}" 54 wx:if="{{detail.hasFinished && hasComment}}"
55 - class="split">  
56 - <view class="min-but flex align-center justify-center txt-30-h solid line-blue">评价</view> 55 + class="split btnBox">
  56 + <view class="min-but flex align-center justify-center txt-30-h line-blue btn1 btn2">评价</view>
57 </navigator> 57 </navigator>
58 </view> 58 </view>
59 <view class="margin-lr-lg padding-tb-lg view solid-top" wx:if="{{detail.customers.length>1}}"> 59 <view class="margin-lr-lg padding-tb-lg view solid-top" wx:if="{{detail.customers.length>1}}">
@@ -71,21 +71,22 @@ @@ -71,21 +71,22 @@
71 </view> 71 </view>
72 <view class="fixed-buttons flex justify-between align-center padding-lg view bg-white"> 72 <view class="fixed-buttons flex justify-between align-center padding-lg view bg-white">
73 <view wx:if="{{detail.hasRunning && detail.seller.is_open_order==1}}" 73 <view wx:if="{{detail.hasRunning && detail.seller.is_open_order==1}}"
74 - class="view flex-treble big-but flex align-center justify-center txt-34-h solid line-blue round"> 74 + class="view flex-treble big-but flex align-center justify-center txt-34-h line-blue round btnBox">
75 <userinfo 75 <userinfo
76 binduserinfo="cookbook" 76 binduserinfo="cookbook"
77 bindshare="share" 77 bindshare="share"
78 share="{{detail}}" 78 share="{{detail}}"
79 - share-act="invitation">  
80 - <view wx:if="{{detail.order && detail.order.cookbooklist.length>0}}"> 79 + share-act="invitation"
  80 + >
  81 + <view wx:if="{{detail.order && detail.order.cookbooklist.length>0}}" class="btn1">
81 查看菜品 82 查看菜品
82 </view> 83 </view>
83 - <view wx:else="">提前点餐</view> 84 + <view wx:else="" class="btn1">提前点餐</view>
84 </userinfo> 85 </userinfo>
85 </view> 86 </view>
86 <block wx:if="{{detail.status==6}}"> 87 <block wx:if="{{detail.status==6}}">
87 <view bindtap="gotoList" 88 <view bindtap="gotoList"
88 - class="view flex-treble big-but flex align-center justify-center txt-34-h solid line-blue round"> 89 + class="view flex-treble big-but flex align-center justify-center txt-34-h line-blue round btn1 btn2">
89 帮我推荐餐厅 90 帮我推荐餐厅
90 </view> 91 </view>
91 <!-- <chatbot class="big-but view flex-treble align-center justify-center" params="{{chatbotParams}}"> 92 <!-- <chatbot class="big-but view flex-treble align-center justify-center" params="{{chatbotParams}}">
@@ -98,13 +99,13 @@ @@ -98,13 +99,13 @@
98 </chatbot> --> 99 </chatbot> -->
99 </block> 100 </block>
100 101
101 - <view class="view flex-treble big-but flex align-center justify-center txt-34-h solid line-blue round" 102 + <view class="view flex-treble big-but flex align-center justify-center txt-34-h line-blue round btnBox"
102 wx:if="{{detail.hasRunning && detail.seller.isopen_md==1}}"> 103 wx:if="{{detail.hasRunning && detail.seller.isopen_md==1}}">
103 <userinfo 104 <userinfo
104 binduserinfo="checkout" 105 binduserinfo="checkout"
105 share="{{detail}}" 106 share="{{detail}}"
106 share-act="invitation"> 107 share-act="invitation">
107 - <view style="position: relative;"> 108 + <view style="position: relative;" class="btn1 btn2">
108 在线买单 109 在线买单
109 <seller-discount id="seller-discount" seller="{{detail.seller}}" wx:if="{{detail.seller}}" 110 <seller-discount id="seller-discount" seller="{{detail.seller}}" wx:if="{{detail.seller}}"
110 cla="money-tips detail_owner"></seller-discount> 111 cla="money-tips detail_owner"></seller-discount>
1 /* pages/customer/detail_owner.wxss */ 1 /* pages/customer/detail_owner.wxss */
2 @import "../../colorui/main.wxss"; 2 @import "../../colorui/main.wxss";
  3 +page {
  4 + background: #F5F5F5;
  5 +}
  6 +
3 .fixed-buttons{ 7 .fixed-buttons{
4 position: fixed; 8 position: fixed;
5 bottom: 0; 9 bottom: 0;
@@ -18,7 +22,10 @@ @@ -18,7 +22,10 @@
18 border-radius: 20rpx; 22 border-radius: 20rpx;
19 } 23 }
20 .split+.split{ 24 .split+.split{
  25 + width: 45%;
21 margin-left: 40rpx; 26 margin-left: 40rpx;
  27 + position: relative;
  28 + top: -20rpx;
22 } 29 }
23 .big-but{ 30 .big-but{
24 height: 84rpx; 31 height: 84rpx;
@@ -365,4 +372,48 @@ @@ -365,4 +372,48 @@
365 height: 48rpx; 372 height: 48rpx;
366 margin-right: 6rpx; 373 margin-right: 6rpx;
367 margin-left: 6rpx; 374 margin-left: 6rpx;
  375 +}
  376 +
  377 +.btns {
  378 + position: fixed;
  379 + bottom: 0;
  380 + left: 0;
  381 + width: 100%;
  382 + background: #fff;
  383 + height: 200rpx;
  384 + display: flex;
  385 + justify-content: space-between;
  386 + align-items: center;
  387 + padding: 0 40rpx;
  388 + box-sizing: border-box;
  389 +}
  390 +
  391 +.btn1 {
  392 + height: 72rpx;
  393 + box-sizing: border-box;
  394 + line-height: 72rpx;
  395 + border-radius: 198rpx !important;
  396 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  397 + -webkit-background-clip: text;
  398 + -webkit-text-fill-color: transparent;
  399 + border: 2rpx solid #fe6806;
  400 + text-align: center;
  401 +}
  402 +
  403 +.btn2 {
  404 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  405 + color: #fff;
  406 + -webkit-text-fill-color: #fff;
  407 + text-align: center;
  408 +}
  409 +
  410 +.btnBox {
  411 + width: 45%;
  412 + position: relative;
  413 + top: -20rpx;
  414 + border-radius: 198rpx;
  415 +}
  416 +
  417 +userinfo {
  418 + width: 100%;
368 } 419 }
@@ -2,13 +2,15 @@ import util from '../../utils/util'; @@ -2,13 +2,15 @@ import util from '../../utils/util';
2 import App from '../../utils/api'; 2 import App from '../../utils/api';
3 Page({ 3 Page({
4 data:{ 4 data:{
5 - loading:0, 5 + loading:0,
  6 + activeId:'',
6 }, 7 },
7 onLoad(opt){ 8 onLoad(opt){
8 console.log(opt) 9 console.log(opt)
9 this.action=opt.action ? opt.action : null, 10 this.action=opt.action ? opt.action : null,
10 this.setData({ 11 this.setData({
11 - action:this.action 12 + action:this.action,
  13 + activeId:opt.activeId || '',
12 }) 14 })
13 console.log('新用户openid',wx.getStorageSync('customer_openid')) 15 console.log('新用户openid',wx.getStorageSync('customer_openid'))
14 }, 16 },
@@ -21,7 +23,7 @@ Page({ @@ -21,7 +23,7 @@ Page({
21 if(json.ret==200){ 23 if(json.ret==200){
22 this.setData({ 24 this.setData({
23 concatlist:json.data, 25 concatlist:json.data,
24 - loading:1, 26 + loading:1,
25 }) 27 })
26 } 28 }
27 }) 29 })
@@ -33,7 +35,9 @@ Page({ @@ -33,7 +35,9 @@ Page({
33 let pages = getCurrentPages(); 35 let pages = getCurrentPages();
34 this.data.concatlist[index].remark=''; 36 this.data.concatlist[index].remark='';
35 pages[pages.length-2].setData({ 37 pages[pages.length-2].setData({
36 - user:this.data.concatlist[index] 38 + user:this.data.concatlist[index],
  39 + activeSex:this.data.concatlist[index].sex*1-1,
  40 + activeId:this.data.concatlist[index].id
37 }) 41 })
38 pages[pages.length-2].user=this.data.concatlist[index]; 42 pages[pages.length-2].user=this.data.concatlist[index];
39 wx.navigateBack(); 43 wx.navigateBack();
@@ -5,11 +5,12 @@ @@ -5,11 +5,12 @@
5 <view class="flex item font30r black-font margin-bottom-sm justify-between align-center padding-left padding-right-lg" data-index="{{index}}" catchtap="edit"> 5 <view class="flex item font30r black-font margin-bottom-sm justify-between align-center padding-left padding-right-lg" data-index="{{index}}" catchtap="edit">
6 <view> 6 <view>
7 <view class="flex align-center"> 7 <view class="flex align-center">
8 - <viwe class="txt-38-h text-bold">{{item.name}}</viwe> 8 + <viwe class="txt-32-h text-bold">{{item.name}}</viwe>
9 <viwe wx:if="{{item.is_default==1}}" class="default margin-left-sm">默认</viwe> 9 <viwe wx:if="{{item.is_default==1}}" class="default margin-left-sm">默认</viwe>
10 </view> 10 </view>
11 - <view class="txt-38-h" style="margin-top: 16rpx;">{{item.phone}}</view> 11 + <view class="txt-32-h" style="margin-top: 16rpx;">{{item.phone}}</view>
12 </view> 12 </view>
  13 + <image wx:if="{{action && activeId == item.id}}" class="imgs" src="https://qn.colorcun.com/checkImgIcon.png" mode=""/>
13 <image src="http://nosqn.colorcun.com/detail/x%20%2815%29.png" 14 <image src="http://nosqn.colorcun.com/detail/x%20%2815%29.png"
14 wx:if="{{!action}}" 15 wx:if="{{!action}}"
15 style="width: 28rpx;height: 30rpx;"></image> 16 style="width: 28rpx;height: 30rpx;"></image>
@@ -22,7 +23,7 @@ @@ -22,7 +23,7 @@
22 <view class="txt-28-h margin-top-lg">暂无常用预订人哦</view> 23 <view class="txt-28-h margin-top-lg">暂无常用预订人哦</view>
23 </view> 24 </view>
24 <view class="add-cover flex-cc"> 25 <view class="add-cover flex-cc">
25 - <view class="white-font font36r text-bold add-button flex-cc bg-blue-blue round" catchtap="add">新建联系人</view> 26 + <view class="white-font font36r text-bold add-button flex-cc btn round" catchtap="add">新建预订人</view>
26 </view> 27 </view>
27 <menu></menu> 28 <menu></menu>
28 <service></service> 29 <service></service>
1 @import "../../colorui/main.wxss"; 1 @import "../../colorui/main.wxss";
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
2 .concat-list{ 6 .concat-list{
3 width:100%; 7 width:100%;
4 - padding:40rpx 40rpx 150rpx;  
5 - box-sizing: border-box; 8 + padding:12rpx 12rpx 150rpx;
  9 + box-sizing: border-box;
6 } 10 }
7 .item{ 11 .item{
8 width: 100%; 12 width: 100%;
9 - height: 204rpx; 13 + height: 188rpx;
10 background: #FFFFFF; 14 background: #FFFFFF;
11 - box-shadow: 0px 0px 20rpx 0px #EEF0F2;  
12 - border-radius: 20rpx; 15 + border-radius: 10rpx;
13 box-sizing: border-box; 16 box-sizing: border-box;
14 } 17 }
15 .add-cover{ 18 .add-cover{
@@ -27,16 +30,25 @@ @@ -27,16 +30,25 @@
27 margin:0 auto; 30 margin:0 auto;
28 } 31 }
29 .default{ 32 .default{
30 - width: 96rpx;  
31 - height: 60rpx;  
32 - background: #F8F8F8; 33 + width: 64rpx;
  34 + height: 34rpx;
  35 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
33 border-radius: 10rpx; 36 border-radius: 10rpx;
34 -  
35 -  
36 - font-size: 28rpx; 37 + font-size: 24rpx;
37 font-family: PingFangSC-Regular, PingFang SC; 38 font-family: PingFangSC-Regular, PingFang SC;
38 font-weight: 400; 39 font-weight: 400;
39 - color: #666666;  
40 - line-height: 60rpx;  
41 - text-align: center; 40 + color: #fff;
  41 + line-height: 34rpx;
  42 + text-align: center;
  43 +}
  44 +
  45 +.btn {
  46 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  47 + height: 72rpx;
  48 + line-height: 72rpx;
  49 +}
  50 +
  51 +.imgs {
  52 + width: 42rpx;
  53 + height: 42rpx;
42 } 54 }
@@ -5,17 +5,12 @@ @@ -5,17 +5,12 @@
5 <block wx:if="{{list.length>0}}"> 5 <block wx:if="{{list.length>0}}">
6 <view wx:for="{{list}}" bindtap="todetail" data-item="{{item}}" wx:if="{{item.recharge_name || item.aname}}" class="preferentialItems {{item.noShow == '0' ? 'noStyle':''}}"> 6 <view wx:for="{{list}}" bindtap="todetail" data-item="{{item}}" wx:if="{{item.recharge_name || item.aname}}" class="preferentialItems {{item.noShow == '0' ? 'noStyle':''}}">
7 <view class="itemLeft"> 7 <view class="itemLeft">
8 - <text wx:if="{{item.discount!='0.00' && (item.use.is_cash=='1' || item.use.is_cash) && item.discount}}" class="discountText font24r">{{item.discount}}折</text>  
9 - <view class="discountText1 font20r {{item.arule.is_accumulation == '1'?'discountText2':'discountText3'}}" wx:if="{{item.is_type == '3'}}">{{item.arule.is_accumulation == '1' ? '可' : '不可'}}叠加</view>  
10 - <view class="priceText" wx:if="{{item.price}}">  
11 - <view class="icons font24r">¥</view><text class="font40r">{{item.price}}</text>  
12 - </view>  
13 - <view class="icons font20r" wx:if="{{item.is_type == '3' && item.desc!='0'}}">消费满{{item.desc}}元可用</view> 8 + <image src="https://qn.colorcun.com/{{item.couponType=='1'?'voucherIcon1':item.couponType=='2'?'coupon2':'coupon3'}}.png" mode="" />
14 </view> 9 </view>
15 - <view class="couponLine"></view>  
16 <view class="itemRight"> 10 <view class="itemRight">
17 <view class="btns"> 11 <view class="btns">
18 - <text class="font40r">{{item.recharge_name || item.aname}}</text> 12 + <text class="font28r">{{item.recharge_name || item.aname}}</text>
  13 + <text wx:if="{{item.discount!='0.00' && (item.use.is_cash=='1' || item.use.is_cash) && item.discount}}" class="discountText font24r">{{item.discount}}折</text>
19 <block wx:if="{{item.is_type == '1' || item.is_type == '2' || item.type == '1' || item.type == '2'}}"> 14 <block wx:if="{{item.is_type == '1' || item.is_type == '2' || item.type == '1' || item.type == '2'}}">
20 <view wx:if="{{item.exp_date.is_week=='1' || item.exp_date.is_week===true}}" class="bottom font24r">{{item.exp_date.week_show?item.exp_date.week_show+'可用':''}}{{item.desc?','+item.desc+'。':'。'}}</view> 15 <view wx:if="{{item.exp_date.is_week=='1' || item.exp_date.is_week===true}}" class="bottom font24r">{{item.exp_date.week_show?item.exp_date.week_show+'可用':''}}{{item.desc?','+item.desc+'。':'。'}}</view>
21 <view wx:if="{{item.exp_date.is_none=='1' || item.exp_date.is_none===true}}" class="bottom font24r"> 16 <view wx:if="{{item.exp_date.is_none=='1' || item.exp_date.is_none===true}}" class="bottom font24r">
@@ -36,7 +31,12 @@ @@ -36,7 +31,12 @@
36 </block> 31 </block>
37 </view> 32 </view>
38 <view class="btnBox"> 33 <view class="btnBox">
  34 + <view class="priceText" wx:if="{{item.price}}">
  35 + <view class="icons font24r">¥</view><text>{{item.price}}</text>
  36 + </view>
  37 + <view class="icons font20r" wx:if="{{item.is_type == '3' && item.desc!='0'}}">满{{item.desc}}元可用</view>
39 <view class="font24r orderingFood" wx:if="{{item.is_type!='3'&&item.is_examine=='0' && item.is_expire=='0' && item.is_examine=='0' && item.status!='4' && item.status!='5'}}">去核销</view> 38 <view class="font24r orderingFood" wx:if="{{item.is_type!='3'&&item.is_examine=='0' && item.is_expire=='0' && item.is_examine=='0' && item.status!='4' && item.status!='5'}}">去核销</view>
  39 + <view class="font24r orderingFood" wx:if="{{item.is_type=='3'&&item.is_examine=='0' && item.is_expire=='0' && item.is_examine=='0' && item.status!='4' && item.status!='5'}}">去使用</view>
40 <view class="font24r orderingFood" wx:if="{{item.is_examine=='1' && item.is_expire=='0' && item.status!='4' && item.status!='5' && item.is_comment!='1'}}">去评价</view> 40 <view class="font24r orderingFood" wx:if="{{item.is_examine=='1' && item.is_expire=='0' && item.status!='4' && item.status!='5' && item.is_comment!='1'}}">去评价</view>
41 <view class="font24r orderingFood" wx:if="{{!(item.is_examine=='1' && item.is_expire=='0' && item.status!='4' && item.status!='5' && item.is_comment!='1') && item.noShowTetxt}}">{{item.noShowTetxt}}</view> 41 <view class="font24r orderingFood" wx:if="{{!(item.is_examine=='1' && item.is_expire=='0' && item.status!='4' && item.status!='5' && item.is_comment!='1') && item.noShowTetxt}}">{{item.noShowTetxt}}</view>
42 </view> 42 </view>
1 /* pages/me/coupon_news.wxss */ 1 /* pages/me/coupon_news.wxss */
2 @import "../../app.wxss"; 2 @import "../../app.wxss";
  3 +page {
  4 + background: #F5F5F5;
  5 +}
3 6
4 .font-siny { 7 .font-siny {
5 color: #0143a3; 8 color: #0143a3;
@@ -183,20 +186,25 @@ @@ -183,20 +186,25 @@
183 186
184 .preferentialItems { 187 .preferentialItems {
185 display: flex; 188 display: flex;
186 - background: linear-gradient(180deg, #ffefd0 0%, #ffdc9b 100%); 189 + background: #fff;
187 min-height: 160rpx; 190 min-height: 160rpx;
188 padding-bottom: 10rpx; 191 padding-bottom: 10rpx;
189 border-radius: 20rpx; 192 border-radius: 20rpx;
190 - margin: 0 40rpx 20rpx; 193 + margin: 12rpx;
191 } 194 }
192 195
193 .itemLeft { 196 .itemLeft {
194 - width: 27%;  
195 display: flex; 197 display: flex;
196 flex-direction: column; 198 flex-direction: column;
197 justify-content: center; 199 justify-content: center;
198 position: relative; 200 position: relative;
199 align-items: center; 201 align-items: center;
  202 + margin-left: 24rpx;
  203 +}
  204 +
  205 +.itemLeft image {
  206 + width: 140rpx;
  207 + height: 140rpx;
200 } 208 }
201 209
202 .discountText { 210 .discountText {
@@ -212,28 +220,6 @@ @@ -212,28 +220,6 @@
212 top: 12rpx; 220 top: 12rpx;
213 } 221 }
214 222
215 -.discountText1 {  
216 - text-align: center;  
217 - border-radius: 6rpx;  
218 - font-family: PingFang SC;  
219 - background: transparent;  
220 - width: max-content;  
221 - padding: 2rpx 8rpx;  
222 - position: absolute;  
223 - left: 16rpx;  
224 - top: 12rpx;  
225 -}  
226 -  
227 -.discountText2 {  
228 - background: #FD4D59;  
229 - color: #fff;  
230 -}  
231 -  
232 -.discountText3 {  
233 - color: #FD4D59;  
234 - border: 2rpx solid #FD4D59;  
235 -}  
236 -  
237 .priceText { 223 .priceText {
238 display: flex; 224 display: flex;
239 align-items: baseline; 225 align-items: baseline;
@@ -249,6 +235,10 @@ @@ -249,6 +235,10 @@
249 color: #F6231B; 235 color: #F6231B;
250 } 236 }
251 237
  238 +.icons text {
  239 + font-size: 56rpx;
  240 +}
  241 +
252 .priceText .icons { 242 .priceText .icons {
253 color: #FD4D59; 243 color: #FD4D59;
254 } 244 }
@@ -261,14 +251,9 @@ @@ -261,14 +251,9 @@
261 padding-left: 20rpx; 251 padding-left: 20rpx;
262 } 252 }
263 253
264 -.couponLine {  
265 - margin: 24rpx 0;  
266 - border-right: 2rpx dashed #f6231b;  
267 -}  
268 -  
269 .itemRight { 254 .itemRight {
270 padding-right: 10rpx; 255 padding-right: 10rpx;
271 - margin-left: 14rpx; 256 + margin-left: 16rpx;
272 width: 74%; 257 width: 74%;
273 display: flex; 258 display: flex;
274 align-items: center; 259 align-items: center;
@@ -291,9 +276,8 @@ @@ -291,9 +276,8 @@
291 height: 44rpx; 276 height: 44rpx;
292 width: max-content; 277 width: max-content;
293 flex-shrink: 0; 278 flex-shrink: 0;
294 - border: 2rpx solid #fa4b20;  
295 - background: transparent;  
296 - color: #fa4b20; 279 + color: #fff;
  280 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
297 } 281 }
298 282
299 .btns { 283 .btns {
@@ -313,7 +297,7 @@ @@ -313,7 +297,7 @@
313 .bottom { 297 .bottom {
314 margin-top: 4rpx; 298 margin-top: 4rpx;
315 width: 100%; 299 width: 100%;
316 - color: #C36607; 300 + color: #696969;
317 font-family: PingFang SC; 301 font-family: PingFang SC;
318 font-weight: 500; 302 font-weight: 500;
319 display: -webkit-box; 303 display: -webkit-box;
@@ -17,7 +17,9 @@ Page({ @@ -17,7 +17,9 @@ Page({
17 */ 17 */
18 user: _u, 18 user: _u,
19 data: { 19 data: {
20 - user: _u 20 + user: _u,
  21 + array:['先生','女士','公司'],
  22 + activeSex:0,
21 }, 23 },
22 /** 24 /**
23 * 生命周期函数--监听页面加载 25 * 生命周期函数--监听页面加载
@@ -88,16 +90,18 @@ Page({ @@ -88,16 +90,18 @@ Page({
88 console.log(e) 90 console.log(e)
89 let key = util.attr(e, 'key'); 91 let key = util.attr(e, 'key');
90 let val = '' 92 let val = ''
91 - if (key == 'sex' || key == 'is_default') {  
92 - val = util.attr(e, 'val');  
93 - console.log(val)  
94 - } else {  
95 - val = util.val(e); 93 + if (key == 'sex') {
  94 + val = e.detail.value*1+1;
  95 + } else if (key == 'is_default'){
  96 + val = util.attr(e, 'val');
  97 + }else{
  98 + val = util.val(e);
96 } 99 }
97 this.user[key] = val; 100 this.user[key] = val;
98 if (key == 'sex' || key == 'is_default') { 101 if (key == 'sex' || key == 'is_default') {
99 this.setData({ 102 this.setData({
100 - user: this.user 103 + user: this.user,
  104 + activeSex:e.detail.value,
101 }) 105 })
102 } 106 }
103 }, 107 },
1 <!--pages/me/setting.wxml--> 1 <!--pages/me/setting.wxml-->
2 <nav hasHome>{{user.id ? '编辑联系人' : '新建联系人'}}</nav> 2 <nav hasHome>{{user.id ? '编辑联系人' : '新建联系人'}}</nav>
3 -<view class="page padding-top">  
4 - <view class="padding-lr-lg">  
5 - <view class="view flex align-center justify-between " style="height: 100rpx;">  
6 - <image src="http://nosqn.colorcun.com/detail/x%20%2816%29.png" style="width: 40rpx;height: 40rpx;"></image>  
7 - <view class="view flex-treble flex align-center margin-left-sm solid-bottom" style="height: 100rpx;"> 3 +<view class="page padding-top-xs">
  4 + <view class="padding-lr-lg backF">
  5 + <view class="view flex align-center justify-between solid-bottom" style="height: 100rpx;">
  6 + <image src="https://qn.colorcun.com/detail/bookPeople.png" style="width: 32rpx;height: 32rpx;"></image>
  7 + <view class="view flex-treble flex align-center margin-left-sm" style="height: 100rpx;">
8 <input class="name flex-treble" placeholder="请填写预订人姓名" 8 <input class="name flex-treble" placeholder="请填写预订人姓名"
9 bindinput="changeInput" 9 bindinput="changeInput"
10 data-key="name" 10 data-key="name"
@@ -12,7 +12,13 @@ @@ -12,7 +12,13 @@
12 bindkeyboardheightchange="keyboardheightchange" 12 bindkeyboardheightchange="keyboardheightchange"
13 adjust-position="{{false}}" 13 adjust-position="{{false}}"
14 placeholder-class="input-pl" maxlength="10"/> 14 placeholder-class="input-pl" maxlength="10"/>
15 - <view class="flex text-30 sex"> 15 + <picker bindchange="changeInput" data-key="sex" value="{{activeSex}}" range="{{array}}">
  16 + <view class="pickerBox font28r">
  17 + {{array[activeSex]}}
  18 + <image src="https://qn.colorcun.com/arrowBottom.png" mode=""/>
  19 + </view>
  20 + </picker>
  21 + <!-- <view class="flex text-30 sex">
16 <view bindtap="changeInput" 22 <view bindtap="changeInput"
17 data-key="sex" 23 data-key="sex"
18 data-val="1" 24 data-val="1"
@@ -25,12 +31,12 @@ @@ -25,12 +31,12 @@
25 data-key="sex" 31 data-key="sex"
26 data-val="3" 32 data-val="3"
27 class="text-bold margin-left-sm {{user.sex==3?'checked':''}}">公司</view> 33 class="text-bold margin-left-sm {{user.sex==3?'checked':''}}">公司</view>
28 - </view> 34 + </view> -->
29 </view> 35 </view>
30 </view> 36 </view>
31 - <view class="view flex align-center justify-between " style="height: 100rpx;">  
32 - <image src="http://nosqn.colorcun.com/detail/x%20%2817%29.png" style="width: 40rpx;height: 40rpx;"></image>  
33 - <view class="view flex-treble flex align-center margin-left-sm solid-bottom" style="height: 100rpx;"> 37 + <view class="view flex align-center justify-between solid-bottom" style="height: 100rpx;">
  38 + <image src="https://qn.colorcun.com/detail/bookPhoneIcon.png" style="width: 32rpx;height: 32rpx;"></image>
  39 + <view class="view flex-treble flex align-center margin-left-sm" style="height: 100rpx;">
34 <input class="phone flex-treble" placeholder="请填写联系方式" 40 <input class="phone flex-treble" placeholder="请填写联系方式"
35 bindinput="changeInput" 41 bindinput="changeInput"
36 data-key="phone" 42 data-key="phone"
@@ -38,26 +44,28 @@ @@ -38,26 +44,28 @@
38 value="{{user.phone}}" 44 value="{{user.phone}}"
39 adjust-position="{{false}}" 45 adjust-position="{{false}}"
40 placeholder-class="input-pl" maxlength="11"/> 46 placeholder-class="input-pl" maxlength="11"/>
41 - <phone bindgetphone="getphone"> 47 + <!-- <phone bindgetphone="getphone">
42 <view class="txt-28-h text-blue">一键录入</view> 48 <view class="txt-28-h text-blue">一键录入</view>
43 - </phone> 49 + </phone> -->
44 </view> 50 </view>
45 </view> 51 </view>
46 <view class="flex align-center justify-between" style="height: 108rpx;"> 52 <view class="flex align-center justify-between" style="height: 108rpx;">
47 - <view class="txt-34-h text-bold">设置默认联系人</view>  
48 - <switch color="#42A5FF" 53 + <view class="txt-28-h text-bold">设置默认联系人</view>
  54 + <switch color="#fe6806"
49 checked="{{user.is_default==1 ? true : false}}" 55 checked="{{user.is_default==1 ? true : false}}"
50 data-key="is_default" 56 data-key="is_default"
51 data-val="{{user.is_default==1 ? 0 : 1}}" 57 data-val="{{user.is_default==1 ? 0 : 1}}"
52 bindchange="changeInput"/> 58 bindchange="changeInput"/>
53 </view> 59 </view>
54 - <view class="gray-font font28r margin-bottom" style="line-height:40rpx;">提醒:每次预订时,自动将默认联系人作为预订联系人,如有需要,商家将联系预订联系人</view> 60 + <view class="gray-font font24r margin-bottom" style="line-height:40rpx;padding-bottom: 30rpx;">提醒:每次预订时,自动将默认联系人作为预订联系人,如有需要,商家将联系预订联系人</view>
55 <view class="txt-30-h text-red padding-top" 61 <view class="txt-30-h text-red padding-top"
56 wx:if="{{user.id}}" bindtap="confirm">删除联系人</view> 62 wx:if="{{user.id}}" bindtap="confirm">删除联系人</view>
57 </view> 63 </view>
58 - <view class="save-button round bg-blue-blue" bindtap="saved">  
59 - <view class="share-but text-bold">保存</view>  
60 - </view> 64 + <view class="btns">
  65 + <view class="save-button round" bindtap="saved">
  66 + <view class="share-but text-bold">保存</view>
  67 + </view>
  68 + </view>
61 </view> 69 </view>
62 <confirm id="confirm" cancelText="取消" cancelColor="#42A5FF" 70 <confirm id="confirm" cancelText="取消" cancelColor="#42A5FF"
63 confirmText="删除" confirmColor="#FFFFFF" 71 confirmText="删除" confirmColor="#FFFFFF"
1 /* pages/me/setting.wxss */ 1 /* pages/me/setting.wxss */
2 @import "../../colorui/main.wxss"; 2 @import "../../colorui/main.wxss";
  3 +page {
  4 + background: #F5F5F5;
  5 +}
3 .sex .checked{ 6 .sex .checked{
4 position: relative; 7 position: relative;
5 color:var(--blue); 8 color:var(--blue);
@@ -14,11 +17,6 @@ @@ -14,11 +17,6 @@
14 bottom:-18rpx; 17 bottom:-18rpx;
15 left:calc(50% - 12rpx); 18 left:calc(50% - 12rpx);
16 } 19 }
17 -  
18 -.page{  
19 - width: 100%;  
20 - color:#353535;  
21 -}  
22 .tip{ 20 .tip{
23 margin-top: 62rpx; 21 margin-top: 62rpx;
24 font-size: 26rpx; 22 font-size: 26rpx;
@@ -71,19 +69,32 @@ input.input{ @@ -71,19 +69,32 @@ input.input{
71 background-color:#C0A369; 69 background-color:#C0A369;
72 color: #FEFEFE; 70 color: #FEFEFE;
73 } 71 }
74 -.save-button{ 72 +.btns {
  73 + position: fixed;
  74 + bottom: 0;
  75 + left: 0;
  76 + width: 100%;
  77 + background: #fff;
  78 + height: 200rpx;
  79 + display: flex;
  80 + justify-content: space-between;
  81 + align-items: center;
  82 + padding: 0 40rpx;
  83 + box-sizing: border-box;
  84 +}
  85 +.save-button {
75 width:calc(100% - 80rpx); 86 width:calc(100% - 80rpx);
76 - height:84rpx;  
77 - position: fixed;  
78 - left:0;  
79 - right:0;  
80 - bottom:40rpx;  
81 - margin:0 auto; 87 + height: 72rpx;
  88 + margin:0 auto;
  89 + position: relative;
  90 + top: -20rpx;
  91 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
82 } 92 }
83 .share-but{ 93 .share-but{
84 - color:#FEFEFE; 94 + color:#fff;
85 width: 100%; 95 width: 100%;
86 - line-height: 84rpx; 96 + line-height: 72rpx;
  97 + height: 72rpx;
87 font-size: 36rpx; 98 font-size: 36rpx;
88 text-align: center; 99 text-align: center;
89 } 100 }
@@ -96,4 +107,26 @@ input.input{ @@ -96,4 +107,26 @@ input.input{
96 .userinfo-setting{ 107 .userinfo-setting{
97 padding: 60rpx 0 30rpx 0; 108 padding: 60rpx 0 30rpx 0;
98 border-bottom: 2rpx solid #F5F5F5; 109 border-bottom: 2rpx solid #F5F5F5;
  110 +}
  111 +
  112 +.pickerBox {
  113 + display: flex;
  114 + align-items: center;
  115 + font-family: PingFang SC;
  116 + font-weight: 400;
  117 +}
  118 +
  119 +.pickerBox image {
  120 + width: 24rpx;
  121 + height: 24rpx;
  122 +}
  123 +
  124 +.wx-switch-input {
  125 + zoom: .8;
  126 +}
  127 +
  128 +.backF {
  129 + background: #fff;
  130 + margin: 12rpx;
  131 + border-radius: 10rpx;
99 } 132 }
@@ -14,7 +14,6 @@ Page({ @@ -14,7 +14,6 @@ Page({
14 tablesText:'', 14 tablesText:'',
15 detail:{}, 15 detail:{},
16 tableNum:'', 16 tableNum:'',
17 - cusdem:'',  
18 coupon:'', 17 coupon:'',
19 couponId:'', 18 couponId:'',
20 price:'', 19 price:'',
@@ -22,7 +21,8 @@ Page({ @@ -22,7 +21,8 @@ Page({
22 is_user_comments:'', 21 is_user_comments:'',
23 showLoading:false, 22 showLoading:false,
24 couponData: '', //评价赠送优惠券数据 23 couponData: '', //评价赠送优惠券数据
25 - dataStr: Date.now() * 1 / 1000, 24 + dataStr: Date.now() * 1 / 1000,
  25 + seller:{},
26 }, 26 },
27 text: '', 27 text: '',
28 /** 28 /**
@@ -36,12 +36,11 @@ Page({ @@ -36,12 +36,11 @@ Page({
36 console.log('options', { 36 console.log('options', {
37 ...options 37 ...options
38 }); 38 });
39 - this.getDetail() 39 + this.getDetailFun()
40 } 40 }
41 }, 41 },
42 - getDetail() { 42 + getDetailFun() {
43 App.Reserve.Detail({ 43 App.Reserve.Detail({
44 - openid: getApp().openid,  
45 rid: this.data.options.oid 44 rid: this.data.options.oid
46 }).then(res => { 45 }).then(res => {
47 let tablesText = '', //桌子信息 46 let tablesText = '', //桌子信息
@@ -51,21 +50,34 @@ Page({ @@ -51,21 +50,34 @@ Page({
51 tablesText+=t.rname+t.name+(i==(res.data.tables.length-1)?'':'、'); 50 tablesText+=t.rname+t.name+(i==(res.data.tables.length-1)?'':'、');
52 }) 51 })
53 let reserev = RS.reserve(res.data) 52 let reserev = RS.reserve(res.data)
54 - let dateSmart = util.unixtoTime(reserev.ddate, 'YYYY/MM/DD 星期WW HH:II'); 53 + let dateSmart = util.unixtoTime(reserev.ddate, 'YYYY年MM月DD日 星期WW HH:II');
55 this.setData({ 54 this.setData({
56 dateSmart, 55 dateSmart,
57 tablesText, 56 tablesText,
58 is_user_comments:res.data.is_user_comments, 57 is_user_comments:res.data.is_user_comments,
59 tableNum:res.data.actual_pum?res.data.actual_pum:tableNum, 58 tableNum:res.data.actual_pum?res.data.actual_pum:tableNum,
60 - cusdem:res.data.cusdem,  
61 }) 59 })
62 setTimeout(() => { 60 setTimeout(() => {
63 - this.getSellerTemplateConfFun(reserev.sid); 61 + this.getSellerTemplateConfFun(reserev.sid);
  62 + this.getDetail(reserev.sid)
64 }, 0); 63 }, 0);
65 }).catch(res=>{ 64 }).catch(res=>{
66 console.log(res,'详情请求失败'); 65 console.log(res,'详情请求失败');
67 }) 66 })
68 - }, 67 + },
  68 + getDetail(sid){
  69 + App.Customer.GetSellerDetail({
  70 + openid: getApp().openid,
  71 + sid
  72 + }).then(res => {
  73 + this.setData({
  74 + seller:{
  75 + img:res.data.share_image || '',
  76 + sellername:res.data.sellername,
  77 + }
  78 + })
  79 + })
  80 + },
69 getSellerTemplateConfFun(sid) { 81 getSellerTemplateConfFun(sid) {
70 console.log('sidsidsidsid',sid); 82 console.log('sidsidsidsid',sid);
71 App.Seller.GetSellerTemplateConf({ 83 App.Seller.GetSellerTemplateConf({
@@ -160,7 +172,7 @@ Page({ @@ -160,7 +172,7 @@ Page({
160 // 有券 172 // 有券
161 if (this.data.coupon == '1' && this.data.couponData.showCoupon == '1') { 173 if (this.data.coupon == '1' && this.data.couponData.showCoupon == '1') {
162 url = util.http_build_query({ 174 url = util.http_build_query({
163 - sellerName: options.sellerName, 175 + sellerName: this.data.seller.sellername,
164 coupon: '1', 176 coupon: '1',
165 couponId: this.data.couponId, 177 couponId: this.data.couponId,
166 price: this.data.price, 178 price: this.data.price,
@@ -170,7 +182,7 @@ Page({ @@ -170,7 +182,7 @@ Page({
170 }, './opinionSuccess') 182 }, './opinionSuccess')
171 } else { //没券 183 } else { //没券
172 url = util.http_build_query({ 184 url = util.http_build_query({
173 - sellerName: options.sellerName, 185 + sellerName: this.data.seller.sellername,
174 coupon: '0', //1有券 0没有券 186 coupon: '0', //1有券 0没有券
175 couponId: this.data.couponId || '', 187 couponId: this.data.couponId || '',
176 sellid: options.sellerid, 188 sellid: options.sellerid,
1 <!--pages/pinglun/createOpinion.wxml 填写意见反馈页面--> 1 <!--pages/pinglun/createOpinion.wxml 填写意见反馈页面-->
2 -<nav color="#515151" hasHome="{{options.previousPage!='1'}}">{{options.sellerName}}</nav> 2 +<nav color="#515151" hasHome="{{options.previousPage!='1'}}">意见反馈</nav>
3 <view class="box"> 3 <view class="box">
  4 + <view class="sellerBox">
  5 + <image src="{{seller.img}}" mode="aspectFill"/>
  6 + <view class="text1 font32r">{{seller.sellername}}</view>
  7 + </view>
4 <view class="info"> 8 <view class="info">
5 - <view class="texts font28r">就餐时间:</view> 9 + <view class="texts font28r">就餐时间</view>
6 <view class="texts_right font28r">{{dateSmart}}</view> 10 <view class="texts_right font28r">{{dateSmart}}</view>
7 </view> 11 </view>
8 <view class="info"> 12 <view class="info">
9 - <view class="texts font28r">桌位台号:</view> 13 + <view class="texts font28r">桌位台号</view>
10 <view class="texts_right font28r">{{tablesText}}</view> 14 <view class="texts_right font28r">{{tablesText}}</view>
11 </view> 15 </view>
12 <view class="info"> 16 <view class="info">
13 - <view class="texts font28r">就餐人数:</view> 17 + <view class="texts font28r">就餐人数</view>
14 <view class="texts_right font28r">{{tableNum}}</view> 18 <view class="texts_right font28r">{{tableNum}}</view>
15 </view> 19 </view>
16 - <view class="info">  
17 - <view class="texts font28r">备注信息:</view>  
18 - <view wx:if="{{cusdem}}" class="texts_right font28r">{{cusdem}}</view>  
19 - </view> 20 + <textarea class="margin-top-lg text-df textarea" bindinput="textareaInput" cols="30" rows="10" placeholder="请填写您的意见和建议,帮助我们持续改进" placeholder-style="color:#999999;font-size:30rpx;"></textarea>
  21 + <view class="uploadBox">
  22 + <tpupload bind:tpupload="tpupload" tpNum='6'></tpupload>
  23 + </view>
20 </view> 24 </view>
21 -<view class="main">  
22 - <textarea class="margin-top-lg text-df textarea" bindinput="textareaInput" cols="30" rows="10" placeholder="麻烦点这里输入您的意见反馈。\n\n\n可以帮助我们持续改进,给您带来更好的服务品质,谢谢啦!" placeholder-style="color:#999999;font-size:30rpx;"></textarea>  
23 - <tpupload bind:tpupload="tpupload" tpNum='6'></tpupload> 25 +<view class="btns">
  26 + <button class="btn" bindtap="submit" disabled="{{is_user_comments}}">{{is_user_comments?'该订单已提交!':'提交'}}</button>
24 </view> 27 </view>
25 -<button class="btn" bindtap="submit" disabled="{{is_user_comments}}">{{is_user_comments?'该订单已提交!':'提交'}}</button>  
26 <view class="loading-container" wx:if="{{showLoading}}"> 28 <view class="loading-container" wx:if="{{showLoading}}">
27 <view class="loading-mask"></view> 29 <view class="loading-mask"></view>
28 <view class="loading-content"> 30 <view class="loading-content">
1 /* pages/pinglun/createOpinion.wxss */ 1 /* pages/pinglun/createOpinion.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
2 .box { 6 .box {
3 - padding: 24rpx 0 30rpx 0;  
4 - margin: 0 40rpx;  
5 - border-bottom: 2rpx solid #515151; 7 + background: #fff;
  8 + margin: 12rpx;
  9 + padding: 40rpx;
  10 + border-radius: 10rpx;
6 } 11 }
7 12
8 .info { 13 .info {
9 margin-bottom: 16rpx; 14 margin-bottom: 16rpx;
10 - display: flex;  
11 - justify-content: space-between; 15 + display: flex;
  16 + padding-bottom: 20rpx;
12 } 17 }
13 18
14 .texts { 19 .texts {
15 - font-weight: 500; 20 + font-weight: 400;
  21 + color: #696969;
  22 + font-family: PingFang SC;
16 } 23 }
17 24
18 .texts_right { 25 .texts_right {
19 - font-weight: 500;  
20 - text-align: right;  
21 - width: 79%; 26 + font-family: PingFang SC;
  27 + font-weight: 600;
22 display: flex; 28 display: flex;
23 flex-wrap: wrap; 29 flex-wrap: wrap;
24 - justify-content: flex-end;  
25 - word-break: break-all; 30 + word-break: break-all;
  31 + margin-left: 40rpx;
  32 + flex: 1;
26 } 33 }
27 34
28 .textarea { 35 .textarea {
29 width: 100%; 36 width: 100%;
30 - height: 370rpx; 37 + height: 240rpx;
31 font-size: 30rpx; 38 font-size: 30rpx;
32 line-height: 42rpx; 39 line-height: 42rpx;
33 margin-top: 36rpx 0 20rpx 0; 40 margin-top: 36rpx 0 20rpx 0;
34 word-wrap: break-word; 41 word-wrap: break-word;
35 - white-space: pre-line 42 + white-space: pre-line;
  43 + border-radius: 10rpx;
  44 + border: 2rpx solid #cbcbcb;
  45 + box-sizing: border-box;
  46 + padding: 40rpx;
  47 + margin-bottom: 40rpx;
36 } 48 }
37 49
38 .textarea-placeholder { 50 .textarea-placeholder {
@@ -43,18 +55,19 @@ @@ -43,18 +55,19 @@
43 line-height: 42rpx; 55 line-height: 42rpx;
44 } 56 }
45 57
46 -.main {  
47 - padding: 0 40rpx;  
48 - margin: 36rpx 0 42rpx 0;  
49 -}  
50 -  
51 .btn { 58 .btn {
  59 + height: 72rpx;
  60 + line-height: 72rpx;
  61 + box-sizing: border-box;
52 margin: 0 40rpx; 62 margin: 0 40rpx;
53 font-weight: 500; 63 font-weight: 500;
54 font-size: 32rpx; 64 font-size: 32rpx;
55 color: #f8f9fd; 65 color: #f8f9fd;
56 - border-radius: 42rpx;  
57 - background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%); 66 + border-radius: 42rpx;
  67 + width: 100%;
  68 + position: relative;
  69 + top: -20rpx;
  70 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
58 } 71 }
59 button[disabled]:not([type]) { 72 button[disabled]:not([type]) {
60 color: #fff !important; 73 color: #fff !important;
@@ -104,4 +117,42 @@ button[disabled]:not([type]) { @@ -104,4 +117,42 @@ button[disabled]:not([type]) {
104 margin-top: 10rpx; 117 margin-top: 10rpx;
105 font-size: 28rpx; 118 font-size: 28rpx;
106 color: #333; 119 color: #333;
  120 + }
  121 +
  122 + .sellerBox {
  123 + display: flex;
  124 + align-items: center;
  125 + padding-bottom: 40rpx;
  126 + margin-bottom: 40rpx;
  127 + border-bottom: 2rpx solid #F7F7F7;
  128 + }
  129 +
  130 + .sellerBox image {
  131 + width: 80rpx;
  132 + height: 80rpx;
  133 + border-radius: 50%;
  134 + margin-right: 20rpx;
  135 + }
  136 +
  137 + .btns {
  138 + position: fixed;
  139 + bottom: 0;
  140 + left: 0;
  141 + width: 100%;
  142 + background: #fff;
  143 + height: 200rpx;
  144 + display: flex;
  145 + justify-content: space-between;
  146 + align-items: center;
  147 + padding: 0 40rpx;
  148 + box-sizing: border-box;
  149 + }
  150 +
  151 + .uploadBox {
  152 + position: relative;
  153 + left: -20rpx;
  154 + }
  155 +
  156 + .text1 {
  157 + font-weight: 600;
107 } 158 }
@@ -20,6 +20,7 @@ Page({ @@ -20,6 +20,7 @@ Page({
20 }, 20 },
21 selectlabel(e){ 21 selectlabel(e){
22 let name=e.currentTarget.dataset.name; 22 let name=e.currentTarget.dataset.name;
  23 + let idx=e.currentTarget.dataset.idx;
23 if(this.remark!=''){ 24 if(this.remark!=''){
24 let str=this.remark+','+name 25 let str=this.remark+','+name
25 if(str.length>25){ 26 if(str.length>25){
@@ -31,11 +32,13 @@ Page({ @@ -31,11 +32,13 @@ Page({
31 duration:1500 32 duration:1500
32 }) 33 })
33 } 34 }
34 -  
35 - } 35 + }
  36 + let labellist = this.data.labellist;
  37 + labellist[idx].check = true;
36 this.setData({ 38 this.setData({
37 - remark:this.remark=='' ? name : this.remark+','+name  
38 - }) 39 + remark:this.remark=='' ? name : this.remark+','+name,
  40 + labellist,
  41 + })
39 this.remark=this.remark=='' ? name : this.remark+','+name 42 this.remark=this.remark=='' ? name : this.remark+','+name
40 console.log(this.remark,this.remark.length) 43 console.log(this.remark,this.remark.length)
41 }, 44 },
@@ -2,19 +2,21 @@ @@ -2,19 +2,21 @@
2 <nav>备注</nav> 2 <nav>备注</nav>
3 <view class="contain" style="height: minheight+'px';overflow-y: scroll;"> 3 <view class="contain" style="height: minheight+'px';overflow-y: scroll;">
4 <view class="bg_white textarea-cover"> 4 <view class="bg_white textarea-cover">
5 - <textarea placeholder="请输入您的要求,我们会尽量安排" placeholder-class="gray-font font28r" class="black-font font28r" value="{{remark}}" maxlength="25" show-confirm-bar="{{false}}" auto-focus bindinput="inputremark" bindblur="inputblur" adjust-position cursor-spacing="130" bindkeyboardheightchange="getboardheight"></textarea> 5 + <textarea placeholder="请输入您的要求,我们会尽量安排" placeholder-class="gray-font font28r" class="black-font font24r" value="{{remark}}" maxlength="25" show-confirm-bar="{{false}}" auto-focus bindinput="inputremark" bindblur="inputblur" adjust-position cursor-spacing="130" bindkeyboardheightchange="getboardheight"></textarea>
6 <view class="gray-font font28r flex-rr" style="padding-top: 20rpx;">{{remark.length}}/25</view> 6 <view class="gray-font font28r flex-rr" style="padding-top: 20rpx;">{{remark.length}}/25</view>
7 </view> 7 </view>
8 <view class="label"> 8 <view class="label">
9 <view class="gray-font font30r">快捷标签</view> 9 <view class="gray-font font30r">快捷标签</view>
10 <view class="label-list flex-rs"> 10 <view class="label-list flex-rs">
11 <block wx:for="{{labellist}}"> 11 <block wx:for="{{labellist}}">
12 - <view class="black-font font28r label-single bg-gray" data-name="{{item.remark}}" bindtap="selectlabel">{{item.remark}}</view> 12 + <view class="font24r label-single bg-gray {{item.check ? 'checkItem' : ''}}" data-idx="{{index}}" data-name="{{item.remark}}" bindtap="selectlabel">{{item.remark}}</view>
13 </block> 13 </block>
14 </view> 14 </view>
15 </view> 15 </view>
16 </view> 16 </view>
17 - <view class="save-button white-font flex-cc font32r Semibold" bindtap="save" style="bottom:{{buttonbottom}}px;">保存</view> 17 + <view class="btns">
  18 + <view class="save-button white-font flex-cc font32r Semibold" bindtap="save" style="bottom:{{buttonbottom}}px;">保存</view>
  19 + </view>
18 </page> 20 </page>
19 <menu></menu> 21 <menu></menu>
20 <service></service> 22 <service></service>
1 page{ 1 page{
2 - background: #F9F9F9; 2 + background: #F5F5F5;
3 } 3 }
4 .contain{ 4 .contain{
5 - width:100%;  
6 - padding:10rpx 0 180rpx; 5 + padding:10rpx 0 20rpx;
  6 + background: #fff;
  7 + margin: 12rpx;
  8 + border-radius: 10rpx;
7 } 9 }
8 .textarea-cover{ 10 .textarea-cover{
9 width: calc(100% - 80rpx); 11 width: calc(100% - 80rpx);
@@ -11,12 +13,14 @@ page{ @@ -11,12 +13,14 @@ page{
11 box-sizing: border-box; 13 box-sizing: border-box;
12 border-radius: 16rpx; 14 border-radius: 16rpx;
13 overflow: hidden; 15 overflow: hidden;
14 - margin: 0 auto 60rpx; 16 + margin: 40rpx auto;
  17 + border: 2rpx solid #cbcbcb;
15 } 18 }
16 textarea,input{ 19 textarea,input{
17 width: 100%; 20 width: 100%;
18 height: 120rpx; 21 height: 120rpx;
19 - line-height: 40rpx; 22 + line-height: 40rpx;
  23 + font-weight: 400;
20 } 24 }
21 input{ 25 input{
22 display: block; 26 display: block;
@@ -30,23 +34,42 @@ input{ @@ -30,23 +34,42 @@ input{
30 margin-top: 40rpx; 34 margin-top: 40rpx;
31 } 35 }
32 .label-single{ 36 .label-single{
33 - height: 64rpx; 37 + height: 42rpx;
34 background: #F1F1F1; 38 background: #F1F1F1;
35 border-radius: 32rpx; 39 border-radius: 32rpx;
36 - line-height: 64rpx; 40 + line-height: 42rpx;
37 margin-right: 30rpx; 41 margin-right: 30rpx;
38 margin-bottom: 20rpx; 42 margin-bottom: 20rpx;
39 - padding: 0 30rpx; 43 + padding: 0 30rpx;
  44 + color: #696969;
40 } 45 }
41 .save-button{ 46 .save-button{
42 width: calc(100% - 80rpx); 47 width: calc(100% - 80rpx);
43 - height: 84rpx;  
44 - background: linear-gradient(90deg, #3BBFF5 0%, #57A0FF 100%); 48 + height: 72rpx;
  49 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
45 border-radius: 42rpx; 50 border-radius: 42rpx;
46 margin: 0 auto; 51 margin: 0 auto;
47 - position: fixed;  
48 - left:0;  
49 - right:0;  
50 - bottom:40rpx;  
51 -/* transition: bottom .05s ease; */ 52 + position: relative;
  53 + top: -20rpx;
  54 +}
  55 +
  56 +.checkItem {
  57 + background: #FFF7F5;
  58 + color: #fe6806;
  59 + border: 2rpx solid #fe6806;
  60 + box-sizing: border-box;
  61 +}
  62 +
  63 +.btns {
  64 + position: fixed;
  65 + bottom: 0;
  66 + left: 0;
  67 + width: 100%;
  68 + background: #fff;
  69 + height: 200rpx;
  70 + display: flex;
  71 + justify-content: space-between;
  72 + align-items: center;
  73 + padding: 0 40rpx;
  74 + box-sizing: border-box;
52 } 75 }
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 </view> 8 </view>
9 <view class="padding-lr-lg" > 9 <view class="padding-lr-lg" >
10 <view class="flex justify-between align-center margin-bottom margin-top"> 10 <view class="flex justify-between align-center margin-bottom margin-top">
11 - <view class="txt-36-h text-bold">预订时段</view> 11 + <view class="txt-28-h text-bold">预订时段</view>
12 </view> 12 </view>
13 <view> 13 <view>
14 <section seller="{{seller}}" date="{{reserveDate}}" bind:selectsection="selectsection" section="{{reserveSection}}"></section> 14 <section seller="{{seller}}" date="{{reserveDate}}" bind:selectsection="selectsection" section="{{reserveSection}}"></section>
@@ -32,8 +32,10 @@ @@ -32,8 +32,10 @@
32 </view> 32 </view>
33 </view> 33 </view>
34 --> 34 -->
35 - <view class="reserve-button-cover {{seletroomlist.length>0?'bg-blue-blue':'bg-cccccc'}} flex justify-center align-center round" catchtap="complete">  
36 - <view class="reserve-button txt-36-h">选好了</view> 35 + <view class="btns">
  36 + <view class="reserve-button-cover {{seletroomlist.length>0?'colorBtn':'bg-cccccc'}} flex justify-center align-center round" catchtap="complete">
  37 + <view class="reserve-button txt-36-h">选好了</view>
  38 + </view>
37 </view> 39 </view>
38 </page> 40 </page>
39 <menu></menu> 41 <menu></menu>
@@ -11,7 +11,23 @@ @@ -11,7 +11,23 @@
11 .reserve-button-cover{ 11 .reserve-button-cover{
12 width:calc(100% - 80rpx); 12 width:calc(100% - 80rpx);
13 height:84rpx; 13 height:84rpx;
  14 + position: relative;
  15 + top: -20rpx;
  16 +}
  17 +
  18 +.colorBtn {
  19 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  20 + color: #fff;
  21 +}
  22 +
  23 +.btns {
  24 + background: #fff;
  25 + height: 200rpx;
14 position: fixed; 26 position: fixed;
15 - left:40rpx;  
16 - bottom:40rpx; 27 + bottom: 0;
  28 + left: 0;
  29 + width: 100%;
  30 + display: flex;
  31 + align-items: center;
  32 + justify-content: center;
17 } 33 }
1 <!--pages/reserve/home.wxml--> 1 <!--pages/reserve/home.wxml-->
2 <nav backgroundColor="{{navborder ? '#ffffff' : 'transparent'}}" place="{{false}}"></nav> 2 <nav backgroundColor="{{navborder ? '#ffffff' : 'transparent'}}" place="{{false}}"></nav>
3 <view class="view header"> 3 <view class="view header">
4 - <image src="http://nosqn.colorcun.com/search/s%20%281%29.png" 4 + <image src="https://qn.colorcun.com/processingIcon.png"
5 style="z-index: 1" 5 style="z-index: 1"
6 mode="widthFix" class="bg-img"></image> 6 mode="widthFix" class="bg-img"></image>
7 <taocan-notice pos="{{taocanpos}}"></taocan-notice> 7 <taocan-notice pos="{{taocanpos}}"></taocan-notice>
@@ -37,6 +37,7 @@ Page({ @@ -37,6 +37,7 @@ Page({
37 StyleType:'', 37 StyleType:'',
38 couponArr: [],//待领取的优惠券列表 38 couponArr: [],//待领取的优惠券列表
39 couponList:[],//优惠券列表 39 couponList:[],//优惠券列表
  40 + distance: '',
40 }, 41 },
41 couponModal: '', 42 couponModal: '',
42 /** 43 /**
@@ -73,22 +74,56 @@ Page({ @@ -73,22 +74,56 @@ Page({
73 }, 74 },
74 // 获取店铺详情 75 // 获取店铺详情
75 getDetail(sid) { 76 getDetail(sid) {
  77 + let that = this;
76 App.Customer.GetSellerDetail({ 78 App.Customer.GetSellerDetail({
77 openid: getApp().openid, 79 openid: getApp().openid,
78 sid 80 sid
79 }).then(res => { 81 }).then(res => {
80 let reserev = res.data; 82 let reserev = res.data;
  83 + let cate = [];
  84 + let latitude = '';
  85 + let longitude = '';
  86 + let distance = '';
  87 + if(reserev.cate && reserev.cate.length>0){
  88 + cate = reserev.cate.join(' | ')
  89 + }
81 this.setData({ 90 this.setData({
82 seller: { 91 seller: {
83 sellName: reserev.sellername, 92 sellName: reserev.sellername,
84 - date: reserev.daily.morning + ' ' + reserev.daily.night + ' ' + reserev.daily.noon,  
85 - seller_tel: reserev.seller_tel.split(','), 93 + daily: reserev.daily.morning + ' ' + reserev.daily.noon + ' ' + reserev.daily.night,
  94 + seller_tel: reserev.phone,
86 address: reserev.map_address, 95 address: reserev.map_address,
87 lat: reserev.lat, 96 lat: reserev.lat,
88 long: reserev.long, 97 long: reserev.long,
89 is_online_reserve: reserev.is_online_reserve, 98 is_online_reserve: reserev.is_online_reserve,
  99 + is_parking:reserev.is_parking,
  100 + cate,
  101 + average:reserev.average,
90 } 102 }
91 }) 103 })
  104 + wx.getLocation({
  105 + type: 'wgs84', // 返回可以用于 wx.openLocation 的经纬度
  106 + success: function (res) {
  107 + latitude = res.latitude; // 纬度
  108 + longitude = res.longitude; // 经度
  109 + console.log(`当前的纬度: ${latitude}, 当前的经度: ${longitude}`);
  110 + if (latitude && longitude) {
  111 + distance = that.getDistance(latitude, longitude, reserev.lat, reserev.long);
  112 + distance = parseInt(distance)
  113 + if (distance > 1000) {
  114 + distance = (distance / 1000).toFixed(2) + 'km'
  115 + } else {
  116 + distance += 'm';
  117 + }
  118 + that.setData({
  119 + distance
  120 + })
  121 + }
  122 + },
  123 + fail: function (err) {
  124 + console.error('获取位置失败:', err);
  125 + }
  126 + });
92 console.log('sellerseller', { 127 console.log('sellerseller', {
93 ...this.data.seller 128 ...this.data.seller
94 }); 129 });
@@ -99,6 +134,22 @@ Page({ @@ -99,6 +134,22 @@ Page({
99 console.log(res, '详情请求失败'); 134 console.log(res, '详情请求失败');
100 }) 135 })
101 }, 136 },
  137 + // 计算2点之间的距离
  138 + getDistance(lat1, lon1, lat2, lon2) {
  139 + const R = 6371e3; // 地球半径(米)
  140 + // 将经纬度转换为弧度
  141 + const φ1 = lat1 * Math.PI / 180; // 纬度1
  142 + const φ2 = lat2 * Math.PI / 180; // 纬度2
  143 + const Δφ = (lat2 - lat1) * Math.PI / 180; // 纬度差
  144 + const Δλ = (lon2 - lon1) * Math.PI / 180; // 经度差
  145 + // Haversine 公式
  146 + const a = Math.sin(Δφ / 2) * Math.sin(Δφ / 2) +
  147 + Math.cos(φ1) * Math.cos(φ2) *
  148 + Math.sin(Δλ / 2) * Math.sin(Δλ / 2);
  149 + const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  150 + const distance = R * c; // 计算距离(米)
  151 + return distance; // 返回距离
  152 + },
102 // 获取商家版本,不是超能版或者没有开通对应模块,不显示 153 // 获取商家版本,不是超能版或者没有开通对应模块,不显示
103 getSellerVersionFun(sellerid) { 154 getSellerVersionFun(sellerid) {
104 App.SellerVersion.GetSellerVersion({ 155 App.SellerVersion.GetSellerVersion({
@@ -4,7 +4,6 @@ @@ -4,7 +4,6 @@
4 "navigationBarTitleText": "", 4 "navigationBarTitleText": "",
5 "usingComponents": { 5 "usingComponents": {
6 "nav": "/components/nav/nav", 6 "nav": "/components/nav/nav",
7 - "titleStyle":"/components/titleStyle/titleStyle",  
8 "my-modal": "/components/modal/modal", 7 "my-modal": "/components/modal/modal",
9 "scroll-number": "/components/scroll-number/index" 8 "scroll-number": "/components/scroll-number/index"
10 } 9 }
1 <!--pages/reserve/shopHome.wxml--> 1 <!--pages/reserve/shopHome.wxml-->
2 <nav hasHome class="navhome" backgroundColor="#0143a3" color="#fff" place="{{true}}">{{seller.sellName}}</nav> 2 <nav hasHome class="navhome" backgroundColor="#0143a3" color="#fff" place="{{true}}">{{seller.sellName}}</nav>
3 <view> 3 <view>
4 - <view class="flex-vc {{home.image?'sellBox':'sellBox sellBox1'}}">  
5 - <image wx:if="{{home.image}}" class="imgs" src="{{home.image}}" mode="widthFix" />  
6 - <view class="info flex-vl" style="background:#fff;">  
7 - <view class="flex-lr">  
8 - <view class="colorText font32r">{{seller.sellName}}</view>  
9 - <image bindtap="follow" wx:if="{{IsCollectionSeller}}" class="img1" src="https://qn.colorcun.com/heartFilledBlue.png" />  
10 - <image bindtap="follow" wx:else class="img1" src="https://qn.colorcun.com/heartBlue.png" />  
11 - </view>  
12 - <view class="colorFive text1 font28r">营业时间:{{seller.date}}</view>  
13 - <view class="colorFive text2 font28r">  
14 - 电话:<text class="colorText" wx:for="{{seller.seller_tel}}" bindtap="call" data-info="{{item}}">{{item}}{{(seller.seller_tel.length-1)!=index?',':''}}</text>  
15 - </view>  
16 - <view class="colorFive font28r" bindtap="looklocation">  
17 - <text>地址:{{seller.address}}</text>  
18 - <image class="img2" src="https://qn.colorcun.com/address.png" />  
19 - </view>  
20 - </view>  
21 - </view>  
22 - <view class="preferential" wx:if="{{hasValueCertificate && marketing && coupon_dataList.length>0}}">  
23 - <block wx:for="{{coupon_dataList}}" wx:key="index" wx:for-index="index">  
24 - <navigator wx:if="{{item.resultCoupon == '1' || item.is_type != '3'}}" url="/pack-activity/pack/{{item.is_type == '3'?'receiveCoupon':'buyCoupon'}}?id={{item.id}}&name={{seller.sellName}}&use={{item.stringifyUse}}&sid={{sid}}&types=3&StyleType={{StyleType}}" hover-class="navigator-hover"> 4 + <view class="flex-vc {{home.image?'sellBox':'sellBox sellBox1'}}">
  5 + <image wx:if="{{home.image}}" class="imgs" src="{{home.image}}" mode="widthFix" />
  6 + <view class="info flex-vl" style="background:#fff;">
  7 + <view class="flex-lr">
  8 + <view class="colorText font32r">{{seller.sellName}}</view>
  9 + <view class="park font20r" wx:if="{{seller.is_parking == '1'}}">可停车</view>
  10 + </view>
  11 + <view class="flex-lr distanceMar">
  12 + <view class="flex-lr">
  13 + <view class="news font24r">{{seller.cate}}</view>
  14 + <view class="news font24r" wx:if="{{seller.average && seller.average>0}}">人均{{seller.average}}</view>
  15 + </view>
  16 + <view class="font24r news">{{distance}}</view>
  17 + </view>
  18 + <view class="bottom_btns">
  19 + <view class="book font24r">订过</view>
  20 + <view class="book font24r">去过</view>
  21 + <view class="book font24r">好友订过</view>
  22 + <view class="book font24r">我有券</view>
  23 + </view>
  24 + <view class="bottom_btns font24r">
  25 + 营业时间:{{seller.daily}}
  26 + </view>
  27 + <view class="colorFive font28r flex-lr">
  28 + <text class="font28r">{{seller.address}}</text>
  29 + <view class="">
  30 + <image class="img2" bindtap="call" data-info="{{seller.seller_tel}}" src="https://qn.colorcun.com/phoneIcon.png" />
  31 + <image class="img2" bindtap="looklocation" src="https://qn.colorcun.com/navigationIcon.png" />
  32 + </view>
  33 + </view>
  34 + </view>
  35 + </view>
  36 + <view class="preferential" wx:if="{{hasValueCertificate && marketing && coupon_dataList.length>0}}">
  37 + <block wx:for="{{coupon_dataList}}" wx:key="index" wx:for-index="index">
  38 + <navigator wx:if="{{item.resultCoupon == '1' || item.is_type != '3'}}" url="/pack-activity/pack/receiveCoupon?id={{item.id}}&name={{seller.sellName}}&use={{item.stringifyUse}}&sid={{sid}}&types=3&StyleType={{StyleType}}" hover-class="navigator-hover">
25 <view class="couponWrap"> 39 <view class="couponWrap">
26 <view class="itemLeft"> 40 <view class="itemLeft">
27 <text wx:if="{{item.discount!='0.00' && (item.use.is_cash=='1' || item.use.is_cash) && item.discount}}" class="discountText font24r">{{item.discount}}折</text> 41 <text wx:if="{{item.discount!='0.00' && (item.use.is_cash=='1' || item.use.is_cash) && item.discount}}" class="discountText font24r">{{item.discount}}折</text>
@@ -55,7 +69,7 @@ @@ -55,7 +69,7 @@
55 <view wx:if="{{item.is_type == '4' && item.desc!='0'}}" class="bottom font24r">消费满{{item.desc}}元可用</view> 69 <view wx:if="{{item.is_type == '4' && item.desc!='0'}}" class="bottom font24r">消费满{{item.desc}}元可用</view>
56 </block> 70 </block>
57 </view> 71 </view>
58 - <view class="btnBox" wx:if="{{item.is_type == '3'}}" > 72 + <view class="btnBox" wx:if="{{item.is_type == '3'}}">
59 <view class="font24r orderingFood orderingFood1">已领取</view> 73 <view class="font24r orderingFood orderingFood1">已领取</view>
60 <view class="grantNum" wx:if="{{item.receiveNumText}}"> 74 <view class="grantNum" wx:if="{{item.receiveNumText}}">
61 <view class="font24r">已被领取</view> 75 <view class="font24r">已被领取</view>
@@ -68,169 +82,152 @@ @@ -68,169 +82,152 @@
68 </view> 82 </view>
69 </view> 83 </view>
70 </navigator> 84 </navigator>
71 - </block>  
72 - </view>  
73 - <!-- 餐厅介绍 -->  
74 - <block wx:if="{{marketing.logo || home.image || ((store.introduce && (!store.is_introduce || store.is_introduce!='0')) || (store.images.length>0 && (!store.is_images || store.is_images!='0')) || (store.content && store.content.length>0))}}">  
75 - <view class="introduceBox">  
76 - <block wx:if="{{(marketing && marketing.logo && (!marketing.is_logo || marketing.is_logo!='0')) || (store.introduce && (!store.is_introduce || store.is_introduce!='0')) || (home.image && (!home.id_first_image || home.id_first_image!='0'))}}">  
77 - <view wx:if="{{titleType}}" class="chefText font36r">  
78 - <titleStyle isWhite="pearlWhite" titleStyleType="{{titleType}}" titleText="{{store.title ? store.title : '餐厅介绍'}}"></titleStyle>  
79 - </view>  
80 - <image wx:if="{{marketing.logo}}" src="{{marketing.logo}}" bindtap="lookImgs" data-url="{{marketing.logo}}" mode="widthFix" />  
81 - <image wx:if="{{home.image}}" src="{{home.image}}" bindtap="lookImgs" data-url="{{home.image}}" class="homeImage" mode="widthFix"></image>  
82 - <view class="labelBox" wx:if="{{!store.content && store.introduce && (!store.is_introduce || store.is_introduce!='0')}}">  
83 - <text space="nbsp" class="texts">{{store.introduce}}</text>  
84 - </view>  
85 - <block wx:if="{{store.images.length>0 && (!store.is_images || store.is_images!='0')}}">  
86 - <block wx:for="{{store.images}}" wx:key="arryIndex" wx:for-index="arryIndex">  
87 - <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{store.images}}" mode="widthFix" />  
88 - </block>  
89 - </block>  
90 - <view class="contentBox" wx:if="{{store.content && store.content.length>0}}">  
91 - <block wx:for="{{store.content}}">  
92 - <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />  
93 - <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font32r">{{item.content}}</text>  
94 - <view wx:if="{{item.type == '3'}}" class="videoBox">  
95 - <video  
96 - object-fit="contain"  
97 - autoplay="{{true}}"  
98 - loop="{{true}}"  
99 - muted="{{true}}"  
100 - show-mute-btn="{{true}}"  
101 - vslide-gesture-in-fullscreen="{{true}}"  
102 - src="{{item.content}}"  
103 - ></video>  
104 - </view>  
105 - </block>  
106 - </view>  
107 - </block>  
108 - </view>  
109 - </block>  
110 - <!-- 主厨介绍 -->  
111 - <block wx:if="{{chef && ((chef.introduce && (!chef.is_introduce || chef.is_introduce!='0')) || (chef.image && (!chef.is_images || chef.is_images!='0')) || (chef.content && chef.content.length>0))}}">  
112 - <view class="introduceBox famousChefBox" wx:if="{{chef && ((!chef.is_introduce || chef.is_introduce!='0') || (!chef.is_images || chef.is_images!='0'))}}">  
113 - <view wx:if="{{titleType}}" class="chefText font36r">  
114 - <titleStyle isWhite="pearlWhite" titleStyleType="{{titleType}}" titleText="{{chef.title ? chef.title : '主厨介绍'}}"></titleStyle>  
115 - </view>  
116 - <view class="labelBox" wx:if="{{(chef.introduce && (!chef.is_introduce || chef.is_introduce!='0'))}}">  
117 - <text space="nbsp" class="texts">{{chef.introduce}}</text>  
118 - </view>  
119 - <image wx:if="{{(!chef.is_images || chef.is_images!='0') && chef.image}}" src="{{chef.image}}"bindtap="lookImgs" data-url="{{chef.image}}" mode="widthFix" />  
120 - <view class="contentBox" wx:if="{{chef.content && chef.content.length>0}}">  
121 - <block wx:for="{{chef.content}}">  
122 - <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />  
123 - <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font32r">{{item.content}}</text>  
124 - <view wx:if="{{item.type == '3'}}" class="videoBox">  
125 - <video  
126 - object-fit="contain"  
127 - autoplay="{{true}}"  
128 - loop="{{true}}"  
129 - muted="{{true}}"  
130 - show-mute-btn="{{true}}"  
131 - vslide-gesture-in-fullscreen="{{true}}"  
132 - src="{{item.content}}"  
133 - ></video>  
134 - </view>  
135 - </block>  
136 - </view>  
137 - </view>  
138 - </block>  
139 - <!-- 特色菜品 -->  
140 - <view class="introduceBox vegetableBox" wx:if="{{signboard && ((signboard.swich=='1' && signboard.images && signboard.images.length>0) || (signboard.content && signboard.content.length>0))}}">  
141 - <view wx:if="{{titleType}}" class="chefText font36r">  
142 - <titleStyle isWhite="pearlWhite" titleStyleType="{{titleType}}" titleText="{{signboard.title ? signboard.title : '特色菜品'}}"></titleStyle>  
143 - </view>  
144 - <block wx:for="{{signboard.images}}" wx:key="arryIndex" wx:for-index="arryIndex">  
145 - <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{signboard.images}}" mode="widthFix" />  
146 - </block>  
147 - <view class="contentBox" wx:if="{{signboard.content && signboard.content.length>0}}">  
148 - <block wx:for="{{signboard.content}}">  
149 - <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />  
150 - <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font32r">{{item.content}}</text>  
151 - <view wx:if="{{item.type == '3'}}" class="videoBox">  
152 - <video  
153 - object-fit="contain"  
154 - autoplay="{{true}}"  
155 - loop="{{true}}"  
156 - muted="{{true}}"  
157 - show-mute-btn="{{true}}"  
158 - vslide-gesture-in-fullscreen="{{true}}"  
159 - src="{{item.content}}"  
160 - ></video>  
161 - </view>  
162 - </block>  
163 - </view>  
164 - </view>  
165 - <!-- 停车指引 -->  
166 - <view class="introduceBox stopBox" wx:if="{{reserve && (reserve.swich_park=='1' && (reserve.park_info || reserve.park_info_images) || (reserve.content && reserve.content.length>0))}}">  
167 - <view wx:if="{{titleType}}" class="chefText font36r">  
168 - <titleStyle isWhite="pearlWhite" titleStyleType="{{titleType}}" titleText="{{reserve.title ? reserve.title : '停车指引'}}"></titleStyle>  
169 - </view>  
170 - <view class="labelBox" wx:if="{{reserve.park_info}}">  
171 - <text space="nbsp" class="texts">{{reserve.park_info}}</text>  
172 - </view>  
173 - <block wx:for="{{reserve.park_info_images}}" wx:key="arryIndex" wx:for-index="arryIndex">  
174 - <image src="{{item}}" mode="widthFix" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{reserve.park_info_images}}"/>  
175 - </block>  
176 - <view class="contentBox" wx:if="{{reserve.content && reserve.content.length>0}}">  
177 - <block wx:for="{{reserve.content}}">  
178 - <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />  
179 - <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font32r">{{item.content}}</text>  
180 - <view wx:if="{{item.type == '3'}}" class="videoBox">  
181 - <video  
182 - object-fit="contain"  
183 - autoplay="{{true}}"  
184 - loop="{{true}}"  
185 - muted="{{true}}"  
186 - show-mute-btn="{{true}}"  
187 - vslide-gesture-in-fullscreen="{{true}}"  
188 - src="{{item.content}}"  
189 - ></video>  
190 - </view>  
191 - </block>  
192 - </view>  
193 - </view>  
194 - <view class="preferential" wx:if="{{hasValueRecharge && marketing && marketing.is_recharge=='1' && recharge_data && recharge_data.id}}">  
195 - <view wx:if="{{titleType}}" class="chefText font36r">  
196 - <titleStyle isWhite="pearlWhite" titleStyleType="{{titleType}}" titleText="会员招募"></titleStyle>  
197 - </view>  
198 - <navigator url="/pack-activity/pack/vipRecharge?id={{recharge_data.id}}&name={{seller.sellName}}&sid={{sid}}&types=3&StyleType={{StyleType}}" hover-class="navigator-hover">  
199 - <view class="preferentialItems">  
200 - <view class="itemLeft">  
201 - <view class="itemTop font28r">  
202 - <text>{{recharge_data.rname}}</text>  
203 - </view>  
204 - <view class="font24r" wx:if="{{priceInfo}}">  
205 - {{priceInfo}}{{(recharge_data.recharge_list.is_coupons=='0' && recharge_data.recharge_list.is_score=='0')?'。':';'}} 85 + </block>
  86 + </view>
  87 + <!-- 餐厅介绍 -->
  88 + <block wx:if="{{marketing.logo || home.image || ((store.introduce && (!store.is_introduce || store.is_introduce!='0')) || (store.images.length>0 && (!store.is_images || store.is_images!='0')) || (store.content && store.content.length>0))}}">
  89 + <view class="introduceBox">
  90 + <block wx:if="{{(marketing && marketing.logo && (!marketing.is_logo || marketing.is_logo!='0')) || (store.introduce && (!store.is_introduce || store.is_introduce!='0')) || (home.image && (!home.id_first_image || home.id_first_image!='0'))}}">
  91 + <view class="chefText font28r">
  92 + <text></text>{{store.title ? store.title : '餐厅介绍'}}
  93 + </view>
  94 + <image wx:if="{{marketing.logo}}" src="{{marketing.logo}}" bindtap="lookImgs" data-url="{{marketing.logo}}" mode="widthFix" />
  95 + <image wx:if="{{home.image}}" src="{{home.image}}" bindtap="lookImgs" data-url="{{home.image}}" class="homeImage" mode="widthFix"></image>
  96 + <view class="labelBox" wx:if="{{!store.content && store.introduce && (!store.is_introduce || store.is_introduce!='0')}}">
  97 + <text space="nbsp" class="texts">{{store.introduce}}</text>
  98 + </view>
  99 + <block wx:if="{{store.images.length>0 && (!store.is_images || store.is_images!='0')}}">
  100 + <block wx:for="{{store.images}}" wx:key="arryIndex" wx:for-index="arryIndex">
  101 + <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{store.images}}" mode="widthFix" />
  102 + </block>
  103 + </block>
  104 + <view class="contentBox" wx:if="{{store.content && store.content.length>0}}">
  105 + <block wx:for="{{store.content}}">
  106 + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />
  107 + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font24r">{{item.content}}</text>
  108 + <view wx:if="{{item.type == '3'}}" class="videoBox">
  109 + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video>
  110 + </view>
  111 + </block>
  112 + </view>
  113 + </block>
  114 + </view>
  115 + </block>
  116 + <!-- 主厨介绍 -->
  117 + <block wx:if="{{chef && ((chef.introduce && (!chef.is_introduce || chef.is_introduce!='0')) || (chef.image && (!chef.is_images || chef.is_images!='0')) || (chef.content && chef.content.length>0))}}">
  118 + <view class="introduceBox famousChefBox" wx:if="{{chef && ((!chef.is_introduce || chef.is_introduce!='0') || (!chef.is_images || chef.is_images!='0'))}}">
  119 + <view class="chefText font28r">
  120 + <text></text>{{chef.title ? chef.title : '主厨介绍'}}
  121 + </view>
  122 + <view class="labelBox" wx:if="{{(chef.introduce && (!chef.is_introduce || chef.is_introduce!='0'))}}">
  123 + <text space="nbsp" class="texts">{{chef.introduce}}</text>
  124 + </view>
  125 + <image wx:if="{{(!chef.is_images || chef.is_images!='0') && chef.image}}" src="{{chef.image}}" bindtap="lookImgs" data-url="{{chef.image}}" mode="widthFix" />
  126 + <view class="contentBox" wx:if="{{chef.content && chef.content.length>0}}">
  127 + <block wx:for="{{chef.content}}">
  128 + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />
  129 + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font24r">{{item.content}}</text>
  130 + <view wx:if="{{item.type == '3'}}" class="videoBox">
  131 + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video>
206 </view> 132 </view>
207 - <view class="bottom font24r" wx:if="{{scoreInfo}}">  
208 - {{scoreInfo}}{{recharge_data.recharge_list.is_coupons=='0'?'。':';'}} 133 + </block>
  134 + </view>
  135 + </view>
  136 + </block>
  137 + <!-- 特色菜品 -->
  138 + <view class="introduceBox vegetableBox" wx:if="{{signboard && ((signboard.swich=='1' && signboard.images && signboard.images.length>0) || (signboard.content && signboard.content.length>0))}}">
  139 + <view class="chefText font28r">
  140 + <text></text>{{signboard.title ? signboard.title : '主厨介绍'}}
  141 + </view>
  142 + <block wx:for="{{signboard.images}}" wx:key="arryIndex" wx:for-index="arryIndex">
  143 + <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{signboard.images}}" mode="widthFix" />
  144 + </block>
  145 + <view class="contentBox" wx:if="{{signboard.content && signboard.content.length>0}}">
  146 + <block wx:for="{{signboard.content}}">
  147 + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />
  148 + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font24r">{{item.content}}</text>
  149 + <view wx:if="{{item.type == '3'}}" class="videoBox">
  150 + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video>
  151 + </view>
  152 + </block>
  153 + </view>
  154 + </view>
  155 + <!-- 停车指引 -->
  156 + <view class="introduceBox stopBox" wx:if="{{reserve && (reserve.swich_park=='1' && (reserve.park_info || reserve.park_info_images) || (reserve.content && reserve.content.length>0))}}">
  157 + <view class="chefText font28r">
  158 + <text></text>{{reserve.title ? reserve.title : '主厨介绍'}}
  159 + </view>
  160 + <view class="labelBox" wx:if="{{reserve.park_info}}">
  161 + <text space="nbsp" class="texts">{{reserve.park_info}}</text>
  162 + </view>
  163 + <block wx:for="{{reserve.park_info_images}}" wx:key="arryIndex" wx:for-index="arryIndex">
  164 + <image src="{{item}}" mode="widthFix" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{reserve.park_info_images}}" />
  165 + </block>
  166 + <view class="contentBox" wx:if="{{reserve.content && reserve.content.length>0}}">
  167 + <block wx:for="{{reserve.content}}">
  168 + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" />
  169 + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font24r">{{item.content}}</text>
  170 + <view wx:if="{{item.type == '3'}}" class="videoBox">
  171 + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video>
  172 + </view>
  173 + </block>
  174 + </view>
  175 + </view>
  176 + <view class="vipRechargeBox" wx:if="{{hasValueRecharge && marketing && marketing.is_recharge=='1' && recharge_data && recharge_data.id}}">
  177 + <view class="chefText font28r">
  178 + <text></text>会员招募
  179 + </view>
  180 + <navigator url="/pack-activity/pack/vipRecharge?id={{recharge_data.id}}&name={{seller.sellName}}&sid={{sid}}&types=3&StyleType={{StyleType}}" hover-class="navigator-hover">
  181 + <view class="couponWrap">
  182 + <view class="itemLeft font20r">
  183 + <view class="priceText"><view class="icons font24r">¥</view><text class="font48r">{{recharge_data.recharge_money}}</text></view>
  184 + </view>
  185 + <view class="couponLine"></view>
  186 + <view class="itemRight">
  187 + <view class="btns">
  188 + <view class="bottom font24r" wx:if="{{priceInfo}}">
  189 + {{priceInfo}}{{(recharge_data.recharge_list.is_coupons=='0' && recharge_data.recharge_list.is_score=='0')?'。':';'}}
  190 + </view>
  191 + <view class="bottom font24r" wx:if="{{scoreInfo}}">
  192 + {{scoreInfo}}{{recharge_data.recharge_list.is_coupons=='0'?'。':';'}}
  193 + </view>
  194 + <view class="bottom font24r" wx:if="{{recharge_data.recharge_list.is_coupons=='1'}}">
  195 + {{recharge_data.recharge_list.is_coupons=='1'?'会员充值满'+recharge_data.recharge_money+'元赠送'+certificate:''}}。
  196 + </view>
209 </view> 197 </view>
210 - <view class="bottom font24r" wx:if="{{recharge_data.recharge_list.is_coupons=='1'}}">  
211 - {{recharge_data.recharge_list.is_coupons=='1'?'会员充值满'+recharge_data.recharge_money+'元赠送'+certificate:''}}。 198 + <view class="btnBox">
  199 + <view class="font24r orderingFood">
  200 + 充值
  201 + </view>
212 </view> 202 </view>
213 </view> 203 </view>
214 - <view class="font24r orderingFood">  
215 - 抢购  
216 - </view>  
217 </view> 204 </view>
218 </navigator> 205 </navigator>
219 - </view>  
220 - <view class="vips">  
221 - <view wx:if="{{hasValueRecharge && marketing.is_link=='1'}}" class="font24r favouredPolicy" bindtap="gotoFavourableList">  
222 - 点击了解更多会员优惠政策  
223 - </view>  
224 - <text class="businessBox">  
225 - 周到安排提供技术支持<text bindtap="callPhone" data-phone="4000009690">4000009690</text>,餐厅入驻请点击<text bindtap="gotoJoinSeller" style="text-decoration: underline;">这里</text>  
226 - </text>  
227 - </view>  
228 - <view class="all-button flex-lr between">  
229 - <button class="book-item-font flex-cc font30r shareItem" open-type="share">转发给朋友</button> 206 + </view>
  207 + <view class="vips">
  208 + <view wx:if="{{hasValueRecharge && marketing.is_link=='1'}}" class="font24r favouredPolicy" bindtap="gotoFavourableList">
  209 + 点击了解更多会员优惠政策
  210 + </view>
  211 + <text class="businessBox">
  212 + 周到安排提供技术支持<text bindtap="callPhone" data-phone="4000009690">4000009690</text>,餐厅入驻请点击<text bindtap="gotoJoinSeller" style="text-decoration: underline;">这里</text>
  213 + </text>
  214 + </view>
  215 + <view class="all-button flex-lr between">
  216 + <view class="leftBtn">
  217 + <button class="btn1" bindtap="follow">
  218 + <image wx:if="{{IsCollectionSeller}}" class="img1" src="https://qn.colorcun.com/collect.png" />
  219 + <image wx:else class="img1" src="https://qn.colorcun.com/collectSelect.png" />
  220 + <view class="font24r">收藏</view>
  221 + </button>
  222 + <button class="shareItem btn1" open-type="share">
  223 + <image src="https://qn.colorcun.com/voucherIcon2.png" mode="" />
  224 + <view class="font24r">分享</view>
  225 + </button>
  226 + </view>
230 <block wx:if="{{seller.is_online_reserve == '1'}}"> 227 <block wx:if="{{seller.is_online_reserve == '1'}}">
231 <navigator url="/pages/reserve/reserve?id={{sid}}&activeTab=reserve" class="book-item-font second-book-button flex-cc font30r" style="position: relative;">预订包间</navigator> 228 <navigator url="/pages/reserve/reserve?id={{sid}}&activeTab=reserve" class="book-item-font second-book-button flex-cc font30r" style="position: relative;">预订包间</navigator>
232 </block> 229 </block>
233 - </view> 230 + </view>
234 </view> 231 </view>
235 <my-modal id="couponModal" fadeStyle="slideUp" height="240px"> 232 <my-modal id="couponModal" fadeStyle="slideUp" height="240px">
236 <view slot="modalName" class="titleModal"> 233 <view slot="modalName" class="titleModal">
@@ -242,7 +239,7 @@ @@ -242,7 +239,7 @@
242 <text class="counterText1">元</text>代金券 239 <text class="counterText1">元</text>代金券
243 </view> 240 </view>
244 </view> 241 </view>
245 - <view slot="modalContent"> 242 + <view slot="modalContent">
246 <!-- <view class="couponBox"> 243 <!-- <view class="couponBox">
247 <view wx:for="{{couponArr}}" class="couponItems"> 244 <view wx:for="{{couponArr}}" class="couponItems">
248 <view class="couponNum font20r">×{{item.number}}</view> 245 <view class="couponNum font20r">×{{item.number}}</view>
@@ -254,5 +251,5 @@ @@ -254,5 +251,5 @@
254 </view> --> 251 </view> -->
255 <view class="couponInfo font24r">您到店扫码支付即可自动使用</view> 252 <view class="couponInfo font24r">您到店扫码支付即可自动使用</view>
256 <view bindtap="closeCouponModal" class="couponBtn font36r">我知道了</view> 253 <view bindtap="closeCouponModal" class="couponBtn font36r">我知道了</view>
257 - </view> 254 + </view>
258 </my-modal> 255 </my-modal>
1 /* pages/reserve/shopHome.wxss */ 1 /* pages/reserve/shopHome.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
2 .imgs { 6 .imgs {
3 - width: 100%;  
4 - position: absolute;  
5 - left: 0;  
6 - top: 0; 7 + width: 100%;
  8 + position: absolute;
  9 + left: 0;
  10 + top: 0;
7 } 11 }
8 12
9 .my_canvas { 13 .my_canvas {
10 - position: relative;  
11 - padding-bottom: 200rpx; 14 + position: relative;
  15 + padding-bottom: 200rpx;
12 } 16 }
13 17
14 .sellBox { 18 .sellBox {
15 - width: 100%;  
16 - position: relative;  
17 - height: 562rpx;  
18 - margin-bottom: 200rpx; 19 + width: 100%;
  20 + position: relative;
  21 + height: 562rpx;
  22 + margin-bottom: 200rpx;
19 } 23 }
20 24
21 -.sellBox1{  
22 - min-height: 330rpx;  
23 - height: auto;  
24 - margin-bottom: 130rpx; 25 +.sellBox1 {
  26 + min-height: 210rpx;
  27 + height: auto;
  28 + margin-bottom: 140rpx;
25 } 29 }
26 30
27 .info { 31 .info {
28 - width: 90%;  
29 - padding: 44rpx 26rpx 26rpx 20rpx;  
30 - position: absolute;  
31 - bottom: -30%;  
32 - box-sizing: border-box;  
33 - background: #fff;  
34 - background-color: #fff;  
35 - border-radius: 16rpx;  
36 - border: 2rpx solid #0143A3; 32 + width: 100%;
  33 + padding: 24rpx;
  34 + position: absolute;
  35 + bottom: -60%;
  36 + box-sizing: border-box;
  37 + background: #fff;
  38 + background-color: #fff;
  39 + border-radius: 40rpx 40rpx 0 0;
37 } 40 }
38 41
39 .img1 { 42 .img1 {
40 - width: 50rpx;  
41 - height: 50rpx; 43 + width: 40rpx;
  44 + height: 40rpx;
42 } 45 }
43 46
44 .img2 { 47 .img2 {
45 - width: 30rpx;  
46 - height: 38rpx;  
47 - margin-left: 10rpx;  
48 - position: relative; 48 + width: 30rpx;
  49 + height: 38rpx;
  50 + margin-left: 10rpx;
  51 + position: relative;
49 top: 8rpx; 52 top: 8rpx;
50 flex-shrink: 0; 53 flex-shrink: 0;
51 } 54 }
52 55
53 .colorText { 56 .colorText {
54 - color: #0143A3; 57 + color: #000;
  58 + font-family: PingFang SC;
  59 + font-weight: 600;
55 } 60 }
56 61
57 -.text1 {  
58 - margin: 40rpx 0 10rpx 0; 62 +.colorFive {
  63 + display: flex;
  64 + align-items: baseline;
  65 + padding: 10rpx 0;
59 } 66 }
60 67
61 -.text2 {  
62 - margin-bottom: 10rpx; 68 +.colorFive {
  69 + color: #000;
  70 + font-family: PingFang SC;
  71 + font-weight: 600;
63 } 72 }
64 73
65 -.colorFive {  
66 - color: #515151;  
67 - display: flex;  
68 - align-items: baseline; 74 +.img2 {
  75 + width: 52rpx;
  76 + height: 52rpx;
69 } 77 }
70 78
71 .colorFive text { 79 .colorFive text {
@@ -75,256 +83,315 @@ @@ -75,256 +83,315 @@
75 } 83 }
76 84
77 .introduce { 85 .introduce {
78 - box-sizing: border-box; 86 + box-sizing: border-box;
79 } 87 }
80 88
81 .imgMask { 89 .imgMask {
82 - margin: 0 40rpx; 90 + margin: 0 40rpx;
83 } 91 }
84 92
85 .lines { 93 .lines {
86 - height: 2rpx;  
87 - margin: 20rpx 20rpx 20rpx 0;  
88 - background-color: #0143A3; 94 + height: 2rpx;
  95 + margin: 20rpx 20rpx 20rpx 0;
  96 + background-color: #0143A3;
89 } 97 }
90 98
91 .mtnone { 99 .mtnone {
92 - margin-top: 0; 100 + margin-top: 0;
93 } 101 }
94 102
95 .famousChefBox .labelBox { 103 .famousChefBox .labelBox {
96 - border-bottom: none; 104 + border-bottom: none;
97 } 105 }
98 106
99 .labelBox { 107 .labelBox {
100 - margin: 20rpx 20rpx 0 20rpx;  
101 - display: flex;  
102 - position: relative;  
103 - padding-bottom: 20rpx; 108 + margin: 20rpx 20rpx 0 20rpx;
  109 + display: flex;
  110 + position: relative;
  111 + padding-bottom: 20rpx;
104 } 112 }
105 113
106 .labelBox .texts { 114 .labelBox .texts {
107 - width: 100%;  
108 - line-height: 40rpx;  
109 - color: #515151;  
110 - font-family: PingFang SC;  
111 - font-size: 32rpx;  
112 - font-weight: 500; 115 + width: 100%;
  116 + line-height: 40rpx;
  117 + color: #515151;
  118 + font-family: PingFang SC;
  119 + font-size: 32rpx;
  120 + font-weight: 500;
113 } 121 }
114 122
115 .contentBox { 123 .contentBox {
116 - width: 100%;  
117 - margin-top: 20rpx; 124 + width: 100%;
  125 + margin-top: 20rpx;
118 } 126 }
119 127
120 .contentBox .texts { 128 .contentBox .texts {
121 - line-height: 40rpx;  
122 - margin: 0 20rpx;  
123 - color: #515151;  
124 - font-family: PingFang SC;  
125 - font-weight: 500;  
126 - display: block; 129 + line-height: 40rpx;
  130 + margin: 0 24rpx 24rpx 24rpx;
  131 + color: #000;
  132 + font-family: PingFang SC;
  133 + font-weight: 500;
  134 + display: block;
127 } 135 }
128 136
129 -.contentBox view,.contentBox text,.contentBox image{  
130 - margin-bottom: 20rpx !important; 137 +.introduceBox {
  138 + background: #fff;
  139 + padding-bottom: 20rpx;
131 } 140 }
132 141
133 .introduceBox image { 142 .introduceBox image {
134 - width: 100%;  
135 - margin-bottom: 20rpx;  
136 - display: block !important;  
137 - vertical-align: top;  
138 - padding: 0 20rpx;  
139 - box-sizing: border-box; 143 + width: 100%;
  144 + margin-bottom: 20rpx;
  145 + display: block !important;
  146 + vertical-align: top;
  147 + padding: 0 24rpx;
  148 + box-sizing: border-box;
  149 + border-radius: 10rpx;
140 } 150 }
141 151
142 .labelBox .line1 { 152 .labelBox .line1 {
143 - margin: 0 0 0 16rpx; 153 + margin: 0 0 0 16rpx;
144 } 154 }
145 155
146 .imgMask image { 156 .imgMask image {
147 - width: 100%;  
148 - display: block;  
149 - margin-bottom: 20rpx; 157 + width: 100%;
  158 + display: block;
  159 + margin-bottom: 20rpx;
150 } 160 }
151 161
152 .famousChefBox, 162 .famousChefBox,
153 .vegetableBox { 163 .vegetableBox {
154 - position: relative;  
155 - margin-top: 20rpx; 164 + position: relative;
  165 + margin-top: 20rpx;
156 } 166 }
157 167
158 -.vegetableBox .chefText {  
159 - margin-top: 0; 168 +.chefText {
  169 + font-family: PingFang SC;
  170 + margin: 20rpx 20rpx 20rpx 0;
  171 + font-weight: 500;
  172 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  173 + -webkit-background-clip: text;
  174 + -webkit-text-fill-color: transparent;
  175 + display: flex;
  176 + align-items: center;
  177 + font-family: PingFang SC;
  178 + padding: 24rpx 0 12rpx 24rpx;
160 } 179 }
161 180
162 -.chefText {  
163 - font-family: PingFang SC;  
164 - margin: 20rpx 20rpx 20rpx 0;  
165 - font-weight: 500;  
166 - color: #0143A3; 181 +.chefText text {
  182 + display: block;
  183 + width: 8rpx;
  184 + height: 32rpx;
  185 + margin-right: 16rpx;
  186 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
167 } 187 }
168 188
169 .between { 189 .between {
170 - justify-content: space-between; 190 + justify-content: space-between;
171 } 191 }
172 192
173 .all-button { 193 .all-button {
174 - background: #FAFAFA;  
175 - height: 160rpx;  
176 - padding: 0 40rpx;  
177 - box-sizing: border-box;  
178 - z-index: 100;  
179 - justify-content: flex-end;  
180 - position: fixed;  
181 - left: 0;  
182 - bottom: 0;  
183 - width: 100%; 194 + background: #fff;
  195 + height: 160rpx;
  196 + padding: 0 40rpx;
  197 + box-sizing: border-box;
  198 + z-index: 100;
  199 + justify-content: space-between;
  200 + position: fixed;
  201 + left: 0;
  202 + bottom: 0;
  203 + width: 100%;
184 } 204 }
185 205
186 .book-item-font { 206 .book-item-font {
187 - width: 100%;  
188 - height: 46%;  
189 - border-radius: 42rpx;  
190 - font-weight: 600; 207 + width: 40%;
  208 + height: 46%;
  209 + border-radius: 42rpx;
  210 + font-weight: 600;
191 } 211 }
192 212
193 .second-book-button { 213 .second-book-button {
194 - margin-left: 20rpx;  
195 - background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%);  
196 - color: #fff; 214 + margin-left: 20rpx;
  215 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  216 + color: #fff;
197 } 217 }
198 218
199 -.shareItem {  
200 - width: 46%;  
201 - margin: 0;  
202 - border: 2rpx solid #0143A3;  
203 - color: #0143A3; 219 +.leftBtn {
  220 + display: flex;
  221 + justify-content: space-between;
  222 + background: #fff;
  223 +}
  224 +
  225 +.leftBtn button {
  226 + background: #fff;
  227 +}
  228 +
  229 +.btn1 {
  230 + margin: 0;
  231 + display: flex;
  232 + align-items: center;
  233 + flex-direction: column;
  234 +}
  235 +
  236 +.btn1 view {
  237 + margin-top: -10%;
  238 +}
  239 +
  240 +.shareItem image {
  241 + width: 40rpx;
  242 + height: 40rpx;
204 } 243 }
205 244
206 .preferential { 245 .preferential {
207 - margin-top: 28rpx; 246 + margin-top: 48%;
  247 + background: #fff;
  248 + padding: 24rpx;
  249 +}
  250 +
  251 +.vipRechargeBox {
  252 + background: #fff;
  253 + padding: 0 24rpx 24rpx 24rpx;
  254 + margin-top: 24rpx;
  255 +}
  256 +
  257 +.vipRechargeBox .couponWrap .itemLeft {
  258 + width: 22%;
  259 +}
  260 +
  261 +.vipRechargeBox .couponWrap .itemLeft {
  262 + padding: 0 30rpx;
  263 +}
  264 +
  265 +.vipRechargeBox .couponWrap .orderingFood {
  266 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
208 } 267 }
209 268
210 .rubric1 { 269 .rubric1 {
211 - margin-bottom: 20rpx; 270 + margin-bottom: 20rpx;
212 } 271 }
213 272
214 -.couponWrap .nodate{ 273 +.couponWrap .nodate {
215 padding-left: 20rpx; 274 padding-left: 20rpx;
216 } 275 }
217 276
218 .preferentialItems { 277 .preferentialItems {
219 - padding: 20rpx 30rpx 20rpx 20rpx;  
220 - display: flex;  
221 - justify-content: space-between;  
222 - align-items: center;  
223 - background: url('https://qn.colorcun.com/certificateBj.png') no-repeat;  
224 - background-size: 100% 100%;  
225 - margin: 0 20rpx 20rpx 20rpx; 278 + min-height: 160rpx;
  279 + padding-bottom: 10rpx;
  280 + border-right: 20rpx;
  281 + display: flex;
  282 + justify-content: space-between;
  283 + align-items: center;
  284 + background: linear-gradient(180deg, #ffefd0 0%, #ffdc9b 100%);
  285 + background-size: 100% 100%;
  286 + margin: 0 20rpx 20rpx 20rpx;
226 } 287 }
227 288
228 .itemLeft { 289 .itemLeft {
229 - width: 75%; 290 + width: 75%;
230 } 291 }
231 292
232 .itemTop { 293 .itemTop {
233 - display: flex;  
234 - width: 100%;  
235 - align-items: center;  
236 - margin-bottom: 20rpx; 294 + height: 100%;
  295 + display: flex;
  296 + align-items: center;
  297 + margin-bottom: 20rpx;
  298 + color: #F6231B;
  299 + border-right: 2rpx dashed #f6231b;
237 } 300 }
238 301
239 .itemBottom { 302 .itemBottom {
240 - color: #515151;  
241 - font-family: PingFang SC;  
242 - font-weight: 500;  
243 - display: -webkit-box;  
244 - word-break: break-all;  
245 - word-wrap: break-word;  
246 - overflow: hidden;  
247 - text-align: left; 303 + color: #515151;
  304 + font-family: PingFang SC;
  305 + font-weight: 500;
  306 + display: -webkit-box;
  307 + word-break: break-all;
  308 + word-wrap: break-word;
  309 + overflow: hidden;
  310 + text-align: left;
248 } 311 }
249 312
250 .itemTop text:nth-of-type(1) { 313 .itemTop text:nth-of-type(1) {
251 - max-width: 65%;  
252 - font-weight: 600;  
253 - color: #515151; 314 + max-width: 65%;
  315 + font-weight: 600;
  316 + color: #515151;
254 } 317 }
255 318
256 .itemTop .discountText { 319 .itemTop .discountText {
257 - text-align: center;  
258 - color: #E34D59;  
259 - border: 2rpx solid #E34D59;  
260 - border-radius: 6rpx;  
261 - margin: 0 10rpx 0 20rpx;  
262 - font-family: PingFang SC;  
263 - padding: 0 10rpx; 320 + text-align: center;
  321 + color: #E34D59;
  322 + border: 2rpx solid #E34D59;
  323 + border-radius: 6rpx;
  324 + margin: 0 10rpx 0 20rpx;
  325 + font-family: PingFang SC;
  326 + padding: 0 10rpx;
264 } 327 }
265 328
266 .itemTop .priceText { 329 .itemTop .priceText {
267 - color: #E34D59;  
268 - font-weight: 500; 330 + color: #E34D59;
  331 + font-weight: 500;
269 } 332 }
270 333
271 .priceText { 334 .priceText {
272 - display: flex;  
273 - align-items: center;  
274 - justify-content: center; 335 + display: flex;
  336 + align-items: center;
  337 + justify-content: center;
275 } 338 }
276 339
277 .priceText .icons { 340 .priceText .icons {
278 - margin-left: 18rpx;  
279 - color: #E34D59;  
280 - font-size: 20rpx; 341 + margin-left: 18rpx;
  342 + color: #E34D59;
  343 + font-size: 20rpx;
281 } 344 }
282 345
283 .orderingFood { 346 .orderingFood {
284 - padding: 0 26rpx;  
285 - border-radius: 22rpx;  
286 - text-align: center;  
287 - color: #fff;  
288 - border-radius: 32rpx;  
289 - margin: 10rpx 0;  
290 - line-height: 44rpx;  
291 - height: 44rpx;  
292 - background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%); 347 + padding: 0 26rpx;
  348 + border-radius: 22rpx;
  349 + text-align: center;
  350 + color: #fff;
  351 + border-radius: 32rpx;
  352 + margin: 10rpx 0;
  353 + line-height: 44rpx;
  354 + height: 44rpx;
  355 + background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%);
293 width: max-content; 356 width: max-content;
294 flex-shrink: 0; 357 flex-shrink: 0;
295 } 358 }
296 359
297 .vips { 360 .vips {
298 - display: flex;  
299 - flex-direction: column;  
300 - justify-content: center;  
301 - align-items: center;  
302 - padding-bottom: 240rpx;  
303 - margin-top: 20rpx; 361 + display: flex;
  362 + flex-direction: column;
  363 + justify-content: center;
  364 + align-items: center;
  365 + padding-bottom: 240rpx;
  366 + margin-top: 20rpx;
304 } 367 }
305 368
306 .businessBox { 369 .businessBox {
307 - color: #515151;  
308 - font-size: 24rpx;  
309 - font-family: PingFang SC; 370 + color: #515151;
  371 + font-size: 24rpx;
  372 + font-family: PingFang SC;
310 } 373 }
311 374
312 .businessBox text { 375 .businessBox text {
313 - color: #0143A3; 376 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  377 + -webkit-background-clip: text;
  378 + -webkit-text-fill-color: transparent;
314 } 379 }
315 380
316 .favouredPolicy { 381 .favouredPolicy {
317 - width: 45%;  
318 - color: #5C95D7;  
319 - font-family: PingFang SC;  
320 - font-weight: 500;  
321 - border: 2rpx solid #5C95D7;  
322 - border-radius: 22rpx;  
323 - text-align: center;  
324 - padding: 10rpx; 382 + width: 45%;
  383 + font-family: PingFang SC;
  384 + font-weight: 500;
  385 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  386 + -webkit-background-clip: text;
  387 + -webkit-text-fill-color: transparent;
  388 + border: 2rpx solid #fe6806;
  389 + border-radius: 22rpx;
  390 + text-align: center;
  391 + padding: 10rpx;
325 } 392 }
326 393
327 -.videoBox{ 394 +.videoBox {
328 display: flex; 395 display: flex;
329 flex-wrap: wrap; 396 flex-wrap: wrap;
330 align-items: center; 397 align-items: center;
@@ -332,41 +399,40 @@ @@ -332,41 +399,40 @@
332 margin: 0 20rpx; 399 margin: 0 20rpx;
333 } 400 }
334 401
335 -.videoBox video{ 402 +.videoBox video {
336 width: 100%; 403 width: 100%;
337 box-sizing: border-box; 404 box-sizing: border-box;
338 } 405 }
339 406
340 .couponWrap { 407 .couponWrap {
341 display: flex; 408 display: flex;
342 - background: linear-gradient(180deg, #ffefd0 0%, #ffdc9b 100%);  
343 - min-height: 160rpx;  
344 - padding-bottom: 10rpx; 409 + background: linear-gradient(180deg, #ffefd0 0%, #ffdc9b 100%);
  410 + min-height: 160rpx;
  411 + padding-bottom: 10rpx;
345 border-radius: 20rpx; 412 border-radius: 20rpx;
346 - border: 2rpx solid #ff7e06;  
347 - margin: 0 20rpx 20rpx 20rpx; 413 + margin-bottom: 16rpx;
348 } 414 }
349 415
350 .couponWrap .itemRight { 416 .couponWrap .itemRight {
351 width: 74%; 417 width: 74%;
352 display: flex; 418 display: flex;
353 align-items: center; 419 align-items: center;
354 - flex-direction:row; 420 + flex-direction: row;
355 padding-right: 10rpx; 421 padding-right: 10rpx;
356 margin-left: 18rpx; 422 margin-left: 18rpx;
357 } 423 }
358 424
359 .couponWrap .bottom { 425 .couponWrap .bottom {
360 - margin-top: 4rpx;  
361 - width: 100%;  
362 - color: #C36607;  
363 - font-family: PingFang SC;  
364 - font-weight: 500;  
365 - display: -webkit-box;  
366 - word-break: break-all;  
367 - word-wrap: break-word;  
368 - overflow: hidden;  
369 - text-align: left; 426 + margin-top: 4rpx;
  427 + width: 100%;
  428 + color: #C36607;
  429 + font-family: PingFang SC;
  430 + font-weight: 500;
  431 + display: -webkit-box;
  432 + word-break: break-all;
  433 + word-wrap: break-word;
  434 + overflow: hidden;
  435 + text-align: left;
370 } 436 }
371 437
372 .couponWrap .itemLeft { 438 .couponWrap .itemLeft {
@@ -379,7 +445,7 @@ @@ -379,7 +445,7 @@
379 border-bottom-left-radius: 20rpx; 445 border-bottom-left-radius: 20rpx;
380 } 446 }
381 447
382 -.couponWrap .couponLine{ 448 +.couponWrap .couponLine {
383 margin: 24rpx 0 4rpx 0; 449 margin: 24rpx 0 4rpx 0;
384 border-right: 2rpx dashed #f6231b; 450 border-right: 2rpx dashed #f6231b;
385 } 451 }
@@ -396,6 +462,7 @@ @@ -396,6 +462,7 @@
396 flex-shrink: 0; 462 flex-shrink: 0;
397 background: linear-gradient(94.4deg, #f41919 2.72%, #ff7426 122.17%); 463 background: linear-gradient(94.4deg, #f41919 2.72%, #ff7426 122.17%);
398 } 464 }
  465 +
399 .couponWrap .icons { 466 .couponWrap .icons {
400 color: #F6231B !important; 467 color: #F6231B !important;
401 text-align: center; 468 text-align: center;
@@ -418,13 +485,14 @@ @@ -418,13 +485,14 @@
418 485
419 .couponWrap .btns { 486 .couponWrap .btns {
420 flex: 1; 487 flex: 1;
421 - margin: 24rpx 20rpx 0 0;  
422 - display: flex;  
423 - justify-content: space-evenly;  
424 - align-items: baseline; 488 + margin: 24rpx 20rpx 0 0;
  489 + display: flex;
  490 + justify-content: space-evenly;
  491 + align-items: baseline;
425 flex-direction: column; 492 flex-direction: column;
426 height: 90%; 493 height: 90%;
427 } 494 }
  495 +
428 .couponWrap .btnBox { 496 .couponWrap .btnBox {
429 display: flex; 497 display: flex;
430 flex-direction: column; 498 flex-direction: column;
@@ -455,55 +523,55 @@ @@ -455,55 +523,55 @@
455 523
456 .couponWrap .discountText { 524 .couponWrap .discountText {
457 background: #F6231B; 525 background: #F6231B;
458 - text-align: center;  
459 - color: #FFEFC5;  
460 - border-radius: 6rpx;  
461 - font-family: PingFang SC;  
462 - background: #FD4D59;  
463 - width: max-content;  
464 - padding: 6rpx;  
465 - position: absolute;  
466 - left: 16rpx;  
467 - top: 12rpx;  
468 -}  
469 -  
470 -.couponWrap .discountText1{  
471 - text-align: center;  
472 - border-radius: 6rpx;  
473 - font-family: PingFang SC;  
474 - width: max-content;  
475 - padding: 2rpx 8rpx;  
476 - position: absolute;  
477 - left: 16rpx;  
478 - top: 12rpx;  
479 -}  
480 -  
481 -.discountText2{ 526 + text-align: center;
  527 + color: #FFEFC5;
  528 + border-radius: 6rpx;
  529 + font-family: PingFang SC;
  530 + background: #FD4D59;
  531 + width: max-content;
  532 + padding: 6rpx;
  533 + position: absolute;
  534 + left: 16rpx;
  535 + top: 12rpx;
  536 +}
  537 +
  538 +.couponWrap .discountText1 {
  539 + text-align: center;
  540 + border-radius: 6rpx;
  541 + font-family: PingFang SC;
  542 + width: max-content;
  543 + padding: 2rpx 8rpx;
  544 + position: absolute;
  545 + left: 16rpx;
  546 + top: 12rpx;
  547 +}
  548 +
  549 +.discountText2 {
482 background: #FD4D59; 550 background: #FD4D59;
483 color: #fff; 551 color: #fff;
484 } 552 }
485 553
486 -.discountText3{ 554 +.discountText3 {
487 color: #FD4D59; 555 color: #FD4D59;
488 border: 2rpx solid #FD4D59; 556 border: 2rpx solid #FD4D59;
489 } 557 }
490 558
491 #couponModal .titleModal { 559 #couponModal .titleModal {
492 - margin-top: 60%; 560 + margin-top: 60%;
493 position: relative; 561 position: relative;
494 width: 100%; 562 width: 100%;
495 } 563 }
496 564
497 #couponModal .titleModal2 { 565 #couponModal .titleModal2 {
498 - margin: 80% auto 0 auto; 566 + margin: 80% auto 0 auto;
499 } 567 }
500 568
501 #couponModal .titleModal3 { 569 #couponModal .titleModal3 {
502 - margin-top: 60%; 570 + margin-top: 60%;
503 } 571 }
504 572
505 #couponModal .titleModal4 { 573 #couponModal .titleModal4 {
506 - margin-top: 30%; 574 + margin-top: 30%;
507 } 575 }
508 576
509 #couponModal .mymodal { 577 #couponModal .mymodal {
@@ -515,7 +583,7 @@ @@ -515,7 +583,7 @@
515 } 583 }
516 584
517 .nameInfo { 585 .nameInfo {
518 - font-family: PingFang SC; 586 + font-family: PingFang SC;
519 font-weight: 400; 587 font-weight: 400;
520 font-size: 52rpx; 588 font-size: 52rpx;
521 line-height: 56rpx; 589 line-height: 56rpx;
@@ -527,7 +595,7 @@ @@ -527,7 +595,7 @@
527 595
528 .couponTotal { 596 .couponTotal {
529 color: #dfdfdf; 597 color: #dfdfdf;
530 - font-family: PingFang SC; 598 + font-family: PingFang SC;
531 font-weight: 400; 599 font-weight: 400;
532 font-size: 40rpx; 600 font-size: 40rpx;
533 line-height: 48rpx; 601 line-height: 48rpx;
@@ -588,7 +656,7 @@ @@ -588,7 +656,7 @@
588 font-weight: 500; 656 font-weight: 500;
589 } 657 }
590 658
591 -.couponLines{ 659 +.couponLines {
592 width: 80%; 660 width: 80%;
593 margin: 0 auto; 661 margin: 0 auto;
594 height: 2rpx; 662 height: 2rpx;
@@ -613,12 +681,12 @@ @@ -613,12 +681,12 @@
613 width: 80%; 681 width: 80%;
614 margin: 0 auto; 682 margin: 0 auto;
615 border-radius: 42rpx; 683 border-radius: 42rpx;
616 - background: linear-gradient(90.98deg, #f41919 0.25%, #ff7426 120.07%); 684 + background: linear-gradient(90.98deg, #f41919 0.25%, #ff7426 120.07%);
617 font-weight: 400; 685 font-weight: 400;
618 color: #fff; 686 color: #fff;
619 text-align: center; 687 text-align: center;
620 border: 4rpx solid #fff; 688 border: 4rpx solid #fff;
621 - padding: 12rpx 0; 689 + padding: 12rpx 0;
622 margin: 16rpx auto 20rpx auto; 690 margin: 16rpx auto 20rpx auto;
623 } 691 }
624 692
@@ -634,4 +702,41 @@ @@ -634,4 +702,41 @@
634 position: absolute; 702 position: absolute;
635 right: 5%; 703 right: 5%;
636 top: -10%; 704 top: -10%;
  705 +}
  706 +
  707 +.park {
  708 + background: #FFEEDF;
  709 + color: #B56737;
  710 + padding: 8rpx 12rpx 0 12rpx;
  711 + border-radius: 4rpx;
  712 + height: 30rpx;
  713 + line-height: 30rpx;
  714 + flex-shrink: 0;
  715 +}
  716 +
  717 +.distanceMar {
  718 + margin: 10rpx 0;
  719 +}
  720 +
  721 +.news {
  722 + color: #696969;
  723 + font-family: PingFang SC;
  724 + font-weight: 400;
  725 +}
  726 +
  727 +.bottom_btns {
  728 + display: flex;
  729 + padding: 12rpx 0;
  730 + border-bottom: 2rpx solid #F7F7F7;
  731 + color: #696969;
  732 +}
  733 +
  734 +.book {
  735 + margin-right: 8rpx;
  736 + padding: 4rpx 12rpx;
  737 + background: #FFF7F5;
  738 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  739 + -webkit-background-clip: text;
  740 + -webkit-text-fill-color: transparent;
  741 + border-radius: 4rpx;
637 } 742 }
@@ -19,6 +19,9 @@ Page({ @@ -19,6 +19,9 @@ Page({
19 detail:null, 19 detail:null,
20 user:_u, 20 user:_u,
21 loading:0, 21 loading:0,
  22 + array:['先生','女士','公司'],
  23 + activeSex:0,
  24 + activeId:'',//选中预订人的id
22 }, 25 },
23 hasSubmit:true, 26 hasSubmit:true,
24 /** 27 /**
@@ -37,8 +40,10 @@ Page({ @@ -37,8 +40,10 @@ Page({
37 if(v.is_default==1){ 40 if(v.is_default==1){
38 this.user = v 41 this.user = v
39 v.remark=wx.getStorageSync('remark') ? wx.getStorageSync('remark') : ''; 42 v.remark=wx.getStorageSync('remark') ? wx.getStorageSync('remark') : '';
40 - this.setData({ 43 + this.setData({
41 user: v, 44 user: v,
  45 + activeSex:this.user.sex*1-1,
  46 + activeId:v.id,
42 }) 47 })
43 return; 48 return;
44 } 49 }
@@ -107,21 +112,22 @@ Page({ @@ -107,21 +112,22 @@ Page({
107 }, 112 },
108 selectconcat(){ 113 selectconcat(){
109 wx.navigateTo({ 114 wx.navigateTo({
110 - url:'/pages/me/concat?action=select' 115 + url:'/pages/me/concat?action=select&activeId='+this.data.activeId
111 }) 116 })
112 }, 117 },
113 changeInput(e) { 118 changeInput(e) {
114 let key = util.attr(e, 'key'); 119 let key = util.attr(e, 'key');
115 let val = '' 120 let val = ''
116 if (key == 'sex') { 121 if (key == 'sex') {
117 - val = util.attr(e, 'val'); 122 + val = e.detail.value*1+1;
118 } else { 123 } else {
119 - val = util.val(e); 124 + val = util.val(e);
120 } 125 }
121 this.user[key] = val; 126 this.user[key] = val;
122 if (key == 'sex') { 127 if (key == 'sex') {
123 this.setData({ 128 this.setData({
124 - user: this.user 129 + user: this.user,
  130 + activeSex:e.detail.value,
125 }) 131 })
126 } 132 }
127 }, 133 },
1 <!--pages/reserve/submit.wxml--> 1 <!--pages/reserve/submit.wxml-->
2 <page loading="{{loading}}"> 2 <page loading="{{loading}}">
3 <nav hasBack>预订详情</nav> 3 <nav hasBack>预订详情</nav>
4 - <view bindtap="editorReserve"> 4 + <view>
5 <card seller="{{seller}}" detail="{{detail}}"></card> 5 <card seller="{{seller}}" detail="{{detail}}"></card>
6 </view> 6 </view>
7 7
8 <view class="view margin bg-white padding-lr text-df text-666666 userinfo"> 8 <view class="view margin bg-white padding-lr text-df text-666666 userinfo">
9 <view class="view flex align-center justify-between solid-bottom" style="height: 100rpx;"> 9 <view class="view flex align-center justify-between solid-bottom" style="height: 100rpx;">
10 - <view>填写信息</view>  
11 - <view class="text-blue" catchtap="selectconcat">选择预订人</view> 10 + <view class="font28r">填写信息</view>
  11 + <view class="textColor" catchtap="selectconcat">
  12 + <image src="https://qn.colorcun.com/liaisonIcon.png" mode=""/>
  13 + 选择预订人</view>
12 </view> 14 </view>
13 - <view class="view flex align-center justify-between " style="height: 100rpx;">  
14 - <image src="http://nosqn.colorcun.com/detail/x%20%2816%29.png" style="width: 40rpx;height: 40rpx;"></image>  
15 - <view class="view flex-treble flex align-center margin-left-sm solid-bottom" style="height: 100rpx;"> 15 + <view class="view flex align-center justify-between solid-bottom" style="height: 100rpx;">
  16 + <view class="title font28r">预订人</view>
  17 + <view class="view flex-treble flex align-center margin-left-lg" style="height: 100rpx;">
16 <input class="name flex-treble" placeholder="请填写预订人姓名" 18 <input class="name flex-treble" placeholder="请填写预订人姓名"
17 bindinput="changeInput" 19 bindinput="changeInput"
18 data-key="name" 20 data-key="name"
@@ -20,7 +22,13 @@ @@ -20,7 +22,13 @@
20 bindkeyboardheightchange="keyboardheightchange" 22 bindkeyboardheightchange="keyboardheightchange"
21 adjust-position="{{false}}" 23 adjust-position="{{false}}"
22 placeholder-class="input-pl" maxlength="10"/> 24 placeholder-class="input-pl" maxlength="10"/>
23 - <view class="flex text-30 sex"> 25 + <picker bindchange="changeInput" data-key="sex" value="{{activeSex}}" range="{{array}}">
  26 + <view class="pickerBox font28r">
  27 + {{array[activeSex]}}
  28 + <image src="https://qn.colorcun.com/arrowBottom.png" mode=""/>
  29 + </view>
  30 + </picker>
  31 + <!-- <view class="flex text-30 sex">
24 <view bindtap="changeInput" 32 <view bindtap="changeInput"
25 data-key="sex" 33 data-key="sex"
26 data-val="1" 34 data-val="1"
@@ -33,12 +41,12 @@ @@ -33,12 +41,12 @@
33 data-key="sex" 41 data-key="sex"
34 data-val="3" 42 data-val="3"
35 class="text-bold margin-left-sm {{user.sex==3?'checked':''}}">公司</view> 43 class="text-bold margin-left-sm {{user.sex==3?'checked':''}}">公司</view>
36 - </view> 44 + </view> -->
37 </view> 45 </view>
38 </view> 46 </view>
39 - <view class="view flex align-center justify-between " style="height: 100rpx;">  
40 - <image src="http://nosqn.colorcun.com/detail/x%20%2817%29.png" style="width: 40rpx;height: 40rpx;"></image>  
41 - <view class="view flex-treble flex align-center margin-left-sm solid-bottom" style="height: 100rpx;"> 47 + <view class="view flex align-center justify-between solid-bottom" style="height: 100rpx;">
  48 + <view class="title font28r">电话</view>
  49 + <view class="view flex-treble flex align-center margin-left-lg" style="height: 100rpx;">
42 <input class="phone flex-treble" placeholder="请填写联系方式" 50 <input class="phone flex-treble" placeholder="请填写联系方式"
43 bindinput="changeInput" 51 bindinput="changeInput"
44 data-key="phone" 52 data-key="phone"
@@ -55,18 +63,21 @@ @@ -55,18 +63,21 @@
55 </view> 63 </view>
56 </view> 64 </view>
57 </view> 65 </view>
58 - <view class="view flex align-start justify-between padding-tb">  
59 - <image src="http://nosqn.colorcun.com/detail/x%20%2818%29.png" style="width: 40rpx;height: 40rpx;"></image>  
60 - <view bindtap="toremark" class="view flex-treble flex align-center margin-left-sm {{user.remark?'text-black':''}}"> 66 + <view class="view flex align-start justify-between" style="height: 100rpx;">
  67 + <view class="title font28r">备注</view>
  68 + <view bindtap="toremark" class="view flex-treble flex align-center margin-left-lg {{user.remark?'text-black':''}}" style="height: 100rpx;">
61 {{user.remark && user.remark!='' ? user.remark : '您的备注,我们会尽量安排'}} 69 {{user.remark && user.remark!='' ? user.remark : '您的备注,我们会尽量安排'}}
62 </view> 70 </view>
63 </view> 71 </view>
64 </view> 72 </view>
65 - <subscribe ids="{{[0,1]}}" bindevent="saved">  
66 - <view class="view share-but bg-blue-blue round margin-lr-lg flex align-center justify-center">  
67 - <view class="txt-36-h text-bold">提交预订</view>  
68 - </view>  
69 - </subscribe> 73 + <view class="btns share-but">
  74 + <view class="checkBtn text-bold font28r" bindtap="editorReserve">重新选择</view>
  75 + <view class="view round margin-lr-lg flex align-center justify-center">
  76 + <subscribe ids="{{[0,1]}}" bindevent="saved">
  77 + <view class="txt-36-h text-bold font28r">提交预订</view>
  78 + </subscribe>
  79 + </view>
  80 + </view>
70 </page> 81 </page>
71 <menu></menu> 82 <menu></menu>
72 <service></service> 83 <service></service>
@@ -10,7 +10,9 @@ page{ @@ -10,7 +10,9 @@ page{
10 } 10 }
11 .sex .checked{ 11 .sex .checked{
12 position: relative; 12 position: relative;
13 - color:var(--blue); 13 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  14 + -webkit-background-clip: text;
  15 + -webkit-text-fill-color: transparent;
14 } 16 }
15 .sex .checked:after{ 17 .sex .checked:after{
16 width: 24rpx; 18 width: 24rpx;
@@ -28,6 +30,94 @@ page{ @@ -28,6 +30,94 @@ page{
28 height: 84rpx; 30 height: 84rpx;
29 width: calc(100% - 80rpx); 31 width: calc(100% - 80rpx);
30 } 32 }
  33 +
  34 +.textColor {
  35 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  36 + -webkit-background-clip: text;
  37 + -webkit-text-fill-color: transparent;
  38 + display: flex;
  39 + align-items: center;
  40 + justify-content: center;
  41 + font-size: 28rpx;
  42 +}
  43 +
  44 +.textColor image {
  45 + width: 40rpx;
  46 + height: 40rpx;
  47 + margin-right: 8rpx;
  48 +}
  49 +
  50 +.btns {
  51 + display: flex;
  52 + align-items: center;
  53 + justify-content: space-between;
  54 + background: #fff;
  55 + padding: 34rpx 40rpx 20rpx 40rpx;
  56 +}
  57 +
  58 +.checkBtn {
  59 + width: 43%;
  60 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  61 + -webkit-background-clip: text;
  62 + -webkit-text-fill-color: transparent;
  63 + border: 2rpx solid #fe6806;
  64 + height: 70rpx;
  65 + line-height: 70rpx;
  66 + border-radius: 198rpx;
  67 + display: flex;
  68 + align-items: center;
  69 + justify-content: center;
  70 + font-weight: 600;
  71 +}
  72 +
  73 +.round {
  74 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  75 + color: #fff;
  76 + width: 43%;
  77 + height: 72rpx;
  78 + line-height: 72rpx;
  79 + border-radius: 198rpx;
  80 + display: flex;
  81 + align-items: center;
  82 + justify-content: center;
  83 + margin: 0;
  84 +}
  85 +
  86 +.round view {
  87 + width: 100%;
  88 + height: 70rpx;
  89 + line-height: 70rpx;
  90 + border-radius: 198rpx;
  91 + display: flex;
  92 + align-items: center;
  93 + justify-content: center;
  94 + margin: 0;
  95 +}
  96 +
  97 +.title {
  98 + width: 112rpx;
  99 + text-align: justify;
  100 + height: 100rpx;
  101 + line-height: 100rpx;
  102 +}
  103 +
  104 +.title:after {
  105 + content: '';
  106 + display: inline-block;
  107 + width: 100%;
  108 +}
  109 +
  110 +.pickerBox {
  111 + display: flex;
  112 + align-items: center;
  113 + font-family: PingFang SC;
  114 + font-weight: 400;
  115 +}
  116 +
  117 +.pickerBox image {
  118 + width: 24rpx;
  119 + height: 24rpx;
  120 +}
31 /* 121 /*
32 .pages{ 122 .pages{
33 padding: 30rpx; 123 padding: 30rpx;
  1 +// pages/reserveNew/collect.js
  2 +import App from '../../utils/api';
  3 +Page({
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 + barHeight: '', //状态栏+导航栏高度
  9 + checkType: '', //城市筛选1 美食筛选2
  10 + cateList: [], //美食列表
  11 + seachList: [{
  12 + id: '1',
  13 + title: '全部城市',
  14 + check: false,
  15 + },
  16 + {
  17 + id: '2',
  18 + title: '美食筛选',
  19 + check: false,
  20 + }
  21 + ],
  22 + cityList: [{
  23 + id: '1',
  24 + name: '全部城市',
  25 + check: true,
  26 + },
  27 + {
  28 + id: '2',
  29 + name: '北京市',
  30 + check: false,
  31 + },
  32 + {
  33 + id: '3',
  34 + name: '天津市',
  35 + check: false,
  36 + },
  37 + {
  38 + id: '4',
  39 + name: '唐山市',
  40 + check: false,
  41 + }
  42 + ],
  43 + sellerInfo: [{
  44 + "id": "8",
  45 + "sellername": "石府大酒店",
  46 + "is_parking": "1",
  47 + "average": "85",
  48 + "cate": [
  49 + "中餐",
  50 + "京菜鲁菜",
  51 + "淮扬菜"
  52 + ],
  53 + "juli": '300m',
  54 + 'shoucang': '0',
  55 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  56 + }]
  57 + },
  58 + modal: '',
  59 + /**
  60 + * 生命周期函数--监听页面加载
  61 + */
  62 + onLoad(options) {
  63 + this.modal = this.selectComponent("#seachModal");
  64 + this.getCates()
  65 + },
  66 + // 选择筛选
  67 + checkDish(e) {
  68 + let activeId = e.currentTarget.dataset['id'];
  69 + const {
  70 + data
  71 + } = this;
  72 + const list = data.checkType == '1' ? data.cityList : data.cateList;
  73 + const idx = list.findIndex(item => item.id === activeId);
  74 + if (idx !== -1) {
  75 + if (data.checkType == '1') {
  76 + list.forEach((item, i) => {
  77 + if (i != idx) {
  78 + item.check = false;
  79 + } else {
  80 + item.check = true;
  81 + }
  82 + })
  83 + let seachList = data.seachList
  84 + seachList[0].title = data.cityList[idx].name;
  85 + this.setData({
  86 + seachList
  87 + })
  88 + this.modal.closeModal()
  89 + } else {
  90 + list[idx].check = !list[idx].check;
  91 + }
  92 + }
  93 + this.setData({
  94 + [data.checkType === '1' ? 'cityList' : 'cateList']: list,
  95 + });
  96 + },
  97 + // 重置
  98 + resetFun() {
  99 + let cateList = this.data.cateList;
  100 + cateList.forEach(i => {
  101 + i.check = false;
  102 + })
  103 + this.setData({
  104 + cateList,
  105 + });
  106 + },
  107 + // 筛选点确定
  108 + submitFun() {
  109 + const result1 = this.data.cateList.filter(item => item.check).map(item => item.id).join(',');
  110 + console.log('选择的菜品id', result1);
  111 + this.modal.closeModal()
  112 + },
  113 + // 切换筛选
  114 + checkSeachFun(e) {
  115 + let type = e.currentTarget.dataset['type'];
  116 + let seachList = this.data.seachList;
  117 + let i = type == '1' ? 0 : 1;
  118 + let idx = type == '1' ? 1 : 0
  119 + let check = seachList[i].check
  120 + if (check) {
  121 + seachList[i].check = false
  122 + seachList[idx].check = false
  123 + this.modal.closeModal()
  124 + } else {
  125 + seachList[i].check = true
  126 + seachList[idx].check = false
  127 + this.modal.showModal()
  128 + }
  129 + this.setData({
  130 + checkType: type,
  131 + seachList
  132 + })
  133 + },
  134 + // 获取美食列表
  135 + getCates() {
  136 + App.Reserve.GetCustomerConfig().then(res => {
  137 + let cateList = res.data.cate;
  138 + cateList.forEach(i => {
  139 + i.check = false;
  140 + })
  141 + this.setData({
  142 + cateList,
  143 + })
  144 + })
  145 + },
  146 + /**
  147 + * 生命周期函数--监听页面初次渲染完成
  148 + */
  149 + onReady() {
  150 +
  151 + },
  152 +
  153 + /**
  154 + * 生命周期函数--监听页面显示
  155 + */
  156 + onShow() {
  157 + //导航栏自适应
  158 + let systemInfo = wx.getSystemInfoSync();
  159 + let reg = /ios/i;
  160 + let pt = 20; //导航状态栏上内边距
  161 + let h = 44; //导航状态栏高度
  162 + if (reg.test(systemInfo.system)) {
  163 + pt = systemInfo.statusBarHeight;
  164 + h = 44;
  165 + } else {
  166 + pt = systemInfo.statusBarHeight;
  167 + h = 48;
  168 + }
  169 + this.setData({
  170 + barHeight: pt + h,
  171 + })
  172 + this.modal.closeModal()
  173 + this.getCates()
  174 + },
  175 +
  176 + /**
  177 + * 生命周期函数--监听页面隐藏
  178 + */
  179 + onHide() {
  180 +
  181 + },
  182 +
  183 + /**
  184 + * 生命周期函数--监听页面卸载
  185 + */
  186 + onUnload() {
  187 +
  188 + },
  189 +
  190 + /**
  191 + * 页面相关事件处理函数--监听用户下拉动作
  192 + */
  193 + onPullDownRefresh() {
  194 +
  195 + },
  196 +
  197 + /**
  198 + * 页面上拉触底事件的处理函数
  199 + */
  200 + onReachBottom() {
  201 +
  202 + },
  203 +
  204 + /**
  205 + * 用户点击右上角分享
  206 + */
  207 + onShareAppMessage() {
  208 +
  209 + }
  210 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav",
  7 + "my-modal": "/components/modal/modal"
  8 + }
  9 +}
  1 +<!--pages/reserveNew/collect.wxml-->
  2 +<nav backgroundColor="#fff" place="{{false}}" class="navhome">
  3 + 我的收藏
  4 +</nav>
  5 +<view class="topBox" style="position: fixed;top:{{barHeight}}px;left: 0;z-index: 100;">
  6 + <view class="seachInfo seachInfo{{item.id}}" bindtap="checkSeachFun" data-type="{{item.id}}" wx:for="{{seachList}}" wx:key="{{item.id}}">
  7 + <text class="{{item.check ? 'checkTitle':''}}">{{item.title}}</text>
  8 + <image src="https://qn.colorcun.com/{{item.check?'arrowTop':'arrowBottom'}}.png" mode="" />
  9 + </view>
  10 +</view>
  11 +<view class="mian" style="padding-top:{{barHeight+20}}px;">
  12 + <view class="sellerBox">
  13 + <view class="sellerItems" wx:for="{{sellerInfo}}" wx:key="{{item.id}}">
  14 + <image class="sellerimage" src="{{item.seller_image}}" mode="scaleToFill" />
  15 + <view class="info">
  16 + <view class="news">
  17 + <text class="info_name font28r">{{item.sellername}}</text>
  18 + <text wx:if="{{item.is_parking == '1'}}" class="park font20r">可停车</text>
  19 + </view>
  20 + <view class="news">
  21 + <view>
  22 + <text wx:if="{{item.cate}}" class="texts cateText font24r">{{item.cate}}</text>
  23 + <text class="texts font24r" wx:if="{{item.average && item.average>0}}">¥{{item.average}}</text>
  24 + </view>
  25 + <view class="texts font24r">{{item.juli}}</view>
  26 + </view>
  27 + <view class="bottom_btns">
  28 + <view class="book font24r">订过</view>
  29 + <view class="book font24r">去过</view>
  30 + <view class="book font24r">好友订过</view>
  31 + <view class="book font24r">我有券</view>
  32 + </view>
  33 + <view class="onLineBtn">
  34 + <view class="onLineBtn font24r">领券预订</view>
  35 + </view>
  36 + </view>
  37 + </view>
  38 + </view>
  39 +</view>
  40 +<my-modal id="seachModal" fadeStyle="slideDown" height="52%" modalTop="{{barHeight+20}}px">
  41 + <view slot="modalContent">
  42 + <view class="cityBox" wx:if="{{checkType == '1'}}">
  43 + <view class="city font24r" bindtap="checkDish" data-id="{{item.id}}" data-check="{{item.check}}" wx:for="{{cityList}}" wx:key="{{item.id}}">
  44 + {{item.name}}
  45 + <image wx:if="{{item.check}}" src="https://qn.colorcun.com/checkIcon.png" mode="" />
  46 + </view>
  47 + </view>
  48 + <viw class="titleBox font28r" wx:if="{{checkType == '2'}}">菜系(可多选)</viw>
  49 + <view class="dishBox" wx:if="{{checkType == '2'}}">
  50 + <view class="dish font24r {{item.check?'dishCheck':''}}" bindtap="checkDish" data-id="{{item.id}}" data-check="{{item.check}}" wx:for="{{cateList}}" wx:key="{{item.id}}">
  51 + {{item.name}}
  52 + </view>
  53 + </view>
  54 + <view class="btns" wx:if="{{checkType == '2'}}">
  55 + <button class="font28r btn reset" bindtap="resetFun">重置</button>
  56 + <button class="font28r btn sure" bindtap="submitFun">确定</button>
  57 + </view>
  58 + </view>
  59 +</my-modal>
  1 +/* pages/reserveNew/collect.wxss */
  2 +
  3 +page {
  4 + background: #F5F5F5;
  5 +}
  6 +
  7 +.topBox {
  8 + width: 100%;
  9 + display: flex;
  10 + align-items: center;
  11 + background: #fff;
  12 + height: 40rpx;
  13 +}
  14 +
  15 +.seachInfo {
  16 + display: flex;
  17 + align-items: center;
  18 + justify-content: center;
  19 +}
  20 +
  21 +.seachInfo1 {
  22 + padding: 0 20rpx 0 32rpx;
  23 +}
  24 +
  25 +.seachInfo image {
  26 + width: 24rpx;
  27 + height: 24rpx;
  28 + margin-left: 4rpx;
  29 +}
  30 +
  31 +.seachInfo text {
  32 + font-family: PingFang SC;
  33 + color: #000;
  34 + font-size: 28rpx;
  35 +}
  36 +
  37 +.seachInfo .checkTitle {
  38 + height: 60rpx;
  39 + line-height: 60rpx;
  40 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  41 + -webkit-background-clip: text;
  42 + -webkit-text-fill-color: transparent;
  43 +}
  44 +
  45 +.sellerBox {
  46 + display: flex;
  47 + flex-direction: column;
  48 + margin: 0 12rpx;
  49 +}
  50 +
  51 +.sellerItems {
  52 + margin-top: 12rpx;
  53 + background: #fff;
  54 + border-radius: 10rpx;
  55 + display: flex;
  56 + padding: 24rpx;
  57 +
  58 +}
  59 +
  60 +.sellerimage {
  61 + width: 200rpx;
  62 + height: 200rpx;
  63 + position: relative;
  64 + border-radius: 10rpx;
  65 +}
  66 +
  67 +.cateText {
  68 + margin-right: 40rpx;
  69 +}
  70 +
  71 +
  72 +.info {
  73 + margin-left: 16rpx;
  74 + flex: 1;
  75 +}
  76 +
  77 +.news {
  78 + display: flex;
  79 + align-items: center;
  80 + justify-content: space-between;
  81 + margin-bottom: 10rpx;
  82 +}
  83 +
  84 +
  85 +.park {
  86 + background: #FFEEDF;
  87 + color: #B56737;
  88 + padding: 8rpx 12rpx 0 12rpx;
  89 + border-radius: 4rpx;
  90 + height: 30rpx;
  91 + line-height: 30rpx;
  92 + flex-shrink: 0;
  93 +}
  94 +
  95 +.news text,
  96 +.news view {
  97 + font-family: PingFang SC;
  98 +}
  99 +
  100 +.info_name {
  101 + color: #000;
  102 + font-weight: 600;
  103 +}
  104 +
  105 +.onLineBtn {
  106 + margin-top: 24rpx;
  107 + display: flex;
  108 + justify-content: flex-end;
  109 +}
  110 +
  111 +.onLineBtn view {
  112 + width: 158rpx;
  113 + height: 42rpx;
  114 + line-height: 42rpx;
  115 + display: flex;
  116 + align-items: center;
  117 + justify-content: center;
  118 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  119 + -webkit-background-clip: text;
  120 + -webkit-text-fill-color: transparent;
  121 + border: 2rpx solid #fe6806;
  122 + border-radius: 198rpx;
  123 + font-weight: 600;
  124 + font-family: PingFang SC;
  125 + position: relative;
  126 +}
  127 +
  128 +.bottom_btns {
  129 + display: flex;
  130 + padding-bottom: 12rpx;
  131 + border-bottom: 2rpx solid #F7F7F7;
  132 +}
  133 +
  134 +.book {
  135 + margin-right: 8rpx;
  136 + padding: 4rpx 12rpx;
  137 + background: #fff7f5;
  138 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  139 + -webkit-background-clip: text;
  140 + -webkit-text-fill-color: transparent;
  141 + border-radius: 4rpx;
  142 +}
  143 +
  144 +#seachModal .mymodal {
  145 + width: 100% !important;
  146 + margin: 0 auto !important;
  147 + left: 0 !important;
  148 + right: 0 !important;
  149 + z-index: 250 !important;
  150 + border-radius: 0 !important;
  151 +}
  152 +
  153 +#seachModal .mask {
  154 + top: 30% !important;
  155 +}
  156 +
  157 +.mymodal .mymodal-content {
  158 + height: auto !important;
  159 + max-height: 87% !important;
  160 +}
  161 +
  162 +.mymodal-content {
  163 + padding: 22rpx !important;
  164 +}
  165 +
  166 +.dishBox {
  167 + width: 100%;
  168 + display: flex;
  169 + align-items: center;
  170 + flex-wrap: wrap;
  171 + justify-content: space-between;
  172 + margin-top: 28rpx;
  173 +}
  174 +
  175 +.dish {
  176 + width: 22%;
  177 + height: 62rpx;
  178 + display: flex;
  179 + align-items: center;
  180 + justify-content: center;
  181 + border-radius: 10rpx;
  182 + border: 2rpx solid #CBCBCB;
  183 + margin-bottom: 12rpx;
  184 +}
  185 +
  186 +.cityBox {
  187 + width: 100%;
  188 + display: flex;
  189 + align-items: center;
  190 + flex-direction: column;
  191 + flex-wrap: wrap;
  192 + justify-content: space-between;
  193 + margin-top: 28rpx;
  194 +}
  195 +
  196 +.city {
  197 + width: 100%;
  198 + height: 62rpx;
  199 + display: flex;
  200 + align-items: center;
  201 + justify-content: space-between;
  202 + border-radius: 10rpx;
  203 + margin-bottom: 12rpx;
  204 + padding: 0 40rpx 0 32rpx;
  205 + box-sizing: border-box;
  206 +}
  207 +
  208 +.city image {
  209 + width: 28rpx;
  210 + height: 28rpx;
  211 +}
  212 +
  213 +.titleBox {
  214 + color: #000;
  215 + font-weight: 600;
  216 + font-family: PingFang SC;
  217 +}
  218 +
  219 +.dishCheck {
  220 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  221 + -webkit-background-clip: text;
  222 + -webkit-text-fill-color: transparent;
  223 + border: 2rpx solid #fe6806;
  224 +}
  225 +
  226 +.btns {
  227 + width: 100%;
  228 + display: flex;
  229 + align-items: center;
  230 + justify-content: space-between;
  231 + margin: 34rpx 0;
  232 +}
  233 +
  234 +.btn {
  235 + width: 40%;
  236 + display: flex;
  237 + align-items: center;
  238 + justify-content: center;
  239 + border-radius: 198rpx;
  240 + font-family: PingFang SC;
  241 +}
  242 +
  243 +.reset {
  244 + border: 2rpx solid #CBCBCB;
  245 + background: #fff;
  246 + font-weight: 400;
  247 +}
  248 +
  249 +.sure {
  250 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  251 + color: #fff;
  252 +}
  1 +// pages/reserveNew/coupon_sellerList.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 + list: [{
  9 + "sid": '8',
  10 + "sellername": "石府大酒店",
  11 + 'price': '1500',
  12 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  13 + }, ]
  14 + },
  15 +
  16 + /**
  17 + * 生命周期函数--监听页面加载
  18 + */
  19 + onLoad(options) {
  20 +
  21 + },
  22 + gotoCoupon() {
  23 + wx.navigateTo({
  24 + url: '/pages/me/coupon_news',
  25 + })
  26 + },
  27 + /**
  28 + * 生命周期函数--监听页面初次渲染完成
  29 + */
  30 + onReady() {
  31 +
  32 + },
  33 +
  34 + /**
  35 + * 生命周期函数--监听页面显示
  36 + */
  37 + onShow() {
  38 +
  39 + },
  40 +
  41 + /**
  42 + * 生命周期函数--监听页面隐藏
  43 + */
  44 + onHide() {
  45 +
  46 + },
  47 +
  48 + /**
  49 + * 生命周期函数--监听页面卸载
  50 + */
  51 + onUnload() {
  52 +
  53 + },
  54 +
  55 + /**
  56 + * 页面相关事件处理函数--监听用户下拉动作
  57 + */
  58 + onPullDownRefresh() {
  59 +
  60 + },
  61 +
  62 + /**
  63 + * 页面上拉触底事件的处理函数
  64 + */
  65 + onReachBottom() {
  66 +
  67 + },
  68 +
  69 + /**
  70 + * 用户点击右上角分享
  71 + */
  72 + onShareAppMessage() {
  73 +
  74 + }
  75 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav"
  7 + }
  8 +}
  1 +<!--pages/reserveNew/coupon_sellerList.wxml-->
  2 +<nav>我的卡券</nav>
  3 +<view class="couponBox">
  4 + <view class="items" bindtap="gotoCoupon" wx:for="{{list}}" wx:key="{{item.sid}}">
  5 + <image class="img1" src="{{item.seller_image}}" mode="aspectFill" />
  6 + <view class="info">
  7 + <view class="topText font28r">{{item.sellername}}</view>
  8 + <view class="checkBox font24r">查看
  9 + <image src="https://qn.colorcun.com/arrowRightIcon.png" mode="" />
  10 + </view>
  11 + <view class="priceText font24r">
  12 + 价值<text>{{item.price}}</text>元
  13 + </view>
  14 + </view>
  15 + </view>
  16 +</view>
  1 +/* pages/reserveNew/coupon_sellerList.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
  6 +.couponBox {
  7 + margin: 12rpx;
  8 + border-radius: 10rpx;
  9 +}
  10 +
  11 +.items {
  12 + background: #fff;
  13 + display: flex;
  14 + align-items: center;
  15 + padding: 24rpx;
  16 + margin-bottom: 12rpx;
  17 +}
  18 +
  19 +.img1 {
  20 + width: 200rpx;
  21 + height: 200rpx;
  22 + border-radius: 10rpx;
  23 +}
  24 +
  25 +.info {
  26 + display: flex;
  27 + flex-direction: column;
  28 + flex: 1;
  29 + margin-left: 16rpx;
  30 +}
  31 +
  32 +.info image {
  33 + width: 24rpx;
  34 + height: 24rpx;
  35 + margin-left: 4rpx;
  36 +}
  37 +
  38 +.topText {
  39 + font-weight: 600;
  40 + font-family: Sinter;
  41 +}
  42 +
  43 +.checkBox {
  44 + display: flex;
  45 + align-items: center;
  46 + justify-content: flex-end;
  47 + font-family: PingFang SC;
  48 + margin: 20rpx 0;
  49 + color: #696969;
  50 + font-weight: 400;
  51 +}
  52 +
  53 +.priceText {
  54 + font-family: PingFang SC;
  55 + display: flex;
  56 + align-items: baseline;
  57 + font-weight: 400;
  58 + color: #696969;
  59 +}
  60 +
  61 +.priceText text {
  62 + color: #FD4D59;
  63 + font-size: 56rpx;
  64 + position: relative;
  65 + bottom: -6rpx;
  66 + margin: 0 8rpx;
  67 + font-weight: 600;
  68 +}
  1 +// pages/reserveNew/index.js
  2 +import App from '../../utils/api';
  3 +Page({
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 + displayModal: false, //更多的弹框
  9 + customItem: '全部',
  10 + region: ['北京市', '北京市', '东城区'],
  11 + activeId: '1', //选择的tab
  12 + barHeight: '', //状态栏+导航栏高度
  13 + checkType: '1',
  14 + cateList: [],
  15 + seachList: [{
  16 + id: '1',
  17 + title: '美食筛选',
  18 + check: true,
  19 + },
  20 + {
  21 + id: '2',
  22 + title: '包间筛选',
  23 + check: false,
  24 + }
  25 + ],
  26 + roomList: [{
  27 + id: '1',
  28 + name: '2人间',
  29 + check: false,
  30 + },
  31 + {
  32 + id: '2',
  33 + name: '4人间',
  34 + check: false,
  35 + },
  36 + {
  37 + id: '3',
  38 + name: '6人间',
  39 + check: false,
  40 + },
  41 + {
  42 + id: '4',
  43 + name: '8人间',
  44 + check: false,
  45 + },
  46 + {
  47 + id: '5',
  48 + name: '10人间',
  49 + check: false,
  50 + },
  51 + {
  52 + id: '6',
  53 + name: '12人间',
  54 + check: false,
  55 + },
  56 + {
  57 + id: '7',
  58 + name: '15人间',
  59 + check: false,
  60 + },
  61 + {
  62 + id: '8',
  63 + name: '20人间',
  64 + check: false,
  65 + },
  66 + {
  67 + id: '9',
  68 + name: '特大包间',
  69 + check: false,
  70 + }
  71 + ],
  72 + tabList: [{
  73 + title: '订过',
  74 + id: '1'
  75 + },
  76 + {
  77 + title: '去过',
  78 + id: '2'
  79 + },
  80 + {
  81 + title: '好友订过',
  82 + id: '3'
  83 + },
  84 + {
  85 + title: '我有券',
  86 + id: '4'
  87 + },
  88 + {
  89 + title: '更多',
  90 + id: '5'
  91 + }
  92 + ],
  93 + sellerInfo: [{
  94 + "id": "8",
  95 + "sellername": "石府大酒店",
  96 + "is_parking": "1",
  97 + "average": "85",
  98 + "cate": [
  99 + "中餐",
  100 + "京菜鲁菜",
  101 + "淮扬菜"
  102 + ],
  103 + "juli": '300m',
  104 + 'shoucang': '0',
  105 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  106 + },
  107 + {
  108 + "id": "8",
  109 + "sellername": "石府大酒店",
  110 + "is_parking": "1",
  111 + "average": "85",
  112 + "cate": [
  113 + "中餐",
  114 + "京菜鲁菜",
  115 + "淮扬菜"
  116 + ],
  117 + "juli": '300m',
  118 + 'shoucang': '1',
  119 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  120 + },
  121 + {
  122 + "id": "8",
  123 + "sellername": "石府大酒店",
  124 + "is_parking": "1",
  125 + "average": "85",
  126 + "cate": [
  127 + "中餐",
  128 + "京菜鲁菜",
  129 + "淮扬菜"
  130 + ],
  131 + "juli": '300m',
  132 + 'shoucang': '1',
  133 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  134 + },
  135 + {
  136 + "id": "8",
  137 + "sellername": "石府大酒店",
  138 + "is_parking": "1",
  139 + "average": "85",
  140 + "cate": [
  141 + "中餐",
  142 + "京菜鲁菜",
  143 + "淮扬菜"
  144 + ],
  145 + "juli": '300m',
  146 + 'shoucang': '1',
  147 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  148 + }
  149 + ]
  150 + },
  151 + modal: '',
  152 + /**
  153 + * 生命周期函数--监听页面加载
  154 + */
  155 + onLoad(options) {
  156 + this.modal = this.selectComponent("#seachModal"); //通过给组件所起的id调用组件
  157 + },
  158 + // 选择筛选
  159 + checkDish(e) {
  160 + let activeId = e.currentTarget.dataset['id'];
  161 + const {
  162 + data
  163 + } = this;
  164 + const list = data.checkType == '1' ? data.cateList : data.roomList;
  165 + const idx = list.findIndex(item => item.id === activeId);
  166 + if (idx !== -1) {
  167 + list[idx].check = !list[idx].check;
  168 + }
  169 + this.setData({
  170 + [data.checkType === '1' ? 'cateList' : 'roomList']: list,
  171 + checkList: list,
  172 + });
  173 + },
  174 + // 重置
  175 + resetFun() {
  176 + let data = this.data;
  177 + let list = data.checkType == '1' ? data.cateList : data.roomList;
  178 + list.forEach(i => {
  179 + i.check = false;
  180 + })
  181 + this.setData({
  182 + [data.checkType === '1' ? 'cateList' : 'roomList']: list,
  183 + checkList: list,
  184 + });
  185 + },
  186 + // 筛选点确定
  187 + submitFun() {
  188 + const result1 = this.data.cateList.filter(item => item.check).map(item => item.id).join(',');
  189 + const result2 = this.data.roomList.filter(item => item.check).map(item => item.id).join(',');
  190 + console.log('result1result1result1-------', result1);
  191 + console.log('result2result2-----------', result2);
  192 + this.modal.closeModal()
  193 + },
  194 + // 切换tab
  195 + checkTabFun(e) {
  196 + let activeId = e.currentTarget.dataset['id'];
  197 + let displayModal = this.data.displayModal
  198 + if (activeId == '5') {
  199 + if (displayModal) {
  200 + this.modal.closeModal()
  201 + } else {
  202 + this.modal.showModal()
  203 + }
  204 + }
  205 + this.setData({
  206 + activeId,
  207 + displayModal: !displayModal
  208 + })
  209 + },
  210 + checkSeachFun(e) {
  211 + let type = e.currentTarget.dataset['type'];
  212 + let checkList = type == '1' ? this.data.cateList : this.data.roomList
  213 + this.setData({
  214 + checkType: type,
  215 + checkList
  216 + })
  217 + },
  218 + // 获取美食列表
  219 + getCates() {
  220 + App.Reserve.GetCustomerConfig().then(res => {
  221 + let cateList = res.data.cate;
  222 + cateList.forEach(i => {
  223 + i.check = false;
  224 + })
  225 + this.setData({
  226 + cateList,
  227 + checkList: cateList
  228 + })
  229 + })
  230 + },
  231 + bindRegionChange(e) {
  232 + console.log('picker发送选择改变,携带值为', e.detail.value)
  233 + this.setData({
  234 + region: e.detail.value
  235 + })
  236 + },
  237 + /**
  238 + * 生命周期函数--监听页面初次渲染完成
  239 + */
  240 + onReady() {
  241 +
  242 + },
  243 +
  244 + /**
  245 + * 生命周期函数--监听页面显示
  246 + */
  247 + onShow() {
  248 + //导航栏自适应
  249 + let systemInfo = wx.getSystemInfoSync();
  250 + let reg = /ios/i;
  251 + let pt = 20; //导航状态栏上内边距
  252 + let h = 44; //导航状态栏高度
  253 + if (reg.test(systemInfo.system)) {
  254 + pt = systemInfo.statusBarHeight;
  255 + h = 44;
  256 + } else {
  257 + pt = systemInfo.statusBarHeight;
  258 + h = 48;
  259 + }
  260 + this.setData({
  261 + barHeight: pt + h,
  262 + })
  263 + this.modal.closeModal()
  264 + this.getCates()
  265 + },
  266 +
  267 + /**
  268 + * 生命周期函数--监听页面隐藏
  269 + */
  270 + onHide() {
  271 +
  272 + },
  273 +
  274 + /**
  275 + * 生命周期函数--监听页面卸载
  276 + */
  277 + onUnload() {
  278 +
  279 + },
  280 +
  281 + /**
  282 + * 页面相关事件处理函数--监听用户下拉动作
  283 + */
  284 + onPullDownRefresh() {
  285 +
  286 + },
  287 +
  288 + /**
  289 + * 页面上拉触底事件的处理函数
  290 + */
  291 + onReachBottom() {
  292 +
  293 + },
  294 +
  295 + /**
  296 + * 用户点击右上角分享
  297 + */
  298 + onShareAppMessage() {
  299 +
  300 + }
  301 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav",
  7 + "my-modal": "/components/modal/modal"
  8 + }
  9 +}
  1 +<!--pages/reserveNew/index.wxml-->
  2 +<nav backgroundColor="#fff" place="{{false}}" class="navhome">
  3 + <view class="seachBox">
  4 + <picker mode="region" bindchange="bindRegionChange" value="{{region}}" custom-item="{{customItem}}">
  5 + <view class="picker">
  6 + <view class="area font28r">{{region[2]}}
  7 + <image src="https://qn.colorcun.com/editIcon.png" mode="" />
  8 + </view>
  9 + </view>
  10 + </picker>
  11 + <view class="seachSeller font24r">
  12 + <image src="https://qn.colorcun.com/seachIcon.png" mode="" /> 输入商户名、地点、菜系
  13 + </view>
  14 + </view>
  15 +</nav>
  16 +<view class="mian" style="padding-top:{{barHeight}}px;">
  17 + <view class="tabBox" style="top:{{barHeight}}px;">
  18 + <view bindtap="checkTabFun" data-id="{{item.id}}" class="tabItems font28r tabItems{{item.id}} {{activeId == item.id ? 'activeTab':''}}" wx:for="{{tabList}}">
  19 + {{item.title}}
  20 + </view>
  21 + </view>
  22 + <view class="sellerBox">
  23 + <view class="sellerItems" wx:for="{{sellerInfo}}" wx:key="{{item.id}}">
  24 + <view class="sellerImg">
  25 + <image class="sellerimage" src="{{item.seller_image}}" mode="scaleToFill" />
  26 + <image class="collectImg" src="https://qn.colorcun.com/{{item.shoucang == '1'?'selectCollectSellerIcon' : 'collectSellerIcon'}}.png" mode="" />
  27 + </view>
  28 + <view class="info">
  29 + <view class="news">
  30 + <view class="aboutInfo">
  31 + <text wx:if="{{item.is_parking == '1'}}" class="park font20r">可停车</text>
  32 + <text class="info_name font28r">{{item.sellername}}</text>
  33 + </view>
  34 + <view class="texts font24r">{{item.juli}}</view>
  35 + </view>
  36 + <view class="texts book font24r">订过 去过 好友订过 我有券</view>
  37 + <view class="news">
  38 + <view>
  39 + <text wx:if="{{item.cate}}" class="texts cateText font24r">{{item.cate}}</text>
  40 + <text class="texts font24r" wx:if="{{item.average && item.average>0}}">¥{{item.average}}</text>
  41 + </view>
  42 + <view class="getCoupons font24r">领券</view>
  43 + </view>
  44 + </view>
  45 + </view>
  46 + </view>
  47 +</view>
  48 +<my-modal id="seachModal" fadeStyle="slideDown" height="68%" modalTop="{{barHeight+41}}px">
  49 + <view slot="modalName" class="titleModal">
  50 + <view class="seachInfo" bindtap="checkSeachFun" data-type="{{item.id}}" wx:for="{{seachList}}" wx:key="{{item.id}}">
  51 + <text class="{{item.id == checkType ? 'checkTitle':''}}">{{item.title}}</text>
  52 + <image src="https://qn.colorcun.com/{{item.id == checkType?'arrowTop':'arrowBottom'}}.png" mode="" />
  53 + </view>
  54 + </view>
  55 + <view slot="modalContent">
  56 + <viw class="title font28r">{{checkType == '1'?'菜系(可多选)':'包间类型(可多选)'}}</viw>
  57 + <view class="dishBox">
  58 + <view class="dish font24r {{item.check?'dishCheck':''}}" bindtap="checkDish" data-id="{{item.id}}" data-check="{{item.check}}" wx:for="{{checkList}}" wx:key="{{item.id}}">
  59 + {{item.name}}
  60 + </view>
  61 + </view>
  62 + <view class="btns">
  63 + <button class="font28r btn reset" bindtap="resetFun">重置</button>
  64 + <button class="font28r btn sure" bindtap="submitFun">确定</button>
  65 + </view>
  66 + </view>
  67 +</my-modal>
  1 +/* pages/reserveNew/index.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
  6 +.seachBox {
  7 + display: flex;
  8 + align-items: center;
  9 + margin-left: 24rpx;
  10 + font-family: PingFang SC;
  11 +}
  12 +
  13 +.area {
  14 + color: #363642;
  15 + font-weight: 600;
  16 + font-family: PingFang SC;
  17 +}
  18 +
  19 +.area image {
  20 + width: 20rpx;
  21 + height: 20rpx;
  22 + margin: 0 20rpx 0 4rpx;
  23 +}
  24 +
  25 +.seachSeller {
  26 + padding: 0 50rpx 0 20rpx;
  27 + border: 2rpx solid #CBCBCB;
  28 + border-radius: 198rpx;
  29 + height: 64rpx;
  30 + line-height: 64rpx;
  31 + color: #696969;
  32 + font-family: PingFang SC;
  33 + font-weight: 400;
  34 +}
  35 +
  36 +.seachSeller image {
  37 + width: 24rpx;
  38 + height: 24rpx;
  39 +}
  40 +
  41 +.navhome {
  42 + position: relative;
  43 +}
  44 +
  45 +.seachBox {
  46 + position: absolute;
  47 + left: -188rpx;
  48 +}
  49 +
  50 +.tabBox {
  51 + color: #000;
  52 + display: flex;
  53 + align-items: center;
  54 + justify-content: space-evenly;
  55 + background: #fff;
  56 + padding-bottom: 24rpx;
  57 + position: fixed;
  58 + z-index: 100;
  59 + width: 100%;
  60 +}
  61 +
  62 +.tabItems {
  63 + font-weight: 600;
  64 + font-family: PingFang SC;
  65 + position: relative;
  66 + padding: 10rpx;
  67 +}
  68 +
  69 +.activeTab {
  70 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  71 + -webkit-background-clip: text;
  72 + -webkit-text-fill-color: transparent;
  73 +}
  74 +
  75 +.activeTab::after {
  76 + content: '';
  77 + display: block;
  78 + position: absolute;
  79 + bottom: 0;
  80 + left: 25%;
  81 + right: 0;
  82 + width: 40rpx;
  83 + height: 8rpx;
  84 + border-radius: 198rpx;
  85 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  86 +}
  87 +
  88 +.tabItems3::after {
  89 + left: 35%;
  90 +}
  91 +
  92 +.tabItems4::after {
  93 + left: 32%;
  94 +}
  95 +
  96 +.sellerBox {
  97 + display: flex;
  98 + flex-direction: column;
  99 + padding-top: 84rpx;
  100 +}
  101 +
  102 +.sellerItems {
  103 + margin: 12rpx;
  104 + background: #fff;
  105 + border-radius: 10rpx;
  106 +}
  107 +
  108 +.cateText {
  109 + margin-right: 40rpx;
  110 +}
  111 +
  112 +.sellerImg {
  113 + width: 100%;
  114 + height: 410rpx;
  115 + position: relative;
  116 +}
  117 +
  118 +.sellerimage {
  119 + width: 100%;
  120 + height: 100%;
  121 +}
  122 +
  123 +.info {
  124 + padding: 16rpx 24rpx 24rpx 24rpx;
  125 +}
  126 +
  127 +.news {
  128 + display: flex;
  129 + align-items: center;
  130 + justify-content: space-between;
  131 +}
  132 +
  133 +.park {
  134 + background: #FFEEDF;
  135 + color: #B56737;
  136 + padding: 8rpx 12rpx 0 12rpx;
  137 + border-radius: 4rpx;
  138 + height: 30rpx;
  139 + line-height: 30rpx;
  140 + flex-shrink: 0;
  141 +}
  142 +
  143 +.news text,
  144 +.news view {
  145 + font-family: PingFang SC;
  146 +}
  147 +
  148 +.info_name {
  149 + color: #000;
  150 + font-weight: 600;
  151 + margin-left: 8rpx;
  152 +}
  153 +
  154 +.texts {
  155 + color: #696969;
  156 + font-weight: 400;
  157 +}
  158 +
  159 +.aboutInfo {
  160 + margin-bottom: 14rpx;
  161 +}
  162 +
  163 +.book {
  164 + margin-bottom: 8rpx;
  165 +}
  166 +
  167 +.getCoupons {
  168 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  169 + -webkit-background-clip: text;
  170 + -webkit-text-fill-color: transparent;
  171 + border: 2rpx solid #fe6806;
  172 + border-radius: 198rpx;
  173 + font-weight: 600;
  174 + padding: 4rpx 32rpx;
  175 +}
  176 +
  177 +.collectImg {
  178 + width: 48rpx;
  179 + height: 48rpx;
  180 + position: absolute;
  181 + right: 24rpx;
  182 + top: 24rpx;
  183 +}
  184 +
  185 +#seachModal .mymodal {
  186 + width: 100% !important;
  187 + margin: 0 auto !important;
  188 + left: 0 !important;
  189 + right: 0 !important;
  190 + z-index: 250 !important;
  191 + border-radius: 0 !important;
  192 +}
  193 +
  194 +#seachModal .mask {
  195 + top: 30% !important;
  196 +}
  197 +
  198 +.mymodal .mymodal-content {
  199 + height: auto !important;
  200 + max-height: 87% !important;
  201 +}
  202 +
  203 +.titleModal {
  204 + width: 100%;
  205 + height: 60rpx;
  206 + display: flex;
  207 +}
  208 +
  209 +.seachInfo {
  210 + width: 50%;
  211 + display: flex;
  212 + align-items: center;
  213 + justify-content: center;
  214 +}
  215 +
  216 +.seachInfo image {
  217 + width: 24rpx;
  218 + height: 24rpx;
  219 + margin-left: 4rpx;
  220 +}
  221 +
  222 +.seachInfo text {
  223 + font-family: PingFang SC;
  224 + color: #000;
  225 + font-size: 28rpx;
  226 +}
  227 +
  228 +.seachInfo .checkTitle {
  229 + height: 60rpx;
  230 + line-height: 60rpx;
  231 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  232 + -webkit-background-clip: text;
  233 + -webkit-text-fill-color: transparent;
  234 +}
  235 +
  236 +.dishBox {
  237 + width: 100%;
  238 + display: flex;
  239 + align-items: center;
  240 + flex-wrap: wrap;
  241 + justify-content: space-between;
  242 + margin-top: 28rpx;
  243 +}
  244 +
  245 +.dish {
  246 + width: 22%;
  247 + height: 62rpx;
  248 + display: flex;
  249 + align-items: center;
  250 + justify-content: center;
  251 + border-radius: 10rpx;
  252 + border: 2rpx solid #CBCBCB;
  253 + margin-bottom: 12rpx;
  254 +}
  255 +
  256 +.mymodal-content {
  257 + padding: 22rpx !important;
  258 +}
  259 +
  260 +.title {
  261 + color: #000;
  262 + font-weight: 600;
  263 + font-family: PingFang SC;
  264 +}
  265 +
  266 +.dishCheck {
  267 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  268 + -webkit-background-clip: text;
  269 + -webkit-text-fill-color: transparent;
  270 + border: 2rpx solid #fe6806;
  271 +}
  272 +
  273 +.btns {
  274 + width: 100%;
  275 + display: flex;
  276 + align-items: center;
  277 + justify-content: space-between;
  278 + margin: 34rpx 0;
  279 +}
  280 +
  281 +.btn {
  282 + width: 40%;
  283 + display: flex;
  284 + align-items: center;
  285 + justify-content: center;
  286 + border-radius: 198rpx;
  287 + font-family: PingFang SC;
  288 +}
  289 +
  290 +.reset {
  291 + border: 2rpx solid #CBCBCB;
  292 + background: #fff;
  293 + font-weight: 400;
  294 +}
  295 +
  296 +.sure {
  297 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  298 + color: #fff;
  299 +}
  1 +// pages/reserveNew/itinerary.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 + barHeight: '', //状态栏+导航栏高度
  9 + activeId: '2', //选择的tab
  10 + tabList: [{
  11 + title: '我的受邀',
  12 + id: '1'
  13 + },
  14 + {
  15 + title: '我的预订',
  16 + id: '2'
  17 + }
  18 + ],
  19 + bookList: [{
  20 + id: "1439387",
  21 + mname: "晚餐",
  22 + week: '周二',
  23 + ddate: "2024年8月25日",
  24 + ddate1: "8月25日",
  25 + tableinfo: "吉祥",
  26 + rname: '王先生',
  27 + status: '0',
  28 + statusTitle: '待确认',
  29 + "sellername": "石府大酒店",
  30 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  31 + },
  32 + {
  33 + id: "1439387",
  34 + mname: "晚餐",
  35 + week: '周二',
  36 + ddate: "2024年8月25日",
  37 + ddate1: "8月25日",
  38 + tableinfo: "吉祥",
  39 + rname: '王先生',
  40 + status: '1',
  41 + statusTitle: '待赴约',
  42 + "sellername": "石府大酒店",
  43 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  44 + },
  45 + {
  46 + id: "1439387",
  47 + mname: "晚餐",
  48 + week: '周二',
  49 + ddate: "2024年8月25日",
  50 + ddate1: "8月25日",
  51 + tableinfo: "吉祥",
  52 + rname: '王先生',
  53 + status: '3',
  54 + statusTitle: '待反馈',
  55 + isPj: '0',
  56 + "sellername": "石府大酒店",
  57 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  58 + },
  59 + {
  60 + id: "1439387",
  61 + mname: "晚餐",
  62 + week: '周二',
  63 + ddate: "2024年8月25日",
  64 + ddate1: "8月25日",
  65 + tableinfo: "吉祥",
  66 + rname: '王先生',
  67 + status: '3',
  68 + statusTitle: '已结束',
  69 + isPj: '1',
  70 + "sellername": "石府大酒店",
  71 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  72 + },
  73 + {
  74 + id: "1439387",
  75 + mname: "晚餐",
  76 + week: '周二',
  77 + ddate: "2024年8月25日",
  78 + ddate1: "8月25日",
  79 + tableinfo: "吉祥",
  80 + rname: '王先生',
  81 + status: '4',
  82 + statusTitle: '已取消',
  83 + "sellername": "石府大酒店",
  84 + "seller_image": "http://libpc.colorcun.com/20250313162436_f5f597ea863038dbfbe3ee31287a915a",
  85 + },
  86 + ]
  87 + },
  88 + // 切换tab
  89 + checkTabFun(e) {
  90 + let activeId = e.currentTarget.dataset['id'];
  91 + this.setData({
  92 + activeId,
  93 + })
  94 + },
  95 + /**
  96 + * 生命周期函数--监听页面加载
  97 + */
  98 + onLoad(options) {
  99 +
  100 + },
  101 +
  102 + /**
  103 + * 生命周期函数--监听页面初次渲染完成
  104 + */
  105 + onReady() {
  106 +
  107 + },
  108 +
  109 + /**
  110 + * 生命周期函数--监听页面显示
  111 + */
  112 + onShow() {
  113 + //导航栏自适应
  114 + let systemInfo = wx.getSystemInfoSync();
  115 + let reg = /ios/i;
  116 + let pt = 20; //导航状态栏上内边距
  117 + let h = 44; //导航状态栏高度
  118 + if (reg.test(systemInfo.system)) {
  119 + pt = systemInfo.statusBarHeight;
  120 + h = 44;
  121 + } else {
  122 + pt = systemInfo.statusBarHeight;
  123 + h = 48;
  124 + }
  125 + this.setData({
  126 + barHeight: pt + h,
  127 + })
  128 + },
  129 +
  130 + /**
  131 + * 生命周期函数--监听页面隐藏
  132 + */
  133 + onHide() {
  134 +
  135 + },
  136 +
  137 + /**
  138 + * 生命周期函数--监听页面卸载
  139 + */
  140 + onUnload() {
  141 +
  142 + },
  143 +
  144 + /**
  145 + * 页面相关事件处理函数--监听用户下拉动作
  146 + */
  147 + onPullDownRefresh() {
  148 +
  149 + },
  150 +
  151 + /**
  152 + * 页面上拉触底事件的处理函数
  153 + */
  154 + onReachBottom() {
  155 +
  156 + },
  157 +
  158 + /**
  159 + * 用户点击右上角分享
  160 + */
  161 + onShareAppMessage() {
  162 +
  163 + }
  164 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav"
  7 + }
  8 +}
  1 +<!--pages/reserveNew/itinerary.wxml-->
  2 +<nav backgroundColor="#fff" place="{{false}}" class="navhome">
  3 + 我的行程
  4 +</nav>
  5 +<view class="tabBox" style="top:{{barHeight}}px;">
  6 + <view bindtap="checkTabFun" data-id="{{item.id}}" class="tabItems font28r {{activeId == item.id ? 'activeTab':''}}" wx:for="{{tabList}}">
  7 + {{item.title}}
  8 + </view>
  9 +</view>
  10 +<view class="mian" style="padding-top:{{barHeight+40}}px;">
  11 + <view class="booking" wx:for="{{bookList}}" wx:key="{{item.id}}">
  12 + <view class="imgs">
  13 + <image class="sellerImg" src="{{item.seller_image}}" mode="scaleToFill" />
  14 + <view class="info">
  15 + <view class="font28r infoDate">{{item.ddate1}}</view>
  16 + <view class="font28r">{{item.week}}<text>{{item.mname}}</text></view>
  17 + </view>
  18 + </view>
  19 + <view class="bookInfo">
  20 + <view class="text1 font24r" wx:if="{{activeId == '1'}}">
  21 + <text class="text3">{{item.rname}}</text>邀请您
  22 + </view>
  23 + <view class="text2 font24r {{activeId =='2'?'text3':''}}">{{item.sellername}}</view>
  24 + <view class="text2 font24r">{{item.ddate}} {{item.mname}}</view>
  25 + <view class="text3 font24r">
  26 + <text>{{item.tableinfo}}</text>
  27 + </view>
  28 + <view class="statusBtn font24r statusBtn{{item.status}} {{item.status=='3' && item.isPj=='1'?'statusBtnPj':''}}" wx:if="{{activeId == '2'}}">
  29 + <image wx:if="{{item.status!='3'}}" src="https://qn.colorcun.com/iconStatus{{item.status}}.png" mode="" />
  30 + <image wx:if="{{item.status=='3'}}" src="https://qn.colorcun.com/{{item.isPj=='1'?'iconStatus3':'iconStatus3_1'}}.png" mode="" />
  31 + <text>{{item.statusTitle}}</text>
  32 + </view>
  33 + </view>
  34 + </view>
  35 +</view>
  1 +/* pages/reserveNew/itinerary.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
  6 +.tabBox {
  7 + color: #000;
  8 + display: flex;
  9 + align-items: center;
  10 + justify-content: space-evenly;
  11 + background: #fff;
  12 + padding-bottom: 24rpx;
  13 + position: fixed;
  14 + z-index: 100;
  15 + width: 100%;
  16 + height: 46rpx;
  17 +}
  18 +
  19 +.tabItems {
  20 + font-weight: 600;
  21 + font-family: PingFang SC;
  22 + position: relative;
  23 + padding: 10rpx;
  24 +}
  25 +
  26 +.activeTab {
  27 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  28 + -webkit-background-clip: text;
  29 + -webkit-text-fill-color: transparent;
  30 +}
  31 +
  32 +.activeTab::after {
  33 + content: '';
  34 + display: block;
  35 + position: absolute;
  36 + bottom: 0;
  37 + left: 35%;
  38 + right: 0;
  39 + width: 40rpx;
  40 + height: 8rpx;
  41 + border-radius: 198rpx;
  42 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  43 +}
  44 +
  45 +.imgs {
  46 + width: 200rpx;
  47 + height: 200rpx;
  48 + border-radius: 10rpx;
  49 + background: rgba(0, 0, 0, 0.6);
  50 + position: relative;
  51 +}
  52 +
  53 +.sellerImg {
  54 + width: 100%;
  55 + height: 100%;
  56 + border-radius: 10rpx;
  57 +}
  58 +
  59 +.booking {
  60 + background: #fff;
  61 + padding: 24rpx;
  62 + border-radius: 10rpx;
  63 + margin: 12rpx 12rpx 0 12rpx;
  64 + display: flex;
  65 + align-items: center;
  66 +}
  67 +
  68 +.info {
  69 + position: absolute;
  70 + display: flex;
  71 + flex-direction: column;
  72 + align-items: center;
  73 + justify-content: center;
  74 + color: #FFE8D7;
  75 + font-weight: 600;
  76 + font-family: PingFang SC;
  77 + top: 0;
  78 + bottom: 0;
  79 + left: 0;
  80 + right: 0;
  81 + letter-spacing: 2rpx;
  82 +}
  83 +
  84 +.info text {
  85 + margin-left: 10rpx;
  86 +}
  87 +
  88 +.infoDate {
  89 + margin-bottom: 16rpx;
  90 +}
  91 +
  92 +.bookInfo {
  93 + color: #000;
  94 + font-family: PingFang SC;
  95 + font-weight: 400;
  96 + margin-left: 16rpx;
  97 + flex: 1;
  98 + position: relative;
  99 + height: 100%;
  100 +}
  101 +
  102 +.text2 {
  103 + color: #696969;
  104 + font-family: PingFang SC;
  105 + font-weight: 400;
  106 + line-height: 34rpx;
  107 + margin: 10rpx 0;
  108 +}
  109 +
  110 +.text3 {
  111 + font-size: 28rpx;
  112 + font-weight: 600;
  113 + margin-right: 8rpx;
  114 + color: #000;
  115 +}
  116 +
  117 +.statusBtn image {
  118 + width: 24rpx;
  119 + height: 24rpx;
  120 + margin-right: 10rpx;
  121 +}
  122 +
  123 +.statusBtn {
  124 + width: 164rpx;
  125 + height: 42rpx;
  126 + border-radius: 198rpx;
  127 + display: flex;
  128 + align-items: center;
  129 + justify-content: center;
  130 + font-family: PingFang SC;
  131 + font-weight: 600;
  132 + position: absolute;
  133 + right: 0;
  134 + bottom: -20%;
  135 +}
  136 +
  137 +.statusBtn1 {
  138 + border: 2rpx solid #4EAD5D;
  139 + color: #4EAD5D;
  140 +}
  141 +
  142 +.statusBtn0 {
  143 + border: 2rpx solid #DE1800;
  144 + color: #DE1800;
  145 +}
  146 +
  147 +.statusBtn3 {
  148 + border: 2rpx solid #4D8EF1;
  149 + color: #4D8EF1;
  150 +}
  151 +
  152 +.statusBtnPj,
  153 +.statusBtn4 {
  154 + border: 2rpx solid #696969;
  155 + color: #696969;
  156 +}
  157 +
  158 +.statusBtnPj image {
  159 + width: 36rpx;
  160 + height: 34rpx;
  161 +}
  1 +// pages/reserveNew/my.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 + moduleList: [{
  9 + id: '1',
  10 + title: '卡券',
  11 + url: '/pages/reserveNew/coupon_sellerList',
  12 + img: 'https://qn.colorcun.com/couponsIcon.png'
  13 + },
  14 + {
  15 + id: '2',
  16 + title: '受邀函',
  17 + img: 'https://qn.colorcun.com/harvestIcon.png'
  18 + },
  19 + {
  20 + id: '3',
  21 + title: '我的预订',
  22 + img: 'https://qn.colorcun.com/myReservation.png'
  23 + },
  24 + {
  25 + id: '4',
  26 + title: '常用预订人',
  27 + img: 'https://qn.colorcun.com/contactsIcon.png'
  28 + },
  29 + {
  30 + id: '5',
  31 + title: '浏览记录',
  32 + img: 'https://qn.colorcun.com/historyIcon.png'
  33 + },
  34 + {
  35 + id: '6',
  36 + title: '我的评价',
  37 + img: 'https://qn.colorcun.com/evaluateIcon.png'
  38 + }
  39 + ]
  40 + },
  41 +
  42 + /**
  43 + * 生命周期函数--监听页面加载
  44 + */
  45 + onLoad(options) {
  46 +
  47 + },
  48 + gotoInfo() {
  49 + wx.navigateTo({
  50 + url: '/pages/reserveNew/personInfo',
  51 + })
  52 + },
  53 + /**
  54 + * 生命周期函数--监听页面初次渲染完成
  55 + */
  56 + onReady() {
  57 +
  58 + },
  59 + gotoPage(e) {
  60 + const url = e.currentTarget.dataset['url'];
  61 + wx.navigateTo({
  62 + url,
  63 + })
  64 + },
  65 + /**
  66 + * 生命周期函数--监听页面显示
  67 + */
  68 + onShow() {
  69 +
  70 + },
  71 +
  72 + /**
  73 + * 生命周期函数--监听页面隐藏
  74 + */
  75 + onHide() {
  76 +
  77 + },
  78 +
  79 + /**
  80 + * 生命周期函数--监听页面卸载
  81 + */
  82 + onUnload() {
  83 +
  84 + },
  85 +
  86 + /**
  87 + * 页面相关事件处理函数--监听用户下拉动作
  88 + */
  89 + onPullDownRefresh() {
  90 +
  91 + },
  92 +
  93 + /**
  94 + * 页面上拉触底事件的处理函数
  95 + */
  96 + onReachBottom() {
  97 +
  98 + },
  99 +
  100 + /**
  101 + * 用户点击右上角分享
  102 + */
  103 + onShareAppMessage() {
  104 +
  105 + }
  106 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav"
  7 + }
  8 +}
  1 +<!--pages/reserveNew/my.wxml-->
  2 +<nav class="navhome" place="{{true}}">周到安排</nav>
  3 +<view class="person" bindtap="gotoInfo">
  4 + <view class="leftInfo">
  5 + <image class="imgs" src="https://qn.colorcun.com/headPicture.png" mode="" />
  6 + <view class="info">
  7 + <view class="font32r">点击登录</view>
  8 + <view class="font20r colorSix">登录更精彩</view>
  9 + </view>
  10 + </view>
  11 + <view class="rightInfo">
  12 + <text class="font24r colorSix">个人信息</text>
  13 + <image src="https://qn.colorcun.com/arrowIcon.png" mode="" />
  14 + </view>
  15 +</view>
  16 +<view class="centerBox">
  17 + <view class="items" wx:for="{{moduleList}}" wx:key="{{item.id}}" data-url="{{item.url}}" bindtap="gotoPage">
  18 + <image src="{{item.img}}" mode="" />
  19 + <text class="font24r">{{item.title}}</text>
  20 + </view>
  21 +</view>
  22 +<view class="btns">
  23 + <button class="flexBtn" open-type="contact">
  24 + <button class="font28r">联系客服</button>
  25 + <image src="https://qn.colorcun.com/arrowIcon.png" mode="" />
  26 + </button>
  27 + <view class="line"></view>
  28 + <navigator url="/pages/reserve/index_new" hover-class="navigator-hover">
  29 + <button class="font28r">商家入驻</button>
  30 + <image src="https://qn.colorcun.com/arrowIcon.png" mode="" />
  31 + </navigator>
  32 +</view>
  1 +/* pages/reserveNew/my.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
  6 +.person {
  7 + display: flex;
  8 + background: #fff;
  9 + margin: 12rpx;
  10 + padding: 40rpx;
  11 + border-radius: 10rpx;
  12 +}
  13 +
  14 +.leftInfo {
  15 + flex: 1;
  16 + display: flex;
  17 + align-items: center;
  18 +}
  19 +
  20 +.info {
  21 + font-family: PingFang SC;
  22 +}
  23 +
  24 +.info view:nth-of-type(1) {
  25 + font-family: PingFang SC;
  26 + color: #000;
  27 + font-weight: 600;
  28 + margin-bottom: 10rpx;
  29 +}
  30 +
  31 +.colorSix {
  32 + font-family: PingFang SC;
  33 + color: #696969;
  34 + font-weight: 400;
  35 +}
  36 +
  37 +.imgs {
  38 + width: 88rpx;
  39 + height: 88rpx;
  40 + margin-right: 24rpx;
  41 +}
  42 +
  43 +.rightInfo {
  44 + display: flex;
  45 + align-items: center;
  46 + justify-content: center;
  47 +}
  48 +
  49 +.rightInfo image {
  50 + width: 28rpx;
  51 + height: 28rpx;
  52 + margin-left: 4rpx;
  53 +}
  54 +
  55 +.centerBox {
  56 + padding-top: 40rpx;
  57 + background: #fff;
  58 + margin: 12rpx;
  59 + border-radius: 10rpx;
  60 + display: flex;
  61 + align-items: center;
  62 + justify-content: space-evenly;
  63 + flex-wrap: wrap;
  64 +}
  65 +
  66 +.items {
  67 + width: 33%;
  68 + display: flex;
  69 + align-items: center;
  70 + flex-direction: column;
  71 + padding-bottom: 56rpx;
  72 +}
  73 +
  74 +.items image {
  75 + width: 56rpx;
  76 + height: 56rpx;
  77 +}
  78 +
  79 +.items text {
  80 + font-family: PingFang SC;
  81 + font-weight: 400;
  82 + margin-top: 8rpx;
  83 +}
  84 +
  85 +.btns {
  86 + padding: 20rpx 40rpx;
  87 + display: flex;
  88 + align-items: center;
  89 + justify-content: space-between;
  90 + flex-direction: column;
  91 + margin: 0 12rpx;
  92 + border-bottom: 2rpx solid #F7F7F7;
  93 + background: #fff;
  94 +}
  95 +
  96 +.flexBtn,
  97 +navigator {
  98 + width: 100%;
  99 + display: flex;
  100 + align-items: center;
  101 + justify-content: space-between;
  102 + padding: 10rpx 0;
  103 +}
  104 +
  105 +.btns image {
  106 + width: 28rpx;
  107 + height: 28rpx;
  108 +}
  109 +
  110 +.btns button {
  111 + margin: 0;
  112 + padding-left: 0;
  113 + background: transparent;
  114 + font-family: Sinter;
  115 + font-weight: 400;
  116 +}
  117 +
  118 +.line {
  119 + width: 100%;
  120 + height: 2rpx;
  121 + background: #F7F7F7;
  122 +}
  1 +// pages/reserveNew/personInfo.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 + modal: '',
  11 + loginModal: '',
  12 + /**
  13 + * 生命周期函数--监听页面加载
  14 + */
  15 + onLoad(options) {
  16 + this.modal = this.selectComponent("#nickNameModal");
  17 + this.loginModal = this.selectComponent("#exitLoginModal");
  18 + },
  19 +
  20 + /**
  21 + * 生命周期函数--监听页面初次渲染完成
  22 + */
  23 + onReady() {
  24 +
  25 + },
  26 + gotoNickName() {
  27 + this.modal.showModal()
  28 + },
  29 + submitFun() {
  30 + this.modal.closeModal()
  31 + },
  32 + cancelFun() {
  33 + this.loginModal.closeModal()
  34 + },
  35 + exitLogin() {
  36 + this.loginModal.showModal()
  37 + },
  38 + gotoPhone() {
  39 +
  40 + },
  41 + /**
  42 + * 生命周期函数--监听页面显示
  43 + */
  44 + onShow() {
  45 +
  46 + },
  47 +
  48 + /**
  49 + * 生命周期函数--监听页面隐藏
  50 + */
  51 + onHide() {
  52 +
  53 + },
  54 +
  55 + /**
  56 + * 生命周期函数--监听页面卸载
  57 + */
  58 + onUnload() {
  59 +
  60 + },
  61 +
  62 + /**
  63 + * 页面相关事件处理函数--监听用户下拉动作
  64 + */
  65 + onPullDownRefresh() {
  66 +
  67 + },
  68 +
  69 + /**
  70 + * 页面上拉触底事件的处理函数
  71 + */
  72 + onReachBottom() {
  73 +
  74 + },
  75 +
  76 + /**
  77 + * 用户点击右上角分享
  78 + */
  79 + onShareAppMessage() {
  80 +
  81 + }
  82 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav",
  7 + "my-modal": "/components/modal/modal"
  8 + }
  9 +}
  1 +<!--pages/reserveNew/personInfo.wxml-->
  2 +<nav>个人信息</nav>
  3 +<view class="info">
  4 + <view class="items">
  5 + <view class="titleText">头像</view>
  6 + <view class="rightBox">
  7 + <image class="headPictureImg" src="https://qn.colorcun.com/headPicture.png" mode="" />
  8 + <image src="https://qn.colorcun.com/arrowIcon.png" mode="" />
  9 + </view>
  10 + </view>
  11 + <view class="items" bindtap="gotoNickName">
  12 + <view class="titleText">昵称</view>
  13 + <view class="rightBox">
  14 + <text>吃饱了还是饿</text>
  15 + <image src="https://qn.colorcun.com/arrowIcon.png" mode="" />
  16 + </view>
  17 + </view>
  18 + <view class="items">
  19 + <view class="titleText">手机号</view>
  20 + <view class="rightBox" bindtap="gotoPhone">
  21 + <text>186****1111</text>
  22 + <view class="replacePhone font24r">更换</view>
  23 + </view>
  24 + </view>
  25 +</view>
  26 +<view class="btnBox">
  27 + <view class="btn font28r" bindtap="exitLogin">退出登录</view>
  28 +</view>
  29 +<my-modal id="nickNameModal" fadeStyle="slideUp" height="300px">
  30 + <view slot="modalName" class="titleModal">
  31 + <view class="edit font28r">修改昵称</view>
  32 + <image class="closeImg" bindtap="submitFun" src="https://qn.colorcun.com/closeIcon.png" mode="" />
  33 + </view>
  34 + <view slot="modalContent">
  35 + <view class="nameInput">
  36 + <text>昵称</text>
  37 + <input type="text" placeholder="请输入昵称" maxlength="30" />
  38 + </view>
  39 + <view class="font20r prompt">昵称限制1-30字符,一个汉字为一个字符</view>
  40 + <button class="font28r saveBtn" bindtap="submitFun">确定</button>
  41 + </view>
  42 +</my-modal>
  43 +<my-modal id="exitLoginModal" fadeStyle="center" height="190px">
  44 + <view slot="modalName" class="titleModal">
  45 + <view class="edit font28r">提示</view>
  46 + <image class="closeImg" bindtap="cancelFun" src="https://qn.colorcun.com/closeIcon2.png" mode="" />
  47 + </view>
  48 + <view slot="modalContent">
  49 + <view class="font24r prompt">
  50 + <text>重新授权将清除当前已绑定的手机号,是否确认操作?</text>
  51 + </view>
  52 + <view class="btns">
  53 + <button class="cancel" bindtap="cancelFun">取消</button>
  54 + <button class="font28r saveBtn" bindtap="cancelFun">确定</button>
  55 + </view>
  56 + </view>
  57 +</my-modal>
  1 +/* pages/reserveNew/personInfo.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
  6 +.info {
  7 + background: #fff;
  8 + margin: 12rpx;
  9 + padding: 40rpx 40rpx 0 40rpx;
  10 +}
  11 +
  12 +.rightBox {
  13 + display: flex;
  14 + align-items: center;
  15 + flex: 1;
  16 + justify-content: flex-end;
  17 +}
  18 +
  19 +.rightBox image {
  20 + width: 28rpx;
  21 + height: 28rpx;
  22 + margin-left: 8rpx;
  23 +}
  24 +
  25 +.rightBox .headPictureImg {
  26 + width: 80rpx;
  27 + height: 80rpx;
  28 + border-radius: 50%;
  29 +}
  30 +
  31 +.items {
  32 + height: 120rpx;
  33 + line-height: 120rpx;
  34 + display: flex;
  35 + align-items: center;
  36 + justify-content: space-between;
  37 + border-bottom: 2rpx solid #F7F7F7;
  38 +}
  39 +
  40 +.items:nth-last-of-type(1) {
  41 + border-bottom: none;
  42 +}
  43 +
  44 +.replacePhone {
  45 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  46 + -webkit-background-clip: text;
  47 + -webkit-text-fill-color: transparent;
  48 + border: 2rpx solid #fe6806;
  49 + height: 40rpx;
  50 + line-height: 40rpx;
  51 + padding: 4rpx 32rpx;
  52 + border-radius: 198rpx;
  53 + margin-left: 8rpx;
  54 +}
  55 +
  56 +.btnBox {
  57 + position: fixed;
  58 + background-color: #fff;
  59 + width: 100%;
  60 + bottom: 0;
  61 + left: 0;
  62 + height: 200rpx;
  63 + display: flex;
  64 + justify-content: center;
  65 +}
  66 +
  67 +.btn {
  68 + width: 80%;
  69 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  70 + -webkit-background-clip: text;
  71 + -webkit-text-fill-color: transparent;
  72 + border: 2rpx solid #fe6806;
  73 + border-radius: 198rpx;
  74 + height: 72rpx;
  75 + line-height: 72rpx;
  76 + text-align: center;
  77 + margin-top: 34rpx;
  78 + font-family: PingFang SC;
  79 + font-weight: 600;
  80 +}
  81 +
  82 +#nickNameModal .mymodal {
  83 + bottom: 0 !important;
  84 +}
  85 +
  86 +.nameInput {
  87 + background: #F5F5F5;
  88 + border-radius: 10rpx;
  89 + display: flex;
  90 + padding: 20rpx 40rpx;
  91 +}
  92 +
  93 +.nameInput input {
  94 + flex: 1;
  95 + margin-left: 20rpx;
  96 +}
  97 +
  98 +.saveBtn {
  99 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  100 + color: #fff;
  101 + border-radius: 198rpx;
  102 +}
  103 +
  104 +.prompt {
  105 + margin: 20rpx 0 15% 0;
  106 +}
  107 +
  108 +.titleModal {
  109 + width: 100%;
  110 + display: flex;
  111 + align-items: center;
  112 + justify-content: center;
  113 + position: relative;
  114 +}
  115 +
  116 +.edit {
  117 + font-family: PingFang SC;
  118 + font-weight: 600;
  119 + color: #000;
  120 +}
  121 +
  122 +.closeImg {
  123 + width: 32rpx;
  124 + height: 32rpx;
  125 + position: absolute;
  126 + right: 40rpx;
  127 + top: 40rpx;
  128 +}
  129 +
  130 +#exitLoginModal {
  131 + display: flex;
  132 + align-items: center;
  133 + justify-content: center;
  134 +}
  135 +
  136 +#exitLoginModal .mymodal {
  137 + top: 35% !important;
  138 + width: 80% !important;
  139 + border-radius: 20rpx !important;
  140 +}
  141 +
  142 +#exitLoginModal .closeImg {
  143 + top: -60rpx;
  144 + right: -84rpx;
  145 + width: 60rpx;
  146 + height: 60rpx;
  147 +}
  148 +
  149 +#exitLoginModal .prompt {
  150 + text-align: center;
  151 + margin: 0 0 42rpx 0;
  152 + display: flex;
  153 + align-items: center;
  154 + justify-content: center;
  155 +}
  156 +
  157 +#exitLoginModal .prompt text {
  158 + width: 74%;
  159 + text-align: center;
  160 + font-family: PingFang SC;
  161 + font-weight: 400;
  162 + line-height: 34rpx;
  163 + color: #000;
  164 +}
  165 +
  166 +#exitLoginModal .btns {
  167 + width: 100%;
  168 + display: flex;
  169 + align-items: center;
  170 + justify-content: space-evenly;
  171 +}
  172 +
  173 +#exitLoginModal .cancel {
  174 + width: 35%;
  175 + height: 70rpx;
  176 + line-height: 70rpx;
  177 + display: flex;
  178 + align-items: center;
  179 + justify-content: center;
  180 + border-radius: 198rpx;
  181 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  182 + -webkit-background-clip: text;
  183 + -webkit-text-fill-color: transparent;
  184 + border: 2rpx solid #fe6806;
  185 + margin: 0;
  186 +}
  187 +
  188 +#exitLoginModal .saveBtn {
  189 + width: 35%;
  190 + height: 70rpx;
  191 + line-height: 70rpx;
  192 + border-radius: 198rpx;
  193 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  194 + color: #fff;
  195 + margin: 0;
  196 +}
  1 +// pages/reserveNew/verifyPhone.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 + phone: '',
  9 + verifySend: true, // 是否获取验证码
  10 + countDown: 600, // 倒计时
  11 + isShow: '2',
  12 + },
  13 +
  14 + /**
  15 + * 生命周期函数--监听页面加载
  16 + */
  17 + onLoad(options) {
  18 +
  19 + },
  20 +
  21 + /**
  22 + * 生命周期函数--监听页面初次渲染完成
  23 + */
  24 + onReady() {
  25 +
  26 + },
  27 +
  28 + /**
  29 + * 生命周期函数--监听页面显示
  30 + */
  31 + onShow() {
  32 +
  33 + },
  34 +
  35 + /**
  36 + * 生命周期函数--监听页面隐藏
  37 + */
  38 + onHide() {
  39 +
  40 + },
  41 +
  42 + /**
  43 + * 生命周期函数--监听页面卸载
  44 + */
  45 + onUnload() {
  46 +
  47 + },
  48 +
  49 + /**
  50 + * 页面相关事件处理函数--监听用户下拉动作
  51 + */
  52 + onPullDownRefresh() {
  53 +
  54 + },
  55 +
  56 + /**
  57 + * 页面上拉触底事件的处理函数
  58 + */
  59 + onReachBottom() {
  60 +
  61 + },
  62 +
  63 + /**
  64 + * 用户点击右上角分享
  65 + */
  66 + onShareAppMessage() {
  67 +
  68 + }
  69 +})
  1 +{
  2 + "navigationBarBackgroundColor": "#ddd",
  3 + "navigationBarTextStyle": "black",
  4 + "navigationBarTitleText": "",
  5 + "usingComponents": {
  6 + "nav": "/components/nav/nav"
  7 + }
  8 +}
  1 +<!--pages/reserveNew/verifyPhone.wxml-->
  2 +<nav>验证中心</nav>
  3 +<view class="info" wx:if="{{isShhow}}">
  4 + <view class="texts font32r">请输入已绑定的旧手机号</view>
  5 + <view class="phoneInfo">
  6 + <text class="font28r">手机号</text>
  7 + <input type="text" class="right" model:value="{{phone}}" placeholder="请输入手机号码" />
  8 + <button class="verifyBox font24r" bindtap='deliver' wx:if="{{ verifySend }}">获取验证码</button>
  9 + <button class='verifyBox verifyBoxDis' wx:else>重新获取({{ countDown }})</button>
  10 + </view>
  11 + <view class="phoneInfo verifyBtn">
  12 + <text>验证码</text>
  13 + <input type="text" class="right" model:value="{{verifyCode}}" placeholder="请输入验证码" />
  14 + </view>
  15 +</view>
  16 +<view wx:else class="successBox">
  17 + <image src="https://qn.colorcun.com/completeIcon.png" mode=""/>
  18 + <view class="title font32r">更换成功</view>
  19 + <view class="phoneNews">
  20 + <text>您绑定的手机号已更换为</text>
  21 + <text>187****2222</text>
  22 + </view>
  23 +</view>
  24 +<view class="btnBox">
  25 + <view class="btn font28r" bindtap="exitLogin">{{isShhow=='1'?'验证':'我知道了'}}</view>
  26 +</view>
  1 +/* pages/reserveNew/verifyPhone.wxss */
  2 +page {
  3 + background: #F5F5F5;
  4 +}
  5 +
  6 +.info {
  7 + background: #fff;
  8 + margin: 12rpx;
  9 + padding: 40rpx 40rpx 0 40rpx;
  10 +}
  11 +
  12 +.texts {
  13 + font-family: PingFang SC;
  14 + font-weight: 600;
  15 + line-height: 44rpx;
  16 + color: #000;
  17 + margin-bottom: 20rpx;
  18 +}
  19 +
  20 +.phoneInfo {
  21 + display: flex;
  22 + align-items: center;
  23 + justify-content: space-between;
  24 + color: #000;
  25 + height: 120rpx;
  26 + width: 100%;
  27 + border-bottom: 2rpx solid #F7F7F7;
  28 +}
  29 +
  30 +.phoneInfo text {
  31 + margin-right: 24rpx;
  32 +}
  33 +
  34 +.phoneInfo input {
  35 + height: 100%;
  36 + flex: 1;
  37 +}
  38 +
  39 +.verifyBox {
  40 + background: linear-gradient(90deg, #ff4d11 0%, #fe7600 100%);
  41 + -webkit-background-clip: text;
  42 + -webkit-text-fill-color: transparent;
  43 + border: 2rpx solid #fe6806;
  44 + height: 40rpx;
  45 + line-height: 40rpx;
  46 + border-radius: 198rpx;
  47 + font-weight: 600;
  48 +}
  49 +
  50 +.verifyBtn {
  51 + border-bottom: none;
  52 +}
  53 +
  54 +.btnBox {
  55 + position: fixed;
  56 + background-color: #fff;
  57 + width: 100%;
  58 + bottom: 0;
  59 + left: 0;
  60 + height: 200rpx;
  61 + display: flex;
  62 + justify-content: center;
  63 +}
  64 +
  65 +.btn {
  66 + width: 80%;
  67 + background: #FF4D11;
  68 + color: #fff;
  69 + border-radius: 198rpx;
  70 + height: 72rpx;
  71 + line-height: 72rpx;
  72 + text-align: center;
  73 + margin-top: 34rpx;
  74 + font-family: PingFang SC;
  75 + font-weight: 600;
  76 +}
  77 +
  78 +.successBox {
  79 + padding: 80rpx 0;
  80 + background: #fff;
  81 + margin: 12rpx;
  82 + border-radius: 10rpx;
  83 + display: flex;
  84 + flex-direction: column;
  85 + align-items: center;
  86 + justify-content: center;
  87 +}
  88 +
  89 +.successBox image {
  90 + width: 88rpx;
  91 + height: 88rpx;
  92 +}
  93 +
  94 +.title {
  95 + font-family: PingFang SC;
  96 + color: #000;
  97 + font-weight: 600;
  98 + line-height: 44rpx;
  99 + margin: 20rpx 0 32rpx 0;
  100 +}
  101 +
  102 +.phoneNews {
  103 + display: flex;
  104 + flex-direction: column;
  105 + align-items: center;
  106 + justify-content: center;
  107 + color: #000;
  108 + font-family: PingFang SC;
  109 + font-weight: 400;
  110 + line-height: 40rpx;
  111 +}
@@ -6,44 +6,107 @@ @@ -6,44 +6,107 @@
6 "miniprogram": { 6 "miniprogram": {
7 "list": [ 7 "list": [
8 { 8 {
9 - "name": "新邀请函入口页", 9 + "name": "新首页",
  10 + "pathName": "pages/reserveNew/coupon_sellerList",
  11 + "query": "",
  12 + "launchMode": "default",
  13 + "scene": null
  14 + },
  15 + {
  16 + "name": "免费券详情页",
  17 + "pathName": "pack-activity/pack/receiveCoupon",
  18 + "query": "id=1173&types=3&name=22&sid=4352&oid=&StyleType=",
  19 + "launchMode": "default",
  20 + "scene": null
  21 + },
  22 + {
  23 + "name": "商家详情",
  24 + "pathName": "pages/reserve/shopHome",
  25 + "query": "sid=4352",
  26 + "launchMode": "default",
  27 + "scene": null
  28 + },
  29 + {
  30 + "name": "付费券券详情",
  31 + "pathName": "pack-activity/pack/buyCoupon",
  32 + "query": "id=394&name=14&sid=4352&oid=&types=3",
  33 + "launchMode": "default",
  34 + "scene": null
  35 + },
  36 + {
  37 + "name": "测试-----新邀请函入口页",
10 "pathName": "pages/customer/detail_owner_invitation_new", 38 "pathName": "pages/customer/detail_owner_invitation_new",
11 - "query": "id=1288253&uid=311&hasSellerShare=1&paymentId=", 39 + "query": "id=1438440&onlineReserve=1&hasInvitation=1&paymentId=&tplid=1&hasSellerShare=1&isDeposit=1&bookType=2",
12 "launchMode": "default", 40 "launchMode": "default",
13 "scene": null 41 "scene": null
14 }, 42 },
15 { 43 {
16 - "name": "免费券付费券付款页",  
17 - "pathName": "pack-activity/pack/buyFreeCoupon",  
18 - "query": "sid=8", 44 + "name": "旧首页",
  45 + "pathName": "pages/reserve/index",
  46 + "query": "a=b&c=d",
  47 + "launchMode": "default",
  48 + "scene": 1044
  49 + },
  50 + {
  51 + "name": "4352-----新邀请函入口页",
  52 + "pathName": "pages/customer/detail_owner_invitation_new",
  53 + "query": "id=1374502&uid=27201&hasSellerShare=1&paymentId=",
19 "launchMode": "default", 54 "launchMode": "default",
20 "scene": null 55 "scene": null
21 }, 56 },
22 { 57 {
23 - "name": "收藏页",  
24 - "pathName": "pages/me/follow",  
25 - "query": "", 58 + "name": "在线预订包间",
  59 + "pathName": "pages/reserve/reserve",
  60 + "query": "id=4352&activeTab=reserve",
26 "launchMode": "default", 61 "launchMode": "default",
27 "scene": null 62 "scene": null
28 }, 63 },
29 { 64 {
30 - "name": "商家详情",  
31 - "pathName": "pages/reserve/shopHome", 65 + "name": "4352----预定包间",
  66 + "pathName": "pages/reserve/reserve",
  67 + "query": "id=4352&activeTab=reserve",
  68 + "launchMode": "default",
  69 + "scene": null
  70 + },
  71 + {
  72 + "name": "8-----新邀请函入口页",
  73 + "pathName": "pages/customer/detail_owner_invitation_new",
  74 + "query": "id=1341043&uid=311&hasSellerShare=1&paymentId=",
  75 + "launchMode": "default",
  76 + "scene": null
  77 + },
  78 + {
  79 + "name": "11-----新邀请函入口页",
  80 + "pathName": "pages/customer/detail_owner_invitation_new",
  81 + "query": "id=1338286&uid=311&hasSellerShare=1&paymentId=",
  82 + "launchMode": "default",
  83 + "scene": null
  84 + },
  85 + {
  86 + "name": "点餐完成页面",
  87 + "pathName": "pack-cookbook/pages/success_new",
  88 + "query": "type=1&sellerName=长安大排档&rid=1342185&oid=16907&sid=4352&hasSuccess=1",
  89 + "launchMode": "default",
  90 + "scene": null
  91 + },
  92 + {
  93 + "name": "免费券付费券付款页",
  94 + "pathName": "pack-activity/pack/buyFreeCoupon",
32 "query": "sid=8", 95 "query": "sid=8",
33 "launchMode": "default", 96 "launchMode": "default",
34 "scene": null 97 "scene": null
35 }, 98 },
36 { 99 {
37 - "name": "付费券详情",  
38 - "pathName": "pack-activity/pack/examineCertificate",  
39 - "query": "id=2743", 100 + "name": "收藏页",
  101 + "pathName": "pages/me/follow",
  102 + "query": "",
40 "launchMode": "default", 103 "launchMode": "default",
41 "scene": null 104 "scene": null
42 }, 105 },
43 { 106 {
44 - "name": "免费券详情页",  
45 - "pathName": "pack-activity/pack/receiveCoupon",  
46 - "query": "id=989&activity_id=810&types=4&name=%E9%95%BF%E5%AE%89%E5%A4%A7%E6%8E%92%E6%A1%A3%E6%80%BB%E5%BA%97&use=%22%7B%5C%22is_cash%5C%22%3A%5C%221%5C%22%2C%5C%22is_discount%5C%22%3A%5C%220%5C%22%2C%5C%22is_dish%5C%22%3A%5C%220%5C%22%2C%5C%22cash%5C%22%3A%5C%2230%5C%22%2C%5C%22discount%5C%22%3A%5C%22%5C%22%2C%5C%22dish%5C%22%3A%5C%22%5C%22%2C%5C%22images%5C%22%3A%5C%22%5B%5D%5C%22%7D%22&sid=8&oid=1267899&StyleType=9", 107 + "name": "付费券详情",
  108 + "pathName": "pack-activity/pack/examineCertificate",
  109 + "query": "id=2743",
47 "launchMode": "default", 110 "launchMode": "default",
48 "scene": null 111 "scene": null
49 }, 112 },
@@ -230,17 +293,6 @@ @@ -230,17 +293,6 @@
230 "scene": 1001 293 "scene": 1001
231 }, 294 },
232 { 295 {
233 - "name": "pages/reserve/index 在线订座",  
234 - "pathName": "pages/reserve/index",  
235 - "query": "a=b&c=d",  
236 - "scene": 1044,  
237 - "shareInfo": {  
238 - "groupName": "测试模拟群1",  
239 - "shareName": "8DEbIRpK4pa9mH_QY2vU4ZUKYPuI97WoQ4BQoFej-Q8@cr4dev",  
240 - "shareKey": "PZhnqMlY2TnRuHhATyGeSamVmBQUDXXr_WtjRSddeeFK17UAiOP-HNOdhxiEN7PFub5S1DjAeUl0IXOdW-VDqg~~"  
241 - }  
242 - },  
243 - {  
244 "name": "预订本-选择桌子", 296 "name": "预订本-选择桌子",
245 "pathName": "pack-book/pages/book/b_desk", 297 "pathName": "pack-book/pages/book/b_desk",
246 "query": "rdate=1540339200-1540346400&tid=0&pnum=6&checked_tids=&rid=", 298 "query": "rdate=1540339200-1540346400&tid=0&pnum=6&checked_tids=&rid=",
@@ -706,13 +758,6 @@ @@ -706,13 +758,6 @@
706 }, 758 },
707 { 759 {
708 "name": "", 760 "name": "",
709 - "pathName": "pack-activity/pack/buyCoupon",  
710 - "query": "id=394&name=14&sid=4352&oid=&types=3",  
711 - "launchMode": "default",  
712 - "scene": null  
713 - },  
714 - {  
715 - "name": "",  
716 "pathName": "pages/me/wananchi", 761 "pathName": "pages/me/wananchi",
717 "query": "type=1&oid=392864&sid=8", 762 "query": "type=1&oid=392864&sid=8",
718 "launchMode": "default", 763 "launchMode": "default",
@@ -727,13 +772,6 @@ @@ -727,13 +772,6 @@
727 }, 772 },
728 { 773 {
729 "name": "", 774 "name": "",
730 - "pathName": "pack-cookbook/pages/success_new",  
731 - "query": "type=1&sellerName=长安大排档&rid=708760&oid=9916&sid=4352&hasSuccess=1",  
732 - "launchMode": "default",  
733 - "scene": null  
734 - },  
735 - {  
736 - "name": "",  
737 "pathName": "pages/customer/joinSeller", 775 "pathName": "pages/customer/joinSeller",
738 "query": "", 776 "query": "",
739 "launchMode": "default", 777 "launchMode": "default",