diff --git a/package1/buyFood/buyFood.vue b/package1/buyFood/buyFood.vue index f0b9e8c..b1a678d 100644 --- a/package1/buyFood/buyFood.vue +++ b/package1/buyFood/buyFood.vue @@ -126,6 +126,11 @@ + + + + 因您的收货楼层在3楼以上,将额外收取配送费 ¥{{highFloorFeeCalc}} + @@ -452,6 +457,15 @@ return this.cartItems.reduce((acc, curr) => acc + (curr.quantity * parseFloat(curr.price)), 0); } }, + highFloorFeeCalc() { + if (this.selected === 'zhiding' && this.assignedWorker) { + let hFee = parseFloat(this.assignedWorker.highFloorFee || 0); + if (hFee > 0 && this.formData.address && parseInt(this.formData.address.floor) > 3) { + return hFee; + } + } + return 0; + }, packageFee() { if (this.totalPackageFee > 0) return this.totalPackageFee; let fee = 0; @@ -486,12 +500,12 @@ let members = parseInt(this.groupItem.groupRule.groupCount) || 1; if (this.selected === 'zhiding') { let extra = members > 2 ? (members - 2) * 0.5 : 0; - return Math.ceil(((commission + extra) / members) * 100) / 100; + return Math.ceil(((commission + this.highFloorFeeCalc + extra) / members) * 100) / 100; } else { - return Math.ceil((commission / members) * 100) / 100; + return Math.ceil(((commission + this.highFloorFeeCalc) / members) * 100) / 100; } } - return commission; + return commission + this.highFloorFeeCalc; }, totalAmountCalc() { if(this.isPaotui==true){ @@ -541,6 +555,7 @@ }, onUnload() { uni.$off('updateDeliveryWorker'); + uni.removeStorageSync('pendingAssignWorker'); }, methods: { initAddress() { @@ -609,7 +624,7 @@ let shopArea = this.shopItem.shopArea || ''; let putArea = this.formData.address ? this.formData.address.areaId : ''; uni.navigateTo({ - url: `/package1/index/deliveryPersonList?shopAreaId=${shopArea}&putAreaId=${putArea}` + url: `/package1/index/deliveryPersonList?orderType=0&shopAreaId=${shopArea}&putAreaId=${putArea}` }) }, openAddressBook() { @@ -845,7 +860,7 @@ payload.workerParam = { workerId: this.assignedWorker.workerId, workerName: this.assignedWorker.workerName, - orderBkge: parseFloat(this.assignedWorker.orderBkge || 0) + orderBkge: parseFloat(this.assignedWorker.orderBkge || 0) + this.highFloorFeeCalc }; } else if (this.selected === 'buzhiding') { payload.workerParam = { diff --git a/package1/index/deliveryPersonList.vue b/package1/index/deliveryPersonList.vue index c3f951d..9a9a6e5 100644 --- a/package1/index/deliveryPersonList.vue +++ b/package1/index/deliveryPersonList.vue @@ -107,12 +107,14 @@ shopAreaId: '', putAreaId: '', workerList: [], + orderType:null, keyword: '' } }, onLoad(option) { this.shopAreaId = option.shopAreaId || ''; this.putAreaId = option.putAreaId || ''; + this.orderType = option.orderType || 0; this.getShopList(); }, onShow() { @@ -123,7 +125,7 @@ // Fake request to our new endpoint let payload = { shopAreaId: this.shopAreaId, - orderType: 0, + orderType: this.orderType, putAreaId: this.putAreaId, baozhang: this.baozhang, xiangtong: this.xiangtong, diff --git a/package1/myCenter/partTimeJobRegister.vue b/package1/myCenter/partTimeJobRegister.vue index da8c347..82102a5 100644 --- a/package1/myCenter/partTimeJobRegister.vue +++ b/package1/myCenter/partTimeJobRegister.vue @@ -269,7 +269,6 @@ for(let m = 0;m订单已退款 售后中 订单已售后 - (商家拒绝退款) 预计{{orderDetail.deliveryInfo.mustFinishTime | formatHourMinute }}送达 @@ -156,7 +155,7 @@ 增加配送佣金 - 指派配送员 + 改派配送员 + + + + 件数 + + + {{orderDetail.deliveryInfo.allCount}} + + + + + 服务类型 + + + 快递/跑腿 + + 订单号 @@ -380,7 +403,7 @@ {{orderDetail.deliveryInfo.acceptTime | formatTime}} - + 商家出餐时间 @@ -388,7 +411,7 @@ {{orderDetail.shopMakeTime ? orderDetail.shopMakeTime : '' | formatTime}} - + 配送员到店时间 @@ -425,7 +448,7 @@ - + @@ -450,10 +473,10 @@ 确定要取消订单吗 - 取消订单需要商家同意 + 取消订单需要商家同意 - 商家还未出餐 - 本单商家备餐时长共计{{shopTime}} 配送员配送时长共计{{peisongTime}} + 商家还未出餐 + 本单商家备餐时长共计{{shopTime}} 配送员配送时长共计{{peisongTime}} @@ -652,6 +675,11 @@ }, returnPopupProp(item){ this.payData = item; + + if(this.payData.otherOrder == 1){ + this.refundType = 3 + this.refundTypeStatus = 2 + } if(this.payData.shopMakeTime != null){ const date1 = new Date(this.payData.deliveryInfo.acceptTime); const date2 = new Date(this.payData.shopMakeTime); diff --git a/package1/order/orderList.vue b/package1/order/orderList.vue index 82e3d8b..6444f88 100644 --- a/package1/order/orderList.vue +++ b/package1/order/orderList.vue @@ -126,16 +126,13 @@ - {{item.orderType == 4 ? '快递' : item.orderType == 5 ? '跑腿' : item.orderType == 6 ? '二手':"饭团"}} + {{item.otherOrder == 1 ? '快递/跑腿' : item.otherOrder == 2 ? '二手' :"饭团"}} - {{item.orderType == 4 ? '快递代取' : item.orderType == 5 ? '跑腿帮送' : item.orderType == 6 ? '二手物品': item.shopName}} + {{item.otherOrder == 1 ? '快递/跑腿' : item.otherOrder == 2 ? '二手物品': item.shopName}} - + - - 3个 - @@ -143,14 +140,14 @@ - 沁园春第三食堂A20窗口 + {{item.shopAddress}} - 11号宿舍楼610 + {{item.receiverAddress}} - 下单时间:2026-02-25 16:34 + 下单时间:{{item.createTime | formatTime}} @@ -181,12 +178,16 @@ 实付(含包装/配送费) ¥{{item.totalAmount}} + + 下单时间:{{item.createTime | formatTime}} + + 去支付 diff --git a/package1/runErrand/runErrand.vue b/package1/runErrand/runErrand.vue index 03d2cb1..b63a54a 100644 --- a/package1/runErrand/runErrand.vue +++ b/package1/runErrand/runErrand.vue @@ -1,24 +1,24 @@ @@ -194,69 +309,206 @@ export default { data() { return { - selected: 'phone', - isPaotui: true, + isKuaidi: true, menuButtonInfo: {}, + selectedWorker:'buzhiding', + assignedWorker:null, + customCommission:'0', + shopArea: [], + kuaidiAreaList: [], + selectedPickupArea: null, + addressSelectMode: 'put', // 'put' | 'get' + formData: { + address: null, // 收货地址 putArea + pickupAddress: null, // 取货地址 getArea (跑腿模式) + isImmediately: true, + deliveryTime: '', + peisongyuan: '' + }, addFormData: { - qu: '', - song: '', - num: 0, - phone: '', - codeList: [{ - code: '' - }], + num: 1, + phoneNumber: '', + codeList: [{ code: '' }], picture: [], isOverweightOrOvervolume: false, - deliveryTime: '立即送达' + remark: '' }, - content: [] + content: [], + immediateTimeStr: '', + backendTotalAmount: 0, + currentOrderId: '', + warnPopup: '' } }, components: { deliveryTimeOp, addressList }, + computed: { + highFloorFeeCalc() { + if (this.selectedWorker === 'zhiding' && this.assignedWorker) { + let hFee = parseFloat(this.assignedWorker.highFloorFee || 0); + if (hFee > 0 && this.formData.address && parseInt(this.formData.address.floor) > 3) { + return hFee; + } + } + return 0; + }, + deliveryFeeCalc() { + let commission = 0; + if (this.selectedWorker === 'zhiding') { + if (this.assignedWorker) { + commission = parseFloat(this.assignedWorker.orderBkge || 3); + } + } else { + let val = parseFloat(this.customCommission); + if (!isNaN(val) && val > 0) commission = val; + } + return commission + this.highFloorFeeCalc; + }, + totalAmountCalc() { + return this.deliveryFeeCalc; + } + }, onLoad() { }, onShow() { + this.getShopArea() this.menuButtonInfo = uni.getMenuButtonBoundingClientRect() + this.initAddress() + + const now = new Date(); + const startTime = new Date(now); + const endTime = new Date(now); + startTime.setMinutes(startTime.getMinutes() + 20); + endTime.setMinutes(endTime.getMinutes() + 35); + const startStr = `${startTime.getHours().toString().padStart(2, '0')}:${startTime.getMinutes().toString().padStart(2, '0')}`; + const endStr = `${endTime.getHours().toString().padStart(2, '0')}:${endTime.getMinutes().toString().padStart(2, '0')}`; + this.immediateTimeStr = `${startStr}-${endStr}`; + + uni.$on('updateDeliveryWorker', (worker) => { + this.assignedWorker = worker; + this.selectedWorker = 'zhiding'; + }); + + }, + onUnload() { + uni.$off('updateDeliveryWorker'); + uni.removeStorageSync('pendingAssignWorker'); }, methods: { - openAddressBook(){ - this.$refs.bookPopup.open('bottom') + getShopArea(){ + let that = this + let areaStorage = uni.getStorageSync('area'); + if(!areaStorage) return; + that.tui.request("/app/shopArea/getByParentId/"+JSON.parse(areaStorage).id, "GET", {}, false, true).then((res) => { + if (res.code == 200) { + if(res.result != null){ + that.shopArea = res.result; + that.kuaidiAreaList = that.shopArea.filter(item => item.isCanteen === 2); + } + } else { + that.tui.toast(res.message) + return + } + }).catch((res) => {}) + }, + initAddress() { + let cachedAddress = uni.getStorageSync('selectedAddress'); + if (cachedAddress && !this.formData.address) { + this.formData.address = cachedAddress; + } else if(!this.formData.address){ + let that = this; + let userId = uni.getStorageSync('id'); + if(!userId) return; + that.tui.request("/app/userAddress/list", "GET", { + userId: userId + }, false, true).then((res) => { + if (res.code == 200 && res.result && res.result.length > 0) { + let target = res.result.find(item => item.isDefault == 1) || res.result[0]; + that.formData.address = target; + uni.setStorageSync('selectedAddress', target); + } + }).catch(() => {}); + } + }, + openAddressBook(mode) { + this.addressSelectMode = mode; + this.$refs.bookPopup.open('bottom'); + }, + handleSelectAddress(address) { + if (this.addressSelectMode === 'put') { + this.formData.address = address; + uni.setStorageSync('selectedAddress', address); + } else { + this.formData.pickupAddress = address; + } + this.$refs.bookPopup.close(); + }, + handleSyncAddress(address) { + if (this.addressSelectMode === 'put') { + this.formData.address = address; + } + }, + openKuaidiPicker() { + this.$refs.kuaidiPickerPopup.open(); + }, + selectKuaidiArea(item) { + this.selectedPickupArea = item; + this.$refs.kuaidiPickerPopup.close(); + }, + goDetail() { + let shopAreaId = ''; + if (this.isKuaidi) { + shopAreaId = this.selectedPickupArea ? this.selectedPickupArea.id : ''; + } else { + shopAreaId = this.formData.pickupAddress ? this.formData.pickupAddress.areaId : ''; + } + let putAreaId = this.formData.address ? this.formData.address.areaId : ''; + if(this.isKuaidi){ + uni.navigateTo({ + url: `/package1/index/deliveryPersonList?orderType=1&shopAreaId=${shopAreaId}&putAreaId=${putAreaId}` + }); + }else{ + uni.navigateTo({ + url: `/package1/index/deliveryPersonList?shopAreaId=${shopAreaId}&putAreaId=${putAreaId}` + }); + } }, - checkTime(){ - this.$refs.model.open(); - this.generateDeliveryTimes() + checkTime(type) { + if (type === this.formData.isImmediately) { + if (type === false) { + this.$refs.model.open() + this.generateDeliveryTimes() + } + return; + } + this.formData.isImmediately = type; + if (this.formData.isImmediately === false) { + this.$refs.model.open() + this.generateDeliveryTimes() + } }, - //时间选择器获取时间数据 generateDeliveryTimes() { const now = new Date(); const today = new Date(now); const tomorrow = new Date(now); tomorrow.setDate(tomorrow.getDate() + 1); - // 星期几 const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; const todayWeekday = weekdays[today.getDay()]; const todayStr = `今天 (${todayWeekday})`; - // 明天的日期格式:月-日(不补零) const month = tomorrow.getMonth() + 1; const day = tomorrow.getDate(); const tomorrowStr = `${month}-${day}`; - // ----- 生成今天的时间列表 ----- - const todayTimelist = [{ - timestr: '自动送达' - }]; - + const todayTimelist = [{ timestr: '自动送达' }]; const currentHour = now.getHours(); const currentMinute = now.getMinutes(); - // 计算下一个半小时点 let nextHour = currentHour; let nextMinute = 30; if (currentMinute >= 30) { @@ -264,88 +516,292 @@ nextMinute = 0; } - // 从下一个半小时点开始,直到 23:30 for (let h = nextHour; h <= 23; h++) { const startMin = (h === nextHour) ? nextMinute : 0; for (let m = startMin; m < 60; m += 30) { - if (h === 23 && m > 30) continue; // 不超过 23:30 + if (h === 23 && m > 30) continue; const timeStr = `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}`; - todayTimelist.push({ - timestr: timeStr - }); + todayTimelist.push({ timestr: timeStr }); } } - // ----- 生成明天的时间列表(全天 00:00 ~ 23:30)----- const tomorrowTimelist = []; for (let h = 0; h <= 23; h++) { for (let m = 0; m < 60; m += 30) { if (h === 23 && m > 30) continue; const timeStr = `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}`; - tomorrowTimelist.push({ - timestr: timeStr - }); + tomorrowTimelist.push({ timestr: timeStr }); } } - this.content = [{ - timezh: todayStr, - timelist: todayTimelist - }, - { - timezh: tomorrowStr, - timelist: tomorrowTimelist - } + this.content = [ + { timezh: todayStr, timelist: todayTimelist }, + { timezh: tomorrowStr, timelist: tomorrowTimelist } ]; }, - - //切换日期 - dataCallback(type) { - console.log("11111111111") - }, - //时间选择器点击后 timeCallback(val) { - this.addFormData.deliveryTime = val.timestr - this.$refs.model.close() + this.formData.deliveryTime = val.timestr; + this.$refs.model.close(); + }, + checkWorker(type) { + if (type == this.selectedWorker) return; + this.selectedWorker = type; + if (this.selectedWorker == 'buzhiding') { + this.formData.peisongyuan = ""; + this.assignedWorker = null; + } }, checkWeightOrVolume() { this.addFormData.isOverweightOrOvervolume = !this.addFormData.isOverweightOrOvervolume - }, addCode() { - this.addFormData.codeList.push({ - code: '' - }) + this.addFormData.codeList.push({ code: '' }) }, delCode(index) { this.addFormData.codeList.splice(index, 1) }, - checkVoucher(type) { - if (type == this.selected) return; - this.selected = type; - - this.addFormData.phone = '', - this.addFormData.codeList = [{ - code: '' - }] - this.addFormData.picture = [] + pictureAdd() { + let that = this + uni.chooseMedia({ + count: 1, + mediaType: ['image'], + sourceType: ['album'], + success(res) { + uni.showLoading({ + title: '加载中...', + mask: true + }) + for (let i = 0; i < res.tempFiles.length; i++) { + + that.upLoadFile(res.tempFiles[i].tempFilePath) + } + + } + }) }, - toggleReply() { - this.isExpanded = !this.isExpanded; + async upLoadFile(path) { + let that = this; + let hiver_token = uni.getStorageSync("hiver_token") + await uni.uploadFile({ + url: that.tui.interfaceUrl() + '/upload/file', + filePath: path, + name: 'file', + header: { + "content-type": "multipart/form-data", + 'accessToken': hiver_token + }, + formData: {}, + success: (uploadFileRes) => { + let data = JSON.parse(uploadFileRes.data); + if (data.success) { + that.addFormData.picture.push(data.result); + } else { + that.tui.toast(data.message); + } + that.$forceUpdate() + }, + fail: (err) => { + uni.hideLoading(); + uni.showToast({ + title: JSON.stringify(err), + icon: 'none' + }) + } + }); + await setTimeout(res => { + uni.hideLoading(); + }, 1000) }, - checkTab(index) { - for (let i = 0; i < this.menuList.length; i++) { - if (i == index) { - this.menuList[i].checked = true - } else { - this.menuList[i].checked = false + delPicture(index) { + this.addFormData.picture.splice(index, 1); + }, + getMustFinishTime() { + if (this.formData.isImmediately || !this.formData.deliveryTime || this.formData.deliveryTime === '自动送达' || this.formData.deliveryTime === '尽快送达') { + const now = new Date(); + now.setMinutes(now.getMinutes() + 35); + const year = now.getFullYear(); + const month = String(now.getMonth() + 1).padStart(2, '0'); + const day = String(now.getDate()).padStart(2, '0'); + const hours = String(now.getHours()).padStart(2, '0'); + const minutes = String(now.getMinutes()).padStart(2, '0'); + const seconds = String(now.getSeconds()).padStart(2, '0'); + return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`; + } else { + let timeStr = this.formData.deliveryTime; + if (timeStr.length === 5) { + let [h, m] = timeStr.split(':'); + let targetHour = parseInt(h); + let d = new Date(); + if (targetHour < d.getHours()) d.setDate(d.getDate() + 1); + let yyyy = d.getFullYear(); + let MM = String(d.getMonth() + 1).padStart(2, '0'); + let DD = String(d.getDate()).padStart(2, '0'); + return `${yyyy}-${MM}-${DD}T${timeStr}:00`; + } + } + return null; + }, + submitPay() { + if (this.isKuaidi && !this.selectedPickupArea) { + uni.showToast({ title: '请选择代取点', icon: 'none' }); + return; + } + if (!this.isKuaidi && !this.formData.pickupAddress) { + uni.showToast({ title: '请选择取货地址', icon: 'none' }); + return; + } + if (!this.formData.address) { + this.warnPopup = 'shdz'; + this.$refs.warnPopup.open(); + return; + } + if (this.selectedWorker === 'buzhiding') { + let comm = parseFloat(this.customCommission); + if (isNaN(comm) || comm <= 0) { + this.warnPopup = 'psyj'; + this.$refs.warnPopup.open(); + return; } } + if (this.selectedWorker === 'zhiding' && !this.assignedWorker) { + this.warnPopup = 'psy'; + this.$refs.warnPopup.open(); + return; + } + if (this.isKuaidi && (!this.addFormData.codeList || this.addFormData.codeList[0].code.trim() === '') && this.addFormData.picture.length === 0) { + uni.showToast({ title: '请填写取件码或上传截图凭证', icon: 'none' }); + return; + } + + this.submitOrderToBackend(); + }, + submitOrderToBackend() { + let deliveryType = this.isKuaidi ? 2 : 3; + + let putAddressStr = (this.formData.address.areaName || '') + (this.formData.address.floor ? this.formData.address.floor + '层' : '') + (this.formData.address.roomNum || ''); + let shopAddressStr = ''; + let shopName = ''; + let shopPhone = ''; + let getAreaId = ''; + + if (this.isKuaidi) { + shopAddressStr = this.selectedPickupArea.title; + shopName = this.selectedPickupArea.title; + getAreaId = this.selectedPickupArea.id; + } else { + shopAddressStr = (this.formData.pickupAddress.areaName || '') + (this.formData.pickupAddress.floor ? this.formData.pickupAddress.floor + '层' : '') + (this.formData.pickupAddress.roomNum || ''); + shopName = this.formData.pickupAddress.receiverName || '个人寄件'; + shopPhone = this.formData.pickupAddress.receiverPhone || ''; + getAreaId = this.formData.pickupAddress.areaId; + } + + let codes = this.addFormData.codeList.map(c => c.code).filter(c => c).join(','); + let pics = this.addFormData.picture.join(','); + + let payload = { + getAreaId: getAreaId, + putAreaId: this.formData.address.areaId, + deliveryType: deliveryType, + receiverName: this.formData.address.receiverName, + receiverPhone: this.formData.address.receiverPhone, + receiverAddress: putAddressStr, + shopAddress: shopAddressStr, + shopId: uni.getStorageSync('id'), + shopPhone: shopPhone, + remark: this.addFormData.remark, + allCount: this.addFormData.num, + isBig: this.addFormData.isOverweightOrOvervolume ? 1 : 0, + phoneNumber: this.addFormData.phoneNumber, + getCodes: codes, + getPictures: pics, + regionId: JSON.parse(uni.getStorageSync('area')).id, + deliveryFee: this.deliveryFeeCalc + }; + + let mft = this.getMustFinishTime(); + if (mft) payload.mustFinishTime = mft; + + if (this.selectedWorker === 'zhiding' && this.assignedWorker) { + payload.workerId = this.assignedWorker.workerId; + payload.workerName = this.assignedWorker.workerName; + payload.workerPhone = this.assignedWorker.mobile; + payload.workerParam = { // Backend processing might specifically look for workerParam.orderBkge + workerId: this.assignedWorker.workerId, + workerName: this.assignedWorker.workerName, + orderBkge: parseFloat(this.assignedWorker.orderBkge || 0) + this.highFloorFeeCalc + } + // deliveryFee override just in case + payload.deliveryFee = parseFloat(this.assignedWorker.orderBkge || 3) + this.highFloorFeeCalc; + } else if (this.selectedWorker === 'buzhiding') { + payload.workerParam = { orderBkge: parseFloat(this.customCommission || 0) }; + payload.deliveryFee = parseFloat(this.customCommission || 0); + } + + uni.showLoading({ title: '创建订单中...' }); + + this.tui.request("/mall/delivery/insert", "POST", payload, false, false).then(res => { + uni.hideLoading(); + if (res.success && res.result) { + this.currentOrderId = res.result.id; + this.backendTotalAmount = res.result.deliveryFee || this.deliveryFeeCalc; + this.$refs.payPopup.open('bottom'); + } else { + uni.showToast({ title: res.message || '下单失败', icon: 'none' }); + } + }).catch(err => { + uni.hideLoading(); + }); + }, + wxPayment() { + let that = this; + if (!this.currentOrderId || !this.backendTotalAmount) return; + + let amountInCents = Math.round(this.backendTotalAmount * 100); + let payDesc = this.isKuaidi ? '代取快递费' : '代跑腿费'; + + this.tui.request("/api/wechat/pay/unified-order", "POST", { + openid: uni.getStorageSync('miniProgramOpenid') || 'test-openid', + amount: amountInCents, + description: payDesc, + outTradeNo: this.currentOrderId + }, false, false).then((res) => { + if (res.code == 200) { + uni.requestPayment({ + provider: 'wxpay', + timeStamp: res.timeStamp, + nonceStr: res.nonceStr, + package: res.package, + signType: res.signType, + paySign: res.paySign, + success: function(res2) { + uni.showToast({ title: '支付成功', icon: 'success' }); + that.tui.request("/api/wechat/pay/paySuccess", "POST", { + outTradeNo: that.currentOrderId + }, false, false).then((res3) => { + if(res3.code == 200) { + that.handlePaymentSuccess(); + } else { + that.tui.toast("系统繁忙,请联系客服处理"); + } + }) + }, + fail: function(err) { + uni.redirectTo({ + url: '/package1/order/orderDetail?id=' + that.currentOrderId + }); + } + }); + } else { + uni.redirectTo({ + url: '/package1/order/orderDetail?id=' + that.currentOrderId + }); + } + }) }, - //查看大图 - largeImg(img) { - this.bigImg = 'https://jewel-shop.oss-cn-beijing.aliyuncs.com/00b1f011787c4549bbea650d95a4eb39.png' - this.$refs.imgPopup.open() + handlePaymentSuccess() { + uni.redirectTo({ + url: '/package1/order/orderDetail?id=' + this.currentOrderId + }); }, back() { uni.navigateBack() @@ -374,7 +830,7 @@ .title { background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/8bc15960c2dc40268e295d6dd23aecce.png') no-repeat; width: 100%; - height: 54%; + height: 40%; } .title-sreach { @@ -400,12 +856,12 @@ .content { position: absolute; - top: 360rpx; + top: 280rpx; width: 100%; overflow: scroll; - height: 80%; - background: #fff; - padding: 0 2.5%; + height: 100%; + padding: 0 4%; + box-sizing: border-box; } .tab1 { @@ -427,7 +883,6 @@ .dizhi { display: flex; - margin-bottom: 20rpx; } .dizhi-tu { @@ -443,34 +898,32 @@ .dizhi1 { flex: 1; - background: #eee; - border-radius: 20rpx; height: 100rpx; line-height: 100rpx; display: flex; - padding: 0 20rpx; + justify-content: space-between; + align-items: center; } .dizhi-ming { - flex: 1; + font-size: 30rpx; font-weight: 700; - } - - .dizhi-btn { - width: 112rpx; - height: 50rpx; - background: #fff; - line-height: 50rpx; - text-align: center; - border: 1px solid #777; - border-radius: 50rpx; - margin-top: 26rpx; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .content-box { width: 100%; display: flex; line-height: 120rpx; + background: #fff; + border-radius: 20rpx; + padding: 0 20rpx; + margin-top: 20rpx; + box-shadow: 0 0 10rpx rgba(0,0,0,0.05); + box-sizing: border-box; } .content-title { @@ -486,7 +939,7 @@ border-radius: 48rpx; text-align: center; line-height: 48rpx; - margin: 36rpx 20rpx 0 0; + margin: 0 20rpx 0 0; } .radio-no-check { @@ -494,14 +947,12 @@ height: 48rpx; border-radius: 48rpx; border: 1px solid #eee; - margin: 36rpx 20rpx 0 0; + margin: 0 20rpx 0 0; } .check-input { - border: 1px solid rgba(0, 35, 28, 0.1); - border-radius: 20rpx; height: 70rpx; - width: 75%; + width: 100%; margin-bottom: 20rpx; } @@ -511,7 +962,8 @@ line-height: 50rpx; text-align: center; background: rgba(166, 255, 234, 1); - margin-top: 20rpx; + margin-top: 10rpx; + margin-bottom: 20rpx; border-radius: 10rpx; font-size: 22rpx; } @@ -526,6 +978,7 @@ padding: 0 20rpx; color: #777; margin-right: 20rpx; + margin-top: 24rpx; } .buy-bottom { @@ -544,18 +997,48 @@ width: 90%; height: 100rpx; background: linear-gradient(90deg, #e3ff96, #a6ffea); - font-size: 26rpx; + font-size: 32rpx; font-weight: 700; line-height: 100rpx; text-align: center; border-radius: 100rpx; margin: 20rpx auto; } + .book-popup-content{ position: relative; height: 1200rpx; width: 100%; padding: 20rpx; overflow: scroll; + box-sizing: border-box; } + + .time-box { + background: #fff; + display: flex; + height: 140rpx; + padding: 20rpx; + border-radius: 20rpx; + margin-top: 20rpx; + box-shadow: 0 0 10rpx rgba(0,0,0,0.05); + box-sizing: border-box; + } + + .time1 { + height: 100rpx; + flex: 1; + border-radius: 20rpx; + text-align: center; + margin: 0 10rpx; + line-height: 40rpx; + padding-top: 10rpx; + box-sizing: border-box; + } + + .content2 { + background: #fff; + border-radius: 40rpx 40rpx 0 0; + overflow: hidden; + } \ No newline at end of file