adtec-hnyzfc-core-package 1.6.3 → 1.6.5

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.
@@ -6,6 +6,20 @@ 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>>;
18
+ /**
19
+ * 审核当时快照(通用):按业务单号 + 工作流任务取该节点保存的快照内容。
20
+ * 业务单号全局唯一,bizType 可省略;用于历史查看时判定数据来源、还原当时那一版。
21
+ */
22
+ snapshot(bizId: string, wfTaskId?: string): Promise<Record<string, any>>;
9
23
  taskComplete(task: IWfTaskAskVo): Promise<IWfTaskVo>;
10
24
  taskTransfer(task: IWfTaskAskVo): Promise<IWfTaskVo>;
11
25
  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 e="/api/workflow/task",y={addProcessInst(t){return s.post("/api/workflow/procinstance/start",t)},taskComplete(t){return s.post(e+"/taskComplete",t)},taskTransfer(t){return s.post(e+"/taskTransfer",t)},taskReject(t){return s.post(e+"/taskReject",t)},findReturnTaskList(t,r=!1){return s.post(e+"/findReturnTaskList",{taskId:t,ignoreBackNodes:r})},taskReturn(t){return s.post(e+"/taskReturn",t)},getTaskCandidate(t){return s.post(e+"/getTaskCandidate",{taskId:t})},getTaskCandidateList(t){return s.post(e+"/getTaskCandidateList",{taskId:t})},setAssignee(t){return s.post(e+"/setAssignee",t)},setAssigneeList(t){return s.post(e+"/setAssigneeList",t)},addOrMinusAssignee(t){return s.post(e+"/addOrMinusAssignee",t)},getTaskInst(t){return s.post(e+"/getTaskInst",{taskId:t})},getWfTaskByBusinessId(t){return s.post(e+"/getWfTaskByBusinessId",{businessId:t})},getProcessTaskList(t){return s.get("/api/workflow/workbench/process/"+t)},getWfProcessInstByBusinessId(t){return s.get(e+"/getUserTaskInfo",{businessId:t})},getReviewDetail(t){return s.get(e+"/reviewDetail",{taskId:t})},getLastNodeApprovalByBusinessId(t,r){const o={businessId:t,nodeCodes:Array.isArray(r)?r:[r]};return s.post(e+"/lastNodeApproval",o)}};export{y as default};
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)},snapshot(t,e){return s.get("/api/business/workflow/compensation/snapshot",{bizId:t,wfTaskId:e})},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 a={businessId:t,nodeCodes:Array.isArray(e)?e:[e]};return s.post(r+"/lastNodeApproval",a)}};export{L as default};
@@ -8,16 +8,19 @@ 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 __VLS_9: {
17
+ declare var __VLS_17: {
16
18
  task: IWfTaskVo | undefined;
17
19
  process: IWfProcessInstVo | undefined;
20
+ snapshot: Record<string, any> | null;
18
21
  };
19
22
  type __VLS_Slots = {} & {
20
- content?: (props: typeof __VLS_9) => any;
23
+ content?: (props: typeof __VLS_17) => any;
21
24
  };
22
25
  declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
23
26
  resetQuery: () => Promise<void>;
@@ -33,6 +36,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
33
36
  readonly: boolean;
34
37
  showFooter: boolean;
35
38
  renderDialog: (...args: any[]) => any;
39
+ withdrawEnabled: boolean;
36
40
  taskInfo: IWfTaskVo;
37
41
  contentComponent: Component;
38
42
  contentProps: Record<string, unknown>;
@@ -1,11 +1,19 @@
1
- import{defineComponent as be,useModel as Ne,ref as S,computed as w,resolveComponent as I,resolveDirective as De,openBlock as n,createElementBlock as l,createCommentVNode as c,withDirectives as Ee,normalizeStyle as te,normalizeClass as U,createElementVNode as r,toDisplayString as p,createVNode as K,createBlock as N,Fragment as m,renderList as D,renderSlot as Ae,resolveDynamicComponent as Ke,mergeProps as Se,withCtx as B,createTextVNode as E,unref as se,mergeModels as oe,nextTick as Be}from"vue";import z from"../../api/workflow/workflowInstApi.js";import Me from"../../api/DocumentApi.js";import Le from"../../hooks/useFileView.js";import $e from"../../hooks/useDictHooks.js";import Fe from"../../utils/FrameworkUtils.js";import{parseDateTime as je,formatDateTime as Pe}from"../../utils/dateTime.js";import{resolveTimeoutMeta as Oe,formatStayDuration as Ve}from"../../utils/flowTimeout.js";import{userInfoStore as Ue}from"../../stores/userInfoStore.js";import ze from"./TaskOperation.vue.js";import{_ as Re}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"../../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 Qe={class:"workflow-todo-shell"},We={class:"workflow-todo-shell__body dialog-content-fill"},Ge={class:"wf-wait__main"},Ye={class:"wf-wait__title"},He={class:"wf-wait__sub"},qe={class:"wf-wait__ct"},Je={key:1,class:"wf-progress-scroll"},Xe={class:"wf-progress-steps"},Ze={class:"wf-progress-step__icon-wrap"},et={class:"wf-progress-step__icon"},tt={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},st={key:4},ot={class:"wf-progress-step__name"},at={class:"wf-progress-step__name-text"},nt={class:"wf-progress-step__name-label"},lt={key:0,class:"wf-progress-step__occurrence"},rt={key:0,class:"workflow-todo-shell__record-occurrence"},it={key:1,class:"workflow-todo-shell__record-type"},ct={key:0,class:"workflow-todo-shell__record-user"},dt={class:"workflow-todo-shell__record-person__name"},pt={key:0,class:"workflow-todo-shell__comment"},ut={key:0,class:"workflow-todo-shell__record-files"},mt=["onClick"],ft={class:"workflow-todo-shell__record-person__name"},kt={key:0,class:"workflow-todo-shell__comment"},vt={key:1,class:"workflow-todo-shell__record-files"},yt=["onClick"],_t={class:"workflow-todo-shell__record-person__name"},wt={key:0,class:"workflow-todo-shell__footer"},ae="__end__",ht=be({__name:"WorkflowTodoShell",props:oe({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:oe(["cancel","success"],["update:loading"]),setup(T,{expose:ne,emit:le}){const k=T,M=le,x=Ne(T,"loading"),y=S(),f=S(),L=S(),$=S(!1),{getDictTypeData:re}=$e(["SysFlowTimeout"]),ie=e=>[...e].sort((t,o)=>(t.createTime||"").localeCompare(o.createTime||"")),R=w(()=>ie([...f.value?.hisTasks||[],...f.value?.activeTasks||[]])),F=S({}),Q=Le().fileView,W=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"},A=e=>e?F.value[e]||[]:[],ce=async()=>{var t;const e=Array.from(new Set(R.value.map(o=>o.taskId).filter(o=>!!o)));if(e.length)try{const o=await Me.getUpLoadFilesByBussinessIds(e),a={};for(const i of o)i.businessId&&(a[t=i.businessId]||(a[t]=[])).push(i);F.value=a}catch{F.value={}}},j=w(()=>{const e=new Map;for(const t of R.value){const o=Z(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())}),P=w(()=>y.value?.procEndTime?!0:!!(f.value&&!(f.value.activeTasks||[]).length&&(f.value.hisTasks||[]).length)),de=e=>/^#[0-9a-fA-F]{6}$/.test(e)?`${e}1f`:"var(--el-color-primary-light-9)",_=w(()=>{if(P.value)return;const e=f.value?.activeTasks||[],t=e.map(v=>je(v.createTime||"")).filter(v=>!!v).sort((v,V)=>v.getTime()-V.getTime())[0];if(!t)return;const o=e[0],a=Array.from(new Set(e.map(v=>v.assigneeName).filter(v=>!!v))),i=o?.approvalType||"",h=i==="joint"||i==="all"?" · ":" / ",u=Math.max(Date.now()-t.getTime(),0),b=Oe(re("SysFlowTimeout"),u);return{node:o?.taskName||y.value?.taskName||"当前节点",owner:a.length?a.join(h):"待分配",stayText:Ve(u),color:b.color,level:b.level,weakColor:de(b.color)}}),pe=w(()=>{const e=[...j.value],t=new Set(e.map(a=>G(a)));for(const a of f.value?.futureTasks||[]){const i=`${a.taskDefKey||a.taskName}-`;t.has(i)||e.push({taskName:a.taskName,taskDefKey:a.taskDefKey,tasks:[],assigneeNames:a.assigneeNames,approvalType:a.approvalType})}e.push({taskName:"结束",taskDefKey:ae,tasks:[],isEnd:!0});const o=new Map;for(const a of e){const i=a.taskDefKey||a.taskName||"";i&&(a.occurrence=(o.get(i)||0)+1,o.set(i,a.occurrence))}return e}),G=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,ue={single:"或签",joint:"会签",all:"会签"},Y=e=>ue[e.approvalType||e.tasks[0]?.approvalType||""]||"",me=e=>(e.approvalType||e.tasks[0]?.approvalType||"")==="single",H=e=>{const t=(e.assigneeNames||"").split(",").map(o=>o.trim()).filter(Boolean);return t.length?t:["待处理"]},fe={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"}},ke=e=>Pe(e.finishTime||e.createTime),ve={success:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",primary:"var(--el-color-primary)"},ye=e=>ve[e]||"",C=e=>{if(e.isEnd)return P.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(i=>!i.finishTime))return{label:"进行中",type:"primary",hollow:!1};let o="已办",a="success";if(t.some(i=>i.taskLocalVars?.firstTask))o="提交";else{const i=[...t].sort((u,b)=>(b.finishTime||"").localeCompare(u.finishTime||""))[0]?.commentList?.[0],h=fe[i?.type||""];o=h?.label||"已办",a=h?.type||"success"}return{label:o,type:a,hollow:!1}},q=e=>{const t=e.assigneeName||e.startUserName||"待处理";return e.finishTime?`${t} · ${ke(e)}`:t},_e=e=>e.tasks.length?e.tasks.map(q).join(" / "):H(e).join(" / "),O=e=>e.tasks.map(t=>t.comment).filter(Boolean).join(" / "),J=w(()=>{const e=new Map,t=[];for(const o of j.value){const a=o.taskDefKey||o.taskName||"";if(!a)continue;const i=o.tasks.some(u=>!u.finishTime)?"process":C(o).type,h=e.get(a);if(h!==void 0){const u=t[h];u.occurrence=(u.occurrence||1)+1,u.parentExecutionId=o.parentExecutionId,u.status=i;continue}e.set(a,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,parentExecutionId:o.parentExecutionId,status:i,occurrence:1})}for(const o of f.value?.futureTasks||[]){const a=o.taskDefKey||o.taskName||"";if(!a)continue;const i=e.get(a);if(i!==void 0){t[i].status="wait";continue}e.set(a,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,status:"wait"})}return t.push({taskName:"结束",taskDefKey:ae,status:P.value?"success":"wait"}),t}),X=e=>{const t=Ue().getUserInfo.userCode;return!t||!e?!1:!!(e.assigneeId===t||e.candidate&&e.candidate.split(",").map(a=>a.trim()).filter(Boolean).includes(t))},we=w(()=>X(y.value)?!0:(f.value?.activeTasks||[]).some(e=>X(e))),he=w(()=>k.readonly||!!y.value?.finishTime||!!y.value?.procEndTime||$.value&&!(f.value?.activeTasks||[]).length||!we.value),ge=w(()=>L.value?.taskOption),Te=w(()=>{const e=ge.value;return{...e||{},cancelFunction:(...t)=>{e?.cancelFunction?.(...t),M("cancel")},workflowComplete:async(...t)=>{await e?.workflowComplete?.(...t)}}}),Z=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,ee=async(e,t=!1)=>{const o=k.taskInfo&&k.taskInfo.procInsId==null&&k.taskInfo.processInstanceId!=null?{...k.taskInfo,procInsId:k.taskInfo.processInstanceId}:k.taskInfo;if(!(!k.taskId&&!o?.procInsId))try{x.value=!0,$.value=!1,y.value=e?{...y.value,...e}:t&&k.taskId?await z.getTaskInst(k.taskId):o||await z.getTaskInst(k.taskId),y.value?.procInsId&&(f.value=await z.getProcessTaskList(y.value.procInsId)),$.value=!0,await ce(),await Be(),await L.value?.resetQuery?.()}catch(a){Fe.messageError(a)}finally{x.value=!1}},Ie=async e=>{M("success",e),await ee(e,!0)};return ne({resetQuery:async()=>{await ee()}}),(e,t)=>{const o=I("el-title"),a=I("el-empty"),i=I("el-tag-display"),h=I("el-flex"),u=I("el-icons"),b=I("el-timeline-item"),v=I("el-timeline"),V=I("el-button"),xe=De("loading");return n(),l("div",Qe,[c(`
1
+ import{defineComponent as et,useModel as tt,ref as $,computed as w,resolveComponent as I,resolveDirective as st,openBlock as n,createElementBlock as r,createCommentVNode as l,withDirectives as ot,unref as C,createVNode as x,withCtx as S,createTextVNode as T,toDisplayString as d,createElementVNode as i,normalizeStyle as ge,normalizeClass as M,Fragment as k,renderList as B,createBlock as K,renderSlot as nt,resolveDynamicComponent as at,mergeProps as rt,mergeModels as Ie,nextTick as lt}from"vue";import{ElMessageBox as it,ElMessage as ct}from"element-plus";import A from"../../api/workflow/workflowInstApi.js";import dt from"../../api/DocumentApi.js";import ut from"../../hooks/useFileView.js";import pt from"../../hooks/useDictHooks.js";import Te from"../../utils/FrameworkUtils.js";import ft from"../../hooks/useWorkflowSnapshot.js";import{parseDateTime as ee,formatDateTime as te}from"../../utils/dateTime.js";import{formatStayDuration as se,resolveTimeoutMeta as kt}from"../../utils/flowTimeout.js";import{userInfoStore as O}from"../../stores/userInfoStore.js";import mt from"./TaskOperation.vue.js";import{_ as vt}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 wt={class:"workflow-todo-shell"},yt={class:"workflow-todo-shell__body dialog-content-fill"},_t={key:0,class:"workflow-todo-shell__source"},ht={class:"workflow-todo-shell__source-hint"},gt={class:"wf-wait__icon"},It={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Tt={class:"wf-wait__main"},bt={class:"wf-wait__title"},Ct={class:"wf-wait__sub"},xt={key:0,class:"wf-wait__opinion"},Nt={key:1,class:"wf-wait__files"},Dt=["onClick"],Et={key:0},St={key:1,class:"wf-progress-scroll"},Bt={class:"wf-progress-steps"},Kt={class:"wf-progress-step__icon-wrap"},Lt={class:"wf-progress-step__icon"},$t={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},Mt={key:4},At={class:"wf-progress-step__name"},Ot={class:"wf-progress-step__name-text"},Ft={class:"wf-progress-step__name-label"},Vt={key:0,class:"wf-progress-step__occurrence"},jt={key:0,class:"workflow-todo-shell__record-occurrence"},Ut={key:1,class:"workflow-todo-shell__record-type"},Pt={key:0,class:"workflow-todo-shell__record-user"},Wt={class:"workflow-todo-shell__record-person__name"},Rt={key:0,class:"workflow-todo-shell__comment"},zt={key:0,class:"workflow-todo-shell__record-files"},Ht=["onClick"],Qt={class:"workflow-todo-shell__record-person__name"},Gt={key:0,class:"workflow-todo-shell__comment"},Yt={key:1,class:"workflow-todo-shell__record-files"},qt=["onClick"],Jt={class:"workflow-todo-shell__record-person__name"},Xt={key:0,class:"workflow-todo-shell__footer"},be="__end__",Zt=et({__name:"WorkflowTodoShell",props:Ie({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:Ie(["cancel","success"],["update:loading"]),setup(N,{expose:Ce,emit:xe}){const u=N,F=xe,L=tt(N,"loading"),v=$(),h=$(),P=$(),W=$(!1),{getDictTypeData:Ne}=pt(["SysFlowTimeout"]),De=e=>[...e].sort((t,s)=>(t.createTime||"").localeCompare(s.createTime||"")),R=w(()=>De([...h.value?.hisTasks||[],...h.value?.activeTasks||[]])),z=$({}),H=ut().fileView,Q=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"},D=e=>e?z.value[e]||[]:[],Ee=async()=>{var t;const e=Array.from(new Set(R.value.map(s=>s.taskId).filter(s=>!!s)));if(e.length)try{const s=await dt.getUpLoadFilesByBussinessIds(e),o={};for(const c of s)c.businessId&&(o[t=c.businessId]||(o[t]=[])).push(c);z.value=o}catch{z.value={}}},G=w(()=>{const e=new Map;for(const t of R.value){const s=ye(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())}),j=w(()=>v.value?.procEndTime?!0:!!(h.value&&!(h.value.activeTasks||[]).length&&(h.value.hisTasks||[]).length)),Se=e=>/^#[0-9a-fA-F]{6}$/.test(e)?`${e}1f`:"var(--el-color-primary-light-9)",oe={ok:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)"},ne={ok:"var(--el-color-success-light-9)",warning:"var(--el-color-warning-light-9)",danger:"var(--el-color-danger-light-9)"},Be=e=>e==="danger"?"danger":e==="warning"?"warning":"ok",ae=e=>e==="danger"?"close":e==="warning"?"back":"check",Ke=e=>!e||e.startsWith("已")?e:`已${e}`,Y=w(()=>String(v.value?.finishedResult||"")==="terminate"||String(v.value?.processStatus||"")==="terminated"),q=w(()=>R.value.find(e=>!!u.taskId&&e.taskId===u.taskId)),re=e=>!!e?.assigneeId&&e.assigneeId===O().getUserInfo.userCode,Le=w(()=>{const e=O().getUserInfo.userCode;if(!e)return!1;const t=q.value;return t?.taskLocalVars?.firstTask?re(t):!t&&u.taskInfo?.startUserId===e}),$e=e=>{const t=(e?.commentList||[]).find(s=>String(s.type)!=="8");return String(t?.fullMessage||"").trim()},Me=e=>{if(!e?.finishTime)return;const t=!!e.taskLocalVars?.firstTask,s=t?{label:"已提交",type:"success"}:fe[String((e.commentList||[]).find(V=>String(V.type)!=="8")?.type||"")]||{label:"已办",type:"success"},o=Be(s.type),c=!!e.assigneeId&&e.assigneeId===O().getUserInfo.userCode,y=ee(e.createTime||"")?.getTime()??0,m=ee(e.finishTime||"")?.getTime()??0,g=y&&m?Math.max(m-y,0):0,_=Ke(s.label);return{level:o,icon:ae(o),color:oe[o],weakColor:ne[o],title:`${c?"我的处理":e.assigneeName||"审批"}:${_}`,sub:[te(e.finishTime),g?`耗时 ${se(g)}`:""].filter(Boolean).join(" · "),opinion:t?"":$e(e),filesTaskId:t?"":e.taskId||"",ctText:e.taskName||"",ctLabel:"",ctKind:"node"}},le=()=>{const e=v.value,t=Y.value?"danger":"ok",s=Y.value?"流程已终止":"流程已办结",o=te(e?.procEndTime);return{level:t,icon:ae(t),color:oe[t],weakColor:ne[t],title:s,sub:o?`${o} ${Y.value?"已终止":"完成归档"}`:s,opinion:"",filesTaskId:"",ctText:"",ctLabel:"",ctKind:""}},ie=()=>{const e=h.value?.activeTasks||[],t=e.map(_=>ee(_.createTime||"")).filter(_=>!!_).sort((_,V)=>_.getTime()-V.getTime())[0];if(!t)return;const s=e[0],o=Array.from(new Set(e.map(_=>_.assigneeName).filter(_=>!!_))),c=s?.approvalType||"",y=c==="joint"||c==="all"?" · ":" / ",m=Math.max(Date.now()-t.getTime(),0),g=kt(Ne("SysFlowTimeout"),m);return{title:`当前等待:${s?.taskName||v.value?.taskName||"当前节点"} · ${o.length?o.join(y):"待分配"}`,sub:`已停留 ${se(m)}`,opinion:"",filesTaskId:"",ctText:se(m),ctLabel:g.level==="danger"?"超时风险":"等待中",ctKind:"stay",color:g.color||"var(--el-color-primary)",level:g.level,weakColor:Se(g.color),icon:"clock"}},p=w(()=>{const e=q.value;return Le.value?j.value?le():ie():e?.finishTime&&!e.taskLocalVars?.firstTask&&re(e)?Me(e):j.value?le():ie()}),Ae=w(()=>{const e=[...G.value],t=new Set(e.map(o=>ce(o)));for(const o of h.value?.futureTasks||[]){const c=`${o.taskDefKey||o.taskName}-`;t.has(c)||e.push({taskName:o.taskName,taskDefKey:o.taskDefKey,tasks:[],assigneeNames:o.assigneeNames,approvalType:o.approvalType})}e.push({taskName:"结束",taskDefKey:be,tasks:[],isEnd:!0});const s=new Map;for(const o of e){const c=o.taskDefKey||o.taskName||"";c&&(o.occurrence=(s.get(c)||0)+1,s.set(c,o.occurrence))}return e}),ce=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,Oe={single:"或签",joint:"会签",all:"会签"},de=e=>Oe[e.approvalType||e.tasks[0]?.approvalType||""]||"",Fe=e=>(e.approvalType||e.tasks[0]?.approvalType||"")==="single",Ve=w(()=>{const e=q.value;if(!e?.finishTime)return;const t=O().getUserInfo.userCode;if(!(!t||e.assigneeId!==t))return e}),ue=e=>{const t=O().getUserInfo.userCode;if(!t)return"";const s=e.tasks.filter(c=>!!c.finishTime&&c.assigneeId===t);if(!s.length)return"";const o=Ve.value?.taskId;return o&&s.some(c=>c.taskId===o)?"entry":"other"},pe=e=>{const t=(e.assigneeNames||"").split(",").map(s=>s.trim()).filter(Boolean);return t.length?t:["待处理"]},fe={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"}},je=e=>te(e.finishTime||e.createTime),Ue={success:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",primary:"var(--el-color-primary)"},Pe=e=>Ue[e]||"",E=e=>{if(e.isEnd)return j.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(c=>!c.finishTime))return{label:"进行中",type:"primary",hollow:!0};let s="已办",o="success";if(t.some(c=>c.taskLocalVars?.firstTask))s="提交";else{const c=[...t].sort((m,g)=>(g.finishTime||"").localeCompare(m.finishTime||""))[0]?.commentList?.[0],y=fe[c?.type||""];s=y?.label||"已办",o=y?.type||"success"}return{label:s,type:o,hollow:!0}},ke=e=>{const t=e.assigneeName||e.startUserName||"待处理";return e.finishTime?`${t} · ${je(e)}`:t},We=e=>e.tasks.length?e.tasks.map(ke).join(" / "):pe(e).join(" / "),J=e=>e.tasks.map(t=>t.comment).filter(Boolean).join(" / "),me=w(()=>{const e=new Map,t=[];for(const s of G.value){const o=s.taskDefKey||s.taskName||"";if(!o)continue;const c=s.tasks.some(m=>!m.finishTime)?"process":E(s).type,y=e.get(o);if(y!==void 0){const m=t[y];m.occurrence=(m.occurrence||1)+1,m.parentExecutionId=s.parentExecutionId,m.status=c;continue}e.set(o,t.length),t.push({taskName:s.taskName,taskDefKey:s.taskDefKey,parentExecutionId:s.parentExecutionId,status:c,occurrence:1})}for(const s of h.value?.futureTasks||[]){const o=s.taskDefKey||s.taskName||"";if(!o)continue;const c=e.get(o);if(c!==void 0){t[c].status="wait";continue}e.set(o,t.length),t.push({taskName:s.taskName,taskDefKey:s.taskDefKey,status:"wait"})}return t.push({taskName:"结束",taskDefKey:be,status:j.value?"success":"wait"}),t}),ve=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))},Re=w(()=>ve(v.value)?!0:(h.value?.activeTasks||[]).some(e=>ve(e))),X=w(()=>u.readonly||!!v.value?.finishTime||!!v.value?.procEndTime||W.value&&!(h.value?.activeTasks||[]).length||!Re.value),Z=$(!1),{snapshot:we,dataSourceMeta:U,refresh:ze}=ft(()=>String(u.taskInfo?.businessId||v.value?.businessId||""),{wfTaskId:()=>u.taskId,taskDefKey:()=>String(u.taskInfo?.taskDefKey||v.value?.taskDefKey||""),readonly:()=>X.value}),He=w(()=>X.value&&!!u.taskId&&(u.withdrawEnabled===!0||u.taskInfo?.withdrawEnabled===!0)),Qe=async()=>{const e=u.taskInfo||v.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};Z.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 it.confirm(`确认撤回「${e.taskTitle||e.taskName||"该申请单"}」?`+(s?`撤回后流程将回到「${s}」,需要重新提交。`:"撤回后需要重新提交。"),"撤回确认",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await A.processWithdrawal(t),ct.success("撤回成功"),F("success",e),F("cancel")}catch(s){if(s==="cancel"||s==="close")return;Te.messageError(s)}finally{Z.value=!1}},Ge=w(()=>P.value?.taskOption),Ye=w(()=>{const e=Ge.value;return{...e||{},cancelFunction:(...t)=>{e?.cancelFunction?.(...t),F("cancel")},workflowComplete:async(...t)=>{await e?.workflowComplete?.(...t)}}}),ye=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,_e=async(e,t=!1)=>{const s=u.taskInfo&&u.taskInfo.procInsId==null&&u.taskInfo.processInstanceId!=null?{...u.taskInfo,procInsId:u.taskInfo.processInstanceId}:u.taskInfo;if(!(!u.taskId&&!s?.procInsId))try{L.value=!0,W.value=!1,v.value=e?{...v.value,...e}:t&&u.taskId?await A.getTaskInst(u.taskId):s||await A.getTaskInst(u.taskId),v.value?.procInsId&&(h.value=await A.getProcessTaskList(v.value.procInsId)),W.value=!0,await ze(),await Ee(),await lt(),await P.value?.resetQuery?.()}catch(o){Te.messageError(o)}finally{L.value=!1}},qe=async e=>{F("success",e),await _e(e,!0)};return Ce({resetQuery:async()=>{await _e()}}),(e,t)=>{const s=I("el-tag"),o=I("el-icons"),c=I("el-title"),y=I("el-empty"),m=I("el-tag-display"),g=I("el-flex"),_=I("el-timeline-item"),V=I("el-timeline"),he=I("el-button"),Je=I("operation-auth"),Xe=st("loading");return n(),r("div",wt,[l(`
2
2
  内容区撑满剩余空间统一使用 dialog-content-fill(flex/height 由核心工具类提供),
3
3
  滚动仅保留在本内容区,底部操作栏固定不随内容滚动。
4
- `),Ee((n(),l("div",We,[c(`
4
+ `),ot((n(),r("div",yt,[l(`
5
+ 数据来源标记(通用层统一判定,业务内容组件无需实现):
6
+ 历史查看时明确当前展示的是「审核当时快照」还是「业务当前数据」,
7
+ 放在内容区首行右对齐,紧贴标题栏,不随内容滚动位置变化而离开视线。
8
+ `),C(U)?(n(),r("div",_t,[x(s,{type:C(U).type,size:"small",effect:"light"},{default:S(()=>[T(d(C(U).label),1)]),_:1},8,["type"]),i("span",ht,d(C(U).hint),1)])):l("v-if",!0),l(`
5
9
  当前等待:参考 flowpilot 设计的时长梯度状态条。
6
10
  颜色与浅色底纹按 SysFlowTimeout 字典命中区间(正常 / 预警 / 超时)渲染,
7
11
  流程已结束(含终止)时不展示。
8
- `),_.value?(n(),l("div",{key:0,class:U(["wf-wait",_.value.level?`is-${_.value.level}`:""]),style:te({"--wf-wait-color":_.value.color||"var(--el-color-primary)","--wf-wait-weak":_.value.weakColor})},[t[3]||(t[3]=r("span",{class:"wf-wait__icon"},[r("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[r("circle",{cx:"12",cy:"12",r:"9"}),r("path",{d:"M12 8v4l3 3"})])],-1)),r("div",Ge,[r("div",Ye," 当前等待:"+p(_.value.node)+" · "+p(_.value.owner),1),r("div",He,"已停留 "+p(_.value.stayText),1)]),r("div",qe,[r("b",null,p(_.value.stayText),1),r("span",null,p(_.value.level==="danger"?"超时风险":"等待中"),1)])],6)):c("v-if",!0),K(o,{level:"1",title:"流程进度",style:{"border-bottom":"var(--border)"}}),r("div",null,[J.value.length?(n(),l("div",Je,[r("div",Xe,[(n(!0),l(m,null,D(J.value,(s,d)=>(n(),l("div",{key:Z(s),class:U(["wf-progress-step",{done:s.status==="success",current:s.status==="process",rejected:s.status==="warning",stopped:s.status==="error"||s.status==="danger"}])},[r("div",Ze,[r("div",et,[c(" 同意/提交:对勾 "),s.status==="success"?(n(),l("svg",tt,[...t[4]||(t[4]=[r("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):s.status==="warning"?(n(),l(m,{key:1},[c(" 驳回:回退箭头 "),t[5]||(t[5]=r("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[r("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)):s.status==="danger"||s.status==="error"?(n(),l(m,{key:2},[c(" 终止:叉 "),t[6]||(t[6]=r("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[r("path",{d:"M18 6L6 18"}),r("path",{d:"M6 6l12 12"})],-1))],2112)):s.status==="info"?(n(),l(m,{key:3},[c(" 撤回:撤销箭头 "),t[7]||(t[7]=r("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[r("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(),l("span",st,p(d+1),1))])]),r("div",ot,[r("span",at,[r("span",nt,p(s.taskName||"未命名节点"),1),s.occurrence&&s.occurrence>1?(n(),l("sup",lt,p(s.occurrence),1)):c("v-if",!0)])])],2))),128))])])):(n(),N(a,{key:0,description:"暂无流程进度","image-size":48}))]),c(`
12
+ `),p.value?(n(),r("div",{key:1,class:M(["wf-wait",p.value.level?`is-${p.value.level}`:""]),style:ge({"--wf-wait-color":p.value.color,"--wf-wait-weak":p.value.weakColor})},[i("span",gt,[l(" 进行中:时钟 "),p.value.icon==="clock"?(n(),r("svg",It,[...t[3]||(t[3]=[i("circle",{cx:"12",cy:"12",r:"9"},null,-1),i("path",{d:"M12 8v4l3 3"},null,-1)])])):p.value.icon==="check"?(n(),r(k,{key:1},[l(" 已办结:对勾 "),t[4]||(t[4]=i("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round"},[i("path",{d:"M20 6L9 17l-5-5"})],-1))],2112)):p.value.icon==="back"?(n(),r(k,{key:2},[l(" 驳回:回退箭头 "),t[5]||(t[5]=i("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[i("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(k,{key:3},[l(" 已终止:叉 "),t[6]||(t[6]=i("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.6","stroke-linecap":"round","stroke-linejoin":"round"},[i("path",{d:"M18 6L6 18"}),i("path",{d:"M6 6l12 12"})],-1))],2112))]),i("div",Tt,[i("div",bt,d(p.value.title),1),i("div",Ct,d(p.value.sub),1),l(" 结束态:把该次审批的意见一并带出来,避免去审批记录里翻 "),p.value.opinion?(n(),r("div",xt," 审核意见:"+d(p.value.opinion),1)):l("v-if",!0),l(" 该次审批的附件:与审批记录里的附件同样支持点击预览 "),p.value.filesTaskId&&D(p.value.filesTaskId).length?(n(),r("div",Nt,[(n(!0),r(k,null,B(D(p.value.filesTaskId),a=>(n(),r("span",{key:a.id,class:"wf-wait__file",onClick:f=>C(H)(a.id)},[x(o,{"model-value":Q(a.name)},null,8,["model-value"]),T(d(a.name),1)],8,Dt))),128))])):l("v-if",!0)]),p.value.ctText?(n(),r("div",{key:0,class:M(["wf-wait__ct",`is-${p.value.ctKind}`])},[i("b",null,d(p.value.ctText),1),p.value.ctLabel?(n(),r("span",Et,d(p.value.ctLabel),1)):l("v-if",!0)],2)):l("v-if",!0)],6)):l("v-if",!0),x(c,{level:"1",title:"流程进度",style:{"border-bottom":"var(--border)"}}),i("div",null,[me.value.length?(n(),r("div",St,[i("div",Bt,[(n(!0),r(k,null,B(me.value,(a,f)=>(n(),r("div",{key:ye(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"}])},[i("div",Kt,[i("div",Lt,[l(" 同意/提交:对勾 "),a.status==="success"?(n(),r("svg",$t,[...t[7]||(t[7]=[i("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):a.status==="warning"?(n(),r(k,{key:1},[l(" 驳回:回退箭头 "),t[8]||(t[8]=i("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[i("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(k,{key:2},[l(" 终止:叉 "),t[9]||(t[9]=i("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[i("path",{d:"M18 6L6 18"}),i("path",{d:"M6 6l12 12"})],-1))],2112)):a.status==="info"?(n(),r(k,{key:3},[l(" 撤回:撤销箭头 "),t[10]||(t[10]=i("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[i("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",Mt,d(f+1),1))])]),i("div",At,[i("span",Ot,[i("span",Ft,d(a.taskName||"未命名节点"),1),a.occurrence&&a.occurrence>1?(n(),r("sup",Vt,d(a.occurrence),1)):l("v-if",!0)])])],2))),128))])])):(n(),K(y,{key:0,description:"暂无流程进度","image-size":48}))]),l(`
9
13
  业务审核内容:完全由业务内容组件/插槽决定(含它自己的标题、分区、网格),
10
14
  通用抽屉不再注入任何标题,业务页面给什么就展示什么。
11
- `),Ae(e.$slots,"content",{task:y.value,process:f.value},()=>[T.contentComponent?(n(),N(Ke(T.contentComponent),Se({key:0,ref_key:"contentRef",ref:L},T.contentProps,{loading:x.value,"onUpdate:loading":t[0]||(t[0]=s=>x.value=s)}),null,16,["loading"])):c("v-if",!0)],!0),K(o,{level:"1",title:"审批记录",style:{"border-bottom":"var(--border)"}}),r("div",null,[j.value.length?(n(),N(v,{key:1,class:"workflow-todo-shell__timeline"},{default:B(()=>[(n(!0),l(m,null,D(pe.value,s=>(n(),N(b,{key:G(s),type:C(s).type,hollow:C(s).hollow,style:te({"--el-timeline-node-color":ye(C(s).type)})},{default:B(()=>[K(h,{align:"center",justify:"space-between",class:U(["workflow-todo-shell__record-title",`is-${C(s).type}`])},{default:B(()=>[r("span",null,[E(p(s.taskName||"未命名节点")+" ",1),(s.occurrence||0)>1?(n(),l("span",rt,p(s.occurrence),1)):c("v-if",!0),Y(s)?(n(),l("span",it,p(Y(s)),1)):c("v-if",!0)]),K(i,{type:C(s).type,size:"small"},{default:B(()=>[E(p(C(s).label),1)]),_:2},1032,["type"])]),_:2},1032,["class"]),me(s)?(n(),l("div",ct,[r("span",dt,p(_e(s)),1),O(s)||s.tasks.some(d=>A(d.taskId).length)?(n(),l("div",pt,[O(s)?(n(),l(m,{key:0},[E(p(O(s)),1)],64)):c("v-if",!0),(n(!0),l(m,null,D(s.tasks,d=>(n(),l(m,{key:d.taskId},[A(d.taskId).length?(n(),l("div",ut,[(n(!0),l(m,null,D(A(d.taskId),g=>(n(),l("span",{key:g.id,class:"workflow-todo-shell__record-file",onClick:Ce=>se(Q)(g.id)},[K(u,{"model-value":W(g.name)},null,8,["model-value"]),E(p(g.name),1)],8,mt))),128))])):c("v-if",!0)],64))),128))])):c("v-if",!0)])):s.tasks.length?(n(!0),l(m,{key:1},D(s.tasks,d=>(n(),l("div",{key:d.taskId,class:"workflow-todo-shell__record-user"},[r("span",ft,p(q(d)),1),d.comment||A(d.taskId).length?(n(),l("div",kt,[d.comment?(n(),l(m,{key:0},[E(p(d.comment),1)],64)):c("v-if",!0),A(d.taskId).length?(n(),l("div",vt,[(n(!0),l(m,null,D(A(d.taskId),g=>(n(),l("span",{key:g.id,class:"workflow-todo-shell__record-file",onClick:Ce=>se(Q)(g.id)},[K(u,{"model-value":W(g.name)},null,8,["model-value"]),E(p(g.name),1)],8,yt))),128))])):c("v-if",!0)])):c("v-if",!0)]))),128)):s.isEnd?c("v-if",!0):(n(),l(m,{key:2},[c(" 结束节点只有节点名与状态,不展示审签人 "),(n(!0),l(m,null,D(H(s),d=>(n(),l("div",{key:d,class:"workflow-todo-shell__record-user"},[r("span",_t,p(d),1)]))),128))],64))]),_:2},1032,["type","hollow","style"]))),128))]),_:1})):(n(),N(a,{key:0,description:"暂无审批记录","image-size":48}))])])),[[xe,x.value]]),T.showFooter?(n(),l("div",wt,[he.value?(n(),N(V,{key:0,onClick:t[1]||(t[1]=s=>M("cancel"))},{default:B(()=>[...t[8]||(t[8]=[E("取消",-1)])]),_:1})):(n(),N(ze,{key:1,"task-id":T.taskId,params:Te.value,"render-dialog":T.renderDialog,"show-process-btn":!1,"but-loading":x.value,"onUpdate:butLoading":t[2]||(t[2]=s=>x.value=s),onSuccess:Ie},null,8,["task-id","params","render-dialog","but-loading"]))])):c("v-if",!0)])}}}),Es=Re(ht,[["__scopeId","data-v-c1b8cda5"]]);export{Es as default};
15
+ `),nt(e.$slots,"content",{task:v.value,process:h.value,snapshot:C(we)},()=>[N.contentComponent?(n(),K(at(N.contentComponent),rt({key:0,ref_key:"contentRef",ref:P},N.contentProps,{snapshot:C(we),loading:L.value,"onUpdate:loading":t[0]||(t[0]=a=>L.value=a)}),null,16,["snapshot","loading"])):l("v-if",!0)],!0),x(c,{level:"1",title:"审批记录",style:{"border-bottom":"var(--border)"}}),i("div",null,[G.value.length?(n(),K(V,{key:1,class:"workflow-todo-shell__timeline"},{default:S(()=>[(n(!0),r(k,null,B(Ae.value,a=>(n(),K(_,{key:ce(a),type:E(a).type,hollow:E(a).hollow,class:M({"is-active":E(a).type==="primary"}),style:ge({"--el-timeline-node-color":Pe(E(a).type)})},{default:S(()=>[x(g,{align:"center",justify:"space-between",class:M(["workflow-todo-shell__record-title",`is-${E(a).type}`])},{default:S(()=>[i("span",null,[T(d(a.taskName||"未命名节点")+" ",1),(a.occurrence||0)>1?(n(),r("span",jt,d(a.occurrence),1)):l("v-if",!0),de(a)?(n(),r("span",Ut,d(de(a)),1)):l("v-if",!0),l(" 我办理过的节点:标注「我的操作」,颜色跟随该节点的审批结论 "),ue(a)?(n(),r("span",{key:2,class:M(["workflow-todo-shell__record-mine",`is-${ue(a)}`])}," 我的操作 ",2)):l("v-if",!0)]),x(m,{type:E(a).type,size:"small"},{default:S(()=>[T(d(E(a).label),1)]),_:2},1032,["type"])]),_:2},1032,["class"]),Fe(a)?(n(),r("div",Pt,[i("span",Wt,d(We(a)),1),J(a)||a.tasks.some(f=>D(f.taskId).length)?(n(),r("div",Rt,[J(a)?(n(),r(k,{key:0},[T(d(J(a)),1)],64)):l("v-if",!0),(n(!0),r(k,null,B(a.tasks,f=>(n(),r(k,{key:f.taskId},[D(f.taskId).length?(n(),r("div",zt,[(n(!0),r(k,null,B(D(f.taskId),b=>(n(),r("span",{key:b.id,class:"workflow-todo-shell__record-file",onClick:Ze=>C(H)(b.id)},[x(o,{"model-value":Q(b.name)},null,8,["model-value"]),T(d(b.name),1)],8,Ht))),128))])):l("v-if",!0)],64))),128))])):l("v-if",!0)])):a.tasks.length?(n(!0),r(k,{key:1},B(a.tasks,f=>(n(),r("div",{key:f.taskId,class:"workflow-todo-shell__record-user"},[i("span",Qt,d(ke(f)),1),f.comment||D(f.taskId).length?(n(),r("div",Gt,[f.comment?(n(),r(k,{key:0},[T(d(f.comment),1)],64)):l("v-if",!0),D(f.taskId).length?(n(),r("div",Yt,[(n(!0),r(k,null,B(D(f.taskId),b=>(n(),r("span",{key:b.id,class:"workflow-todo-shell__record-file",onClick:Ze=>C(H)(b.id)},[x(o,{"model-value":Q(b.name)},null,8,["model-value"]),T(d(b.name),1)],8,qt))),128))])):l("v-if",!0)])):l("v-if",!0)]))),128)):a.isEnd?l("v-if",!0):(n(),r(k,{key:2},[l(" 结束节点只有节点名与状态,不展示审签人 "),(n(!0),r(k,null,B(pe(a),f=>(n(),r("div",{key:f,class:"workflow-todo-shell__record-user"},[i("span",Jt,d(f),1)]))),128))],64))]),_:2},1032,["type","hollow","class","style"]))),128))]),_:1})):(n(),K(y,{key:0,description:"暂无审批记录","image-size":48}))])])),[[Xe,L.value]]),N.showFooter?(n(),r("div",Xt,[l(`
16
+ 已办节点的只读查看:节点开了撤回(后端按节点下发 withdrawEnabled)时,
17
+ 在「取消」旁边给出撤回入口——校验、预览、二次确认、执行都在组件内完成,
18
+ 成功后通知调用方刷新列表并关闭查看。
19
+ `),He.value?(n(),K(Je,{key:0,"oper-code":"system:workflow:processWithdrawal"},{default:S(()=>[x(he,{type:"warning",loading:Z.value,onClick:Qe},{default:S(()=>[...t[11]||(t[11]=[T("撤回",-1)])]),_:1},8,["loading"])]),_:1})):l("v-if",!0),X.value?(n(),K(he,{key:1,onClick:t[1]||(t[1]=a=>F("cancel"))},{default:S(()=>[...t[12]||(t[12]=[T("取消",-1)])]),_:1})):(n(),K(mt,{key:2,"task-id":N.taskId,params:Ye.value,"render-dialog":N.renderDialog,"show-process-btn":!1,"but-loading":L.value,"onUpdate:butLoading":t[2]||(t[2]=a=>L.value=a),onSuccess:qe},null,8,["task-id","params","render-dialog","but-loading"]))])):l("v-if",!0)])}}}),co=vt(Zt,[["__scopeId","data-v-1880d747"]]);export{co as default};
@@ -1 +1 @@
1
- import{defineComponent as ae,useModel as le,ref as y,computed as F,resolveComponent as d,resolveDirective as re,withDirectives as oe,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 se,createElementVNode as M,toDisplayString as R,mergeModels as j}from"vue";import ne from"../../bpmntree/components/UserSelector/UserTag.vue.js";import p from"../../../api/workflow/workflowInstApi.js";import{ElMessage as c}from"element-plus";import ie from"../../business/comp.userForm.vue.js";import ue from"../../upload/CustomElUpload.vue.js";import{userInfoStore as w}from"../../../stores/userInfoStore.js";import L from"../../../api/DocumentApi.js";import x from"../../../utils/FrameworkUtils.js";import ce from"../../../api/SysUserApi.js";import{_ as me}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 de={style:{"font-size":"16px"}},pe=ae({__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:z,emit:P}){const o=O,B=P,h=le(O,"loading"),b=y(""),r=F(()=>o.dialogType??""),e=y({taskId:"",comment:""}),I=y([]),m=y({}),v=y([]),k=y(""),E=y(!1),K=F(()=>e.value?.variables?.persons?.length>0),W=async()=>{const t=o.taskVo;if(t){E.value=!!o.commentReadonly,h.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(r.value==="complete")b.value="审批意见",e.value.comment=e.value.comment?e.value.comment:"同意。";else if(r.value==="refuse")b.value="终止原因";else if(r.value==="back"){b.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=[],x.messageError(a)}}else r.value==="transfer"&&(b.value="转办原因",e.value.comment="",m.value={});h.value=!1}},Q=F(()=>{const t=w().getUserInfo,a=t?.topDeptId||t?.mdmDeptId;return a?[a]:[]}),S=o.renderDialog,H=(t,a,u,g,V,_)=>{if(!S){console.warn("[CheckDialog] 未注入 renderDialog,无法打开选人弹窗(请通过 props 传入 useDialogHooks 的 render)");return}S(t,a,u,g,V,_)},q=()=>{H(ie,{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 ce.addNBUserInfo([t])}catch(a){m.value={},x.messageError(a)}},G=w().getUserInfo.userCode,C=async t=>{await o.onWorkflowSuccess?.({actionType:r.value,taskVo:e.value,askVo:t})};return z({resetQuery:W,confirm:async()=>{if(!(!e.value||!G))try{if(h.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){x.messageError(a);return}}if(r.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(o.taskOperate?.completeFunction){const a=await o.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(r.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};o.taskOperate?.refuseFunction?(await o.taskOperate.refuseFunction(t),e.value=await p.getTaskInst(e.value.taskId)):e.value=await p.taskReject(t),await C(t),c.success("中止成功")}else if(r.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};o.taskOperate?.backFunction?(await o.taskOperate.backFunction(t),e.value=await p.getTaskInst(e.value.taskId)):e.value=await p.taskReturn(t),await C(t),c.success("回退成功")}else if(r.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};o.taskOperate?.transferFunction?(await o.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 x.messageError(t),t}finally{h.value=!1}}}),(t,a)=>{const u=d("el-input"),g=d("el-form-item"),V=d("el-icons"),_=d("el-flex"),J=d("el-space"),X=d("el-card"),Y=d("el-option"),Z=d("el-select"),ee=d("el-form"),te=re("loading");return oe((n(),f(_,{vertical:!0,justify:"center",height:"100%"},{default:s(()=>[i(ee,{"label-width":"80px",style:{width:"100%"}},{default:s(()=>[i(g,{label:b.value,required:r.value!=="complete"},{default:s(()=>[i(u,{readonly:E.value,disabled:e.value?.finishTime,modelValue:e.value.comment,"onUpdate:modelValue":a[0]||(a[0]=l=>e.value.comment=l),style:{width:"100%"},maxlength:255,rows:3,resize:!1,type:"textarea",placeholder:"请填入意见"},null,8,["readonly","disabled","modelValue"])]),_:1},8,["label","required"]),r.value==="transfer"?(n(),f(g,{key:0,required:r.value==="transfer",label:"转办人"},{default:s(()=>[i(u,{"model-value":m.value.userName,readonly:"",placeholder:"请选择转办人",onClick:q},{append:s(()=>[i(V,{"model-value":"adtec-adduser",tip:"选择转办人",style:{cursor:"pointer"},onClick:q})]),_:1},8,["model-value"])]),_:1},8,["required"])):D("v-if",!0),r.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,l=>(n(),f(X,{shadow:"never",style:{width:"100%","margin-bottom":"10px"},class:se(l.taskKey==k.value?"selected-card":""),key:l.taskKey,onClick:U=>k.value=l.taskKey??""},{default:s(()=>[i(_,{justify:"space-between"},{default:s(()=>[M("span",de,R(l.taskName),1),M("span",null,"完成于:"+R(l.endTime),1)]),_:2},1024),i(_,null,{default:s(()=>[i(J,null,{default:s(()=>[(n(!0),N(T,null,A(l.users,U=>(n(),f(ne,{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(Z,{modelValue:e.value.variables.nextChecker,"onUpdate:modelValue":a[1]||(a[1]=l=>e.value.variables.nextChecker=l),disabled:e.value.variables.persons?.length===1,multiple:"",placeholder:"请选择下一步审核人"},{default:s(()=>[(n(!0),N(T,null,A(e.value.variables.persons,l=>(n(),f(Y,{key:l.code,label:l.name,value:l.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})):D("v-if",!0),r.value!=="transfer"?(n(),f(g,{key:3,label:"附件",style:{"margin-bottom":"0"}})):D("v-if",!0)]),_:1}),i(ue,{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]=l=>I.value=l)},null,8,["business-id","upload-files-list"])]),_:1})),[[te,h.value]])}}}),rt=me(pe,[["__scopeId","data-v-fd5ebf4a"]]);export{rt as default};
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 i={applicationModule:r,overlayId:e.overlayId,open:t};T.emit(Eo,i),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=`
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=>{(t.scrollHeight>t.clientHeight+1||t.scrollWidth>t.clientWidth+1)&&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 i=t;if(!i){const h={observer:new ResizeObserver(()=>A(e,h.targets)),targets:new Set};i=h,C.set(e,h)}const _=new Set(r);i.targets.forEach(h=>{_.has(h)||i.observer.unobserve(h)}),_.forEach(h=>{i.targets.has(h)||i.observer.observe(h)}),i.targets=_,typeof MutationObserver<"u"&&!i.mutationObserver&&(i.mutationObserver=new MutationObserver(()=>{e.isConnected&&A(e,M(e))}),i.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=[],i=()=>r[r.length-1],_=s=>{const a=w(s?.data),k=w(s?.row),y=w(s?.formData),p=s?.id??s?.taskId??s?.selectedId??a?.id??k?.id??y?.id;return p==null||p===""?"":String(p)},h=(s,a,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||""}|${_(a)}`,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(a||{}).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 a=s||i();if(!a)return;const{runBehaviorAction:k}=xo();await k({code:`dialog:${a.renderKey}:confirm`,name:a.actionName||"确认",actionType:"SUBMIT"},async()=>{try{a.manualLoading.value=!0,await a.childInstance.value?.confirm?.(),t&&m(a)}catch{}finally{a.manualLoading.value=!1}})},m=s=>{const a=s||i();!a||!a.open.value||(a.closing=!0,a.open.value=!1)},K=s=>{const a=i();a&&(a.manualLoading.value=s)},J=()=>i()?.loading.value??!1,Q=P(()=>i()?.childInstance.value);return{render:h,cancel:m,setLoading:K,getLoading:J,instance:Q}}}export{Ae as createDialogHooks,Ae as default};
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};
@@ -0,0 +1,32 @@
1
+ import { type Ref } from 'vue';
2
+ /**
3
+ * 审核当时快照(业务展示用):
4
+ *
5
+ * <p>通用层只负责“取哪一版数据”:先取引擎任务局部变量 {@code bizSnapshot}(业务提交时随任务存的当时快照),
6
+ * 取不到再按 {@code bizId + wfTaskId} 查通用业务快照表兜底;两处都没有就返回 null,
7
+ * 由业务页面决定怎么展示(此时页面通常直接展示业务当前数据)。
8
+ *
9
+ * <p>展示(字段、布局、字典翻译)完全由业务页面负责——本 hook 不渲染任何内容。
10
+ */
11
+ export interface UseWorkflowSnapshotOptions {
12
+ /** 工作流任务ID(支持传 getter,便于调用方在数据加载后取到):命中该节点保存的那一版快照 */
13
+ wfTaskId?: string | (() => string | undefined);
14
+ /** 节点标识:任务ID取不到时按节点匹配兜底 */
15
+ taskDefKey?: string | (() => string | undefined);
16
+ /** 是否历史查看(只读):用于生成“审核当时快照 / 业务当前数据”来源标记,不传则只在命中快照时标记 */
17
+ readonly?: () => boolean;
18
+ }
19
+ export interface WorkflowSnapshotSource {
20
+ type: 'info' | 'warning';
21
+ label: string;
22
+ hint: string;
23
+ }
24
+ /** 快照内容可能是对象(引擎任务局部变量)或 JSON 文本(业务接口返回),统一解析为对象 */
25
+ export declare const parseWorkflowSnapshot: (value: any) => Record<string, any> | null;
26
+ export default function useWorkflowSnapshot(bizId: string | Ref<string> | (() => string), options?: UseWorkflowSnapshotOptions): {
27
+ snapshot: Ref<Record<string, any> | null, Record<string, any> | null>;
28
+ isSnapshot: Ref<boolean, boolean>;
29
+ dataSourceMeta: Ref<WorkflowSnapshotSource | null, WorkflowSnapshotSource | null>;
30
+ loading: Ref<boolean, boolean>;
31
+ refresh: () => Promise<void>;
32
+ };
@@ -0,0 +1 @@
1
+ import{ref as i}from"vue";import m from"../api/workflow/workflowInstApi.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"element-plus";import"../utils/frontendBus.js";import"../utils/globalLoading.js";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const y=t=>{if(!t)return null;if(typeof t=="string")try{return JSON.parse(t)}catch{return null}return typeof t=="object"?t:null};function V(t,l={}){const o=i(null),s=i(!1),f=i(null),p=i(!1),h=()=>typeof t=="function"?t():typeof t=="string"?t:t.value,c=r=>String((typeof r=="function"?r():r)||"");return{snapshot:o,isSnapshot:s,dataSourceMeta:f,loading:p,refresh:async()=>{const r=String(h()||""),e=c(l.wfTaskId);c(l.taskDefKey),p.value=!0;try{if(o.value=null,s.value=!1,e)try{const n=await m.getTaskInst(e),a=y(n?.taskLocalVars?.bizSnapshot);a&&(o.value=a)}catch{}if(!o.value&&(r||e))try{const n=await m.snapshot(r,e),a=y(n?.snapshot);a&&(o.value=a)}catch(n){console.warn("查询审核当时快照失败",n)}s.value=!!o.value;const u=String(o.value?.snapshotTime||"");f.value=s.value?{type:"info",label:u?`审核当时快照 · ${u}`:"审核当时快照",hint:"展示该节点审核完成时保存的数据,之后业务数据的改动不影响这里"}:l.readonly?.()?{type:"warning",label:"业务当前数据",hint:"该节点没有保存当时快照,展示的是业务当前数据,可能已不是当时那一版"}:null}finally{p.value=!1}}}}export{V as default,y as parseWorkflowSnapshot};
@@ -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 o from"../api/workflow/workflowInstApi.js";import{userInfoStore as l}from"../stores/userInfoStore.js";import{frontendBus as f}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="业务数据处理失败,系统自动撤回本次审批",m=["complete","refuse","back"],p=()=>l().getUserInfo?.userCode||"",k=e=>String(e?.msg||e?.message||e||"业务数据处理失败"),d=e=>k(e?.response?.data??e),g=async e=>((await o.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 o.getProcessTaskList(r))?.activeTasks||[];const s=e.originTask?.businessId||e.taskVo?.businessId;if(!s)return[];const t=await o.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 a=t.find(u=>u.assigneeId&&u.assigneeId===s),n=a||t[0];return n?.taskId?!a&&n.assigneeId&&s?{reverted:!1,reason:`流程已流转给 ${n.assigneeName||n.assigneeId}`}:(await o.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 o.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),a=e.actionType==="addMulti"?t.filter(n=>!s.includes(n)):s.filter(n=>!t.includes(n));return a.length?(await o.addOrMinusAssignee({taskId:r,assignee:a,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 o.setAssigneeList([{taskId:r,assignee:s,type:"assignee"}]),{reverted:!0}):{reverted:!1,reason:"未记录操作前的审批人"}:{reverted:!1,reason:"缺少工作流任务标识"}};async function C(e){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 E=async e=>{const r=d(e.error),s=await C(e);if(s.reverted){f.emit("todoRefresh"),f.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};try{typeof s=="function"&&await s(r.taskVo,r.actionType,t)}catch(a){const n={...r,error:a};throw typeof e?.onCompleteError=="function"?await e.onCompleteError(n):e?.revertOnCompleteError===!0||e?.revertOnCompleteError!==!1&&m.includes(r.actionType)?await E(n):i.warning(`业务数据处理失败:${d(a)}`),a}}export{C as revertWorkflowAction,G as runWorkflowComplete};
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;
@@ -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/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};
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/hooks/useWorkflowSnapshot.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,142,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([143,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};