Переглянути джерело

模块选择产品增添搜索,所属产品增添链接跳转。解决控制台报错问题

Xiahai 1 рік тому
батько
коміт
b66f997081

+ 2 - 2
src/views/iot/ota-update/module/component/edit.vue

@@ -3,7 +3,7 @@
 		<el-dialog :title="(ruleForm.id!==0?'修改':'添加')+'模块'" v-model="isShowDialog" width="769px">
 			<el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="90px">
 				<el-form-item label="所属产品" prop="productId">
-					<el-select v-model="ruleForm.productId" placeholder="请选择产品">
+					<el-select v-model="ruleForm.productId" filterable placeholder="请选择产品">
 						<el-option v-for="item in productData" :key="item.name" :label="item.name" :value="item.id.toString()" />
 					</el-select>
 				</el-form-item>
@@ -70,7 +70,7 @@ export default defineComponent({
       resetForm();
       if (row) {
         api.module.detail(row.id).then((res: any) => {
-          const data: RuleFormState = res.data.data;
+          const data: RuleFormState = res;
           state.ruleForm = data;
         });
 		

+ 7 - 1
src/views/iot/ota-update/module/index.vue

@@ -38,7 +38,13 @@
         <el-table-column label="ID" v-col="'id'" align="center" prop="id" width="100" />
         <el-table-column label="模块名称" v-col="'name'" prop="name" show-overflow-tooltip />
         <el-table-column label="模块别名" v-col="'nameAs'" prop="nameAs" show-overflow-tooltip />
-        <el-table-column label="所属产品" v-col="'ProductName'" prop="ProductName" width="260" />
+        <el-table-column label="所属产品" v-col="'ProductName'" align="center" show-overflow-tooltip>
+          <template #default="scope">
+            <router-link :to="'/iotmanager/device/product/detail/' + scope.row.productId" class="link-type">
+              <span>{{ scope.row.ProductName }}</span>
+            </router-link>
+          </template>
+        </el-table-column>
         <el-table-column label="创建时间" prop="createdAt" align="center" />
         <el-table-column label="操作" width="100" v-col="'handle'" align="center" fixed="right">
           <template #default="scope">

+ 7 - 5
src/views/iot/ota-update/update/component/edit.vue

@@ -27,7 +27,7 @@
         </el-form-item>
 
         <el-form-item label="升级包模块" prop="module">
-          <el-select v-model="ruleForm.module" placeholder="请选择升级包模块">
+          <el-select v-model="ruleForm.module" filterable placeholder="请选择升级包模块">
             <el-option v-for="item in moduleData" :key="item.id" :label="item.name" :value="item.id.toString()" />
           </el-select>
 
@@ -224,11 +224,13 @@ export default defineComponent({
 
       // 获取上传格式
       apiSystem.getInfoByKey({ ConfigKey: 'sys.uploadFile.fileType' }).then((res: any) => {
-        let fileType = res.data.configValue.split(",");
-        for (let i = 0; i < fileType.length; i++) {
-          fileType[i] = '.' + fileType[i];
+        if (res.data) {
+          let fileType = res.data.configValue.split(",");
+          for (let i = 0; i < fileType.length; i++) {
+            fileType[i] = '.' + fileType[i];
+          }
+          state.fileAccept = fileType;
         }
-        state.fileAccept = fileType;
       });
     };
     const resetForm = () => {

+ 5 - 3
src/views/iot/ota-update/update/component/productBind.vue

@@ -131,10 +131,12 @@ export default defineComponent({
     const changeSelect = () => {
       nextTick(() => {
         state.tableData.data.forEach((item) => {
-          if (state.checkIdList.includes(item.id)) {
-            proxy.$refs.multipleTable.toggleRowSelection(item, true);
+          if (state.checkIdList) {
+            if (state.checkIdList.includes(item.id)) {
+              proxy.$refs.multipleTable.toggleRowSelection(item, true);
+            }
           }
-        })
+        });
       });
     };
 

+ 7 - 1
src/views/iot/ota-update/update/index.vue

@@ -44,7 +44,13 @@
             <el-tag  type="info" size="small" v-if="scope.row.types == 2">差分</el-tag>
           </template>
         </el-table-column>
-        <el-table-column label="所属产品" v-col="'productName'" prop="productName" show-overflow-tooltip />
+        <el-table-column label="所属产品" v-col="'productName'" align="center" show-overflow-tooltip>
+          <template #default="scope">
+            <router-link :to="'/iotmanager/device/product/detail/' + scope.row.productId" class="link-type">
+              <span>{{ scope.row.productName }}</span>
+            </router-link>
+          </template>
+        </el-table-column>
         <el-table-column label="模块名称" v-col="'moduleName'" prop="moduleName" show-overflow-tooltip />
         <el-table-column label="状态" prop="checkres" v-col="'checkres'" width="120" align="center">
           <template #default="scope">