@@ -5,7 +5,7 @@ import {custom, postponed, recall, saveFlow, startFlow, submitFlow, transfer, tr
55import { message } from "antd" ;
66import { useDispatch , useSelector } from "react-redux" ;
77import {
8- clearUserSelect ,
8+ clearUserSelect , closeUserSelect ,
99 FlowReduxState ,
1010 setUserSelectModal ,
1111 showPostponed ,
@@ -126,7 +126,7 @@ export const registerEvents = (id: string,
126126 }
127127
128128 // 提交流程
129- const handleSubmitFlow = ( flowState : boolean , callback : ( res : any ) => void ) => {
129+ const handleSubmitFlow = ( flowState : boolean , callback : ( res : any ) => void , operatorIds ?: any [ ] ) => {
130130 const advice = adviceForm . getFieldValue ( 'advice' ) ;
131131 setRequestLoading ( true ) ;
132132
@@ -135,6 +135,7 @@ export const registerEvents = (id: string,
135135 const body = {
136136 recordId,
137137 advice : advice ,
138+ operatorIds :operatorIds ,
138139 success : flowState ,
139140 formData : {
140141 ...flowData ,
@@ -290,6 +291,19 @@ export const registerEvents = (id: string,
290291 const currentUser = selectUsers [ 0 ] ;
291292 handlerTransferFlow ( currentUser ) ;
292293 }
294+
295+ if ( selectUserType === 'flow' && selectUsers && selectUsers . length > 0 ) {
296+ handleSubmitFlow ( true , ( res ) => {
297+ const flowSubmitResultBuilder = new FlowSubmitResultBuilder ( res . data ) ;
298+ dispatch ( closeUserSelect ( ) ) ;
299+ dispatch ( showResult ( {
300+ closeFlow : true ,
301+ result : flowSubmitResultBuilder . builder ( )
302+ } ) ) ;
303+ } , selectUsers . map ( ( item :FlowUser ) => {
304+ return item . id ;
305+ } ) ) ;
306+ }
293307 } , [ selectUsers ] ) ;
294308
295309
@@ -301,7 +315,7 @@ export const registerEvents = (id: string,
301315 handlerSaveFlow ( ) ;
302316 } else {
303317 handlerStartFlow ( ( ) => {
304- message . success ( '流程已保存至个人待办 ' ) . then ( ) ;
318+ message . success ( '流程已保存 ' ) . then ( ) ;
305319 } ) ;
306320 }
307321 break ;
@@ -314,18 +328,29 @@ export const registerEvents = (id: string,
314328 break ;
315329 }
316330 case 'SPECIFY_SUBMIT' : {
317- handleTrySubmitFlow ( ( res ) => {
318- const operators = res . data . operators ;
319- const userIds = operators . map ( ( item : any ) => {
320- return item . userId ;
331+ const _trySubmitFlow = ( ) => {
332+ handleTrySubmitFlow ( ( res ) => {
333+ const operators = res . data . operators ;
334+ const userIds = operators . map ( ( item : any ) => {
335+ return item . userId ;
336+ } ) ;
337+ const approvalType = res . data . flowNode . approvalType ;
338+ dispatch ( setUserSelectModal ( {
339+ mode : approvalType === 'SIGN' ?'single' :'multiple' ,
340+ type : 'flow' ,
341+ visible : true ,
342+ specifyUserIds : userIds
343+ } ) ) ;
321344 } ) ;
322- dispatch ( setUserSelectModal ( {
323- mode : 'single' ,
324- type : 'flow' ,
325- visible : true ,
326- specifyUserIds : userIds
327- } ) ) ;
328- } ) ;
345+ }
346+ if ( recordId ) {
347+ _trySubmitFlow ( ) ;
348+ } else {
349+ handlerStartFlow ( ( id ) => {
350+ recordId = id ;
351+ _trySubmitFlow ( ) ;
352+ } ) ;
353+ }
329354 break ;
330355 }
331356 case 'SUBMIT' : {
0 commit comments