Эх сурвалжийг харах

1、物模型枚举项数组优化
2、优化功能自定义输入参数枚举项
3、优化功能定义元素类型枚举项
4、优化功能定义输出参数JSON对象

yukai 3 жил өмнө
parent
commit
199b4d8150

+ 4 - 1
src/views/device/product/component/editAttr.vue

@@ -330,7 +330,10 @@ export default defineComponent({
 			state.valueType = {};
 			state.elementType = {};
 			state.jsondata = [];
-			state.enumdata = [];
+			state.enumdata = [{
+					text: '',
+					value: '',
+				},];
 		};
 
 		const seletChange = (val) => {

+ 4 - 1
src/views/device/product/component/editEvent.vue

@@ -330,7 +330,10 @@ export default defineComponent({
 			state.valueType = {};
 			state.elementType={};
 			state.jsondata = [];
-			state.enumdata = [];
+			state.enumdata = [{
+					text: '',
+					value: '',
+				},];
 		};
 
 		const seletChange = (val) => {

+ 44 - 2
src/views/device/product/component/editFun.vue

@@ -288,12 +288,15 @@ export default defineComponent({
 				state.typeData = datat || [];
 			});
 
+
+console.log(row);
 			state.ruleForm = row;
 			if (row.inputs) {
 				state.ruleForm = row;
 
 				state.productId = productId;
 				state.valueType = row.output;
+			
 				
 				//state.ruleForm.valueType.type = row.valueType.type;
 				//state.ruleForm.type = row.valueType.type;
@@ -301,8 +304,19 @@ export default defineComponent({
 				if(row.output.elementType){
 					state.elementType = row.output.elementType;
 					state.types = row.output.elementType.type;
+
+						if(state.type == 'array' && state.types=='enum'){
+							state.enumdata=row.output.elementType.elements
+						}
+						if(state.type == 'array' && state.types=='object'){
+							state.jsondata=row.output.elementType.properties
+						}
+						
+				}
+			
+				if (state.type == 'object') {
+						state.jsondata = row.output.properties;
 				}
-				
 				state.inputsdata = row.inputs;
 				
 			}
@@ -324,7 +338,7 @@ export default defineComponent({
 			state.types='';
 			state.inputsdata =[];
 			state.elementType=[];
-			state.valueType=[];
+			state.valueType={};
 		};
 
 		const seletChange = (val) => {
@@ -396,6 +410,20 @@ export default defineComponent({
 
 						if (state.type == 'array') {
 							state.valueType.elementType = state.elementType;
+							//如果是选中数组,并选择了枚举
+							if(state.types=='enum'){
+								state.valueType.elementType = {
+									elements: state.enumdata,
+									type: 'enum'
+								}
+							}
+							//如果是选中数组,并选择了object
+							if(state.types=='object'){
+								state.valueType.elementType = {
+									properties: state.jsondata,
+									type: 'object'
+								}
+							}
 						}
 
 						console.log(state.valueType);
@@ -420,6 +448,20 @@ export default defineComponent({
 
 						if (state.type == 'array') {
 							state.valueType.elementType = state.elementType;
+							//如果是选中数组,并选择了枚举
+							if(state.types=='enum'){
+								state.valueType.elementType = {
+									elements: state.enumdata,
+									type: 'enum'
+								}
+							}
+							//如果是选中数组,并选择了object
+							if(state.types=='object'){
+								state.valueType.elementType = {
+									properties: state.jsondata,
+									type: 'object'
+								}
+							}
 						}
 
 						state.ruleForm.inputs = state.inputsdata;

+ 4 - 1
src/views/device/product/component/editOption.vue

@@ -237,7 +237,10 @@ export default defineComponent({
 				desc: '',
 			};
 			state.valueType={};
-			state.enumdata=[];
+			state.enumdata=[{
+					'text': '',
+					'value': '',
+				}];
 			state.elementType={};
 		};
 

+ 4 - 1
src/views/device/product/component/editTab.vue

@@ -329,7 +329,10 @@ export default defineComponent({
 			state.valueType = {};
 			state.elementType = {};
 			state.jsondata = [];
-			state.enumdata = [];
+			state.enumdata = [{
+					text: '',
+					value: '',
+				},];
 		};
 
 		const seletChange = (val) => {