diff --git a/components/tab-bar/delivery.vue b/components/tab-bar/delivery.vue index 1fe0545..c05681c 100644 --- a/components/tab-bar/delivery.vue +++ b/components/tab-bar/delivery.vue @@ -72,7 +72,7 @@ - {{item.numberCode.length>14 ?'多订单':item.numberCode}} + {{item.numberCode.length>14 ?'多订单':item.numberCode | delPlus}} - + 外卖规则 --> + + 没有更多了 + - - 确认规则 - 补充规则 + + 确认规则 + @@ -445,6 +448,12 @@ // 2. 删除所有大括号 { } 和双引号 " const result = str.replace(/[{}"]/g, ''); return result; + }, + delPlus(data){ + if (data.endsWith("+")) { + data = data.slice(0, -1); // 删除最后一个字符 + } + return data; } }, methods: { @@ -990,8 +999,7 @@ padding: 20rpx 20rpx 0; background: #fff; border-radius: 20rpx; - max-height: 1000rpx; - min-height: 640rpx; + height: 1000rpx; position: relative; } diff --git a/package1/order/orderConfirm.vue b/package1/order/orderConfirm.vue index 263c8d5..fcafe0f 100644 --- a/package1/order/orderConfirm.vue +++ b/package1/order/orderConfirm.vue @@ -55,7 +55,12 @@ }); }, back() { - uni.navigateBack() + const pages = getCurrentPages(); + if (pages.length > 1) { + uni.navigateBack(); + } else { + uni.switchTab({ url: '/pages/index/index' }); + } } } diff --git a/package2/group/groupBuySingle.vue b/package2/group/groupBuySingle.vue index 2394dd8..83c5914 100644 --- a/package2/group/groupBuySingle.vue +++ b/package2/group/groupBuySingle.vue @@ -153,6 +153,9 @@ 销量 {{item.tailWarn != null ? item.tailWarn : 0}} + + ¥{{item.attributeListPrice | sliceMsg}} + - + @@ -822,6 +825,10 @@ const info = uni.getSystemInfoSync(); this.navBarHeight = info.statusBarHeight + 40; }, + onPullDownRefresh() { + this.getCategory(this.shopItem.id); + this.getProduct(''); + }, onReady() { // 记录container相对页面的初始偏移量 setTimeout(() => { @@ -932,6 +939,7 @@ this.searchForm.categoryId = categoryId; that.tui.request("/app/product/getShareList", "POST", this.searchForm, false, false).then((res) => { that.loadStatus = 'nomore'; + uni.stopPullDownRefresh() if (res.code == 200) { if (that.searchForm.pageNum == 1) { that.productItem = res.result.records; @@ -1772,10 +1780,14 @@ this.$refs.couponPopup.open('bottom'); }, back() { - uni.navigateBack() + const pages = getCurrentPages(); + if (pages.length > 1) { + uni.navigateBack(); + } else { + uni.switchTab({ url: '/pages/index/index' }); + } } } - } @@ -2330,7 +2342,7 @@ border-radius: 10px; float: left; text-align: center; - margin-right: 20px; + margin: 10px 20px 0 0; padding: 10px 10px 0; position: relative; } @@ -2342,7 +2354,7 @@ border-radius: 10px; float: left; text-align: center; - margin-right: 20px; + margin: 10px 20px 0 0; padding: 10px 10px 0; position: relative; } diff --git a/package2/myCenter/partTimeJobRegister.vue b/package2/myCenter/partTimeJobRegister.vue index 96eca0a..a7490a3 100644 --- a/package2/myCenter/partTimeJobRegister.vue +++ b/package2/myCenter/partTimeJobRegister.vue @@ -18,10 +18,11 @@ style="background: rgba(247, 248, 248, 0.6);height: 80rpx;line-height: 80rpx;padding: 18rpx 20rpx;border-radius: 20rpx;"> - + - * 学生证上传 身份信息仅用于认证身份,平台会严格保密 + * 学生证上传 身份信息仅用于认证身份,平台会严格保密 - + @@ -99,13 +101,17 @@ - - + + - 备注: - + 备注: + @@ -121,7 +127,8 @@ - + @@ -140,13 +147,17 @@ - - + + - 备注: - + 备注: + @@ -156,7 +167,8 @@ - 关注公众号 @@ -170,6 +182,20 @@ + + + + + 温馨提示 + + + 1.送单规则,需要在配送页面开启才能生效 + + + 2.您还没有关注公众号,关注公众号后可提现佣金 + + + @@ -178,8 +204,8 @@ alt="" style="width: 204rpx;height: 50rpx;" /> - {{item.title}} @@ -190,8 +216,8 @@ alt="" style="width: 204rpx;height: 50rpx;" /> - {{item.title}} @@ -200,7 +226,8 @@ 确定 - + @@ -219,12 +246,12 @@ highFloorFee: 0, paotui: false, waima: false, - mobile:'', + mobile: '', studentCard: '', }, bigImg: '', - qucan:[], - songcan:[], + qucan: [], + songcan: [], shopArea: [], waimaRuleList: [], paotuiRuleList: [], @@ -235,55 +262,58 @@ }, onLoad() { - this.getShopArea() + this.getShopArea() this.getWorkerMessage() }, onShow() { this.menuButtonInfo = uni.getMenuButtonBoundingClientRect() }, methods: { - getWorkerMessage(){ + getWorkerMessage() { let that = this - that.tui.request("/app/workerRelaPrice/getByWorkerId?workerId=" + uni.getStorageSync('worker').workerId, "GET", {}, false, true).then((res) => { + that.tui.request("/app/workerRelaPrice/getByWorkerId?workerId=" + uni.getStorageSync('worker').workerId, + "GET", {}, false, true).then((res) => { if (res.code == 200) { - if(res.result != null){ + if (res.result != null) { let data = res.result; if (data.workerName) that.formData.name = data.workerName; if (data.cardPicture) that.formData.studentCard = data.cardPicture; if (data.mobile) that.formData.mobile = data.mobile; - if (data.highFloorFee !== undefined && data.highFloorFee !== null) that.formData.highFloorFee = data.highFloorFee; - + if (data.highFloorFee !== undefined && data.highFloorFee !== null) that.formData + .highFloorFee = data.highFloorFee; + let list = data.workerRelaPriceList || []; let waimaList = list.filter(item => item.orderType == 0); let paotuiList = list.filter(item => item.orderType == 1); - - if(waimaList.length > 0) { + + if (waimaList.length > 0) { that.formData.waima = true; that.waimaRuleList = waimaList; } - if(paotuiList.length > 0) { + if (paotuiList.length > 0) { that.formData.paotui = true; that.paotuiRuleList = paotuiList; } that.$forceUpdate(); } } else { - that.tui.toast(res.message,1000) + that.tui.toast(res.message, 1000) return } }).catch((res) => {}) }, - getShopArea(){ + getShopArea() { let that = this - that.tui.request("/app/shopArea/getByParentId/"+JSON.parse(uni.getStorageSync('area')).id, "GET", {}, false, true).then((res) => { + that.tui.request("/app/shopArea/getByParentId/" + JSON.parse(uni.getStorageSync('area')).id, "GET", {}, + false, true).then((res) => { if (res.code == 200) { - if(res.result != null){ - for(let m = 0;m {}) @@ -304,7 +334,7 @@ } this.$forceUpdate() }, - qucanOrsongcan(type,index){ + qucanOrsongcan(type, index) { if (type == 'qucan') { this.qucan[index].checked = !this.qucan[index].checked } else { @@ -312,12 +342,15 @@ } this.$forceUpdate() }, - closeGuize(){ + closeGuize() { let selectedQucan = this.qucan.filter(item => item.checked); let selectedSongcan = this.songcan.filter(item => item.checked); - - if(selectedQucan.length == 0 || selectedSongcan.length == 0) { - uni.showToast({title: '请至少选择一个取货地址和一个送货地址', icon: 'none'}); + + if (selectedQucan.length == 0 || selectedSongcan.length == 0) { + uni.showToast({ + title: '请至少选择一个取货地址和一个送货地址', + icon: 'none' + }); return; } @@ -326,12 +359,13 @@ let userId = uni.getStorageSync('id') || ''; selectedQucan.forEach(q => { selectedSongcan.forEach(s => { - let existing = currentRuleList.find(r => r.getAreaId == q.id && r.putAreaId == s.id); + let existing = currentRuleList.find(r => r.getAreaId == q.id && r.putAreaId == s + .id); if (existing) { newRules.push(existing); } else { newRules.push({ - workerId: "W"+userId, + workerId: "W" + userId, getAreaId: q.id, getAreaName: q.title, putAreaId: s.id, @@ -352,6 +386,11 @@ this.$refs.guizePopup.close() }, + changePopup(e){ + if(e.show == false){ + uni.navigateBack() + } + }, checkAddress(type) { let that = this this.currentConfigType = type; @@ -365,41 +404,68 @@ let isPutChecked = currentRuleList.some(r => r.putAreaId == item.id); if (item.isCanteen == isCanteenVal) { - that.qucan.push({...item, checked: isGetChecked}); + that.qucan.push({ + ...item, + checked: isGetChecked + }); } else { - that.songcan.push({...item, checked: isPutChecked}); + that.songcan.push({ + ...item, + checked: isPutChecked + }); } }); this.$refs.guizePopup.open() }, removeRule(type, index) { - if(type == 'waima') { + if (type == 'waima') { this.waimaRuleList.splice(index, 1); } else { this.paotuiRuleList.splice(index, 1); } }, submit() { - if (!this.formData.name) return uni.showToast({title: '请填写姓名', icon: 'none'}); - if (!this.formData.studentCard) return uni.showToast({title: '请上传学生证', icon: 'none'}); - if (!this.formData.waima && !this.formData.paotui) return uni.showToast({title: '请至少选择一种兼职类型', icon: 'none'}); - + if (!this.formData.name) return uni.showToast({ + title: '请填写姓名', + icon: 'none' + }); + if (!this.formData.studentCard) return uni.showToast({ + title: '请上传学生证', + icon: 'none' + }); + if (!this.formData.waima && !this.formData.paotui) return uni.showToast({ + title: '请至少选择一种兼职类型', + icon: 'none' + }); + if (this.formData.waima && this.waimaRuleList.length == 0) { - return uni.showToast({title: '请配置外卖规则', icon: 'none'}); + return uni.showToast({ + title: '请配置外卖规则', + icon: 'none' + }); } if (this.formData.paotui && this.paotuiRuleList.length == 0) { - return uni.showToast({title: '请配置快递规则', icon: 'none'}); + return uni.showToast({ + title: '请配置快递规则', + icon: 'none' + }); } let workerRelaPriceList = []; if (this.formData.waima) { let invalid = this.waimaRuleList.find(item => !item.orderBkge); - if (invalid) return uni.showToast({title: '请填写外卖配送费', icon: 'none'}); + if (invalid) return uni.showToast({ + title: '请填写外卖配送费', + icon: 'none' + }); workerRelaPriceList = workerRelaPriceList.concat(this.waimaRuleList); } if (this.formData.paotui) { let invalid = this.paotuiRuleList.find(item => !item.orderBkge); - if (invalid) return uni.showToast({title: '请填写快递配送费', icon: 'none'}); + if (invalid) return uni.showToast({ + title: '请填写快递配送费', + icon: 'none' + }); workerRelaPriceList = workerRelaPriceList.concat(this.paotuiRuleList); } @@ -412,32 +478,28 @@ workerRelaPriceList: workerRelaPriceList }; - uni.showLoading({title: '提交中...', mask: true}); + uni.showLoading({ + title: '提交中...', + mask: true + }); this.tui.request('/app/workerRelaPrice/batchAdd', 'post', submitData).then(res => { uni.hideLoading(); if (res.code == 200) { let user = res.result; - uni.setStorageSync('officialAccountOpenid',user.officialAccountOpenid) - if(user.officialAccountOpenid == null || user.officialAccountOpenid == '' || user.officialAccountOpenid == undefined){ - uni.showModal({ - title: '提示', - content: '您还没有关注公众号,关注公众号后可提现佣金', - cancelText:'去关注', - confirmText:'暂时不用', - success: function (res) { - if (res.confirm) { - uni.showToast({title: '提交成功'}); - setTimeout(() => { - uni.navigateBack(); - }, 1500); - } - } + uni.setStorageSync('officialAccountOpenid', user.officialAccountOpenid) + if (user.officialAccountOpenid == null || user.officialAccountOpenid == '' || user + .officialAccountOpenid == undefined) { + this.$refs.lianggePopup.open() + } else { + uni.showToast({ + title: '提交成功' }); - }else{ - uni.showToast({title: '提交成功'}); } } else { - uni.showToast({title: res.message, icon: 'none'}); + uni.showToast({ + title: res.message, + icon: 'none' + }); } }).catch(err => { uni.hideLoading(); @@ -558,6 +620,26 @@ height: 500rpx; } + .liangge-popup-content { + background: #fff; + border-radius: 10px; + padding: 10px; + height: 150px; + } + .liangge-title{ + + height: 50px; + line-height: 35px; + text-align: center; + font-size: 16px; + font-weight: 700; + + } + .liangge-text{ + height: 30px; + font-size: 14px; + font-weight: 700; + } .box-check-btn { width: 160rpx; height: 70rpx; @@ -667,17 +749,18 @@ overflow: scroll; position: relative; } - .guize-btn{ - background: #00231c; - border-radius: 100rpx; - height: 100rpx; - width: 100%; - margin: 120rpx auto 0; - color: #b4ffee; - clear: both; - text-align: center; - line-height: 100rpx; - font-size:30rpx; - font-weight: 700 + + .guize-btn { + background: #00231c; + border-radius: 100rpx; + height: 100rpx; + width: 100%; + margin: 120rpx auto 0; + color: #b4ffee; + clear: both; + text-align: center; + line-height: 100rpx; + font-size: 30rpx; + font-weight: 700 } \ No newline at end of file diff --git a/package2/shop/afterService.vue b/package2/shop/afterService.vue index bb30864..b086427 100644 --- a/package2/shop/afterService.vue +++ b/package2/shop/afterService.vue @@ -52,121 +52,6 @@ - - - - - 订单详情 - - - - {{orderDetail.shopName}} - - - - - - - - - - {{item1.productName}} - - - - {{item1.specs}} - - - - - X{{item1.quantity}} - - - ¥{{item1.price}} - - - - - - - - 打包费 - - - ¥{{orderDetail.packageFee}} - - - - - 配送费 - - - ¥{{orderDetail.deliveryFee}} - - - - - 优惠券 - - - -¥1 - - - - - - 实付 - - - ¥{{orderDetail.totalAmount}} - - - - - - - - - 订单号 - - - {{orderDetail.numberCode}} - - - - - 下单时间 - - - {{orderDetail.createTime | formatISOTime}} - - - - - 商家出餐时间 - - - {{orderDetail.shopMakeTime ? orderDetail.shopMakeTime : '' | formatISOTime}} - - - - - - - {{item.productName}} {{item.specs}} * {{item.quantity}} - - - - @@ -230,6 +115,37 @@ + + + + 商品详情 + 请核对商品规格和数量 + + + + + + + + + {{item1.productName}} + + + 规格 + {{item1.specs | delNode}} + + + + x{{item1.quantity}} + 数量 + + + + + 暂无商品详情 + + + @@ -265,6 +181,23 @@ const minutes = date.getMinutes().toString().padStart(2, '0'); const seconds = date.getSeconds().toString().padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + }, + delNode(data) { + // 1. 统一转为字符串 + let str; + if (typeof data === 'object' && data !== null) { + // 对象或数组 → JSON 字符串 + str = JSON.stringify(data); + } else if (typeof data === 'string') { + str = data; + } else { + // 其他类型(数字、布尔等)先转字符串 + str = String(data); + } + + // 2. 删除所有大括号 { } 和双引号 " + const result = str.replace(/[{}"]/g, ''); + return result; } }, onShow() { @@ -299,7 +232,7 @@ this.returnFormData.refundType = item.refundType; this.returnFormData.refundTypeStatus = item.refundTypeStatus; this.orderDetail = item.mallOrder; - this.goodsList = item.items; + this.goodsList = item.items; this.$refs.orderPopup.open(); }, makeCall(phone){ @@ -545,4 +478,141 @@ padding-right:20rpx; font-weight: 700; } + .product-popup-content { + width: 680rpx; + max-height: 880rpx; + padding: 34rpx 28rpx 30rpx; + box-sizing: border-box; + overflow: scroll; + border-radius: 36rpx; + background: + radial-gradient(circle at 92% 4%, rgba(166, 255, 234, 0.38) 0, rgba(166, 255, 234, 0) 180rpx), + linear-gradient(180deg, #ffffff 0%, #f8fffc 100%); + box-shadow: 0 24rpx 56rpx rgba(0, 35, 28, 0.18); + } + + .product-popup-header { + margin-bottom: 26rpx; + text-align: center; + } + + .product-popup-title { + color: #143d35; + font-size: 36rpx; + font-weight: 900; + line-height: 48rpx; + } + + .product-popup-subtitle { + margin-top: 8rpx; + color: #7b8a85; + font-size: 24rpx; + line-height: 34rpx; + } + + .product-popup-list { + display: flex; + flex-direction: column; + gap: 20rpx; + } + + .product-popup-card { + display: flex; + align-items: center; + padding: 22rpx; + border: 1px solid rgba(166, 255, 234, 0.58); + border-radius: 28rpx; + background: rgba(255, 255, 255, 0.88); + box-shadow: 0 12rpx 28rpx rgba(0, 35, 28, 0.06); + } + + .product-popup-img { + width: 128rpx; + height: 128rpx; + flex-shrink: 0; + overflow: hidden; + border-radius: 22rpx; + background: #f0f5f3; + + img { + width: 100%; + height: 100%; + background-size: 100%; + } + } + + .product-popup-info { + flex: 1; + min-width: 0; + padding: 0 22rpx; + } + + .product-popup-name { + color: #172f2a; + font-size: 30rpx; + font-weight: 900; + line-height: 42rpx; + } + + .product-popup-spec { + display: flex; + align-items: flex-start; + margin-top: 16rpx; + } + + .product-popup-label { + flex-shrink: 0; + height: 34rpx; + padding: 0 14rpx; + border-radius: 999rpx; + background: rgba(166, 255, 234, 0.72); + color: #126255; + font-size: 20rpx; + font-weight: 800; + line-height: 34rpx; + } + + .product-popup-spec-text { + flex: 1; + margin-left: 12rpx; + color: #65736f; + font-size: 24rpx; + line-height: 34rpx; + word-break: break-all; + } + + .product-popup-quantity { + width: 92rpx; + height: 92rpx; + flex-shrink: 0; + border-radius: 28rpx; + background: linear-gradient(135deg, #fff4ce 0%, #a6ffea 100%); + color: #103f36; + text-align: center; + box-shadow: 0 10rpx 20rpx rgba(0, 35, 28, 0.08); + } + + .product-popup-quantity-num { + padding-top: 16rpx; + font-size: 30rpx; + font-weight: 900; + line-height: 34rpx; + } + + .product-popup-quantity-label { + margin-top: 2rpx; + color: #52736b; + font-size: 20rpx; + line-height: 28rpx; + } + + .product-popup-empty { + padding: 80rpx 20rpx; + border-radius: 28rpx; + background: rgba(247, 255, 251, 0.9); + color: #7b8a85; + font-size: 28rpx; + font-weight: 700; + text-align: center; + } \ No newline at end of file diff --git a/pages.json b/pages.json index 8b84c90..fc2e860 100644 --- a/pages.json +++ b/pages.json @@ -154,7 +154,8 @@ "path": "group/groupBuySingle", "style": { "navigationBarTitleText": "拼团单一商家", - "navigationStyle": "custom" + "navigationStyle": "custom", + "enablePullDownRefresh": true } },{ "path": "group/groupBuyList", diff --git a/pages/index/index.vue b/pages/index/index.vue index 162a718..c40fe0d 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,5 +1,5 @@