Compare commits

..

No commits in common. "8f62dd5e06e669cf037c6a917541d11b46e3457e" and "165dcf761b87ebc6d2014c8aaf450e870be006c0" have entirely different histories.

13 changed files with 33 additions and 42 deletions

View File

@ -27,26 +27,31 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, ref } from 'vue' import { computed, ref } from 'vue'
const props = defineProps({ const props = defineProps({
type: 3 type: {
type: Number,
// required: true,
validator: (val: number) => [1, 2, 3, 4].includes(val),
default:3
}
}) })
const show = ref(false) const show = ref(false)
const typeMap = { const typeMap = {
// 1: 'SpEL', // 1: 'SQEL',
// 2: 'Aviator', 2: 'Aviator',
3: 'QL', 3: '表达式',
// 4: '' 4: '表达式'
} }
const examples = { const examples = {
// 1: `# SQEL\nuser.age > 18 \nAND department == 'IT' \nOR (vipLevel >= 3 AND creditScore > 800)`, 1: `# SQEL条件表达式示例\nuser.age > 18 \nAND department == 'IT' \nOR (vipLevel >= 3 AND creditScore > 800)`,
3: `// 查询语言示例\nfrom Employee e\nwhere e.salary > 10000\nand e.joinDate > '2020-01-01'\nselect e.name, e.position`, 3: `#时间类型变量\n LocalDateTime.now().plusDays(15)\n .format(DateTimeFormatter\n .ofPattern('yyyy-MM-dd'))\n#系统属性\n System.getenv('JAVA_HOME')`,
// 2: `## Aviator\nlet user = {\n name: '',\n vip: true,\n credit: 1500\n};\n\nif(user.vip&&user.credit>1000){\n "VIP"\n} else {\n ""\n}`, 2: `## Aviator脚本示例\nlet user = {\n name: '张三',\n vip: true,\n credit: 1500\n};\n\nif(user.vip&&user.credit>1000){\n "尊享VIP服务"\n} else {\n "标准服务"\n}`,
// 4: `// \n"#status == 'SUCCESS'"\n"#taskStatus != 'FAILED'" ` 4: `// 状态判断\n"#status == 'SUCCESS'"\n"#taskStatus != 'FAILED'" `
} }
const typeLabel = 'QL' const typeLabel = computed(() => typeMap[props.type])
const exampleText = `// 查询语言示例\nfrom Employee e\nwhere e.salary > 10000\nand e.joinDate > '2020-01-01'\nselect e.name, e.position` const exampleText = computed(() => examples[props.type])
const toggleExample = () => { const toggleExample = () => {
show.value = !show.value show.value = !show.value

View File

@ -32,7 +32,7 @@ const drawer = ref<boolean>(false);
const form = ref<Workflow.ConditionNodeType>({ const form = ref<Workflow.ConditionNodeType>({
decision: { decision: {
logicalCondition: 1, logicalCondition: 1,
expressionType: 3, expressionType: 1,
nodeExpression: '', nodeExpression: '',
checkContents: [] checkContents: []
} }
@ -136,7 +136,6 @@ const rules: FormRules = {
:key="strategy.value" :key="strategy.value"
:label="strategy.label" :label="strategy.label"
:value="strategy.value" :value="strategy.value"
/> />
</NSpace> </NSpace>
<example-expression :type="form.decision!.expressionType" /> <example-expression :type="form.decision!.expressionType" />

View File

@ -48,7 +48,7 @@ const addType = (type: number) => {
nodeName: `${$t('workflow.node.condition.conditionNodes.nodeName')} 1`, nodeName: `${$t('workflow.node.condition.conditionNodes.nodeName')} 1`,
priorityLevel: 1, priorityLevel: 1,
decision: { decision: {
expressionType: 3, expressionType: 1,
nodeExpression: undefined, nodeExpression: undefined,
logicalCondition: 1, logicalCondition: 1,
defaultDecision: 0 defaultDecision: 0
@ -58,7 +58,7 @@ const addType = (type: number) => {
nodeName: $t('workflow.node.condition.conditionNodes.otherNodeName'), nodeName: $t('workflow.node.condition.conditionNodes.otherNodeName'),
priorityLevel: 2, priorityLevel: 2,
decision: { decision: {
expressionType: 3, expressionType: 1,
nodeExpression: '#true', nodeExpression: '#true',
logicalCondition: 1, logicalCondition: 1,
defaultDecision: 1 defaultDecision: 1

View File

@ -47,7 +47,7 @@ const addTerm = () => {
nodeName: `${$t('workflow.node.condition.conditionNodes.nodeName')} ${len}`, nodeName: `${$t('workflow.node.condition.conditionNodes.nodeName')} ${len}`,
priorityLevel: len, priorityLevel: len,
decision: { decision: {
expressionType: 3, expressionType: 1,
nodeExpression: undefined, nodeExpression: undefined,
logicalCondition: 1, logicalCondition: 1,
defaultDecision: 0 defaultDecision: 0

View File

@ -158,7 +158,7 @@ export const logicalConditionRecord: Record<Api.Common.LogicalCondition, string>
export const logicalConditionOptions = transformRecordToNumberOption(logicalConditionRecord); export const logicalConditionOptions = transformRecordToNumberOption(logicalConditionRecord);
/** 表达式类型 */ /** 表达式类型 */
export const expressionRecord: { 3: string } = { export const expressionRecord: Record<Api.Common.Expression, string> = {
// 1: 'SpEl', // 1: 'SpEl',
// 2: 'Aviator', // 2: 'Aviator',
3: 'QL' 3: 'QL'

View File

@ -400,7 +400,7 @@ const local: App.I18n.Schema = {
job_task: '任务管理', job_task: '任务管理',
job_batch: '执行批次', job_batch: '执行批次',
system: '系统参数', system: '系统参数',
system_manager: '参数管理' system_variable: '参数管理',
}, },
page: { page: {
common: { common: {

View File

@ -34,7 +34,7 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
retry_info: () => import("@/views/retry/info/index.vue"), retry_info: () => import("@/views/retry/info/index.vue"),
retry_scene: () => import("@/views/retry/scene/index.vue"), retry_scene: () => import("@/views/retry/scene/index.vue"),
retry_task: () => import("@/views/retry/task/index.vue"), retry_task: () => import("@/views/retry/task/index.vue"),
system_manager: () => import("@/views/system/manager/index.vue"), system_variable: () => import("@/views/system/manager/index.vue"),
user_manager: () => import("@/views/user/manager/index.vue"), user_manager: () => import("@/views/user/manager/index.vue"),
workflow_batch: () => import("@/views/workflow/batch/index.vue"), workflow_batch: () => import("@/views/workflow/batch/index.vue"),
workflow_form_add: () => import("@/views/workflow/form/add/index.vue"), workflow_form_add: () => import("@/views/workflow/form/add/index.vue"),

View File

@ -280,13 +280,13 @@ export const generatedRoutes: GeneratedRoute[] = [
}, },
children: [ children: [
{ {
name: 'system_manager', name: 'system_variable',
path: '/system/manager', path: '/system/variable',
component: 'view.system_manager', component: 'view.system_variable',
meta: { meta: {
title: 'system_manager', title: 'system_variable',
i18nKey: 'route.system_manager', icon: 'system:parameter',
icon: 'system:config' i18nKey: 'route.system_variable'
} }
} }
] ]

View File

@ -1058,7 +1058,6 @@ declare namespace Api {
Pick< Pick<
Api.Job.Job, Api.Job.Job,
| 'groupName' | 'groupName'
| 'groupNameCn'
| 'jobName' | 'jobName'
| 'ownerId' | 'ownerId'
| 'argsStr' | 'argsStr'

View File

@ -116,9 +116,7 @@ async function handleSubmit() {
initScene, initScene,
groupPartition groupPartition
}); });
if (error) { if (error) return;
throw error;
};
window.$message?.success($t('common.addSuccess')); window.$message?.success($t('common.addSuccess'));
} else { } else {
@ -214,6 +212,7 @@ async function handleCopy(source: string) {
:maxlength="64" :maxlength="64"
show-count show-count
:placeholder="$t('page.groupConfig.form.groupNameCn')" :placeholder="$t('page.groupConfig.form.groupNameCn')"
:disabled="props.operateType === 'edit'"
/> />
</NFormItem> </NFormItem>
<NFormItem :label="$t('page.groupConfig.groupStatus')" path="groupStatus"> <NFormItem :label="$t('page.groupConfig.groupStatus')" path="groupStatus">

View File

@ -28,7 +28,7 @@ function search() {
<template> <template>
<SearchForm :model="model" @search="search" @reset="reset"> <SearchForm :model="model" @search="search" @reset="reset">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupName')" path="groupName" class="pr-24px"> <NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupName')" path="groupName" class="pr-24px">
<NInput v-model:value="model.groupNameCn" :placeholder="$t('page.groupConfig.form.groupName')" clearable /> <NInput v-model:value="model.groupName" :placeholder="$t('page.groupConfig.form.groupName')" clearable />
</NFormItemGi> </NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupStatus')" path="groupStatus" class="pr-24px"> <NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupStatus')" path="groupStatus" class="pr-24px">
<NSelect <NSelect

View File

@ -618,17 +618,6 @@ const scriptMethodOptions = [
<NSelect v-model:value="scriptParams.method" :options="scriptMethodOptions" /> <NSelect v-model:value="scriptParams.method" :options="scriptMethodOptions" />
</NFormItem> </NFormItem>
<NFormItem label="脚本参数"> <NFormItem label="脚本参数">
<template #label>
脚本参数
<NTooltip trigger="hover">
<template #trigger>
<icon-ic-round-info class="text-icon ml-4px" />
</template>
需下载脚本-填写需下载脚本的httpurl<br />
本地脚本-填写客户端本地脚本路径<br />
脚本代码-填写脚本内容
</NTooltip>
</template>
<CodeMirror v-model="scriptParams.scriptParams" lang="json" placeholder="请输入脚本参数" /> <CodeMirror v-model="scriptParams.scriptParams" lang="json" placeholder="请输入脚本参数" />
</NFormItem> </NFormItem>
<NFormItem label="编码格式"> <NFormItem label="编码格式">

View File

@ -29,7 +29,7 @@ function search() {
<template> <template>
<SearchForm btn-span="24 s:12 m:18 l:18 xl:18" :model="model" @search="search" @reset="reset"> <SearchForm btn-span="24 s:12 m:18 l:18 xl:18" :model="model" @search="search" @reset="reset">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.jobTask.groupName')" path="groupName" class="pr-24px"> <NFormItemGi span="24 s:12 m:6" :label="$t('page.jobTask.groupName')" path="groupName" class="pr-24px">
<SelectGroup v-model:value="model.groupNameCn" clearable /> <SelectGroup v-model:value="model.groupName" clearable />
</NFormItemGi> </NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.jobTask.jobName')" path="jobName" class="pr-24px"> <NFormItemGi span="24 s:12 m:6" :label="$t('page.jobTask.jobName')" path="jobName" class="pr-24px">
<NInput v-model:value="model.jobName" :placeholder="$t('page.jobTask.form.jobName')" clearable /> <NInput v-model:value="model.jobName" :placeholder="$t('page.jobTask.form.jobName')" clearable />