From 7ce1ea8fa47751145c92a00525cd4ada2d997aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E9=A6=99=E7=90=AA?= <624506849@qq.com> Date: Wed, 1 Jul 2026 15:09:05 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20formatPrice=20?= =?UTF-8?q?=E5=AF=B9=E7=A9=BA=E5=80=BC=E5=92=8C=E9=9D=9E=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 避免表格调用 unitPrice 时因 price 为 undefined/null/非法字符串导致报错。 Co-authored-by: Cursor --- manager/src/utils/filters.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/manager/src/utils/filters.js b/manager/src/utils/filters.js index 16dd6008..2edd163a 100644 --- a/manager/src/utils/filters.js +++ b/manager/src/utils/filters.js @@ -1,3 +1,5 @@ +import { getRouter } from "@/libs/router-holder"; + /** * 金钱单位置换 2999 --> 2,999.00 * @param val @@ -32,11 +34,13 @@ export function enCode(v1) { return v1; } -import {router} from "@/router/index"; /** * 自定义跳转 */ export function customRouterPush(push){ + const router = getRouter(); + if (!router) return; + const setting = window.localStorage.getItem('admin-setting') ? JSON.parse(window.localStorage.getItem('admin-setting')) : {}; if(setting.isUseTabsRouter){ @@ -142,8 +146,14 @@ let timeout = null; * @returns {string} */ export function formatPrice(price) { - if (typeof price !== 'number') return price - return String(Number(price).toFixed(2)).replace(/\B(?=(\d{3})+(?!\d))/g, ',') + if (price === null || price === undefined || price === "") { + return "0.00"; + } + const num = typeof price === "number" ? price : Number(price); + if (Number.isNaN(num)) { + return "0.00"; + } + return String(num.toFixed(2)).replace(/\B(?=(\d{3})+(?!\d))/g, ","); } /** From 726d563e1a4aeec5816e215a797bb043fdef2ef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E9=A6=99=E7=90=AA?= <624506849@qq.com> Date: Wed, 1 Jul 2026 17:00:30 +0800 Subject: [PATCH 2/4] =?UTF-8?q?style:=20=E6=9B=B4=E6=96=B0=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E6=A0=B7=E5=BC=8F=E4=BB=A5=E5=A2=9E=E5=BC=BA=E5=B8=83?= =?UTF-8?q?=E5=B1=80=E5=92=8C=E5=93=8D=E5=BA=94=E5=BC=8F=E8=A1=A8=E7=8E=B0?= =?UTF-8?q?=20-=20=E8=B0=83=E6=95=B4=E4=BA=86=20.flow-list=E3=80=81.flow-i?= =?UTF-8?q?tem=20=E5=92=8C=20.today-item=20=E7=9A=84=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BA=86=E5=B8=83=E5=B1=80=E5=92=8C?= =?UTF-8?q?=E9=97=B4=E8=B7=9D=E3=80=82=20-=20=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=20.flow-box=20=E5=92=8C=20.today-box=20=E7=9A=84=20padding=20?= =?UTF-8?q?=E5=92=8C=20flex=20=E5=B1=9E=E6=80=A7=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E4=BA=86=E8=A7=86=E8=A7=89=E4=B8=80=E8=87=B4=E6=80=A7?= =?UTF-8?q?=E3=80=82=20-=20=E6=9B=B4=E6=96=B0=E4=BA=86=20.today-list=20?= =?UTF-8?q?=E7=9A=84=E5=B8=83=E5=B1=80=EF=BC=8C=E7=A1=AE=E4=BF=9D=E6=9B=B4?= =?UTF-8?q?=E5=A5=BD=E7=9A=84=E5=93=8D=E5=BA=94=E5=BC=8F=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E3=80=82=20-=20=E4=BF=AE=E5=A4=8D=E4=BA=86=20.today-item=20?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F=EF=BC=8C=E7=A1=AE=E4=BF=9D=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=9C=A8=E4=B8=8D=E5=90=8C=E5=B1=8F=E5=B9=95=E5=B0=BA?= =?UTF-8?q?=E5=AF=B8=E4=B8=8B=E7=9A=84=E5=8F=AF=E8=AF=BB=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/src/views/home/home.scss | 74 +++++++++++++++----- seller/src/views/order/order/orderDetail.vue | 1 + 2 files changed, 58 insertions(+), 17 deletions(-) diff --git a/manager/src/views/home/home.scss b/manager/src/views/home/home.scss index d3968bce..eafd04b1 100644 --- a/manager/src/views/home/home.scss +++ b/manager/src/views/home/home.scss @@ -15,7 +15,8 @@ h4 { margin-right: 40px; } .count-item, -.todo-item { +.todo-item, +.today-item { height: 84px; display: flex; @@ -60,6 +61,12 @@ h4 { cursor: pointer; color: #fff; justify-content: flex-start; + + > div:first-child { + margin-left: 40px; + margin-right: 20px; + flex-shrink: 0; + } } .count-item:nth-of-type(1) { background-image: linear-gradient(109.6deg, rgba($color: #ff7171, $alpha: 0.6) 11.2%, #ff7171 100.2%); @@ -93,7 +100,10 @@ h4 { .flow-list { - height: 330px; + min-height: 330px; + align-items: stretch; + flex-wrap: wrap; + gap: 20px; } .svg { width: 20px; @@ -101,7 +111,8 @@ h4 { } .flow-item { display: flex; - flex: 1; + flex: 1 1 620px; + min-width: 0; } .flow { background: #ebebeb88 !important; @@ -131,28 +142,36 @@ h4 { } } .flow-box { - padding-top: 20px; - width: 400px; + padding: 37px; + width: 100%; + box-sizing: border-box; justify-content: space-between; margin: 10px 0 20px; + gap: 20px; > .flow-box-item { + flex: 1; + min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: bold; font-size: 15px; - margin: 0 20px; > div { margin: 4px 0; } } } +.flow-splice { + width: 100%; + gap: 20px; +} .flow-box-splice { background: #fff; - width: 190px; + flex: 1; + min-width: 0; margin-right: 20px; - padding: 20px; + padding: 36px; font-weight: bold; display: flex; align-items: center; @@ -182,24 +201,44 @@ h4 { .flow-wrapper { background: #fff; padding: 0 30px; + flex: 1; + min-width: 0; } .today-box { - flex: 3; + flex: 1 1 380px; + min-width: 380px; + align-self: flex-start; background: #fff; - margin-left: 20px; - padding: 0 30px; + padding: 0 30px 20px; + display: flex; + flex-direction: column; + box-sizing: border-box; + + > h4 { + margin: 20px 0; + } } .today-item { - width: 30%; - margin-bottom: 20px; - border-radius: 0.4em; - font-weight: bold; + box-sizing: border-box; + flex: 1 1 calc(50% - 8px); + min-width: calc(50% - 8px); + margin-right: 0; + flex-direction: column; + justify-content: space-between; background: #ebebeb88; - padding: 20px; + padding: 16px 20px; + > div { + word-break: break-word; + font-size: 14px; + line-height: 1.3; + } > span { color: $theme_color; font-size: 21px; + margin-top: 8px; + word-break: break-all; + line-height: 1.2; } } @@ -214,6 +253,7 @@ h4 { } .today-list { - justify-content: space-between; + display: flex; flex-wrap: wrap; + gap: 16px; } diff --git a/seller/src/views/order/order/orderDetail.vue b/seller/src/views/order/order/orderDetail.vue index 4981ddb6..5db85584 100644 --- a/seller/src/views/order/order/orderDetail.vue +++ b/seller/src/views/order/order/orderDetail.vue @@ -784,6 +784,7 @@ export default { this.partDeliveryForm.deliveryNumMap = map; }, refreshPartDeliveryAfterSubmit() { + this.partDeliveryModal = false; this.loading = true; return Promise.all([ API_Order.getOrderDetail(this.sn).then((res) => { From 99de0d472255f134f45ef75f4b0505ea91d128de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E9=A6=99=E7=90=AA?= <624506849@qq.com> Date: Wed, 1 Jul 2026 17:30:33 +0800 Subject: [PATCH 3/4] =?UTF-8?q?style:=20=E6=9B=B4=E6=96=B0=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E8=AE=BE=E7=BD=AE=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=BB=A5=E5=A2=9E=E5=BC=BA=E5=8F=AF=E8=AF=BB=E6=80=A7=E5=92=8C?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E6=80=A7=20-=20=E5=B0=86=20.card=20=E7=B1=BB?= =?UTF-8?q?=E5=90=8D=E6=9B=B4=E6=94=B9=E4=B8=BA=20.sms-setting-card?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E6=9B=B4=E5=A5=BD=E5=9C=B0=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E5=85=B6=E5=8A=9F=E8=83=BD=E3=80=82=20-=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E6=A0=B7=E5=BC=8F=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=EF=BC=8C=E7=AE=80=E5=8C=96=E4=BB=A3=E7=A0=81=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/src/views/sys/message/sms.scss | 6 ------ manager/src/views/sys/setting-manage/smsSettingManage.vue | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/manager/src/views/sys/message/sms.scss b/manager/src/views/sys/message/sms.scss index 5e9b62d1..e5f7aaad 100644 --- a/manager/src/views/sys/message/sms.scss +++ b/manager/src/views/sys/message/sms.scss @@ -1,9 +1,3 @@ -.card { - width: 100%; - height: 100%; - position: fixed; -} - .cardBox { display: inline-block; border-radius: 2px; diff --git a/manager/src/views/sys/setting-manage/smsSettingManage.vue b/manager/src/views/sys/setting-manage/smsSettingManage.vue index b5dfa85b..20e6a335 100644 --- a/manager/src/views/sys/setting-manage/smsSettingManage.vue +++ b/manager/src/views/sys/setting-manage/smsSettingManage.vue @@ -1,6 +1,6 @@