Commit d05ba0c9cedc890c7f8168374268edd37c6255ae

Authored by ww
1 parent 4205799d

fix: 修复规则链部分节点回显问题

1 -import { DeviceInfoItemType, DeviceTypeItem, PageParams, ScriptTestParams } from './model'; 1 +import {
  2 + DeviceInfoItemType,
  3 + DeviceTypeItem,
  4 + PageParams,
  5 + QueryItemType,
  6 + ScriptTestParams,
  7 +} from './model';
2 import { TBPaginationResult } from '/#/axios'; 8 import { TBPaginationResult } from '/#/axios';
3 import { ScriptLanguageEnum } from '/@/enums/scriptEnum'; 9 import { ScriptLanguageEnum } from '/@/enums/scriptEnum';
4 import { defHttp } from '/@/utils/http/axios'; 10 import { defHttp } from '/@/utils/http/axios';
@@ -6,7 +12,7 @@ import { defHttp } from '/@/utils/http/axios'; @@ -6,7 +12,7 @@ import { defHttp } from '/@/utils/http/axios';
6 enum Api { 12 enum Api {
7 GET_DEVICE_INFOS = '/tenant/deviceInfos', 13 GET_DEVICE_INFOS = '/tenant/deviceInfos',
8 GET_DEVICE_TYPE = '/device/types', 14 GET_DEVICE_TYPE = '/device/types',
9 - TENANT_QUEUE = '/tenant/queues', 15 + QUEUE = '/queues',
10 TEST_SCRIPT = '/ruleChain/testScript', 16 TEST_SCRIPT = '/ruleChain/testScript',
11 } 17 }
12 18
@@ -39,10 +45,10 @@ export const getDeviceTypes = () => { @@ -39,10 +45,10 @@ export const getDeviceTypes = () => {
39 ); 45 );
40 }; 46 };
41 47
42 -export const getTenantQueue = (params: Recordable) => {  
43 - return defHttp.get<string[]>( 48 +export const getQueue = (params: Recordable) => {
  49 + return defHttp.get<TBPaginationResult<QueryItemType>>(
44 { 50 {
45 - url: Api.TENANT_QUEUE, 51 + url: Api.QUEUE,
46 params, 52 params,
47 }, 53 },
48 { joinPrefix: false } 54 { joinPrefix: false }
@@ -62,3 +62,31 @@ export interface ScriptTestParams { @@ -62,3 +62,31 @@ export interface ScriptTestParams {
62 scriptType?: string; 62 scriptType?: string;
63 needMetadataAndMsgType?: boolean; 63 needMetadataAndMsgType?: boolean;
64 } 64 }
  65 +
  66 +export interface QueryItemType {
  67 + id: Id;
  68 + createdTime: number;
  69 + additionalInfo: any;
  70 + tenantId: Id;
  71 + name: string;
  72 + topic: string;
  73 + pollInterval: number;
  74 + partitions: number;
  75 + consumerPerPartition: boolean;
  76 + packProcessingTimeout: number;
  77 + submitStrategy: SubmitStrategy;
  78 + processingStrategy: ProcessingStrategy;
  79 +}
  80 +
  81 +export interface SubmitStrategy {
  82 + type: string;
  83 + batchSize: number;
  84 +}
  85 +
  86 +export interface ProcessingStrategy {
  87 + type: string;
  88 + retries: number;
  89 + failurePercentage: number;
  90 + pauseBetweenRetries: number;
  91 + maxPauseBetweenRetries: number;
  92 +}
@@ -15,6 +15,8 @@ export enum AssignToCustomerFieldsNameEnum { @@ -15,6 +15,8 @@ export enum AssignToCustomerFieldsNameEnum {
15 export enum ClearAlarmFieldsEnum { 15 export enum ClearAlarmFieldsEnum {
16 ALARM_TYPE = 'alarmType', 16 ALARM_TYPE = 'alarmType',
17 ALARM_DETAILS_BUILD_JS = 'alarmDetailsBuildJs', 17 ALARM_DETAILS_BUILD_JS = 'alarmDetailsBuildJs',
  18 + ALARM_DETAILS_BUILD_TBEL = 'alarmDetailsBuildTbel',
  19 + SCRIPT_LANG = 'scriptLang',
18 } 20 }
19 21
20 export enum ClearAlarmFieldsNameEnum { 22 export enum ClearAlarmFieldsNameEnum {
1 import { ClearAlarmFieldsEnum, ClearAlarmFieldsNameEnum } from '../../../enum/formField/action'; 1 import { ClearAlarmFieldsEnum, ClearAlarmFieldsNameEnum } from '../../../enum/formField/action';
2 -import { JavascriptEditorWithTestModal } from '../../../src/components/JavaScriptFilterModal'; 2 +import {
  3 + JavascriptEditorWithTestModal,
  4 + ScriptEditorValueType,
  5 +} from '../../../src/components/JavaScriptFilterModal';
  6 +import { DefaultNodeConfig } from '../../../types/node';
3 import { FormSchema, useComponentRegister } from '/@/components/Form'; 7 import { FormSchema, useComponentRegister } from '/@/components/Form';
4 import { useI18n } from '/@/hooks/web/useI18n'; 8 import { useI18n } from '/@/hooks/web/useI18n';
5 9
@@ -7,6 +11,17 @@ const { t } = useI18n(); @@ -7,6 +11,17 @@ const { t } = useI18n();
7 11
8 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 12 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
9 13
  14 +export interface FormFieldsValue {
  15 + [ClearAlarmFieldsEnum.ALARM_DETAILS_BUILD_JS]: ScriptEditorValueType;
  16 +}
  17 +
  18 +export interface NodeConfigValue extends DefaultNodeConfig {
  19 + alarmDetailsBuildJs: string;
  20 + alarmDetailsBuildTbel: string;
  21 + alarmType: string;
  22 + scriptLang: string;
  23 +}
  24 +
10 export const formSchemas: FormSchema[] = [ 25 export const formSchemas: FormSchema[] = [
11 { 26 {
12 field: ClearAlarmFieldsEnum.ALARM_DETAILS_BUILD_JS, 27 field: ClearAlarmFieldsEnum.ALARM_DETAILS_BUILD_JS,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { NodeConfigValue, FormFieldsValue, formSchemas } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 6
7 defineProps<{ 7 defineProps<{
@@ -15,13 +15,29 @@ @@ -15,13 +15,29 @@
15 15
16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
17 await validate(); 17 await validate();
18 - const value = getFieldsValue() || {};  
19 - return value; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { alarmDetailsBuildJs, ...restParams } = value;
  20 + const { scriptLang, jsScript, tbelScript } = alarmDetailsBuildJs || {};
  21 +
  22 + return {
  23 + ...restParams,
  24 + scriptLang,
  25 + alarmDetailsBuildJs: jsScript,
  26 + alarmDetailsBuildTbel: tbelScript,
  27 + };
20 }; 28 };
21 29
22 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 30 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
23 resetFields(); 31 resetFields();
24 - setFieldsValue(value); 32 + const { alarmDetailsBuildJs, alarmDetailsBuildTbel, scriptLang } = value || {};
  33 + setFieldsValue({
  34 + ...value,
  35 + alarmDetailsBuildJs: {
  36 + jsScript: alarmDetailsBuildJs,
  37 + tbelScript: alarmDetailsBuildTbel,
  38 + scriptLang,
  39 + },
  40 + } as FormFieldsValue);
25 }; 41 };
26 42
27 defineExpose({ 43 defineExpose({
1 import { CreateAlarmFieldsEnum, CreateAlarmFieldsNameEnum } from '../../../enum/formField/action'; 1 import { CreateAlarmFieldsEnum, CreateAlarmFieldsNameEnum } from '../../../enum/formField/action';
2 -import { JavascriptEditorWithTestModal } from '../../../src/components/JavaScriptFilterModal'; 2 +import {
  3 + JavascriptEditorWithTestModal,
  4 + ScriptEditorValueType,
  5 +} from '../../../src/components/JavaScriptFilterModal';
  6 +import { DefaultNodeConfig } from '../../../types/node';
3 import { findDictItemByCode } from '/@/api/system/dict'; 7 import { findDictItemByCode } from '/@/api/system/dict';
4 import { FormSchema, useComponentRegister } from '/@/components/Form'; 8 import { FormSchema, useComponentRegister } from '/@/components/Form';
5 import { useI18n } from '/@/hooks/web/useI18n'; 9 import { useI18n } from '/@/hooks/web/useI18n';
@@ -8,6 +12,16 @@ const { t } = useI18n(); @@ -8,6 +12,16 @@ const { t } = useI18n();
8 12
9 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 13 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
10 14
  15 +export interface FormFieldsValue {
  16 + [CreateAlarmFieldsEnum.ALARM_DETAILS_BUILD_JS]: ScriptEditorValueType;
  17 +}
  18 +
  19 +export interface NodeConfigValue extends DefaultNodeConfig {
  20 + alarmDetailsBuildJs: string;
  21 + alarmDetailsBuildTbel: string;
  22 + scriptLang: string;
  23 +}
  24 +
11 export const formSchemas: FormSchema[] = [ 25 export const formSchemas: FormSchema[] = [
12 { 26 {
13 field: CreateAlarmFieldsEnum.USE_MESSAGE_ALARM_DATA, 27 field: CreateAlarmFieldsEnum.USE_MESSAGE_ALARM_DATA,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { FormFieldsValue, formSchemas, NodeConfigValue } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 6
7 defineProps<{ 7 defineProps<{
@@ -15,13 +15,28 @@ @@ -15,13 +15,28 @@
15 15
16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
17 await validate(); 17 await validate();
18 - const value = getFieldsValue() || {};  
19 - return value; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { alarmDetailsBuildJs, ...resetParams } = value;
  20 + const { scriptLang, tbelScript, jsScript } = alarmDetailsBuildJs;
  21 + return {
  22 + ...resetParams,
  23 + alarmDetailsBuildJs: jsScript,
  24 + alarmDetailsBuildTbel: tbelScript,
  25 + scriptLang,
  26 + } as NodeConfigValue;
20 }; 27 };
21 28
22 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 29 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
23 resetFields(); 30 resetFields();
24 - setFieldsValue(value); 31 + const { alarmDetailsBuildJs, alarmDetailsBuildTbel, scriptLang } = value;
  32 + setFieldsValue({
  33 + ...value,
  34 + alarmDetailsBuildJs: {
  35 + jsScript: alarmDetailsBuildJs,
  36 + tbelScript: alarmDetailsBuildTbel,
  37 + scriptLang,
  38 + },
  39 + } as FormFieldsValue);
25 }; 40 };
26 41
27 defineExpose({ 42 defineExpose({
1 import { EntityTypeEnum, EntityTypeNameEnum } from '../../../enum/form'; 1 import { EntityTypeEnum, EntityTypeNameEnum } from '../../../enum/form';
2 import { GeneratorFieldsEnum, GeneratorFieldsNameEnum } from '../../../enum/formField/action'; 2 import { GeneratorFieldsEnum, GeneratorFieldsNameEnum } from '../../../enum/formField/action';
3 -import { JavascriptEditorWithTestModal } from '../../../src/components/JavaScriptFilterModal'; 3 +import {
  4 + JavascriptEditorWithTestModal,
  5 + ScriptEditorValueType,
  6 +} from '../../../src/components/JavaScriptFilterModal';
  7 +import { DefaultNodeConfig } from '../../../types/node';
4 import { getEntityIdSelect } from '../../Filter/CheckRelation/create.config'; 8 import { getEntityIdSelect } from '../../Filter/CheckRelation/create.config';
5 import { FormSchema, useComponentRegister } from '/@/components/Form'; 9 import { FormSchema, useComponentRegister } from '/@/components/Form';
6 import { useI18n } from '/@/hooks/web/useI18n'; 10 import { useI18n } from '/@/hooks/web/useI18n';
@@ -9,6 +13,12 @@ const { t } = useI18n(); @@ -9,6 +13,12 @@ const { t } = useI18n();
9 13
10 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 14 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
11 15
  16 +export interface FormFieldsValue {
  17 + [GeneratorFieldsEnum.JS_SCRIPT]: ScriptEditorValueType;
  18 +}
  19 +
  20 +export interface NodeConfigValue extends DefaultNodeConfig, ScriptEditorValueType {}
  21 +
12 export const formSchemas: FormSchema[] = [ 22 export const formSchemas: FormSchema[] = [
13 { 23 {
14 field: GeneratorFieldsEnum.MSG_COUNT, 24 field: GeneratorFieldsEnum.MSG_COUNT,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { FormFieldsValue, formSchemas, NodeConfigValue } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 6
7 defineProps<{ 7 defineProps<{
@@ -15,13 +15,25 @@ @@ -15,13 +15,25 @@
15 15
16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
17 await validate(); 17 await validate();
18 - const value = getFieldsValue() || {};  
19 - return value; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { jsScript, ...resetParams } = value;
  20 + return {
  21 + ...resetParams,
  22 + ...jsScript,
  23 + } as NodeConfigValue;
20 }; 24 };
21 25
22 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 26 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
23 resetFields(); 27 resetFields();
24 - setFieldsValue(value); 28 + const { jsScript, tbelScript, scriptLang } = value;
  29 + setFieldsValue({
  30 + ...value,
  31 + jsScript: {
  32 + jsScript,
  33 + tbelScript,
  34 + scriptLang,
  35 + },
  36 + } as FormFieldsValue);
25 }; 37 };
26 38
27 defineExpose({ 39 defineExpose({
1 import { LogFieldsEnum, LogFieldsNameEnum } from '../../../enum/formField/action'; 1 import { LogFieldsEnum, LogFieldsNameEnum } from '../../../enum/formField/action';
2 -import { JavascriptEditorWithTestModal } from '../../../src/components/JavaScriptFilterModal'; 2 +import {
  3 + JavascriptEditorWithTestModal,
  4 + ScriptEditorValueType,
  5 +} from '../../../src/components/JavaScriptFilterModal';
  6 +import { DefaultNodeConfig } from '../../../types/node';
3 import { FormSchema, useComponentRegister } from '/@/components/Form'; 7 import { FormSchema, useComponentRegister } from '/@/components/Form';
4 import { useI18n } from '/@/hooks/web/useI18n'; 8 import { useI18n } from '/@/hooks/web/useI18n';
5 const { t } = useI18n(); 9 const { t } = useI18n();
6 10
7 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 11 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
8 12
  13 +export interface FormFieldsValue {
  14 + [LogFieldsEnum.JS_SCRIPT]: ScriptEditorValueType;
  15 +}
  16 +
  17 +export interface NodeConfigValue extends DefaultNodeConfig, ScriptEditorValueType {}
  18 +
9 export const formSchemas: FormSchema[] = [ 19 export const formSchemas: FormSchema[] = [
10 { 20 {
11 field: LogFieldsEnum.JS_SCRIPT, 21 field: LogFieldsEnum.JS_SCRIPT,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { FormFieldsValue, formSchemas, NodeConfigValue } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 6
7 defineProps<{ 7 defineProps<{
@@ -15,13 +15,25 @@ @@ -15,13 +15,25 @@
15 15
16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
17 await validate(); 17 await validate();
18 - const value = getFieldsValue() || {};  
19 - return value; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { jsScript, ...resetParams } = value;
  20 + return {
  21 + ...resetParams,
  22 + ...jsScript,
  23 + } as NodeConfigValue;
20 }; 24 };
21 25
22 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 26 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
23 resetFields(); 27 resetFields();
24 - setFieldsValue(value); 28 + const { jsScript, tbelScript, scriptLang } = value;
  29 + setFieldsValue({
  30 + ...value,
  31 + jsScript: {
  32 + jsScript,
  33 + tbelScript,
  34 + scriptLang,
  35 + },
  36 + } as FormFieldsValue);
25 }; 37 };
26 38
27 defineExpose({ 39 defineExpose({
1 import { FormSchema, useComponentRegister } from '/@/components/Form'; 1 import { FormSchema, useComponentRegister } from '/@/components/Form';
2 import HelpMessage from './HelpMessage.vue'; 2 import HelpMessage from './HelpMessage.vue';
3 -import { JavascriptEditorWithTestModal } from '/@/views/rule/designer/src/components/JavaScriptFilterModal'; 3 +import {
  4 + JavascriptEditorWithTestModal,
  5 + ScriptEditorValueType,
  6 +} from '/@/views/rule/designer/src/components/JavaScriptFilterModal';
4 import { ScriptFieldsEnum, ScriptFieldsNameEnum } from '../../../enum/formField/filter'; 7 import { ScriptFieldsEnum, ScriptFieldsNameEnum } from '../../../enum/formField/filter';
5 import { useI18n } from '/@/hooks/web/useI18n'; 8 import { useI18n } from '/@/hooks/web/useI18n';
6 import { h } from 'vue'; 9 import { h } from 'vue';
  10 +import { DefaultNodeConfig } from '../../../types/node';
7 11
8 const { t } = useI18n(); 12 const { t } = useI18n();
9 13
10 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 14 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
11 15
  16 +export interface FormFieldsValue {
  17 + [ScriptFieldsEnum.JS_SCRIPT]: ScriptEditorValueType;
  18 +}
  19 +
  20 +export interface NodeConfigValue extends DefaultNodeConfig, ScriptEditorValueType {}
  21 +
12 export const formSchemas: FormSchema[] = [ 22 export const formSchemas: FormSchema[] = [
13 { 23 {
14 field: ScriptFieldsEnum.JS_SCRIPT, 24 field: ScriptFieldsEnum.JS_SCRIPT,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { FormFieldsValue, formSchemas, NodeConfigValue } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 6
7 defineProps<{ 7 defineProps<{
@@ -15,13 +15,25 @@ @@ -15,13 +15,25 @@
15 15
16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
17 await validate(); 17 await validate();
18 - const value = getFieldsValue() || {};  
19 - return value; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { jsScript, ...resetParams } = value;
  20 + return {
  21 + ...resetParams,
  22 + ...jsScript,
  23 + } as NodeConfigValue;
20 }; 24 };
21 25
22 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 26 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
23 resetFields(); 27 resetFields();
24 - setFieldsValue(value); 28 + const { jsScript, tbelScript, scriptLang } = value;
  29 + setFieldsValue({
  30 + ...value,
  31 + jsScript: {
  32 + jsScript,
  33 + tbelScript,
  34 + scriptLang,
  35 + },
  36 + } as FormFieldsValue);
25 }; 37 };
26 38
27 defineExpose({ 39 defineExpose({
1 import { SwitchFieldsEnum, SwitchFieldsNameEnum } from '../../../enum/formField/filter'; 1 import { SwitchFieldsEnum, SwitchFieldsNameEnum } from '../../../enum/formField/filter';
2 import { FormSchema, useComponentRegister } from '/@/components/Form'; 2 import { FormSchema, useComponentRegister } from '/@/components/Form';
3 -import { JavascriptEditorWithTestModal } from '/@/views/rule/designer/src/components/JavaScriptFilterModal'; 3 +import {
  4 + JavascriptEditorWithTestModal,
  5 + ScriptEditorValueType,
  6 +} from '/@/views/rule/designer/src/components/JavaScriptFilterModal';
4 import { useI18n } from '/@/hooks/web/useI18n'; 7 import { useI18n } from '/@/hooks/web/useI18n';
  8 +import { DefaultNodeConfig } from '../../../types/node';
5 9
6 const { t } = useI18n(); 10 const { t } = useI18n();
7 11
8 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 12 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
9 13
  14 +export interface FormFieldsValue {
  15 + [SwitchFieldsEnum.JS_SCRIPT]: ScriptEditorValueType;
  16 +}
  17 +
  18 +export interface NodeConfigValue extends DefaultNodeConfig, ScriptEditorValueType {}
  19 +
10 export const formSchemas: FormSchema[] = [ 20 export const formSchemas: FormSchema[] = [
11 { 21 {
12 field: SwitchFieldsEnum.JS_SCRIPT, 22 field: SwitchFieldsEnum.JS_SCRIPT,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { FormFieldsValue, formSchemas, NodeConfigValue } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 6
7 defineProps<{ 7 defineProps<{
@@ -15,13 +15,25 @@ @@ -15,13 +15,25 @@
15 15
16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
17 await validate(); 17 await validate();
18 - const value = getFieldsValue() || {};  
19 - return value; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { jsScript, ...resetParams } = value;
  20 + return {
  21 + ...resetParams,
  22 + ...jsScript,
  23 + } as NodeConfigValue;
20 }; 24 };
21 25
22 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 26 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
23 resetFields(); 27 resetFields();
24 - setFieldsValue(value); 28 + const { jsScript, tbelScript, scriptLang } = value;
  29 + setFieldsValue({
  30 + ...value,
  31 + jsScript: {
  32 + jsScript,
  33 + tbelScript,
  34 + scriptLang,
  35 + },
  36 + } as FormFieldsValue);
25 }; 37 };
26 38
27 defineExpose({ 39 defineExpose({
1 import { CheckPointFieldsEnum, CheckPointFieldsNameEnum } from '../../../enum/formField/flow'; 1 import { CheckPointFieldsEnum, CheckPointFieldsNameEnum } from '../../../enum/formField/flow';
2 import { FormSchema, useComponentRegister } from '/@/components/Form'; 2 import { FormSchema, useComponentRegister } from '/@/components/Form';
3 import ApiComplete from './ApiComplete.vue'; 3 import ApiComplete from './ApiComplete.vue';
4 -import { getTenantQueue } from '/@/api/ruleChainDesigner'; 4 +import { getQueue } from '/@/api/ruleChainDesigner';
5 5
6 import { useI18n } from '/@/hooks/web/useI18n'; 6 import { useI18n } from '/@/hooks/web/useI18n';
7 7
@@ -23,10 +23,16 @@ export const formSchemas: FormSchema[] = [ @@ -23,10 +23,16 @@ export const formSchemas: FormSchema[] = [
23 placeholder: `请选择${t(CheckPointFieldsNameEnum.QUEUE_NAME)}`, 23 placeholder: `请选择${t(CheckPointFieldsNameEnum.QUEUE_NAME)}`,
24 getPopupContainer: () => document.body, 24 getPopupContainer: () => document.body,
25 api: async (params: Recordable) => { 25 api: async (params: Recordable) => {
26 - const options = await getTenantQueue(params);  
27 - return options.map((value) => ({ label: value, value })); 26 + const options = await getQueue(params);
  27 + return options.data.map((value) => ({ label: value.name, value: value.name }));
  28 + },
  29 + params: {
  30 + serviceType: 'TB_RULE_ENGINE',
  31 + page: 0,
  32 + pageSize: 10,
  33 + sortProperty: 'name',
  34 + sortOrder: 'ASC',
28 }, 35 },
29 - params: { serviceType: 'TB_RULE_ENGINE' },  
30 }; 36 };
31 }, 37 },
32 }, 38 },
1 import { ScriptFieldsEnum, ScriptFieldsNameEnum } from '../../../enum/formField/transformation'; 1 import { ScriptFieldsEnum, ScriptFieldsNameEnum } from '../../../enum/formField/transformation';
2 -import { JavascriptEditorWithTestModal } from '../../../src/components/JavaScriptFilterModal'; 2 +import {
  3 + JavascriptEditorWithTestModal,
  4 + ScriptEditorValueType,
  5 +} from '../../../src/components/JavaScriptFilterModal';
  6 +import { DefaultNodeConfig } from '../../../types/node';
3 import { FormSchema, useComponentRegister } from '/@/components/Form'; 7 import { FormSchema, useComponentRegister } from '/@/components/Form';
4 import { useI18n } from '/@/hooks/web/useI18n'; 8 import { useI18n } from '/@/hooks/web/useI18n';
5 9
@@ -7,6 +11,12 @@ const { t } = useI18n(); @@ -7,6 +11,12 @@ const { t } = useI18n();
7 11
8 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal); 12 useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);
9 13
  14 +export interface FormFieldsValue {
  15 + [ScriptFieldsEnum.JS_SCRIPT]: ScriptEditorValueType;
  16 +}
  17 +
  18 +export interface NodeConfigValue extends DefaultNodeConfig, ScriptEditorValueType {}
  19 +
10 export const formSchemas: FormSchema[] = [ 20 export const formSchemas: FormSchema[] = [
11 { 21 {
12 field: ScriptFieldsEnum.JS_SCRIPT, 22 field: ScriptFieldsEnum.JS_SCRIPT,
1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 import type { CreateModalDefineExposeType } from '../../../types'; 2 import type { CreateModalDefineExposeType } from '../../../types';
3 import { BasicForm, useForm } from '/@/components/Form'; 3 import { BasicForm, useForm } from '/@/components/Form';
4 - import { formSchemas } from './create.config'; 4 + import { FormFieldsValue, formSchemas, NodeConfigValue } from './create.config';
5 import { NodeData } from '../../../types/node'; 5 import { NodeData } from '../../../types/node';
6 - import { ScriptEditorValueType } from '/@/views/rule/designer/src/components/JavaScriptFilterModal';  
7 - import { ScriptFieldsEnum } from '../../../enum/formField/transformation';  
8 6
9 defineProps<{ 7 defineProps<{
10 config: NodeData; 8 config: NodeData;
@@ -17,16 +15,25 @@ @@ -17,16 +15,25 @@
17 15
18 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => { 16 const getValue: CreateModalDefineExposeType['getFieldsValue'] = async () => {
19 await validate(); 17 await validate();
20 - const value = getFieldsValue() || {};  
21 - const { scriptLang, jsScript, tbelScript } = (value || {})?.jsScript as ScriptEditorValueType;  
22 - return { scriptLang, jsScript, tbelScript }; 18 + const value = (getFieldsValue() || {}) as FormFieldsValue;
  19 + const { jsScript, ...resetParams } = value;
  20 + return {
  21 + ...resetParams,
  22 + ...jsScript,
  23 + } as NodeConfigValue;
23 }; 24 };
24 25
25 - const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value) => { 26 + const setValue: CreateModalDefineExposeType['setFieldsValue'] = (value: NodeConfigValue) => {
26 resetFields(); 27 resetFields();
  28 + const { jsScript, tbelScript, scriptLang } = value;
27 setFieldsValue({ 29 setFieldsValue({
28 - [ScriptFieldsEnum.JS_SCRIPT]: value,  
29 - }); 30 + ...value,
  31 + jsScript: {
  32 + jsScript,
  33 + tbelScript,
  34 + scriptLang,
  35 + },
  36 + } as FormFieldsValue);
30 }; 37 };
31 38
32 defineExpose({ 39 defineExpose({