This commit is contained in:
liqiang-fit2cloud 2024-12-03 10:19:23 +08:00
commit a3014c338a
2 changed files with 57 additions and 28 deletions

View File

@ -13,11 +13,24 @@
:data="props.nodeModel.properties.user_input_field_list" :data="props.nodeModel.properties.user_input_field_list"
class="mb-16" class="mb-16"
> >
<el-table-column prop="field" label="参数" show-overflow-tooltip /> <el-table-column prop="field" label="参数">
<el-table-column prop="label" label="显示名称" show-overflow-tooltip >
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.label && row.label.input_type === 'TooltipLabel'">{{ row.label.label }}</span> <span :title="row.field" class="ellipsis-1">{{ row.field }}</span>
<span v-else>{{ row.label }}</span> </template>
</el-table-column>
<el-table-column prop="label" label="显示名称">
<template #default="{ row }">
<span v-if="row.label && row.label.input_type === 'TooltipLabel'">
<span :title="row.label.label" class="ellipsis-1">
{{ row.label.label }}
</span>
</span>
<span v-else>
<span :title="row.label" class="ellipsis-1">
{{ row.label }}
</span></span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="组件类型"> <el-table-column label="组件类型">
@ -25,13 +38,20 @@
<el-tag type="info" class="info-tag" v-if="row.input_type === 'TextInput'">文本框</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'TextInput'">文本框</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'Slider'">滑块</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'Slider'">滑块</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'SwitchInput'">开关</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'SwitchInput'">开关</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'SingleSelect'">单选框</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'SingleSelect'"
>单选框</el-tag
>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'MultiSelect'">多选框</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'MultiSelect'">多选框</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'RadioCard'">选项卡</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'RadioCard'">选项卡</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'DatePicker'">日期</el-tag> <el-tag type="info" class="info-tag" v-if="row.input_type === 'DatePicker'">日期</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="default_value" label="默认值" show-overflow-tooltip />
<el-table-column prop="default_value" label="默认值">
<template #default="{ row }">
<span :title="row.default_value" class="ellipsis-1">{{ row.default_value }}</span>
</template>
</el-table-column>
<el-table-column label="必填"> <el-table-column label="必填">
<template #default="{ row }"> <template #default="{ row }">
<div @click.stop> <div @click.stop>
@ -60,11 +80,9 @@
</el-table> </el-table>
<UserFieldFormDialog ref="UserFieldFormDialogRef" @refresh="refreshFieldList" /> <UserFieldFormDialog ref="UserFieldFormDialogRef" @refresh="refreshFieldList" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, ref } from 'vue' import { onMounted, ref } from 'vue'
import { set } from 'lodash' import { set } from 'lodash'
import UserFieldFormDialog from './UserFieldFormDialog.vue' import UserFieldFormDialog from './UserFieldFormDialog.vue'
@ -84,7 +102,6 @@ function deleteField(index: any) {
props.nodeModel.graphModel.eventCenter.emit('refreshFieldList') props.nodeModel.graphModel.eventCenter.emit('refreshFieldList')
} }
function refreshFieldList(data: any, index: any) { function refreshFieldList(data: any, index: any) {
for (let i = 0; i < inputFieldList.value.length; i++) { for (let i = 0; i < inputFieldList.value.length; i++) {
if (inputFieldList.value[i].field === data.field && index !== i) { if (inputFieldList.value[i].field === data.field && index !== i) {
@ -142,10 +159,6 @@ onMounted(() => {
}) })
set(props.nodeModel.properties, 'user_input_field_list', inputFieldList) set(props.nodeModel.properties, 'user_input_field_list', inputFieldList)
}) })
</script> </script>
<style scoped lang="scss"></style>
<style scoped lang="scss">
</style>

View File

@ -56,15 +56,26 @@
:data="form_data.form_field_list" :data="form_data.form_field_list"
class="mb-16" class="mb-16"
> >
<el-table-column prop="field" label="参数" show-overflow-tooltip /> <el-table-column prop="field" label="参数">
<el-table-column prop="label" label="显示名称" show-overflow-tooltip>
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.label && row.label.input_type === 'TooltipLabel'">{{ <span :title="row.field" class="ellipsis-1">{{ row.field }}</span>
row.label.label
}}</span>
<span v-else>{{ row.label }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="label" label="显示名称">
<template #default="{ row }">
<span v-if="row.label && row.label.input_type === 'TooltipLabel'">
<span :title="row.label.label" class="ellipsis-1">
{{ row.label.label }}
</span>
</span>
<span v-else>
<span :title="row.label" class="ellipsis-1">
{{ row.label }}
</span></span
>
</template>
</el-table-column>
<el-table-column label="组件类型" width="110px"> <el-table-column label="组件类型" width="110px">
<template #default="{ row }"> <template #default="{ row }">
<el-tag type="info" class="info-tag">{{ <el-tag type="info" class="info-tag">{{
@ -72,7 +83,12 @@
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="default_value" label="默认值" show-overflow-tooltip />
<el-table-column prop="default_value" label="默认值">
<template #default="{ row }">
<span :title="row.default_value" class="ellipsis-1">{{ row.default_value }}</span>
</template>
</el-table-column>
<el-table-column label="必填"> <el-table-column label="必填">
<template #default="{ row }"> <template #default="{ row }">
<div @click.stop> <div @click.stop>