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

优化出库管理物品信息对话框,添加所属工厂和仓库筛选功能

yusheng пре 8 месеци
родитељ
комит
81c3ad29ed
1 измењених фајлова са 596 додато и 354 уклоњено
  1. 596 354
      src/views/bpm/outgoingManagement/components/AssetsDialog.vue

+ 596 - 354
src/views/bpm/outgoingManagement/components/AssetsDialog.vue

@@ -1,11 +1,21 @@
 <template>
-  <el-dialog :visible.sync="visible" title="物品信息" width="80vw" :append-to-body="true">
+  <el-dialog
+    :visible.sync="visible"
+    title="物品信息"
+    width="80vw"
+    :append-to-body="true"
+  >
     <el-form :model="searchForm" label-width="100px">
       <el-row>
         <el-col :span="6">
           <el-form-item label="列表维度:" prop="dimension">
             <template>
-              <el-select style="width: 100%" @change="changeDimensionHandler" v-model="dimension" placeholder="请选择">
+              <el-select
+                style="width: 100%"
+                @change="changeDimensionHandler"
+                v-model="dimension"
+                placeholder="请选择"
+              >
                 <!-- <el-option label="物料维度" value="4"> </el-option> -->
                 <el-option label="包装维度" value="3"> </el-option>
                 <el-option label="批次维度" value="2"> </el-option>
@@ -16,42 +26,102 @@
         </el-col>
         <el-col :span="6">
           <el-form-item label="关键字:">
-            <el-input type="text" placeholder="请输入关键字" v-model="searchForm.keyWord"></el-input>
+            <el-input
+              type="text"
+              placeholder="请输入关键字"
+              v-model="searchForm.keyWord"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="物品编码:">
-            <el-input type="text" placeholder="搜索物品编码" v-model="searchForm.categoryCode"></el-input>
+            <el-input
+              type="text"
+              placeholder="搜索物品编码"
+              v-model="searchForm.categoryCode"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="物品名称:">
-            <el-input type="text" placeholder="搜索物品名称" v-model="searchForm.categoryName"></el-input>
+            <el-input
+              type="text"
+              placeholder="搜索物品名称"
+              v-model="searchForm.categoryName"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="批次号:">
-            <el-input type="text" placeholder="搜索批次号" v-model="searchForm.batchNo"></el-input>
+            <el-input
+              type="text"
+              placeholder="搜索批次号"
+              v-model="searchForm.batchNo"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="刻码">
-            <el-input type="text" placeholder="搜索物品刻码" v-model="searchForm.engrave"></el-input>
+            <el-input
+              type="text"
+              placeholder="搜索物品刻码"
+              v-model="searchForm.engrave"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="发货码">
-            <el-input type="text" placeholder="搜索发货码" v-model="searchForm.barcodes"></el-input>
+            <el-input
+              type="text"
+              placeholder="搜索发货码"
+              v-model="searchForm.barcodes"
+            ></el-input>
           </el-form-item>
         </el-col>
-        <!-- <el-col :span="6">
-          <el-form-item label="批次号">
-            <el-input type="text" placeholder="搜索批号" v-model="searchForm.batchNo"></el-input>
+        <el-col :span="6">
+          <el-form-item label="所属工厂" prop="factoryId">
+            <el-select
+              filterable
+              placeholder="请选择"
+              v-model="searchForm.factoryId"
+              clearable
+              class="w100"
+              @change="getWarehouseListHandle"
+            >
+              <el-option
+                v-for="item in factoryList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              ></el-option>
+            </el-select>
           </el-form-item>
-        </el-col> -->
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="仓库">
+            <el-select
+              clearable
+              style="width: 100%"
+              v-model="searchForm.warehouseId"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in warehouseList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
         <el-col :span="6">
           <el-form-item label="牌号">
-            <el-input type="text" placeholder="搜索牌号" v-model="searchForm.brandNum"></el-input>
+            <el-input
+              type="text"
+              placeholder="搜索牌号"
+              v-model="searchForm.brandNum"
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col style="text-align: right">
@@ -62,79 +132,224 @@
     </el-form>
     <el-container class="assets-dialog">
       <el-aside width="200px" class="wrapper-assets">
-        <AssetTree ref="treeList" :treeIds="treeIds" @handleNodeClick="handleNodeClick" />
+        <AssetTree
+          ref="treeList"
+          :treeIds="treeIds"
+          @handleNodeClick="handleNodeClick"
+        />
       </el-aside>
       <el-main>
