refactor: spel
This commit is contained in:
parent
a971369b91
commit
317c17ee88
15
apps/web-antd/src/views/workflow/spel/common.ts
Normal file
15
apps/web-antd/src/views/workflow/spel/common.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
export function generateSpel(data: {
|
||||||
|
componentName?: string;
|
||||||
|
methodName?: string;
|
||||||
|
methodParams?: string;
|
||||||
|
}) {
|
||||||
|
const { componentName, methodName, methodParams } = data;
|
||||||
|
if (!componentName || !methodName) {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
|
||||||
|
const params = methodParams ? methodParams.split(',') : [];
|
||||||
|
const methodParamsText = params.map((item) => `#${item}`).join(',');
|
||||||
|
|
||||||
|
return `#{@${componentName}.${methodName}(${methodParamsText})}`;
|
||||||
|
}
|
||||||
@ -9,6 +9,7 @@ import { useVbenForm } from '#/adapter/form';
|
|||||||
import { spelAdd, spelInfo, spelUpdate } from '#/api/workflow/spel';
|
import { spelAdd, spelInfo, spelUpdate } from '#/api/workflow/spel';
|
||||||
import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup';
|
import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup';
|
||||||
|
|
||||||
|
import { generateSpel } from './common';
|
||||||
import { drawerSchema } from './data';
|
import { drawerSchema } from './data';
|
||||||
import SpelPreviewer from './spel-previewer.vue';
|
import SpelPreviewer from './spel-previewer.vue';
|
||||||
|
|
||||||
@ -69,7 +70,13 @@ async function handleConfirm() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const data = cloneDeep(await formApi.getValues());
|
const data = cloneDeep(await formApi.getValues());
|
||||||
await (isUpdate.value ? spelUpdate(data) : spelAdd(data));
|
if (isUpdate.value) {
|
||||||
|
await spelUpdate(data);
|
||||||
|
} else {
|
||||||
|
// 新增需要生成
|
||||||
|
data.viewSpel = generateSpel(data);
|
||||||
|
await spelAdd(data);
|
||||||
|
}
|
||||||
resetInitialized();
|
resetInitialized();
|
||||||
emit('reload');
|
emit('reload');
|
||||||
drawerApi.close();
|
drawerApi.close();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user