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">
4744import NodeContainer from ' @/workflow/common/NodeContainer.vue'
48- import { computed } from ' vue'
45+ import { computed , onMounted , ref } from ' vue'
4946import { set } from ' lodash'
5047import NodeCascader from ' @/workflow/common/NodeCascader.vue'
48+ import { isLastNode } from ' @/workflow/common/data'
5149
5250const props = defineProps <{ nodeModel: any }>()
53-
51+ const KnowledgeWriteRef = ref ()
52+ const nodeCascaderRef = ref ()
5453const 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+
5867const 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