-        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" height="50vh" border row-key="id"
-          style="width: 100%" :header-cell-style="{ background: '#F0F3F3', border: 'none' }"
-          @selection-change="handleSelectionChange" :key="productLists.length">
-
-          <el-table-column v-if="dimension == 1" type="selection" :reserve-selection="true" width="55" align="center"
-            fixed="left" :selectable="(row) => {
-              return !this.productLists.some(
-                (it) => it.categoryId == row.categoryId
-              );
-            }">
+        <el-table
+          ref="multipleTable"
+          :data="tableData"
+          tooltip-effect="dark"
+          height="50vh"
+          border
+          row-key="id"
+          style="width: 100%"
+          :header-cell-style="{ background: '#F0F3F3', border: 'none' }"
+          @selection-change="handleSelectionChange"
+          :key="productLists.length"
+        >
+          <el-table-column
+            v-if="dimension == 1"
+            type="selection"
+            :reserve-selection="true"
+            width="55"
+            align="center"
+            fixed="left"
+            :selectable="
+              (row) => {
+                return !this.productLists.some(
+                  (it) => it.categoryId == row.categoryId
+                );
+              }
+            "
+          >
           </el-table-column>
-          <el-table-column v-else-if="dimension != 1" type="selection" :reserve-selection="true" width="55"
-            align="center" fixed="left" :selectable="(row) => {
-              return !this.productLists.some(
-                (it) => it.id == row.id
-              );
-            }">
+          <el-table-column
+            v-else-if="dimension != 1"
+            type="selection"
+            :reserve-selection="true"
+            width="55"
+            align="center"
+            fixed="left"
+            :selectable="
+              (row) => {
+                return !this.productLists.some((it) => it.id == row.id);
+              }
+            "
+          >
           </el-table-column>
           <el-table-column label="序号" type="index" width="50" fixed="left">
           </el-table-column>
-          <el-table-column prop="categoryCode" label="物品编码" min-width="120" fixed="left"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column prop="categoryName" width="200" label="物品名称" fixed="left"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column v-if="dimension != 4" label="出库数量" type="index" width="100">
+          <el-table-column
+            prop="categoryCode"
+            label="物品编码"
+            min-width="120"
+            fixed="left"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            prop="categoryName"
+            width="200"
+            label="物品名称"
+            fixed="left"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension != 4"
+            label="出库数量"
+            type="index"
+            width="100"
+          >
             <template slot-scope="{ row }">
-              <el-input type="text" placeholder="请输入" v-model="row.outboundNum" @input="handleInput(row, $event)"
-                :class="{ password: errorVerify(row) }" :disabled="dimension == '3'"></el-input>
+              <el-input
+                type="text"
+                placeholder="请输入"
+                v-model="row.outboundNum"
+                @input="handleInput(row, $event)"
+                :class="{ password: errorVerify(row) }"
+                :disabled="dimension == '3'"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column prop="brandNum" label="牌号" :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column prop="categoryModel" label="型号" :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column prop="specification" label="规格" :show-overflow-tooltip="true"></el-table-column>
+          <el-table-column
+            prop="brandNum"
+            label="牌号"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            prop="categoryModel"
+            label="型号"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            prop="specification"
+            label="规格"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
           <template v-if="dimension == 1">
-            <el-table-column v-for="(item, index) in newColumns" :label="item.label" :align="item.align"
-              :prop="item.prop" :show-overflow-tooltip="item.showOverflowTooltip"></el-table-column>
+            <el-table-column
+              v-for="(item, index) in newColumns"
+              :label="item.label"
+              :align="item.align"
+              :prop="item.prop"
+              :show-overflow-tooltip="item.showOverflowTooltip"
+            ></el-table-column>
           </template>
-          <el-table-column v-else prop="batchNo" key="batchNo" label="批次号" min-width="80"></el-table-column>
+          <el-table-column
+            v-else
+            prop="batchNo"
+            key="batchNo"
+            label="批次号"
+            min-width="80"
+          ></el-table-column>
           <el-table-column prop="level" label="级别"></el-table-column>
