mlchen 2 дней назад
Родитель
Сommit
6f9b46a584
1 измененных файлов с 51 добавлено и 0 удалено
  1. 51 0
      src/views/warehouseManagement/stockLedger/components/item-list.vue

+ 51 - 0
src/views/warehouseManagement/stockLedger/components/item-list.vue

@@ -187,6 +187,26 @@
         <span v-else>{{ row.lockQuantity || 0 }}</span>
         <span v-else>{{ row.lockQuantity || 0 }}</span>
       </template>
       </template>
 
 
+      <template v-slot:productStockCountBase="{ row }">
+        <el-tooltip
+          v-if="row.productStockCountBase != null"
+          :content="productStockTooltip(row)"
+          placement="top"
+        >
+          <span>
+            {{ row.productStockCountBase }}
+            <el-tag
+              v-if="isProductStockAbnormal(row)"
+              type="danger"
+              size="mini"
+            >
+              总账异常,需对账
+            </el-tag>
+          </span>
+        </el-tooltip>
+        <span v-else>-</span>
+      </template>
+
       <template v-slot:areaName="{ row }">
       <template v-slot:areaName="{ row }">
         <el-link type="primary" @click="openUploadDetail(row, 'list')">
         <el-link type="primary" @click="openUploadDetail(row, 'list')">
           查看
           查看
@@ -514,6 +534,15 @@
               return Math.round(result * 100) / 100;
               return Math.round(result * 100) / 100;
             }
             }
           },
           },
+          this.selectedDime == 1 || this.selectedDime == 2
+            ? {
+                prop: 'productStockCountBase',
+                label: '物品总账库存',
+                slot: 'productStockCountBase',
+                align: 'center',
+                minWidth: 180
+              }
+            : '',
           {
           {
             prop: 'measureQuantity',
             prop: 'measureQuantity',
             label: '计量数量',
             label: '计量数量',
@@ -776,6 +805,28 @@
       }
       }
     },
     },
     methods: {
     methods: {
+      productStockTooltip(row) {
+        return `物品总账库存:${row.productStockCountBase},总账可用余额:${
+          row.productAvailableCountBase ?? '-'
+        }。总账为物品全部库存,不随当前仓库或批次筛选;出库同时校验总账和批次。`;
+      },
+      // 批次余量不能证明总账正常;这里只提示可以明确判断的数量异常。
+      isProductStockAbnormal(row) {
+        if (row.productStockCountBase == null) return false;
+        const stock = Number(row.productStockCountBase);
+        const available = row.productAvailableCountBase;
+        if (stock < 0 || (available != null && Number(available) < 0)) {
+          return true;
+        }
+        if (Number(row.preWarehousing) === 1) return false;
+        const rowStock = row.stockCountBase ?? row.measureQuantity;
+        return (
+          (rowStock != null && stock < Number(rowStock)) ||
+          (available != null &&
+            row.availableCountBase != null &&
+            Number(available) < Number(row.availableCountBase))
+        );
+      },
       handleUnlock() {
       handleUnlock() {
         console.log('this.checkRadioData', this.checkRadioData);
         console.log('this.checkRadioData', this.checkRadioData);
         if (this.checkRadioData?.length != 1) {
         if (this.checkRadioData?.length != 1) {