فهرست منبع

修改ota代码传参为key

Xiahai 1 سال پیش
والد
کامیت
049fdd24a6

+ 1 - 2
src/api/device/index.ts

@@ -114,10 +114,9 @@ export default {
   },
   dev_asset_metadata:{
     getList: (params: object) => get('/product/dev_asset_metadata/list', params),
-    getProKey: (params: object) => get('/product/dev_asset_metadata/key', params),
     add: (params: object) => post('/product/dev_asset_metadata/add', params),
     edit: (params: object) => put('/product/dev_asset_metadata/edit', params),
-    detail: (params: object) => get('/product/dev_asset_metadata/get', params),
+    detail: (params: object) => get('/product/dev_asset_metadata/key', params),
     delete: (params: object) => del('/product/dev_asset_metadata/delete', params),
   }
 

+ 21 - 4
src/views/iot/device/product/component/editPro.vue

@@ -13,12 +13,15 @@
 				</el-form-item>
 
 				<el-form-item label="产品分类" prop="categoryId">
-					<el-cascader :options="cateData" :props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name' }" placeholder="请选择分类" clearable class="w100" v-model="ruleForm.categoryId">
+					<el-cascader :options="cateData" :props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name' }" placeholder="请选择分类" class="w" clearable v-model="ruleForm.categoryId">
 						<template #default="{ node, data }">
 							<span>{{ data.name }}</span>
 							<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
 						</template>
 					</el-cascader>
+
+          <!-- 添加产品分类 -->
+          <el-button type="success" @click="onOpenAddCategory()" style="margin-left: 5px;">添加产品分类</el-button>
 				</el-form-item>
 
 				<el-form-item label="消息协议" prop="messageProtocol">
@@ -93,6 +96,7 @@
 				</span>
 			</template>
 		</el-dialog>
+    <EditCategory ref="editCategoryRef" @getCateList="getCategoryList" />
 	</div>
 </template>
 
@@ -105,6 +109,7 @@ import { validateNoSpace } from '/@/utils/validator';
 
 import { ElMessage, UploadProps } from 'element-plus'
 import getOrigin from '/@/utils/origin'
+import EditCategory from "/@/views/iot/device/category/component/edit.vue";
 
 interface RuleFormState {
 	id: number
@@ -151,7 +156,7 @@ const form = {
 
 export default defineComponent({
 	name: 'deviceEditPro',
-	components: { uploadVue },
+	components: {EditCategory, uploadVue },
 	setup(prop, { emit }) {
 		const formRef = ref<HTMLElement | null>(null)
 		const baseURL: string | undefined | boolean = getOrigin(import.meta.env.VITE_API_URL)
@@ -161,6 +166,7 @@ export default defineComponent({
 
 		const certList = ref([])
 		const submitLoading = ref(false)
+    const editCategoryRef = ref();
 
 		const state = reactive<DicState | any>({
 			isShowDialog: false,
@@ -279,20 +285,31 @@ export default defineComponent({
 				}
 			})
 		}
-
-
+    // 打开新增产品分类弹窗
+    const onOpenAddCategory = () => {
+      editCategoryRef.value.openDialog();
+    };
+    // 获取产品分类列表
+    const getCategoryList = () => {
+      api.category.getList({ status: 1 }).then((res: any) => {
+        state.cateData = res.category || []
+      })
+    }
 
 		return {
 			transportProtocolChange,
 			submitLoading,
 			certList,
 			openDialog,
+      onOpenAddCategory,
 			handleAvatarSuccess,
 			closeDialog,
 			onCancel,
 			onSubmit,
 			network_server_type,
+      getCategoryList,
 			formRef,
+      editCategoryRef,
 			...toRefs(state),
 		}
 	},

+ 11 - 9
src/views/iot/operate/remoteconf/index.vue

@@ -176,16 +176,18 @@ export default defineComponent({
     // 页面加载时
     onMounted(() => {
       api.remoteconf.getProductList({ status: '1', name: '' }).then((res: any) => {
-        productOptions.value = res.product.map((item: any) => {
-          return {
-            value: item.key,
-            label: item.name,
-            status: item.status,
+        if (res.product) {
+          productOptions.value = res.product.map((item: any) => {
+            return {
+              value: item.key,
+              label: item.name,
+              status: item.status,
+            }
+          })
+          if (productOptions.value.length > 0) {
+            product.value = productOptions.value[0].value
+            selectProduct.value = productOptions.value[0].label
           }
-        })
-        if (productOptions.value.length > 0) {
-          product.value = productOptions.value[0].value
-          selectProduct.value = productOptions.value[0].label
         }
       })
     })

+ 4 - 0
src/views/iot/ota-update/update/component/edit.vue

@@ -119,6 +119,7 @@ interface RuleFormState {
   url: string;
   ossurl: string,
   urlName: string;
+  size: string;
 }
 
 interface UpdateState {
@@ -173,6 +174,7 @@ export default defineComponent({
         url: '',
         ossurl: '',
         urlName: '',
+        size: '',
       },
       productData: [],
       moduleData: [],
@@ -250,6 +252,7 @@ export default defineComponent({
         url: '',
         ossurl: '',
         urlName: '',
+        size: '',
       };
     };
     const updateImg = (res: any) => {
@@ -257,6 +260,7 @@ export default defineComponent({
         state.ruleForm.url = res.data.full_path
         state.ruleForm.urlName = res.data.name
         state.ruleForm.ossurl = res.data.full_path
+        state.ruleForm.size = res.data.size;
         fileList.value = []
         ElMessage.success('上传成功');
       } else {