From 81aa2ce40f64b12ec84a2ddeca01ee64abd194ab Mon Sep 17 00:00:00 2001 From: XiaoXinPro 14 IAH5R <568170040@qq.com> Date: Sun, 2 Jul 2023 23:28:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=89=E6=8B=A9=E9=97=A8=E5=BA=97=E6=96=B0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/itemImg/place.png | Bin 0 -> 24767 bytes config/config.js | 5 +- index/user.ttml | 4 +- index/user.ttss | 116 +++++--- pages/coupon/confirmation/confirmation.js | 17 +- pages/coupon/confirmation/confirmation.ttml | 11 +- pages2/appointment/appointment.js | 50 +++- pages2/appointment/appointment.ttml | 27 +- pages2/shopSelect/shopSelect.js | 295 +++++++++++++++++++- pages2/shopSelect/shopSelect.json | 3 + pages2/shopSelect/shopSelect.less | 96 ++++++- pages2/shopSelect/shopSelect.ttml | 55 +++- pages2/shopSelect/shopSelect.ttss | 84 +++++- project.private.config.json | 6 +- 14 files changed, 672 insertions(+), 97 deletions(-) create mode 100644 assets/itemImg/place.png diff --git a/assets/itemImg/place.png b/assets/itemImg/place.png new file mode 100644 index 0000000000000000000000000000000000000000..9479a71cf6e2f6132e38da6efb4b04d989c5b546 GIT binary patch literal 24767 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 literal 0 HcmV?d00001 diff --git a/config/config.js b/config/config.js index c0c5c24..5aeb8ed 100644 --- a/config/config.js +++ b/config/config.js @@ -78,7 +78,10 @@ var config = { * 获取券适用门店List */ couponMerchant: "/wxCoupon/couponMerchant", - + /** + * 获取适用门店所在的城市list + */ + couponMerchantCity: "/wxCoupon/couponMerchantCity", /** * 获取券详情 */ diff --git a/index/user.ttml b/index/user.ttml index 2946f67..570055b 100644 --- a/index/user.ttml +++ b/index/user.ttml @@ -82,8 +82,10 @@ 服务资质 - + Version 2.8.3 + + \ No newline at end of file diff --git a/index/user.ttss b/index/user.ttss index df80720..42840ab 100644 --- a/index/user.ttss +++ b/index/user.ttss @@ -1,5 +1,5 @@ /* d:\fumaolianke\ttFmC\tt富茂C\pages\user\user.ttss */ -.BoxBg{ +.BoxBg { /* background-image: url("https://formall.oss-accelerate.aliyuncs.com/douyin_ifomall/imgData/userBg.png"); */ /* background-size: 100% auto; */ /* background-repeat: no-repeat; */ @@ -9,7 +9,8 @@ background-color: #e6e6e6; overflow: hidden; } -.bgImgTop{ + +.bgImgTop { width: 100%; height: 380rpx; transform: rotate(16deg); @@ -18,32 +19,38 @@ left: 0; z-index: 1; } -.userBg{ + +.userBg { width: 100%; height: 200rpx; /* background:linear-gradient(180deg,rgba(253,131,45,1) 0%,rgba(254,74,22,1) 100%); */ position: relative; } -.userBg1{ + +.userBg1 { width: 100%; height: 200rpx; /* background-image: url("/assets/imgData/userBg.png"); */ position: relative; z-index: 1000; } + button::after { border: none; - } +} + button { background-color: transparent; padding-left: 0; padding-right: 0; - line-height:inherit; + line-height: inherit; } + button { - border-radius:0; + border-radius: 0; } -.userLogo{ + +.userLogo { position: absolute; top: 40rpx; left: 80rpx; @@ -53,24 +60,29 @@ button { border-radius: 50%; border: 2rpx solid #A2B9BE; } -.userLogo open-data{ + +.userLogo open-data { display: block; width: 100%; height: 100%; } -.userLogo img{ + +.userLogo img { border-radius: 50% !important; } -.open{ + +.open { width: 100% !important; - height:100% !important; + height: 100% !important; border-radius: 50% !important; overflow: hidden; } -.open img{ + +.open img { border-radius: 50% !important; } -.userData{ + +.userData { position: absolute; top: 40rpx; left: 180rpx; @@ -79,23 +91,24 @@ button { /* color: #ffffff; */ } -.noInfo{ +.noInfo { width: 220rpx; margin-left: 20rpx; font-size: 32rpx; text-overflow: -o-ellipsis-lastline; - overflow:hidden; - text-overflow:ellipsis; - display:-webkit-box; - -webkit-box-orient:vertical; - -webkit-line-clamp:1; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; color: #02201c; font-family: "PingFangSC-Medium"; font-size: 36rpx; font-weight: 400; text-transform: uppercase; } -.info{ + +.info { border: 1rpx #ffffff solid; border-radius: 50rpx; padding: 0 10rpx; @@ -104,7 +117,8 @@ button { text-align: center; /* width: 130rpx; */ } -.infoX{ + +.infoX { /* border: 1rpx #ffffff solid; */ border-radius: 50rpx; padding: 0 10rpx; @@ -117,19 +131,22 @@ button { text-transform: uppercase; /* text-align: center; */ } -.userName{ + +.userName { position: absolute; top: 60rpx; left: 180rpx; font-size: 26rpx; color: #ffffff; } -.tempBpx{ + +.tempBpx { position: relative; width: 680rpx; height: 160rpx; } -.functionBox{ + +.functionBox { position: absolute; width: 680rpx; height: 160rpx; @@ -139,30 +156,35 @@ button { /* background-color: #ffffff; */ border-radius: 10rpx; display: flex; - justify-content:space-around; + justify-content: space-around; /* overflow: hidden; */ z-index: 100; } -.itemBox{ - width:30% ; + +.itemBox { + width: 30%; /* text-align: center; */ } -.itemLogoBox{ + +.itemLogoBox { width: 60rpx; height: 60rpx; /* background-color: #cacaca; */ margin: 20rpx auto 0 auto; } -.itemLogo{ + +.itemLogo { width: 100%; height: 100%; } -.itemNAme{ + +.itemNAme { text-align: center; font-size: 26rpx; margin-top: 10rpx; } -.moreBox{ + +.moreBox { width: 680rpx; margin: 20rpx auto 0 auto; background-color: #ffffff; @@ -172,26 +194,31 @@ button { position: absolute; z-index: 1000; } -.fuwu{ + +.fuwu { /* font-size: 28rpx; */ - margin: 20rpx 0 20rpx 40rpx ; + margin: 20rpx 0 20rpx 40rpx; color: #5d3a19; font-family: "PingFangSC-Medium"; font-size: 32rpx; font-weight: 400; } -.fuwuItemBox{ + +.fuwuItemBox { /* display: flex; */ overflow: hidden; } -.f{ + +.f { float: left; } -.r{ + +.r { float: right; } -.fuwuItem{ + +.fuwuItem { /* width: 25%; */ /* background-color: aquamarine; */ border-bottom: 1rpx #f6f6f6 solid; @@ -201,14 +228,23 @@ button { margin: 0 auto; } -.fuwuLogoBox{ + +.fuwuLogoBox { width: 50rpx; height: 50rpx; /* background-color: #fb3e5c; */ } -.fuwuName{ + +.fuwuName { text-align: center; font-size: 24rpx; margin-top: 10rpx; margin-left: 10rpx; +} + +.version { + position: absolute; + bottom: 0; + right: 5%; + color: #ffffffb9; } \ No newline at end of file diff --git a/pages/coupon/confirmation/confirmation.js b/pages/coupon/confirmation/confirmation.js index 4b89768..fb541ac 100644 --- a/pages/coupon/confirmation/confirmation.js +++ b/pages/coupon/confirmation/confirmation.js @@ -182,6 +182,7 @@ Page({ mallLocationArr.forEach((item, index) => { const distanceData = that.getDistances(latitudeNow, longitudeNow, item.latitude, item.longitude) tempArr[index].distance_str = distanceData.distance_str + tempArr[index].distance_str = distanceData.distance_str tempArr[index].distanceName = tempArr[index].merchantName + ' ' + distanceData.distance_str tempArr[index].distance = distanceData.distance bloobArr.push(tempArr[index]) @@ -207,7 +208,19 @@ Page({ }, complete: finish => { - + let isSuccess = 0 + const mallList = that.data.mallList + mallList.forEach(item => { + if (item.distance_str) { + isSuccess = 1 + } + }) + if (!isSuccess) { + tt.showToast({ + title: '定位失败!', + icon: "fail" + }); + } } }) }, @@ -639,7 +652,7 @@ Page({ */ orderFunc(discount) { if (this.data.showbutton) return; - if (!this.data.merchantId) { + if (!this.data.merchantId && this.data.data.type == 69) { tt.showToast({ title: '请选择可用商户!', icon: 'fail' diff --git a/pages/coupon/confirmation/confirmation.ttml b/pages/coupon/confirmation/confirmation.ttml index 316f27b..c4c2b23 100644 --- a/pages/coupon/confirmation/confirmation.ttml +++ b/pages/coupon/confirmation/confirmation.ttml @@ -38,7 +38,8 @@ 选择可用商户: + range-key="{{mallList[0].distanceName ? 'distanceName' : 'merchantName'}}" disabled="{{false}}" + bindchange="setMerchant"> 请选择 @@ -46,10 +47,12 @@ - + 选择可用商户:{{ - mallList[currentIndex].merchantName }} {{ + mallList[currentIndex].merchantName }} {{ mallList[currentIndex].distance_str }} diff --git a/pages2/appointment/appointment.js b/pages2/appointment/appointment.js index 6ac3e5d..62198c8 100644 --- a/pages2/appointment/appointment.js +++ b/pages2/appointment/appointment.js @@ -26,7 +26,8 @@ Page({ status: "", isShowBtns: false, latitude: "", - longitude: "" + longitude: "", + shopItem: null }, onLoad(options) { console.log(options, 'options') @@ -76,7 +77,7 @@ Page({ endTime: options.endTime || '', }) - this.getCouponMerchant(options.orderId) + // this.getCouponMerchant() if (this.data.id) { this.getDetail(this.data.id) @@ -87,6 +88,19 @@ Page({ } }, + goSelectShop() { + const data = this.data + const id = data.id + const orderId = data.orderId + const merOrderId = data.merOrderId + const startTime = data.startTime + const endTime = data.endTime + + tt.navigateTo({ + url: `/pages2/shopSelect/shopSelect?id=${id}&orderId=${orderId}&merOrderId=${merOrderId}&startTime=${startTime}&endTime=${endTime}`, + }); + }, + setMerchant(e) { console.log(e.detail.value, 'e'); const index = e.detail.value @@ -160,7 +174,19 @@ Page({ }, complete: finish => { - + let isSuccess = 0 + const mallList = that.data.mallList + mallList.forEach(item => { + if (item.distance_str) { + isSuccess = 1 + } + }) + if (!isSuccess) { + tt.showToast({ + title: '定位失败!', + icon: "fail" + }); + } } }) }, @@ -211,12 +237,6 @@ Page({ }) }, - goSelectShop() { - tt.navigateTo({ - url: `/pages2/shopSelect/shopSelect` - }); - }, - chooseAddress() { if (!this.data.isShowBtns) return let that = this; @@ -505,6 +525,16 @@ Page({ }, onShow() { - + const shopItem = app.globalData.shopItem + if (shopItem) { + console.log('Yes!!!'); + this.setData({ + shopItem, + merchantId: shopItem.id, + reservationMerchantName: "" + }) + console.log(this.data.shopItem, 'shopItem'); + app.globalData.shopItem = null + } } }) \ No newline at end of file diff --git a/pages2/appointment/appointment.ttml b/pages2/appointment/appointment.ttml index 5221bf2..0d2c0e8 100644 --- a/pages2/appointment/appointment.ttml +++ b/pages2/appointment/appointment.ttml @@ -37,33 +37,44 @@ - + - - 选择可用商户(BETA): + + 选择可用商户(Beta): 请选择 + + + + 选择可用商户(Beta):{{ reservationMerchantName + }} + 选择可用商户:{{ + shopItem.merchantName }} {{shopItem.distance_str }} diff --git a/pages2/shopSelect/shopSelect.js b/pages2/shopSelect/shopSelect.js index a0a20a1..128826c 100644 --- a/pages2/shopSelect/shopSelect.js +++ b/pages2/shopSelect/shopSelect.js @@ -1,16 +1,270 @@ // c:\Users\56817\Desktop\Working Space\3,TikTok-MiniPro\ttc\pages2\shopSelect\shopSelect.js +let config = require("../../config/config.js"); +let util = require("../../utils/util"); +let Http = require("../../utils/HttpBasics"); +let app = getApp(); +const imgurl = require("../../utils/imgurl"); + Page({ data: { isShop: true, position: 0, tagArr: [], - currentTag: "" + mallList: [], + currentTag: "", + currentCity: "", + id: "", + orderId: "", + merOrderId: "", + startTime: "", + endTime: "", + latitude: "", + longitude: "", + toView: "A" }, onLoad: function (options) { + tt.showLoading({ + title: '加载中...', + }) + console.log(options, 'options') + + const mallTenantId = tt.getStorageSync('mallTenantId'); + if (mallTenantId) { + this.setData({ + mallTenantId + }) + } + const tagArr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] this.setData({ tagArr }) + + this.setData({ + id: options.id || '', + orderId: options.orderId || '', + merOrderId: options.merOrderId || '', + startTime: options.startTime || '', + endTime: options.endTime || '', + }) + + this.getLocation() + + }, + + + getCouponChannelId(flag) { + const that = this + Http.get({ + url: config.api.orderDetail, + data: { + orderId: that.data.merOrderId, + mallTenantId: that.data.mallTenantId || '' + } + }).then(res => { + const couponChannelId = res.data.orders[0].couponChannelId + that.getCouponMerchant(couponChannelId, flag) + that.getCityList(couponChannelId) + }).catch(err => { + + }) + }, + + //获取适用门店 + getCouponMerchant(couponChannelId, flag) { + const that = this + Http.get({ + url: config.api.couponMerchant, + data: { + couponChannelId, + city: that.data.currentCity, + mallTenantId: that.data.mallTenantId || '' + } + }).then(res => { + const keys = Object.keys(res.data) + if (keys.length > 0) { + const mallList = [] + let i = 0 + keys.forEach(item => { + const arr = item.split('|') + const obj = { + tenantId: arr[0], + mallName: arr[1], + merchantVoList: res.data[item], + expand: false + } + if (i == 0) { + obj.expand = true + } + mallList.push(obj) + i++ + }) + that.setData({ + mallList: mallList[0].merchantVoList + }) + console.log(that.data.mallList, 'mallList'); + + } else { + that.setData({ + mallList: [] + }) + console.log(that.data.mallList, 'mallList'); + } + if (flag) { + that.dealMallList() + } + tt.hideLoading(); + }) + }, + + // 获取适用门店所在的城市list + getCityList(couponChannelId) { + Http.get({ + url: config.api.couponMerchantCity, + data: { + couponChannelId + } + }).then(res => { + console.log(res, 'res'); + }).catch(err => { + console.log(err, 'err'); + }) + }, + + /** + * 获得经纬度 + */ + getLocation() { + console.log('getLocation'); + const that = this; + tt.getLocation({ + type: "wgs84", + // isHighAccuracy: true, + success: function (res) { + console.log(res, 'getLocation') + that.setData({ + latitude: res.latitude, + longitude: res.longitude, + currentCity: res.city + }) + that.getCouponChannelId(true) + + }, + // 拒绝提供定位权限 + fail: error => { + // that.getCouponChannelId(false) + that.setData({ + isShop: false, + mallList: [] + }) + tt.hideLoading(); + }, + complete: finish => { + const city = that.data.currentCity + if (!city) { + tt.showToast({ + title: "定位失败!", + icon: "fail" + }); + } + } + }) + }, + + dealMallList() { + const that = this + const latitudeNow = that.data.latitude + const longitudeNow = that.data.longitude + + const mallLocationArr = [] + const mallList = that.data.mallList + mallList.forEach((item, index) => { + const obj = { + latitude: item.latitude || false, + longitude: item.longitude || false, + id: item.id, + index: index + } + mallLocationArr.push(obj) + }) + console.log(mallLocationArr, 'mallLocationArr'); + + const tempArr = mallList + const bloobArr = [] + + mallLocationArr.forEach((item, index) => { + const distanceData = that.getDistances(latitudeNow, longitudeNow, item.latitude, item.longitude) + tempArr[index].distance_str = distanceData.distance_str + tempArr[index].distanceName = tempArr[index].merchantName + ' ' + distanceData.distance_str + tempArr[index].distance = distanceData.distance + bloobArr.push(tempArr[index]) + }) + + const finalSortMallList = that.bloob(bloobArr) + console.log(finalSortMallList, 'finalSortMallList'); + that.setData({ + mallList: finalSortMallList + }) + }, + + /** + * @description:根据经纬度计算距离 + * @param {*} locationInfo (lat1, lng1, lat2, lng2) + * @return: distanceObj: { distance , distance_str } + */ + getDistances(lat1, lng1, lat2, lng2) { + + if (lat2 || lng2) { + function rad(num) { + return num * Math.PI / 180.0; + } + var radLat1 = rad(lat1); + var radLat2 = rad(lat2); + var a = radLat1 - radLat2; + var b = rad(lng1) - rad(lng2); + var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2))); + s = s * 6378.137; + s = Math.round(s * 10000) / 10000; + + var distance = s; + var distance_str = ""; + + if (parseInt(distance) >= 1) { + distance_str = distance.toFixed(2) + "km"; + } else if (!arseInt(distance)) { + return false + } else { + distance_str = (distance * 1000).toFixed(2) + "m"; + } + + let objData = { + distance: distance, + distance_str: distance_str + } + return objData + } else { + let objData = { + distance: Infinity, + distance_str: '' + } + return objData + } + + }, + + bloob(arr) { + const tempArr = arr + for (let i = 0; i < tempArr.length - 1; i++) { + for (let j = 0; j < tempArr.length - 1 - i; j++) { + if (tempArr[j].distance > tempArr[j + 1].distance) { + let temp = tempArr[j]; + tempArr[j] = tempArr[j + 1]; + tempArr[j + 1] = temp; + } + } + } + return tempArr }, selectCity() { @@ -31,19 +285,32 @@ Page({ tagBind(e) { const that = this - tt.hideToast({ - success: (res) => { - const id = e.target.id - that.setData({ - currentTag: id - }) - tt.showToast({ - title: id, - icon: "none", - duration: 1000 - }); - }, - }); + const id = e.target.id + that.setData({ + currentTag: id, + toView: id + }) + }, + + goSetShop(e) { + const item = e.currentTarget.dataset.item + console.log(item, 'item'); + app.globalData.shopItem = item + tt.navigateBack(); + }, + + goFindShop(e) { + const name = e.currentTarget.dataset.name + this.setData({ + currentCity: name, + mallList: [], + isShop: true + }) + tt.showLoading({ + title: '加载中...', + }); + this.getCouponChannelId(false) + }, }) \ No newline at end of file diff --git a/pages2/shopSelect/shopSelect.json b/pages2/shopSelect/shopSelect.json index 3928faa..080fccd 100644 --- a/pages2/shopSelect/shopSelect.json +++ b/pages2/shopSelect/shopSelect.json @@ -1,3 +1,6 @@ { + "navigationBarTitleText": "门店选择", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black", "usingComponents": {} } \ No newline at end of file diff --git a/pages2/shopSelect/shopSelect.less b/pages2/shopSelect/shopSelect.less index 2ec1d47..80b33ab 100644 --- a/pages2/shopSelect/shopSelect.less +++ b/pages2/shopSelect/shopSelect.less @@ -3,6 +3,7 @@ page { font-size: 30rpx; box-sizing: border-box !important; background-color: #fff; + padding-bottom: 0; .continer { width: 95%; @@ -47,6 +48,13 @@ page { .img { width: 30%; height: 170rpx; + border-radius: 15rpx; + overflow: hidden; + + image { + width: 100%; + height: 100%; + } } .infoBox { @@ -64,6 +72,33 @@ page { text-overflow: ellipsis; } } + + .infoBox2 { + display: flex; + justify-content: space-between; + flex-direction: column; + width: 65%; + margin-left: 20rpx; + padding: 30rpx 0; + + .infoItem { + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + } + } + + .takeingPlace { + text-align: center; + margin-top: 30rpx; + + .title { + font-size: 45rpx; + color: #00000075; + margin-bottom: 40rpx; + } } } } @@ -82,11 +117,34 @@ page { border-radius: 15rpx; } } + + .notice { + font-size: 40rpx; + padding: 0 15rpx; + margin-bottom: 30rpx; + } + + .indexList { + padding: 0 15rpx; + box-sizing: border-box; + margin-bottom: 25rpx; + + .title { + font-size: 40rpx; + } + + .item { + font-size: 36rpx; + height: 80rpx; + line-height: 80rpx; + border-bottom: 1px solid #0000003b; + } + } } .indexBar { position: fixed; - top: 10%; + top: 5%; right: 3%; font-size: 25rpx; text-align: center; @@ -96,14 +154,48 @@ page { border-radius: 30rpx; .indexBarItem { + position: relative; width: 50rpx; + height: 42rpx; color: #ffffff; - margin-bottom: 10rpx; transition: all 0.3s; &.active { color: #f92672; } + + .tag { + position: absolute; + left: -210%; + top: 0; + width: 110rpx; + height: 60rpx; + text-align: center; + transform: scale(1.3); + } + + .name { + position: relative; + top: -11rpx; + left: 10rpx; + display: inline-block; + height: 50rpx; + line-height: 50rpx; + color: #ffffff; + background-color: #8a8a8a; + border-radius: 15rpx; + padding: 0 20rpx; + } + + .tran { + display: inline-block; + width: 0; + height: 0; + border-top: 20rpx solid #ffffff00; + border-bottom: 20rpx solid #ffffff00; + border-left: 20rpx solid #8a8a8a; + border-right: 20rpx solid #ffffff00; + } } } } diff --git a/pages2/shopSelect/shopSelect.ttml b/pages2/shopSelect/shopSelect.ttml index 6508779..04df0b4 100644 --- a/pages2/shopSelect/shopSelect.ttml +++ b/pages2/shopSelect/shopSelect.ttml @@ -2,17 +2,32 @@ - 当前城市:武汉 + 当前城市:{{ currentCity }} + 定位失败 切换城市 - - - - - 家帮汇沧州店 - 地址:湖北省汉川市仙女山街道办事处仙女大道100号1栋城北建筑公司1单元501室 - 距您0.2km + + + + + + {{ item.merchantName }} + 地址:{{ item.addr }} + 距您 {{ item.distance_str }} + + + + {{ item.merchantName }} + 地址:{{ item.addr }} + + + + + + + 该城市暂无可用门店哦 + @@ -21,10 +36,30 @@ 返回 + + 请选择您所在城市 + + + + {{ item }} + 北京市 + 武汉市 + 天津市 + 石家庄市 + 济南市 + 长沙市 + + + {{ - item }} + tt:key="index" id="{{ item }}" bindtap="tagBind">{{ item }} + + {{ item }} + + + \ No newline at end of file diff --git a/pages2/shopSelect/shopSelect.ttss b/pages2/shopSelect/shopSelect.ttss index 9455883..95998a7 100644 --- a/pages2/shopSelect/shopSelect.ttss +++ b/pages2/shopSelect/shopSelect.ttss @@ -3,6 +3,7 @@ page { font-size: 30rpx; box-sizing: border-box !important; background-color: #fff; + padding-bottom: 0; } page .continer { width: 95%; @@ -44,6 +45,12 @@ page .continer .selectShop .shopList .item { page .continer .selectShop .shopList .item .img { width: 30%; height: 170rpx; + border-radius: 15rpx; + overflow: hidden; +} +page .continer .selectShop .shopList .item .img image { + width: 100%; + height: 100%; } page .continer .selectShop .shopList .item .infoBox { display: flex; @@ -59,6 +66,29 @@ page .continer .selectShop .shopList .item .infoBox .infoItem { overflow: hidden; text-overflow: ellipsis; } +page .continer .selectShop .shopList .item .infoBox2 { + display: flex; + justify-content: space-between; + flex-direction: column; + width: 65%; + margin-left: 20rpx; + padding: 30rpx 0; +} +page .continer .selectShop .shopList .item .infoBox2 .infoItem { + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +page .continer .selectShop .shopList .takeingPlace { + text-align: center; + margin-top: 30rpx; +} +page .continer .selectShop .shopList .takeingPlace .title { + font-size: 45rpx; + color: #00000075; + margin-bottom: 40rpx; +} page .continer .selectCity .nav { margin-bottom: 20rpx; padding: 0 20rpx; @@ -71,9 +101,28 @@ page .continer .selectCity .nav .item { background-image: linear-gradient(to top, #48c6ef 0%, #6f86d6 100%); border-radius: 15rpx; } +page .continer .selectCity .notice { + font-size: 40rpx; + padding: 0 15rpx; + margin-bottom: 30rpx; +} +page .continer .selectCity .indexList { + padding: 0 15rpx; + box-sizing: border-box; + margin-bottom: 25rpx; +} +page .continer .selectCity .indexList .title { + font-size: 40rpx; +} +page .continer .selectCity .indexList .item { + font-size: 36rpx; + height: 80rpx; + line-height: 80rpx; + border-bottom: 1px solid #0000003b; +} page .continer .indexBar { position: fixed; - top: 10%; + top: 5%; right: 3%; font-size: 25rpx; text-align: center; @@ -83,11 +132,42 @@ page .continer .indexBar { border-radius: 30rpx; } page .continer .indexBar .indexBarItem { + position: relative; width: 50rpx; + height: 42rpx; color: #ffffff; - margin-bottom: 10rpx; transition: all 0.3s; } page .continer .indexBar .indexBarItem.active { color: #f92672; } +page .continer .indexBar .indexBarItem .tag { + position: absolute; + left: -210%; + top: 0; + width: 110rpx; + height: 60rpx; + text-align: center; + transform: scale(1.3); +} +page .continer .indexBar .indexBarItem .name { + position: relative; + top: -11rpx; + left: 10rpx; + display: inline-block; + height: 50rpx; + line-height: 50rpx; + color: #ffffff; + background-color: #8a8a8a; + border-radius: 15rpx; + padding: 0 20rpx; +} +page .continer .indexBar .indexBarItem .tran { + display: inline-block; + width: 0; + height: 0; + border-top: 20rpx solid #ffffff00; + border-bottom: 20rpx solid #ffffff00; + border-left: 20rpx solid #8a8a8a; + border-right: 20rpx solid #ffffff00; +} diff --git a/project.private.config.json b/project.private.config.json index cb8636f..eaf4af0 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -1,7 +1,7 @@ { "condition": { "miniprogram": { - "current": 1688192851587, + "current": -1, "list": [ { "id": 1678508631604, @@ -58,10 +58,10 @@ "location": "audit" }, { - "id": 1688192851587, + "id": 1688290922168, "name": "pages2/shopSelect/shopSelect", "pathName": "pages2/shopSelect/shopSelect", - "query": "", + "query": "id=835370938545004544&orderId=835370938545004544&merOrderId=835370895208669184&startTime=2023-07-02&endTime=2023-08-30", "scene": "990001", "launchFrom": "scan", "location": "qr_code"