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}}
+
+
+