-          <el-table-column prop="measureQuantity" label="计量数量" width="120"></el-table-column>
-          <el-table-column prop="measureUnit" label="计量单位" width="90"></el-table-column>
-          <el-table-column prop="weight" label="重量" min-width="120"></el-table-column>
-          <el-table-column prop="weightUnit" label="重量单位" min-width="120"></el-table-column>
-          <el-table-column v-if="dimension == 3" prop="packageNo" label="包装编码" min-width="120"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column v-if="dimension == 3" prop="packingQuantity" label="包装数量" min-width="120"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column v-if="dimension == 3" prop="packingUnit" label="单位" min-width="120"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column v-if="dimension == 3 || dimension == 4" label="发货条码" prop="barcodes" width="80"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column v-if="dimension == 4" prop="no" label="物料编码" min-width="120"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column v-if="dimension == 3 || dimension == 4" prop="materielDesignation" label="物料代号"
-            min-width="100"></el-table-column>
-          <el-table-column v-if="dimension == 3 || dimension == 4" prop="clientCode" label="客户代号"
-            min-width="100"></el-table-column>
-          <el-table-column v-if="dimension == 3 || dimension == 4" prop="engrave" label="刻码"
-            min-width="120"></el-table-column>
-          <el-table-column v-if="dimension == 3 || dimension == 4" prop="warehouseName" label="仓库" min-width="200"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column prop="supplierName" label="供应商" min-width="200"
-            :show-overflow-tooltip="true"></el-table-column>
-          <el-table-column prop="supplierCode" label="供应商代号" min-width="200"
-            :show-overflow-tooltip="true"></el-table-column>
+          <el-table-column
+            prop="measureQuantity"
+            label="计量数量"
+            width="120"
+          ></el-table-column>
+          <el-table-column
+            prop="measureUnit"
+            label="计量单位"
+            width="90"
+          ></el-table-column>
+          <el-table-column
+            prop="weight"
+            label="重量"
+            min-width="120"
+          ></el-table-column>
+          <el-table-column
+            prop="weightUnit"
+            label="重量单位"
+            min-width="120"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3"
+            prop="packageNo"
+            label="包装编码"
+            min-width="120"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3"
+            prop="packingQuantity"
+            label="包装数量"
+            min-width="120"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3"
+            prop="packingUnit"
+            label="单位"
+            min-width="120"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3 || dimension == 4"
+            label="发货条码"
+            prop="barcodes"
+            width="80"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 4"
+            prop="no"
+            label="物料编码"
+            min-width="120"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3 || dimension == 4"
+            prop="materielDesignation"
+            label="物料代号"
+            min-width="100"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3 || dimension == 4"
+            prop="clientCode"
+            label="客户代号"
+            min-width="100"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3 || dimension == 4"
+            prop="engrave"
+            label="刻码"
+            min-width="120"
+          ></el-table-column>
+          <el-table-column
+            v-if="dimension == 3 || dimension == 4"
+            prop="warehouseName"
+            label="仓库"
+            min-width="200"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            prop="supplierName"
+            label="供应商"
+            min-width="200"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
+          <el-table-column
+            prop="supplierCode"
+            label="供应商代号"
+            min-width="200"
+            :show-overflow-tooltip="true"
+          ></el-table-column>
         </el-table>
         <div style="text-align: right; padding: 10px">
-          <el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="total"
-            :page-sizes="[5, 10, 20, 50]" :page-size.sync="searchForm.size" :current-page.sync="searchForm.pageNum"
-            @current-change="handleCurrentChange" @size-change="handleSizeChange">
+          <el-pagination
+            background
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="total"
+            :page-sizes="[5, 10, 20, 50]"
+            :page-size.sync="searchForm.size"
+            :current-page.sync="searchForm.pageNum"
+            @current-change="handleCurrentChange"
+            @size-change="handleSizeChange"
+          >
           </el-pagination>
         </div>
       </el-main>
@@ -148,319 +363,346 @@
 </template>
 
 <script>
