adtec-hnyzfc-core-package 1.6.2 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/api/workflow/workflowInstApi.d.ts +9 -0
- package/dist/src/api/workflow/workflowInstApi.js +1 -1
- package/dist/src/components/workflow/WorkflowTodoShell.vue.d.ts +5 -2
- package/dist/src/components/workflow/WorkflowTodoShell.vue.js +11 -3
- package/dist/src/components/workflow/components/CheckDialog.vue.js +1 -1
- package/dist/src/hooks/createDialogHooks.js +2 -2
- package/dist/src/hooks/userWorkflowHooks.d.ts +2 -0
- package/dist/src/hooks/workflowCompleteRunner.d.ts +8 -0
- package/dist/src/hooks/workflowCompleteRunner.js +1 -1
- package/dist/src/interface/workflow/IWfTaskVo.d.ts +9 -0
- package/dist/src/utils/dateTime.d.ts +2 -0
- package/dist/src/utils/dateTime.js +1 -1
- package/dist/src/utils/flowTimeout.d.ts +41 -0
- package/dist/src/utils/flowTimeout.js +1 -0
- package/dist/src/utils/modules.js +2 -2
- package/dist/styles/element-ui.css +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,15 @@ import type { IWfReturnNodeVo } from '../../interface/workflow/IWfReturnNodeVo';
|
|
|
6
6
|
import type { IWfNodeLastApprovalBatchVo } from '../../interface/workflow/IWfNodeLastApprovalVo';
|
|
7
7
|
declare const _default: {
|
|
8
8
|
addProcessInst(WfProcessDefVo: IWfProcessDefVo): Promise<IWfProcessDefVo>;
|
|
9
|
+
/**
|
|
10
|
+
* 撤回校验:节点是否允许撤回 / 下游是否已执行 / 是否有可恢复的撤回点快照。
|
|
11
|
+
* 校验不通过时后端直接抛业务异常,调用方按提示处理即可。
|
|
12
|
+
*/
|
|
13
|
+
processWithdrawalVerification(task: Partial<IWfTaskVo>): Promise<Record<string, string>>;
|
|
14
|
+
/** 撤回预览:当前节点名称与撤回后回到的节点名称(用于二次确认文案) */
|
|
15
|
+
processWithdrawalPreview(task: Partial<IWfTaskVo>): Promise<Record<string, string>>;
|
|
16
|
+
/** 执行撤回:流程退回该节点,原来的办结恢复为待办 */
|
|
17
|
+
processWithdrawal(task: Partial<IWfTaskVo>): Promise<Record<string, string>>;
|
|
9
18
|
taskComplete(task: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
10
19
|
taskTransfer(task: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
11
20
|
taskReject(task: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import s from"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"vue";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";const
|
|
1
|
+
import s from"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"vue";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";const r="/api/workflow/task",o="/api/workflow/workbench/",L={addProcessInst(t){return s.post("/api/workflow/procinstance/start",t)},processWithdrawalVerification(t){return s.post(o+"processWithdrawalVerification",t)},processWithdrawalPreview(t){return s.post(o+"processWithdrawalPreview",t)},processWithdrawal(t){return s.post(o+"processWithdrawal",t)},taskComplete(t){return s.post(r+"/taskComplete",t)},taskTransfer(t){return s.post(r+"/taskTransfer",t)},taskReject(t){return s.post(r+"/taskReject",t)},findReturnTaskList(t,e=!1){return s.post(r+"/findReturnTaskList",{taskId:t,ignoreBackNodes:e})},taskReturn(t){return s.post(r+"/taskReturn",t)},getTaskCandidate(t){return s.post(r+"/getTaskCandidate",{taskId:t})},getTaskCandidateList(t){return s.post(r+"/getTaskCandidateList",{taskId:t})},setAssignee(t){return s.post(r+"/setAssignee",t)},setAssigneeList(t){return s.post(r+"/setAssigneeList",t)},addOrMinusAssignee(t){return s.post(r+"/addOrMinusAssignee",t)},getTaskInst(t){return s.post(r+"/getTaskInst",{taskId:t})},getWfTaskByBusinessId(t){return s.post(r+"/getWfTaskByBusinessId",{businessId:t})},getProcessTaskList(t){return s.get("/api/workflow/workbench/process/"+t)},getWfProcessInstByBusinessId(t){return s.get(r+"/getUserTaskInfo",{businessId:t})},getReviewDetail(t){return s.get(r+"/reviewDetail",{taskId:t})},getLastNodeApprovalByBusinessId(t,e){const i={businessId:t,nodeCodes:Array.isArray(e)?e:[e]};return s.post(r+"/lastNodeApproval",i)}};export{L as default};
|
|
@@ -8,16 +8,18 @@ type __VLS_Props = {
|
|
|
8
8
|
contentProps?: Record<string, unknown>;
|
|
9
9
|
renderDialog?: (...args: any[]) => any;
|
|
10
10
|
showFooter?: boolean;
|
|
11
|
+
/** 当前查看的已办节点是否开启了撤回(后端按节点下发),true 时才展示撤回入口 */
|
|
12
|
+
withdrawEnabled?: boolean;
|
|
11
13
|
};
|
|
12
14
|
type __VLS_PublicProps = __VLS_Props & {
|
|
13
15
|
'loading'?: boolean;
|
|
14
16
|
};
|
|
15
|
-
declare var
|
|
17
|
+
declare var __VLS_13: {
|
|
16
18
|
task: IWfTaskVo | undefined;
|
|
17
19
|
process: IWfProcessInstVo | undefined;
|
|
18
20
|
};
|
|
19
21
|
type __VLS_Slots = {} & {
|
|
20
|
-
content?: (props: typeof
|
|
22
|
+
content?: (props: typeof __VLS_13) => any;
|
|
21
23
|
};
|
|
22
24
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
23
25
|
resetQuery: () => Promise<void>;
|
|
@@ -33,6 +35,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
|
|
|
33
35
|
readonly: boolean;
|
|
34
36
|
showFooter: boolean;
|
|
35
37
|
renderDialog: (...args: any[]) => any;
|
|
38
|
+
withdrawEnabled: boolean;
|
|
36
39
|
taskInfo: IWfTaskVo;
|
|
37
40
|
contentComponent: Component;
|
|
38
41
|
contentProps: Record<string, unknown>;
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import{defineComponent as Ie,useModel as Te,ref as E,computed as _,resolveComponent as h,resolveDirective as xe,openBlock as n,createElementBlock as r,createCommentVNode as d,withDirectives as be,createVNode as D,createElementVNode as i,createBlock as x,Fragment as p,renderList as b,normalizeClass as J,toDisplayString as u,renderSlot as Ce,resolveDynamicComponent as Ne,mergeProps as De,withCtx as K,normalizeStyle as Ee,createTextVNode as C,unref as X,mergeModels as Z,nextTick as Ke}from"vue";import V from"../../api/workflow/workflowInstApi.js";import Ae from"../../api/DocumentApi.js";import Be from"../../hooks/useFileView.js";import Le from"../../utils/FrameworkUtils.js";import{formatDateTime as Me}from"../../utils/dateTime.js";import{userInfoStore as Se}from"../../stores/userInfoStore.js";import Pe from"./TaskOperation.vue.js";import{_ as $e}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";import"./components/SelectAssigneeDialog.vue.js";import"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BWVDdb4B.js";import"../business/comp.userForm.vue.js";import"@vueuse/core";import"../../api/DeptInfoApi.js";import"../../api/EmployeeInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"../../api/SysUserApi.js";import"./components/CheckDialog.vue.js";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../upload/CustomElUpload.vue.js";import"@element-plus/icons-vue";import"../../hooks/useDeleteConfirmHooks.js";import"../../hooks/useBehaviorAction.js";import"../../utils/uploadAccept.js";import"../../utils/buildUploadHeaders.js";import"../../hooks/workflowCompleteRunner.js";import"../../hooks/workflowTodo.js";import"../../hooks/usePermissionHooks.js";import"vue-router";import"../../stores/permissionStore.js";import"../../utils/operationAuth.js";import"../../utils/routeMetaParams.js";import"../../hooks/useOpenNewMenu.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const Ve={class:"workflow-todo-shell"},je={class:"workflow-todo-shell__body dialog-content-fill"},Fe={key:1,class:"wf-progress-scroll"},Oe={class:"wf-progress-steps"},Ue={class:"wf-progress-step__icon-wrap"},ze={class:"wf-progress-step__icon"},Re={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},Qe={key:4},Ge={class:"wf-progress-step__name"},We={class:"wf-progress-step__name-text"},Ye={class:"wf-progress-step__name-label"},qe={key:0,class:"wf-progress-step__occurrence"},He={key:0,class:"workflow-todo-shell__record-occurrence"},Je={key:1,class:"workflow-todo-shell__record-type"},Xe={key:0,class:"workflow-todo-shell__record-user"},Ze={class:"workflow-todo-shell__record-person__name"},et={key:0,class:"workflow-todo-shell__comment"},tt={key:0,class:"workflow-todo-shell__record-files"},st=["onClick"],ot={class:"workflow-todo-shell__record-person__name"},nt={key:0,class:"workflow-todo-shell__comment"},at={key:1,class:"workflow-todo-shell__record-files"},rt=["onClick"],lt={class:"workflow-todo-shell__record-person__name"},it={key:0,class:"workflow-todo-shell__footer"},ee="__end__",ct=Ie({__name:"WorkflowTodoShell",props:Z({taskId:{},taskInfo:{default:void 0},readonly:{type:Boolean,default:!1},contentComponent:{default:void 0},contentProps:{default:()=>({})},renderDialog:{type:Function,default:void 0},showFooter:{type:Boolean,default:!0}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:Z(["cancel","success"],["update:loading"]),setup(w,{expose:te,emit:se}){const f=w,A=se,g=Te(w,"loading"),v=E(),m=E(),B=E(),L=E(!1),oe=e=>[...e].sort((t,o)=>(t.createTime||"").localeCompare(o.createTime||"")),j=_(()=>oe([...m.value?.hisTasks||[],...m.value?.activeTasks||[]])),M=E({}),F=Be().fileView,O=e=>{const t=(e.split(".").pop()||"").toLowerCase();return".jpg,.jpeg,.png,.gif,.bmp".includes(t)?"adtec-image":t==="pdf"?"adtec-pdf":t==="doc"||t==="docx"?"adtec-word":t==="xls"||t==="xlsx"?"adtec-excel":t==="ppt"||t==="pptx"?"adtec-ppt":"adtec-text"},N=e=>e?M.value[e]||[]:[],ne=async()=>{var t;const e=Array.from(new Set(j.value.map(o=>o.taskId).filter(o=>!!o)));if(e.length)try{const o=await Ae.getUpLoadFilesByBussinessIds(e),a={};for(const l of o)l.businessId&&(a[t=l.businessId]||(a[t]=[])).push(l);M.value=a}catch{M.value={}}},S=_(()=>{const e=new Map;for(const t of j.value){const o=q(t),a=e.get(o);a?a.tasks.push(t):e.set(o,{taskName:t.taskName,taskDefKey:t.taskDefKey,parentExecutionId:t.parentExecutionId,tasks:[t],approvalType:t.approvalType})}return Array.from(e.values())}),U=_(()=>v.value?.procEndTime?!0:!!(m.value&&!(m.value.activeTasks||[]).length&&(m.value.hisTasks||[]).length)),ae=_(()=>{const e=[...S.value],t=new Set(e.map(a=>z(a)));for(const a of m.value?.futureTasks||[]){const l=`${a.taskDefKey||a.taskName}-`;t.has(l)||e.push({taskName:a.taskName,taskDefKey:a.taskDefKey,tasks:[],assigneeNames:a.assigneeNames,approvalType:a.approvalType})}e.push({taskName:"结束",taskDefKey:ee,tasks:[],isEnd:!0});const o=new Map;for(const a of e){const l=a.taskDefKey||a.taskName||"";l&&(a.occurrence=(o.get(l)||0)+1,o.set(l,a.occurrence))}return e}),z=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,re={single:"或签",joint:"会签",all:"会签"},R=e=>re[e.approvalType||e.tasks[0]?.approvalType||""]||"",le=e=>(e.approvalType||e.tasks[0]?.approvalType||"")==="single",Q=e=>{const t=(e.assigneeNames||"").split(",").map(o=>o.trim()).filter(Boolean);return t.length?t:["待处理"]},ie={1:{label:"同意",type:"success"},2:{label:"驳回",type:"warning"},3:{label:"终止",type:"danger"},4:{label:"委派",type:"warning"},5:{label:"转办",type:"warning"},6:{label:"终止",type:"danger"},7:{label:"撤回",type:"info"},8:{label:"催办",type:"info"}},ce=e=>Me(e.finishTime||e.createTime),de={success:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",primary:"var(--el-color-primary)"},pe=e=>de[e]||"",I=e=>{if(e.isEnd)return U.value?{label:"已结束",type:"success",hollow:!1}:{label:"等待",type:"info",hollow:!1};if(!e.tasks.length)return{label:"等待",type:"info",hollow:!1};const t=e.tasks;if(t.some(l=>!l.finishTime))return{label:"进行中",type:"primary",hollow:!1};let o="已办",a="success";if(t.some(l=>l.taskLocalVars?.firstTask))o="提交";else{const l=[...t].sort((k,$)=>($.finishTime||"").localeCompare(k.finishTime||""))[0]?.commentList?.[0],T=ie[l?.type||""];o=T?.label||"已办",a=T?.type||"success"}return{label:o,type:a,hollow:!1}},G=e=>{const t=e.assigneeName||e.startUserName||"待处理";return e.finishTime?`${t} · ${ce(e)}`:t},ue=e=>e.tasks.length?e.tasks.map(G).join(" / "):Q(e).join(" / "),P=e=>e.tasks.map(t=>t.comment).filter(Boolean).join(" / "),W=_(()=>{const e=new Map,t=[];for(const o of S.value){const a=o.taskDefKey||o.taskName||"";if(!a)continue;const l=o.tasks.some(k=>!k.finishTime)?"process":I(o).type,T=e.get(a);if(T!==void 0){const k=t[T];k.occurrence=(k.occurrence||1)+1,k.parentExecutionId=o.parentExecutionId,k.status=l;continue}e.set(a,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,parentExecutionId:o.parentExecutionId,status:l,occurrence:1})}for(const o of m.value?.futureTasks||[]){const a=o.taskDefKey||o.taskName||"";if(!a)continue;const l=e.get(a);if(l!==void 0){t[l].status="wait";continue}e.set(a,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,status:"wait"})}return t.push({taskName:"结束",taskDefKey:ee,status:U.value?"success":"wait"}),t}),Y=e=>{const t=Se().getUserInfo.userCode;return!t||!e?!1:!!(e.assigneeId===t||e.candidate&&e.candidate.split(",").map(a=>a.trim()).filter(Boolean).includes(t))},fe=_(()=>Y(v.value)?!0:(m.value?.activeTasks||[]).some(e=>Y(e))),me=_(()=>f.readonly||!!v.value?.finishTime||!!v.value?.procEndTime||L.value&&!(m.value?.activeTasks||[]).length||!fe.value),ke=_(()=>B.value?.taskOption),ve=_(()=>{const e=ke.value;return{...e||{},cancelFunction:(...t)=>{e?.cancelFunction?.(...t),A("cancel")},workflowComplete:async(...t)=>{await e?.workflowComplete?.(...t)}}}),q=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,H=async(e,t=!1)=>{const o=f.taskInfo&&f.taskInfo.procInsId==null&&f.taskInfo.processInstanceId!=null?{...f.taskInfo,procInsId:f.taskInfo.processInstanceId}:f.taskInfo;if(!(!f.taskId&&!o?.procInsId))try{g.value=!0,L.value=!1,v.value=e?{...v.value,...e}:t&&f.taskId?await V.getTaskInst(f.taskId):o||await V.getTaskInst(f.taskId),v.value?.procInsId&&(m.value=await V.getProcessTaskList(v.value.procInsId)),L.value=!0,await ne(),await Ke(),await B.value?.resetQuery?.()}catch(a){Le.messageError(a)}finally{g.value=!1}},ye=async e=>{A("success",e),await H(e,!0)};return te({resetQuery:async()=>{await H()}}),(e,t)=>{const o=h("el-title"),a=h("el-empty"),l=h("el-tag-display"),T=h("el-flex"),k=h("el-icons"),$=h("el-timeline-item"),_e=h("el-timeline"),we=h("el-button"),he=xe("loading");return n(),r("div",Ve,[d(`
|
|
1
|
+
import{defineComponent as qe,useModel as Je,ref as $,computed as v,resolveComponent as T,resolveDirective as Xe,openBlock as n,createElementBlock as r,createCommentVNode as l,withDirectives as Ze,normalizeStyle as ye,normalizeClass as M,createElementVNode as c,Fragment as m,toDisplayString as p,renderList as D,unref as J,createVNode as E,createTextVNode as b,createBlock as B,renderSlot as et,resolveDynamicComponent as tt,mergeProps as st,withCtx as S,mergeModels as _e,nextTick as ot}from"vue";import{ElMessageBox as nt,ElMessage as at}from"element-plus";import A from"../../api/workflow/workflowInstApi.js";import rt from"../../api/DocumentApi.js";import lt from"../../hooks/useFileView.js";import it from"../../hooks/useDictHooks.js";import he from"../../utils/FrameworkUtils.js";import{parseDateTime as X,formatDateTime as Z}from"../../utils/dateTime.js";import{formatStayDuration as ee,resolveTimeoutMeta as ct}from"../../utils/flowTimeout.js";import{userInfoStore as O}from"../../stores/userInfoStore.js";import dt from"./TaskOperation.vue.js";import{_ as ut}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../../api/SysDictCacheApi.js";import"../../stores/dictStore.js";import"pinia";import"../../utils/userSessionStorage.js";import"xlsx-js-style";import"./components/SelectAssigneeDialog.vue.js";import"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BWVDdb4B.js";import"../business/comp.userForm.vue.js";import"@vueuse/core";import"../../api/DeptInfoApi.js";import"../../api/EmployeeInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"../../api/SysUserApi.js";import"./components/CheckDialog.vue.js";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../upload/CustomElUpload.vue.js";import"@element-plus/icons-vue";import"../../hooks/useDeleteConfirmHooks.js";import"../../hooks/useBehaviorAction.js";import"../../utils/uploadAccept.js";import"../../utils/buildUploadHeaders.js";import"../../hooks/workflowCompleteRunner.js";import"../../hooks/workflowTodo.js";import"../../hooks/usePermissionHooks.js";import"vue-router";import"../../stores/permissionStore.js";import"../../utils/operationAuth.js";import"../../utils/routeMetaParams.js";import"../../hooks/useOpenNewMenu.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const pt={class:"workflow-todo-shell"},ft={class:"workflow-todo-shell__body dialog-content-fill"},mt={class:"wf-wait__icon"},kt={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},vt={class:"wf-wait__main"},wt={class:"wf-wait__title"},yt={class:"wf-wait__sub"},_t={key:0,class:"wf-wait__opinion"},ht={key:1,class:"wf-wait__files"},gt=["onClick"],It={key:0},Tt={key:1,class:"wf-progress-scroll"},bt={class:"wf-progress-steps"},Ct={class:"wf-progress-step__icon-wrap"},xt={class:"wf-progress-step__icon"},Nt={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},Dt={key:4},Et={class:"wf-progress-step__name"},Bt={class:"wf-progress-step__name-text"},Lt={class:"wf-progress-step__name-label"},St={key:0,class:"wf-progress-step__occurrence"},Kt={key:0,class:"workflow-todo-shell__record-occurrence"},$t={key:1,class:"workflow-todo-shell__record-type"},Mt={key:0,class:"workflow-todo-shell__record-user"},At={class:"workflow-todo-shell__record-person__name"},Ot={key:0,class:"workflow-todo-shell__comment"},Ft={key:0,class:"workflow-todo-shell__record-files"},Vt=["onClick"],jt={class:"workflow-todo-shell__record-person__name"},Ut={key:0,class:"workflow-todo-shell__comment"},Pt={key:1,class:"workflow-todo-shell__record-files"},Wt=["onClick"],Rt={class:"workflow-todo-shell__record-person__name"},zt={key:0,class:"workflow-todo-shell__footer"},ge="__end__",Ht=qe({__name:"WorkflowTodoShell",props:_e({taskId:{},taskInfo:{default:void 0},readonly:{type:Boolean,default:!1},contentComponent:{default:void 0},contentProps:{default:()=>({})},renderDialog:{type:Function,default:void 0},showFooter:{type:Boolean,default:!0},withdrawEnabled:{type:Boolean,default:!1}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:_e(["cancel","success"],["update:loading"]),setup(C,{expose:Ie,emit:Te}){const f=C,F=Te,L=Je(C,"loading"),w=$(),_=$(),j=$(),U=$(!1),{getDictTypeData:be}=it(["SysFlowTimeout"]),Ce=e=>[...e].sort((t,s)=>(t.createTime||"").localeCompare(s.createTime||"")),P=v(()=>Ce([..._.value?.hisTasks||[],..._.value?.activeTasks||[]])),W=$({}),R=lt().fileView,z=e=>{const t=(e.split(".").pop()||"").toLowerCase();return".jpg,.jpeg,.png,.gif,.bmp".includes(t)?"adtec-image":t==="pdf"?"adtec-pdf":t==="doc"||t==="docx"?"adtec-word":t==="xls"||t==="xlsx"?"adtec-excel":t==="ppt"||t==="pptx"?"adtec-ppt":"adtec-text"},x=e=>e?W.value[e]||[]:[],xe=async()=>{var t;const e=Array.from(new Set(P.value.map(s=>s.taskId).filter(s=>!!s)));if(e.length)try{const s=await rt.getUpLoadFilesByBussinessIds(e),o={};for(const i of s)i.businessId&&(o[t=i.businessId]||(o[t]=[])).push(i);W.value=o}catch{W.value={}}},H=v(()=>{const e=new Map;for(const t of P.value){const s=ve(t),o=e.get(s);o?o.tasks.push(t):e.set(s,{taskName:t.taskName,taskDefKey:t.taskDefKey,parentExecutionId:t.parentExecutionId,tasks:[t],approvalType:t.approvalType})}return Array.from(e.values())}),V=v(()=>w.value?.procEndTime?!0:!!(_.value&&!(_.value.activeTasks||[]).length&&(_.value.hisTasks||[]).length)),Ne=e=>/^#[0-9a-fA-F]{6}$/.test(e)?`${e}1f`:"var(--el-color-primary-light-9)",te={ok:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)"},se={ok:"var(--el-color-success-light-9)",warning:"var(--el-color-warning-light-9)",danger:"var(--el-color-danger-light-9)"},De=e=>e==="danger"?"danger":e==="warning"?"warning":"ok",oe=e=>e==="danger"?"close":e==="warning"?"back":"check",Ee=e=>!e||e.startsWith("已")?e:`已${e}`,Q=v(()=>String(w.value?.finishedResult||"")==="terminate"||String(w.value?.processStatus||"")==="terminated"),G=v(()=>P.value.find(e=>!!f.taskId&&e.taskId===f.taskId)),ne=e=>!!e?.assigneeId&&e.assigneeId===O().getUserInfo.userCode,Be=v(()=>{const e=O().getUserInfo.userCode;if(!e)return!1;const t=G.value;return t?.taskLocalVars?.firstTask?ne(t):!t&&f.taskInfo?.startUserId===e}),Le=e=>{const t=(e?.commentList||[]).find(s=>String(s.type)!=="8");return String(t?.fullMessage||"").trim()},Se=e=>{if(!e?.finishTime)return;const t=!!e.taskLocalVars?.firstTask,s=t?{label:"已提交",type:"success"}:ue[String((e.commentList||[]).find(K=>String(K.type)!=="8")?.type||"")]||{label:"已办",type:"success"},o=De(s.type),i=!!e.assigneeId&&e.assigneeId===O().getUserInfo.userCode,h=X(e.createTime||"")?.getTime()??0,k=X(e.finishTime||"")?.getTime()??0,g=h&&k?Math.max(k-h,0):0,y=Ee(s.label);return{level:o,icon:oe(o),color:te[o],weakColor:se[o],title:`${i?"我的处理":e.assigneeName||"审批"}:${y}`,sub:[Z(e.finishTime),g?`耗时 ${ee(g)}`:""].filter(Boolean).join(" · "),opinion:t?"":Le(e),filesTaskId:t?"":e.taskId||"",ctText:e.taskName||"",ctLabel:"",ctKind:"node"}},ae=()=>{const e=w.value,t=Q.value?"danger":"ok",s=Q.value?"流程已终止":"流程已办结",o=Z(e?.procEndTime);return{level:t,icon:oe(t),color:te[t],weakColor:se[t],title:s,sub:o?`${o} ${Q.value?"已终止":"完成归档"}`:s,opinion:"",filesTaskId:"",ctText:"",ctLabel:"",ctKind:""}},re=()=>{const e=_.value?.activeTasks||[],t=e.map(y=>X(y.createTime||"")).filter(y=>!!y).sort((y,K)=>y.getTime()-K.getTime())[0];if(!t)return;const s=e[0],o=Array.from(new Set(e.map(y=>y.assigneeName).filter(y=>!!y))),i=s?.approvalType||"",h=i==="joint"||i==="all"?" · ":" / ",k=Math.max(Date.now()-t.getTime(),0),g=ct(be("SysFlowTimeout"),k);return{title:`当前等待:${s?.taskName||w.value?.taskName||"当前节点"} · ${o.length?o.join(h):"待分配"}`,sub:`已停留 ${ee(k)}`,opinion:"",filesTaskId:"",ctText:ee(k),ctLabel:g.level==="danger"?"超时风险":"等待中",ctKind:"stay",color:g.color||"var(--el-color-primary)",level:g.level,weakColor:Ne(g.color),icon:"clock"}},d=v(()=>{const e=G.value;return Be.value?V.value?ae():re():e?.finishTime&&!e.taskLocalVars?.firstTask&&ne(e)?Se(e):V.value?ae():re()}),Ke=v(()=>{const e=[...H.value],t=new Set(e.map(o=>le(o)));for(const o of _.value?.futureTasks||[]){const i=`${o.taskDefKey||o.taskName}-`;t.has(i)||e.push({taskName:o.taskName,taskDefKey:o.taskDefKey,tasks:[],assigneeNames:o.assigneeNames,approvalType:o.approvalType})}e.push({taskName:"结束",taskDefKey:ge,tasks:[],isEnd:!0});const s=new Map;for(const o of e){const i=o.taskDefKey||o.taskName||"";i&&(o.occurrence=(s.get(i)||0)+1,s.set(i,o.occurrence))}return e}),le=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,$e={single:"或签",joint:"会签",all:"会签"},ie=e=>$e[e.approvalType||e.tasks[0]?.approvalType||""]||"",Me=e=>(e.approvalType||e.tasks[0]?.approvalType||"")==="single",Ae=v(()=>{const e=G.value;if(!e?.finishTime)return;const t=O().getUserInfo.userCode;if(!(!t||e.assigneeId!==t))return e}),ce=e=>{const t=O().getUserInfo.userCode;if(!t)return"";const s=e.tasks.filter(i=>!!i.finishTime&&i.assigneeId===t);if(!s.length)return"";const o=Ae.value?.taskId;return o&&s.some(i=>i.taskId===o)?"entry":"other"},de=e=>{const t=(e.assigneeNames||"").split(",").map(s=>s.trim()).filter(Boolean);return t.length?t:["待处理"]},ue={1:{label:"同意",type:"success"},2:{label:"退回",type:"warning"},3:{label:"驳回",type:"warning"},4:{label:"委派",type:"warning"},5:{label:"转办",type:"warning"},6:{label:"终止",type:"danger"},7:{label:"撤回",type:"info"},8:{label:"催办",type:"info"}},Oe=e=>Z(e.finishTime||e.createTime),Fe={success:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",primary:"var(--el-color-primary)"},Ve=e=>Fe[e]||"",N=e=>{if(e.isEnd)return V.value?{label:"已结束",type:"success",hollow:!0}:{label:"等待",type:"info",hollow:!0};if(!e.tasks.length)return{label:"等待",type:"info",hollow:!0};const t=e.tasks;if(t.some(i=>!i.finishTime))return{label:"进行中",type:"primary",hollow:!0};let s="已办",o="success";if(t.some(i=>i.taskLocalVars?.firstTask))s="提交";else{const i=[...t].sort((k,g)=>(g.finishTime||"").localeCompare(k.finishTime||""))[0]?.commentList?.[0],h=ue[i?.type||""];s=h?.label||"已办",o=h?.type||"success"}return{label:s,type:o,hollow:!0}},pe=e=>{const t=e.assigneeName||e.startUserName||"待处理";return e.finishTime?`${t} · ${Oe(e)}`:t},je=e=>e.tasks.length?e.tasks.map(pe).join(" / "):de(e).join(" / "),Y=e=>e.tasks.map(t=>t.comment).filter(Boolean).join(" / "),fe=v(()=>{const e=new Map,t=[];for(const s of H.value){const o=s.taskDefKey||s.taskName||"";if(!o)continue;const i=s.tasks.some(k=>!k.finishTime)?"process":N(s).type,h=e.get(o);if(h!==void 0){const k=t[h];k.occurrence=(k.occurrence||1)+1,k.parentExecutionId=s.parentExecutionId,k.status=i;continue}e.set(o,t.length),t.push({taskName:s.taskName,taskDefKey:s.taskDefKey,parentExecutionId:s.parentExecutionId,status:i,occurrence:1})}for(const s of _.value?.futureTasks||[]){const o=s.taskDefKey||s.taskName||"";if(!o)continue;const i=e.get(o);if(i!==void 0){t[i].status="wait";continue}e.set(o,t.length),t.push({taskName:s.taskName,taskDefKey:s.taskDefKey,status:"wait"})}return t.push({taskName:"结束",taskDefKey:ge,status:V.value?"success":"wait"}),t}),me=e=>{const t=O().getUserInfo.userCode;return!t||!e?!1:!!(e.assigneeId===t||e.candidate&&e.candidate.split(",").map(o=>o.trim()).filter(Boolean).includes(t))},Ue=v(()=>me(w.value)?!0:(_.value?.activeTasks||[]).some(e=>me(e))),ke=v(()=>f.readonly||!!w.value?.finishTime||!!w.value?.procEndTime||U.value&&!(_.value?.activeTasks||[]).length||!Ue.value),q=$(!1),Pe=v(()=>ke.value&&!!f.taskId&&(f.withdrawEnabled===!0||f.taskInfo?.withdrawEnabled===!0)),We=async()=>{const e=f.taskInfo||w.value;if(!e?.taskId)return;const t={taskId:e.taskId,taskDefKey:e.taskDefKey,taskName:e.taskName,taskTitle:e.taskTitle,procInsId:e.procInsId,procDefId:e.procDefId,procDefKey:e.procDefKey,businessId:e.businessId};q.value=!0;try{await A.processWithdrawalVerification(t);let s="";try{const o=await A.processWithdrawalPreview(t);s=String(o?.targetTaskName||"")}catch(o){console.warn("撤回预览失败",o)}await nt.confirm(`确认撤回「${e.taskTitle||e.taskName||"该申请单"}」?`+(s?`撤回后流程将回到「${s}」,需要重新提交。`:"撤回后需要重新提交。"),"撤回确认",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await A.processWithdrawal(t),at.success("撤回成功"),F("success",e),F("cancel")}catch(s){if(s==="cancel"||s==="close")return;he.messageError(s)}finally{q.value=!1}},Re=v(()=>j.value?.taskOption),ze=v(()=>{const e=Re.value;return{...e||{},cancelFunction:(...t)=>{e?.cancelFunction?.(...t),F("cancel")},workflowComplete:async(...t)=>{await e?.workflowComplete?.(...t)}}}),ve=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,we=async(e,t=!1)=>{const s=f.taskInfo&&f.taskInfo.procInsId==null&&f.taskInfo.processInstanceId!=null?{...f.taskInfo,procInsId:f.taskInfo.processInstanceId}:f.taskInfo;if(!(!f.taskId&&!s?.procInsId))try{L.value=!0,U.value=!1,w.value=e?{...w.value,...e}:t&&f.taskId?await A.getTaskInst(f.taskId):s||await A.getTaskInst(f.taskId),w.value?.procInsId&&(_.value=await A.getProcessTaskList(w.value.procInsId)),U.value=!0,await xe(),await ot(),await j.value?.resetQuery?.()}catch(o){he.messageError(o)}finally{L.value=!1}},He=async e=>{F("success",e),await we(e,!0)};return Ie({resetQuery:async()=>{await we()}}),(e,t)=>{const s=T("el-icons"),o=T("el-title"),i=T("el-empty"),h=T("el-tag-display"),k=T("el-flex"),g=T("el-timeline-item"),y=T("el-timeline"),K=T("el-button"),Qe=T("operation-auth"),Ge=Xe("loading");return n(),r("div",pt,[l(`
|
|
2
2
|
内容区撑满剩余空间统一使用 dialog-content-fill(flex/height 由核心工具类提供),
|
|
3
3
|
滚动仅保留在本内容区,底部操作栏固定不随内容滚动。
|
|
4
|
-
`),
|
|
4
|
+
`),Ze((n(),r("div",ft,[l(`
|
|
5
|
+
当前等待:参考 flowpilot 设计的时长梯度状态条。
|
|
6
|
+
颜色与浅色底纹按 SysFlowTimeout 字典命中区间(正常 / 预警 / 超时)渲染,
|
|
7
|
+
流程已结束(含终止)时不展示。
|
|
8
|
+
`),d.value?(n(),r("div",{key:0,class:M(["wf-wait",d.value.level?`is-${d.value.level}`:""]),style:ye({"--wf-wait-color":d.value.color,"--wf-wait-weak":d.value.weakColor})},[c("span",mt,[l(" 进行中:时钟 "),d.value.icon==="clock"?(n(),r("svg",kt,[...t[3]||(t[3]=[c("circle",{cx:"12",cy:"12",r:"9"},null,-1),c("path",{d:"M12 8v4l3 3"},null,-1)])])):d.value.icon==="check"?(n(),r(m,{key:1},[l(" 已办结:对勾 "),t[4]||(t[4]=c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round"},[c("path",{d:"M20 6L9 17l-5-5"})],-1))],2112)):d.value.icon==="back"?(n(),r(m,{key:2},[l(" 驳回:回退箭头 "),t[5]||(t[5]=c("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[c("path",{d:"M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z"})],-1))],2112)):(n(),r(m,{key:3},[l(" 已终止:叉 "),t[6]||(t[6]=c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.6","stroke-linecap":"round","stroke-linejoin":"round"},[c("path",{d:"M18 6L6 18"}),c("path",{d:"M6 6l12 12"})],-1))],2112))]),c("div",vt,[c("div",wt,p(d.value.title),1),c("div",yt,p(d.value.sub),1),l(" 结束态:把该次审批的意见一并带出来,避免去审批记录里翻 "),d.value.opinion?(n(),r("div",_t," 审核意见:"+p(d.value.opinion),1)):l("v-if",!0),l(" 该次审批的附件:与审批记录里的附件同样支持点击预览 "),d.value.filesTaskId&&x(d.value.filesTaskId).length?(n(),r("div",ht,[(n(!0),r(m,null,D(x(d.value.filesTaskId),a=>(n(),r("span",{key:a.id,class:"wf-wait__file",onClick:u=>J(R)(a.id)},[E(s,{"model-value":z(a.name)},null,8,["model-value"]),b(p(a.name),1)],8,gt))),128))])):l("v-if",!0)]),d.value.ctText?(n(),r("div",{key:0,class:M(["wf-wait__ct",`is-${d.value.ctKind}`])},[c("b",null,p(d.value.ctText),1),d.value.ctLabel?(n(),r("span",It,p(d.value.ctLabel),1)):l("v-if",!0)],2)):l("v-if",!0)],6)):l("v-if",!0),E(o,{level:"1",title:"流程进度",style:{"border-bottom":"var(--border)"}}),c("div",null,[fe.value.length?(n(),r("div",Tt,[c("div",bt,[(n(!0),r(m,null,D(fe.value,(a,u)=>(n(),r("div",{key:ve(a),class:M(["wf-progress-step",{done:a.status==="success",current:a.status==="process",rejected:a.status==="warning",stopped:a.status==="error"||a.status==="danger"}])},[c("div",Ct,[c("div",xt,[l(" 同意/提交:对勾 "),a.status==="success"?(n(),r("svg",Nt,[...t[7]||(t[7]=[c("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):a.status==="warning"?(n(),r(m,{key:1},[l(" 驳回:回退箭头 "),t[8]||(t[8]=c("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[c("path",{d:"M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z"})],-1))],2112)):a.status==="danger"||a.status==="error"?(n(),r(m,{key:2},[l(" 终止:叉 "),t[9]||(t[9]=c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[c("path",{d:"M18 6L6 18"}),c("path",{d:"M6 6l12 12"})],-1))],2112)):a.status==="info"?(n(),r(m,{key:3},[l(" 撤回:撤销箭头 "),t[10]||(t[10]=c("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[c("path",{d:"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"})],-1))],2112)):(n(),r("span",Dt,p(u+1),1))])]),c("div",Et,[c("span",Bt,[c("span",Lt,p(a.taskName||"未命名节点"),1),a.occurrence&&a.occurrence>1?(n(),r("sup",St,p(a.occurrence),1)):l("v-if",!0)])])],2))),128))])])):(n(),B(i,{key:0,description:"暂无流程进度","image-size":48}))]),l(`
|
|
5
9
|
业务审核内容:完全由业务内容组件/插槽决定(含它自己的标题、分区、网格),
|
|
6
10
|
通用抽屉不再注入任何标题,业务页面给什么就展示什么。
|
|
7
|
-
`),
|
|
11
|
+
`),et(e.$slots,"content",{task:w.value,process:_.value},()=>[C.contentComponent?(n(),B(tt(C.contentComponent),st({key:0,ref_key:"contentRef",ref:j},C.contentProps,{loading:L.value,"onUpdate:loading":t[0]||(t[0]=a=>L.value=a)}),null,16,["loading"])):l("v-if",!0)],!0),E(o,{level:"1",title:"审批记录",style:{"border-bottom":"var(--border)"}}),c("div",null,[H.value.length?(n(),B(y,{key:1,class:"workflow-todo-shell__timeline"},{default:S(()=>[(n(!0),r(m,null,D(Ke.value,a=>(n(),B(g,{key:le(a),type:N(a).type,hollow:N(a).hollow,class:M({"is-active":N(a).type==="primary"}),style:ye({"--el-timeline-node-color":Ve(N(a).type)})},{default:S(()=>[E(k,{align:"center",justify:"space-between",class:M(["workflow-todo-shell__record-title",`is-${N(a).type}`])},{default:S(()=>[c("span",null,[b(p(a.taskName||"未命名节点")+" ",1),(a.occurrence||0)>1?(n(),r("span",Kt,p(a.occurrence),1)):l("v-if",!0),ie(a)?(n(),r("span",$t,p(ie(a)),1)):l("v-if",!0),l(" 我办理过的节点:标注「我的操作」,颜色跟随该节点的审批结论 "),ce(a)?(n(),r("span",{key:2,class:M(["workflow-todo-shell__record-mine",`is-${ce(a)}`])}," 我的操作 ",2)):l("v-if",!0)]),E(h,{type:N(a).type,size:"small"},{default:S(()=>[b(p(N(a).label),1)]),_:2},1032,["type"])]),_:2},1032,["class"]),Me(a)?(n(),r("div",Mt,[c("span",At,p(je(a)),1),Y(a)||a.tasks.some(u=>x(u.taskId).length)?(n(),r("div",Ot,[Y(a)?(n(),r(m,{key:0},[b(p(Y(a)),1)],64)):l("v-if",!0),(n(!0),r(m,null,D(a.tasks,u=>(n(),r(m,{key:u.taskId},[x(u.taskId).length?(n(),r("div",Ft,[(n(!0),r(m,null,D(x(u.taskId),I=>(n(),r("span",{key:I.id,class:"workflow-todo-shell__record-file",onClick:Ye=>J(R)(I.id)},[E(s,{"model-value":z(I.name)},null,8,["model-value"]),b(p(I.name),1)],8,Vt))),128))])):l("v-if",!0)],64))),128))])):l("v-if",!0)])):a.tasks.length?(n(!0),r(m,{key:1},D(a.tasks,u=>(n(),r("div",{key:u.taskId,class:"workflow-todo-shell__record-user"},[c("span",jt,p(pe(u)),1),u.comment||x(u.taskId).length?(n(),r("div",Ut,[u.comment?(n(),r(m,{key:0},[b(p(u.comment),1)],64)):l("v-if",!0),x(u.taskId).length?(n(),r("div",Pt,[(n(!0),r(m,null,D(x(u.taskId),I=>(n(),r("span",{key:I.id,class:"workflow-todo-shell__record-file",onClick:Ye=>J(R)(I.id)},[E(s,{"model-value":z(I.name)},null,8,["model-value"]),b(p(I.name),1)],8,Wt))),128))])):l("v-if",!0)])):l("v-if",!0)]))),128)):a.isEnd?l("v-if",!0):(n(),r(m,{key:2},[l(" 结束节点只有节点名与状态,不展示审签人 "),(n(!0),r(m,null,D(de(a),u=>(n(),r("div",{key:u,class:"workflow-todo-shell__record-user"},[c("span",Rt,p(u),1)]))),128))],64))]),_:2},1032,["type","hollow","class","style"]))),128))]),_:1})):(n(),B(i,{key:0,description:"暂无审批记录","image-size":48}))])])),[[Ge,L.value]]),C.showFooter?(n(),r("div",zt,[l(`
|
|
12
|
+
已办节点的只读查看:节点开了撤回(后端按节点下发 withdrawEnabled)时,
|
|
13
|
+
在「取消」旁边给出撤回入口——校验、预览、二次确认、执行都在组件内完成,
|
|
14
|
+
成功后通知调用方刷新列表并关闭查看。
|
|
15
|
+
`),Pe.value?(n(),B(Qe,{key:0,"oper-code":"system:workflow:processWithdrawal"},{default:S(()=>[E(K,{type:"warning",loading:q.value,onClick:We},{default:S(()=>[...t[11]||(t[11]=[b("撤回",-1)])]),_:1},8,["loading"])]),_:1})):l("v-if",!0),ke.value?(n(),B(K,{key:1,onClick:t[1]||(t[1]=a=>F("cancel"))},{default:S(()=>[...t[12]||(t[12]=[b("取消",-1)])]),_:1})):(n(),B(dt,{key:2,"task-id":C.taskId,params:ze.value,"render-dialog":C.renderDialog,"show-process-btn":!1,"but-loading":L.value,"onUpdate:butLoading":t[2]||(t[2]=a=>L.value=a),onSuccess:He},null,8,["task-id","params","render-dialog","but-loading"]))])):l("v-if",!0)])}}}),to=ut(Ht,[["__scopeId","data-v-f5170305"]]);export{to as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as re,useModel as le,ref as y,computed as V,resolveComponent as d,resolveDirective as oe,withDirectives as se,openBlock as n,createBlock as f,withCtx as s,createVNode as i,createCommentVNode as D,createElementBlock as N,Fragment as T,renderList as A,normalizeClass as ne,createElementVNode as M,toDisplayString as R,mergeModels as j}from"vue";import ie from"../../bpmntree/components/UserSelector/UserTag.vue.js";import p from"../../../api/workflow/workflowInstApi.js";import{ElMessage as c}from"element-plus";import ue from"../../business/comp.userForm.vue.js";import ce from"../../upload/CustomElUpload.vue.js";import{userInfoStore as w}from"../../../stores/userInfoStore.js";import L from"../../../api/DocumentApi.js";import F from"../../../utils/FrameworkUtils.js";import me from"../../../api/SysUserApi.js";import{_ as de}from"../../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../utils/request.js";import"../../../utils/AxiosConfig.js";import"axios";import"../../../utils/uuid.js";import"uuid";import"../../../utils/encrypt.js";import"jsencrypt";import"../../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../../utils/behaviorContext.js";import"../../../utils/dateTime.js";import"../../../utils/frontendBus.js";import"../../../utils/globalLoading.js";import"../../../utils/workflowTaskContext.js";import"../../../config/GlobalLoadingConfig.js";import"@vueuse/core";import"../../../api/DeptInfoApi.js";import"../../../api/EmployeeInfoApi.js";import"../../../hooks/useResetRefHooks.js";import"../../../config/vxeSelectColumn.js";import"../../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"xlsx-js-style";import"@element-plus/icons-vue";import"../../../hooks/useFileView.js";import"../../../hooks/useDeleteConfirmHooks.js";import"../../../hooks/useBehaviorAction.js";import"../../../utils/uploadAccept.js";import"../../../utils/buildUploadHeaders.js";import"pinia";import"../../../utils/userSessionStorage.js";const pe={style:{"font-size":"16px"}},ve=re({__name:"CheckDialog",props:j({taskVo:{},dialogType:{},taskOperate:{},commentReadonly:{type:Boolean},renderDialog:{type:Function},onWorkflowSuccess:{type:Function}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:j(["success","openAssignee"],["update:loading"]),setup(O,{expose:W,emit:z}){const l=O,B=z,b=le(O,"loading"),h=y(""),o=V(()=>l.dialogType??""),e=y({taskId:"",comment:""}),I=y([]),m=y({}),v=y([]),k=y(""),E=y(!1),K=V(()=>e.value?.variables?.persons?.length>0),P=async()=>{const t=l.taskVo;if(t){E.value=!!l.commentReadonly,b.value=!0,e.value={...t},e.value.comment=t.comment??"";try{I.value=await L.getBusinessDocuments("workflow",t.taskId)}catch(a){c.error(a.msg),I.value=[]}if(o.value==="complete")h.value="审批意见",e.value.comment=e.value.comment?e.value.comment:"同意。";else if(o.value==="refuse")h.value="终止原因";else if(o.value==="back"){h.value="驳回原因",k.value="",v.value=[];try{v.value=await p.findReturnTaskList(e.value.taskId),v.value.length==1&&(k.value=v.value[0].taskKey)}catch(a){v.value=[],F.messageError(a)}}else o.value==="transfer"&&(h.value="转办原因",e.value.comment="",m.value={});b.value=!1}},Q=V(()=>{const t=w().getUserInfo,a=t?.topDeptId||t?.mdmDeptId;return a?[a]:[]}),S=l.renderDialog,H=(t,a,u,g,x,_)=>{if(!S){console.warn("[CheckDialog] 未注入 renderDialog,无法打开选人弹窗(请通过 props 传入 useDialogHooks 的 render)");return}S(t,a,u,g,x,_)},q=()=>{H(ue,{multiple:!1,selectedUserCodes:m.value.loginName?[m.value.loginName]:[],defalutQueryParam:{deptIds:Q.value},onSuccess:t=>{const u=(Array.isArray(t)?t:t?[t]:[])[0];u?.code&&(m.value={id:u.id,userName:u.name,loginName:u.code},$(u.code))}},{title:"选择转办人",width:"900px",top:"8vh",style:{height:"72vh"}},"dialog")},$=async t=>{try{await me.addNBUserInfo([t])}catch(a){m.value={},F.messageError(a)}},G=w().getUserInfo.userCode,C=async t=>{await l.onWorkflowSuccess?.({actionType:o.value,taskVo:e.value,askVo:t,workflowApiInvoker:J()})},J=()=>o.value==="refuse"?l.taskOperate?.refuseFunction?"backend":"frontend":l.taskOperate?.completeFunction?"backend":"frontend";return W({resetQuery:P,confirm:async()=>{if(!(!e.value||!G))try{if(b.value=!0,I.value.length>0){const t=I.value.map(a=>a.id);if(t.length>0)try{await L.fileStatusConfirmation(t)}catch(a){F.messageError(a);return}}if(o.value==="complete"){if(!e.value.comment){c.warning("请填写审批意见!");return}if(K.value&&!e.value.variables.nextChecker?.length){c.warning("请选择下一步审核人!");return}const t={taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:e.value.comment,procInsId:e.value.procInsId,procDefKey:e.value.procDefKey,variables:e.value.variables};if(l.taskOperate?.completeFunction){const a=await l.taskOperate.completeFunction(t);a&&a?.taskId?e.value=a:e.value=await p.getTaskInst(e.value.taskId)}else e.value=await p.taskComplete(t);if(await C(t),e.value.operations&&e.value.operations?.indexOf("assignee")>-1){B("openAssignee",e.value.taskId);return}}else if(o.value==="refuse"){if(!e.value.comment){c.warning("请填写终止原因!");return}const t={taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:e.value.comment,stopWorkflow:!0};l.taskOperate?.refuseFunction?(await l.taskOperate.refuseFunction(t),e.value=await p.getTaskInst(e.value.taskId)):e.value=await p.taskReject(t),await C(t),c.success("中止成功")}else if(o.value==="back"){if(!e.value.comment){c.warning("请填写驳回原因!");return}if(!k.value){c.warning("请指定回退节点!");return}const t={taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:e.value.comment,targetKey:k.value,isFirstActivity:v.value.find(a=>a.taskKey===k.value)?.isFirstActivity};l.taskOperate?.backFunction?(await l.taskOperate.backFunction(t),e.value=await p.getTaskInst(e.value.taskId)):e.value=await p.taskReturn(t),await C(t),c.success("回退成功")}else if(o.value==="transfer"){if(!e.value.comment){c.warning("请填写转办原因!");return}if(!m.value.loginName){c.warning("请选择转办人!");return}const t={taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:w().getUserInfo.userName+"-》"+m.value.userName+":"+e.value.comment,assignee:m.value.loginName};l.taskOperate?.transferFunction?(await l.taskOperate.transferFunction(t),e.value=await p.getTaskInst(e.value.taskId)):e.value=await p.taskTransfer(t),await C(t)}B("success",e.value)}catch(t){throw F.messageError(t),t}finally{b.value=!1}}}),(t,a)=>{const u=d("el-input"),g=d("el-form-item"),x=d("el-icons"),_=d("el-flex"),X=d("el-space"),Y=d("el-card"),Z=d("el-option"),ee=d("el-select"),te=d("el-form"),ae=oe("loading");return se((n(),f(_,{vertical:!0,justify:"center",height:"100%"},{default:s(()=>[i(te,{"label-width":"80px",style:{width:"100%"}},{default:s(()=>[i(g,{label:h.value,required:o.value!=="complete"},{default:s(()=>[i(u,{readonly:E.value,disabled:e.value?.finishTime,modelValue:e.value.comment,"onUpdate:modelValue":a[0]||(a[0]=r=>e.value.comment=r),style:{width:"100%"},maxlength:255,rows:3,resize:!1,type:"textarea",placeholder:"请填入意见"},null,8,["readonly","disabled","modelValue"])]),_:1},8,["label","required"]),o.value==="transfer"?(n(),f(g,{key:0,required:o.value==="transfer",label:"转办人"},{default:s(()=>[i(u,{"model-value":m.value.userName,readonly:"",placeholder:"请选择转办人",onClick:q},{append:s(()=>[i(x,{"model-value":"adtec-adduser",tip:"选择转办人",style:{cursor:"pointer"},onClick:q})]),_:1},8,["model-value"])]),_:1},8,["required"])):D("v-if",!0),o.value==="back"&&v.value.length>1?(n(),f(g,{key:1,label:"回退节点",required:!0},{default:s(()=>[i(_,{vertical:!0,justify:"space-around"},{default:s(()=>[(n(!0),N(T,null,A(v.value,r=>(n(),f(Y,{shadow:"never",style:{width:"100%","margin-bottom":"10px"},class:ne(r.taskKey==k.value?"selected-card":""),key:r.taskKey,onClick:U=>k.value=r.taskKey??""},{default:s(()=>[i(_,{justify:"space-between"},{default:s(()=>[M("span",pe,R(r.taskName),1),M("span",null,"完成于:"+R(r.endTime),1)]),_:2},1024),i(_,null,{default:s(()=>[i(X,null,{default:s(()=>[(n(!0),N(T,null,A(r.users,U=>(n(),f(ie,{type:"primary",closable:!1,key:U.id,"user-id":U.id,username:U.userName},null,8,["user-id","username"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1})):D("v-if",!0),K.value?(n(),f(g,{key:2,label:"下一步审核人",required:""},{default:s(()=>[i(ee,{modelValue:e.value.variables.nextChecker,"onUpdate:modelValue":a[1]||(a[1]=r=>e.value.variables.nextChecker=r),disabled:e.value.variables.persons?.length===1,multiple:"",placeholder:"请选择下一步审核人"},{default:s(()=>[(n(!0),N(T,null,A(e.value.variables.persons,r=>(n(),f(Z,{key:r.code,label:r.name,value:r.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})):D("v-if",!0),o.value!=="transfer"?(n(),f(g,{key:3,label:"附件",style:{"margin-bottom":"0"}})):D("v-if",!0)]),_:1}),i(ce,{limit:5,style:{width:"100%"},"is-edit":!0,"business-id":e.value.taskId,business:"workflow","upload-files-list":I.value,"onUpdate:uploadFilesList":a[2]||(a[2]=r=>I.value=r)},null,8,["business-id","upload-files-list"])]),_:1})),[[ae,b.value]])}}}),ot=de(ve,[["__scopeId","data-v-f691de70"]]);export{ot as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{computed as P,ref as x,unref as w,createApp as so,nextTick as no,h as d}from"vue";import co,{ElDrawer as ho,ElDialog as go,ElButton as z}from"element-plus";import W from"../stores/storeConfig.js";/* empty css */import*as N from"@element-plus/icons-vue";import"../config/ElementPlusConfig.js";import{installVxeGrid as uo}from"../config/VxeTableConfig.js";import po from"element-plus/es/locale/lang/zh-cn";import bo from"./useListenerHooks.js";import{permissionStore as mo}from"../stores/permissionStore.js";import fo from"../components/icon/ElIcons.vue.js";import _o from"../components/ElDialogBody/ElDialogBody.vue.js";import ko from"crypto-js/enc-base64";import yo from"crypto-js/enc-utf8";import{frontendBus as T}from"../utils/frontendBus.js";import{GLOBAL_LOADING_EVENT as U,notifyDialogLoadingScope as vo}from"../utils/globalLoading.js";import xo from"./useBehaviorAction.js";import"pinia";import"pinia-plugin-store";import"../utils/patchWujiePopperCoordinates.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../components/vxeReplace/index.js";import"../components/tooltip/index.js";import"../components/tooltip/src/tooltip.js";import"../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"../utils/behaviorTrack.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"@vueuse/core";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const wo={},Eo="subAppModalOverlay",E="adtec-subapp-modal-open";let j=0;const b=[],v=new Map;let S=!1;const C=new WeakMap,So=()=>{for(let o=b.length-1;o>=0;o--)if(b[o].open.value)return b[o]},F=o=>{if(!o?.id)return;if(o.phase==="start"){const t=So();if(!t)return;v.set(o.id,t),t.requestLoadingIds.add(o.id),t.requestLoading.value=!0;return}const e=v.get(o.id);e&&(v.delete(o.id),e.requestLoadingIds.delete(o.id),e.requestLoading.value=e.requestLoadingIds.size>0)},Lo=o=>{b.push(o),!S&&(T.on(U,F),S=!0)},Io=o=>{const e=b.indexOf(o);e>-1&&b.splice(e,1),o.requestLoadingIds.forEach(t=>v.delete(t)),o.requestLoadingIds.clear(),o.requestLoading.value=!1,!(b.length>0||!S)&&(T.off(U,F),S=!1,v.clear())},Oo=o=>{const e=wo||{};return o.applicationModule||e.VITE_APPLICATION_MODULE||e.VITE_APP_MODULE||String(o.router.currentRoute.value.meta.applicationModule||"")},R=(o,e,t)=>{if(typeof window>"u"||!window.__POWERED_BY_WUJIE__)return;const r=Oo(o);if(!r||(t&&!e.overlayId&&(e.overlayId=`${r}-${Date.now()}-${++j}`),!e.overlayId))return;const
|
|
1
|
+
import{computed as P,ref as x,unref as w,createApp as so,nextTick as no,h as d}from"vue";import co,{ElDrawer as ho,ElDialog as go,ElButton as z}from"element-plus";import W from"../stores/storeConfig.js";/* empty css */import*as N from"@element-plus/icons-vue";import"../config/ElementPlusConfig.js";import{installVxeGrid as uo}from"../config/VxeTableConfig.js";import po from"element-plus/es/locale/lang/zh-cn";import bo from"./useListenerHooks.js";import{permissionStore as mo}from"../stores/permissionStore.js";import fo from"../components/icon/ElIcons.vue.js";import _o from"../components/ElDialogBody/ElDialogBody.vue.js";import ko from"crypto-js/enc-base64";import yo from"crypto-js/enc-utf8";import{frontendBus as T}from"../utils/frontendBus.js";import{GLOBAL_LOADING_EVENT as U,notifyDialogLoadingScope as vo}from"../utils/globalLoading.js";import xo from"./useBehaviorAction.js";import"pinia";import"pinia-plugin-store";import"../utils/patchWujiePopperCoordinates.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../components/vxeReplace/index.js";import"../components/tooltip/index.js";import"../components/tooltip/src/tooltip.js";import"../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"../utils/behaviorTrack.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"@vueuse/core";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const wo={},Eo="subAppModalOverlay",E="adtec-subapp-modal-open";let j=0;const b=[],v=new Map;let S=!1;const C=new WeakMap,So=()=>{for(let o=b.length-1;o>=0;o--)if(b[o].open.value)return b[o]},F=o=>{if(!o?.id)return;if(o.phase==="start"){const t=So();if(!t)return;v.set(o.id,t),t.requestLoadingIds.add(o.id),t.requestLoading.value=!0;return}const e=v.get(o.id);e&&(v.delete(o.id),e.requestLoadingIds.delete(o.id),e.requestLoading.value=e.requestLoadingIds.size>0)},Lo=o=>{b.push(o),!S&&(T.on(U,F),S=!0)},Io=o=>{const e=b.indexOf(o);e>-1&&b.splice(e,1),o.requestLoadingIds.forEach(t=>v.delete(t)),o.requestLoadingIds.clear(),o.requestLoading.value=!1,!(b.length>0||!S)&&(T.off(U,F),S=!1,v.clear())},Oo=o=>{const e=wo||{};return o.applicationModule||e.VITE_APPLICATION_MODULE||e.VITE_APP_MODULE||String(o.router.currentRoute.value.meta.applicationModule||"")},R=(o,e,t)=>{if(typeof window>"u"||!window.__POWERED_BY_WUJIE__)return;const r=Oo(o);if(!r||(t&&!e.overlayId&&(e.overlayId=`${r}-${Date.now()}-${++j}`),!e.overlayId))return;const a={applicationModule:r,overlayId:e.overlayId,open:t};T.emit(Eo,a),t||(e.overlayId=void 0)},H=(o,e)=>{e&&!o.overlayId&&(o.overlayId=`dialog-${Date.now()}-${++j}`),o.overlayId&&vo({id:o.overlayId,open:e})};function Co(){const e="dialog-hooks-styles",t=document.getElementById(e);if(t&&(t.textContent||"").includes("/* dialog-hooks v24 */"))return;t?.remove();const r=document.createElement("style");r.id=e,r.type="text/css",r.innerHTML=`
|
|
2
2
|
/* dialog-hooks v24 */
|
|
3
3
|
/* 抽屉组件 - 无滚动条样式 */
|
|
4
4
|
.dialog-hooks-no-scroll.el-drawer .el-drawer__body {
|
|
@@ -284,4 +284,4 @@ import{computed as P,ref as x,unref as w,createApp as so,nextTick as no,h as d}f
|
|
|
284
284
|
background: transparent !important;
|
|
285
285
|
background-color: transparent !important;
|
|
286
286
|
}
|
|
287
|
-
`,document.head.appendChild(r)}const Do=8;function G(o){const e=[];return o.querySelectorAll(".el-dialog-body__content").forEach(t=>e.push(t)),o.querySelectorAll(".el-drawer__body, .el-dialog__body").forEach(t=>{t.querySelector(".el-dialog-body__content")||e.push(t)}),e}function M(o){const e=[o];return o.querySelectorAll("*").forEach(t=>{
|
|
287
|
+
`,document.head.appendChild(r)}const Do=8;function G(o){const e=[];return o.querySelectorAll(".el-dialog-body__content").forEach(t=>e.push(t)),o.querySelectorAll(".el-drawer__body, .el-dialog__body").forEach(t=>{t.querySelector(".el-dialog-body__content")||e.push(t)}),e}function M(o){const e=[o];return o.querySelectorAll("*").forEach(t=>{const r=t.scrollHeight>t.clientHeight+1||t.scrollWidth>t.clientWidth+1,a=t.offsetWidth-t.clientWidth>0;(r||a)&&e.push(t)}),e}const V=new WeakSet;function Ao(o){G(o).forEach(e=>{M(e).forEach(t=>{V.has(t)||(V.add(t),Mo(t))})})}function Mo(o){let e;const t=()=>{o.classList.add("is-scrolling"),e&&window.clearTimeout(e),e=window.setTimeout(()=>o.classList.remove("is-scrolling"),600)};o.addEventListener("scroll",t,{passive:!0}),o.addEventListener("mouseenter",t),o.addEventListener("mouseleave",()=>{e&&window.clearTimeout(e),o.classList.remove("is-scrolling")})}function D(o){G(o).forEach(e=>{const t=C.get(e);if(!e.isConnected){t?.observer.disconnect(),t?.mutationObserver?.disconnect(),C.delete(e);return}const r=M(e);if(A(e,r),typeof ResizeObserver>"u")return;let a=t;if(!a){const h={observer:new ResizeObserver(()=>A(e,h.targets)),targets:new Set};a=h,C.set(e,h)}const _=new Set(r);a.targets.forEach(h=>{_.has(h)||a.observer.unobserve(h)}),_.forEach(h=>{a.targets.has(h)||a.observer.observe(h)}),a.targets=_,typeof MutationObserver<"u"&&!a.mutationObserver&&(a.mutationObserver=new MutationObserver(()=>{e.isConnected&&A(e,M(e))}),a.mutationObserver.observe(e,{childList:!0,subtree:!0,characterData:!0}))})}function A(o,e){let t=0;e.forEach(r=>{t=Math.max(t,r.offsetWidth-r.clientWidth)}),o.style.setProperty("--dialog-hooks-scrollbar",`${Math.min(Do,Math.max(0,t))}px`)}function To(o,e,t){return o===!1?{enabled:!1,scroll:t,class:void 0,contentClass:void 0}:o===!0||o===void 0?{enabled:o===!0?!0:e,scroll:t,class:void 0,contentClass:void 0}:{enabled:o.enabled??e,scroll:o.scroll??t,class:o.class,contentClass:o.contentClass}}function Bo(o,e){if(e)return e;try{const t=o.router.currentRoute.value.meta?.sysMenuData?.icon;if(t)return t}catch{}try{const t=sessionStorage.getItem("permissionStore");if(t){const r=JSON.parse(ko.parse(t).toString(yo));if(r?.activeMenuInfo?.icon)return r.activeMenuInfo.icon}}catch{}try{return mo(W).getActiveMenuInfo?.icon||""}catch{return""}}function Ae(o){return function(t){const r=[],a=()=>r[r.length-1],_=s=>{const i=w(s?.data),k=w(s?.row),y=w(s?.formData),p=s?.id??s?.taskId??s?.selectedId??i?.id??k?.id??y?.id;return p==null||p===""?"":String(p)},h=(s,i,k,y="drawer",p,X=!0)=>{Co();const{icon:Z,hideConfirm:L,hideFooter:oo,dialogBody:eo,...c}=k||{},f=To(eo,o.defaultDialogBody??!0,X),to=`${y}|${typeof s=="string"?s:s?.__name||s?.name||""}|${c.title||""}|${_(i)}`,B=x(!1),$=x(!1),l={open:x(!0),loading:P(()=>B.value||$.value),manualLoading:B,requestLoading:$,requestLoadingIds:new Set,childInstance:x(),app:null,div:null,closing:!1,renderKey:to,actionName:c.title||"确认"},lo=Object.fromEntries(Object.entries(i||{}).map(([n,u])=>[n,w(u)])),ro={...c,class:["dialog-hooks-host",...f.enabled?["dialog-hooks-body-contained"]:[],...f.scroll?[]:["dialog-hooks-no-scroll"],"dialog-hooks-scroll-auto",...Array.isArray(c.class)?c.class:c.class?[c.class]:[]]},ao=c.onClosed,I=typeof c.title=="string"&&c.title,q=I?Bo(o,Z):"",io=()=>d("div",{class:"dialog-hooks-header"},[q?d("div",{class:"dialog-hooks-header-icon"},[d(fo,{modelValue:q})]):null,d("div",{class:"dialog-hooks-header-title"},[c.title]),l.loading.value&&!L?null:d("button",{type:"button",class:"dialog-hooks-header-close",onClick:()=>m(l)},[d(N.Close)])]),g=so(()=>d(y==="drawer"?ho:go,{...ro,modelValue:l.open.value,showClose:I?!1:c.showClose??!0,onClosed(){H(l,!1),R(o,l,!1),Io(l),ao?.();const n=r.indexOf(l);n>-1&&r.splice(n,1),l.app?.unmount(),l.div?.parentNode&&l.div.parentNode.removeChild(l.div),l.app=null,l.div=null},onClose(){m(l)}},{...I?{header:io}:{},default:()=>{const n=d(s,{...lo,loading:l.loading.value,"onUpdate:loading":u=>{l.manualLoading.value=u},ref:l.childInstance});return f.enabled?d(_o,{scroll:f.scroll,class:f.class,contentClass:f.contentClass},{default:()=>n}):n},...oo?{}:{footer:()=>{if(p&&p.length){const n=p.map(u=>typeof u=="function"?u():u);return d("div",{className:"dialog-footer"},n)}return d("div",{className:"dialog-footer"},[d(z,{onClick:()=>m(l),loading:!L&&l.loading.value},"取 消"),L?null:d(z,{type:"primary",onClick:()=>Y(l),loading:l.loading.value},"确 认")])}}}));o.plugins?.forEach(n=>g.use(n)),g.use(co,{locale:po}),g.use(W),g.use(o.router);for(const[n,u]of Object.entries(N))g.component(n,u);uo(g),o.setupApp?.(g);const O=document.createElement("div");return document.body.appendChild(O),l.app=g,l.div=O,r.push(l),Lo(l),H(l,!0),R(o,l,!0),g.mount(O),no(()=>{Ao(document.body),D(document.body),l.childInstance.value?.resetQuery?.(),setTimeout(()=>{D(document.body),window.dispatchEvent(new Event("resize"))},350),setTimeout(()=>D(document.body),1200)}),bo(),{cancel:()=>m(l)}},Y=async s=>{const i=s||a();if(!i)return;const{runBehaviorAction:k}=xo();await k({code:`dialog:${i.renderKey}:confirm`,name:i.actionName||"确认",actionType:"SUBMIT"},async()=>{try{i.manualLoading.value=!0,await i.childInstance.value?.confirm?.(),t&&m(i)}catch{}finally{i.manualLoading.value=!1}})},m=s=>{const i=s||a();!i||!i.open.value||(i.closing=!0,i.open.value=!1)},K=s=>{const i=a();i&&(i.manualLoading.value=s)},J=()=>a()?.loading.value??!1,Q=P(()=>a()?.childInstance.value);return{render:h,cancel:m,setLoading:K,getLoading:J,instance:Q}}}export{Ae as createDialogHooks,Ae as default};
|
|
@@ -46,6 +46,8 @@ export type WorkflowActionType = 'complete' | 'refuse' | 'back' | 'transfer' | '
|
|
|
46
46
|
export interface WorkflowCompleteExtra {
|
|
47
47
|
askVo?: IWfTaskAskVo;
|
|
48
48
|
originTask?: IWfTaskVo;
|
|
49
|
+
/** 本次动作的工作流接口由谁调用:backend=业务后端内部调用(撤回由后端负责) */
|
|
50
|
+
workflowApiInvoker?: 'frontend' | 'backend';
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* 业务同步失败的载荷,与成功回调相同的上下文 + 原始异常。
|
|
@@ -11,6 +11,14 @@ export interface WorkflowCompleteContext {
|
|
|
11
11
|
originTask?: IWfTaskVo;
|
|
12
12
|
/** 本次提交给工作流引擎的参数,撤回时用于还原(如转办人) */
|
|
13
13
|
askVo?: IWfTaskAskVo;
|
|
14
|
+
/**
|
|
15
|
+
* 本次动作的工作流接口由谁调用:
|
|
16
|
+
* - frontend(默认):前端直连引擎(CheckDialog 自己调 taskComplete/taskReject…),
|
|
17
|
+
* 业务同步失败时由核心包兜底撤回本次动作;
|
|
18
|
+
* - backend:业务后端在业务接口内部调用引擎(节点配了 completeFunction/refuseFunction),
|
|
19
|
+
* 撤回由后端负责,前端不再兜底撤回,避免把后端已经处理过的动作再退回去。
|
|
20
|
+
*/
|
|
21
|
+
workflowApiInvoker?: 'frontend' | 'backend';
|
|
14
22
|
/** 加减签等动作操作前的审批人工号快照(撤回时按差集反向处理) */
|
|
15
23
|
previousAssignees?: string[];
|
|
16
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ElMessage as i}from"element-plus";import
|
|
1
|
+
import{ElMessage as i}from"element-plus";import a from"../api/workflow/workflowInstApi.js";import{userInfoStore as l}from"../stores/userInfoStore.js";import{frontendBus as u}from"../utils/frontendBus.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/behaviorContext.js";import"../utils/dateTime.js";import"../utils/globalLoading.js";import"vue";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";import"pinia";import"../utils/userSessionStorage.js";const c="业务数据处理失败,系统自动撤回本次审批",k=["complete","refuse","back"],p=()=>l().getUserInfo?.userCode||"",m=e=>String(e?.msg||e?.message||e||"业务数据处理失败"),d=e=>m(e?.response?.data??e),g=async e=>((await a.getTaskCandidate(e))?.candidate||[]).map(s=>s?.loginName).filter(s=>!!s),v=async e=>{const r=e.askVo?.procInsId||e.originTask?.procInsId||e.taskVo?.procInsId;if(r)return(await a.getProcessTaskList(r))?.activeTasks||[];const s=e.originTask?.businessId||e.taskVo?.businessId;if(!s)return[];const t=await a.getWfTaskByBusinessId(s);return t?.procEndTime||!t?.taskId?[]:[t]},I=async e=>{const r=e.originTask?.taskDefKey||e.taskVo?.taskDefKey;if(!r)return{reverted:!1,reason:"缺少本次审批的节点标识"};const s=p(),t=await v(e);if(!t.length)return{reverted:!1,reason:"流程已结束,无法回退"};const o=t.find(f=>f.assigneeId&&f.assigneeId===s),n=o||t[0];return n?.taskId?!o&&n.assigneeId&&s?{reverted:!1,reason:`流程已流转给 ${n.assigneeName||n.assigneeId}`}:(await a.taskReturn({taskId:n.taskId,userId:s,targetKey:r,comment:c}),{reverted:!0}):{reverted:!1,reason:"当前没有可回退的活动任务"}},w=async e=>{const r=e.taskVo?.taskId||e.originTask?.taskId,s=e.askVo?.userId;return r?s?(await a.taskTransfer({taskId:r,userId:s,assignee:s,comment:c}),{reverted:!0}):{reverted:!1,reason:"缺少原审批人信息"}:{reverted:!1,reason:"缺少工作流任务标识"}},T=async e=>{const r=e.taskVo?.taskId||e.originTask?.taskId,s=e.previousAssignees||[];if(!r)return{reverted:!1,reason:"缺少工作流任务标识"};if(!s.length)return{reverted:!1,reason:"未记录操作前的审批人"};const t=await g(r),o=e.actionType==="addMulti"?t.filter(n=>!s.includes(n)):s.filter(n=>!t.includes(n));return o.length?(await a.addOrMinusAssignee({taskId:r,assignee:o,type:e.actionType==="addMulti"?"minusMulti":"addMulti"}),{reverted:!0}):{reverted:!1,reason:"未识别到需要还原的审批人"}},y=async e=>{const r=e.taskVo?.taskId||e.originTask?.taskId,s=e.previousAssignees||[];return r?s.length?(await a.setAssigneeList([{taskId:r,assignee:s,type:"assignee"}]),{reverted:!0}):{reverted:!1,reason:"未记录操作前的审批人"}:{reverted:!1,reason:"缺少工作流任务标识"}};async function A(e){if(e.workflowApiInvoker==="backend")return{reverted:!1,reason:"本次工作流动作由业务后端发起,撤回交由后端处理"};try{switch(e.actionType){case"complete":return await I(e);case"transfer":return await w(e);case"addMulti":case"minusMulti":return await T(e);case"assignee":return await y(e);case"refuse":return{reverted:!1,reason:"流程已终止,无法自动撤回"};case"back":return{reverted:!1,reason:"流程已回退,无法自动撤回"};default:return{reverted:!1,reason:"该动作不支持自动撤回"}}}catch(r){return{reverted:!1,reason:d(r)}}}const C=async e=>{const r=d(e.error),s=await A(e);if(s.reverted){u.emit("todoRefresh"),u.emit("homePageRefresh"),i.warning(`业务数据处理失败:${r};已自动撤回本次审批,请关闭后重新办理`);return}i.warning(`业务数据处理失败:${r};自动撤回未执行(${s.reason||"未知原因"}),请刷新后联系管理员处理`)};async function G(e,r){const s=e?.workflowComplete,t={askVo:r.askVo,originTask:r.originTask,workflowApiInvoker:r.workflowApiInvoker};try{typeof s=="function"&&await s(r.taskVo,r.actionType,t)}catch(o){const n={...r,error:o};throw typeof e?.onCompleteError=="function"?await e.onCompleteError(n):r.workflowApiInvoker==="backend"?i.warning(`业务数据处理失败:${d(o)};本次工作流动作由业务后端发起,撤回交由后端处理,请刷新后重试`):e?.revertOnCompleteError===!0||e?.revertOnCompleteError!==!1&&k.includes(r.actionType)?await C(n):i.warning(`业务数据处理失败:${d(o)}`),o}}export{A as revertWorkflowAction,G as runWorkflowComplete};
|
|
@@ -138,6 +138,11 @@ export interface IWfTaskVo {
|
|
|
138
138
|
* 操作权限
|
|
139
139
|
*/
|
|
140
140
|
operations?: string;
|
|
141
|
+
/**
|
|
142
|
+
* 已办行:该节点是否开启了撤回(流程定义 flowable:withdraw=true)。
|
|
143
|
+
* 只有为 true 的节点行才展示「撤回」操作按钮。
|
|
144
|
+
*/
|
|
145
|
+
withdrawEnabled?: boolean;
|
|
141
146
|
/**
|
|
142
147
|
* 当前用户是否有权限查看该任务真实评审详情
|
|
143
148
|
*/
|
|
@@ -177,6 +182,10 @@ export interface IWfTaskVo {
|
|
|
177
182
|
* 按流程实例聚合时的节点数(已办列表“按流程收纳”:当前用户在该实例上办理过的节点数)
|
|
178
183
|
*/
|
|
179
184
|
nodeCount?: number;
|
|
185
|
+
/**
|
|
186
|
+
* 已办处理结果(后端 finishedResult):agree=已同意 / reject=已驳回 / terminate=已终止
|
|
187
|
+
*/
|
|
188
|
+
finishedResult?: string;
|
|
180
189
|
}
|
|
181
190
|
export interface Comment {
|
|
182
191
|
type: string;
|
|
@@ -8,6 +8,8 @@ export interface FormatDateTimeOptions {
|
|
|
8
8
|
export declare const DATE_FORMAT = "YYYY-MM-DD";
|
|
9
9
|
export declare const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
|
|
10
10
|
export declare const DATE_TIME_MILLISECONDS_FORMAT = "YYYY-MM-DD HH:mm:ss.SSS";
|
|
11
|
+
/** 解析后端时间字符串/时间戳/Date:本地时区解析 'YYYY-MM-DD HH:mm:ss',非法值返回 undefined */
|
|
12
|
+
export declare const parseDateTime: (value: Exclude<DateTimeInput, null | undefined>) => Date | undefined;
|
|
11
13
|
/**
|
|
12
14
|
* Formats a date-like value in local time. Empty values use emptyText; invalid values are preserved
|
|
13
15
|
* unless invalidText is explicitly provided.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const h="YYYY-MM-DD",S="YYYY-MM-DD HH:mm:ss",x="YYYY-MM-DD HH:mm:ss.SSS",f=/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[ T](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d{1,3}))?)?)?$/,o=(t,e=2)=>String(t).padStart(e,"0"),l=t=>{const e=f.exec(t);if(!e)return{matched:!1};const[,r,i,c,n,m,d,N]=e,a=Number(r),T=Number(i),u=Number(c),D=Number(n||0),M=Number(m||0),Y=Number(d||0),g=Number((N||"0").padEnd(3,"0")),s=new Date(0);return s.setFullYear(a,T-1,u),s.setHours(D,M,Y,g),s.getFullYear()!==a||s.getMonth()!==T-1||s.getDate()!==u||s.getHours()!==D||s.getMinutes()!==M||s.getSeconds()!==Y||s.getMilliseconds()!==g?{matched:!0,date:void 0}:{matched:!0,date:s}},b=t=>{if(t instanceof Date)return Number.isNaN(t.getTime())?void 0:new Date(t.getTime());if(typeof t=="number"){const c=new Date(t);return Number.isNaN(c.getTime())?void 0:c}const e=t.trim();if(!e)return;const r=l(e);if(r.matched)return r.date;const i=new Date(e);return Number.isNaN(i.getTime())?void 0:i},H=(t,e={})=>{const{format:r=S,emptyText:i="",invalidText:c}=e;if(t==null||typeof t=="string"&&!t.trim())return i;const n=b(t);if(!n)return c??String(t);const m={YYYY:o(n.getFullYear(),4),MM:o(n.getMonth()+1),DD:o(n.getDate()),HH:o(n.getHours()),mm:o(n.getMinutes()),ss:o(n.getSeconds()),SSS:o(n.getMilliseconds(),3)};return r.replace(/YYYY|SSS|MM|DD|HH|mm|ss/g,d=>m[d])};export{h as DATE_FORMAT,S as DATE_TIME_FORMAT,x as DATE_TIME_MILLISECONDS_FORMAT,H as formatDateTime};
|
|
1
|
+
const h="YYYY-MM-DD",S="YYYY-MM-DD HH:mm:ss",x="YYYY-MM-DD HH:mm:ss.SSS",f=/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[ T](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d{1,3}))?)?)?$/,o=(t,e=2)=>String(t).padStart(e,"0"),l=t=>{const e=f.exec(t);if(!e)return{matched:!1};const[,r,i,c,n,m,d,N]=e,a=Number(r),T=Number(i),u=Number(c),D=Number(n||0),M=Number(m||0),Y=Number(d||0),g=Number((N||"0").padEnd(3,"0")),s=new Date(0);return s.setFullYear(a,T-1,u),s.setHours(D,M,Y,g),s.getFullYear()!==a||s.getMonth()!==T-1||s.getDate()!==u||s.getHours()!==D||s.getMinutes()!==M||s.getSeconds()!==Y||s.getMilliseconds()!==g?{matched:!0,date:void 0}:{matched:!0,date:s}},b=t=>{if(t instanceof Date)return Number.isNaN(t.getTime())?void 0:new Date(t.getTime());if(typeof t=="number"){const c=new Date(t);return Number.isNaN(c.getTime())?void 0:c}const e=t.trim();if(!e)return;const r=l(e);if(r.matched)return r.date;const i=new Date(e);return Number.isNaN(i.getTime())?void 0:i},H=(t,e={})=>{const{format:r=S,emptyText:i="",invalidText:c}=e;if(t==null||typeof t=="string"&&!t.trim())return i;const n=b(t);if(!n)return c??String(t);const m={YYYY:o(n.getFullYear(),4),MM:o(n.getMonth()+1),DD:o(n.getDate()),HH:o(n.getHours()),mm:o(n.getMinutes()),ss:o(n.getSeconds()),SSS:o(n.getMilliseconds(),3)};return r.replace(/YYYY|SSS|MM|DD|HH|mm|ss/g,d=>m[d])};export{h as DATE_FORMAT,S as DATE_TIME_FORMAT,x as DATE_TIME_MILLISECONDS_FORMAT,H as formatDateTime,b as parseDateTime};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 流程时长梯度(字典 SysFlowTimeout 驱动),供工作台列表与通用流程抽屉共用。
|
|
3
|
+
*
|
|
4
|
+
* 字典项约定(见系统字典管理 - 流程超时设定):
|
|
5
|
+
* - 字典键值是时长区间表达式,x 为时长(单位:小时),如 `0≤x≤12`、`12<x≤24`、`x>24`;
|
|
6
|
+
* - 备注是展示配置 JSON,与核心包 dict-display 一致:
|
|
7
|
+
* `{"text":{"color":"success"},"tag":{"color":"success"}}`。
|
|
8
|
+
*
|
|
9
|
+
* 时长命中哪个区间就用哪个区间的颜色(text.color 优先,其次 tag.color);
|
|
10
|
+
* 未命中 / 备注没配颜色时返回空串与空档位,由调用方保持默认样式。
|
|
11
|
+
* 备注里的语义色同时决定档位:success=正常、warning=预警、danger=超时,
|
|
12
|
+
* 抽屉状态条、等待最久列表的颜色与浅色底纹都按档位取。
|
|
13
|
+
*/
|
|
14
|
+
/** 档位:正常 / 预警 / 超时 */
|
|
15
|
+
export type FlowTimeoutLevel = 'ok' | 'warning' | 'danger';
|
|
16
|
+
export interface FlowTimeoutDictItem {
|
|
17
|
+
value?: string;
|
|
18
|
+
remark?: string;
|
|
19
|
+
}
|
|
20
|
+
/** 时长梯度结果:时长、命中颜色、档位 */
|
|
21
|
+
export interface FlowTimeoutMeta {
|
|
22
|
+
/** 时长(小时) */
|
|
23
|
+
hours: number;
|
|
24
|
+
/** 命中区间的颜色,未命中为空串 */
|
|
25
|
+
color: string;
|
|
26
|
+
/** 命中档位,未命中为空串 */
|
|
27
|
+
level: FlowTimeoutLevel | '';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 把 `0≤x≤12` / `12<x≤24` / `x>24` 编译成判定函数(x 为小时数),解析不了返回 null。
|
|
31
|
+
*
|
|
32
|
+
* 实现说明:表达式含且只含一个 x,按 x 切开左右两半即可。
|
|
33
|
+
* 不能用前瞻匹配取分段——前瞻匹配拿到的是空串,曾导致所有区间都判定失败、颜色永远为空。
|
|
34
|
+
*/
|
|
35
|
+
export declare function compileTimeoutExpr(expr: string): ((hours: number) => boolean) | null;
|
|
36
|
+
/** 时长(毫秒)→ 命中区间的颜色与档位 */
|
|
37
|
+
export declare function resolveTimeoutMeta(items: FlowTimeoutDictItem[] | undefined, millis?: number): FlowTimeoutMeta;
|
|
38
|
+
/** 时长(毫秒)→ 命中区间的颜色;未命中返回空串(列表单元格只用颜色时用这个) */
|
|
39
|
+
export declare function resolveTimeoutColor(items: FlowTimeoutDictItem[] | undefined, millis?: number): string;
|
|
40
|
+
/** 停留/耗时文案:1 小时内按分钟、1 天内按小时、超过 1 天按天(与参考设计一致) */
|
|
41
|
+
export declare function formatStayDuration(millis?: number): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const c={primary:"#0070d2",success:"#0d9e31",warning:"#e6710b",danger:"#cf2613",error:"#cf2613",info:"#909399"},l={[c.success]:"ok",[c.warning]:"warning",[c.danger]:"danger"},u=t=>t==="<="||t===">="||t==="<"||t===">",f=(t,n)=>{const r=t.left==="x"?n:t.left,e=t.right==="x"?n:t.right;return Number.isNaN(r)||Number.isNaN(e)?!1:t.op==="<="?r<=e:t.op===">="?r>=e:t.op==="<"?r<e:r>e};function h(t){const r=String(t??"").replace(/\s+/g,"").replace(/[≤<]/g,"<=").replace(/[≥>]/g,">=").split("x");if(r.length!==2)return null;const e=[],o=r[0].match(/^(\d+(?:\.\d+)?)(<=|>=|<|>)$/);if(r[0]){if(!o||!u(o[2]))return null;e.push({left:Number(o[1]),op:o[2],right:"x"})}const i=r[1].match(/^(<=|>=|<|>)(\d+(?:\.\d+)?)$/);if(r[1]){if(!i||!u(i[1]))return null;e.push({left:"x",op:i[1],right:Number(i[2])})}return e.length?a=>e.every(s=>f(s,a)):null}const g=t=>{const n=String(t??"").trim();if(!n)return"";try{const r=JSON.parse(n),e=String(r?.text?.color||r?.tag?.color||"").trim().toLowerCase();return c[e]?c[e]:/^#([0-9a-f]{3}|[0-9a-f]{6})$/.test(e)?e:""}catch{return""}};function m(t,n){const r=Math.max(n??0,0)/36e5;for(const e of t??[]){if(!h(String(e?.value??""))?.(r))continue;const o=g(e?.remark);return{hours:r,color:o,level:l[o]??""}}return{hours:r,color:"",level:""}}function p(t,n){return m(t,n).color}function d(t){const n=Math.max(t??0,0),r=n/36e5;return r>=24?`${Math.round(r/24*10)/10} 天`:r>=1?`${Math.round(r)} 小时`:`${Math.round(n/6e4)} 分钟`}export{h as compileTimeoutExpr,d as formatStayDuration,p as resolveTimeoutColor,m as resolveTimeoutMeta};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["src/components/AsideCardList/AsideCardList.vue.js","src/utils/FrameworkUtils.js","chunks/_plugin-vue_export-helper-DlAUqK2U.js","src/components/ElCardList.vue.js","src/components/ElCardSection/ElCardSection.vue.js","src/components/ElCellLink/ElCellLink.vue.js","chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js","src/components/ElCircleBadge/ElCircleBadge.vue.js","src/components/ElContentPanel/ElContentPanel.vue.js","src/components/ElDescForm/ElDescForm.vue.js","chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js","src/utils/dateTime.js","src/components/ElDialogBody/ElDialogBody.vue.js","src/components/ElFlex/ElFlex.vue.js","chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js","src/interface/enum/FlexEnum.js","src/components/icon/ElIcons.vue.js","src/components/ElGrid/ElGrid.vue.js","src/components/ElGrid/ElGridColumnSetting.vue.js","chunks/DragHandleIcon.vue_vue_type_script_setup_true_lang-DnMWn5jY.js","src/utils/columnSettingStorage.js","src/utils/userSessionStorage.js","chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-BqRnIFkw.js","chunks/ElPagePagination.vue_vue_type_style_index_0_lang-CGjSyYgn.js","src/components/ElIndicatorInput/ElIndicatorInput.vue.js","src/components/RichTextEditor/RichTextEditor.vue.js","chunks/preload-helper-BlTxHScW.js","src/utils/uuid.js","src/components/RichTextEditor/richTextHtmlUtils.js","src/components/RichTextEditor/installUmoEditorApp.js","src/components/RichTextEditor/richTextImageUpload.js","src/api/DocumentApi.js","src/utils/request.js","src/utils/AxiosConfig.js","src/utils/encrypt.js","src/utils/behaviorTrack.js","src/utils/behaviorContext.js","src/utils/frontendBus.js","src/utils/globalLoading.js","src/utils/workflowTaskContext.js","src/config/GlobalLoadingConfig.js","src/utils/buildUploadHeaders.js","src/components/ElIndicatorInput/interface.js","src/components/ElNumericInput/ElNumericInput.vue.js","chunks/ElNumericInput.vue_vue_type_script_setup_true_lang-C6KlCE6f.js","src/components/ElSplitPanel/ElSplitPanel.vue.js","src/components/ElTabsPanel/ElTabsPanel.vue.js","src/components/ElTotalTools.vue.js","src/components/OperationAuth/operationAuth.vue.js","chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js","src/hooks/useBehaviorAction.js","src/hooks/useOperationAuth.js","src/stores/permissionStore.js","src/utils/operationAuth.js","src/stores/userInfoStore.js","src/components/Pagination/ElPagePagination.vue.js","src/components/Scrollbars/ElScrollbars.vue.js","chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js","src/components/Search/ElIconSearch.vue.js","src/components/Search/ElSearch.vue.js","src/components/Search/ElSearchInput.vue.js","src/components/SelectInDicators/SelectInDicators.vue.js","src/hooks/useDictHooks.js","src/api/SysDictCacheApi.js","src/stores/dictStore.js","src/components/SelectInDicators/api/DataIndicatorsApi.js","src/config/vxeSelectColumn.js","src/components/Tag/ElTagDisplay.vue.js","chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js","src/components/Title/ElTitle.vue.js","src/components/VxeExportDialog/VxeExportDialog.vue.js","src/components/baseEcharts/index.vue.js","src/hooks/useEcharts.js","src/plugins/echartsConfig.js","src/components/bpmntree/components/UserSelector/UserTag.vue.js","src/components/business/comp.selectUser.vue.js","chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-CctW6HRv.js","src/api/EmployeeInfoApi.js","src/components/business/comp.userForm.vue.js","src/api/DeptInfoApi.js","src/hooks/useResetRefHooks.js","src/components/business/userSelect.vue.js","chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js","src/components/business/userSelectContent.vue.js","src/api/BasicApi.js","src/api/SysUserApi.js","src/components/dict/DictDisplay.vue.js","chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js","src/components/drag/DragHandleIcon.vue.js","src/components/icon/ElIconBtn.vue.js","src/components/kFrame/KFrame.vue.js","src/components/kFrame/IframeOptions.js","src/components/tooltip/ElCopyTooltip.vue.js","chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-MdgIHwF2.js","src/components/upload/AttachmentPreview.vue.js","src/hooks/usePreviewFullscreen.js","src/components/upload/OfficePreview.vue.js","src/utils/fileDownload.js","src/utils/officePreviewUtil.js","src/components/upload/OfficePreviewHeaderBar.vue.js","src/components/upload/CustomElUpload.vue.js","src/hooks/useFileView.js","src/hooks/useDeleteConfirmHooks.js","src/utils/uploadAccept.js","src/components/upload/FileView.vue.js","src/components/upload/FileViewComponents.vue.js","src/components/vxeGrid/index.vue.js","src/config/VxeTableConfig.js","src/utils/patchWujiePopperCoordinates.js","src/components/vxeReplace/index.js","src/components/tooltip/index.js","src/components/tooltip/src/tooltip.js","chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js","chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js","chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js","chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js","chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js","chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js","chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js","chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js","src/components/vxeReplace/VxeButton.vue.js","src/components/vxeReplace/VxeCheckbox.vue.js","src/components/vxeReplace/VxeForm.vue.js","src/components/vxeReplace/VxeInput.vue.js","src/components/vxeReplace/VxeLoading.vue.js","src/components/vxeReplace/VxeModal.vue.js","src/components/vxeReplace/VxePager.vue.js","src/components/vxeReplace/VxeSelect.vue.js","src/components/workflow/TaskOperation.vue.js","src/api/workflow/workflowInstApi.js","src/components/workflow/components/SelectAssigneeDialog.vue.js","chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BWVDdb4B.js","src/components/workflow/components/CheckDialog.vue.js","src/hooks/workflowCompleteRunner.js","src/hooks/workflowTodo.js","src/hooks/usePermissionHooks.js","src/utils/routeMetaParams.js","src/hooks/useOpenNewMenu.js","src/utils/commonUtils.js","src/utils/tree.js","src/components/workflow/WorkflowTodoShell.vue.js","src/components/workflow/components/AddOrMinusMultiDialog.vue.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as o}from"../../chunks/preload-helper-BlTxHScW.js";const _=Object.assign({"/src/components/AsideCardList/AsideCardList.vue":()=>o(()=>import("../components/AsideCardList/AsideCardList.vue.js"),__vite__mapDeps([0,1,2])),"/src/components/ElCardList.vue":()=>o(()=>import("../components/ElCardList.vue.js"),__vite__mapDeps([3,2])),"/src/components/ElCardSection/ElCardSection.vue":()=>o(()=>import("../components/ElCardSection/ElCardSection.vue.js"),__vite__mapDeps([4,2])),"/src/components/ElCellLink/ElCellLink.vue":()=>o(()=>import("../components/ElCellLink/ElCellLink.vue.js"),__vite__mapDeps([5,6])),"/src/components/ElCircleBadge/ElCircleBadge.vue":()=>o(()=>import("../components/ElCircleBadge/ElCircleBadge.vue.js"),__vite__mapDeps([7,2])),"/src/components/ElContentPanel/ElContentPanel.vue":()=>o(()=>import("../components/ElContentPanel/ElContentPanel.vue.js"),__vite__mapDeps([8,2])),"/src/components/ElDescForm/ElDescForm.vue":()=>o(()=>import("../components/ElDescForm/ElDescForm.vue.js"),__vite__mapDeps([9,10,11])),"/src/components/ElDialogBody/ElDialogBody.vue":()=>o(()=>import("../components/ElDialogBody/ElDialogBody.vue.js"),__vite__mapDeps([12,2])),"/src/components/ElFlex/ElFlex.vue":()=>o(()=>import("../components/ElFlex/ElFlex.vue.js"),__vite__mapDeps([13,14,15,16,2])),"/src/components/ElGrid/ElGrid.vue":()=>o(()=>import("../components/ElGrid/ElGrid.vue.js"),__vite__mapDeps([17,18,19,20,21,2,22,1,23])),"/src/components/ElGrid/ElGridColumnSetting.vue":()=>o(()=>import("../components/ElGrid/ElGridColumnSetting.vue.js"),__vite__mapDeps([18,19,20,21,2])),"/src/components/ElIndicatorInput/ElIndicatorInput.vue":()=>o(()=>import("../components/ElIndicatorInput/ElIndicatorInput.vue.js"),__vite__mapDeps([24,25,26,27,28,29,30,31,32,33,34,35,36,11,37,38,39,40,41,2,42])),"/src/components/ElNumericInput/ElNumericInput.vue":()=>o(()=>import("../components/ElNumericInput/ElNumericInput.vue.js"),__vite__mapDeps([43,44])),"/src/components/ElSplitPanel/ElSplitPanel.vue":()=>o(()=>import("../components/ElSplitPanel/ElSplitPanel.vue.js"),__vite__mapDeps([45,2])),"/src/components/ElTabsPanel/ElTabsPanel.vue":()=>o(()=>import("../components/ElTabsPanel/ElTabsPanel.vue.js"),__vite__mapDeps([46,2])),"/src/components/ElTotalTools.vue":()=>o(()=>import("../components/ElTotalTools.vue.js"),__vite__mapDeps([47,22,1])),"/src/components/OperationAuth/operationAuth.vue":()=>o(()=>import("../components/OperationAuth/operationAuth.vue.js"),__vite__mapDeps([48,49,50,35,27,36,34,11,51,52,37,53,54,21])),"/src/components/Pagination/ElPagePagination.vue":()=>o(()=>import("../components/Pagination/ElPagePagination.vue.js"),__vite__mapDeps([55,23,1])),"/src/components/RichTextEditor/RichTextEditor.vue":()=>o(()=>import("../components/RichTextEditor/RichTextEditor.vue.js"),__vite__mapDeps([25,26,27,28,29,30,31,32,33,34,35,36,11,37,38,39,40,41,2])),"/src/components/Scrollbars/ElScrollbars.vue":()=>o(()=>import("../components/Scrollbars/ElScrollbars.vue.js"),__vite__mapDeps([56,57])),"/src/components/Search/ElIconSearch.vue":()=>o(()=>import("../components/Search/ElIconSearch.vue.js"),__vite__mapDeps([58,2])),"/src/components/Search/ElSearch.vue":()=>o(()=>import("../components/Search/ElSearch.vue.js"),__vite__mapDeps([59,14,15,16,2,37])),"/src/components/Search/ElSearchInput.vue":()=>o(()=>import("../components/Search/ElSearchInput.vue.js"),__vite__mapDeps([60,16,2])),"/src/components/SelectInDicators/SelectInDicators.vue":()=>o(()=>import("../components/SelectInDicators/SelectInDicators.vue.js"),__vite__mapDeps([61,62,63,32,33,27,34,35,36,11,37,38,39,40,64,54,21,1,65,66,2])),"/src/components/Tag/ElTagDisplay.vue":()=>o(()=>import("../components/Tag/ElTagDisplay.vue.js"),__vite__mapDeps([67,68])),"/src/components/Title/ElTitle.vue":()=>o(()=>import("../components/Title/ElTitle.vue.js"),__vite__mapDeps([69,16,2,14,15])),"/src/components/VxeExportDialog/VxeExportDialog.vue":()=>o(()=>import("../components/VxeExportDialog/VxeExportDialog.vue.js"),__vite__mapDeps([70,1,68,2])),"/src/components/baseEcharts/index.vue":()=>o(()=>import("../components/baseEcharts/index.vue.js"),__vite__mapDeps([71,72,73])),"/src/components/bpmntree/components/UserSelector/UserTag.vue":()=>o(()=>import("../components/bpmntree/components/UserSelector/UserTag.vue.js"),__vite__mapDeps([74,2])),"/src/components/business/comp.selectUser.vue":()=>o(()=>import("../components/business/comp.selectUser.vue.js"),__vite__mapDeps([75,76,77,32,33,27,34,35,36,11,37,38,39,40,78,79,80,1,66,68,2])),"/src/components/business/comp.userForm.vue":()=>o(()=>import("../components/business/comp.userForm.vue.js"),__vite__mapDeps([78,79,32,33,27,34,35,36,11,37,38,39,40,77,80,1,66,68,2])),"/src/components/business/userSelect.vue":()=>o(()=>import("../components/business/userSelect.vue.js"),__vite__mapDeps([81,82,83,84,32,33,27,34,35,36,11,37,38,39,40,85,1,2])),"/src/components/business/userSelectContent.vue":()=>o(()=>import("../components/business/userSelectContent.vue.js"),__vite__mapDeps([83,84,32,33,27,34,35,36,11,37,38,39,40,85,1,2])),"/src/components/dict/DictDisplay.vue":()=>o(()=>import("../components/dict/DictDisplay.vue.js"),__vite__mapDeps([86,87,62,63,32,33,27,34,35,36,11,37,38,39,40,64,54,21,1,68])),"/src/components/drag/DragHandleIcon.vue":()=>o(()=>import("../components/drag/DragHandleIcon.vue.js"),__vite__mapDeps([88,19])),"/src/components/icon/ElIconBtn.vue":()=>o(()=>import("../components/icon/ElIconBtn.vue.js"),__vite__mapDeps([89,2])),"/src/components/icon/ElIcons.vue":()=>o(()=>import("../components/icon/ElIcons.vue.js"),__vite__mapDeps([16,2])),"/src/components/kFrame/KFrame.vue":()=>o(()=>import("../components/kFrame/KFrame.vue.js"),__vite__mapDeps([90,91,27,2])),"/src/components/tooltip/ElCopyTooltip.vue":()=>o(()=>import("../components/tooltip/ElCopyTooltip.vue.js"),__vite__mapDeps([92,93])),"/src/components/upload/AttachmentPreview.vue":()=>o(()=>import("../components/upload/AttachmentPreview.vue.js"),__vite__mapDeps([94,1,95,96,31,32,33,27,34,35,36,11,37,38,39,40,97,98,99,2])),"/src/components/upload/CustomElUpload.vue":()=>o(()=>import("../components/upload/CustomElUpload.vue.js"),__vite__mapDeps([100,101,37,31,32,33,27,34,35,36,11,38,39,40,1,102,50,54,21,103,41,2])),"/src/components/upload/FileView.vue":()=>o(()=>import("../components/upload/FileView.vue.js"),__vite__mapDeps([104,95,96,31,32,33,27,34,35,36,11,37,38,39,40,1,97,98,99,2])),"/src/components/upload/FileViewComponents.vue":()=>o(()=>import("../components/upload/FileViewComponents.vue.js"),__vite__mapDeps([105,31,32,33,27,34,35,36,11,37,38,39,40,1,97,104,95,96,98,99,2,103])),"/src/components/upload/OfficePreview.vue":()=>o(()=>import("../components/upload/OfficePreview.vue.js"),__vite__mapDeps([96,31,32,33,27,34,35,36,11,37,38,39,40,1,97,98,99,2])),"/src/components/upload/OfficePreviewHeaderBar.vue":()=>o(()=>import("../components/upload/OfficePreviewHeaderBar.vue.js"),__vite__mapDeps([99,98,2])),"/src/components/vxeGrid/index.vue":()=>o(()=>import("../components/vxeGrid/index.vue.js"),__vite__mapDeps([106,107,108,109,110,111,112,113,114,115,116,117,118,119])),"/src/components/vxeReplace/VxeButton.vue":()=>o(()=>import("../components/vxeReplace/VxeButton.vue.js"),__vite__mapDeps([120,112])),"/src/components/vxeReplace/VxeCheckbox.vue":()=>o(()=>import("../components/vxeReplace/VxeCheckbox.vue.js"),__vite__mapDeps([121,115])),"/src/components/vxeReplace/VxeForm.vue":()=>o(()=>import("../components/vxeReplace/VxeForm.vue.js"),__vite__mapDeps([122,119])),"/src/components/vxeReplace/VxeInput.vue":()=>o(()=>import("../components/vxeReplace/VxeInput.vue.js"),__vite__mapDeps([123,113])),"/src/components/vxeReplace/VxeLoading.vue":()=>o(()=>import("../components/vxeReplace/VxeLoading.vue.js"),__vite__mapDeps([124,117])),"/src/components/vxeReplace/VxeModal.vue":()=>o(()=>import("../components/vxeReplace/VxeModal.vue.js"),__vite__mapDeps([125,116])),"/src/components/vxeReplace/VxePager.vue":()=>o(()=>import("../components/vxeReplace/VxePager.vue.js"),__vite__mapDeps([126,118])),"/src/components/vxeReplace/VxeSelect.vue":()=>o(()=>import("../components/vxeReplace/VxeSelect.vue.js"),__vite__mapDeps([127,114])),"/src/components/workflow/TaskOperation.vue":()=>o(()=>import("../components/workflow/TaskOperation.vue.js"),__vite__mapDeps([128,129,32,33,27,34,35,36,11,37,38,39,40,130,1,2,131,54,21,78,79,77,80,66,68,85,132,74,100,101,31,102,50,103,41,133,134,135,52,53,136,137,138,139])),"/src/components/workflow/WorkflowTodoShell.vue":()=>o(()=>import("../components/workflow/WorkflowTodoShell.vue.js"),__vite__mapDeps([140,129,32,33,27,34,35,36,11,37,38,39,40,31,101,
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["src/components/AsideCardList/AsideCardList.vue.js","src/utils/FrameworkUtils.js","chunks/_plugin-vue_export-helper-DlAUqK2U.js","src/components/ElCardList.vue.js","src/components/ElCardSection/ElCardSection.vue.js","src/components/ElCellLink/ElCellLink.vue.js","chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js","src/components/ElCircleBadge/ElCircleBadge.vue.js","src/components/ElContentPanel/ElContentPanel.vue.js","src/components/ElDescForm/ElDescForm.vue.js","chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js","src/utils/dateTime.js","src/components/ElDialogBody/ElDialogBody.vue.js","src/components/ElFlex/ElFlex.vue.js","chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js","src/interface/enum/FlexEnum.js","src/components/icon/ElIcons.vue.js","src/components/ElGrid/ElGrid.vue.js","src/components/ElGrid/ElGridColumnSetting.vue.js","chunks/DragHandleIcon.vue_vue_type_script_setup_true_lang-DnMWn5jY.js","src/utils/columnSettingStorage.js","src/utils/userSessionStorage.js","chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-BqRnIFkw.js","chunks/ElPagePagination.vue_vue_type_style_index_0_lang-CGjSyYgn.js","src/components/ElIndicatorInput/ElIndicatorInput.vue.js","src/components/RichTextEditor/RichTextEditor.vue.js","chunks/preload-helper-BlTxHScW.js","src/utils/uuid.js","src/components/RichTextEditor/richTextHtmlUtils.js","src/components/RichTextEditor/installUmoEditorApp.js","src/components/RichTextEditor/richTextImageUpload.js","src/api/DocumentApi.js","src/utils/request.js","src/utils/AxiosConfig.js","src/utils/encrypt.js","src/utils/behaviorTrack.js","src/utils/behaviorContext.js","src/utils/frontendBus.js","src/utils/globalLoading.js","src/utils/workflowTaskContext.js","src/config/GlobalLoadingConfig.js","src/utils/buildUploadHeaders.js","src/components/ElIndicatorInput/interface.js","src/components/ElNumericInput/ElNumericInput.vue.js","chunks/ElNumericInput.vue_vue_type_script_setup_true_lang-C6KlCE6f.js","src/components/ElSplitPanel/ElSplitPanel.vue.js","src/components/ElTabsPanel/ElTabsPanel.vue.js","src/components/ElTotalTools.vue.js","src/components/OperationAuth/operationAuth.vue.js","chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js","src/hooks/useBehaviorAction.js","src/hooks/useOperationAuth.js","src/stores/permissionStore.js","src/utils/operationAuth.js","src/stores/userInfoStore.js","src/components/Pagination/ElPagePagination.vue.js","src/components/Scrollbars/ElScrollbars.vue.js","chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js","src/components/Search/ElIconSearch.vue.js","src/components/Search/ElSearch.vue.js","src/components/Search/ElSearchInput.vue.js","src/components/SelectInDicators/SelectInDicators.vue.js","src/hooks/useDictHooks.js","src/api/SysDictCacheApi.js","src/stores/dictStore.js","src/components/SelectInDicators/api/DataIndicatorsApi.js","src/config/vxeSelectColumn.js","src/components/Tag/ElTagDisplay.vue.js","chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js","src/components/Title/ElTitle.vue.js","src/components/VxeExportDialog/VxeExportDialog.vue.js","src/components/baseEcharts/index.vue.js","src/hooks/useEcharts.js","src/plugins/echartsConfig.js","src/components/bpmntree/components/UserSelector/UserTag.vue.js","src/components/business/comp.selectUser.vue.js","chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-CctW6HRv.js","src/api/EmployeeInfoApi.js","src/components/business/comp.userForm.vue.js","src/api/DeptInfoApi.js","src/hooks/useResetRefHooks.js","src/components/business/userSelect.vue.js","chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js","src/components/business/userSelectContent.vue.js","src/api/BasicApi.js","src/api/SysUserApi.js","src/components/dict/DictDisplay.vue.js","chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js","src/components/drag/DragHandleIcon.vue.js","src/components/icon/ElIconBtn.vue.js","src/components/kFrame/KFrame.vue.js","src/components/kFrame/IframeOptions.js","src/components/tooltip/ElCopyTooltip.vue.js","chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-MdgIHwF2.js","src/components/upload/AttachmentPreview.vue.js","src/hooks/usePreviewFullscreen.js","src/components/upload/OfficePreview.vue.js","src/utils/fileDownload.js","src/utils/officePreviewUtil.js","src/components/upload/OfficePreviewHeaderBar.vue.js","src/components/upload/CustomElUpload.vue.js","src/hooks/useFileView.js","src/hooks/useDeleteConfirmHooks.js","src/utils/uploadAccept.js","src/components/upload/FileView.vue.js","src/components/upload/FileViewComponents.vue.js","src/components/vxeGrid/index.vue.js","src/config/VxeTableConfig.js","src/utils/patchWujiePopperCoordinates.js","src/components/vxeReplace/index.js","src/components/tooltip/index.js","src/components/tooltip/src/tooltip.js","chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js","chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js","chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js","chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js","chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js","chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js","chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js","chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js","src/components/vxeReplace/VxeButton.vue.js","src/components/vxeReplace/VxeCheckbox.vue.js","src/components/vxeReplace/VxeForm.vue.js","src/components/vxeReplace/VxeInput.vue.js","src/components/vxeReplace/VxeLoading.vue.js","src/components/vxeReplace/VxeModal.vue.js","src/components/vxeReplace/VxePager.vue.js","src/components/vxeReplace/VxeSelect.vue.js","src/components/workflow/TaskOperation.vue.js","src/api/workflow/workflowInstApi.js","src/components/workflow/components/SelectAssigneeDialog.vue.js","chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BWVDdb4B.js","src/components/workflow/components/CheckDialog.vue.js","src/hooks/workflowCompleteRunner.js","src/hooks/workflowTodo.js","src/hooks/usePermissionHooks.js","src/utils/routeMetaParams.js","src/hooks/useOpenNewMenu.js","src/utils/commonUtils.js","src/utils/tree.js","src/components/workflow/WorkflowTodoShell.vue.js","src/utils/flowTimeout.js","src/components/workflow/components/AddOrMinusMultiDialog.vue.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as o}from"../../chunks/preload-helper-BlTxHScW.js";const _=Object.assign({"/src/components/AsideCardList/AsideCardList.vue":()=>o(()=>import("../components/AsideCardList/AsideCardList.vue.js"),__vite__mapDeps([0,1,2])),"/src/components/ElCardList.vue":()=>o(()=>import("../components/ElCardList.vue.js"),__vite__mapDeps([3,2])),"/src/components/ElCardSection/ElCardSection.vue":()=>o(()=>import("../components/ElCardSection/ElCardSection.vue.js"),__vite__mapDeps([4,2])),"/src/components/ElCellLink/ElCellLink.vue":()=>o(()=>import("../components/ElCellLink/ElCellLink.vue.js"),__vite__mapDeps([5,6])),"/src/components/ElCircleBadge/ElCircleBadge.vue":()=>o(()=>import("../components/ElCircleBadge/ElCircleBadge.vue.js"),__vite__mapDeps([7,2])),"/src/components/ElContentPanel/ElContentPanel.vue":()=>o(()=>import("../components/ElContentPanel/ElContentPanel.vue.js"),__vite__mapDeps([8,2])),"/src/components/ElDescForm/ElDescForm.vue":()=>o(()=>import("../components/ElDescForm/ElDescForm.vue.js"),__vite__mapDeps([9,10,11])),"/src/components/ElDialogBody/ElDialogBody.vue":()=>o(()=>import("../components/ElDialogBody/ElDialogBody.vue.js"),__vite__mapDeps([12,2])),"/src/components/ElFlex/ElFlex.vue":()=>o(()=>import("../components/ElFlex/ElFlex.vue.js"),__vite__mapDeps([13,14,15,16,2])),"/src/components/ElGrid/ElGrid.vue":()=>o(()=>import("../components/ElGrid/ElGrid.vue.js"),__vite__mapDeps([17,18,19,20,21,2,22,1,23])),"/src/components/ElGrid/ElGridColumnSetting.vue":()=>o(()=>import("../components/ElGrid/ElGridColumnSetting.vue.js"),__vite__mapDeps([18,19,20,21,2])),"/src/components/ElIndicatorInput/ElIndicatorInput.vue":()=>o(()=>import("../components/ElIndicatorInput/ElIndicatorInput.vue.js"),__vite__mapDeps([24,25,26,27,28,29,30,31,32,33,34,35,36,11,37,38,39,40,41,2,42])),"/src/components/ElNumericInput/ElNumericInput.vue":()=>o(()=>import("../components/ElNumericInput/ElNumericInput.vue.js"),__vite__mapDeps([43,44])),"/src/components/ElSplitPanel/ElSplitPanel.vue":()=>o(()=>import("../components/ElSplitPanel/ElSplitPanel.vue.js"),__vite__mapDeps([45,2])),"/src/components/ElTabsPanel/ElTabsPanel.vue":()=>o(()=>import("../components/ElTabsPanel/ElTabsPanel.vue.js"),__vite__mapDeps([46,2])),"/src/components/ElTotalTools.vue":()=>o(()=>import("../components/ElTotalTools.vue.js"),__vite__mapDeps([47,22,1])),"/src/components/OperationAuth/operationAuth.vue":()=>o(()=>import("../components/OperationAuth/operationAuth.vue.js"),__vite__mapDeps([48,49,50,35,27,36,34,11,51,52,37,53,54,21])),"/src/components/Pagination/ElPagePagination.vue":()=>o(()=>import("../components/Pagination/ElPagePagination.vue.js"),__vite__mapDeps([55,23,1])),"/src/components/RichTextEditor/RichTextEditor.vue":()=>o(()=>import("../components/RichTextEditor/RichTextEditor.vue.js"),__vite__mapDeps([25,26,27,28,29,30,31,32,33,34,35,36,11,37,38,39,40,41,2])),"/src/components/Scrollbars/ElScrollbars.vue":()=>o(()=>import("../components/Scrollbars/ElScrollbars.vue.js"),__vite__mapDeps([56,57])),"/src/components/Search/ElIconSearch.vue":()=>o(()=>import("../components/Search/ElIconSearch.vue.js"),__vite__mapDeps([58,2])),"/src/components/Search/ElSearch.vue":()=>o(()=>import("../components/Search/ElSearch.vue.js"),__vite__mapDeps([59,14,15,16,2,37])),"/src/components/Search/ElSearchInput.vue":()=>o(()=>import("../components/Search/ElSearchInput.vue.js"),__vite__mapDeps([60,16,2])),"/src/components/SelectInDicators/SelectInDicators.vue":()=>o(()=>import("../components/SelectInDicators/SelectInDicators.vue.js"),__vite__mapDeps([61,62,63,32,33,27,34,35,36,11,37,38,39,40,64,54,21,1,65,66,2])),"/src/components/Tag/ElTagDisplay.vue":()=>o(()=>import("../components/Tag/ElTagDisplay.vue.js"),__vite__mapDeps([67,68])),"/src/components/Title/ElTitle.vue":()=>o(()=>import("../components/Title/ElTitle.vue.js"),__vite__mapDeps([69,16,2,14,15])),"/src/components/VxeExportDialog/VxeExportDialog.vue":()=>o(()=>import("../components/VxeExportDialog/VxeExportDialog.vue.js"),__vite__mapDeps([70,1,68,2])),"/src/components/baseEcharts/index.vue":()=>o(()=>import("../components/baseEcharts/index.vue.js"),__vite__mapDeps([71,72,73])),"/src/components/bpmntree/components/UserSelector/UserTag.vue":()=>o(()=>import("../components/bpmntree/components/UserSelector/UserTag.vue.js"),__vite__mapDeps([74,2])),"/src/components/business/comp.selectUser.vue":()=>o(()=>import("../components/business/comp.selectUser.vue.js"),__vite__mapDeps([75,76,77,32,33,27,34,35,36,11,37,38,39,40,78,79,80,1,66,68,2])),"/src/components/business/comp.userForm.vue":()=>o(()=>import("../components/business/comp.userForm.vue.js"),__vite__mapDeps([78,79,32,33,27,34,35,36,11,37,38,39,40,77,80,1,66,68,2])),"/src/components/business/userSelect.vue":()=>o(()=>import("../components/business/userSelect.vue.js"),__vite__mapDeps([81,82,83,84,32,33,27,34,35,36,11,37,38,39,40,85,1,2])),"/src/components/business/userSelectContent.vue":()=>o(()=>import("../components/business/userSelectContent.vue.js"),__vite__mapDeps([83,84,32,33,27,34,35,36,11,37,38,39,40,85,1,2])),"/src/components/dict/DictDisplay.vue":()=>o(()=>import("../components/dict/DictDisplay.vue.js"),__vite__mapDeps([86,87,62,63,32,33,27,34,35,36,11,37,38,39,40,64,54,21,1,68])),"/src/components/drag/DragHandleIcon.vue":()=>o(()=>import("../components/drag/DragHandleIcon.vue.js"),__vite__mapDeps([88,19])),"/src/components/icon/ElIconBtn.vue":()=>o(()=>import("../components/icon/ElIconBtn.vue.js"),__vite__mapDeps([89,2])),"/src/components/icon/ElIcons.vue":()=>o(()=>import("../components/icon/ElIcons.vue.js"),__vite__mapDeps([16,2])),"/src/components/kFrame/KFrame.vue":()=>o(()=>import("../components/kFrame/KFrame.vue.js"),__vite__mapDeps([90,91,27,2])),"/src/components/tooltip/ElCopyTooltip.vue":()=>o(()=>import("../components/tooltip/ElCopyTooltip.vue.js"),__vite__mapDeps([92,93])),"/src/components/upload/AttachmentPreview.vue":()=>o(()=>import("../components/upload/AttachmentPreview.vue.js"),__vite__mapDeps([94,1,95,96,31,32,33,27,34,35,36,11,37,38,39,40,97,98,99,2])),"/src/components/upload/CustomElUpload.vue":()=>o(()=>import("../components/upload/CustomElUpload.vue.js"),__vite__mapDeps([100,101,37,31,32,33,27,34,35,36,11,38,39,40,1,102,50,54,21,103,41,2])),"/src/components/upload/FileView.vue":()=>o(()=>import("../components/upload/FileView.vue.js"),__vite__mapDeps([104,95,96,31,32,33,27,34,35,36,11,37,38,39,40,1,97,98,99,2])),"/src/components/upload/FileViewComponents.vue":()=>o(()=>import("../components/upload/FileViewComponents.vue.js"),__vite__mapDeps([105,31,32,33,27,34,35,36,11,37,38,39,40,1,97,104,95,96,98,99,2,103])),"/src/components/upload/OfficePreview.vue":()=>o(()=>import("../components/upload/OfficePreview.vue.js"),__vite__mapDeps([96,31,32,33,27,34,35,36,11,37,38,39,40,1,97,98,99,2])),"/src/components/upload/OfficePreviewHeaderBar.vue":()=>o(()=>import("../components/upload/OfficePreviewHeaderBar.vue.js"),__vite__mapDeps([99,98,2])),"/src/components/vxeGrid/index.vue":()=>o(()=>import("../components/vxeGrid/index.vue.js"),__vite__mapDeps([106,107,108,109,110,111,112,113,114,115,116,117,118,119])),"/src/components/vxeReplace/VxeButton.vue":()=>o(()=>import("../components/vxeReplace/VxeButton.vue.js"),__vite__mapDeps([120,112])),"/src/components/vxeReplace/VxeCheckbox.vue":()=>o(()=>import("../components/vxeReplace/VxeCheckbox.vue.js"),__vite__mapDeps([121,115])),"/src/components/vxeReplace/VxeForm.vue":()=>o(()=>import("../components/vxeReplace/VxeForm.vue.js"),__vite__mapDeps([122,119])),"/src/components/vxeReplace/VxeInput.vue":()=>o(()=>import("../components/vxeReplace/VxeInput.vue.js"),__vite__mapDeps([123,113])),"/src/components/vxeReplace/VxeLoading.vue":()=>o(()=>import("../components/vxeReplace/VxeLoading.vue.js"),__vite__mapDeps([124,117])),"/src/components/vxeReplace/VxeModal.vue":()=>o(()=>import("../components/vxeReplace/VxeModal.vue.js"),__vite__mapDeps([125,116])),"/src/components/vxeReplace/VxePager.vue":()=>o(()=>import("../components/vxeReplace/VxePager.vue.js"),__vite__mapDeps([126,118])),"/src/components/vxeReplace/VxeSelect.vue":()=>o(()=>import("../components/vxeReplace/VxeSelect.vue.js"),__vite__mapDeps([127,114])),"/src/components/workflow/TaskOperation.vue":()=>o(()=>import("../components/workflow/TaskOperation.vue.js"),__vite__mapDeps([128,129,32,33,27,34,35,36,11,37,38,39,40,130,1,2,131,54,21,78,79,77,80,66,68,85,132,74,100,101,31,102,50,103,41,133,134,135,52,53,136,137,138,139])),"/src/components/workflow/WorkflowTodoShell.vue":()=>o(()=>import("../components/workflow/WorkflowTodoShell.vue.js"),__vite__mapDeps([140,129,32,33,27,34,35,36,11,37,38,39,40,31,101,62,63,64,54,21,1,141,128,130,2,131,78,79,77,80,66,68,85,132,74,100,102,50,103,41,133,134,135,52,53,136,137,138,139])),"/src/components/workflow/components/AddOrMinusMultiDialog.vue":()=>o(()=>import("../components/workflow/components/AddOrMinusMultiDialog.vue.js"),__vite__mapDeps([142,131,129,32,33,27,34,35,36,11,37,38,39,40,54,21,78,79,77,80,1,66,68,2,85])),"/src/components/workflow/components/CheckDialog.vue":()=>o(()=>import("../components/workflow/components/CheckDialog.vue.js"),__vite__mapDeps([132,74,2,129,32,33,27,34,35,36,11,37,38,39,40,78,79,77,80,1,66,68,100,101,31,102,50,54,21,103,41,85])),"/src/components/workflow/components/SelectAssigneeDialog.vue":()=>o(()=>import("../components/workflow/components/SelectAssigneeDialog.vue.js"),__vite__mapDeps([130,129,32,33,27,34,35,36,11,37,38,39,40,1,2]))});export{_ as default};
|