fix: 修复历史数据没有展示变量值的问题
--bug=1046515 --user=刘瑞斌 【应用】查看历史对话,默认没有带变量值,点击重新生成答案会报错 https://www.tapd.cn/57709429/s/1579777
This commit is contained in:
parent
bbeed0e276
commit
91391b0354
@ -15,6 +15,7 @@
|
|||||||
<el-collapse-transition>
|
<el-collapse-transition>
|
||||||
<div v-show="showUserInput" class="mt-16">
|
<div v-show="showUserInput" class="mt-16">
|
||||||
<DynamicsForm
|
<DynamicsForm
|
||||||
|
:key="dynamicsFormRefresh"
|
||||||
v-model="form_data"
|
v-model="form_data"
|
||||||
:model="form_data"
|
:model="form_data"
|
||||||
label-position="left"
|
label-position="left"
|
||||||
@ -347,7 +348,19 @@ watch(
|
|||||||
{ deep: true }
|
{ deep: true }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 用于刷新动态表单
|
||||||
|
const dynamicsFormRefresh = ref(0)
|
||||||
function handleInputFieldList() {
|
function handleInputFieldList() {
|
||||||
|
dynamicsFormRefresh.value++
|
||||||
|
// 给变量赋默认值, 最后一个对话记录的值
|
||||||
|
const record = chatList.value[chatList.value.length - 1]
|
||||||
|
let default_value: any = {}
|
||||||
|
if (record) {
|
||||||
|
record.execution_details[0].global_fields.reduce((pre: any, next: any) => {
|
||||||
|
pre[next.key] = next.value
|
||||||
|
return pre
|
||||||
|
}, default_value)
|
||||||
|
}
|
||||||
props.data.work_flow?.nodes
|
props.data.work_flow?.nodes
|
||||||
?.filter((v: any) => v.id === 'base-node')
|
?.filter((v: any) => v.id === 'base-node')
|
||||||
.map((v: any) => {
|
.map((v: any) => {
|
||||||
@ -361,6 +374,7 @@ function handleInputFieldList() {
|
|||||||
field: v.variable,
|
field: v.variable,
|
||||||
input_type: 'TextInput',
|
input_type: 'TextInput',
|
||||||
label: v.name,
|
label: v.name,
|
||||||
|
default_value: default_value[v.variable],
|
||||||
required: v.is_required
|
required: v.is_required
|
||||||
}
|
}
|
||||||
case 'select':
|
case 'select':
|
||||||
@ -368,6 +382,7 @@ function handleInputFieldList() {
|
|||||||
field: v.variable,
|
field: v.variable,
|
||||||
input_type: 'SingleSelect',
|
input_type: 'SingleSelect',
|
||||||
label: v.name,
|
label: v.name,
|
||||||
|
default_value: default_value[v.variable],
|
||||||
required: v.is_required,
|
required: v.is_required,
|
||||||
option_list: v.optionList.map((o: any) => {
|
option_list: v.optionList.map((o: any) => {
|
||||||
return { key: o, value: o }
|
return { key: o, value: o }
|
||||||
@ -378,6 +393,7 @@ function handleInputFieldList() {
|
|||||||
field: v.variable,
|
field: v.variable,
|
||||||
input_type: 'DatePicker',
|
input_type: 'DatePicker',
|
||||||
label: v.name,
|
label: v.name,
|
||||||
|
default_value: default_value[v.variable],
|
||||||
required: v.is_required,
|
required: v.is_required,
|
||||||
attrs: {
|
attrs: {
|
||||||
format: 'YYYY-MM-DD HH:mm:ss',
|
format: 'YYYY-MM-DD HH:mm:ss',
|
||||||
@ -400,6 +416,7 @@ function handleInputFieldList() {
|
|||||||
field: v.variable,
|
field: v.variable,
|
||||||
input_type: 'TextInput',
|
input_type: 'TextInput',
|
||||||
label: v.name,
|
label: v.name,
|
||||||
|
default_value: default_value[v.variable],
|
||||||
required: v.is_required
|
required: v.is_required
|
||||||
}
|
}
|
||||||
case 'select':
|
case 'select':
|
||||||
@ -407,6 +424,7 @@ function handleInputFieldList() {
|
|||||||
field: v.variable,
|
field: v.variable,
|
||||||
input_type: 'SingleSelect',
|
input_type: 'SingleSelect',
|
||||||
label: v.name,
|
label: v.name,
|
||||||
|
default_value: default_value[v.variable],
|
||||||
required: v.is_required,
|
required: v.is_required,
|
||||||
option_list: v.optionList.map((o: any) => {
|
option_list: v.optionList.map((o: any) => {
|
||||||
return { key: o, value: o }
|
return { key: o, value: o }
|
||||||
@ -417,6 +435,7 @@ function handleInputFieldList() {
|
|||||||
field: v.variable,
|
field: v.variable,
|
||||||
input_type: 'DatePicker',
|
input_type: 'DatePicker',
|
||||||
label: v.name,
|
label: v.name,
|
||||||
|
default_value: default_value[v.variable],
|
||||||
required: v.is_required,
|
required: v.is_required,
|
||||||
attrs: {
|
attrs: {
|
||||||
format: 'YYYY-MM-DD HH:mm:ss',
|
format: 'YYYY-MM-DD HH:mm:ss',
|
||||||
@ -445,6 +464,7 @@ watch(
|
|||||||
() => props.record,
|
() => props.record,
|
||||||
(value) => {
|
(value) => {
|
||||||
chatList.value = value
|
chatList.value = value
|
||||||
|
handleInputFieldList()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true
|
immediate: true
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user