2626 <div class =" flex-between w-full" >
2727 <div >
2828 <span
29- >{{ t('views.applicationWorkflow.nodes.videoUnderstandNode.model.label')
29+ >{{
30+ t('views.applicationWorkflow.nodes.videoUnderstandNode.model.label')
3031 }}<span class =" color-danger" >*</span ></span
3132 >
3233 </div >
6869 <AppIcon iconName =" app-warning" class =" app-warning-icon ml-4" ></AppIcon >
6970 </el-tooltip >
7071 </div >
72+ <el-button
73+ type =" primary"
74+ link
75+ @click =" openGeneratePromptDialog(form_data.model_id)"
76+ :disabled =" !form_data.model_id"
77+ >
78+ <AppIcon iconName =" app-generate-star" ></AppIcon >
79+ </el-button >
7180 </div >
7281 </template >
7382 <MdEditorMagnify
91100 <div class =" flex align-center" >
92101 <div class =" mr-4" >
93102 <span
94- >{{ $t('views.application.form.prompt.label')
103+ >{{
104+ $t('views.application.form.prompt.label')
95105 }}<span class =" color-danger" >*</span ></span
96106 >
97107 </div >
98108 <el-tooltip effect =" dark" placement =" right" popper-class =" max-w-200" >
99- <template #content >{{ $t('views.application.form.prompt.tooltip') }} </template >
109+ <template #content >{{ $t('views.application.form.prompt.tooltip') }}</template >
100110 <AppIcon iconName =" app-warning" class =" app-warning-icon" ></AppIcon >
101111 </el-tooltip >
102112 </div >
113+
103114 </template >
104115 <MdEditorMagnify
105116 @wheel =" wheel"
115126 <div class =" flex-between" >
116127 <div >{{ $t('views.application.form.historyRecord.label') }}</div >
117128 <el-select v-model =" form_data.dialogue_type" type =" small" style =" width : 100px " >
118- <el-option :label =" $t('views.applicationWorkflow.node')" value =" NODE" />
119- <el-option :label =" $t('views.applicationWorkflow.workflow')" value =" WORKFLOW" />
129+ <el-option :label =" $t('views.applicationWorkflow.node')" value =" NODE" />
130+ <el-option :label =" $t('views.applicationWorkflow.workflow')" value =" WORKFLOW" />
120131 </el-select >
121132 </div >
122133 </template >
142153 }"
143154 >
144155 <template #label
145- >{{ $t('views.applicationWorkflow.nodes.videoUnderstandNode.image.label')
156+ >{{
157+ $t('views.applicationWorkflow.nodes.videoUnderstandNode.image.label')
146158 }}<span class =" color-danger" >*</span ></template
147159 >
148160 <NodeCascader
163175 <div class =" flex align-center" >
164176 <div class =" mr-4" >
165177 <span >{{
166- $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
167- }}</span >
178+ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
179+ }}</span >
168180 </div >
169181 <el-tooltip effect =" dark" placement =" right" popper-class =" max-w-200" >
170182 <template #content >
174186 </el-tooltip >
175187 </div >
176188 </template >
177- <el-switch size =" small" v-model =" form_data.is_result" />
189+ <el-switch size =" small" v-model =" form_data.is_result" />
178190 </el-form-item >
179191 </el-form >
180192 </el-card >
181- <AIModeParamSettingDialog ref =" AIModeParamSettingDialogRef" @refresh =" refreshParam" />
193+ <AIModeParamSettingDialog ref =" AIModeParamSettingDialogRef" @refresh =" refreshParam" />
194+ <GeneratePromptDialog @replace =" replace" ref =" GeneratePromptDialogRef" />
182195 </NodeContainer >
183196</template >
184197
185198<script setup lang="ts">
186199import NodeContainer from ' @/workflow/common/NodeContainer.vue'
187- import { computed , onMounted , ref , inject } from ' vue'
188- import { groupBy , set } from ' lodash'
200+ import {computed , onMounted , ref , inject } from ' vue'
201+ import {groupBy , set } from ' lodash'
189202import NodeCascader from ' @/workflow/common/NodeCascader.vue'
190- import type { FormInstance } from ' element-plus'
203+ import type {FormInstance } from ' element-plus'
191204import AIModeParamSettingDialog from ' @/views/application/component/AIModeParamSettingDialog.vue'
192- import { t } from ' @/locales'
193- import { useRoute } from ' vue-router'
194- import { loadSharedApi } from ' @/utils/dynamics-api/shared-api'
205+ import {t } from ' @/locales'
206+ import {useRoute } from ' vue-router'
207+ import {loadSharedApi } from ' @/utils/dynamics-api/shared-api'
208+ import GeneratePromptDialog from " @/views/application/component/GeneratePromptDialog.vue" ;
209+
195210const getApplicationDetail = inject (' getApplicationDetail' ) as any
196211const route = useRoute ()
197212
198213const {
199- params : { id },
214+ params : {id },
200215} = route as any
201216
202217const apiType = computed (() => {
@@ -218,7 +233,7 @@ const validate = () => {
218233 nodeCascaderRef .value ? nodeCascaderRef .value .validate () : Promise .resolve (' ' ),
219234 aiChatNodeFormRef .value ?.validate (),
220235 ]).catch ((err : any ) => {
221- return Promise .reject ({ node: props .nodeModel , errMessage: err })
236+ return Promise .reject ({node: props .nodeModel , errMessage: err })
222237 })
223238}
224239
@@ -261,17 +276,18 @@ const form_data = computed({
261276})
262277
263278const application = getApplicationDetail ()
279+
264280function getSelectModel() {
265281 const obj =
266282 apiType .value === ' systemManage'
267283 ? {
268- model_type: ' IMAGE' ,
269- workspace_id: application .value ?.workspace_id ,
270- }
284+ model_type: ' IMAGE' ,
285+ workspace_id: application .value ?.workspace_id ,
286+ }
271287 : {
272- model_type: ' IMAGE' ,
273- }
274- loadSharedApi ({ type: ' model' , systemType: apiType .value })
288+ model_type: ' IMAGE' ,
289+ }
290+ loadSharedApi ({type: ' model' , systemType: apiType .value })
275291 .getSelectModelList (obj )
276292 .then ((res : any ) => {
277293 modelOptions .value = groupBy (res ?.data , ' provider' )
@@ -291,6 +307,15 @@ const openAIParamSettingDialog = (modelId: string) => {
291307 AIModeParamSettingDialogRef .value ?.open (modelId , id , form_data .value .model_params_setting )
292308 }
293309}
310+ const GeneratePromptDialogRef = ref <InstanceType <typeof GeneratePromptDialog >>()
311+ const openGeneratePromptDialog = (modelId : string ) => {
312+ if (modelId ) {
313+ GeneratePromptDialogRef .value ?.open (modelId , id )
314+ }
315+ }
316+ const replace = (v : any ) => {
317+ set (props .nodeModel .properties .node_data , ' system' , v )
318+ }
294319
295320function refreshParam(data : any ) {
296321 set (props .nodeModel .properties .node_data , ' model_params_setting' , data )
0 commit comments