Skip to content

Commit 00d7a41

Browse files
committed
fix: The input content of the knowledge base write node is empty, but the workflow can be published
1 parent 1deea98 commit 00d7a41

File tree

1 file changed

+34
-16
lines changed
  • ui/src/workflow/nodes/knowledge-write-node

1 file changed

+34
-16
lines changed

ui/src/workflow/nodes/knowledge-write-node/index.vue

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,53 +8,62 @@
88
label-position="top"
99
require-asterisk-position="right"
1010
label-width="auto"
11-
ref="IntentClassifyNodeFormRef"
11+
ref="KnowledgeWriteRef"
1212
hide-required-asterisk
1313
>
1414
<el-form-item
15-
prop="document_list"
16-
:label="$t('common.inputContent')"
17-
:rules="{
15+
prop="document_list"
16+
:label="$t('common.inputContent')"
17+
:rules="{
1818
message: $t('workflow.nodes.textToSpeechNode.content.label'),
1919
trigger: 'change',
2020
required: true,
21-
}"
22-
>
23-
<template #label>
21+
}"
22+
>
23+
<template #label>
2424
<div class="flex-between">
2525
<div>
26-
<span
27-
>{{ $t('common.inputContent')
28-
}}<span class="color-danger">*</span></span
29-
>
26+
<span>{{ $t('common.inputContent') }}<span class="color-danger">*</span></span>
3027
</div>
3128
</div>
32-
</template>
33-
<NodeCascader
29+
</template>
30+
<NodeCascader
3431
ref="nodeCascaderRef"
3532
:nodeModel="nodeModel"
3633
class="w-full"
3734
:placeholder="$t('workflow.nodes.textToSpeechNode.content.label')"
3835
v-model="form_data.document_list"
3936
/>
40-
</el-form-item>
37+
</el-form-item>
4138
</el-form>
4239
</el-card>
4340
</NodeContainer>
4441
</template>
4542

4643
<script setup lang="ts">
4744
import NodeContainer from '@/workflow/common/NodeContainer.vue'
48-
import { computed } from 'vue'
45+
import { computed, onMounted, ref } from 'vue'
4946
import { set } from 'lodash'
5047
import NodeCascader from '@/workflow/common/NodeCascader.vue'
48+
import { isLastNode } from '@/workflow/common/data'
5149
5250
const props = defineProps<{ nodeModel: any }>()
53-
51+
const KnowledgeWriteRef = ref()
52+
const nodeCascaderRef = ref()
5453
const form = {
5554
document_list: [],
5655
}
5756
57+
const validate = async () => {
58+
let ps = [
59+
KnowledgeWriteRef.value?.validate(),
60+
nodeCascaderRef.value ? nodeCascaderRef.value.validate() : Promise.resolve(''),
61+
]
62+
return Promise.all(ps).catch((err) => {
63+
return Promise.reject({ node: props.nodeModel, errMessage: err })
64+
})
65+
}
66+
5867
const form_data = computed({
5968
get: () => {
6069
if (props.nodeModel.properties.node_data) {
@@ -68,6 +77,15 @@ const form_data = computed({
6877
set(props.nodeModel.properties, 'node_data', value)
6978
},
7079
})
80+
81+
onMounted(() => {
82+
if (typeof props.nodeModel.properties.node_data?.is_result === 'undefined') {
83+
if (isLastNode(props.nodeModel)) {
84+
set(props.nodeModel.properties.node_data, 'is_result', true)
85+
}
86+
}
87+
set(props.nodeModel, 'validate', validate)
88+
})
7189
</script>
7290

7391
<style lang="scss" scoped></style>

0 commit comments

Comments
 (0)