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="搜索关键字"
/>
@@ -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(',') }}
-
+
{{ data.record.valueType?.type }}
@@ -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: '请输入名称'}]} },