@@ -137,7 +137,7 @@ | |||||
.shopVoList { | .shopVoList { | ||||
white-space: nowrap !important; | white-space: nowrap !important; | ||||
overflow-y: scroll; | overflow-y: scroll; | ||||
height: 60rpx !important; | |||||
// height: 60rpx !important; | |||||
width: 360rpx; | width: 360rpx; | ||||
font-size: 16px; | font-size: 16px; | ||||
color: #333; | color: #333; | ||||
@@ -27,6 +27,40 @@ | |||||
<!-- 当item.expand为true且商户数量不大于三个时 --> | <!-- 当item.expand为true且商户数量不大于三个时 --> | ||||
<view class="shop" tt:if="{{item.expand}}"> | <view class="shop" tt:if="{{item.expand}}"> | ||||
<view class='posi' tt:for="{{[item.merchantVoList[0]]}}" tt:for-index="itemIndex" tt:key="{{itemIndex}}"> | |||||
<view class='posi_logo'> | |||||
<view bindtap='gotoDetail' data-id='{{item.id}}' data-tenantId='{{item.tenantId}}'> | |||||
<image src='{{item.merchantImgUrl}}'></image> | |||||
</view> | |||||
<view bindtap='gotoDetail' data-id='{{item.id}}' data-tenantId='{{item.tenantId}}'> | |||||
<view class='name'>{{item.merchantName}}</view> | |||||
<view class='shopVoList'> | |||||
<view tt:for="{{item.shopVoList}}" tt:key="{{index}}" tt:for-item="itemName"> | |||||
<text>{{itemName.buildingName}}{{itemName.floorName}}--{{itemName.shopNumber}}</text> | |||||
<text class='douhao' tt:if="{{item.shopVoList.length>1}}">,</text> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="telBox" tt:if="{{item.linkLinePhone}}"> | |||||
<image bindtap='phone' data-merchantLinkPhone='{{item.linkLinePhone}}' class="telImg" | |||||
src="{{telJpgUrl}}" mode="widthFix" /> | |||||
<view class="telText">电话</view> | |||||
</view> | |||||
<!-- <view class="certificationBox" tt:if="{{item.latitude&&item.longitude}}" bindtap="goCertification" | |||||
data-id="{{item.id}}"> | |||||
<image class="certificationImg" src="../../assets/imgData/certification.png" mode="widthFix" /> | |||||
<view class="telText">资质</view> | |||||
</view> --> | |||||
</view> | |||||
<view class="siteBox" tt:if="{{item.latitude&&item.longitude}}" bindtap="goMap" data-item="{{item}}"> | |||||
<view class="siteText">{{item.addr}}</view> | |||||
<image class="siteImg" src="../../assets/imgData/siteImg.png" mode="widthFix" /> | |||||
</view> | |||||
<view class="dividerInside" tt:if="{{(itemIndex+1)<list[index].merchantVoList.length}}"></view> | |||||
</view> | |||||
</view> | |||||
<view class="shop" tt:if="{{!item.expand}}"> | |||||
<view class='posi' tt:for="{{item.merchantVoList}}" tt:for-index="itemIndex" tt:key="{{itemIndex}}"> | <view class='posi' tt:for="{{item.merchantVoList}}" tt:for-index="itemIndex" tt:key="{{itemIndex}}"> | ||||
<view class='posi_logo'> | <view class='posi_logo'> | ||||
<view bindtap='gotoDetail' data-id='{{item.id}}' data-tenantId='{{item.tenantId}}'> | <view bindtap='gotoDetail' data-id='{{item.id}}' data-tenantId='{{item.tenantId}}'> | ||||
@@ -112,7 +112,6 @@ | |||||
.components .body .shop .posi .posi_logo .shopVoList { | .components .body .shop .posi .posi_logo .shopVoList { | ||||
white-space: nowrap !important; | white-space: nowrap !important; | ||||
overflow-y: scroll; | overflow-y: scroll; | ||||
height: 60rpx !important; | |||||
width: 360rpx; | width: 360rpx; | ||||
font-size: 16px; | font-size: 16px; | ||||
color: #333; | color: #333; | ||||
@@ -13,6 +13,7 @@ Page({ | |||||
endTime: "", | endTime: "", | ||||
mallTenantId: "", | mallTenantId: "", | ||||
pickedAddress: "请选择地址", | pickedAddress: "请选择地址", | ||||
pickedAddressDetail: "", | |||||
pickedDate: "请选择日期", | pickedDate: "请选择日期", | ||||
pickedStartTime: "请选择", | pickedStartTime: "请选择", | ||||
pickedEndTime: "请选择", | pickedEndTime: "请选择", | ||||
@@ -178,6 +179,12 @@ Page({ | |||||
}) | }) | ||||
}, | }, | ||||
chooseAddressDetail() { | |||||
this.setData({ | |||||
pickedAddressDetailFlag: false | |||||
}) | |||||
}, | |||||
chooseDate(e) { | chooseDate(e) { | ||||
console.log(e.detail.value, 'e'); | console.log(e.detail.value, 'e'); | ||||
this.setData({ | this.setData({ | ||||
@@ -199,6 +206,13 @@ Page({ | |||||
}) | }) | ||||
}, | }, | ||||
inputAddressDetail(e) { | |||||
this.setData({ | |||||
pickedAddressDetail: e.detail.value | |||||
}) | |||||
}, | |||||
describing(e) { | describing(e) { | ||||
this.setData({ | this.setData({ | ||||
describeStr: e.detail.value | describeStr: e.detail.value | ||||
@@ -243,6 +257,7 @@ Page({ | |||||
const data = { | const data = { | ||||
couponOrderId: tempData.orderId, | couponOrderId: tempData.orderId, | ||||
userAddress: tempData.pickedAddress, | userAddress: tempData.pickedAddress, | ||||
detailedAddress: tempData.pickedAddressDetail, | |||||
startDate: tempData.pickedDate + " " + tempData.pickedStartTime + ":00", | startDate: tempData.pickedDate + " " + tempData.pickedStartTime + ":00", | ||||
endDate: tempData.pickedDate + " " + tempData.pickedEndTime + ":00", | endDate: tempData.pickedDate + " " + tempData.pickedEndTime + ":00", | ||||
describeStr: tempData.describeStr, | describeStr: tempData.describeStr, | ||||
@@ -355,6 +370,7 @@ Page({ | |||||
const status = res.data.status | const status = res.data.status | ||||
that.setData({ | that.setData({ | ||||
pickedAddress: res.data.userAddress || '请选择地址', | pickedAddress: res.data.userAddress || '请选择地址', | ||||
pickedAddressDetail: res.data.detailedAddress, | |||||
pickedDate: util.timestampToTime(res.data.startDate, 'YYYY-MM-DD'), | pickedDate: util.timestampToTime(res.data.startDate, 'YYYY-MM-DD'), | ||||
pickedStartTime: util.timestampToTime(res.data.startDate, 'hh:mm'), | pickedStartTime: util.timestampToTime(res.data.startDate, 'hh:mm'), | ||||
pickedEndTime: util.timestampToTime(res.data.endDate, 'hh:mm'), | pickedEndTime: util.timestampToTime(res.data.endDate, 'hh:mm'), | ||||
@@ -14,6 +14,11 @@ | |||||
</text> | </text> | ||||
</view> | </view> | ||||
<view tt:if="{{ pickedAddress != '请选择地址' }}" class="addressTextarea"> | |||||
<textarea class="describe" placeholder="请填写详细地址:单元楼、门牌号等" bindinput="inputAddressDetail" | |||||
value="{{ pickedAddressDetail }}"></textarea> | |||||
</view> | |||||
<view class="datePickerFlex"> | <view class="datePickerFlex"> | ||||
<picker mode="date" start="{{ startTime }}" end="{{ endTime }}" disabled="{{ !isShowBtns }}" | <picker mode="date" start="{{ startTime }}" end="{{ endTime }}" disabled="{{ !isShowBtns }}" | ||||
bindchange='chooseDate'>选择服务日期:</picker> | bindchange='chooseDate'>选择服务日期:</picker> | ||||
@@ -47,10 +52,10 @@ | |||||
disabled="{{false}}" bindchange="setMerchant"> | disabled="{{false}}" bindchange="setMerchant"> | ||||
<text> 选择可用商户:<text class="pickerInside">{{ mallList[currentIndex].merchantName }} <text | <text> 选择可用商户:<text class="pickerInside">{{ mallList[currentIndex].merchantName }} <text | ||||
class="distanceFoot">{{ mallList[currentIndex].distance_str }}</text></text></text> | class="distanceFoot">{{ mallList[currentIndex].distance_str }}</text></text></text> | ||||
</picker><!-- --> | |||||
</picker> | |||||
</view> | </view> | ||||
<view class="textarea"> | |||||
<view class="describeTextarea"> | |||||
<textarea class="describe" placeholder="备注:说点什么吧" disabled="{{ !isShowBtns }}" bindinput="describing" | <textarea class="describe" placeholder="备注:说点什么吧" disabled="{{ !isShowBtns }}" bindinput="describing" | ||||
value="{{ describeStr }}"></textarea> | value="{{ describeStr }}"></textarea> | ||||
</view> | </view> | ||||
@@ -21,6 +21,7 @@ page { | |||||
color: #8a8a8a; | color: #8a8a8a; | ||||
} | } | ||||
.addressPickerFlex { | .addressPickerFlex { | ||||
display: flex; | display: flex; | ||||
justify-content: space-between; | justify-content: space-between; | ||||
@@ -55,7 +56,15 @@ page { | |||||
margin: 35rpx auto; | margin: 35rpx auto; | ||||
} | } | ||||
.textarea { | |||||
.addressTextarea { | |||||
height: 130rpx; | |||||
margin: 35rpx auto; | |||||
overflow: hidden; | |||||
border-radius: 20rpx; | |||||
} | |||||
.describeTextarea { | |||||
margin: 35rpx auto; | margin: 35rpx auto; | ||||
overflow: hidden; | overflow: hidden; | ||||
border-radius: 20rpx; | border-radius: 20rpx; | ||||
@@ -352,6 +352,7 @@ Page({ | |||||
.then(res => { | .then(res => { | ||||
tt.hideLoading() | tt.hideLoading() | ||||
// 有价券 | // 有价券 | ||||
tt.setStorageSync('appointment', true); | |||||
if (!type && type != 'free') { | if (!type && type != 'free') { | ||||
console.log('Over Here! type'); | console.log('Over Here! type'); | ||||
setTimeout(() => { | setTimeout(() => { | ||||
@@ -371,8 +372,7 @@ Page({ | |||||
} else if (type == 'free') { | } else if (type == 'free') { | ||||
console.log('Over Here! type2'); | console.log('Over Here! type2'); | ||||
tt.navigateTo({ | tt.navigateTo({ | ||||
url: `/pages/order/detail/index?orderId=${orderId | |||||
}&mallTenantId=${that.data.mallTenantId}` | |||||
url: `/pages/order/detail/index?orderId=${orderId}&mallTenantId=${that.data.mallTenantId}` | |||||
}); | }); | ||||
} | } | ||||
}) | }) | ||||
@@ -66,7 +66,7 @@ Page({ | |||||
appointEnd: "", | appointEnd: "", | ||||
appointmentId: "", | appointmentId: "", | ||||
appointmentStatus: "", | appointmentStatus: "", | ||||
use_num_per_consume: "" | |||||
use_num_per_consume: "", | |||||
}, | }, | ||||
imCallback(e) { | imCallback(e) { | ||||
@@ -181,9 +181,9 @@ Page({ | |||||
}) | }) | ||||
}, | }, | ||||
goAppointment(e) { | |||||
goAppointment(e, orderIdin) { | |||||
const that = this | const that = this | ||||
const orderId = e.currentTarget.dataset.id | |||||
const orderId = e ? e.currentTarget.dataset.id : orderIdin | |||||
const id = this.data.appointmentId | const id = this.data.appointmentId | ||||
const startTime = that.data.order.validStartDATE | const startTime = that.data.order.validStartDATE | ||||
const endTime = that.data.order.validEndDate | const endTime = that.data.order.validEndDate | ||||
@@ -527,6 +527,28 @@ Page({ | |||||
} | } | ||||
if (tempData.type == 69 && tempData.couponOrderStatus == 0) { | |||||
const Appointment = tt.getStorageSync('appointment'); | |||||
if (Appointment) { | |||||
tt.showModal({ | |||||
title: "提示", | |||||
content: "是否立即填写预约信息?", | |||||
showCancel: true, | |||||
confirmText: "现在预约", | |||||
confirmColor: "#deb472", | |||||
cancelText: "稍后预约", | |||||
success(res) { | |||||
if (res.confirm) { | |||||
tt.setStorageSync('appointment', false); | |||||
that.goAppointment(false, tempData.couponOrderId) | |||||
} | |||||
if (res.cancel) { | |||||
} | |||||
} | |||||
}); | |||||
} | |||||
} | |||||
that.setData({ | that.setData({ | ||||
outOrderNo: res.data.id, | outOrderNo: res.data.id, | ||||
@@ -897,6 +919,8 @@ Page({ | |||||
* 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
*/ | */ | ||||
onLoad: function (option) { | onLoad: function (option) { | ||||
console.log(option, 'option'); | |||||
let options = null | let options = null | ||||
if (option.params) { | if (option.params) { | ||||
options = JSON.parse(option.params) | options = JSON.parse(option.params) | ||||
@@ -910,6 +934,7 @@ Page({ | |||||
}) | }) | ||||
} | } | ||||
this.setData({ | this.setData({ | ||||
mouldType: app.globalData.mouldType | mouldType: app.globalData.mouldType | ||||
}) | }) | ||||
@@ -1323,6 +1348,7 @@ Page({ | |||||
}, 1600); | }, 1600); | ||||
setTimeout(() => { | setTimeout(() => { | ||||
console.log('Here1'); | console.log('Here1'); | ||||
tt.setStorageSync('appointment', true); | |||||
let url = "" | let url = "" | ||||
if (_this.data.orderFlag) { | if (_this.data.orderFlag) { | ||||
tt.redirectTo({ | tt.redirectTo({ | ||||
@@ -1330,7 +1356,7 @@ Page({ | |||||
}); | }); | ||||
} else { | } else { | ||||
tt.redirectTo({ | tt.redirectTo({ | ||||
url: `/pages/order/detail/index?orderId=${orderId}}&mallTenantId=${that.data.mallTenantId}` | |||||
url: `/pages/order/detail/index?orderId=${orderId}&mallTenantId=${that.data.mallTenantId}` | |||||
}); | }); | ||||
} | } | ||||
@@ -1340,7 +1366,7 @@ Page({ | |||||
} else if (type == 'free') { | } else if (type == 'free') { | ||||
console.log('Here2'); | console.log('Here2'); | ||||
tt.redirectTo({ | tt.redirectTo({ | ||||
url: `/pages/order/detail/index?orderId=${orderId}}&mallTenantId=${that.data.mallTenantId}` | |||||
url: `/pages/order/detail/index?orderId=${orderId}&mallTenantId=${that.data.mallTenantId}` | |||||
}); | }); | ||||
} | } | ||||
}) | }) | ||||
@@ -56,6 +56,15 @@ | |||||
"scene": "011007", | "scene": "011007", | ||||
"launchFrom": "scan", | "launchFrom": "scan", | ||||
"location": "audit" | "location": "audit" | ||||
}, | |||||
{ | |||||
"id": 1687681696486, | |||||
"name": "package2/pages/appointment/appointment", | |||||
"pathName": "package2/pages/appointment/appointment", | |||||
"query": "id=&orderId=832862588988481536&startTime=1687622400000&endTime=2023-06-30&mallList=%255B%257B%2522tenantId%2522%253A%25221040%2522%252C%2522mallName%2522%253A%2522%25E5%25AF%258C%25E8%258C%2582%25E5%25AE%25B6%25E6%2594%25BF%2522%252C%2522merchantVoList%2522%253A%255B%257B%2522merchantStatus%2522%253A1%252C%2522shopVoList%2522%253A%255B%257B%2522imgUrl%2522%253A%2522https%253A%252F%252Fformall.oss-accelerate.aliyuncs.com%252F234%252FWechatIMG5071.png%2522%252C%2522buildingName%2522%253A%2522%25E5%25AF%258C%25E8%258C%2582%25E5%25AE%25B6%25E6%2594%25BF%2522%252C%2522linkPhone%2522%253A%2522%2522%252C%2522shopNumber%2522%253A%2522001%2522%252C%2522id%2522%253A%2522828071776068100096%2522%252C%2522floorName%2522%253A%25221F%2522%252C%2522floor%2522%253A%2522825939503087149056%2522%252C%2522addr%2522%253A%2522%2522%252C%2522linkPerson%2522%253A%2522%2522%252C%2522building%2522%253A%2522825939503074566144%2522%257D%255D%252C%2522latitude%2522%253A%252230.277748%2522%252C%2522businessId%2522%253A6%252C%2522supplierExtId%2522%253A%2522828072047632506880%2522%252C%2522isAdmin%2522%253A0%252C%2522merchantName%2522%253A%2522%25E5%25AE%25B6%25E5%25B8%25AE%25E6%25B1%2587%25E5%25AE%25B6%25E6%2594%25BF%25E4%25BF%259D%25E6%25B4%2581%28%25E6%25B2%25B3%25E6%25B1%25A0%25E5%25B8%2582%25E5%25BA%2586%25E8%25BF%259C%25E9%2595%2587%29%2522%252C%2522ttPoi%2522%253A%25227241459164742944771%2522%252C%2522merchantImgUrl%2522%253A%2522https%253A%252F%252Fformall.oss-accelerate.aliyuncs.com%252F234%252FWechatIMG5071.png%2522%252C%2522merchantLinkPhone%2522%253A%252218988778877%2522%252C%2522parameter%2522%253A%2522%257B%255C%2522subsidyNumStr%255C%2522%253A%25200%257D%2522%252C%2522tenantId%2522%253A%25221040%2522%252C%2522finalTenantId%2522%253A%25221040%2522%252C%2522id%2522%253A%2522828072047632506880%2522%252C%2522longitude%2522%253A%2522119.996078%2522%257D%255D%252C%2522expand%2522%253Atrue%257D%255D", | |||||
"scene": "990001", | |||||
"launchFrom": "scan", | |||||
"location": "qr_code" | |||||
} | } | ||||
] | ] | ||||
} | } | ||||