Преглед изворни кода

提交修改仓库单位转换问题

PC-202503171525\Administrator пре 1 година
родитељ
комит
12e24f784b
1 измењених фајлова са 39 додато и 18 уклоњено
  1. 39 18
      src/views/warehouseManagement/stockManagement/add.vue

+ 39 - 18
src/views/warehouseManagement/stockManagement/add.vue

@@ -467,7 +467,7 @@
           </el-table-column> -->
         </el-table>
       </div>
-      <div v-if="showPackingList.length > 0" class="storage_btn">
+      <div  class="storage_btn">
         <el-button type="primary" :loading="saveLoading" @click="storage">入库</el-button>
       </div>
     </el-card>
@@ -770,7 +770,7 @@ export default {
     // 计算最小单元数量
     async computeNum(row, index, isClear) {
       console.log('row, index', row, index);
-      
+
       // 清空仓库(包装数量输入)
       if (isClear) {
         if (row.packingQuantity < 0) {
@@ -2219,7 +2219,6 @@ export default {
     // 产品保存操作
     listSave(row, index) {
       console.log('row22222222', row);
-
       this.validateFormIndividually(index).then(async () => {
         // 判断单位和计量单位是否为不拆物料层规格
         let packingBoolen = !!this.getDict('不拆物料层规格', row.packingUnit)
@@ -2397,6 +2396,12 @@ export default {
           num = Math.ceil(
             row.measureQuantity / row.packingSpecificationOption[1]?.packageCell
           );
+          filterArr = row.packingSpecificationOption.filter((item) => {
+            return (
+              item.packageUnit == row.packingUnit &&
+              item.packageUnit != item.conversionUnit
+            );
+          });
         }
       }
       console.log('num-----------', num);
@@ -2542,7 +2547,7 @@ export default {
                   );
                 }
               } else {
-                measureQuantity = row.packingSpecificationOption[1]?.packageCell;
+                measureQuantity = row.packingSpecificationOption[2]?.packageCell;
 
                 console.log('3 拆--------', measureQuantity)
 
@@ -2556,7 +2561,6 @@ export default {
             console.log(measureQuantity, 'measureQuantity')
           }
           console.log(filterArr[0], 'filterArr[0]')
-
           let item = {
 
             index: row.index + '-' + index, // 包装索引
@@ -2580,20 +2584,10 @@ export default {
             //   : packingBoolen
             //     ? row.packingUnit === '立方' ? row.packingUnit : filterArr[0]?.conversionUnit
             //     : row.packingUnit,
+            // packingUnit: row.isUnpack ? packingBoolen ? filterArr[0].conversionUnit : measureBoolen  ? row.packingSpecificationOption[2] ?
+            //   row.packingSpecificationOption[2].conversionUnit : row.packingSpecificationOption[1].conversionUnit: row.measureUnit: packingBoolen ? filterArr[0].conversionUnit : row.packingUnit,
 
-            packingUnit: row.isUnpack
-              ? packingBoolen
-                ? filterArr[0].conversionUnit
-                : measureBoolen
-                  ? row.packingSpecificationOption[1]
-                    ? row.packingSpecificationOption[1].conversionUnit
-                    : row.packingSpecificationOption[0].conversionUnit
-                  : row.measureUnit
-              : packingBoolen
-                ? filterArr[0].conversionUnit
-                : row.packingUnit,
-
-            //!row.isUnpack &&   row.packingUnit 
+            //!row.isUnpack &&   row.packingUnit
 
 
             measureQuantity: row.isUnpack
@@ -2626,6 +2620,33 @@ export default {
             result: 1, // 结果(1合格 2不合格)
             status: 2 // 状态(0=未质检 1待检 2已检)
           };
+          /**
+           * packingUnit: row.isUnpack ? packingBoolen ? filterArr[0].conversionUnit : measureBoolen  ? row.packingSpecificationOption[2] ? row.packingSpecificationOption[2].conversionUnit
+           *                     : row.packingSpecificationOption[1].conversionUnit: row.measureUnit: packingBoolen ? filterArr[0].conversionUnit : row.packingUnit,
+           */
+          if (row.isUnpack) {
+            // 第二层条件: packingBoolen
+            if (packingBoolen) {
+              // 空值保护: 确保 filterArr[0] 存在
+              item.packingUnit = filterArr?.[0]?.conversionUnit;
+            } else {
+              // 第三层条件: measureBoolen
+              if (measureBoolen) {
+                // 处理 packingSpecificationOption 的索引
+                const option = row.packingSpecificationOption?.[1] || row.packingSpecificationOption?.[0];
+                item.packingUnit = option?.conversionUnit;
+              } else {
+                item.packingUnit = row.packingUnit;
+              }
+            }
+          } else {
+            // 第二层条件: packingBoolen (isUnpack 为 false 时的分支)
+            if (packingBoolen) {
+              item.packingUnit = filterArr?.[0]?.conversionUnit;
+            } else {
+              item.packingUnit = row.packingUnit;
+            }
+          }
           let outBoolen = !!this.getDict('不拆物料层规格', item.measureUnit)
             .dictValue;
           if (outBoolen) {