-import storageApi from '@/api/warehouseManagement';
-import AssetTree from '../../stockManagement/components/assetTree.vue';
-import { getDetailById, quantityDelivery } from '@/api/classifyManage';
-import { forEach } from 'lodash';
-export default {
-  components: { AssetTree },
-  props: {
-    treeIds: { type: Array, default: () => [] },
-  },
-  data() {
-    return {
-      newColumns: [], // 动态表头
-      isShowTable: true,
-      qualityResultOption: [
-        {
-          value: 0,
-          label: '合格'
-        },
-        {
-          value: 1,
-          label: '不合格'
-        }
-      ],
-      qualityStatusOption: [
-        {
-          value: 1,
-          label: '已质检'
-        },
-        {
-          value: 0,
-          label: '未质检'
-        }
-      ],
-      visible: false,
-      tableData: [],
-      total: 0,
-      categoryLevelId: '',
-      searchForm: {
-        keyWord: '',
-        categoryCode: '',
-        categoryName: '',
-        batchNo: '',
-        brandNum: '',
-        engrave: '',
-        barcodes: '',
-        batchNo: '',
+  import storageApi from '@/api/warehouseManagement';
+  import { getWarehouseList } from '@/api/bpm/components/wms';
+  import warehouseDefinition from '@/api/warehouseManagement/warehouseDefinition';
+
+  import AssetTree from '../../stockManagement/components/assetTree.vue';
+  import { getDetailById, quantityDelivery } from '@/api/classifyManage';
+  import { forEach } from 'lodash';
+  export default {
+    components: { AssetTree },
+    props: {
+      treeIds: { type: Array, default: () => [] }
+    },
+    data() {
+      return {
+        newColumns: [], // 动态表头
+        isShowTable: true,
+        qualityResultOption: [
+          {
+            value: 0,
+            label: '合格'
+          },
+          {
+            value: 1,
+            label: '不合格'
+          }
+        ],
+        qualityStatusOption: [
+          {
+            value: 1,
+            label: '已质检'
+          },
+          {
+            value: 0,
+            label: '未质检'
+          }
+        ],
+        visible: false,
+        tableData: [],
+        total: 0,
         categoryLevelId: '',
-        pageNum: 1,
-        size: 20
-      },
-      selectionList: [],
-      materialType: '',
-      warehouseList: [],
-      dimension: '1',
-      productLists: []
-    };
-  },
-  created() {
-    this.getFieldModel();
-  },
-  watch: {
-    tableData(val) {
-      this.doLayout();
+        searchForm: {
+          keyWord: '',
+          categoryCode: '',
+          categoryName: '',
+          batchNo: '',
+          brandNum: '',
+          engrave: '',
+          barcodes: '',
+          batchNo: '',
+          categoryLevelId: '',
+          pageNum: 1,
+          size: 20,
+          factoryId: '',
+          warehouseId: ''
+        },
+        selectionList: [],
+        materialType: '',
+        dimension: '1',
+        productLists: [],
+        warehouseList: [],
+        allWarehouseList: [],
+        factoryList: []
+      };
     },
-
-  },
-  methods: {
-    errorVerify(row) {
-      return (
-        !row.outboundNu &&
-        this.selectionList.some((item) => item.id == row.id)
-      );
+    created() {
+      this.getFieldModel();
+      this.getFactoryList();
+      this.getWarehouse()
     },
-    doLayout() {
-      let that = this;
-      this.$nextTick(() => {
-        that.$refs.multipleTable.doLayout();
-      });
+    watch: {
+      tableData(val) {
+        this.doLayout();
+      }
     },
-    // 获取动态表头
-    getFieldModel() {
-      storageApi.fieldModel({ fieldModel: 't_main_category' }).then((res) => {
-        let newRes = res.map((m) => {
-          return {
-            prop: 'extField.' + m.prop,
-            label: m.label,
-            align: 'center',
-            showOverflowTooltip: true
-          };
+    methods: {
+      //获取工厂列表
+      async getFactoryList() {
+        const res = await warehouseDefinition.getFactoryarea({
+          pageNum: 1,
+          size: 9999,
+          type: 1
         });
-        this.newColumns = [...newRes];
-      });
-    },
-    // 出库数量限制
-    handleInput(row, value) {
-      if (row.outboundNum <= row.measureQuantity) {
-        // return (row.outboundNum = value.replace(/^(0+)|[^\d]+/g, ''));
+        this.factoryList = res.list;
+      },
+
+      async getWarehouse() {
+        const { data } = await getWarehouseList();
+        this.allWarehouseList = data;
+      },
+
+      getWarehouseListHandle(val) {
+        this.searchForm.warehouseId = '';
+        this.warehouseList = this.allWarehouseList.filter(
+          (item) => item.factoryId === val
+        );
+      },
 
-        // 过滤掉非数字和小数点的字符
-        const filteredValue = value.replace(/[^0-9.]/g, '');
-        // 限制只能有一个小数点
-        const singleDotValue = filteredValue.replace(/(\..*)\./g, '$1');
+      errorVerify(row) {
+        return (
+          !row.outboundNu &&
+          this.selectionList.some((item) => item.id == row.id)
+        );
+      },
+      doLayout() {
+        let that = this;
+        this.$nextTick(() => {
+          that.$refs.multipleTable.doLayout();
+        });
+      },
+      // 获取动态表头
+      getFieldModel() {
+        storageApi.fieldModel({ fieldModel: 't_main_category' }).then((res) => {
+          let newRes = res.map((m) => {
+            return {
+              prop: 'extField.' + m.prop,
+              label: m.label,
+              align: 'center',
+              showOverflowTooltip: true
+            };
+          });
+          this.newColumns = [...newRes];
+        });
+      },
+      // 出库数量限制
+      handleInput(row, value) {
+        if (row.outboundNum <= row.measureQuantity) {
+          // return (row.outboundNum = value.replace(/^(0+)|[^\d]+/g, ''));
+
+          // 过滤掉非数字和小数点的字符
+          const filteredValue = value.replace(/[^0-9.]/g, '');
+          // 限制只能有一个小数点
+          const singleDotValue = filteredValue.replace(/(\..*)\./g, '$1');
 
-        let finalValue = '';
-        const dotIndex = singleDotValue.indexOf('.');
-        if (dotIndex !== -1) {
-          // 截取小数点后最多两位
-          finalValue = singleDotValue.slice(0, dotIndex + 3);
+          let finalValue = '';
+          const dotIndex = singleDotValue.indexOf('.');
+          if (dotIndex !== -1) {
+            // 截取小数点后最多两位
+            finalValue = singleDotValue.slice(0, dotIndex + 3);
+          } else {
+            finalValue = singleDotValue;
+          }
+          return (row.outboundNum = finalValue);
         } else {
-          finalValue = singleDotValue;
+          row.outboundNum = row.measureQuantity;
         }
-        return row.outboundNum = finalValue;
-      } else {
-        row.outboundNum = row.measureQuantity;
-      }
-    },
-    // 切换维度
-    changeDimensionHandler(e) {
-      this.searchForm.pageNum = 1;
-      this.selectionList = [];
-      this.$refs.multipleTable.clearSelection();
-      this.changeDimension(e);
-    },
-    async changeDimension(e) {
-      console.log('changeDimension')
-      this.dimension = e;
-      if (this.dimension == 1) {
-        // 物品维度
-        const data = await storageApi.getProductList(this.searchForm);
-        this.tableData = data.list;
-        this.total = data.count;
-      } else if (this.dimension == 2) {
-        // 批次维度
-        const data = await storageApi.getBatchList(this.searchForm);
-        for (let i = 0; i < data.list.length; i++) {
-          data.list[i].outboundNum = data.list[i].measureQuantity;
-        }
-        this.tableData = data.list;
-        this.total = data.count;
-      } else if (this.dimension == 4) {
-        // 物料维度
-        const data = await storageApi.getMaterialList(this.searchForm);
-        this.tableData = data.list;
-        this.total = data.count;
-      } else {
-        // 包装维度
-        const data = await storageApi.getPackingList(this.searchForm);
-        for (let i = 0; i < data.list.length; i++) {
-          data.list[i].outboundNum = data.list[i].packingQuantity;
+      },
+      // 切换维度
+      changeDimensionHandler(e) {
+        this.searchForm.pageNum = 1;
+        this.selectionList = [];
+        this.$refs.multipleTable.clearSelection();
+        this.changeDimension(e);
+      },
+      async changeDimension(e) {
+        console.log('changeDimension');
+        this.dimension = e;
+        if (this.dimension == 1) {
+          // 物品维度
+          const data = await storageApi.getProductList(this.searchForm);
+          this.tableData = data.list;
+          this.total = data.count;
+        } else if (this.dimension == 2) {
+          // 批次维度
+          const data = await storageApi.getBatchList(this.searchForm);
+          for (let i = 0; i < data.list.length; i++) {
+            data.list[i].outboundNum = data.list[i].measureQuantity;
+          }
+          this.tableData = data.list;
+          this.total = data.count;
+        } else if (this.dimension == 4) {
+          // 物料维度
+          const data = await storageApi.getMaterialList(this.searchForm);
+          this.tableData = data.list;
+          this.total = data.count;
+        } else {
+          // 包装维度
+          const data = await storageApi.getPackingList(this.searchForm);
+          for (let i = 0; i < data.list.length; i++) {
+            data.list[i].outboundNum = data.list[i].packingQuantity;
+          }
+          this.tableData = data.list;
+          this.total = data.count;
         }
-        this.tableData = data.list;
-        this.total = data.count;
-
-      }
-      this.updateProductOutboundNums(this.tableData)
-    },
-    updateProductOutboundNums(list) {
-      console.log(this.productLists, 'this.productLists')
+        this.updateProductOutboundNums(this.tableData);
+      },
+      updateProductOutboundNums(list) {
+        console.log(this.productLists, 'this.productLists');
 
-      if (this.dimension == 1) {
-        //物品层
-        for (let i = 0; i < list.length; i++) {
-          const item = list[i];
-          const matchedProduct = this.productLists.find(product => {
-            const isMatch = product.categoryId === item.categoryId;
-            return isMatch;
-          });
+        if (this.dimension == 1) {
+          //物品层
+          for (let i = 0; i < list.length; i++) {
+            const item = list[i];
+            const matchedProduct = this.productLists.find((product) => {
+              const isMatch = product.categoryId === item.categoryId;
+              return isMatch;
+            });
 
-          if (matchedProduct) {
-            this.$set(item, 'outboundNum', matchedProduct.measureQuantity);
-          } 
-          const isSelection = this.selectionList.find(
+            if (matchedProduct) {
+              this.$set(item, 'outboundNum', matchedProduct.measureQuantity);
+            }
+            const isSelection = this.selectionList.find(
               (product) => product.categoryId === item.categoryId
             );
-            if(isSelection){
+            if (isSelection) {
               this.$set(item, 'outboundNum', isSelection.outboundNum);
             }
-        }
-
-      } else {
-        for (let i = 0; i < list.length; i++) {
-          const item = list[i];
-          const matchedProduct = this.productLists.find(product => {
-            const isMatch = product.id === item.id;
-            return isMatch;
-          });
-
-          if (matchedProduct) {
-            this.$set(item, 'outboundNum', matchedProduct.measureQuantity);
           }
-          const isSelection = this.selectionList.find(
+        } else {
+          for (let i = 0; i < list.length; i++) {
+            const item = list[i];
+            const matchedProduct = this.productLists.find((product) => {
+              const isMatch = product.id === item.id;
+              return isMatch;
+            });
+
+            if (matchedProduct) {
+              this.$set(item, 'outboundNum', matchedProduct.measureQuantity);
+            }
+            const isSelection = this.selectionList.find(
               (product) => product.id === item.id
             );
-            if(isSelection){
+            if (isSelection) {
               this.$set(item, 'outboundNum', isSelection.outboundNum);
             }
+          }
         }
-      }
-
-    },
-    open(val) {
-      this.productLists = val || [];
-      this.visible = true;
-      this.$nextTick(() => {
-        this.$refs.treeList.getTreeData().then(async (data) => {
-          await this.handleNodeClick(data);
+      },
+      open(val) {
+        this.productLists = val || [];
+        this.visible = true;
+        this.$nextTick(() => {
+          this.$refs.treeList.getTreeData().then(async (data) => {
+            await this.handleNodeClick(data);
+          });
         });
-      });
-    },
-    async confirm() {
-      if (!this.selectionList.length) {
-        this.$message.error('请至少选择一条数据!');
-        return;
-      }
-      if (this.dimension == 1) {
-        let boolen = this.selectionList.every((item) => item.outboundNum > 0);
-        if (!boolen) {
-          this.$message.error('请输入出库数量!');
+      },
+      async confirm() {
+        if (!this.selectionList.length) {
+          this.$message.error('请至少选择一条数据!');
           return;
         }
+        if (this.dimension == 1) {
+          let boolen = this.selectionList.every((item) => item.outboundNum > 0);
+          if (!boolen) {
+            this.$message.error('请输入出库数量!');
+            return;
+          }
+        }
+        console.log(this.selectionList);
+        let data = null;
+        if (this.dimension == 3) {
+          data = await storageApi.getHierarchyList({
+            ids: this.selectionList.map((item) => item.id).join(','),
+            type: this.dimension
+          });
+        } else if (this.dimension == 2) {
+          data = await storageApi.getHierarchyFifo({
+            type: this.dimension,
+            ids: this.selectionList.map((item) => item.id),
+            builders: this.selectionList.map((item) => {
+              return {
+                categoryId: item.categoryId,
+                num: item.outboundNum,
+                id: item.id
+              };
+            })
+          });
+        } else if (this.dimension == 1) {
+          data = await storageApi.getHierarchyFifo({
+            type: this.dimension,
+            builders: this.selectionList.map((item) => {
+              return {
+                categoryId: item.categoryId,
+                num: item.outboundNum
+              };
+            })
+          });
+        }
+        console.log('data-------------------', data);
+        this.$emit('detailData', data, this.dimension);
+        this.cancel();
+      },
+      cancel() {
+        this.selectionList = [];
+        this.$refs.multipleTable.clearSelection();
+        this.visible = false;
+      },
+      handleSelectionChange(val) {
+        this.selectionList = val;
+      },
+      handleNodeClick(data) {
+        console.log(data);
+        this.categoryLevelId = data.id;
+        this.searchForm.categoryLevelId = data.id;
+        this.doSearch();
+      },
+      handleCurrentChange() {
+        this.changeDimension(this.dimension);
+      },
+      reset() {
+        this.searchForm = {
+          categoryCode: '',
+          categoryName: '',
+          batchNo: '',
+          brandNum: '',
+          engrave: '',
+          barcodes: '',
+          batchNo: '',
+          categoryLevelId: this.categoryLevelId,
+          pageNum: 1,
+          size: 20
+        };
+        this.doSearch();
+      },
+      doSearch() {
+        this.searchForm.pageNum = 1;
+        this.changeDimension(this.dimension);
+      },
+      handleSizeChange() {
+        this.searchForm.pageNum = 1;
+        this.changeDimension(this.dimension, 'page');
       }
-      console.log(this.selectionList);
-      let data = null;
-      if (this.dimension == 3) {
-        data = await storageApi.getHierarchyList({
-          ids: this.selectionList.map((item) => item.id).join(','),
-          type: this.dimension
-        });
-      } else if (this.dimension == 2) {
-        data = await storageApi.getHierarchyFifo({
-          type: this.dimension,
-          ids: this.selectionList.map((item) => item.id),
-          builders: this.selectionList.map((item) => {
-            return {
-              categoryId: item.categoryId,
-              num: item.outboundNum,
-              id: item.id,
-            };
-          })
-        });
-      } else if (this.dimension == 1) {
-        data = await storageApi.getHierarchyFifo({
-          type: this.dimension,
-          builders: this.selectionList.map((item) => {
-            return {
-              categoryId: item.categoryId,
-              num: item.outboundNum
-            };
-          })
-        });
-      }
-      console.log('data-------------------', data);
-      this.$emit('detailData', data, this.dimension);
-      this.cancel();
-    },
-    cancel() {
-      this.selectionList = [];
-      this.$refs.multipleTable.clearSelection();
-      this.visible = false;
-    },
-    handleSelectionChange(val) {
-      this.selectionList = val;
-    },
-    handleNodeClick(data) {
-      console.log(data);
-      this.categoryLevelId = data.id;
-      this.searchForm.categoryLevelId = data.id;
-      this.doSearch();
-    },
-    handleCurrentChange() {
-      this.changeDimension(this.dimension);
-    },
-    reset() {
-      this.searchForm = {
-        categoryCode: '',
-        categoryName: '',
-        batchNo: '',
-        brandNum: '',
-        engrave: '',
-        barcodes: '',
-        batchNo: '',
-        categoryLevelId: this.categoryLevelId,
-        pageNum: 1,
-        size: 20
-      };
-      this.doSearch();
-    },
-    doSearch() {
-      this.searchForm.pageNum = 1;
-      this.changeDimension(this.dimension);
-    },
-    handleSizeChange() {
-      this.searchForm.pageNum = 1;
-      this.changeDimension(this.dimension, 'page');
     }
-  }
-};
+  };
 </script>
 
 <style lang="scss" scoped>
-.el-dialog__wrapper {
-  ::v-deep .el-aside {
-    background-color: #fff !important;
-    border: 1px solid #ccc;
+  .el-dialog__wrapper {
+    ::v-deep .el-aside {
+      background-color: #fff !important;
+      border: 1px solid #ccc;
+    }
   }
-}
 
-.wrapper-assets {
-  max-height: 53vh;
-  overflow: auto;
-}
+  .wrapper-assets {
+    max-height: 53vh;
+    overflow: auto;
+  }
 
-::v-deep .password .el-input__inner {
-  border-color: red !important;
-}
+  ::v-deep .password .el-input__inner {
+    border-color: red !important;
+  }
 </style>