diff --git a/src/views/modules/ecss/codelnotifyConfirm.vue b/src/views/modules/ecss/codelnotifyConfirm.vue
index 53aaac0..b81fed8 100644
--- a/src/views/modules/ecss/codelnotifyConfirm.vue
+++ b/src/views/modules/ecss/codelnotifyConfirm.vue
@@ -348,21 +348,26 @@
-
+
-
+
-
+
+
+
+
+
+
@@ -391,7 +396,7 @@
-
+
@@ -720,6 +725,7 @@
grossWeight:'',
netWeight:'',
palletRemark:'',
+ rolls:'',
},
boxModelFlag:false,
@@ -2533,12 +2539,15 @@
});
},
/**
- * 根据物料装箱数量自动计算总箱数、毛重和净重
+ * 根据物料装箱数量自动计算总箱数、毛重、净重和总Rolls
*/
calculateTotalBoxQtyAndWeights() {
// 获取有装箱数量的物料列表
const selectedRows = this.dataList8.filter(item => item.useQty && item.useQty > 0);
+ // 先计算总Rolls(不管是否有缓存属性,都可以汇总)
+ this.calculateTotalRolls();
+
if (selectedRows.length === 0) {
// 没有装箱数量时,清空
this.palletModelData.boxQty = null;
@@ -2581,6 +2590,30 @@
this.palletModelData.grossWeight = parseFloat(totalGrossWeight.toFixed(2));
this.palletModelData.netWeight = parseFloat(totalNetWeight.toFixed(2));
},
+
+ /**
+ * 汇总明细的Rolls总和
+ */
+ calculateTotalRolls() {
+ let totalRolls = 0;
+ this.dataList8.forEach(row => {
+ const rollsValue = parseFloat(row.rolls);
+ if (!isNaN(rollsValue) && rollsValue > 0) {
+ totalRolls += rollsValue;
+ }
+ });
+ // 自动填入总Rolls(取整)
+ this.$set(this.palletModelData, 'rolls', totalRolls > 0 ? Math.round(totalRolls) : null);
+ },
+
+ /**
+ * 延迟计算总Rolls(等待v-model更新完成)
+ */
+ delayCalculateTotalRolls() {
+ this.$nextTick(() => {
+ this.calculateTotalRolls();
+ });
+ },
/**
* 根据箱数自动计算毛重和净重
* 计算公式(来自后端代码2991-2992行):
diff --git a/src/views/modules/ecss/components/PackingDetailTab.vue b/src/views/modules/ecss/components/PackingDetailTab.vue
index b11d057..9787b35 100644
--- a/src/views/modules/ecss/components/PackingDetailTab.vue
+++ b/src/views/modules/ecss/components/PackingDetailTab.vue
@@ -117,21 +117,26 @@
:close-on-click-modal="false">
-
+
-
+
-
+
+
+
+
+
+