@@ -308,38 +308,34 @@ const getRouteQueryValue = (field: string) => {
308308 }
309309 return null
310310}
311- /**
312- * 校验参数
313- */
314- const checkInputParam = () => {
315- // 检查inputFieldList是否有未填写的字段
316- for (let i = 0 ; i < inputFieldList .value .length ; i ++ ) {
317- if (
318- inputFieldList .value [i ].required &&
319- (form_data_context .value [inputFieldList .value [i ].field ] === null ||
320- form_data_context .value [inputFieldList .value [i ].field ] === undefined ||
321- form_data_context .value [inputFieldList .value [i ].field ] === ' ' )
322- ) {
323- MsgWarning (t (' chat.tip.requiredMessage' ))
324- return false
325- }
311+ const validate = () => {
312+ const promise_list = []
313+ if (dynamicsFormRef .value ) {
314+ promise_list .push (dynamicsFormRef .value ?.validate ())
326315 }
316+ if (dynamicsFormRef2 .value ) {
317+ promise_list .push (dynamicsFormRef2 .value ?.validate ())
318+ }
319+ promise_list .push (validate_query ())
320+ return Promise .all (promise_list )
321+ }
322+ const validate_query = () => {
327323 // 浏览器query参数找到接口传参
328324 let msg = []
329325 for (let f of apiInputFieldList .value ) {
330326 if (f .required && ! api_form_data_context .value [f .field ]) {
331327 msg .push (f .field )
332328 }
333329 }
334-
335330 if (msg .length > 0 ) {
336331 MsgWarning (
337332 ` ${t (' chat.tip.inputParamMessage1' )} ${msg .join (' 、' )}${t (' chat.tip.inputParamMessage2' )} `
338333 )
339- return false
334+ return Promise . reject ( false )
340335 }
341- return true
336+ return Promise . resolve ( false )
342337}
338+
343339const initRouteQueryValue = () => {
344340 for (let f of apiInputFieldList .value ) {
345341 if (! api_form_data_context .value [f .field ]) {
@@ -356,6 +352,7 @@ const initRouteQueryValue = () => {
356352 }
357353 }
358354}
355+
359356const decodeQuery = (query : string ) => {
360357 try {
361358 return decodeURIComponent (query )
@@ -364,10 +361,10 @@ const decodeQuery = (query: string) => {
364361 }
365362}
366363const confirmHandle = () => {
367- if ( checkInputParam ()) {
364+ validate (). then (( ok ) => {
368365 localStorage .setItem (` ${accessToken }userForm ` , JSON .stringify (form_data_context .value ))
369366 emit (' confirm' )
370- }
367+ })
371368}
372369const cancelHandle = () => {
373370 emit (' cancel' )
@@ -383,7 +380,7 @@ const renderDebugAiChat = (data: any) => {
383380 dynamicsFormRef2 .value ?.render (apiInputFieldList .value , data )
384381 }
385382}
386- defineExpose ({ checkInputParam , render , renderDebugAiChat })
383+ defineExpose ({ validate , render , renderDebugAiChat })
387384onMounted (() => {
388385 firstMounted .value = true
389386 handleInputFieldList ()
0 commit comments