From 0c411882d9458884545295bcc5d7d70befaa5c1f Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Fri, 17 Apr 2026 18:45:30 +0800 Subject: [PATCH 001/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/home/components/filters.vue | 2 +- pages/shop/buy-order.vue | 418 ++++++++++++++++-------------- pages/shop/buyorder-detail.vue | 24 ++ pages/shop/userorder-detail.vue | 111 ++++---- 4 files changed, 309 insertions(+), 246 deletions(-) diff --git a/pages/home/components/filters.vue b/pages/home/components/filters.vue index 0c62060..15f5381 100644 --- a/pages/home/components/filters.vue +++ b/pages/home/components/filters.vue @@ -209,7 +209,7 @@ secondTabs() { if (this.activeFirstId == 1 || this.activeFirstId == 2) { return [{ - title: `待服务(${this.numInfo.noservernum})`, + title: `待开始(${this.numInfo.noservernum})`, id: 3 }, { diff --git a/pages/shop/buy-order.vue b/pages/shop/buy-order.vue index d42af13..951610c 100644 --- a/pages/shop/buy-order.vue +++ b/pages/shop/buy-order.vue @@ -13,32 +13,40 @@ - - - - {{order.order_kind == 1 ? '到家' : order.order_kind == 2 ? '到店' : ''}} - + + 订单编号:{{order.number}} - {{order.state == 1 ? '待支付' : order.state == 2 ? '待接单' : order.state == 3 ? '待服务' : order.state == 4 ? '待完成' : order.state == 5 ? '已完成' : order.state == 6 ? '待评价' : order.state == 7 ? '已取消' : ''}} + + {{ getStatusText(order.state) }} + - + + - {{order.server_title}} - - - {{order.reservation_time}} + {{order.server_title}} + + + 下单时间: + {{ getDisplayTime(order) }} - + + - {{Object.assign({},order.reservation_address_arr).dependency}}{{Object.assign({},order.reservation_address_arr).address}} - + {{ getFullAddress(order) }} + + + + ¥ + {{ getDisplayPrice(order) }} + {{ getOriginalPrice(order) }} @@ -50,26 +58,31 @@ v-if="order.state == 5 || order.state == 6 || order.state == 7"> - 取消订单 - 申请退款 - 联系客服 - 立即支付 - 评价 - 再来一单 - - 查看投诉 + + 取消订单 + + + 申请退款 + + + + 立即支付 + + + 评价 + + + 再来一单 + + + 查看投诉 + @@ -86,14 +99,13 @@ + - - @@ -104,6 +116,7 @@ import { debounce } from '@/utils/debounce.js' + export default { data() { return { @@ -131,7 +144,6 @@ id: 7, title: '已取消' }], - // ,{id: 6,title: '待评价'} currentTab: 0, isRefreshing: false, hasMore: true, @@ -145,7 +157,6 @@ }, onLoad() { // this.loadOrders(); - }, async onShow() { this.isLogin = uni.getStorageSync('accessToken') ? true : false; @@ -165,7 +176,6 @@ this.currentTab = index; this.orderList = []; this.formData.page = 1; - // TODO: 根据当前标签加载对应订单数据 if (this.currentTab != 0) { this.formData.state = this.currentTab; } else { @@ -193,13 +203,13 @@ this.isRefreshing = true this.formData.page = 1; this.orderList = []; + this.hasMore = true; this.loadOrders() }, // 加载更多 loadMore() { if (!this.hasMore) return - // TODO: 加载更多订单数据 this.loadOrders(); }, @@ -211,6 +221,44 @@ }) }, + getStatusText(state) { + const map = { + 1: '待支付', + 2: '待接单', + 3: '待服务', + 4: '服务中', + 5: '已完成', + 6: '待评价', + 7: '已取消' + } + return map[state] || '' + }, + + getDisplayTime(order) { + return order.create_time || order.createtime || order.add_time || order.reservation_time || '' + }, + + getDisplayPrice(order) { + const price = order.pay_money || order.order_money || 0 + return Number(price).toFixed(2) + }, + + getOriginalPrice(order) { + const orderMoney = Number(order.order_money || 0) + const payMoney = Number(order.pay_money || 0) + if (orderMoney > 0 && payMoney > 0 && orderMoney !== payMoney) { + return orderMoney.toFixed(2) + } + return '' + }, + + getFullAddress(order) { + const arr = order.reservation_address_arr || {} + const dependency = arr.dependency || '' + const address = arr.address || '' + return `${dependency}${address}` + }, + // 删除订单 deleteOrder: debounce(async function(order) { uni.showModal({ @@ -218,7 +266,6 @@ content: '确定要删除该订单吗?', success: (res) => { if (res.confirm) { - // TODO: 删除订单 request.post('/sj/deleteorder', { id: order.id, sjid: this.sjid @@ -229,6 +276,7 @@ }) this.formData.page = 1; this.orderList = []; + this.hasMore = true; this.loadOrders(); }) } @@ -249,63 +297,14 @@ }); }); }, + // 联系客服 async contactService(phone) { - // TODO: 实现联系客服功能 uni.navigateTo({ url: '/pages/contact/contact' }) - // const systemInfo = uni.getSystemInfoSync() - // if(systemInfo.platform === 'ios') { - // uni.makePhoneCall({ - // phoneNumber: phone //仅为示例 - // }) - // }else { - // let permission = ''; - // if(systemInfo.platform === 'ios') { - // permission = 'phone' - // }else { - // permission = 'android.permission.CALL_PHONE' - // } - // this.isShowPer = true; - // const firstRequest = !plus.storage.getItem(`perm_${permission}`) - // if(firstRequest) { - // this.isShowPer = true; - // } - // // 1. 检查权限 - // const { granted } = await permissionUtils.checkPermission('phone', '需要拨打电话权限,方便您联系商家或平台'); - // if (granted) { - // this.isShowPer = false; - // uni.makePhoneCall({ - // phoneNumber: phone //仅为示例 - // }) - // return; - // } - // this.isShowPer = false; - // // 2. 显示权限说明弹窗 - // const confirm = await this.showPermissionDialog( - // '拨打电话权限申请', - // '我们需要拨打电话权限,方便您联系商家或平台' - // ); - - // if (!confirm) return; - - // // 3. 请求权限 - // const result = await permissionUtils.requestPermission('phone', '需要拨打电话权限,方便您联系商家或平台'); - // console.log('result',result) - // if (result) { - // uni.makePhoneCall({ - // phoneNumber: phone //仅为示例 - // }) - // return; - // } else { - // locationService.openAppSettings(); - // return; - // // uni.showToast({ title: '相机权限被拒绝', icon: 'none' }); - // } - // } - }, + // 取消订单 async cancelService(order) { console.log(order) @@ -314,7 +313,6 @@ content: '确定要取消该订单吗?', success: (res) => { if (res.confirm) { - // TODO: 取消订单 let data = { orderNo: order.number, amount: order.pay_money, @@ -327,6 +325,7 @@ }) this.formData.page = 1; this.orderList = []; + this.hasMore = true; this.loadOrders(); }).catch(err => { console.log(err) @@ -335,6 +334,7 @@ } }) }, + // 申请退款 async refoundService(order) { uni.showModal({ @@ -342,7 +342,6 @@ content: '确定申请退款?退款后则订单取消!', success: (res) => { if (res.confirm) { - // TODO: 申请退款 let data = { orderNo: order.number, amount: order.pay_money, @@ -365,6 +364,7 @@ }) this.formData.page = 1; this.orderList = []; + this.hasMore = true; this.loadOrders(); }).catch(err => { console.log(err) @@ -376,7 +376,6 @@ // 支付订单 payOrder(order) { - // TODO: 实现支付功能 uni.navigateTo({ url: `/pages/shop/pay-order?id=${order.id}&money=${order.order_money}&title=${order.server_title}&number=${order.number}` }) @@ -391,25 +390,26 @@ // 再次下单 orderAgain(order) { - // TODO: 实现再次下单功能 uni.navigateTo({ url: '/pages/shop/service-detail?id=' + order.server_id }) }, + // 投诉 addComplaint(order) { uni.navigateTo({ url: '/pages/complaint/add-complaint?number=' + order.number }) }, + // 查看投诉 lookComplaint(order) { uni.navigateTo({ url: '/pages/complaint/detail?number=' + order.number }) }, + goLogin() { - // uni.oprPresentLogin() uni.navigateTo({ url: '/pages/blogPopup/blogPopup' }); @@ -471,113 +471,155 @@ .order-item { background-color: #FFFFFF; - border-radius: 16rpx; + border-radius: 20rpx; margin-bottom: 24rpx; padding: 24rpx; box-sizing: border-box; + position: relative; } - .order-header { - display: flex; - align-items: center; - margin-bottom: 34rpx; - } - - .order-tag { - width: 74rpx; - height: 38rpx; - display: flex; - flex-flow: row nowrap; - justify-content: center; - align-items: center; - border-radius: 19rpx; - margin-right: 8rpx; - background-color: rgba(232, 16, 30, 0.2); - } - - .order-tag-text { - color: #E8101E; - font-size: 24rpx; + .order-top { + position: relative; + padding-right: 120rpx; + min-height: 40rpx; } .order-number { - flex: 1; - font-size: 24rpx; - color: #666666; - } - - .order-status { + display: block; font-size: 28rpx; - font-weight: 500; - background-image: url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/5349af61-d67a-4ecf-91ce-6e4f05ad5edb.png'); + color: #333333; + line-height: 40rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .order-status-badge { + font-weight: 400; + font-size: 26rpx; + color: #E8101E; + text-align: left; + font-style: normal; + position: absolute; + right: -24rpx; + top: -24rpx; + background-image: url("/static/images/icons/tabBj.png"); + background-size: 100% auto; + background-position: center top; background-repeat: no-repeat; - background-size: 100%; - height: 49rpx; width: 128rpx; - padding-left: 30rpx; + height: 49rpx; + display: flex; + align-items: center; + justify-content: center; + box-sizing: border-box; } - .status-pending { - color: #E8101E; + .order-status-badge2 { + background-image: url("/static/images/icons/tabBj2.png"); + color: #333333; } - .status-cancelled { - color: #E8101E; - } - - .status-completed { - color: #E8101E; + .order-status-badge3 { + background-image: url("/static/images/icons/tabBj2.png"); + color: #999999 !important; } .order-content { display: flex; - margin-bottom: 24rpx; + align-items: flex-start; + margin-top: 20rpx; } .service-image { - width: 182rpx; - height: 182rpx; - border-radius: 16rpx; - margin-right: 24rpx; - background-color: #000000; + width: 162rpx; + height: 162rpx; + border-radius: 24rpx; + margin-right: 20rpx; + background-color: #F5F5F5; + flex-shrink: 0; } .service-info { flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + justify-content: flex-start; } .service-name { - font-size: 24rpx; + font-size: 30rpx; color: #333333; - font-weight: 500; + line-height: 42rpx; + margin-bottom: 12rpx; + word-break: break-all; } - .service-time, - .service-address { + .service-time { display: flex; align-items: center; font-size: 24rpx; + line-height: 34rpx; + margin-bottom: 8rpx; + } + + .label-text { + color: #666666; + } + + .value-text { color: #999999; - font-weight: 500; - margin-top: 8rpx; + margin-left: 8rpx; + } + + .service-address { + display: flex; align-items: flex-start; + margin-bottom: 10rpx; } - .text-overflow-1 { - white-space: normal !important; - word-break: break-word !important; - overflow: visible !important; - text-overflow: clip !important; - flex: 1; - } - - .time-icon, .location-icon { width: 24rpx; height: 24rpx; - margin-right: 4rpx; - flex-shrink: 0; + margin-right: 6rpx; margin-top: 4rpx; + flex-shrink: 0; + } + + .address-text { + font-size: 24rpx; + color: #999999; + line-height: 34rpx; + word-break: break-all; + } + + .price-row { + display: flex; + align-items: baseline; + margin-top: 6rpx; + } + + .price-symbol { + font-size: 24rpx; + color: #FF0037; + line-height: 1; + } + + .price-now { + font-size: 36rpx; + font-weight: 500; + color: #FF0037; + line-height: 1; + margin-left: 2rpx; + } + + .price-old { + font-size: 22rpx; + color: #999999; + text-decoration: line-through; + margin-left: 10rpx; + line-height: 1; } .order-actions { @@ -586,6 +628,12 @@ align-items: center; border-top: 1rpx solid #EEEEEE; padding-top: 24rpx; + margin-top: 24rpx; + } + + .action-left { + display: flex; + align-items: center; } .delete-icon { @@ -596,41 +644,33 @@ .action-right { display: flex; align-items: center; + flex-wrap: wrap; + justify-content: flex-end; } .action-btn { - display: inline-block; - width: 128rpx; - height: 48rpx; - line-height: 48rpx; + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 128rpx; + height: 60rpx; + padding: 0 28rpx; margin-left: 16rpx; - text-align: center; - font-size: 28rpx; - border-radius: 24rpx; + border-radius: 30rpx; font-size: 24rpx; + box-sizing: border-box; } - .action-btn.contact { + .gray-btn { background-color: #FFFFFF; border: 1rpx solid #999999; color: #333333; } - .action-btn.primary { - background-color: #E8101E; - color: #FFFFFF; - } - - .action-btn.review { - background-color: rgba(252, 67, 124, 0.40); - border: 1rpx solid #E8101E; - color: #FFFFFF; - } - - .action-btn.again { + .red-btn { background-color: #FFFFFF; - border: 1rpx solid #999999; - color: #666666; + border: 1rpx solid #E8101E; + color: #E8101E; } .nologin_part { @@ -686,12 +726,12 @@ opacity: 1; visibility: visible; } - /* #endif */ + /* 平台适配 */ /* #ifdef H5 */ /* .order-list { - padding-bottom: env(safe-area-inset-bottom); -} */ + padding-bottom: env(safe-area-inset-bottom); + } */ /* #endif */ \ No newline at end of file diff --git a/pages/shop/buyorder-detail.vue b/pages/shop/buyorder-detail.vue index 3e9439d..01786d2 100644 --- a/pages/shop/buyorder-detail.vue +++ b/pages/shop/buyorder-detail.vue @@ -88,6 +88,30 @@ 下单时间 {{orderInfo.add_time}} + + 服务时长 + {{ orderInfo.server_time }}分钟 + + + 支付方式 + {{ + orderInfo.pay_kind == 1 + ? "账户余额" + : orderInfo.pay_kind == 2 + ? "微信支付" + : orderInfo.pay_kind == 3 + ? "支付宝支付" + : "" + }} + + + 支付时间 + {{ orderInfo.pay_time }} + + + 接单时间 + {{ orderInfo.get_time }} + 开始服务时间 {{orderInfo.server_start_time}} diff --git a/pages/shop/userorder-detail.vue b/pages/shop/userorder-detail.vue index db1c3df..9af1db2 100644 --- a/pages/shop/userorder-detail.vue +++ b/pages/shop/userorder-detail.vue @@ -251,20 +251,20 @@ {{orderInfo.team_buy_order_number}} - + 优惠券信息 - - 优惠券 - {{orderInfo.coupon_info.title}} - - - 券码 - {{orderInfo.coupon_info.code_num}} - - - 优惠金额 - {{orderInfo.coupon_info.reduce_money}}元 + + 优惠券 + {{orderInfo.coupon_info.title}} + + + 券码 + {{orderInfo.coupon_info.code_num}} + + + 优惠金额 + {{orderInfo.coupon_info.reduce_money}}元 @@ -285,7 +285,7 @@ 开始服务 - + 服务完成 @@ -530,21 +530,19 @@ }; }, getOrderDetail() { - request.post(this.urls[this.serviceType].detail, { + return request.post(this.urls[this.serviceType].detail, { id: this.id, sjid: this.userInfo.id }).then(res => { - this.orderInfo = res.data; - this.reservation_address_arr = res.data.reservation_address_arr; - - // 添加店铺信息(如果有的话) - if (res.data.user_sj) { - this.user_sj = res.data.user_sj; - this.calculateDistance(); // 计算距离 + const newOrderInfo = res.data; + // 保留当前前端已经更新的状态 + if (this.orderInfo && this.orderInfo.state > newOrderInfo.state) { + newOrderInfo.state = this.orderInfo.state; } - - console.log(this.orderInfo) - }) + this.orderInfo = newOrderInfo; + this.orderInfo.coupon_info = this.orderInfo.coupon_info || {}; + this.reservation_address_arr = this.orderInfo.reservation_address_arr || {}; + }); }, // 打开店铺地图 @@ -663,40 +661,41 @@ }, // 输入完成 onConfirm(code) { - this.showInput = false - if (this.clickType) { - return - } - this.clickType = true + this.showInput = false; + if (this.clickType) return; + this.clickType = true; + uni.showLoading({ title: '服务开始中...' }); + request.post(this.urls[this.serviceType].startOrder, { id: this.orderInfo.id, server_code: code, sjid: this.userInfo.id }).then(res => { - console.log(res) if (res.state == 1) { - uni.showToast({ - title: res.msg, - icon: 'none' - }) - this.getOrderDetail(); - // 修改上一页页面信息 + uni.showToast({ title: res.msg, icon: 'success' }); + // 直接修改状态为 4(待完成) + this.orderInfo.state = 4; + // 强制刷新视图,按钮立即变化 + this.$forceUpdate(); + // 后台静默获取真实数据,确保后续操作数据准确 + this.getOrderDetail().catch(e => console.warn('静默同步失败', e)); + // 刷新上一页订单列表 const pages = getCurrentPages(); const prevPage = pages[pages.length - 2]; - if (prevPage) { - prevPage.$vm.getOrderNumber(); - prevPage.$vm.getOrderList(); + if (prevPage && prevPage.$vm) { + prevPage.$vm.getOrderNumber?.(); + prevPage.$vm.getOrderList?.(); } } else if (res.state == 2) { - uni.showToast({ - title: res.msg, - icon: 'none' - }) + uni.showToast({ title: res.msg, icon: 'none' }); } - this.handelOrder = {}; + }).catch(err => { + console.error('开始服务失败', err); + uni.showToast({ title: '操作失败', icon: 'none' }); }).finally(() => { - this.clickType = false - }) + this.clickType = false; + uni.hideLoading(); + }); }, // 完成服务 endOrder(e, order) { @@ -1696,16 +1695,16 @@ text-align: left; font-style: normal; } - .coupon-title{ - width: 160rpx; - height: 40rpx; - font-family: PingFangSC, PingFang SC; - font-weight: 500; - font-size: 32rpx; - color: #3D3D3D; - line-height: 39rpx; - text-align: left; - font-style: normal; + .coupon-title{ + width: 160rpx; + height: 40rpx; + font-family: PingFangSC, PingFang SC; + font-weight: 500; + font-size: 32rpx; + color: #3D3D3D; + line-height: 39rpx; + text-align: left; + font-style: normal; } .coupon-item {} \ No newline at end of file From 7bca1214aec5793d0748112b61f7f0ad53ac1ad0 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Sun, 19 Apr 2026 15:14:59 +0800 Subject: [PATCH 002/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/home/components/filters.vue | 6 +- pages/shop/SellerDetail.vue | 4 +- pages/shop/buy-order.vue | 2 +- pages/shop/buyorder-detail.vue | 1687 +++++++++-------- pages/shop/photoAlbum/photoManage.vue | 5 +- pages/shop/sj-info-change.vue | 8 +- pages/shop/userorder-detail.vue | 38 +- pages/shop/userorders.vue | 2 +- pages/shop/workSpace/components/orderCard.vue | 2 +- 9 files changed, 929 insertions(+), 825 deletions(-) diff --git a/pages/home/components/filters.vue b/pages/home/components/filters.vue index 15f5381..2e70229 100644 --- a/pages/home/components/filters.vue +++ b/pages/home/components/filters.vue @@ -156,6 +156,7 @@ weChatRefund: "/sj/workSeatOrder/weChatRefund", aliRefund: "/sj/workSeatOrder/aliRefund", startOrder: "/sj/workSeatOrder/start", + sureOrder:"/sj/workSeatOrder/sure", endOrder: "/sj/workSeatOrder/end", ordernum: "/sj/workSeatOrder/orderNum", list: "/sj/workSeatOrder/list", @@ -405,6 +406,7 @@ return; } this.clickType = true; + console.log(111,this.activeFirstId,this.urls) request .post(this.urls[this.activeFirstId].sureOrder, { id: order.id, @@ -414,7 +416,7 @@ .then((res) => { if (res.state != 1 || res.code != 200) { uni.showToast({ - title: res.msg, + title: "开始服务", icon: "none", }); } else { @@ -459,7 +461,7 @@ console.log(res); if (res.state == 1 || res.code == 200) { uni.showToast({ - title: res.msg, + title: "开始服务", icon: "none", }); this.searchList(); diff --git a/pages/shop/SellerDetail.vue b/pages/shop/SellerDetail.vue index 740c86b..d3aa5e3 100644 --- a/pages/shop/SellerDetail.vue +++ b/pages/shop/SellerDetail.vue @@ -25,11 +25,11 @@ }} ×1 - {{identity==0?'使用场景':'服务范围'}}:{{ + 单价:{{ orderInfo.price }}元/10分钟 diff --git a/pages/shop/buy-order.vue b/pages/shop/buy-order.vue index 951610c..1cdab7f 100644 --- a/pages/shop/buy-order.vue +++ b/pages/shop/buy-order.vue @@ -77,7 +77,7 @@ - 再来一单 + 再次购买 diff --git a/pages/shop/buyorder-detail.vue b/pages/shop/buyorder-detail.vue index 01786d2..f20a06e 100644 --- a/pages/shop/buyorder-detail.vue +++ b/pages/shop/buyorder-detail.vue @@ -1,98 +1,94 @@ - \ No newline at end of file + /* 预约信息卡片 */ + .booking-card { + margin: 24rpx; + background-color: #FFFFFF; + border-radius: 16rpx; + padding: 24rpx; + box-shadow: 0 4rpx 16rpx 0 rgba(210, 213, 224, 0.50); + } + + .card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24rpx; + } + + .card-title { + font-size: 32rpx; + color: #333333; + font-weight: 500; + } + + .update-time { + font-size: 28rpx; + color: #333333; + padding-right: 4rpx; + } + + .update-change { + font-size: 28rpx; + color: #666666; + } + + .service-item { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + margin-bottom: 24rpx; + } + + .service-image { + width: 160rpx; + height: 160rpx; + border-radius: 16rpx; + margin-right: 24rpx; + background-color: #e2e2e2; + } + + .service-info { + flex: 1; + height: 160rpx; + display: flex; + flex-flow: column nowrap; + justify-content: space-between; + align-items: flex-start; + margin-right: 24rpx; + } + + .service-name { + font-size: 28rpx; + color: #333333; + margin-bottom: 8rpx; + } + + .service-price { + font-size: 32rpx; + color: #FF4D6B; + font-weight: 500; + } + + .service-count { + font-size: 28rpx; + color: #666666; + } + + .service-real { + display: flex; + flex-flow: row nowrap; + justify-content: flex-end; + align-items: baseline; + padding-top: 24rpx; + border-top: 1rpx solid rgba(0, 0, 0, 0.05); + } + + .real-lable { + font-size: 24rpx; + color: #333333; + } + + .real-price { + font-size: 32rpx; + font-weight: 500; + color: #E8101E; + } + + /* 订单信息卡片 */ + .order-card { + margin: 24rpx; + background-color: #FFFFFF; + border-radius: 16rpx; + padding: 24rpx; + box-shadow: 0 4rpx 16rpx 0 rgba(210, 213, 224, 0.50); + } + + .info-item { + display: flex; + justify-content: space-between; + margin-top: 16rpx; + } + + .label { + font-size: 28rpx; + color: #999999; + } + + .value { + font-size: 28rpx; + color: #333333; + } + + /* 底部按钮 */ + .bottom-buttons { + position: fixed; + left: 0; + right: 0; + bottom: 0; + height: 128rpx; + background-color: #FFFFFF; + display: flex; + flex-flow: row nowrap; + align-items: center; + justify-content: space-between; + box-shadow: 0 -2rpx 8rpx rgba(0, 0, 0, 0.05); + padding: 0 24rpx 0 78rpx; + /* #ifdef H5 */ + padding-bottom: env(safe-area-inset-bottom); + /* #endif */ + z-index: 999; + } + + .contact-button { + display: flex; + flex-flow: column nowrap; + justify-content: center; + align-items: center; + } + + .contact-text { + font-size: 24rpx; + color: #666666; + } + + .tell-icon { + width: 36rpx; + height: 36rpx; + margin-right: 8rpx; + } + + .handel-button { + width: 240rpx; + height: 64rpx; + display: flex; + flex-flow: row nowrap; + justify-content: center; + align-items: center; + border-radius: 32rpx; + } + + .btn-border { + border: 1rpx solid #E8101E; + background-color: #fff; + box-sizing: border-box; + margin-left: 20rpx; + } + + .btn-bg { + background-color: #E8101E; + } + + .button-text { + font-size: 28rpx; + font-weight: 400; + color: #FFFFFF; + } + + .btn-border .button-text { + font-size: 28rpx; + font-weight: 400; + color: #E8101E; + } + + /* APP适配 */ + /* #ifdef APP-PLUS */ + .permission.transform { + top: calc(var(--status-bar-height) + 88rpx + 20rpx); + opacity: 1; + visibility: visible; + } + + .detail-page { + padding-bottom: 140rpx; + } + + /* #endif */ + /* 平台适配 */ + /* #ifdef H5 */ + .detail-page { + padding-bottom: calc(120rpx + env(safe-area-inset-bottom)); + } + + /* #endif */ + + /* #ifdef MP-WEIXIN */ + .custom-nav { + padding-top: calc(var(--status-bar-height) + constant(safe-area-inset-top)); + padding-top: calc(var(--status-bar-height) + env(safe-area-inset-top)); + } + + /* #endif */ + \ No newline at end of file diff --git a/pages/shop/photoAlbum/photoManage.vue b/pages/shop/photoAlbum/photoManage.vue index 834234a..13c7d3c 100644 --- a/pages/shop/photoAlbum/photoManage.vue +++ b/pages/shop/photoAlbum/photoManage.vue @@ -136,8 +136,11 @@ methods: { todetail() { console.log('详情'); + // uni.navigateTo({ + // url: '/pages/shop/skill-detail' + // }) uni.navigateTo({ - url: '/pages/shop/skill-detail' + url: `/pages/agreement/agreement?type=${this.type==1?22:23}&title=${this.type==1?`相册配置说明`:`视频配置说明`}` }) }, getItem(item) { diff --git a/pages/shop/sj-info-change.vue b/pages/shop/sj-info-change.vue index b4e0bfd..4a88b7c 100644 --- a/pages/shop/sj-info-change.vue +++ b/pages/shop/sj-info-change.vue @@ -1224,7 +1224,7 @@ } - \ No newline at end of file diff --git a/pages/shop/userorders.vue b/pages/shop/userorders.vue index 0236388..26ae105 100644 --- a/pages/shop/userorders.vue +++ b/pages/shop/userorders.vue @@ -249,7 +249,7 @@ console.log(res); if (res.state == 1 || res.code == 200) { uni.showToast({ - title: res.msg, + title: "开始服务", icon: "none", }); this.$refs.groupRef.manualRefresh(this.listQuery); diff --git a/pages/shop/workSpace/components/orderCard.vue b/pages/shop/workSpace/components/orderCard.vue index 659c20f..134d454 100644 --- a/pages/shop/workSpace/components/orderCard.vue +++ b/pages/shop/workSpace/components/orderCard.vue @@ -126,7 +126,7 @@ "待支付", "待接单", "待开始", - "进行中", + "待完成", "已完成", "已评价", "已取消", From 4dc74695de2826d200eff3913bc8798eb6694205 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Sun, 19 Apr 2026 15:57:27 +0800 Subject: [PATCH 003/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/manHourDetail.vue | 80 +++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/pages/shop/manHourDetail.vue b/pages/shop/manHourDetail.vue index 100bdd9..c15b404 100644 --- a/pages/shop/manHourDetail.vue +++ b/pages/shop/manHourDetail.vue @@ -5,7 +5,22 @@ :backgroundColor="backgroundColor"> - + + + {{ orderInfo.server_code }} + + + + + + {{ stateItem.text }} + ,请上门/到店后出示服务码 + + + + {{ stateItem.text }} @@ -686,6 +701,69 @@ font-weight: 600; } + /* 服务码状态区域 */ + .status-section2 { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding-top: 55rpx; + padding-bottom: 20rpx; + gap: 20rpx; + + .status-row { + display: flex; + align-items: center; + justify-content: center; + width: auto; + } + + .status-section-image { + width: 27rpx; + margin-right: 6rpx; + margin-top: -4rpx; + } + + .service-code { + display: flex; + align-items: baseline; + justify-content: center; + width: auto; + padding-bottom: 20rpx; + + .service-code-label { + width: 96rpx; + height: 41rpx; + margin-left: 6rpx; + position: relative; + top: -45rpx; + } + + .service-code-value { + font-family: DINPro, DINPro; + font-weight: bold; + font-size: 80rpx; + color: #333333; + line-height: 103rpx; + text-align: left; + font-style: normal; + } + } + + .status-text-red { + font-weight: 400; + font-size: 26rpx; + color: #DC232F; + line-height: 37rpx; + text-align: left; + font-style: normal; + } + + .status-text-normal { + color: #333333; + } + } + /* 预约手艺人信息卡片 */ .syr-card { margin: 30rpx; From f560bcb69d034b11dbcb4e260d6d7afb95406565 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 10:41:15 +0800 Subject: [PATCH 004/118] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=94=99=E8=AF=AF=E7=9A=84=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/artisan/add-service.vue | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/pages/artisan/add-service.vue b/pages/artisan/add-service.vue index bbba759..4fe750c 100644 --- a/pages/artisan/add-service.vue +++ b/pages/artisan/add-service.vue @@ -364,19 +364,6 @@ > - - - - - 提示 - 此服务是需要上门服务的哦~ - - 不再提示 - 我已知晓 - - - - @@ -402,7 +389,6 @@ export default { }, data() { return { - showReminderPopup: false, artisanType: getApp().globalData.artisanType, nowQer: "xc", progress: 0, @@ -474,11 +460,6 @@ export default { this.serviceTypes = this.serviceTypes.concat(res.data); }); } - // 判断是否显示上门提醒弹窗 - const notShow = uni.getStorageSync('addServiceReminderNotShow'); - if (!notShow) { - this.showReminderPopup = true; - } this.getUserInfo(); }, computed: { @@ -575,14 +556,6 @@ export default { return true; }, - - closeReminderPopup(notShowAgain) { - console.log('关闭弹窗,不再提示:', notShowAgain); - if (notShowAgain) { - uni.setStorageSync('addServiceReminderNotShow', true); - } - this.showReminderPopup = false; - }, goImgAndText() { uni.navigateTo({ url: `/pages/shop/add-img-text?list=${this.formData.graphic_details}`, From b4ebbd533c6ea6dda6e1e504b36251931152fbd5 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 11:06:14 +0800 Subject: [PATCH 005/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/SellerDetail.vue | 2 +- pages/shop/add-service.vue | 26 +------------------------- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/pages/shop/SellerDetail.vue b/pages/shop/SellerDetail.vue index d3aa5e3..da5a21d 100644 --- a/pages/shop/SellerDetail.vue +++ b/pages/shop/SellerDetail.vue @@ -1016,7 +1016,7 @@ } .btn-border { - border: 1rpx solid #979797; + border: 2rpx solid #979797; background-color: #fff; box-sizing: border-box; margin-left: 30rpx; diff --git a/pages/shop/add-service.vue b/pages/shop/add-service.vue index 3e7c7d9..f85bb6a 100644 --- a/pages/shop/add-service.vue +++ b/pages/shop/add-service.vue @@ -276,19 +276,7 @@ 便于您使用该功能上传您的照片/图片/视频以及用于更换头像、发布商品等场景中所需内容。 - - - - - 提示 - 此服务是需要上门服务的哦~ - - 不再提示 - 我已知晓 - - - - + @@ -316,7 +304,6 @@ }, data() { return { - showReminderPopup: false, artisanType: getApp().globalData.artisanType, nowQer: "xc", progress: 0, @@ -391,9 +378,6 @@ } // 判断是否显示上门提醒弹窗 const notShow = uni.getStorageSync('addServiceReminderNotShow'); - // if (!notShow) { - // this.showReminderPopup = true; - // } this.getUserInfo(); }, computed: { @@ -513,14 +497,6 @@ return true; }, - - closeReminderPopup(notShowAgain) { - console.log('关闭弹窗,不再提示:', notShowAgain); - if (notShowAgain) { - uni.setStorageSync('addServiceReminderNotShow', true); - } - this.showReminderPopup = false; - }, goImgAndText() { uni.navigateTo({ url: `/pages/shop/add-img-text?list=${this.formData.graphic_details}`, From b584f8f97b6a583ddede37d76310021f5d77a173 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 13:27:15 +0800 Subject: [PATCH 006/118] =?UTF-8?q?=E5=B7=A5=E6=97=B6=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E9=97=A8=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/manHour/components/orderCard.vue | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pages/shop/manHour/components/orderCard.vue b/pages/shop/manHour/components/orderCard.vue index f130e57..9bbae47 100644 --- a/pages/shop/manHour/components/orderCard.vue +++ b/pages/shop/manHour/components/orderCard.vue @@ -40,6 +40,8 @@ + + 上门地址:{{ dataItem.user_sj.address }} @@ -304,6 +306,16 @@ font-style: normal; } + .order-address { + font-weight: 400; + font-size: 26rpx; + color: #666666; + line-height: 34rpx; + text-align: left; + font-style: normal; + margin-top: 24rpx; + } + /* 时间信息 */ .time-info { font-weight: 400; @@ -321,7 +333,7 @@ display: flex; justify-content: flex-end; gap: 30rpx; - padding-top: 20rpx; + // padding-top: 20rpx; padding-bottom: 30rpx; } From 7fabbd8549c6ff475fb66a942131a71749b29242 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 15:37:07 +0800 Subject: [PATCH 007/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/staff/serviceList.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pages/shop/staff/serviceList.vue b/pages/shop/staff/serviceList.vue index fcc19c9..eb114d6 100644 --- a/pages/shop/staff/serviceList.vue +++ b/pages/shop/staff/serviceList.vue @@ -26,8 +26,11 @@ - - + + + + + From 49b50dc1f0427372ddc24e83a153a41272c1af0a Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 15:42:20 +0800 Subject: [PATCH 008/118] =?UTF-8?q?=E5=95=86=E5=AE=B6bug=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/workSpace/components/orderCard.vue | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pages/shop/workSpace/components/orderCard.vue b/pages/shop/workSpace/components/orderCard.vue index 134d454..dd6b27a 100644 --- a/pages/shop/workSpace/components/orderCard.vue +++ b/pages/shop/workSpace/components/orderCard.vue @@ -2,7 +2,9 @@ - 订单编号:{{ dataItem.number }} + + 服务时段:{{ useTime }} + 服务时段:{{ useTime }} + + 工位地址:{{ dataItem.user_sj.address }} @@ -305,6 +308,16 @@ padding-bottom: 20rpx; margin-top: 28rpx; } + .address { + font-weight: 400; + font-size: 26rpx; + color: #999; + line-height: 34rpx; + text-align: left; + font-style: normal; + padding-bottom: 20rpx; + margin-top: 28rpx; + } /* 按钮组 */ .button-group { From 95f880a251f14f07a7a78416a78ae50e14aae4c4 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 17:56:29 +0800 Subject: [PATCH 009/118] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/workSpace/components/orderCard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/shop/workSpace/components/orderCard.vue b/pages/shop/workSpace/components/orderCard.vue index dd6b27a..41613b0 100644 --- a/pages/shop/workSpace/components/orderCard.vue +++ b/pages/shop/workSpace/components/orderCard.vue @@ -48,7 +48,7 @@ 取消订单 接单 - 开始订单 + 开始服务 完成订单 From 0e3e1fb5fa1d22a96eda9808d2c1ef16b3fbc28c Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Tue, 21 Apr 2026 17:07:28 +0800 Subject: [PATCH 010/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/photoAlbum/photoManage.vue | 49 +++++++++++++++++---------- pages/shop/photoAlbum/videoList.vue | 37 ++++++++++---------- pages/shop/staff/addStaff.vue | 6 ++-- pages/shop/staff/serviceList.vue | 1 + utils/request.js | 4 +-- 5 files changed, 58 insertions(+), 39 deletions(-) diff --git a/pages/shop/photoAlbum/photoManage.vue b/pages/shop/photoAlbum/photoManage.vue index 13c7d3c..09ca84e 100644 --- a/pages/shop/photoAlbum/photoManage.vue +++ b/pages/shop/photoAlbum/photoManage.vue @@ -5,7 +5,7 @@ - 我的资料 + {{ titleList[type].title2 }} 展示位置及拍摄技巧 @@ -112,6 +112,16 @@ } ], }, + titleList: { + 1: { + title: "商家图片", + title2: "商家相册" + }, + 2: { + title: "视频作品", + title2: "商家视频" + }, + }, imgVideoList: { }, @@ -179,25 +189,28 @@ // }); }, goAdd(id, item) { - if (this.type == 1) { - if (this.imgVideoList[id] && this.imgVideoList[id].length >= 21) { - uni.showToast({ - title: '最多上传20张图片', - icon: 'none', - duration: 2000 - }); - return - } - } else if (this.type == 2) { - if (this.imgVideoList[id] && this.imgVideoList[id].length >= 10) { - uni.showToast({ - title: '最多上个10张视频', - icon: 'none', - duration: 2000 - }); - return + if (!item) { + if (this.type == 1) { + if (this.imgVideoList[id] && this.imgVideoList[id].length >= 20) { + uni.showToast({ + title: '最多上传20张图片', + icon: 'none', + duration: 2000 + }); + return + } + } else if (this.type == 2) { + if (this.imgVideoList[id] && this.imgVideoList[id].length >= 10) { + uni.showToast({ + title: '最多上个10张视频', + icon: 'none', + duration: 2000 + }); + return + } } } + // 1. 原有逻辑:分类id为空,拦截提示 if (!id) { uni.showToast({ diff --git a/pages/shop/photoAlbum/videoList.vue b/pages/shop/photoAlbum/videoList.vue index 9d2699c..abd5501 100644 --- a/pages/shop/photoAlbum/videoList.vue +++ b/pages/shop/photoAlbum/videoList.vue @@ -171,25 +171,28 @@ }, goAdd(id, item) { if (this.isManage) return; // 管理模式下禁止跳转 - if (this.type == 1) { - if (this.imgVideoList.length >= 20) { - uni.showToast({ - title: '最多上传20张图片', - icon: 'none', - duration: 2000 - }); - return - } - } else if (this.type == 2) { - if (this.imgVideoList.length >= 10) { - uni.showToast({ - title: '最多上10个视频', - icon: 'none', - duration: 2000 - }); - return + if(!item){ + if (this.type == 1) { + if (this.imgVideoList.length >= 20) { + uni.showToast({ + title: '最多上传20张图片', + icon: 'none', + duration: 2000 + }); + return + } + } else if (this.type == 2) { + if (this.imgVideoList.length >= 10) { + uni.showToast({ + title: '最多上10个视频', + icon: 'none', + duration: 2000 + }); + return + } } } + if (!id) { uni.showToast({ title: '参数异常,无法上传', diff --git a/pages/shop/staff/addStaff.vue b/pages/shop/staff/addStaff.vue index a313eb1..9eb0dd6 100644 --- a/pages/shop/staff/addStaff.vue +++ b/pages/shop/staff/addStaff.vue @@ -12,7 +12,7 @@ - + + + 邀请员工 - + diff --git a/pages/shop/staff/serviceList.vue b/pages/shop/staff/serviceList.vue index eb114d6..8636f8f 100644 --- a/pages/shop/staff/serviceList.vue +++ b/pages/shop/staff/serviceList.vue @@ -142,6 +142,7 @@ background-color: #fff; margin: 20rpx 20rpx 26rpx 20rpx; border-radius: 10rpx; + padding-bottom: 150rpx; .service-item { padding-top: 20rpx; diff --git a/utils/request.js b/utils/request.js index ff89727..151428f 100644 --- a/utils/request.js +++ b/utils/request.js @@ -134,12 +134,12 @@ const request = async (options, isUpdate) => { if (process.env.NODE_ENV === 'development') { - baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 + //baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'http://60.247.146.5:96'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'https://app.mrrweb.com.cn'; } else { - baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 + //baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'http://60.247.146.5:96'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'https://app.mrrweb.com.cn'; From 211b33f63fdcde68bf42cacbb56cf89560fb1831 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Tue, 21 Apr 2026 19:06:52 +0800 Subject: [PATCH 011/118] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/SellerDetail.vue | 18 ++++++++++++++---- pages/shop/manHourDetail.vue | 2 +- pages/shop/workSpace/saleList.vue | 11 +++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/pages/shop/SellerDetail.vue b/pages/shop/SellerDetail.vue index da5a21d..8d7005c 100644 --- a/pages/shop/SellerDetail.vue +++ b/pages/shop/SellerDetail.vue @@ -240,7 +240,7 @@ } if (options.identity) { - this.identity = options.identity; + this.identity = parseInt(options.identity); } if (options.order_id) { // 请求订单详情 @@ -547,6 +547,7 @@ server_code: code, }) .then((res) => { + console.log('API Response:', res); if (res.code == 200) { uni.showToast({ title: res.msg, @@ -559,10 +560,19 @@ prevPage.$vm.getOrderNumber(); prevPage.$vm.getOrderList(); } + } else if (res.state == 1) { + uni.showToast({ + title: res.msg, + icon: "none" + }); + this.getOrderDetail(); + const pages = getCurrentPages(); + const prevPage = pages[pages.length - 2]; + if (prevPage) { + prevPage.$vm.getOrderNumber(); + prevPage.$vm.getOrderList(); + } } - // else if (res.state == 2) { - // uni.showToast({ title: res.msg, icon: "none" }); - // } this.handelOrder = {}; }).finally(() => { this.clickType = false diff --git a/pages/shop/manHourDetail.vue b/pages/shop/manHourDetail.vue index c15b404..29fd098 100644 --- a/pages/shop/manHourDetail.vue +++ b/pages/shop/manHourDetail.vue @@ -1066,7 +1066,7 @@ } .btn-border { - border: 1rpx solid #E8101E; + border: 2rpx solid #E8101E; background-color: #fff; box-sizing: border-box; margin-left: 60rpx; diff --git a/pages/shop/workSpace/saleList.vue b/pages/shop/workSpace/saleList.vue index 64bd9f9..6068598 100644 --- a/pages/shop/workSpace/saleList.vue +++ b/pages/shop/workSpace/saleList.vue @@ -229,7 +229,18 @@ server_code: code, }) .then((res) => { + console.log('API Response:', res); if (res.code == 200) { + uni.showToast({ + title: res.msg, + icon: "none" + }); + this.getServicesList(); + } else if (res.state == 1) { + uni.showToast({ + title: res.msg, + icon: "none" + }); this.getServicesList(); } }).finally(() => { From aa43bcf4fd7c97978d5a5fe192e8902078ff0ec5 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Wed, 22 Apr 2026 16:50:09 +0800 Subject: [PATCH 012/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/address/search.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pages/address/search.vue b/pages/address/search.vue index 808b6b7..d7467a0 100644 --- a/pages/address/search.vue +++ b/pages/address/search.vue @@ -2293,6 +2293,15 @@ const currentPage = pages[pages.length - 1] const source = this.source || currentPage.options.source + //特殊处理重庆 + if(addressItem.cityCode == 500100){ + addressItem.cityname = "重庆城区" + } + if(addressItem.cityCode == 500200){ + addressItem.cityname = "重庆郊县" + } + + if (source === 'syr_info') { uni.$emit('address-selected-for-syr', addressItem) uni.setStorageSync('syr_selected_address', addressItem) From f1e4ee07b0cbb8ac349eb16c43125612c11bd72b Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Wed, 22 Apr 2026 17:55:06 +0800 Subject: [PATCH 013/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/buyorder-detail.vue | 205 ++++++++++++++++++++++++++------ pages/shop/userorder-detail.vue | 8 +- 2 files changed, 172 insertions(+), 41 deletions(-) diff --git a/pages/shop/buyorder-detail.vue b/pages/shop/buyorder-detail.vue index f20a06e..24da70a 100644 --- a/pages/shop/buyorder-detail.vue +++ b/pages/shop/buyorder-detail.vue @@ -5,43 +5,48 @@ backgroundColor="transparent"> - - + + + {{ orderInfo.server_code }} + + + + + + {{ stateItem.text }} + {{ + ` (${getGroupType(orderInfo.team_buy_order_state)})` + }} + ,请上门/到店后出示服务码 + + + + - {{ stateItem.text }} + {{ stateItem.text }} + {{ + ` (${getGroupType(orderInfo.team_buy_order_state)})` + }} + - - - - - - - {{userInfo.name}} - {{userInfo.account}} - - {{userInfo.dependency}}{{userInfo.address}} - + + + + 预约手艺人信息 - - - - - {{user_syr.name}} - - - + + + + {{ `${user_syr.name} ${user_syr.account}` }} - + + @@ -49,7 +54,7 @@ 预约信息 - {{orderInfo.reservation_time}} + {{`服务时间 ${orderInfo.reservation_time}`}} @@ -64,7 +69,7 @@ ×1 - 实际支付金额: + 实付金额: ¥{{orderInfo.pay_money}} @@ -72,10 +77,6 @@ 订单信息 - - 服务码 - {{orderInfo.server_code}} - 订单编号 {{orderInfo.number}} @@ -228,6 +229,15 @@ }, }, methods: { + getGroupType(teamBuyOrderState) { + let list = [ + { id: 1, text: "拼团中" }, + { id: 2, text: "已成团" }, + { id: 3, text: "拼团失败" } + ]; + let name = list.find((it) => it.id == teamBuyOrderState)?.text; + return name; + }, getOrderDetail() { request.post('/sj/sjorderdetail', { id: this.id, @@ -476,6 +486,20 @@ background-color: #fff; } + /* 辅助类 */ + .flex-row-center-between { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + } + + .flex-row-center { + display: flex; + flex-direction: row; + align-items: center; + } + .detail-page::before { content: ''; position: fixed; @@ -558,7 +582,114 @@ color: #333333; font-weight: 600; } - + + /* 服务码状态区域 */ + .status-section2 { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding-top: 55rpx; + padding-bottom: 20rpx; + gap: 20rpx; + + .status-row { + display: flex; + align-items: center; + justify-content: center; + width: auto; + } + + .status-section-image { + width: 27rpx; + height: auto; + margin-right: 6rpx; + margin-top: -4rpx; + } + + .service-code { + display: flex; + align-items: baseline; + justify-content: center; + width: auto; + padding-bottom: 20rpx; + + .service-code-label { + width: 96rpx; + height: 41rpx; + margin-left: 6rpx; + position: relative; + top: -45rpx; + } + + .service-code-value { + font-family: DINPro, DINPro; + font-weight: bold; + font-size: 80rpx; + color: #333333; + line-height: 103rpx; + text-align: left; + font-style: normal; + } + } + + .status-text-red { + font-weight: 400; + font-size: 26rpx; + color: #DC232F; + line-height: 37rpx; + text-align: left; + font-style: normal; + } + + .status-text-normal { + color: #333333; + } + } + + /* 预约手艺人信息卡片 */ + .syr-card { + margin: 30rpx; + background-color: #ffffff; + padding: 30rpx 20rpx; + border-radius: 16rpx; + box-shadow: 0 4rpx 16rpx 0 rgba(210, 213, 224, 0.5); + + .syr-card-header { + font-weight: 500; + font-size: 32rpx; + color: #333333; + line-height: 45rpx; + text-align: left; + font-style: normal; + margin-bottom: 40rpx; + } + + .syr-card-footer { + .syr-card-footer-left { + .syr-card-footer-left-img { + width: 70rpx; + height: 70rpx; + border-radius: 50%; + margin-right: 20rpx; + } + + .syr-card-footer-left-text { + font-weight: 400; + font-size: 28rpx; + color: #333333; + line-height: 40rpx; + text-align: left; + font-style: normal; + } + } + + .syr-card-footer-right { + width: 40rpx; + height: 40rpx; + } + } + } /* 服务人员卡片 */ .service-card { diff --git a/pages/shop/userorder-detail.vue b/pages/shop/userorder-detail.vue index b87fbf5..9d9aaa4 100644 --- a/pages/shop/userorder-detail.vue +++ b/pages/shop/userorder-detail.vue @@ -621,9 +621,9 @@ } this.clickType = true request.post(url, data).then(res => { - if (res.state == 1) { + if (res.state == 1 || res.code == 200) { uni.showToast({ - title: '取消成功!', + title: res.msg, icon: 'none' }) this.getOrderDetail(); @@ -676,7 +676,7 @@ server_code: code, sjid: this.userInfo.id }).then(res => { - if (res.state == 1) { + if (res.state == 1 || res.code == 200) { uni.showToast({ title: res.msg, icon: 'success' @@ -726,7 +726,7 @@ id: order.id, sjid: this.userInfo.id }).then(res => { - if (res.state == 1) { + if (res.state == 1 || res.code == 200) { uni.showToast({ title: res.msg, icon: 'none' From a159fbdb222382eb48c6f0deb62ede95db75dbf9 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Thu, 23 Apr 2026 10:13:27 +0800 Subject: [PATCH 014/118] =?UTF-8?q?=E5=95=86=E5=AE=B6=E5=B7=A5=E4=BD=8D?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=9B=A0=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=AF=BC=E8=87=B4=E7=9A=84=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=AD=A3=E5=B8=B8=E6=98=BE=E7=A4=BAbug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/SellerDetail.vue | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pages/shop/SellerDetail.vue b/pages/shop/SellerDetail.vue index 8d7005c..2f9ae10 100644 --- a/pages/shop/SellerDetail.vue +++ b/pages/shop/SellerDetail.vue @@ -377,15 +377,18 @@ }) .then((res) => { if (this.identity == 0) { + // 商家视角:优先使用手艺人信息,若没有则使用商家自己的信息 + const provider = res.data.user_syr || res.data.user_sj || {}; this.orderInfo = res.data ? { - ...res.data.order, - ...res.data.work_seat, - ...res.data.user_syr, - work_hour_id: res.data.work_seat.id, - order_id: res.data.order.id, - user_sj_id: res.data.user_syr.id, + ...res.data.order, + ...res.data.work_seat, + ...provider, + work_hour_id: res.data.work_seat.id, + order_id: res.data.order.id, + user_sj_id: provider.id, } : {}; } else if (this.identity == 1) { + // 手艺人视角 this.orderInfo = res.data ? { ...res.data.order, ...res.data.work_hour, From 7a5181a63835985394f0d196a27b0a1eef07c614 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Thu, 23 Apr 2026 10:23:34 +0800 Subject: [PATCH 015/118] =?UTF-8?q?=E5=95=86=E5=AE=B6=E5=B7=A5=E4=BD=8D?= =?UTF-8?q?=E3=80=81=E5=B7=A5=E6=97=B6=E8=AE=A2=E5=8D=95=E5=9B=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=B0=E5=8A=A0=E5=AD=97=E6=AE=B5=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84=E9=A1=B5=E9=9D=A2=E4=B8=8D=E8=83=BD=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E6=98=BE=E7=A4=BAbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/SellerDetail.vue | 15 +++++++-------- pages/shop/manHourDetail.vue | 5 +++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pages/shop/SellerDetail.vue b/pages/shop/SellerDetail.vue index 2f9ae10..47a86ab 100644 --- a/pages/shop/SellerDetail.vue +++ b/pages/shop/SellerDetail.vue @@ -377,15 +377,14 @@ }) .then((res) => { if (this.identity == 0) { - // 商家视角:优先使用手艺人信息,若没有则使用商家自己的信息 - const provider = res.data.user_syr || res.data.user_sj || {}; + const userSyr = res.data.user_syr || {}; // 避免 null 展开报错 this.orderInfo = res.data ? { - ...res.data.order, - ...res.data.work_seat, - ...provider, - work_hour_id: res.data.work_seat.id, - order_id: res.data.order.id, - user_sj_id: provider.id, + ...res.data.order, + ...res.data.work_seat, + ...userSyr, + work_hour_id: res.data.work_seat.id, + order_id: res.data.order.id, + syr_id: userSyr.id, // 用于判断是否有手艺人/顾客信息 } : {}; } else if (this.identity == 1) { // 手艺人视角 diff --git a/pages/shop/manHourDetail.vue b/pages/shop/manHourDetail.vue index 29fd098..5229af5 100644 --- a/pages/shop/manHourDetail.vue +++ b/pages/shop/manHourDetail.vue @@ -411,13 +411,14 @@ }) .then((res) => { if (this.identity == 0) { + const userSyr = res.data.user_syr || {}; // 避免 null 展开报错 this.orderInfo = res.data ? { ...res.data.order, ...res.data.work_hour, - ...res.data.user_syr, + ...userSyr, // 有手艺人就展开,没有就是空对象 work_hour_id: res.data.work_hour.id, order_id: res.data.order.id, - user_sj_id: res.data.user_syr.id, + syr_id: userSyr.id, // 手艺人ID(无手艺人时为 undefined) } : {}; console.log(this.orderInfo, '----------------------------------') } else if (this.identity == 1) { From 9de417bdfc2d4bacafc38c65c65768c7cc69ec30 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Fri, 24 Apr 2026 17:54:24 +0800 Subject: [PATCH 016/118] =?UTF-8?q?=E6=92=AD=E6=94=BE=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 7 ++ pages.json | 6 ++ pages/shop/photoAlbum/addPhoto.vue | 18 +++-- pages/shop/photoAlbum/videoplayer.vue | 106 ++++++++++++++++++++++++++ 4 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 pages/shop/photoAlbum/videoplayer.vue diff --git a/manifest.json b/manifest.json index 584ecdc..81a9949 100644 --- a/manifest.json +++ b/manifest.json @@ -10,6 +10,13 @@ "usingComponents" : true, "nvueStyleCompiler" : "uni-app", "compilerVersion" : 3, + "screenOrientation" : [ + //可选,字符串数组类型,应用支持的横竖屏 + "portrait-primary", //可选,字符串类型,支持竖屏 + "portrait-secondary", //可选,字符串类型,支持反向竖屏 + "landscape-primary", //可选,字符串类型,支持横屏 + "landscape-secondary" //可选,字符串类型,支持反向横屏 + ], "compatible" : { "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 }, diff --git a/pages.json b/pages.json index b63a79f..e50a10a 100644 --- a/pages.json +++ b/pages.json @@ -596,6 +596,12 @@ "navigationStyle": "custom" } }, + { + "path": "pages/shop/photoAlbum/videoplayer", + "style": { + "navigationStyle": "custom" + } + }, { "path": "pages/shop/photoAlbum/videoList", "style": { diff --git a/pages/shop/photoAlbum/addPhoto.vue b/pages/shop/photoAlbum/addPhoto.vue index 6c36e5c..f813e08 100644 --- a/pages/shop/photoAlbum/addPhoto.vue +++ b/pages/shop/photoAlbum/addPhoto.vue @@ -220,14 +220,16 @@ // uni.navigateTo({ // url: `/pages/album/list?urls=${encodeURIComponent(JSON.stringify(urls))}` // }); - this.videoPlay = true; // 显示播放盒子 - this.videoContext = uni.createVideoContext("myvideo", this); // this这个是实例对象 必传 - this.videoUrl = this.formData.url; - this.videoContext.requestFullScreen({ - direction: 90 - }); - this.videoContext.play(); - + // this.videoPlay = true; // 显示播放盒子 + // this.videoContext = uni.createVideoContext("myvideo", this); // this这个是实例对象 必传 + // this.videoUrl = this.formData.url; + // this.videoContext.requestFullScreen({ + // direction: 90 + // }); + // this.videoContext.play(); + uni.navigateTo({ + url: '/pages/shop/photoAlbum/videoplayer?url=' + this.formData.url + }) }, async submitPhoto() { diff --git a/pages/shop/photoAlbum/videoplayer.vue b/pages/shop/photoAlbum/videoplayer.vue new file mode 100644 index 0000000..9ae18ef --- /dev/null +++ b/pages/shop/photoAlbum/videoplayer.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file From f4e9bcc0f67bb88100f6fed2d1f646f85f85e7bb Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Tue, 28 Apr 2026 14:56:14 +0800 Subject: [PATCH 017/118] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=A3=E9=87=91?= =?UTF-8?q?=E6=B8=A9=E9=A6=A8=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/promotion/setUpServe.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/promotion/setUpServe.vue b/pages/promotion/setUpServe.vue index 0a06605..b188ff5 100644 --- a/pages/promotion/setUpServe.vue +++ b/pages/promotion/setUpServe.vue @@ -2,7 +2,7 @@ - 温馨提示:支持 快速设置“百分比”(如每单返 2%)佣金,成功成交的订单,系统会按照实付金额*佣金比例进行扣减。 + 温馨提示:支持 按1%~30%区间设置佣金比例,订单成功成交后,系统将按实付金额 × 佣金比例自动扣减。 From f5e3e96be8c967a0723260b08a2fef4eb11646e4 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Tue, 28 Apr 2026 17:48:49 +0800 Subject: [PATCH 018/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 15 +- pages.json | 11 +- pages/address/search.vue | 5064 +++++++++++++------------ pages/shop/add-service.vue | 8 +- pages/shop/photoAlbum/photoManage.vue | 4 +- 5 files changed, 2587 insertions(+), 2515 deletions(-) diff --git a/manifest.json b/manifest.json index 81a9949..8356026 100644 --- a/manifest.json +++ b/manifest.json @@ -10,13 +10,13 @@ "usingComponents" : true, "nvueStyleCompiler" : "uni-app", "compilerVersion" : 3, - "screenOrientation" : [ - //可选,字符串数组类型,应用支持的横竖屏 - "portrait-primary", //可选,字符串类型,支持竖屏 - "portrait-secondary", //可选,字符串类型,支持反向竖屏 - "landscape-primary", //可选,字符串类型,支持横屏 - "landscape-secondary" //可选,字符串类型,支持反向横屏 - ], + "screenOrientation" : [ + //可选,字符串数组类型,应用支持的横竖屏 + "portrait-primary", //可选,字符串类型,支持竖屏 + "portrait-secondary", //可选,字符串类型,支持反向竖屏 + "landscape-primary", //可选,字符串类型,支持横屏 + "landscape-secondary" //可选,字符串类型,支持反向横屏 + ], "compatible" : { "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 }, @@ -76,6 +76,7 @@ }, /* ios打包配置 */ "ios" : { + "UIRequiresFullScreen" : false, // 允许非全屏模式 "urlschemewhitelist" : [ "iosmap" ], "dSYMs" : false, "plistcmds" : [ diff --git a/pages.json b/pages.json index e50a10a..f10ced4 100644 --- a/pages.json +++ b/pages.json @@ -599,6 +599,8 @@ { "path": "pages/shop/photoAlbum/videoplayer", "style": { + "navigationBarTitleText": "全屏视频播放", + "pageOrientation": "auto", "navigationStyle": "custom" } }, @@ -969,10 +971,11 @@ "selectedIconPath": "/static/images/tabbar/home_icon_active.png", "pagePath": "pages/home/home" }, - { "iconPath": "/static/images/tabbar/new_message_gray.png", - "text": "消息", - "selectedIconPath": "/static/images/tabbar/new_message.png", - "pagePath": "pages/message/message" + { + "iconPath": "/static/images/tabbar/new_message_gray.png", + "text": "消息", + "selectedIconPath": "/static/images/tabbar/new_message.png", + "pagePath": "pages/message/message" }, { "iconPath": "/static/images/tabbar/my_icon_dis.png", diff --git a/pages/address/search.vue b/pages/address/search.vue index d7467a0..71d9bbd 100644 --- a/pages/address/search.vue +++ b/pages/address/search.vue @@ -1,86 +1,78 @@ @@ -592,8 +592,7 @@ export default { this.saveInviteStateToLocal(); this.saveFormDataToLocal(); - // 弹窗提示 - this.showExistingInviteTipPopup(); + // 不在页面加载时弹窗,改为在提交申请时弹窗 return true; } else { console.error('获取邀请人信息失败,邀请码可能无效'); @@ -612,29 +611,31 @@ export default { // 显示已有邀请人确认弹窗(复用原有方法,但内容更准确) showExistingInviteTipPopup() { - if (this.$refs.existingInvitePopup) { - this.$refs.existingInvitePopup.open(); - } else { - uni.showModal({ - title: '请确认邀请信息', - content: `邀请码:${this.existingInviterInfo?.invite_code}\n邀请人:${this.existingInviterInfo?.name || this.existingInviterInfo?.nick_name}`, - confirmText: '确认', - cancelText: '关闭', - success: (res) => { - if (res.confirm) { - this.useExistingInviteCode(); - } else { - // 用户关闭弹窗:清空邀请码,允许手动输入(与铁军端行为一致) - this.formData.invite_code_other = ''; - this.hasExistingInviter = false; - this.hasAutoReplacedInvite = false; - this.inviterInfo = null; - this.existingInviterInfo = null; - this.saveFormDataToLocal(); + this.$nextTick(() => { + if (this.$refs.existingInvitePopup) { + this.$refs.existingInvitePopup.open(); + } else { + uni.showModal({ + title: '请确认邀请信息', + content: `邀请码:${this.existingInviterInfo?.invite_code}\n邀请人:${this.existingInviterInfo?.name || this.existingInviterInfo?.nick_name}`, + confirmText: '确认', + cancelText: '关闭', + success: (res) => { + if (res.confirm) { + this.useExistingInviteCode(); + } else { + // 用户关闭弹窗:清空邀请码,允许手动输入(与铁军端行为一致) + this.formData.invite_code_other = ''; + this.hasExistingInviter = false; + this.hasAutoReplacedInvite = false; + this.inviterInfo = null; + this.existingInviterInfo = null; + this.saveFormDataToLocal(); + } } - } - }); - } + }); + } + }); }, // 确认使用已有邀请码(用户点击确认) @@ -650,6 +651,12 @@ export default { this.saveFormDataToLocal(); } this.hideExistingInviteTipPopup(); + + // 执行提交回调 + if (this.submitCallback) { + this.submitCallback(); + this.submitCallback = null; + } }, // 隐藏已有邀请人确认弹窗 @@ -659,6 +666,68 @@ export default { } }, + // 取消邀请码确认 + cancelInviteConfirm() { + // 如果是系统自动替换的邀请码,取消后允许用户手动输入 + if (this.hasAutoReplacedInvite) { + this.hasAutoReplacedInvite = false; + this.hasExistingInviter = false; + // 保存状态 + this.saveInviteStateToLocal(); + this.saveFormDataToLocal(); + } + + // 关闭弹窗 + this.hideExistingInviteTipPopup(); + }, + + // 显示邀请码确认弹窗 + showInviteConfirmPopup(inviterData) { + this.$nextTick(() => { + // 使用 existingInvitePopup 组件显示确认弹窗 + if (this.$refs.existingInvitePopup) { + // 将邀请人信息存入 existingInviterInfo 以便弹窗显示 + this.existingInviterInfo = inviterData; + this.$refs.existingInvitePopup.open(); + } else { + // 降级方案 + uni.showModal({ + title: '请确认邀请信息', + content: `邀请码:${inviterData?.invite_code}\n邀请人:${inviterData?.name || inviterData?.nick_name}`, + confirmText: '确认', + cancelText: '取消', + success: (res) => { + if (res.confirm) { + // 确认使用该邀请码 + this.saveInviteStateToLocal(); + } else { + // 取消,清空邀请码 + this.formData.invite_code_other = ''; + this.inviterInfo = null; + this.inviteCodeError = false; + this.saveInviteStateToLocal(); + } + } + }); + } + }); + }, + + // 提交申请前确认邀请码(供父组件调用) + confirmInviteCodeBeforeSubmit(callback) { + this.submitCallback = callback; + + // 如果有已验证的邀请人信息,显示确认弹窗 + if (this.inviterInfo && this.formData.invite_code_other) { + this.showInviteConfirmPopup(this.inviterInfo); + } else { + // 没有邀请码或未验证,直接提交 + if (this.submitCallback) { + this.submitCallback(); + } + } + }, + // 获取用户信息(含手机号) getUserInfo() { return request.post('/sj/User/getUser').then(result => { @@ -954,6 +1023,8 @@ export default { this.inviterInfo = userData; this.inviteCodeError = false; console.log('邀请码验证通过,邀请人:', userData); + + // 不在输入时弹窗,改为在提交申请时弹窗 } else { // 接口返回数据但没有account字段,说明不是有效邀请人 console.log('接口返回数据无效,没有account字段:', userData); @@ -2307,6 +2378,7 @@ export default { display: flex; flex-direction: column; gap: 24rpx; + margin-top: 20rpx; } .invite-item { @@ -2345,6 +2417,7 @@ export default { justify-content: center; font-size: 32rpx; font-weight: 500; + margin: 0 10rpx; } .invite-btn.cancel { From 5bb78163b47d5c2c4e9277235b1d7957c69346d8 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Thu, 30 Apr 2026 14:47:48 +0800 Subject: [PATCH 024/118] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/ruzhu/sj-info.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/ruzhu/sj-info.vue b/pages/ruzhu/sj-info.vue index 6c4bc55..1e888fd 100644 --- a/pages/ruzhu/sj-info.vue +++ b/pages/ruzhu/sj-info.vue @@ -319,7 +319,7 @@ - 取消 + 关闭 确认 @@ -2417,7 +2417,7 @@ export default { justify-content: center; font-size: 32rpx; font-weight: 500; - margin: 0 10rpx; + margin: 0 5rpx; } .invite-btn.cancel { From 0130ad939d0cf95d9b794e3fb4c2bc2e5e60e01b Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Thu, 30 Apr 2026 14:56:42 +0800 Subject: [PATCH 025/118] =?UTF-8?q?=E9=A9=B3=E5=9B=9E=E5=8E=9F=E5=9B=A0?= =?UTF-8?q?=E6=98=BE=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/ruzhu/submitres.vue | 43 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/pages/ruzhu/submitres.vue b/pages/ruzhu/submitres.vue index 3e1ec69..6ea3b4e 100644 --- a/pages/ruzhu/submitres.vue +++ b/pages/ruzhu/submitres.vue @@ -135,31 +135,30 @@ export default { return; } - // 重新确定 type 值 - let type; - if (this.identity == 1) { - type = 2; // 手艺人 - } else if (this.identity == 2) { - type = 3; // 商家 - } else { - console.error('未知的用户类型identity:', this.identity); - this.backMag = '用户类型错误,请联系客服'; - return; - } - - console.log('请求参数 type:', type); - - request.post('/user/getuser', {type}).then(result => { - console.log('接口返回数据:', result); - if (result.data && result.data.back_text) { - this.backMag = result.data.back_text; - console.log('设置backMag为:', this.backMag); + request.post('/sj/userSjAuth/details', { + type: this.identity // 1=手艺人,2=商家 + }).then(result => { + console.log('申请详情接口返回数据:', result); + if (result.code === 200) { + if (result.data) { + if (result.data.back_text) { + this.backMag = result.data.back_text; + console.log('设置backMag为:', this.backMag); + } else { + this.backMag = '未知原因,请联系客服'; + console.log('接口返回无back_text字段'); + } + } else { + // 接口返回成功但数据为空,可能没有申请记录 + console.log('接口返回成功但data为空'); + this.backMag = '暂无驳回原因信息'; + } } else { - this.backMag = '未知原因,请联系客服'; - console.log('接口返回无back_text字段'); + this.backMag = '获取驳回原因失败,请联系客服'; + console.log('接口返回错误:', result?.msg || '未知错误'); } }).catch(err => { - console.error('获取用户信息失败:', err); + console.error('获取申请详情失败:', err); this.backMag = '获取驳回原因失败,请联系客服'; }).finally(() => { console.log('getUserInfo执行完成'); From 665ca23d3b36a512797d6cd459f409034353cb4d Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Thu, 30 Apr 2026 16:58:04 +0800 Subject: [PATCH 026/118] =?UTF-8?q?=E5=95=86=E5=AE=B6=E7=AB=AF=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E7=A0=81=E8=87=AA=E5=8A=A8=E5=A1=AB=E5=85=85=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/ruzhu/sj-info.vue | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pages/ruzhu/sj-info.vue b/pages/ruzhu/sj-info.vue index 1e888fd..13eae2d 100644 --- a/pages/ruzhu/sj-info.vue +++ b/pages/ruzhu/sj-info.vue @@ -668,15 +668,6 @@ export default { // 取消邀请码确认 cancelInviteConfirm() { - // 如果是系统自动替换的邀请码,取消后允许用户手动输入 - if (this.hasAutoReplacedInvite) { - this.hasAutoReplacedInvite = false; - this.hasExistingInviter = false; - // 保存状态 - this.saveInviteStateToLocal(); - this.saveFormDataToLocal(); - } - // 关闭弹窗 this.hideExistingInviteTipPopup(); }, From 659ec0f4731b2fffaf79505a69e99bdd3662909e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E6=9D=B0?= <727475508@qq.com> Date: Wed, 6 May 2026 13:25:33 +0800 Subject: [PATCH 027/118] =?UTF-8?q?=E5=B7=A5=E4=BD=8D=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=97=B6=E9=97=B4=E6=98=BE=E7=A4=BA=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/home/components/workOrderCard.vue | 517 +++++++++++------------- 1 file changed, 239 insertions(+), 278 deletions(-) diff --git a/pages/home/components/workOrderCard.vue b/pages/home/components/workOrderCard.vue index 14bdcdf..cb77c81 100644 --- a/pages/home/components/workOrderCard.vue +++ b/pages/home/components/workOrderCard.vue @@ -6,7 +6,7 @@ + }" v-if="showState"> {{ stateText }} @@ -18,8 +18,8 @@ {{ - dataItem.title - }} + dataItem.title + }} 下单时间:{{ dataItem.add_time }} @@ -45,299 +45,260 @@ \ No newline at end of file From 3e9235844a8fde68da72c91abe28c2e299fe3647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E6=9D=B0?= <727475508@qq.com> Date: Wed, 6 May 2026 15:01:38 +0800 Subject: [PATCH 028/118] =?UTF-8?q?=E9=99=90=E5=88=B6=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E6=97=B6=E9=95=BF=E5=92=8C=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/photoAlbum/addPhoto.vue | 11 ++++---- utils/albumUploadImage.js | 41 +++++++++++++++++------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/pages/shop/photoAlbum/addPhoto.vue b/pages/shop/photoAlbum/addPhoto.vue index 32a005a..51c7d5e 100644 --- a/pages/shop/photoAlbum/addPhoto.vue +++ b/pages/shop/photoAlbum/addPhoto.vue @@ -428,11 +428,12 @@ title: '取消上传', icon: 'none' }); - } else { - uni.showToast({ - title: '上传失败', - icon: 'none' - }); // 新增:上传失败提示 + } else { + console.error('上传失败:', err.errMsg); + uni.showToast({ + title: err.errMsg || '上传失败', + icon: 'none' + }); // 新增:上传失败提示 } } finally { diff --git a/utils/albumUploadImage.js b/utils/albumUploadImage.js index 4d6d211..ae649cc 100644 --- a/utils/albumUploadImage.js +++ b/utils/albumUploadImage.js @@ -77,6 +77,21 @@ const handleUpload = async (userId, type, sourceType = ['album', 'camera'], uplo // #ifdef APP-PLUS || MP-WEIXIN file = res; // #endif + const duration = res.duration; + if (duration < 3) { + uni.showToast({ + title: "视频时长不能少于3秒", + icon: "none", + }); + return null; + } + if (duration > 59.9) { + uni.showToast({ + title: "视频时长不能超过1分钟", + icon: "none", + }); + return null; + } } @@ -149,23 +164,15 @@ const uploadFile = async (file, userId, type, uploadType) => { console.log('file=======', file) console.log('userId=======', userId) // 检查文件大小 - if (uploadType == 'image') { - if (file.size > 5 * 1024 * 1024) { - uni.showToast({ - title: `文件大小不能超过5MB`, - icon: 'none' - }) - return Promise.reject(new Error('文件大小超出限制')) - } - } else if (uploadType == 'video') { - if (file.size > 100 * 1024 * 1024) { - uni.showToast({ - title: `文件大小不能超过100MB`, - icon: 'none' - }) - return Promise.reject(new Error('文件大小超出限制')) - } - } + if (uploadType == "image") { + if (file.size > 5 * 1024 * 1024) { + return Promise.reject({errMsg: "文件大小不能超过5MB"}); + } + } else if (uploadType == "video") { + if (file.size > 500 * 1024 * 1024) { + return Promise.reject({errMsg: "文件大小不能超过500MB"}); + } + } let date = new Date().getTime() console.log('file', file) From 2836b0712f7813c1119b3e55620a7b17abf917b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E6=9D=B0?= <727475508@qq.com> Date: Wed, 6 May 2026 15:18:55 +0800 Subject: [PATCH 029/118] =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=97=B6=E9=95=BF?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/albumUploadImage.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utils/albumUploadImage.js b/utils/albumUploadImage.js index ae649cc..fda5fca 100644 --- a/utils/albumUploadImage.js +++ b/utils/albumUploadImage.js @@ -67,6 +67,7 @@ const handleUpload = async (userId, type, sourceType = ['album', 'camera'], uplo // ========== 【核心新增:图片比例校验 结束】 ========== } else if (uploadType == 'video') { const res = await uni.chooseVideo({ + maxDuration:60, count: 1, sourceType: ['album', 'camera'], compressed: false @@ -77,6 +78,7 @@ const handleUpload = async (userId, type, sourceType = ['album', 'camera'], uplo // #ifdef APP-PLUS || MP-WEIXIN file = res; // #endif + console.log(res,'resresres'); const duration = res.duration; if (duration < 3) { uni.showToast({ @@ -85,7 +87,7 @@ const handleUpload = async (userId, type, sourceType = ['album', 'camera'], uplo }); return null; } - if (duration > 59.9) { + if (duration > 61) { uni.showToast({ title: "视频时长不能超过1分钟", icon: "none", From a5180be20fc8d7af1d39fc62b3bc766fe0714080 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Wed, 6 May 2026 18:17:27 +0800 Subject: [PATCH 030/118] =?UTF-8?q?13131313=E9=82=80=E8=AF=B7=E7=A0=81?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/ruzhu/sj-info.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pages/ruzhu/sj-info.vue b/pages/ruzhu/sj-info.vue index 13eae2d..6e4a47a 100644 --- a/pages/ruzhu/sj-info.vue +++ b/pages/ruzhu/sj-info.vue @@ -708,8 +708,11 @@ export default { confirmInviteCodeBeforeSubmit(callback) { this.submitCallback = callback; - // 如果有已验证的邀请人信息,显示确认弹窗 - if (this.inviterInfo && this.formData.invite_code_other) { + // 如果邀请码是13131313,显示确认弹窗,邀请人显示为"暂无邀请人" + if (this.formData.invite_code_other === '13131313') { + this.showInviteConfirmPopup({ invite_code: '13131313', name: '暂无邀请人' }); + } else if (this.inviterInfo && this.formData.invite_code_other) { + // 如果有已验证的邀请人信息,显示确认弹窗 this.showInviteConfirmPopup(this.inviterInfo); } else { // 没有邀请码或未验证,直接提交 From 4e21e22bdf02a743ee28ec47afb1f8c2a0d99152 Mon Sep 17 00:00:00 2001 From: cjl520cy <8149487+cy250cy-520@user.noreply.gitee.com> Date: Wed, 13 May 2026 17:41:13 +0800 Subject: [PATCH 031/118] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 4 ++-- pages/shop/add-img-text.vue | 13 +++++++------ pages/shop/add-service.vue | 6 +++++- utils/request.js | 8 ++++---- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/manifest.json b/manifest.json index 8356026..f438265 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "美融融商家", "appid" : "__UNI__BBE6285", "description" : "同城便捷到家美业“技术外卖”服务、同城预约到店服务平台美融融为同城爱美人群提供更优质的更全面的服务。", - "versionName" : "1.0.09", - "versionCode" : 1009, + "versionName" : "1.0.16", + "versionCode" : 1016, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/pages/shop/add-img-text.vue b/pages/shop/add-img-text.vue index b61c22f..2c6f79a 100644 --- a/pages/shop/add-img-text.vue +++ b/pages/shop/add-img-text.vue @@ -119,12 +119,13 @@ }; }, onLoad(options) { - console.log(options) - if(options.list){ - this.list = JSON.parse(options.list) - console.log(this.list) - } - }, + console.log(options) + if(options.list){ + const parsed = JSON.parse(options.list) + this.list = Array.isArray(parsed) ? parsed : [] + console.log(this.list) + } + }, methods: { submitForm(){ uni.$emit('updateGraphicDetails', this.list); diff --git a/pages/shop/add-service.vue b/pages/shop/add-service.vue index 68d4c6e..db7b857 100644 --- a/pages/shop/add-service.vue +++ b/pages/shop/add-service.vue @@ -576,7 +576,7 @@ this.categoryAll = result.data; this.categoryAll.filter((e, i) => { if (e.id == this.formData.second_class_id) { - this.selectedCategoryIndex = i; + this.selectedCategoryIndex = [i]; this.category = e.title; } }); @@ -913,6 +913,8 @@ this.formData.first_class_id = selectedType.id; this.serviceType = selectedType.title; this.ratio = selectedType.ratio; + this.formData.second_class_id = ""; + this.category = ""; let id = selectedType.id; request .post("/user/secondclass", { @@ -926,6 +928,8 @@ this.categoryAll = res.data; this.showCategory = true; this.selectedCategoryIndex = [0]; + // this.formData.second_class_id = res.data[0].id; + // this.category = res.data[0].title; } }); }, diff --git a/utils/request.js b/utils/request.js index 151428f..1a06288 100644 --- a/utils/request.js +++ b/utils/request.js @@ -134,13 +134,13 @@ const request = async (options, isUpdate) => { if (process.env.NODE_ENV === 'development') { - //baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 - baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 + baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 + //baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'http://60.247.146.5:96'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'https://app.mrrweb.com.cn'; } else { - //baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 - baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 + baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 + //baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'http://60.247.146.5:96'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'https://app.mrrweb.com.cn'; From d5690bc51b8b07e299a91debef3e15e2a1cc3afa Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Wed, 20 May 2026 16:44:16 +0800 Subject: [PATCH 032/118] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 8356026..d1586a4 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "美融融商家", "appid" : "__UNI__BBE6285", "description" : "同城便捷到家美业“技术外卖”服务、同城预约到店服务平台美融融为同城爱美人群提供更优质的更全面的服务。", - "versionName" : "1.0.09", - "versionCode" : 1009, + "versionName" : "1.0.15", + "versionCode" : 1015, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { From 4b51811351436e5da84c3e59100b3a02665618ae Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Thu, 21 May 2026 11:52:07 +0800 Subject: [PATCH 033/118] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/request.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/request.js b/utils/request.js index 1a06288..ff89727 100644 --- a/utils/request.js +++ b/utils/request.js @@ -135,12 +135,12 @@ const request = async (options, isUpdate) => { if (process.env.NODE_ENV === 'development') { baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 - //baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 + baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'http://60.247.146.5:96'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'https://app.mrrweb.com.cn'; } else { baseURL = url; // 发布到生产环境时,此处代码会被摇树移除掉。 - //baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 + baseURL = 'http://60.247.146.5:93'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'http://60.247.146.5:96'; // 发布到生产环境时,此处代码会被摇树移除掉。 //baseURL = 'https://app.mrrweb.com.cn'; From d6f09178ac2fd8dad6e83216d0afcfbe9d91cc62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E6=9D=B0?= <727475508@qq.com> Date: Thu, 21 May 2026 16:52:23 +0800 Subject: [PATCH 034/118] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=88=91=E7=9A=84=E6=94=B6=E8=97=8F=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages.json | 6 + pages/my/my.vue | 2977 ++++++++++++++++++++------------------- pages/my/myFavorite.vue | 22 + 3 files changed, 1555 insertions(+), 1450 deletions(-) create mode 100644 pages/my/myFavorite.vue diff --git a/pages.json b/pages.json index f10ced4..7d21046 100644 --- a/pages.json +++ b/pages.json @@ -951,6 +951,12 @@ "style": { "navigationBarTitleText": "拍摄技巧" } + }, + { + "path": "pages/my/myFavorite", + "style": { + "navigationBarTitleText": "我的收藏" + } } diff --git a/pages/my/my.vue b/pages/my/my.vue index ba8c00a..9e3c59a 100644 --- a/pages/my/my.vue +++ b/pages/my/my.vue @@ -1,1451 +1,1528 @@ - - - - - \ No newline at end of file diff --git a/pages/my/myFavorite.vue b/pages/my/myFavorite.vue new file mode 100644 index 0000000..87b6899 --- /dev/null +++ b/pages/my/myFavorite.vue @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file From 057147d385725865d794e0337af18b423bb90d98 Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Fri, 22 May 2026 14:36:49 +0800 Subject: [PATCH 035/118] =?UTF-8?q?=E5=95=86=E5=AE=B6=E6=94=B9=E7=89=88-?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/tabbar/tabbar.vue | 56 +- pages.json | 6 + pages/home/components/brand-card.vue | 203 ++++ pages/home/home.vue | 1215 +++++++++++++++------ static/images/tabbar/new_home.png | Bin 10121 -> 15920 bytes static/images/tabbar/new_home_gray.png | Bin 5901 -> 3739 bytes static/images/tabbar/new_message.png | Bin 4354 -> 15646 bytes static/images/tabbar/new_message_gray.png | Bin 3405 -> 4590 bytes static/images/tabbar/new_my.png | Bin 11842 -> 16122 bytes static/images/tabbar/new_my_gray.png | Bin 7798 -> 4071 bytes static/images/tabbar/new_order.png | Bin 10395 -> 15597 bytes static/images/tabbar/new_order_gray.png | Bin 5722 -> 3573 bytes 12 files changed, 1102 insertions(+), 378 deletions(-) create mode 100644 pages/home/components/brand-card.vue diff --git a/components/tabbar/tabbar.vue b/components/tabbar/tabbar.vue index 6bbe3f5..2cbb408 100644 --- a/components/tabbar/tabbar.vue +++ b/components/tabbar/tabbar.vue @@ -1,7 +1,9 @@ \ No newline at end of file From f65e18ea3d68bb413a9f0cd845dc0ef3f620441e Mon Sep 17 00:00:00 2001 From: BAKEYi <16298417+bakeyi@user.noreply.gitee.com> Date: Tue, 2 Jun 2026 10:26:55 +0800 Subject: [PATCH 069/118] =?UTF-8?q?=E8=90=A5=E4=B8=9A=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/shop/business-time.vue | 567 +++++++++++++++++++++++++++++------ 1 file changed, 482 insertions(+), 85 deletions(-) diff --git a/pages/shop/business-time.vue b/pages/shop/business-time.vue index ed88f68..905b550 100644 --- a/pages/shop/business-time.vue +++ b/pages/shop/business-time.vue @@ -1,31 +1,99 @@