@jecloud/plugin
Version:
JECloud 插件库
1 lines • 1.68 kB
JavaScript
import{reactive as e,watch as t,ref as s}from"vue";import{useInjectWorkflow as r}from"./context";import{initSubmitNodeUsers as o}from"./use-workflow-operation";import{isNotEmpty as i}from"@jecloud/utils";export function useWorkflowProcessTwo(){var n=r(),d=n.store,a=s(!0),u=s(),c=e({nodes:[],types:[],users:[],activeNode:null,activeNodeId:null,activeTypeId:null,resultUsers:[],historyUserData:d.historyUserData});t((function(){return c.resultUsers}),(function(e){c.activeNodeId&&d.setTaskUsers(c.activeNodeId,e)}),{deep:!0}),t((function(){return c.activeNodeId}),(function(){var e,t;c.activeNode=c.nodes.find((function(e){return e.id===c.activeNodeId})),c.activeNode&&(c.resultUsers=d.getTaskUsers(c.activeNodeId),c.types=null!==(e=c.activeNode.children)&&void 0!==e?e:[],c.activeTypeId=null===(t=c.types[0])||void 0===t?void 0:t.id,i(c.historyUserData.selectUserId)&&(c.historyUserData.selectUserId="",u.value.selectHistoryUser({userId:""})))})),t((function(){return c.activeTypeId}),(function(){if(c.activeTypeId){var e=c.types.find((function(e){return e.id===c.activeTypeId}));u.value.loadUser(e.children)}})),t((function(){return d.activeStep}),(function(e,t){1===t&&2===e&&(a.value=!0,o(n).then((function(e){var t;c.nodes=e,c.activeNodeId=null===(t=c.nodes[0])||void 0===t?void 0:t.id,a.value=!1})))}));return{userConfig:c,loading:a,store:d,$user:u,selectUser:function(e){var t=e.row;i(t)&&i(t.userId)&&c.activeNode.personnelAdjustments&&(c.historyUserData.selectUserId=t.userId,u.value.selectHistoryUser({userId:t.userId}))},changeSequential:function(e){c.activeNode.sequential=e,i(d.taskUsers)&&i(d.taskUsers[c.activeNodeId])&&(d.taskUsers[c.activeNodeId].sequential=e)}}}