From 3065cd88c2ad7927c6318fae799e752236dd46c4 Mon Sep 17 00:00:00 2001 From: XieYongHong <18010623010@163.com> Date: Thu, 6 Jul 2023 15:59:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=89=A9=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B-=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FRuleEditor/Operator/index.vue | 19 +++++++-- src/components/FRuleEditor/index.vue | 1 + .../components/Metadata/Base/columns.tsx | 41 +++++++++++++++++++ .../Metadata/Base/components/DataType.vue | 38 +---------------- .../Base/components/Events/ValueObject.vue | 21 ++++++---- .../Base/components/Function/InputParams.vue | 15 ++++++- 6 files changed, 88 insertions(+), 47 deletions(-) diff --git a/src/components/FRuleEditor/Operator/index.vue b/src/components/FRuleEditor/Operator/index.vue index 94e03b18..806a383b 100644 --- a/src/components/FRuleEditor/Operator/index.vue +++ b/src/components/FRuleEditor/Operator/index.vue @@ -7,6 +7,9 @@ placeholder="搜索关键字" />
+ + + @@ -54,14 +60,15 @@ - 添加 + 添加 - 添加 + 添加
+
@@ -114,6 +121,7 @@ const lastClick = (node: OperatorItem) => { emit('addOperatorValue', `$lastState("${node.id}")`); }; const addClick = (node: OperatorItem) => { + console.log(node) emit('addOperatorValue', node.code); }; @@ -179,7 +187,7 @@ watch( .tree { height: 300px; - overflow-y: auto; + //overflow-y: auto; .node { display: flex; @@ -197,4 +205,9 @@ watch( padding: 20px; } } + + \ No newline at end of file diff --git a/src/components/FRuleEditor/index.vue b/src/components/FRuleEditor/index.vue index 8a25fabd..cda4a7cc 100644 --- a/src/components/FRuleEditor/index.vue +++ b/src/components/FRuleEditor/index.vue @@ -82,6 +82,7 @@ const aggType = computed(() => { const editor = ref(); const addOperatorValue = (val: string) => { + console.log(val) editor.value.addOperatorValue(val); }; diff --git a/src/views/device/components/Metadata/Base/columns.tsx b/src/views/device/components/Metadata/Base/columns.tsx index 8c5d74c7..148f8dd2 100644 --- a/src/views/device/components/Metadata/Base/columns.tsx +++ b/src/views/device/components/Metadata/Base/columns.tsx @@ -32,6 +32,47 @@ const type = { report: '上报', }; +export const typeSelectChange = (type: string) => { + let obj: any = {} + switch (type) { + case 'array': + obj.elementType = {} + break; + case 'object': + obj.properties = [] + break; + case 'enum': + obj.elements = [] + break; + case 'float': + case 'double': + obj.scale = 2 + obj.unit = undefined + break; + case 'int': + case 'long': + obj.unit = undefined + break; + case 'file': + obj.fileType = undefined + break; + case 'date': + obj.format = undefined + break; + case 'string': + case 'password': + obj.maxLength = undefined + break; + case 'boolean': + obj.trueText = '是' + obj.trueValue = 'true' + obj.falseText = '否' + obj.falseValue = 'false' + break; + } + return obj +} + export const useColumns = (type?: MetadataType, target?: 'device' | 'product', dataSource?: Ref, noEdit?: Ref) => { const BaseColumns: DataTableColumnProps[] = [ diff --git a/src/views/device/components/Metadata/Base/components/DataType.vue b/src/views/device/components/Metadata/Base/components/DataType.vue index fd1ca582..9695fff2 100644 --- a/src/views/device/components/Metadata/Base/components/DataType.vue +++ b/src/views/device/components/Metadata/Base/components/DataType.vue @@ -88,6 +88,7 @@ import { } from 'jetlinks-ui-components'; import DataTypeObjectChild from './DataTypeObjectChild.vue'; import { cloneDeep } from 'lodash-es'; +import { typeSelectChange } from '../columns' const props = defineProps({ value: { @@ -105,42 +106,7 @@ const _valueType = ref(cloneDeep(props.value.valueType)); const typeChange = (e: string) => { - let obj: any = {} - switch (e) { - case 'array': - obj.elementType = {} - break; - case 'object': - obj.properties = [] - break; - case 'enum': - obj.elements = [] - break; - case 'float': - case 'double': - obj.scale = 2 - obj.unit = undefined - case 'int': - case 'long': - obj.unit = undefined - break; - case 'file': - obj.fileType = undefined - break; - case 'date': - obj.format = undefined - break; - case 'string': - case 'password': - obj.maxLength = undefined - break; - case 'boolean': - obj.trueText = '是' - obj.trueValue = 'true' - obj.falseText = '否' - obj.falseValue = 'false' - break; - } + let obj: any = typeSelectChange(e) _valueType.value = obj emit('update:value', { ...props.value, diff --git a/src/views/device/components/Metadata/Base/components/Events/ValueObject.vue b/src/views/device/components/Metadata/Base/components/Events/ValueObject.vue index 31021b6c..9c876ed6 100644 --- a/src/views/device/components/Metadata/Base/components/Events/ValueObject.vue +++ b/src/views/device/components/Metadata/Base/components/Events/ValueObject.vue @@ -1,5 +1,5 @@ @@ -11,6 +11,7 @@ import { DataTableObject, } from 'jetlinks-ui-components'; import { DataType } from '../index' +import {typeSelectChange} from "@/views/device/components/Metadata/Base/columns"; type Emits = { @@ -37,6 +38,18 @@ const props = defineProps({ const type = ref(props.value.valueType?.type || null); +const change = (e: string) => { + console.log(e) + const obj = typeSelectChange(e) + emit('update:value', { + ...props.value, + valueType: { + type: type.value, + ...obj + } + }) +} + watch( () => props.value, (newV) => { @@ -45,12 +58,6 @@ watch( { immediate: true }, ); -watch(() => type.value, () => { - emit('update:value', { - ...props.value, - valueType: { type: type.value} - }) -}) diff --git a/src/views/device/components/Metadata/Base/components/Function/InputParams.vue b/src/views/device/components/Metadata/Base/components/Function/InputParams.vue index 992f5bf3..5e02bd64 100644 --- a/src/views/device/components/Metadata/Base/components/Function/InputParams.vue +++ b/src/views/device/components/Metadata/Base/components/Function/InputParams.vue @@ -3,7 +3,7 @@
{{ value?.map((item) => item.name).join(',') }}
- + @@ -27,6 +27,19 @@ import { } from 'jetlinks-ui-components'; import { ConstraintSelect, OtherConfigInfo, ValueObject } from '../index' +const addItem = () => { + return { + id: undefined, + name: undefined, + valueType: { + + }, + expands: { + required: false + } + } +} + const columns = [ { title: '参数标识', dataIndex: 'id', type: 'text', form: { required: true, rules: [{ required: true, message: '请输入标识'}]} }, { title: '参数名称', dataIndex: 'name', type: 'text', form: { required: true, rules: [{ required: true, message: '请输入名称'}]} },