From 4003625fb1c0011b4670f73cbea2a55960e3cf82 Mon Sep 17 00:00:00 2001 From: souplearn Date: Sat, 25 Jul 2026 21:01:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=8A=A5=E5=B7=A5=E8=B6=85=E9=A2=9D=E5=BF=AB=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.wxss | 122 ++++++++++++++++++++++++++++++++- pages/dashboard/dashboard.wxml | 19 +++-- pages/records/records.wxml | 25 +++++-- pages/review/review.js | 20 ++++++ pages/review/review.wxml | 26 +++++-- utils/api.js | 101 ++++++++++++++++++++++++--- 6 files changed, 280 insertions(+), 33 deletions(-) diff --git a/app.wxss b/app.wxss index a55fbbe..6e61cd9 100644 --- a/app.wxss +++ b/app.wxss @@ -709,11 +709,32 @@ scroll-view.page { pointer-events: none; } +.over-limit-watermark { + position: absolute; + right: 28rpx; + top: 18rpx; + z-index: 4; + padding: 8rpx 18rpx; + border: 2rpx solid rgba(197, 34, 31, 0.72); + border-radius: 12rpx; + color: rgba(148, 27, 23, 0.92); + background: rgba(255, 238, 238, 0.94); + font-size: 30rpx; + font-weight: 900; + line-height: 1.2; + transform: rotate(10deg); + pointer-events: none; +} + .lower-watermark, .misc-watermark.lower-watermark, .cleaning-watermark.lower-watermark, .multi-person-watermark.lower-watermark, -.continuous-die-watermark.lower-watermark { +.continuous-die-watermark.lower-watermark, +.timeout-watermark.lower-watermark, +.voided-watermark.lower-watermark, +.modified-watermark.lower-watermark, +.over-limit-watermark.lower-watermark { top: 78rpx; } @@ -721,10 +742,50 @@ scroll-view.page { .misc-watermark.third-watermark, .cleaning-watermark.third-watermark, .multi-person-watermark.third-watermark, -.continuous-die-watermark.third-watermark { +.continuous-die-watermark.third-watermark, +.timeout-watermark.third-watermark, +.voided-watermark.third-watermark, +.modified-watermark.third-watermark, +.over-limit-watermark.third-watermark { top: 138rpx; } +.fourth-watermark, +.misc-watermark.fourth-watermark, +.cleaning-watermark.fourth-watermark, +.multi-person-watermark.fourth-watermark, +.continuous-die-watermark.fourth-watermark, +.timeout-watermark.fourth-watermark, +.voided-watermark.fourth-watermark, +.modified-watermark.fourth-watermark, +.over-limit-watermark.fourth-watermark { + top: 198rpx; +} + +.fifth-watermark, +.misc-watermark.fifth-watermark, +.cleaning-watermark.fifth-watermark, +.multi-person-watermark.fifth-watermark, +.continuous-die-watermark.fifth-watermark, +.timeout-watermark.fifth-watermark, +.voided-watermark.fifth-watermark, +.modified-watermark.fifth-watermark, +.over-limit-watermark.fifth-watermark { + top: 258rpx; +} + +.sixth-watermark, +.misc-watermark.sixth-watermark, +.cleaning-watermark.sixth-watermark, +.multi-person-watermark.sixth-watermark, +.continuous-die-watermark.sixth-watermark, +.timeout-watermark.sixth-watermark, +.voided-watermark.sixth-watermark, +.modified-watermark.sixth-watermark, +.over-limit-watermark.sixth-watermark { + top: 318rpx; +} + .timeout-watermark { position: absolute; right: 24rpx; @@ -832,6 +893,63 @@ scroll-view.page { line-height: 1.35; } +.over-limit-panel { + margin-top: 16rpx; + padding: 16rpx; + border-radius: 14rpx; + display: flex; + flex-direction: column; + gap: 8rpx; + box-sizing: border-box; +} + +.over-limit-panel.danger { + border: 2rpx solid rgba(197, 34, 31, 0.28); + background: rgba(255, 239, 239, 0.78); +} + +.over-limit-panel.warn { + border: 2rpx solid rgba(217, 119, 6, 0.28); + background: rgba(255, 247, 232, 0.78); +} + +.over-limit-title { + color: #9f1c19; + font-size: 24rpx; + font-weight: 900; + line-height: 1.35; +} + +.over-limit-panel.warn .over-limit-title { + color: #9a4a05; +} + +.over-limit-text { + color: #7a271a; + font-size: 23rpx; + font-weight: 700; + line-height: 1.45; + word-break: break-all; +} + +.over-limit-panel.warn .over-limit-text { + color: #7a4a12; +} + +.over-limit-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 6rpx 14rpx; + color: #7a271a; + font-size: 22rpx; + font-weight: 700; + line-height: 1.4; +} + +.over-limit-panel.warn .over-limit-grid { + color: #7a4a12; +} + .filter-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); diff --git a/pages/dashboard/dashboard.wxml b/pages/dashboard/dashboard.wxml index 8c82cbd..68b9bff 100644 --- a/pages/dashboard/dashboard.wxml +++ b/pages/dashboard/dashboard.wxml @@ -37,13 +37,14 @@ 暂无已审核报工 - 作废 - 更改 - 超时-系统自动提交 - 清洗 - 包含杂活 - 多人协作 - 连续模 + 超额 + 作废 + 更改 + 超时-系统自动提交 + 清洗 + 包含杂活 + 多人协作 + 连续模 {{item.employeeName}} · {{item.reportDate}} @@ -118,6 +119,10 @@ 备注 {{item.reviewRemark}} + + {{item.overLimitSummary || (item.hasOverLimit ? '超额' : '无法校验')}} + {{item.overLimitReasons}} + 参考工资 diff --git a/pages/records/records.wxml b/pages/records/records.wxml index 2f0dedb..9b57d7b 100644 --- a/pages/records/records.wxml +++ b/pages/records/records.wxml @@ -63,13 +63,14 @@ data-id="{{item.id}}" bindtap="toggleRecordDetail" > - 作废 - 更改 - {{item.autoSubmitReason || '超时-系统自动提交'}} - 清洗 - 包含杂活 - 多人协作 - 连续模 + 超额 + 作废 + 更改 + {{item.autoSubmitReason || '超时-系统自动提交'}} + 清洗 + 包含杂活 + 多人协作 + 连续模 {{item.employeeName}} · {{item.reportDate}} @@ -149,6 +150,16 @@ {{detail.changeoverCount || 0}} + + {{detail.hasOverLimit ? '超额' : '无法校验'}} + {{detail.overLimitReason || '-'}} + + 本次消耗 {{detail.overLimitCurrentReportQtyText}} + 累计消耗 {{detail.overLimitCurrentCumulativeQtyText}} + 最大可报 {{detail.overLimitMaxReportableQtyText}} + 前序可用 {{detail.overLimitPreviousGoodQtyText}} + + {{pair.label}} diff --git a/pages/review/review.js b/pages/review/review.js index eaac452..d9910ef 100644 --- a/pages/review/review.js +++ b/pages/review/review.js @@ -326,6 +326,26 @@ Page({ changeoverCount: detail.changeoverCount || 0, changeoverCountError: false, remark: detail.remark || '', + overLimitStatus: detail.overLimitStatus || 'not_checked', + overLimitType: detail.overLimitType || '', + overLimitReason: detail.overLimitReason || '', + overLimitCheckedAt: detail.overLimitCheckedAt || '', + overLimitCheckSource: detail.overLimitCheckSource || '', + overLimitBatchNo: detail.overLimitBatchNo || '', + overLimitProductGrossWeightKg: detail.overLimitProductGrossWeightKg ?? '', + overLimitIssuedWeightKg: detail.overLimitIssuedWeightKg ?? '', + overLimitMaxReportableQty: detail.overLimitMaxReportableQty ?? '', + overLimitPreviousGoodQty: detail.overLimitPreviousGoodQty ?? '', + overLimitCurrentCumulativeQty: detail.overLimitCurrentCumulativeQty ?? '', + overLimitCurrentReportQty: detail.overLimitCurrentReportQty ?? '', + overLimitMaxReportableQtyText: detail.overLimitMaxReportableQtyText || '-', + overLimitPreviousGoodQtyText: detail.overLimitPreviousGoodQtyText || '-', + overLimitCurrentCumulativeQtyText: detail.overLimitCurrentCumulativeQtyText || '-', + overLimitCurrentReportQtyText: detail.overLimitCurrentReportQtyText || '-', + hasOverLimitMaxReportableQty: !!detail.hasOverLimitMaxReportableQty, + hasOverLimitPreviousGoodQty: !!detail.hasOverLimitPreviousGoodQty, + hasOverLimit: !!detail.hasOverLimit, + hasOverLimitNotice: !!detail.hasOverLimitNotice, deviceError: false, deviceNo: detail.deviceNo, deviceIndex, diff --git a/pages/review/review.wxml b/pages/review/review.wxml index 4cb012b..6cceb2c 100644 --- a/pages/review/review.wxml +++ b/pages/review/review.wxml @@ -38,13 +38,14 @@ data-id="{{item.id}}" bindtap="toggleReportDetail" > - 作废 - 更改 - {{item.autoSubmitReason || '超时-系统自动提交'}} - 清洗 - 包含杂活 - 多人协作 - 连续模 + 超额 + 作废 + 更改 + {{item.autoSubmitReason || '超时-系统自动提交'}} + 清洗 + 包含杂活 + 多人协作 + 连续模 {{item.employeeName}} · {{item.reportDate}} @@ -158,6 +159,17 @@ + + {{detail.hasOverLimit ? '超额' : '无法校验'}} + {{detail.overLimitReason || '-'}} + + 本次消耗 {{detail.overLimitCurrentReportQtyText}} + 累计消耗 {{detail.overLimitCurrentCumulativeQtyText}} + 最大可报 {{detail.overLimitMaxReportableQtyText}} + 前序可用 {{detail.overLimitPreviousGoodQtyText}} + + + 杂活事项备注