瀏覽代碼

fix: 修复设备功能执行时,枚举类型错误的问题

yanglzh 1 年之前
父節點
當前提交
48cb1b456d

+ 3 - 3
src/views/iot/device/instance/component/function.vue

@@ -9,8 +9,8 @@
 						<el-table-column prop="valueType.type" label="输入类型" />
 						<el-table-column prop="name" label="值" min-width="200">
 							<template #default="{ row }">
-								<el-select v-model="row.value" clearable v-if="row.valueType.type === 'enum'" style="wdith: 100% !important;">
-									<el-option v-for="item in row.valueType.elements" :key="item.value" :value="item.text" :label="item.text"></el-option>
+								<el-select v-model="row.value" clearable v-if="row.valueType.type === 'enum'" style="width: 100% !important;">
+									<el-option v-for="item in row.valueType.elements" :key="item.value" :value="item.value" :label="item.text"></el-option>
 								</el-select>
 								<el-radio-group v-model="row.value" v-else-if="row.valueType.type === 'boolean'">
 									<el-radio :label="true">{{ row.valueType.trueText || '是' }}</el-radio>
@@ -71,7 +71,7 @@ function run(row: IListItem) {
 
 	// 如果是布尔类型,不需要校验,其他类型不能为空
 	const notValid = row.inputs.some((item) => item.value === null || item.value === '' || item.value === undefined)
-	
+
 	if (notValid) return ElMessage.info('请输入完整参数')
 
 	const params: any = {}

+ 1 - 1
src/views/iot/device/instance/component/setAttr.vue

@@ -21,7 +21,7 @@
           </el-input>
         </template>
         <template v-else-if="['enum'].includes(data.valueType.type)">
-          <el-select v-model="data.value" clearable style="wdith: 100% !important;">
+          <el-select v-model="data.value" clearable style="width: 100% !important;">
             <el-option v-for="item in data.valueType.elements" :key="item.value" :value="item.value" :label="item.text"></el-option>
           </el-select>
         </template>

+ 2 - 2
src/views/iot/device/product/component/editAttr.vue

@@ -48,7 +48,7 @@
 				</el-form-item>
 
 				<el-form-item label="枚举项" prop="maxLength" v-if="type == 'enum'">
-					<div class="input-box" v-for="(item, index) in enumdata" :key="index">
+					<div class="input-box flex-row" v-for="(item, index) in enumdata" :key="index">
 						<el-input v-model="item.text" placeholder="请输入枚举文本" /><span style="margin: 0px 10px"><el-icon>
 								<Right />
 							</el-icon></span>
@@ -125,7 +125,7 @@
 					</el-form-item>
 
 					<el-form-item label="枚举项" prop="maxLength" v-if="types == 'enum'">
-						<div class="input-box" v-for="(item, index) in enumdata" :key="index">
+						<div class="input-box flex-row" v-for="(item, index) in enumdata" :key="index">
 							<el-input v-model="item.text" placeholder="请输入枚举文本" /><span style="margin: 0px 10px"><el-icon>
 									<Right />
 								</el-icon></span>

+ 2 - 2
src/views/iot/device/product/component/editTab.vue

@@ -48,7 +48,7 @@
 				</el-form-item>
 
 				<el-form-item label="枚举项" prop="maxLength" v-if="type == 'enum'">
-					<div class="input-box" v-for="(item, index) in enumdata" :key="index">
+					<div class="input-box flex-row" v-for="(item, index) in enumdata" :key="index">
 						<el-input v-model="item.text" placeholder="请输入枚举文本" /><span style="margin: 0px 10px"><el-icon>
 								<Right />
 							</el-icon></span>
@@ -124,7 +124,7 @@
 					</el-form-item>
 
 					<el-form-item label="枚举项" prop="maxLength" v-if="types == 'enum'">
-						<div class="input-box" v-for="(item, index) in enumdata" :key="index">
+						<div class="input-box flex-row" v-for="(item, index) in enumdata" :key="index">
 							<el-input v-model="item.text" placeholder="请输入枚举文本" /><span style="margin: 0px 10px"><el-icon>
 									<Right />
 								</el-icon></span>

+ 7 - 3
src/views/iot/device/product/component/typeItem.vue

@@ -37,10 +37,13 @@
     </el-form-item>
 
     <el-form-item label="枚举项" prop="" v-else-if="valueType.type === 'enum'">
-      <div class="input-box" v-for="(item, index) in valueType.elements" :key="index">
-        <el-input v-model="item.text" placeholder="请输入枚举文本" /><span style="margin: 0px 10px"><el-icon>
+      <div class="input-box flex-row" v-for="(item, index) in valueType.elements" :key="index">
+        <el-input v-model="item.text" placeholder="请输入枚举文本" />
+        <span style="margin: 0px 10px">
+          <el-icon>
             <Right />
-          </el-icon></span>
+          </el-icon>
+        </span>
         <el-input v-model="item.value" placeholder="请输入枚举值" />
         <div class="input-option">
           <el-icon @click="addEnum" v-if="index == 0">
@@ -152,6 +155,7 @@ const setNull = (row: any, key: string, val: string) => {
   if (!val) row[key] = null
 }
 </script>
+
 <style scoped lang="scss">
 .type-item {
   width: 100%;

+ 4 - 4
src/views/iot/scene/manage/component/actionType/deviceOut.vue

@@ -45,8 +45,8 @@
         <el-table-column prop="valueType.type" label="输入类型" />
         <el-table-column prop="name" label="值" min-width="200">
           <template #default="{ row }">
-            <el-select v-model="fromData.functionCall.parameter[row.key]" clearable v-if="row.valueType.type === 'enum'" style="wdith: 100% !important;" @change="saveData">
-              <el-option v-for="item in row.valueType.elements" :key="item.value" :value="item.text" :label="item.text"></el-option>
+            <el-select v-model="fromData.functionCall.parameter[row.key]" clearable v-if="row.valueType.type === 'enum'" style="width: 100% !important;" @change="saveData">
+              <el-option v-for="item in row.valueType.elements" :key="item.value" :value="item.value" :label="item.text"></el-option>
             </el-select>
             <el-input v-model="fromData.functionCall.parameter[row.key]" clearable v-else :placeholder="row.valueType.type === 'array' ? 'JSON.stringify(arr)结果去掉外层单引号' : '请输入'" @input="saveData">
               <template v-if="row.valueType.unit" #append>{{ row.valueType.unit }}</template>
@@ -80,12 +80,12 @@
       <el-table :data="setPropertiesItem">
         <el-table-column>
           <template #default="{ row }">
-            <span v-for="val, key in row">{{ key }}</span>
+            <span v-for="val, key in row" :key="key">{{ key }}</span>
           </template>
         </el-table-column>
         <el-table-column>
           <template #default="{ row }">
-            <el-input v-for="val, key in row" v-model="row[key]" @input="saveSetData"></el-input>
+            <el-input v-for="val, key in row" :key="key" v-model="row[key]" @input="saveSetData"></el-input>
           </template>
         </el-table-column>
       </el-table>