Przeglądaj źródła

feat: 资产对话框优化工厂与仓库选择逻辑并增加联动过滤功能

yusheng 9 miesięcy temu
rodzic
commit
c25b5d5c73

+ 26 - 17
src/views/warehouseManagement/components/AssetsDialog.vue

@@ -96,40 +96,41 @@
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="仓库">
+          <el-form-item label="所属工厂" prop="factoryId">
             <el-select
-              clearable
-              style="width: 100%"
-              v-model="searchForm.warehouseId"
+              filterable
               placeholder="请选择"
+              v-model="searchForm.factoryId"
+              clearable
+              class="w100"
               @keyup.enter.native="doSearch"
+              @change="getWarehouseListHandle"
             >
               <el-option
-                v-for="item in warehouseList"
+                v-for="item in factoryList"
+                :key="item.id"
                 :label="item.name"
                 :value="item.id"
-                :key="item.id"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="所属工厂" prop="factoryId">
+          <el-form-item label="仓库">
             <el-select
-              filterable
-              placeholder="请选择"
-              v-model="searchForm.factoryId"
               clearable
-              class="w100"
+              style="width: 100%"
+              v-model="searchForm.warehouseId"
+              placeholder="请选择"
               @keyup.enter.native="doSearch"
             >
               <el-option
-                v-for="item in factoryList"
-                :key="item.id"
+                v-for="item in warehouseList"
                 :label="item.name"
                 :value="item.id"
-              ></el-option>
+                :key="item.id"
+              >
+              </el-option>
             </el-select>
           </el-form-item>
         </el-col>
@@ -258,6 +259,7 @@
         selectionList: [],
         materialType: '',
         warehouseList: [],
+        allWarehouseList:[],
         dimension: '1',
         productLists: [],
         columnsVersion: 1,
@@ -508,7 +510,14 @@
 
       async getWarehouse() {
         const { data } = await getWarehouseList();
-        this.warehouseList = data;
+        this.allWarehouseList = data;
+      },
+
+      getWarehouseListHandle(val) {
+        this.searchForm.warehouseId = '';
+        this.warehouseList = this.allWarehouseList.filter(
+          (item) => item.factoryId === val
+        );
       },
 
       // 获取动态表头