Prechádzať zdrojové kódy

fix(station): 优化设备选择逻辑及表单联动

- 选择设备前校验是否已选择工厂
- 切换工厂时清空设备与区域信息
- 产品弹窗查询及初始化增加工厂ID过滤
yusheng 3 dní pred
rodič
commit
0f12468d9e

+ 7 - 3
src/views/factoryModel/station/components/ProductModal.vue

@@ -35,6 +35,7 @@
             height="calc(100vh - 350px)"
             class="dict-table"
             @cell-click="cellClick"
+            :initLoad="false"
           >
             <!-- 表头工具栏 -->
             <template v-slot:action="{ row }">
@@ -232,7 +233,7 @@
         categoryLevelId: null,
         radio: null,
         idx: null,
-
+        factoryId: '',
         isCategory: true
       };
     },
@@ -250,13 +251,15 @@
             ...where,
             pageNum: page,
             size: limit,
-            categoryLevelId: this.categoryLevelId
+            categoryLevelId: this.categoryLevelId,
+            factoryId: this.factoryId
           });
         } else {
           return URL({
             ...where,
             pageNum: page,
-            size: limit
+            size: limit,
+            factoryId: this.factoryId
           });
         }
       },
@@ -292,6 +295,7 @@
           };
           this.radio = item.categoryId;
         }
+        this.factoryId = item.factoryId;
         this.getAllDeviceList();
         this.visible = true;
       },

+ 44 - 38
src/views/factoryModel/station/components/edit.vue

@@ -60,43 +60,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-
-          <el-col :span="8">
-            <el-form-item
-              label="设备编码:"
-              prop="extInfo.assetCode"
-              v-if="form.extInfo.type == 1"
-            >
-              <el-input
-                v-model="form.extInfo.assetCode"
-                readonly
-                @click.native="chooseAsset"
-              />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item
-              label="设备名称:"
-              prop="extInfo.assetName"
-              v-if="form.extInfo.type == 1"
-            >
-              <el-input disabled v-model="form.extInfo.assetName" />
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="所属区域:" prop="location_city">
-              <area-select
-                v-model="form.areaId"
-                @checkedKeys="getAreaInfo"
-                :data="areaTreeList"
-                ref="tree"
-                :disabled="form.extInfo.type"
-              />
-            </el-form-item>
-          </el-col>
-
           <el-col :span="8">
             <el-form-item label="所属工厂:" prop="extInfo.factoryId">
               <el-select
@@ -179,6 +142,41 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item
+              label="设备编码:"
+              prop="extInfo.assetCode"
+              v-if="form.extInfo.type == 1"
+            >
+              <el-input
+                v-model="form.extInfo.assetCode"
+                readonly
+                @click.native="chooseAsset"
+              />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="8">
+            <el-form-item
+              label="设备名称:"
+              prop="extInfo.assetName"
+              v-if="form.extInfo.type == 1"
+            >
+              <el-input disabled v-model="form.extInfo.assetName" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="8">
+            <el-form-item label="所属区域:" prop="location_city">
+              <area-select
+                v-model="form.areaId"
+                @checkedKeys="getAreaInfo"
+                :data="areaTreeList"
+                ref="tree"
+                :disabled="form.extInfo.type"
+              />
+            </el-form-item>
+          </el-col>
 
           <el-col :span="8">
             <el-form-item label="班组:" prop="extInfo.teamId">
@@ -610,6 +608,10 @@
     },
     methods: {
       chooseAsset() {
+        if (!this.form.extInfo.factoryId) {
+          this.$message.error('请先选择工厂');
+          return;
+        }
         this.$refs.productRefs.open(this.form.extInfo, '选择设备', '4');
       },
       change_team(teamId) {
@@ -900,7 +902,11 @@
 
         this.form.productionLineId = '';
         this.options.productionLineId = [];
-
+        this.form.extInfo.assetCode = '';
+        this.form.extInfo.assetName ='';
+        this.form.extInfo.assetId = '';
+        this.form.areaName = '';
+        this.form.areaId = '';
         this.getlistCf();
         this.getteampagerList(this.form.extInfo.factoryId);
       },