From 2922834e9d7be2adda2b3c3f7fb1a197fe5987a2 Mon Sep 17 00:00:00 2001 From: zhangyan Date: Tue, 25 Aug 2026 11:38:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=E5=87=80=E8=8F=9C=E6=9C=AF?= =?UTF-8?q?=E8=AF=AD=E7=BB=9F=E4=B8=80=EF=BC=88=E5=87=80=E8=8F=9C=E7=BB=84?= =?UTF-8?q?=E9=85=8D=E2=86=92=E5=87=80=E9=85=8D=E3=80=81=E7=BB=84=E9=85=8D?= =?UTF-8?q?=E7=A7=A4=E2=86=92=E5=87=80=E9=85=8D=E7=A7=A4=E3=80=81=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E7=A7=A4/=E9=85=8D=E6=AF=94=E7=A7=A4=E2=86=92?= =?UTF-8?q?=E5=8E=A8=E9=85=8D=E7=A7=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 净菜组配/组配任务/组配中/待组配 → 净配/净配任务/净配中/待净配 - 智能组配秤 → 智能净配秤;配比秤 → 净配秤 - 净菜加工秤/净菜配比秤 → 厨配秤 - 同步更新项目背景.md 设备目录、各模块 CHANGELOG - 清理 IDE 状态文件 .idea/claudeCodeTabState.xml --- .idea/claudeCodeTabState.xml | 21 ----- .../checkout-device/09-receipt-preview.html | 3 +- .../clean-veg-packaging-labeler/00-login.html | 2 +- .../01-orders.html | 2 +- .../02-labeling.html | 2 +- .../doc/CHANGELOG.md | 4 +- .../label-preview.html | 92 +++++++++++++------ .../clean-veg-ratio-scale/00-welcome.html | 4 +- .../clean-veg-ratio-scale/01-accept.html | 20 ++-- .../clean-veg-ratio-scale/01-menu.html | 12 +-- .../clean-veg-ratio-scale/02-history.html | 26 +++--- .../clean-veg-ratio-scale/03-settings.html | 10 +- .../clean-veg-ratio-scale/04-sampling.html | 2 +- .../05-sampling-history.html | 2 +- .../clean-veg-ratio-scale/doc/CHANGELOG.md | 8 +- .../clean-veg-ratio-scale/index.html | 12 +-- other-module/canteen-device/index.html | 8 +- .../canteen-device/ratio-scale/00-login.html | 4 +- .../ratio-scale/00-welcome.html | 12 +-- .../ratio-scale/01-packing-tasks.html | 20 ++-- .../ratio-scale/02-weighing-packing.html | 82 ++++++++--------- .../ratio-scale/03-verify-history.html | 24 ++--- .../ratio-scale/04-seasoning-settings.html | 2 +- .../ratio-scale/doc/CHANGELOG.md | 71 ++++++++------ .../canteen-device/ratio-scale/doc/PRD.md | 6 +- .../canteen-device/ratio-scale/index.html | 14 +-- .../mini-program/nutrition/trace-detail.html | 6 +- web-admin/nutrition/din-dish-all.html | 2 +- web-admin/nutrition/din-terminal.html | 2 +- web-admin/nutrition/doc/CHANGELOG.md | 10 +- .../nutrition/doc/spec-utils-reference.md | 2 +- web-admin/nutrition/doc/原型调整记录.md | 6 +- .../doc/缓存中转服务器产品需求说明书.md | 10 +- .../缓存中转服务器功能架构与数据流转方案.md | 50 +++++----- web-admin/nutrition/doc/营养管理功能说明.md | 24 ++--- .../doc/规格体系统一化改造-研发同步说明.md | 14 +-- .../doc/规格体系统一化改造任务清单.md | 28 +++--- .../doc/规格管理体系分析与设计方案.md | 32 +++---- web-admin/nutrition/edge-server-detail.html | 2 +- web-admin/nutrition/prod-clean-order.html | 2 +- web-admin/nutrition/prod-proc-cabinet.html | 2 +- web-admin/nutrition/prod-proc-combo.html | 54 +++++------ web-admin/nutrition/prod-proc-cook.html | 6 +- web-admin/nutrition/prod-proc-serve.html | 2 +- web-admin/nutrition/prod-proc-stats.html | 2 +- web-admin/nutrition/prod-proc-surplus.html | 2 +- web-admin/nutrition/prod-qc-daily.html | 2 +- .../nutrition/prod-recipe-plan-create.html | 2 +- .../nutrition/prod-recipe-plan-detail.html | 2 +- web-admin/nutrition/prod-recipe-plan.html | 2 +- web-admin/nutrition/sup-pkg-label.html | 4 +- web-admin/nutrition/trace-timeline-dish.html | 16 ++-- .../nutrition/trace-timeline-ingredient.html | 10 +- 项目背景.md | 8 +- 54 files changed, 399 insertions(+), 370 deletions(-) delete mode 100644 .idea/claudeCodeTabState.xml diff --git a/.idea/claudeCodeTabState.xml b/.idea/claudeCodeTabState.xml deleted file mode 100644 index 3c16ced..0000000 --- a/.idea/claudeCodeTabState.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/other-module/canteen-device/checkout-device/09-receipt-preview.html b/other-module/canteen-device/checkout-device/09-receipt-preview.html index b6f53cb..baa5b3f 100644 --- a/other-module/canteen-device/checkout-device/09-receipt-preview.html +++ b/other-module/canteen-device/checkout-device/09-receipt-preview.html @@ -479,7 +479,7 @@ ], total: 35.50, discount: 3.00, payable: 32.50, paid: 32.50, payType: '会员支付', payMethod: '人脸支付', balance: 1280.50, - nutrition: { calories: 685, protein: 28, fat: 18, carb: 95, score: 82, nrv: { calories: 34, protein: 47, fat: 30, carb: 32 } }, + nutrition: { calories: 685, protein: 28, fat: 18, carb: 95, sodium: 800, score: 82, nrv: { calories: 34, protein: 47, fat: 30, carb: 32, sodium: 40 } }, printed: true }; @@ -585,6 +585,7 @@ + '蛋白质' + order.nutrition.protein + 'g' + order.nutrition.nrv.protein + '%' + '脂肪' + order.nutrition.fat + 'g' + order.nutrition.nrv.fat + '%' + '碳水' + order.nutrition.carb + 'g' + order.nutrition.nrv.carb + '%' + + '钠' + order.nutrition.sodium + 'mg' + order.nutrition.nrv.sodium + '%' + '' + '' + '
' diff --git a/other-module/canteen-device/clean-veg-packaging-labeler/00-login.html b/other-module/canteen-device/clean-veg-packaging-labeler/00-login.html index 1f87e06..325b0ce 100644 --- a/other-module/canteen-device/clean-veg-packaging-labeler/00-login.html +++ b/other-module/canteen-device/clean-veg-packaging-labeler/00-login.html @@ -154,7 +154,7 @@
- +
diff --git a/other-module/canteen-device/clean-veg-packaging-labeler/01-orders.html b/other-module/canteen-device/clean-veg-packaging-labeler/01-orders.html index e16c633..5339d21 100644 --- a/other-module/canteen-device/clean-veg-packaging-labeler/01-orders.html +++ b/other-module/canteen-device/clean-veg-packaging-labeler/01-orders.html @@ -319,7 +319,7 @@ /* 当前 Tab */ var currentFilter = 'pending'; - /* 模拟数据:待打印订单(来自配比秤已完成配比的订单) + /* 模拟数据:待打印订单(来自净配秤已完成净配的订单) * 字段说明: * cutSpec: 结构化对象 {length,width,height,shape,technique}(任务 4.4) * packSpec: 结构化对象 {baseGram, unit, portion?, packMethod?}(任务 4.4) diff --git a/other-module/canteen-device/clean-veg-packaging-labeler/02-labeling.html b/other-module/canteen-device/clean-veg-packaging-labeler/02-labeling.html index 449ba69..e52c25d 100644 --- a/other-module/canteen-device/clean-veg-packaging-labeler/02-labeling.html +++ b/other-module/canteen-device/clean-veg-packaging-labeler/02-labeling.html @@ -420,7 +420,7 @@ document.getElementById('topUser').textContent = userName; document.getElementById('userAvatar').textContent = userName.charAt(0); - /* ---- 模拟订单数据(来自配比秤已完成配比的订单) ---- + /* ---- 模拟订单数据(来自净配秤已完成净配的订单) ---- * 字段说明: * cutSpec: 结构化对象 {length,width,height,shape,technique}(任务 4.4) * packSpec: 结构化对象 {baseGram, unit, portion?, packMethod?}(任务 4.4) diff --git a/other-module/canteen-device/clean-veg-packaging-labeler/doc/CHANGELOG.md b/other-module/canteen-device/clean-veg-packaging-labeler/doc/CHANGELOG.md index 029b5ea..936a20b 100644 --- a/other-module/canteen-device/clean-veg-packaging-labeler/doc/CHANGELOG.md +++ b/other-module/canteen-device/clean-veg-packaging-labeler/doc/CHANGELOG.md @@ -66,7 +66,7 @@ - `index.html` — 模块导航页(从占位页改为实际功能菜单入口) ### 功能说明 -- 接收配比秤已完成配比的订单(含净菜包和餐品净菜包) +- 接收净配秤已完成净配的订单(含净菜包和餐品净菜包) - 净菜包:通过摄像头识别+候选选择+秤重确认弹窗完成秤重 - 餐品净菜包:每份用量显示"--",后方有"打印"按钮,打印完状态显示"已打印",按钮可重复点击 - 贴标清单:餐品净菜包按餐品维度展示(不按食材展开),份数/需/已称按实际显示 @@ -97,7 +97,7 @@ - `02-labeling.html` — 净菜包列表项 meta 区新增"净菜类型"字段(尺寸·形状·刀工,如 `20mm*1mm*1mm · 细丝 · 平刀`),餐品净菜包显示"—" ### 新增页面 -- `03-history.html` — 贴标历史页(4:3横屏,参考组配秤组配历史的显示逻辑:日视图/本周切换、日期条、搜索框、统计行;参考贴标秤任务列表的表单结构:订单号+类型+完成时间+操作人+表格行) +- `03-history.html` — 贴标历史页(4:3横屏,参考净配秤净配历史的显示逻辑:日视图/本周切换、日期条、搜索框、统计行;参考贴标秤任务列表的表单结构:订单号+类型+完成时间+操作人+表格行) ### 导航同步 - 更新根 `index.html` SITE_MAP 新增贴标历史页面条目,贴标订单更名为贴标任务 diff --git a/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html b/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html index ed733ef..cf2d383 100644 --- a/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html +++ b/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html @@ -54,52 +54,58 @@ .label-panel { display: none; flex-direction: column; gap: 16px; } .label-panel.active { display: flex; } - /* 单个标签 */ + /* 单个标签 — 紧凑型 */ .label-sticker { - width: 100%; background: #fff; color: #1a1a2e; border-radius: 8px; - overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,0.3); - display: flex; flex-direction: row; - /* 模拟 80mm × 50mm 热敏标签比例 */ - min-height: 140px; + width: 400px; background: #fff; color: #1a1a2e; border-radius: 6px; + overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.25); + display: flex; flex-direction: row; align-items: stretch; + min-height: 90px; } /* 标签主信息区 */ - .label-sticker__body { flex: 1; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; } + .label-sticker__body { flex: 1; padding: 6px 10px; display: flex; flex-direction: column; gap: 2px; justify-content: center; } /* 标签标题栏 */ .label-sticker__title-bar { - font-size: 13px; font-weight: 700; color: #fff; padding: 3px 10px; border-radius: 4px; - display: inline-block; align-self: flex-start; letter-spacing: 2px; + font-size: 12px; font-weight: 700; color: #fff; padding: 2px 8px; border-radius: 3px; + display: inline-block; align-self: flex-start; letter-spacing: 1px; } .label-sticker__title-bar--blue { background: #4a90d9; } .label-sticker__title-bar--green { background: #52c41a; } .label-sticker__title-bar--orange { background: #fa8c16; } /* 信息行 */ - .label-info { display: flex; flex-wrap: wrap; gap: 2px 16px; font-size: 11px; } - .label-info__item { display: flex; align-items: center; gap: 3px; white-space: nowrap; } + .label-info { display: flex; flex-wrap: wrap; gap: 0px 10px; font-size: 10px; line-height: 1.4; } + .label-info__item { display: flex; align-items: center; gap: 2px; white-space: nowrap; } .label-info__label { color: #888; } .label-info__value { color: #1a1a2e; font-weight: 600; } /* 订单标签 — 包装项明细表 */ - .label-detail-table { width: 100%; border-collapse: collapse; margin-top: 2px; font-size: 10px; } + .label-detail-table { width: 100%; border-collapse: collapse; margin-top: 1px; font-size: 9px; } .label-detail-table th { - background: #f0f4f8; color: #666; font-weight: 500; padding: 3px 6px; + background: #f0f4f8; color: #666; font-weight: 500; padding: 2px 4px; text-align: left; border-bottom: 1px solid #e0e4e8; } .label-detail-table td { - padding: 3px 6px; border-bottom: 1px solid #f0f0f0; color: #333; + padding: 2px 4px; border-bottom: 1px solid #f0f0f0; color: #333; } - .label-detail-table .type-tag { display: inline-block; padding: 1px 5px; border-radius: 3px; font-size: 9px; font-weight: 500; } + .label-detail-table .type-tag { display: inline-block; padding: 1px 4px; border-radius: 2px; font-size: 8px; font-weight: 500; } .type-tag--veg { background: #e6f7ff; color: #4a90d9; } .type-tag--meal { background: #fff7e6; color: #fa8c16; } /* 总重量行 */ - .label-total { font-size: 11px; font-weight: 700; color: #1a1a2e; margin-top: 2px; } + .label-total { font-size: 10px; font-weight: 700; color: #1a1a2e; margin-top: 1px; } /* 保质期三字段 */ - .label-shelf { display: flex; gap: 12px; margin-top: 2px; } - .label-shelf__item { display: flex; flex-direction: column; align-items: center; padding: 2px 8px; background: #f5f5f5; border-radius: 4px; } - .label-shelf__label { font-size: 9px; color: #999; } - .label-shelf__value { font-size: 11px; font-weight: 700; color: #333; } + .label-shelf { display: flex; gap: 6px; margin-top: 1px; } + .label-shelf__item { display: flex; flex-direction: column; align-items: center; padding: 1px 6px; background: #f5f5f5; border-radius: 3px; } + .label-shelf__label { font-size: 8px; color: #999; } + .label-shelf__value { font-size: 10px; font-weight: 700; color: #333; } + + /* 二维码区 */ + .label-sticker__qrcode { + width: 56px; height: 56px; flex-shrink: 0; + align-self: center; margin-right: 6px; + } + .label-sticker__qrcode svg { display: block; width: 100%; height: 100%; } /* 打印按钮 */ .action-bar { display: flex; gap: 10px; justify-content: center; flex-shrink: 0; padding: 0 20px 16px; } @@ -144,7 +150,7 @@ 订单标签