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>
<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
ref="formRef"
:model="form"

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,8 @@
<NodeContainer :nodeModel="nodeModel">
<h5 class="title-decoration-1 mb-8">全局变量</h5>
<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"
@mouseenter="showicon = true"
@mouseleave="showicon = false"