perf:【应用编排】变量设置优化

This commit is contained in:
wangdan-fit2cloud 2024-09-24 14:35:48 +08:00
parent 6cacb5be71
commit e69b74ec86
6 changed files with 42 additions and 22 deletions

View File

@ -1,5 +1,11 @@
<template> <template>
<el-dialog title="修改内容" v-model="dialogVisible" width="600"> <el-dialog
title="修改内容"
v-model="dialogVisible"
width="600"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<el-form <el-form
ref="formRef" ref="formRef"
:model="form" :model="form"

View File

@ -1,7 +1,7 @@
import Components from '@/components' import Components from '@/components'
import ElementPlus from 'element-plus' import ElementPlus from 'element-plus'
import * as ElementPlusIcons from '@element-plus/icons-vue' import * as ElementPlusIcons from '@element-plus/icons-vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { HtmlResize } from '@logicflow/extension' import { HtmlResize } from '@logicflow/extension'
import { h as lh } from '@logicflow/core' import { h as lh } from '@logicflow/core'
@ -26,7 +26,9 @@ class AppNode extends HtmlResize.view {
this.app = createApp({ this.app = createApp({
render: () => this.r render: () => this.r
}) })
this.app.use(ElementPlus) this.app.use(ElementPlus, {
locale: zhCn
})
this.app.use(Components) this.app.use(Components)
this.app.use(directives) this.app.use(directives)
this.app.use(i18n) this.app.use(i18n)

View File

@ -157,7 +157,11 @@ export const rerankerNode = {
config: { config: {
fields: [ fields: [
{ {
label: '结果', label: '重排结果列表',
value: 'result_list'
},
{
label: '重排结果',
value: 'result' value: 'result'
} }
] ]

View File

@ -33,7 +33,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="输入类型"> <el-form-item label="输入类型">
<el-select v-model="form.type"> <el-select v-model="form.type" @change="changeType">
<el-option label="文本框" value="input" /> <el-option label="文本框" value="input" />
<el-option label="日期" value="date" /> <el-option label="日期" value="date" />
<el-option label="下拉选项" value="select" /> <el-option label="下拉选项" value="select" />
@ -64,7 +64,15 @@
<el-form-item label="是否必填" @click.prevent> <el-form-item label="是否必填" @click.prevent>
<el-switch size="small" v-model="form.is_required"></el-switch> <el-switch size="small" v-model="form.is_required"></el-switch>
</el-form-item> </el-form-item>
<el-form-item label="默认值" prop="default_value"> <el-form-item
label="默认值"
prop="default_value"
:rules="{
required: form.is_required,
message: '请输入默认值',
trigger: 'blur'
}"
>
<el-input <el-input
v-if="form.type === 'input'" v-if="form.type === 'input'"
v-model="form.default_value" v-model="form.default_value"
@ -127,25 +135,18 @@ const form = ref<any>({
type: 'input', type: 'input',
is_required: true, is_required: true,
assignment_method: 'user_input', assignment_method: 'user_input',
optionList: [''] optionList: [''],
default_value: ''
}) })
const rules = reactive({ const rules = reactive({
name: [{ required: true, message: '请输入变量名', trigger: 'blur' }], name: [{ required: true, message: '请输入变量名', trigger: 'blur' }],
variable: [{ required: true, message: '请输入变量', trigger: 'blur' }, { pattern: /^[a-zA-Z_]+$/, message: '只能输入字母和下划线', trigger: 'blur' } ], variable: [
default_value: [{ required: true, message: '请输入默认值', trigger: 'blur' }] { required: true, message: '请输入变量', trigger: 'blur' },
{ pattern: /^[a-zA-Z_]+$/, message: '只能输入字母和下划线', trigger: 'blur' }
]
}) })
watch(
form,
(val) => {
rules.default_value[0].required = !!val.is_required
},
{
deep: true
}
)
const dialogVisible = ref<boolean>(false) const dialogVisible = ref<boolean>(false)
watch(dialogVisible, (bool) => { watch(dialogVisible, (bool) => {
@ -156,7 +157,8 @@ watch(dialogVisible, (bool) => {
type: 'input', type: 'input',
is_required: true, is_required: true,
assignment_method: 'user_input', assignment_method: 'user_input',
optionList: [''] optionList: [''],
default_value: ''
} }
isEdit.value = false isEdit.value = false
} }
@ -195,6 +197,11 @@ const delOption = (index: number) => {
form.value.optionList.splice(index, 1) form.value.optionList.splice(index, 1)
} }
const changeType = () => {
form.value.optionList = ['']
form.value.default_value = ''
}
defineExpose({ open, close }) defineExpose({ open, close })
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

View File

@ -68,7 +68,7 @@
<el-table-column label="必填"> <el-table-column label="必填">
<template #default="{ row }"> <template #default="{ row }">
<div @click.stop> <div @click.stop>
<el-switch size="small" v-model="row.is_required" /> <el-switch disabled size="small" v-model="row.is_required" />
</div> </div>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -2,7 +2,8 @@
<NodeContainer :nodeModel="nodeModel"> <NodeContainer :nodeModel="nodeModel">
<h5 class="title-decoration-1 mb-8">全局变量</h5> <h5 class="title-decoration-1 mb-8">全局变量</h5>
<div <div
v-for="item in nodeModel.properties.config.globalFields" v-for="(item, index) in nodeModel.properties.config.globalFields"
:key="index"
class="flex-between border-r-4 p-8-12 mb-8 layout-bg lighter" class="flex-between border-r-4 p-8-12 mb-8 layout-bg lighter"
@mouseenter="showicon = true" @mouseenter="showicon = true"
@mouseleave="showicon = false" @mouseleave="showicon = false"