adtec-hnyzfc-core-package 1.5.6 → 1.5.7

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.
@@ -1 +1 @@
1
- import{defineComponent as le,ref as v,reactive as oe,resolveComponent as c,resolveDirective as ae,withDirectives as re,openBlock as w,createBlock as V,withCtx as g,createVNode as u,unref as s,createCommentVNode as E,createElementBlock as N,Fragment as se,renderList as ie,createTextVNode as ne,toDisplayString as de,mergeProps as ce,nextTick as O}from"vue";import"@vueuse/core";import{ElMessage as ue}from"element-plus";import pe from"../../api/DeptInfoApi.js";import P from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as x}from"../../hooks/useResetRefHooks.js";import I from"../../utils/FrameworkUtils.js";import{checkboxColumn as me,radioColumn as fe}from"../../config/vxeSelectColumn.js";import{_ as ve}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import{_ as ge}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"xlsx-js-style";const he={key:0,class:"user-form__selected"},_e=le({__name:"comp.userForm",props:{fetchData:{type:Function,default:P.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0},selectedUserCodes:{default:()=>[]}},emits:["success"],setup(z,{expose:B,emit:D}){const n=z,[o,S]=x({current:1,size:I.getPageSize(),...n.defalutQueryParam}),L=D,_=v([]),y=v(!1),R=v(),m=v(),f=v(""),h=v(),b=v(),[a,M]=x([]),[p,Q]=x({records:[],total:0,pages:0,current:1}),T=[n.multiple?{...me,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1",trigger:"row"}}:fe,{align:"left",field:"name",title:"用户姓名",width:120,showOverflow:!0},{align:"left",field:"postName",title:"岗位名称",width:120,showOverflow:!0},{align:"left",field:"deptName",title:"所属部门",showOverflow:!0},...n.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],F=oe({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!1,range:!1,trigger:"row"},columns:T}),q=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},A=async()=>{try{_.value=await pe.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},J=e=>{e.id===f.value?(h.value=void 0,f.value="",m.value?.clearRadioRow()):(f.value=e.id,h.value=e,m.value?.setRadioRow(e))},K=({row:e,checked:t})=>{e&&(t?a.value.some(l=>l.code===e.code)||a.value.push(e):a.value=a.value.filter(l=>l.code!==e.code))},$=({checked:e})=>{const t=p.value?.records??[];if(e){const l=a.value.map(r=>r.code);t.forEach(r=>{l.includes(r.code)||a.value.push(r)})}else{const l=t.map(r=>r.code);a.value=a.value.filter(r=>!l.includes(r.code))}},H=({row:e})=>{n.multiple||J(e)},U=async()=>{y.value=!0,_.value&&_.value.length||await A(),M(),Q(),R.value?.resetFields(),b.value?.setCheckedKeys([]),S(),o.value={...o.value,...n.defalutQueryParam},await j(),O(()=>{b.value?.setCheckedKeys(o.value.deptIds??[]),C()})},j=async()=>{const e=(n.selectedUserCodes||[]).filter(Boolean);if(!e.length)return;const t=[];await Promise.all(e.map(async l=>{try{const r=await P.getMdmEmployeeBaseInfo(l);r?.code&&t.push(r)}catch{}})),a.value=e.map(l=>t.find(r=>r.code===l)).filter(Boolean),!n.multiple&&a.value.length&&(f.value=a.value[0].id,h.value=a.value[0])},C=async()=>{try{y.value=!0;let e=[],t;o.value.deptIds&&o.value.deptIds.length&&o.value.deptIds.forEach(d=>{_.value.findIndex(k=>k.id===d)>=0?t=d:e.push(d)});let l=JSON.parse(JSON.stringify(o.value));l.deptIds=e,l.orgId=t,p.value=await n.fetchData(l);const r=a.value.map(d=>d.code);O(()=>{p.value.records.forEach(d=>{r.includes(d.code)&&(n.multiple?m.value?.setCheckboxRow(d,!0):d.id===f.value&&m.value?.setRadioRow(d))})}),o.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},G=e=>{a.value=a.value.filter(l=>l.code!==e.code);const t=p.value.records.find(l=>l.code===e.code);t&&(n.multiple?m.value?.setCheckboxRow(t,!1):t.id===f.value&&(h.value=void 0,f.value="",m.value?.clearRadioRow()))};return B({confirm:async()=>{!a.value.length&&n.multiple||!h.value&&!n.multiple?ue.warning("未选择需要新增的人员!"):L("success",n.multiple?a.value:h.value)},resetQuery:U}),(e,t)=>{const l=c("el-tree-select"),r=c("el-form-item"),d=c("el-input"),k=c("el-form"),W=c("el-search"),X=c("el-title"),Y=c("el-tooltip"),Z=c("el-grid"),ee=c("el-flex"),te=ae("loading");return re((w(),V(ee,{vertical:!0,gap:"var(--space-8)"},{default:g(()=>[u(W,{class:"border",style:{"border-bottom":"var(--border)"},onReset:U,onSearch:C},{default:g(()=>[u(k,{ref_key:"queryRef",ref:R,inline:!0,model:s(o),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:g(()=>[u(r,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:g(()=>[u(l,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:s(o).disabled,modelValue:s(o).deptIds,"onUpdate:modelValue":t[0]||(t[0]=i=>s(o).deptIds=i),data:_.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:i=>i.isValid!=="1"||s(o).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(r,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:g(()=>[u(d,{modelValue:s(o).codeorname,"onUpdate:modelValue":t[1]||(t[1]=i=>s(o).codeorname=i),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(X,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),E(" 已选人员:间距由容器 gap 统一控制(空列表不渲染,避免多出一段 8px 间距) "),s(a).length?(w(),N("div",he,[(w(!0),N(se,null,ie(s(a),i=>(w(),V(ve,{key:i.code,closable:"",onClose:we=>G(i)},{default:g(()=>[u(Y,{placement:"top",content:i.deptName},{default:g(()=>[ne(de(i.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))])):E("v-if",!0),u(Z,ce({ref_key:"gridRef",ref:m},F,{data:s(p)?.records,total:s(p)?.total?s(p)?.total:0,pagination:"","current-page":s(o).current,"onUpdate:currentPage":t[2]||(t[2]=i=>s(o).current=i),"page-size":s(o).size,"onUpdate:pageSize":t[3]||(t[3]=i=>s(o).size=i),"row-class-name":q,style:{width:"100%"},onCheckboxChange:K,onCheckboxAll:$,onCellClick:H,onCurrentChange:C}),null,16,["data","total","current-page","page-size"])]),_:1})),[[te,y.value]])}}}),Ge=ge(_e,[["__scopeId","data-v-c6576c13"]]);export{Ge as default};
1
+ import{defineComponent as te,ref as m,reactive as oe,resolveComponent as c,resolveDirective as le,withDirectives as re,openBlock as w,createBlock as V,withCtx as f,createVNode as u,unref as s,createCommentVNode as E,createElementBlock as N,Fragment as ae,renderList as se,createTextVNode as ie,toDisplayString as ne,mergeProps as de,nextTick as O}from"vue";import"@vueuse/core";import{ElMessage as ce}from"element-plus";import ue from"../../api/DeptInfoApi.js";import P from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as x}from"../../hooks/useResetRefHooks.js";import I from"../../utils/FrameworkUtils.js";import{checkboxColumn as pe,radioColumn as me}from"../../config/vxeSelectColumn.js";import{_ as fe}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import{_ as ve}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"xlsx-js-style";const ge={key:0,class:"user-form__selected"},he=te({__name:"comp.userForm",props:{fetchData:{type:Function,default:P.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0},selectedUserCodes:{default:()=>[]}},emits:["success"],setup(z,{expose:B,emit:D}){const n=z,[l,S]=x({current:1,size:I.getPageSize(),...n.defalutQueryParam}),L=D,v=m([]),y=m(!1),R=m(),g=m(),h=m(""),_=m(),b=m(),[r,M]=x([]),[p,Q]=x({records:[],total:0,pages:0,current:1}),T=[n.multiple?{...pe,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1",trigger:"row"}}:me,{align:"left",field:"name",title:"用户姓名",width:120,showOverflow:!0},{align:"left",field:"postName",title:"岗位名称",width:120,showOverflow:!0},{align:"left",field:"deptName",title:"所属部门",showOverflow:!0},...n.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],F=oe({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!1,range:!1,trigger:"row"},columns:T}),q=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},A=async()=>{try{v.value=await ue.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},J=({newValue:e})=>{_.value=e||void 0,h.value=e?.id??""},K=({row:e,checked:t})=>{e&&(t?r.value.some(o=>o.code===e.code)||r.value.push(e):r.value=r.value.filter(o=>o.code!==e.code))},$=({checked:e})=>{const t=p.value?.records??[];if(e){const o=r.value.map(a=>a.code);t.forEach(a=>{o.includes(a.code)||r.value.push(a)})}else{const o=t.map(a=>a.code);r.value=r.value.filter(a=>!o.includes(a.code))}},U=async()=>{y.value=!0,v.value&&v.value.length||await A(),M(),Q(),R.value?.resetFields(),b.value?.setCheckedKeys([]),S(),l.value={...l.value,...n.defalutQueryParam},await H(),O(()=>{b.value?.setCheckedKeys(l.value.deptIds??[]),C()})},H=async()=>{const e=(n.selectedUserCodes||[]).filter(Boolean);if(!e.length)return;const t=[];await Promise.all(e.map(async o=>{try{const a=await P.getMdmEmployeeBaseInfo(o);a?.code&&t.push(a)}catch{}})),r.value=e.map(o=>t.find(a=>a.code===o)).filter(Boolean),!n.multiple&&r.value.length&&(h.value=r.value[0].id,_.value=r.value[0])},C=async()=>{try{y.value=!0;let e=[],t;l.value.deptIds&&l.value.deptIds.length&&l.value.deptIds.forEach(d=>{v.value.findIndex(k=>k.id===d)>=0?t=d:e.push(d)});let o=JSON.parse(JSON.stringify(l.value));o.deptIds=e,o.orgId=t,p.value=await n.fetchData(o);const a=r.value.map(d=>d.code);O(()=>{p.value.records.forEach(d=>{a.includes(d.code)&&(n.multiple?g.value?.setCheckboxRow(d,!0):d.id===h.value&&g.value?.setRadioRow(d))})}),l.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},j=e=>{r.value=r.value.filter(o=>o.code!==e.code);const t=p.value.records.find(o=>o.code===e.code);t&&(n.multiple?g.value?.setCheckboxRow(t,!1):t.id===h.value&&(_.value=void 0,h.value="",g.value?.clearRadioRow()))};return B({confirm:async()=>{!r.value.length&&n.multiple||!_.value&&!n.multiple?ce.warning("请选择人员!"):L("success",n.multiple?r.value:_.value)},resetQuery:U}),(e,t)=>{const o=c("el-tree-select"),a=c("el-form-item"),d=c("el-input"),k=c("el-form"),G=c("el-search"),W=c("el-title"),X=c("el-tooltip"),Y=c("el-grid"),Z=c("el-flex"),ee=le("loading");return re((w(),V(Z,{vertical:!0,gap:"var(--space-8)"},{default:f(()=>[u(G,{class:"border",style:{"border-bottom":"var(--border)"},onReset:U,onSearch:C},{default:f(()=>[u(k,{ref_key:"queryRef",ref:R,inline:!0,model:s(l),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:f(()=>[u(a,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:f(()=>[u(o,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:s(l).disabled,modelValue:s(l).deptIds,"onUpdate:modelValue":t[0]||(t[0]=i=>s(l).deptIds=i),data:v.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:i=>i.isValid!=="1"||s(l).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(a,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:f(()=>[u(d,{modelValue:s(l).codeorname,"onUpdate:modelValue":t[1]||(t[1]=i=>s(l).codeorname=i),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(W,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),E(" 已选人员:间距由容器 gap 统一控制(空列表不渲染,避免多出一段 8px 间距) "),s(r).length?(w(),N("div",ge,[(w(!0),N(ae,null,se(s(r),i=>(w(),V(fe,{key:i.code,closable:"",onClose:ye=>j(i)},{default:f(()=>[u(X,{placement:"top",content:i.deptName},{default:f(()=>[ie(ne(i.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))])):E("v-if",!0),u(Y,de({ref_key:"gridRef",ref:g},F,{data:s(p)?.records,total:s(p)?.total?s(p)?.total:0,pagination:"","current-page":s(l).current,"onUpdate:currentPage":t[2]||(t[2]=i=>s(l).current=i),"page-size":s(l).size,"onUpdate:pageSize":t[3]||(t[3]=i=>s(l).size=i),"row-class-name":q,style:{width:"100%"},onCheckboxChange:K,onCheckboxAll:$,onRadioChange:J,onCurrentChange:C}),null,16,["data","total","current-page","page-size"])]),_:1})),[[ee,y.value]])}}}),je=ve(he,[["__scopeId","data-v-d5387ed8"]]);export{je as default};
@@ -1 +1 @@
1
- import{defineComponent as F,useModel as _,openBlock as y,createBlock as V,Teleport as h,createElementVNode as m,normalizeClass as n,unref as e,createVNode as C,createCommentVNode as P,mergeModels as p}from"vue";import{useVModel as i}from"@vueuse/core";import x from"../../hooks/usePreviewFullscreen.js";import I from"./OfficePreview.vue.js";import{_ as k}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"element-plus";import"../../api/DocumentApi.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"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../utils/fileDownload.js";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";const M=F({__name:"FileView",props:p({title:{type:String,default:""},url:{type:String,default:""},fileId:{type:String,default:""},edit:{type:String,default:"view"}},{modelValue:{},modelModifiers:{}}),emits:p(["update:title","update:url","update:fileId","update:edit"],["update:modelValue"]),setup(l,{emit:c}){const s=_(l,"modelValue"),t=l,o=c,u=i(t,"title",o),a=i(t,"fileId",o),d=i(t,"url",o),{previewContainerRef:f,isPreviewFullscreen:r,togglePreviewFullscreen:w,exitPreviewFullscreen:v}=x(),g=async()=>{await v(),s.value=!1};return(S,N)=>s.value?(y(),V(h,{key:0,to:"body"},[m("div",{class:n(["file-view-overlay",{"is-preview-fullscreen":e(r)}])},[m("div",{ref_key:"previewContainerRef",ref:f,class:n(["office-preview",{"fullscreen-mode":e(r)}])},[C(I,{url:e(d),"file-id":e(a),"file-name":e(u),"show-header":"","show-download":"","show-fullscreen":"","show-close":"",fullscreen:e(r),onToggleFullscreen:e(w),onClose:g},null,8,["url","file-id","file-name","fullscreen","onToggleFullscreen"])],2)],2)])):P("v-if",!0)}}),se=k(M,[["__scopeId","data-v-ecb4067a"]]);export{se as default};
1
+ import{defineComponent as F,useModel as _,openBlock as y,createBlock as V,Teleport as h,createElementVNode as m,normalizeClass as n,unref as e,createVNode as C,createCommentVNode as P,mergeModels as p}from"vue";import{useVModel as i}from"@vueuse/core";import x from"../../hooks/usePreviewFullscreen.js";import I from"./OfficePreview.vue.js";import{_ as k}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"element-plus";import"../../api/DocumentApi.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"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../utils/fileDownload.js";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";const M=F({__name:"FileView",props:p({title:{type:String,default:""},url:{type:String,default:""},fileId:{type:String,default:""},edit:{type:String,default:"view"}},{modelValue:{},modelModifiers:{}}),emits:p(["update:title","update:url","update:fileId","update:edit"],["update:modelValue"]),setup(l,{emit:c}){const s=_(l,"modelValue"),t=l,o=c,u=i(t,"title",o),a=i(t,"fileId",o),d=i(t,"url",o),{previewContainerRef:f,isPreviewFullscreen:r,togglePreviewFullscreen:w,exitPreviewFullscreen:v}=x(),g=async()=>{await v(),s.value=!1};return(S,N)=>s.value?(y(),V(h,{key:0,to:"body"},[m("div",{class:n(["file-view-overlay",{"is-preview-fullscreen":e(r)}])},[m("div",{ref_key:"previewContainerRef",ref:f,class:n(["office-preview",{"fullscreen-mode":e(r)}])},[C(I,{url:e(d),"file-id":e(a),"file-name":e(u),"show-header":"","show-download":"","show-fullscreen":"","show-close":"",fullscreen:e(r),onToggleFullscreen:e(w),onClose:g},null,8,["url","file-id","file-name","fullscreen","onToggleFullscreen"])],2)],2)])):P("v-if",!0)}}),se=k(M,[["__scopeId","data-v-a01acd1f"]]);export{se as default};
@@ -1 +1,3 @@
1
- import{defineComponent as D,ref as F,computed as p,watch as I,resolveComponent as y,openBlock as a,createElementBlock as r,normalizeClass as N,toDisplayString as c,createCommentVNode as u,createVNode as l,unref as o,withCtx as n,createElementVNode as f,Fragment as C,createBlock as b,createTextVNode as B}from"vue";import{ArrowUp as T,ArrowDown as V,ArrowLeft as E,ArrowRight as R,ZoomOut as S,ZoomIn as A,RefreshRight as M,Loading as w,Download as x,Refresh as Q,Close as P,FullScreen as H}from"@element-plus/icons-vue";import{ElIcon as s}from"element-plus";import{MAX_PDF_ZOOM as U,MIN_OFFICE_ZOOM as X}from"../../utils/officePreviewUtil.js";import{_ as j}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const q=["title"],G={key:1,class:"header-search"},J={key:0,class:"search-count"},K={class:"header-actions"},W=["disabled"],Y={class:"page-label"},_=["disabled"],ee=["disabled"],te={class:"zoom-label"},oe=["disabled"],le=["disabled"],ae=["disabled"],ne=["disabled"],de=["title"],se=D({__name:"OfficePreviewHeaderBar",props:{title:{default:""},titleOnly:{type:Boolean,default:!1},zoom:{default:1},currentPage:{default:1},totalPages:{default:0},searchQuery:{default:""},searchIndex:{default:-1},searchTotal:{default:0},showSearch:{type:Boolean,default:!0},showPageNav:{type:Boolean,default:!0},showZoom:{type:Boolean,default:!0},showDownload:{type:Boolean,default:!1},pdfExport:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},downloadLoading:{type:Boolean,default:!1},refreshLoading:{type:Boolean,default:!1},minZoom:{default:X},maxZoom:{default:U}},emits:["zoom-in","zoom-out","zoom-reset","download","refresh","toggle-fullscreen","close","page-prev","page-next","search","search-clear","search-prev","search-next"],setup(e,{emit:z}){const v=e,i=z,m=F(v.searchQuery),$=p(()=>Math.round(v.zoom*100));I(()=>v.searchQuery,g=>{m.value=g});const h=()=>{i("search",m.value.trim())};return(g,t)=>{const L=y("el-search-input"),k=y("el-dropdown-item"),O=y("el-dropdown-menu"),Z=y("el-dropdown");return a(),r("div",{class:N(["office-preview-header",{"is-title-only":e.titleOnly}])},[e.title?(a(),r("div",{key:0,class:"header-title",title:e.title},c(e.title),9,q)):u("v-if",!0),e.showSearch?(a(),r("div",G,[l(L,{modelValue:m.value,"onUpdate:modelValue":t[0]||(t[0]=d=>m.value=d),class:"search-input",clearable:"",placeholder:"搜索文档内容",panel:!1,"action-tip":"查找",onSearch:h,onChange:h,onClear:t[1]||(t[1]=d=>i("search-clear"))},null,8,["modelValue"]),e.searchTotal>0?(a(),r("span",J,c(e.searchIndex+1)+"/"+c(e.searchTotal),1)):u("v-if",!0),e.searchTotal>0?(a(),r("button",{key:1,class:"toolbar-btn",type:"button",title:"上一处",onClick:t[2]||(t[2]=d=>i("search-prev"))},[l(o(s),null,{default:n(()=>[l(o(T))]),_:1})])):u("v-if",!0),e.searchTotal>0?(a(),r("button",{key:2,class:"toolbar-btn",type:"button",title:"下一处",onClick:t[3]||(t[3]=d=>i("search-next"))},[l(o(s),null,{default:n(()=>[l(o(V))]),_:1})])):u("v-if",!0)])):u("v-if",!0),f("div",K,[e.showPageNav&&e.totalPages>0?(a(),r(C,{key:0},[f("button",{class:"toolbar-btn",type:"button",title:"上一页",disabled:e.currentPage<=1,onClick:t[4]||(t[4]=d=>i("page-prev"))},[l(o(s),null,{default:n(()=>[l(o(E))]),_:1})],8,W),f("span",Y,c(e.currentPage)+" / "+c(e.totalPages),1),f("button",{class:"toolbar-btn",type:"button",title:"下一页",disabled:e.currentPage>=e.totalPages,onClick:t[5]||(t[5]=d=>i("page-next"))},[l(o(s),null,{default:n(()=>[l(o(R))]),_:1})],8,_),t[14]||(t[14]=f("span",{class:"toolbar-divider"},null,-1))],64)):u("v-if",!0),e.showZoom?(a(),r(C,{key:1},[f("button",{class:"toolbar-btn",type:"button",title:"缩小",disabled:e.zoom<=e.minZoom,onClick:t[6]||(t[6]=d=>i("zoom-out"))},[l(o(s),null,{default:n(()=>[l(o(S))]),_:1})],8,ee),f("span",te,c($.value)+"%",1),f("button",{class:"toolbar-btn",type:"button",title:"放大",disabled:e.zoom>=e.maxZoom,onClick:t[7]||(t[7]=d=>i("zoom-in"))},[l(o(s),null,{default:n(()=>[l(o(A))]),_:1})],8,oe),f("button",{class:"toolbar-btn",type:"button",title:"重置缩放",onClick:t[8]||(t[8]=d=>i("zoom-reset"))},[l(o(s),null,{default:n(()=>[l(o(M))]),_:1})]),t[15]||(t[15]=f("span",{class:"toolbar-divider"},null,-1))],64)):u("v-if",!0),e.showDownload&&e.pdfExport?(a(),b(Z,{key:2,trigger:"click",disabled:e.downloadLoading,onCommand:t[9]||(t[9]=d=>i("download",d))},{dropdown:n(()=>[l(O,null,{default:n(()=>[l(k,{command:"original"},{default:n(()=>[...t[16]||(t[16]=[B("下载原始文件",-1)])]),_:1}),l(k,{command:"pdf"},{default:n(()=>[...t[17]||(t[17]=[B("下载 PDF",-1)])]),_:1})]),_:1})]),default:n(()=>[f("button",{class:"toolbar-btn",type:"button",title:"下载",disabled:e.downloadLoading},[e.downloadLoading?(a(),b(o(s),{key:0,class:"is-loading"},{default:n(()=>[l(o(w))]),_:1})):(a(),b(o(s),{key:1},{default:n(()=>[l(o(x))]),_:1}))],8,le)]),_:1},8,["disabled"])):e.showDownload?(a(),r("button",{key:3,class:"toolbar-btn",type:"button",title:"下载",disabled:e.downloadLoading,onClick:t[10]||(t[10]=d=>i("download","original"))},[e.downloadLoading?(a(),b(o(s),{key:0,class:"is-loading"},{default:n(()=>[l(o(w))]),_:1})):(a(),b(o(s),{key:1},{default:n(()=>[l(o(x))]),_:1}))],8,ae)):u("v-if",!0),e.showRefresh?(a(),r("button",{key:4,class:"toolbar-btn",type:"button",title:"刷新附件",disabled:e.refreshLoading,onClick:t[11]||(t[11]=d=>i("refresh"))},[e.refreshLoading?(a(),b(o(s),{key:0,class:"is-loading"},{default:n(()=>[l(o(w))]),_:1})):(a(),b(o(s),{key:1},{default:n(()=>[l(o(Q))]),_:1}))],8,ne)):u("v-if",!0),e.showFullscreen?(a(),r("button",{key:5,class:"toolbar-btn",type:"button",title:e.fullscreen?"退出全屏":"全屏",onClick:t[12]||(t[12]=d=>i("toggle-fullscreen"))},[l(o(s),null,{default:n(()=>[e.fullscreen?(a(),b(o(P),{key:0})):(a(),b(o(H),{key:1}))]),_:1})],8,de)):u("v-if",!0),e.showClose?(a(),r("button",{key:6,class:"toolbar-btn toolbar-btn--close",type:"button",title:"关闭",onClick:t[13]||(t[13]=d=>i("close"))},[l(o(s),null,{default:n(()=>[l(o(P))]),_:1})])):u("v-if",!0)])],2)}}}),ce=j(se,[["__scopeId","data-v-befd4ab6"]]);export{ce as default};
1
+ import{defineComponent as Z,ref as F,computed as T,watch as D,resolveComponent as y,openBlock as n,createElementBlock as r,normalizeClass as V,toDisplayString as c,createCommentVNode as u,createVNode as l,unref as o,withCtx as a,createElementVNode as f,Fragment as C,createBlock as b,createTextVNode as x}from"vue";import{ArrowUp as E,ArrowDown as I,ArrowLeft as N,ArrowRight as R,ZoomOut as S,ZoomIn as A,RefreshRight as M,Loading as v,Download as B,Refresh as Q,Close as P,FullScreen as H}from"@element-plus/icons-vue";import{ElIcon as s}from"element-plus";import{MAX_PDF_ZOOM as U,MIN_OFFICE_ZOOM as X}from"../../utils/officePreviewUtil.js";import{_ as j}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const q=["title"],G={key:1,class:"header-search"},J={key:0,class:"search-count"},K={class:"header-actions"},W=["disabled"],Y={class:"page-label"},_=["disabled"],ee=["disabled"],te={class:"zoom-label"},oe=["disabled"],le=["disabled"],ne=["disabled"],ae=["disabled"],de=["title"],se=Z({__name:"OfficePreviewHeaderBar",props:{title:{default:""},titleOnly:{type:Boolean,default:!1},zoom:{default:1},currentPage:{default:1},totalPages:{default:0},searchQuery:{default:""},searchIndex:{default:-1},searchTotal:{default:0},showSearch:{type:Boolean,default:!0},showPageNav:{type:Boolean,default:!0},showZoom:{type:Boolean,default:!0},showDownload:{type:Boolean,default:!1},pdfExport:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},downloadLoading:{type:Boolean,default:!1},refreshLoading:{type:Boolean,default:!1},minZoom:{default:X},maxZoom:{default:U}},emits:["zoom-in","zoom-out","zoom-reset","download","refresh","toggle-fullscreen","close","page-prev","page-next","search","search-clear","search-prev","search-next"],setup(e,{emit:z}){const w=e,i=z,m=F(w.searchQuery),$=T(()=>Math.round(w.zoom*100));D(()=>w.searchQuery,g=>{m.value=g});const h=()=>{i("search",m.value.trim())};return(g,t)=>{const L=y("el-search-input"),k=y("el-dropdown-item"),p=y("el-dropdown-menu"),O=y("el-dropdown");return n(),r("div",{class:V(["office-preview-header",{"is-title-only":e.titleOnly}])},[e.title?(n(),r("div",{key:0,class:"header-title",title:e.title},c(e.title),9,q)):u("v-if",!0),e.showSearch?(n(),r("div",G,[l(L,{modelValue:m.value,"onUpdate:modelValue":t[0]||(t[0]=d=>m.value=d),class:"search-input",clearable:"",placeholder:"搜索文档内容",panel:!1,"action-tip":"查找",onSearch:h,onChange:h,onClear:t[1]||(t[1]=d=>i("search-clear"))},null,8,["modelValue"]),e.searchTotal>0?(n(),r("span",J,c(e.searchIndex+1)+"/"+c(e.searchTotal),1)):u("v-if",!0),e.searchTotal>0?(n(),r("button",{key:1,class:"toolbar-btn",type:"button",title:"上一处",onClick:t[2]||(t[2]=d=>i("search-prev"))},[l(o(s),null,{default:a(()=>[l(o(E))]),_:1})])):u("v-if",!0),e.searchTotal>0?(n(),r("button",{key:2,class:"toolbar-btn",type:"button",title:"下一处",onClick:t[3]||(t[3]=d=>i("search-next"))},[l(o(s),null,{default:a(()=>[l(o(I))]),_:1})])):u("v-if",!0)])):u("v-if",!0),f("div",K,[e.showPageNav&&e.totalPages>0?(n(),r(C,{key:0},[f("button",{class:"toolbar-btn",type:"button",title:"上一页",disabled:e.currentPage<=1,onClick:t[4]||(t[4]=d=>i("page-prev"))},[l(o(s),null,{default:a(()=>[l(o(N))]),_:1})],8,W),f("span",Y,c(e.currentPage)+" / "+c(e.totalPages),1),f("button",{class:"toolbar-btn",type:"button",title:"下一页",disabled:e.currentPage>=e.totalPages,onClick:t[5]||(t[5]=d=>i("page-next"))},[l(o(s),null,{default:a(()=>[l(o(R))]),_:1})],8,_),t[14]||(t[14]=f("span",{class:"toolbar-divider"},null,-1))],64)):u("v-if",!0),e.showZoom?(n(),r(C,{key:1},[f("button",{class:"toolbar-btn",type:"button",title:"缩小",disabled:e.zoom<=e.minZoom,onClick:t[6]||(t[6]=d=>i("zoom-out"))},[l(o(s),null,{default:a(()=>[l(o(S))]),_:1})],8,ee),f("span",te,c($.value)+"%",1),f("button",{class:"toolbar-btn",type:"button",title:"放大",disabled:e.zoom>=e.maxZoom,onClick:t[7]||(t[7]=d=>i("zoom-in"))},[l(o(s),null,{default:a(()=>[l(o(A))]),_:1})],8,oe),f("button",{class:"toolbar-btn",type:"button",title:"重置缩放",onClick:t[8]||(t[8]=d=>i("zoom-reset"))},[l(o(s),null,{default:a(()=>[l(o(M))]),_:1})]),t[15]||(t[15]=f("span",{class:"toolbar-divider"},null,-1))],64)):u("v-if",!0),u(` 下载菜单不 Teleport:预览浮层(FileView 90% 遮罩)与全屏/全屏兜底都会把
2
+ Element Plus 浮层(默认 z-index 2000 起)压在下面,Teleport 到 body 后菜单会被遮住,
3
+ 表现为“点下载没反应”。留在预览容器内即可跟随容器层级,全屏时也仍在视口内。 `),e.showDownload&&e.pdfExport?(n(),b(O,{key:2,trigger:"click",teleported:!1,disabled:e.downloadLoading,onCommand:t[9]||(t[9]=d=>i("download",d))},{dropdown:a(()=>[l(p,null,{default:a(()=>[l(k,{command:"original"},{default:a(()=>[...t[16]||(t[16]=[x("下载原始文件",-1)])]),_:1}),l(k,{command:"pdf"},{default:a(()=>[...t[17]||(t[17]=[x("下载 PDF",-1)])]),_:1})]),_:1})]),default:a(()=>[f("button",{class:"toolbar-btn",type:"button",title:"下载",disabled:e.downloadLoading},[e.downloadLoading?(n(),b(o(s),{key:0,class:"is-loading"},{default:a(()=>[l(o(v))]),_:1})):(n(),b(o(s),{key:1},{default:a(()=>[l(o(B))]),_:1}))],8,le)]),_:1},8,["disabled"])):e.showDownload?(n(),r("button",{key:3,class:"toolbar-btn",type:"button",title:"下载",disabled:e.downloadLoading,onClick:t[10]||(t[10]=d=>i("download","original"))},[e.downloadLoading?(n(),b(o(s),{key:0,class:"is-loading"},{default:a(()=>[l(o(v))]),_:1})):(n(),b(o(s),{key:1},{default:a(()=>[l(o(B))]),_:1}))],8,ne)):u("v-if",!0),e.showRefresh?(n(),r("button",{key:4,class:"toolbar-btn",type:"button",title:"刷新附件",disabled:e.refreshLoading,onClick:t[11]||(t[11]=d=>i("refresh"))},[e.refreshLoading?(n(),b(o(s),{key:0,class:"is-loading"},{default:a(()=>[l(o(v))]),_:1})):(n(),b(o(s),{key:1},{default:a(()=>[l(o(Q))]),_:1}))],8,ae)):u("v-if",!0),e.showFullscreen?(n(),r("button",{key:5,class:"toolbar-btn",type:"button",title:e.fullscreen?"退出全屏":"全屏",onClick:t[12]||(t[12]=d=>i("toggle-fullscreen"))},[l(o(s),null,{default:a(()=>[e.fullscreen?(n(),b(o(P),{key:0})):(n(),b(o(H),{key:1}))]),_:1})],8,de)):u("v-if",!0),e.showClose?(n(),r("button",{key:6,class:"toolbar-btn toolbar-btn--close",type:"button",title:"关闭",onClick:t[13]||(t[13]=d=>i("close"))},[l(o(s),null,{default:a(()=>[l(o(P))]),_:1})])):u("v-if",!0)])],2)}}}),ce=j(se,[["__scopeId","data-v-24950265"]]);export{ce as default};
@@ -1 +1 @@
1
- import{defineComponent as Q,ref as g,useModel as X,computed as Y,onMounted as Z,watch as _,resolveComponent as F,openBlock as s,createElementBlock as S,createVNode as ee,withCtx as u,renderSlot as $,createBlock as m,createTextVNode as f,toDisplayString as v,createCommentVNode as d,unref as te,Fragment as ae,mergeModels as P}from"vue";import w from"../../api/workflow/workflowInstApi.js";import oe from"./components/SelectAssigneeDialog.vue.js";import{_ as re}from"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-SYw6MXOl.js";import ne from"./components/CheckDialog.vue.js";import q from"../../utils/FrameworkUtils.js";import{userInfoStore as y}from"../../stores/userInfoStore.js";import{frontendBus as L}from"../../utils/frontendBus.js";import{showTodoDialog as ie}from"../../hooks/workflowTodo.js";import{_ as le}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"element-plus";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.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"xlsx-js-style";import"../../api/SysUserApi.js";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../upload/CustomElUpload.vue.js";import"@element-plus/icons-vue";import"../../hooks/useFileView.js";import"../../api/DocumentApi.js";import"../../hooks/useDeleteConfirmHooks.js";import"../../hooks/useBehaviorAction.js";import"../../utils/uploadAccept.js";import"../../utils/buildUploadHeaders.js";import"pinia";import"../../utils/userSessionStorage.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 se=Q({__name:"TaskOperation",props:P({taskId:{type:String,required:!1},showProcessBtn:{type:Boolean,required:!1,default:!1},params:{type:Object,required:!1},taskInfo:{type:Object,required:!1},showOperationsBtn:{type:Boolean,required:!1,default:!0},showCurWorkBth:{type:Boolean,required:!1,default:!0},onProcessDetail:{type:Function,required:!1},renderDialog:{type:Function,required:!1}},{butLoading:{type:Boolean,default:!1},butLoadingModifiers:{}}),emits:P(["success"],["update:butLoading"]),setup(o,{expose:h,emit:A}){const E=y(),B=g(null),n=o,i=X(o,"butLoading"),T=A,e=g({taskId:"",comment:""}),b=n.renderDialog,k=(t,a,r,x,p,J)=>{if(!b){console.warn("[TaskOperation] 未注入 renderDialog,无法打开操作弹窗(请通过 props 传入 useDialogHooks 的 render)");return}b(t,a,r,x,p,J)},N=()=>{typeof n.onProcessDetail=="function"&&n.onProcessDetail(e.value)},I=Y(()=>e.value?.operations==="assignee"),D=g(""),R=g([{source:"edit"}]),U=async()=>{await ie(g(e.value),R)},c=async t=>{if(t&&(D.value=t),!e.value)return;let a=!1;if(t==="complete"&&n.params?.beforeCompleteFunction)try{const r=await n.params?.beforeCompleteFunction({taskId:e.value.taskId,userId:y().getUserInfo.userCode,comment:"同意。",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey});if(r===!1)return;r?.readonly&&(a=!0),e.value={...e.value,...r}}catch{return}if(t==="addMulti"||t==="minusMulti")k(re,{taskId:e.value.taskId,dialogType:t,renderDialog:k},{title:t==="addMulti"?"加签":"减签",size:"400px"},"dialog");else if(t==="assignee")O(e.value.taskId);else{if(e.value.variables,t==="complete"&&e.value.firstSubmitNode&&n.params?.ignoreConfirm){await V();return}k(ne,{taskVo:e.value,dialogType:t,taskOperate:n?.params,commentReadonly:a,renderDialog:k,onOpenAssignee:O,onSuccess:z},{title:K(t),size:"480px",closeOnClickModal:!1},"dialog")}},K=t=>{switch(t){case"complete":return"流程审批";case"refuse":return"终止审批";case"back":return"驳回审批";case"transfer":return"转办审批";default:return"流程审批"}},V=async()=>{if(!(!e.value||!y().getUserInfo.userCode))try{i.value=!0;const t={taskId:e.value.taskId,userId:y().getUserInfo.userCode,comment:e.value.comment??"",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey,variables:e.value.variables};if(n.params?.completeFunction){const a=await n.params?.completeFunction(t);a&&a?.taskId?e.value=a:e.value=await w.getTaskInst(e.value.taskId)}else e.value=await w.taskComplete(t)}catch(t){q.messageError(t)}finally{i.value=!1}},j=()=>{n.params?.workflowComplete(),T("success")},O=t=>{k(oe,{taskId:t,onSuccess:j},{title:"指定执行人",size:"450px"},"dialog")},z=t=>{e.value=t,n.params?.workflowComplete(t,D.value),L.emit("todoRefresh"),L.emit("homePageRefresh"),T("success")},M=(t,a)=>t?t.classList?.contains(a)?t:M(t.parentElement,a):null,W=()=>{const t=M(B.value,"todo-dialog-class");return t?console.log("找到满足条件的元素:",t):console.log("未找到满足条件的元素"),t};Z(()=>{W(),C()});const l=g(!1),H=async()=>{l.value=!0},G=()=>{l.value=!1},C=async()=>{if(n.taskInfo)e.value=n.taskInfo,e.value.finishTime&&console.log("该待办已完成!");else if(n.taskId)try{H(),e.value=await w.getTaskInst(n.taskId),e.value.finishTime&&console.log("该待办已完成!")}catch(t){q.messageError(t)}finally{G()}};return h({reload:()=>{C()}}),_(()=>n.taskId,C),(t,a)=>{const r=F("el-button"),x=F("el-flex");return s(),S("div",{ref_key:"taskFlexRef",ref:B,class:"task-operation"},[ee(x,{align:"center",justify:"flex-end"},{default:u(()=>[$(t.$slots,"left",{},void 0,!0),o.params?.cancelBtnText!==""?(s(),m(r,{key:0,loading:i.value||l.value,onClick:o.params?.cancelFunction},{default:u(()=>[f(v(o.params?.cancelBtnText??"取消"),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),o.showProcessBtn&&e.value?.procInsId?(s(),m(r,{key:1,type:"info",loading:i.value||l.value,onClick:N},{default:u(()=>[...a[7]||(a[7]=[f(" 流程信息 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&o.showCurWorkBth&&!o.showOperationsBtn?(s(),m(r,{key:2,loading:i.value||l.value,type:"warning",disabled:e.value?.taskId&&(!e.value?.operations||te(E).getUserInfo.userCode!==e.value?.assigneeId),onClick:U},{default:u(()=>[f(v(e.value.taskName),1)]),_:1},8,["loading","disabled"])):d("v-if",!0),I.value?(s(),m(r,{key:3,type:"primary",loading:i.value||l.value,onClick:a[0]||(a[0]=p=>c("assignee"))},{default:u(()=>[...a[8]||(a[8]=[f("指定执行人 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&e.value?.operations&&o.showOperationsBtn?(s(),S(ae,{key:4},[o.params?.saveBtnText?(s(),m(r,{key:0,loading:i.value||l.value,type:"primary",onClick:o.params?.saveFunction},{default:u(()=>[f(v(o.params?.saveBtnText),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),e.value?.operations.indexOf("addMulti")>-1?(s(),m(r,{key:1,type:"warning",loading:i.value||l.value,onClick:a[1]||(a[1]=p=>c("addMulti"))},{default:u(()=>[...a[9]||(a[9]=[f("加签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("minusMulti")>-1?(s(),m(r,{key:2,type:"danger",loading:i.value||l.value,onClick:a[2]||(a[2]=p=>c("minusMulti"))},{default:u(()=>[...a[10]||(a[10]=[f("减签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("refuse")>-1&&o.params?.refuseBtnText!==""?(s(),m(r,{key:3,loading:i.value||l.value,type:"danger",onClick:a[3]||(a[3]=p=>c("refuse"))},{default:u(()=>[f(v(o.params?.refuseBtnText??"终止"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("transfer")>-1&&o.params?.transferBtnText!==""?(s(),m(r,{key:4,loading:i.value||l.value,type:"warning",onClick:a[4]||(a[4]=p=>c("transfer"))},{default:u(()=>[f(v(o.params?.transferBtnText??"转办"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("back")>-1&&o.params?.backBtnText!==""?(s(),m(r,{key:5,loading:i.value||l.value,type:"danger",onClick:a[5]||(a[5]=p=>c("back"))},{default:u(()=>[f(v(o.params?.backBtnText??"驳回"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("complete")>-1&&o.params?.completeBtnText!==""?(s(),m(r,{key:6,loading:i.value||l.value,type:"primary",onClick:a[6]||(a[6]=p=>c("complete"))},{default:u(()=>[f(v(o.params?.completeBtnText??"同意"),1)]),_:1},8,["loading"])):d("v-if",!0)],64)):d("v-if",!0),$(t.$slots,"right",{},void 0,!0)]),_:3})],512)}}}),mt=le(se,[["__scopeId","data-v-d4567dcf"]]);export{mt as default};
1
+ import{defineComponent as Q,ref as g,useModel as X,computed as Y,onMounted as Z,watch as _,resolveComponent as F,openBlock as s,createElementBlock as $,createVNode as ee,withCtx as u,renderSlot as P,createBlock as m,createTextVNode as f,toDisplayString as v,createCommentVNode as d,unref as te,Fragment as ae,mergeModels as q}from"vue";import w from"../../api/workflow/workflowInstApi.js";import oe from"./components/SelectAssigneeDialog.vue.js";import{_ as re}from"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-SYw6MXOl.js";import ne from"./components/CheckDialog.vue.js";import L from"../../utils/FrameworkUtils.js";import{userInfoStore as y}from"../../stores/userInfoStore.js";import{frontendBus as h}from"../../utils/frontendBus.js";import{showTodoDialog as ie}from"../../hooks/workflowTodo.js";import{_ as le}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"element-plus";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.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"xlsx-js-style";import"../../api/SysUserApi.js";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../upload/CustomElUpload.vue.js";import"@element-plus/icons-vue";import"../../hooks/useFileView.js";import"../../api/DocumentApi.js";import"../../hooks/useDeleteConfirmHooks.js";import"../../hooks/useBehaviorAction.js";import"../../utils/uploadAccept.js";import"../../utils/buildUploadHeaders.js";import"pinia";import"../../utils/userSessionStorage.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 se=Q({__name:"TaskOperation",props:q({taskId:{type:String,required:!1},showProcessBtn:{type:Boolean,required:!1,default:!1},params:{type:Object,required:!1},taskInfo:{type:Object,required:!1},showOperationsBtn:{type:Boolean,required:!1,default:!0},showCurWorkBth:{type:Boolean,required:!1,default:!0},onProcessDetail:{type:Function,required:!1},renderDialog:{type:Function,required:!1}},{butLoading:{type:Boolean,default:!1},butLoadingModifiers:{}}),emits:q(["success"],["update:butLoading"]),setup(o,{expose:A,emit:E}){const N=y(),B=g(null),n=o,i=X(o,"butLoading"),T=E,e=g({taskId:"",comment:""}),b=n.renderDialog,k=(t,a,r,x,p,J)=>{if(!b){console.warn("[TaskOperation] 未注入 renderDialog,无法打开操作弹窗(请通过 props 传入 useDialogHooks 的 render)");return}b(t,a,r,x,p,J)},R=()=>{typeof n.onProcessDetail=="function"&&n.onProcessDetail(e.value)},I=Y(()=>e.value?.operations==="assignee"),D=g(""),U=g([{source:"edit"}]),K=async()=>{await ie(g(e.value),U)},c=async t=>{if(t&&(D.value=t),!e.value)return;let a=!1;if(t==="complete"&&n.params?.beforeCompleteFunction)try{const r=await n.params?.beforeCompleteFunction({taskId:e.value.taskId,userId:y().getUserInfo.userCode,comment:"同意。",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey});if(r===!1)return;r?.readonly&&(a=!0),e.value={...e.value,...r}}catch{return}if(t==="addMulti"||t==="minusMulti")k(re,{taskId:e.value.taskId,dialogType:t,renderDialog:k,onSuccess:M},{title:t==="addMulti"?"加签":"减签",size:"400px"},"dialog");else if(t==="assignee")O(e.value.taskId);else{if(e.value.variables,t==="complete"&&e.value.firstSubmitNode&&n.params?.ignoreConfirm){await j();return}k(ne,{taskVo:e.value,dialogType:t,taskOperate:n?.params,commentReadonly:a,renderDialog:k,onOpenAssignee:O,onSuccess:M},{title:V(t),size:"480px",closeOnClickModal:!1},"dialog")}},V=t=>{switch(t){case"complete":return"流程审批";case"refuse":return"终止审批";case"back":return"驳回审批";case"transfer":return"转办审批";default:return"流程审批"}},j=async()=>{if(!(!e.value||!y().getUserInfo.userCode))try{i.value=!0;const t={taskId:e.value.taskId,userId:y().getUserInfo.userCode,comment:e.value.comment??"",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey,variables:e.value.variables};if(n.params?.completeFunction){const a=await n.params?.completeFunction(t);a&&a?.taskId?e.value=a:e.value=await w.getTaskInst(e.value.taskId)}else e.value=await w.taskComplete(t)}catch(t){L.messageError(t)}finally{i.value=!1}},z=()=>{n.params?.workflowComplete(),T("success")},O=t=>{k(oe,{taskId:t,onSuccess:z},{title:"指定执行人",size:"450px"},"dialog")},M=t=>{t&&(e.value=t),n.params?.workflowComplete(e.value,D.value),h.emit("todoRefresh"),h.emit("homePageRefresh"),T("success")},S=(t,a)=>t?t.classList?.contains(a)?t:S(t.parentElement,a):null,W=()=>{const t=S(B.value,"todo-dialog-class");return t?console.log("找到满足条件的元素:",t):console.log("未找到满足条件的元素"),t};Z(()=>{W(),C()});const l=g(!1),H=async()=>{l.value=!0},G=()=>{l.value=!1},C=async()=>{if(n.taskInfo)e.value=n.taskInfo,e.value.finishTime&&console.log("该待办已完成!");else if(n.taskId)try{H(),e.value=await w.getTaskInst(n.taskId),e.value.finishTime&&console.log("该待办已完成!")}catch(t){L.messageError(t)}finally{G()}};return A({reload:()=>{C()}}),_(()=>n.taskId,C),(t,a)=>{const r=F("el-button"),x=F("el-flex");return s(),$("div",{ref_key:"taskFlexRef",ref:B,class:"task-operation"},[ee(x,{align:"center",justify:"flex-end"},{default:u(()=>[P(t.$slots,"left",{},void 0,!0),o.params?.cancelBtnText!==""?(s(),m(r,{key:0,loading:i.value||l.value,onClick:o.params?.cancelFunction},{default:u(()=>[f(v(o.params?.cancelBtnText??"取消"),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),o.showProcessBtn&&e.value?.procInsId?(s(),m(r,{key:1,type:"info",loading:i.value||l.value,onClick:R},{default:u(()=>[...a[7]||(a[7]=[f(" 流程信息 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&o.showCurWorkBth&&!o.showOperationsBtn?(s(),m(r,{key:2,loading:i.value||l.value,type:"warning",disabled:e.value?.taskId&&(!e.value?.operations||te(N).getUserInfo.userCode!==e.value?.assigneeId),onClick:K},{default:u(()=>[f(v(e.value.taskName),1)]),_:1},8,["loading","disabled"])):d("v-if",!0),I.value?(s(),m(r,{key:3,type:"primary",loading:i.value||l.value,onClick:a[0]||(a[0]=p=>c("assignee"))},{default:u(()=>[...a[8]||(a[8]=[f("指定执行人 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&e.value?.operations&&o.showOperationsBtn?(s(),$(ae,{key:4},[o.params?.saveBtnText?(s(),m(r,{key:0,loading:i.value||l.value,type:"primary",onClick:o.params?.saveFunction},{default:u(()=>[f(v(o.params?.saveBtnText),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),e.value?.operations.indexOf("addMulti")>-1?(s(),m(r,{key:1,type:"warning",loading:i.value||l.value,onClick:a[1]||(a[1]=p=>c("addMulti"))},{default:u(()=>[...a[9]||(a[9]=[f("加签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("minusMulti")>-1?(s(),m(r,{key:2,type:"danger",loading:i.value||l.value,onClick:a[2]||(a[2]=p=>c("minusMulti"))},{default:u(()=>[...a[10]||(a[10]=[f("减签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("refuse")>-1&&o.params?.refuseBtnText!==""?(s(),m(r,{key:3,loading:i.value||l.value,type:"danger",onClick:a[3]||(a[3]=p=>c("refuse"))},{default:u(()=>[f(v(o.params?.refuseBtnText??"终止"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("transfer")>-1&&o.params?.transferBtnText!==""?(s(),m(r,{key:4,loading:i.value||l.value,type:"warning",onClick:a[4]||(a[4]=p=>c("transfer"))},{default:u(()=>[f(v(o.params?.transferBtnText??"转办"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("back")>-1&&o.params?.backBtnText!==""?(s(),m(r,{key:5,loading:i.value||l.value,type:"danger",onClick:a[5]||(a[5]=p=>c("back"))},{default:u(()=>[f(v(o.params?.backBtnText??"驳回"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("complete")>-1&&o.params?.completeBtnText!==""?(s(),m(r,{key:6,loading:i.value||l.value,type:"primary",onClick:a[6]||(a[6]=p=>c("complete"))},{default:u(()=>[f(v(o.params?.completeBtnText??"同意"),1)]),_:1},8,["loading"])):d("v-if",!0)],64)):d("v-if",!0),P(t.$slots,"right",{},void 0,!0)]),_:3})],512)}}}),mt=le(se,[["__scopeId","data-v-0894ba02"]]);export{mt as default};
@@ -1,7 +1,7 @@
1
- import{defineComponent as ge,useModel as Ie,ref as A,computed as y,resolveComponent as h,resolveDirective as Te,openBlock as a,createElementBlock as r,createCommentVNode as d,withDirectives as xe,createVNode as D,createElementVNode as i,createBlock as x,Fragment as u,renderList as C,normalizeClass as H,toDisplayString as p,renderSlot as Ce,resolveDynamicComponent as be,mergeProps as Ne,withCtx as K,normalizeStyle as De,createTextVNode as b,unref as J,mergeModels as X,nextTick as Ae}from"vue";import V from"../../api/workflow/workflowInstApi.js";import Ke from"../../api/DocumentApi.js";import Be from"../../hooks/useFileView.js";import Ee from"../../utils/FrameworkUtils.js";import{formatDateTime as Le}from"../../utils/dateTime.js";import{userInfoStore as Me}from"../../stores/userInfoStore.js";import Se from"./TaskOperation.vue.js";import{_ as Pe}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";import"./components/SelectAssigneeDialog.vue.js";import"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-SYw6MXOl.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/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 $e={class:"workflow-todo-shell"},Ve={class:"workflow-todo-shell__body dialog-content-fill"},je={key:1,class:"wf-progress-scroll"},Fe={class:"wf-progress-steps"},Oe={class:"wf-progress-step__icon-wrap"},Ue={class:"wf-progress-step__icon"},ze={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},Re={key:4},Qe={class:"wf-progress-step__name"},Ge={class:"wf-progress-step__name-text"},We={class:"wf-progress-step__name-label"},Ye={key:0,class:"wf-progress-step__occurrence"},qe={key:0,class:"workflow-todo-shell__record-occurrence"},He={key:1,class:"workflow-todo-shell__record-type"},Je={key:0,class:"workflow-todo-shell__record-user"},Xe={class:"workflow-todo-shell__record-person__name"},Ze={key:0,class:"workflow-todo-shell__comment"},et={key:0,class:"workflow-todo-shell__record-files"},tt=["onClick"],st={class:"workflow-todo-shell__record-person__name"},ot={key:0,class:"workflow-todo-shell__comment"},nt={key:1,class:"workflow-todo-shell__record-files"},at=["onClick"],rt={class:"workflow-todo-shell__record-person__name"},lt={key:0,class:"workflow-todo-shell__footer"},it=ge({__name:"WorkflowTodoShell",props:X({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:X(["cancel","success"],["update:loading"]),setup(w,{expose:Z,emit:ee}){const m=w,B=ee,g=Ie(w,"loading"),v=A(),f=A(),E=A(),L=A(!1),te=e=>[...e].sort((t,o)=>(t.createTime||"").localeCompare(o.createTime||"")),j=y(()=>te([...f.value?.hisTasks||[],...f.value?.activeTasks||[]])),M=A({}),F=Be().fileView,O=e=>{const t=(e.split(".").pop()||"").toLowerCase();return".jpg,.jpeg,.png,.gif,.bmp".includes(t)?"adtec-image":t==="pdf"?"adtec-pdf":t==="doc"||t==="docx"?"adtec-word":t==="xls"||t==="xlsx"?"adtec-excel":t==="ppt"||t==="pptx"?"adtec-ppt":"adtec-text"},N=e=>e?M.value[e]||[]:[],se=async()=>{var t;const e=Array.from(new Set(j.value.map(o=>o.taskId).filter(o=>!!o)));if(e.length)try{const o=await Ke.getUpLoadFilesByBussinessIds(e),n={};for(const l of o)l.businessId&&(n[t=l.businessId]||(n[t]=[])).push(l);M.value=n}catch{M.value={}}},S=y(()=>{const e=new Map;for(const t of j.value){const o=Y(t),n=e.get(o);n?n.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())}),oe=y(()=>v.value?.procEndTime?!0:!!(f.value&&!(f.value.activeTasks||[]).length&&(f.value.hisTasks||[]).length)),ne=y(()=>{const e=[...S.value],t=new Set(e.map(n=>U(n)));for(const n of f.value?.futureTasks||[]){const l=`${n.taskDefKey||n.taskName}-`;t.has(l)||e.push({taskName:n.taskName,taskDefKey:n.taskDefKey,tasks:[],assigneeNames:n.assigneeNames,approvalType:n.approvalType})}const o=new Map;for(const n of e){const l=n.taskDefKey||n.taskName||"";l&&(n.occurrence=(o.get(l)||0)+1,o.set(l,n.occurrence))}return e}),U=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,ae={single:"或签",joint:"会签",all:"会签"},z=e=>ae[e.approvalType||e.tasks[0]?.approvalType||""]||"",re=e=>(e.approvalType||e.tasks[0]?.approvalType||"")==="single",R=e=>{const t=(e.assigneeNames||"").split(",").map(o=>o.trim()).filter(Boolean);return t.length?t:["待处理"]},le={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"}},ie=e=>Le(e.finishTime||e.createTime),ce={success:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",primary:"var(--el-color-primary)"},de=e=>ce[e]||"",I=e=>{if(!e.tasks.length)return{label:"等待",type:"info",hollow:!1};const t=e.tasks;if(t.some(l=>!l.finishTime))return{label:"进行中",type:"primary",hollow:!1};let o="已办",n="success";if(t.some(l=>l.taskLocalVars?.firstTask))o="提交";else{const l=[...t].sort((k,$)=>($.finishTime||"").localeCompare(k.finishTime||""))[0]?.commentList?.[0],T=le[l?.type||""];o=T?.label||"已办",n=T?.type||"success"}return{label:o,type:n,hollow:!1}},Q=e=>{const t=e.assigneeName||e.startUserName||"待处理";return e.finishTime?`${t} · ${ie(e)}`:t},pe=e=>e.tasks.length?e.tasks.map(Q).join(" / "):R(e).join(" / "),P=e=>e.tasks.map(t=>t.comment).filter(Boolean).join(" / "),G=y(()=>{const e=new Map,t=[];for(const o of S.value){const n=o.taskDefKey||o.taskName||"";if(!n)continue;const l=o.tasks.some(k=>!k.finishTime)?"process":I(o).type,T=e.get(n);if(T!==void 0){const k=t[T];k.occurrence=(k.occurrence||1)+1,k.parentExecutionId=o.parentExecutionId,k.status=l;continue}e.set(n,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,parentExecutionId:o.parentExecutionId,status:l,occurrence:1})}for(const o of f.value?.futureTasks||[]){const n=o.taskDefKey||o.taskName||"";if(!n)continue;const l=e.get(n);if(l!==void 0){t[l].status="wait";continue}e.set(n,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,status:"wait"})}return t.push({taskName:"结束",taskDefKey:"__end__",status:oe.value?"success":"wait"}),t}),W=e=>{const t=Me().getUserInfo.userCode;return!t||!e?!1:!!(e.assigneeId===t||e.candidate&&e.candidate.split(",").map(n=>n.trim()).filter(Boolean).includes(t))},ue=y(()=>W(v.value)?!0:(f.value?.activeTasks||[]).some(e=>W(e))),me=y(()=>m.readonly||!!v.value?.finishTime||!!v.value?.procEndTime||L.value&&!(f.value?.activeTasks||[]).length||!ue.value),fe=y(()=>E.value?.taskOption),ke=y(()=>{const e=fe.value;return{...e||{},cancelFunction:(...t)=>{e?.cancelFunction?.(...t),B("cancel")},workflowComplete:(...t)=>{e?.workflowComplete?.(...t)}}}),Y=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,q=async(e,t=!1)=>{const o=m.taskInfo&&m.taskInfo.procInsId==null&&m.taskInfo.processInstanceId!=null?{...m.taskInfo,procInsId:m.taskInfo.processInstanceId}:m.taskInfo;if(!(!m.taskId&&!o?.procInsId))try{g.value=!0,L.value=!1,v.value=e?{...v.value,...e}:t&&m.taskId?await V.getTaskInst(m.taskId):o||await V.getTaskInst(m.taskId),v.value?.procInsId&&(f.value=await V.getProcessTaskList(v.value.procInsId)),L.value=!0,await se(),await Ae(),await E.value?.resetQuery?.()}catch(n){Ee.messageError(n)}finally{g.value=!1}},ve=async e=>{B("success",e),await q(e,!0)};return Z({resetQuery:async()=>{await q()}}),(e,t)=>{const o=h("el-title"),n=h("el-empty"),l=h("el-tag-display"),T=h("el-flex"),k=h("el-icons"),$=h("el-timeline-item"),_e=h("el-timeline"),ye=h("el-button"),we=Te("loading");return a(),r("div",$e,[d(`
1
+ import{defineComponent as Ie,useModel as Te,ref as E,computed as y,resolveComponent as h,resolveDirective as xe,openBlock as n,createElementBlock as r,createCommentVNode as d,withDirectives as be,createVNode as D,createElementVNode as i,createBlock as x,Fragment as p,renderList as b,normalizeClass as J,toDisplayString as u,renderSlot as Ce,resolveDynamicComponent as Ne,mergeProps as De,withCtx as K,normalizeStyle as Ee,createTextVNode as C,unref as X,mergeModels as Z,nextTick as Ke}from"vue";import V from"../../api/workflow/workflowInstApi.js";import Ae from"../../api/DocumentApi.js";import Be from"../../hooks/useFileView.js";import Le from"../../utils/FrameworkUtils.js";import{formatDateTime as Me}from"../../utils/dateTime.js";import{userInfoStore as Se}from"../../stores/userInfoStore.js";import Pe from"./TaskOperation.vue.js";import{_ as $e}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";import"./components/SelectAssigneeDialog.vue.js";import"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-SYw6MXOl.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/workflowTodo.js";import"../../hooks/usePermissionHooks.js";import"vue-router";import"../../stores/permissionStore.js";import"../../utils/operationAuth.js";import"../../utils/routeMetaParams.js";import"../../hooks/useOpenNewMenu.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const Ve={class:"workflow-todo-shell"},je={class:"workflow-todo-shell__body dialog-content-fill"},Fe={key:1,class:"wf-progress-scroll"},Oe={class:"wf-progress-steps"},Ue={class:"wf-progress-step__icon-wrap"},ze={class:"wf-progress-step__icon"},Re={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},Qe={key:4},Ge={class:"wf-progress-step__name"},We={class:"wf-progress-step__name-text"},Ye={class:"wf-progress-step__name-label"},qe={key:0,class:"wf-progress-step__occurrence"},He={key:0,class:"workflow-todo-shell__record-occurrence"},Je={key:1,class:"workflow-todo-shell__record-type"},Xe={key:0,class:"workflow-todo-shell__record-user"},Ze={class:"workflow-todo-shell__record-person__name"},et={key:0,class:"workflow-todo-shell__comment"},tt={key:0,class:"workflow-todo-shell__record-files"},st=["onClick"],ot={class:"workflow-todo-shell__record-person__name"},nt={key:0,class:"workflow-todo-shell__comment"},at={key:1,class:"workflow-todo-shell__record-files"},rt=["onClick"],lt={class:"workflow-todo-shell__record-person__name"},it={key:0,class:"workflow-todo-shell__footer"},ee="__end__",ct=Ie({__name:"WorkflowTodoShell",props:Z({taskId:{},taskInfo:{default:void 0},readonly:{type:Boolean,default:!1},contentComponent:{default:void 0},contentProps:{default:()=>({})},renderDialog:{type:Function,default:void 0},showFooter:{type:Boolean,default:!0}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:Z(["cancel","success"],["update:loading"]),setup(w,{expose:te,emit:se}){const f=w,A=se,g=Te(w,"loading"),v=E(),m=E(),B=E(),L=E(!1),oe=e=>[...e].sort((t,o)=>(t.createTime||"").localeCompare(o.createTime||"")),j=y(()=>oe([...m.value?.hisTasks||[],...m.value?.activeTasks||[]])),M=E({}),F=Be().fileView,O=e=>{const t=(e.split(".").pop()||"").toLowerCase();return".jpg,.jpeg,.png,.gif,.bmp".includes(t)?"adtec-image":t==="pdf"?"adtec-pdf":t==="doc"||t==="docx"?"adtec-word":t==="xls"||t==="xlsx"?"adtec-excel":t==="ppt"||t==="pptx"?"adtec-ppt":"adtec-text"},N=e=>e?M.value[e]||[]:[],ne=async()=>{var t;const e=Array.from(new Set(j.value.map(o=>o.taskId).filter(o=>!!o)));if(e.length)try{const o=await Ae.getUpLoadFilesByBussinessIds(e),a={};for(const l of o)l.businessId&&(a[t=l.businessId]||(a[t]=[])).push(l);M.value=a}catch{M.value={}}},S=y(()=>{const e=new Map;for(const t of j.value){const o=q(t),a=e.get(o);a?a.tasks.push(t):e.set(o,{taskName:t.taskName,taskDefKey:t.taskDefKey,parentExecutionId:t.parentExecutionId,tasks:[t],approvalType:t.approvalType})}return Array.from(e.values())}),U=y(()=>v.value?.procEndTime?!0:!!(m.value&&!(m.value.activeTasks||[]).length&&(m.value.hisTasks||[]).length)),ae=y(()=>{const e=[...S.value],t=new Set(e.map(a=>z(a)));for(const a of m.value?.futureTasks||[]){const l=`${a.taskDefKey||a.taskName}-`;t.has(l)||e.push({taskName:a.taskName,taskDefKey:a.taskDefKey,tasks:[],assigneeNames:a.assigneeNames,approvalType:a.approvalType})}e.push({taskName:"结束",taskDefKey:ee,tasks:[],isEnd:!0});const o=new Map;for(const a of e){const l=a.taskDefKey||a.taskName||"";l&&(a.occurrence=(o.get(l)||0)+1,o.set(l,a.occurrence))}return e}),z=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,re={single:"或签",joint:"会签",all:"会签"},R=e=>re[e.approvalType||e.tasks[0]?.approvalType||""]||"",le=e=>(e.approvalType||e.tasks[0]?.approvalType||"")==="single",Q=e=>{const t=(e.assigneeNames||"").split(",").map(o=>o.trim()).filter(Boolean);return t.length?t:["待处理"]},ie={1:{label:"同意",type:"success"},2:{label:"驳回",type:"warning"},3:{label:"终止",type:"danger"},4:{label:"委派",type:"warning"},5:{label:"转办",type:"warning"},6:{label:"终止",type:"danger"},7:{label:"撤回",type:"info"}},ce=e=>Me(e.finishTime||e.createTime),de={success:"var(--el-color-success)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",primary:"var(--el-color-primary)"},pe=e=>de[e]||"",I=e=>{if(e.isEnd)return U.value?{label:"已结束",type:"success",hollow:!1}:{label:"等待",type:"info",hollow:!1};if(!e.tasks.length)return{label:"等待",type:"info",hollow:!1};const t=e.tasks;if(t.some(l=>!l.finishTime))return{label:"进行中",type:"primary",hollow:!1};let o="已办",a="success";if(t.some(l=>l.taskLocalVars?.firstTask))o="提交";else{const l=[...t].sort((k,$)=>($.finishTime||"").localeCompare(k.finishTime||""))[0]?.commentList?.[0],T=ie[l?.type||""];o=T?.label||"已办",a=T?.type||"success"}return{label:o,type:a,hollow:!1}},G=e=>{const t=e.assigneeName||e.startUserName||"待处理";return e.finishTime?`${t} · ${ce(e)}`:t},ue=e=>e.tasks.length?e.tasks.map(G).join(" / "):Q(e).join(" / "),P=e=>e.tasks.map(t=>t.comment).filter(Boolean).join(" / "),W=y(()=>{const e=new Map,t=[];for(const o of S.value){const a=o.taskDefKey||o.taskName||"";if(!a)continue;const l=o.tasks.some(k=>!k.finishTime)?"process":I(o).type,T=e.get(a);if(T!==void 0){const k=t[T];k.occurrence=(k.occurrence||1)+1,k.parentExecutionId=o.parentExecutionId,k.status=l;continue}e.set(a,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,parentExecutionId:o.parentExecutionId,status:l,occurrence:1})}for(const o of m.value?.futureTasks||[]){const a=o.taskDefKey||o.taskName||"";if(!a)continue;const l=e.get(a);if(l!==void 0){t[l].status="wait";continue}e.set(a,t.length),t.push({taskName:o.taskName,taskDefKey:o.taskDefKey,status:"wait"})}return t.push({taskName:"结束",taskDefKey:ee,status:U.value?"success":"wait"}),t}),Y=e=>{const t=Se().getUserInfo.userCode;return!t||!e?!1:!!(e.assigneeId===t||e.candidate&&e.candidate.split(",").map(a=>a.trim()).filter(Boolean).includes(t))},fe=y(()=>Y(v.value)?!0:(m.value?.activeTasks||[]).some(e=>Y(e))),me=y(()=>f.readonly||!!v.value?.finishTime||!!v.value?.procEndTime||L.value&&!(m.value?.activeTasks||[]).length||!fe.value),ke=y(()=>B.value?.taskOption),ve=y(()=>{const e=ke.value;return{...e||{},cancelFunction:(...t)=>{e?.cancelFunction?.(...t),A("cancel")},workflowComplete:(...t)=>{e?.workflowComplete?.(...t)}}}),q=e=>`${e.taskDefKey||e.taskName}-${e.parentExecutionId||""}`,H=async(e,t=!1)=>{const o=f.taskInfo&&f.taskInfo.procInsId==null&&f.taskInfo.processInstanceId!=null?{...f.taskInfo,procInsId:f.taskInfo.processInstanceId}:f.taskInfo;if(!(!f.taskId&&!o?.procInsId))try{g.value=!0,L.value=!1,v.value=e?{...v.value,...e}:t&&f.taskId?await V.getTaskInst(f.taskId):o||await V.getTaskInst(f.taskId),v.value?.procInsId&&(m.value=await V.getProcessTaskList(v.value.procInsId)),L.value=!0,await ne(),await Ke(),await B.value?.resetQuery?.()}catch(a){Le.messageError(a)}finally{g.value=!1}},_e=async e=>{A("success",e),await H(e,!0)};return te({resetQuery:async()=>{await H()}}),(e,t)=>{const o=h("el-title"),a=h("el-empty"),l=h("el-tag-display"),T=h("el-flex"),k=h("el-icons"),$=h("el-timeline-item"),ye=h("el-timeline"),we=h("el-button"),he=xe("loading");return n(),r("div",Ve,[d(`
2
2
  内容区撑满剩余空间统一使用 dialog-content-fill(flex/height 由核心工具类提供),
3
3
  滚动仅保留在本内容区,底部操作栏固定不随内容滚动。
4
- `),xe((a(),r("div",Ve,[D(o,{level:"1",title:"流程进度",style:{"border-bottom":"var(--border)"}}),i("div",null,[G.value.length?(a(),r("div",je,[i("div",Fe,[(a(!0),r(u,null,C(G.value,(s,c)=>(a(),r("div",{key:Y(s),class:H(["wf-progress-step",{done:s.status==="success",current:s.status==="process",rejected:s.status==="warning",stopped:s.status==="error"||s.status==="danger"}])},[i("div",Oe,[i("div",Ue,[d(" 同意/提交:对勾 "),s.status==="success"?(a(),r("svg",ze,[...t[3]||(t[3]=[i("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):s.status==="warning"?(a(),r(u,{key:1},[d(" 驳回:回退箭头 "),t[4]||(t[4]=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)):s.status==="danger"||s.status==="error"?(a(),r(u,{key:2},[d(" 终止:叉 "),t[5]||(t[5]=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)):s.status==="info"?(a(),r(u,{key:3},[d(" 撤回:撤销箭头 "),t[6]||(t[6]=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)):(a(),r("span",Re,p(c+1),1))])]),i("div",Qe,[i("span",Ge,[i("span",We,p(s.taskName||"未命名节点"),1),s.occurrence&&s.occurrence>1?(a(),r("sup",Ye,p(s.occurrence),1)):d("v-if",!0)])])],2))),128))])])):(a(),x(n,{key:0,description:"暂无流程进度","image-size":48}))]),d(`
4
+ `),be((n(),r("div",je,[D(o,{level:"1",title:"流程进度",style:{"border-bottom":"var(--border)"}}),i("div",null,[W.value.length?(n(),r("div",Fe,[i("div",Oe,[(n(!0),r(p,null,b(W.value,(s,c)=>(n(),r("div",{key:q(s),class:J(["wf-progress-step",{done:s.status==="success",current:s.status==="process",rejected:s.status==="warning",stopped:s.status==="error"||s.status==="danger"}])},[i("div",Ue,[i("div",ze,[d(" 同意/提交:对勾 "),s.status==="success"?(n(),r("svg",Re,[...t[3]||(t[3]=[i("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):s.status==="warning"?(n(),r(p,{key:1},[d(" 驳回:回退箭头 "),t[4]||(t[4]=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)):s.status==="danger"||s.status==="error"?(n(),r(p,{key:2},[d(" 终止:叉 "),t[5]||(t[5]=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)):s.status==="info"?(n(),r(p,{key:3},[d(" 撤回:撤销箭头 "),t[6]||(t[6]=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",Qe,u(c+1),1))])]),i("div",Ge,[i("span",We,[i("span",Ye,u(s.taskName||"未命名节点"),1),s.occurrence&&s.occurrence>1?(n(),r("sup",qe,u(s.occurrence),1)):d("v-if",!0)])])],2))),128))])])):(n(),x(a,{key:0,description:"暂无流程进度","image-size":48}))]),d(`
5
5
  业务审核内容:完全由业务内容组件/插槽决定(含它自己的标题、分区、网格),
6
6
  通用抽屉不再注入任何标题,业务页面给什么就展示什么。
7
- `),Ce(e.$slots,"content",{task:v.value,process:f.value},()=>[w.contentComponent?(a(),x(be(w.contentComponent),Ne({key:0,ref_key:"contentRef",ref:E},w.contentProps,{loading:g.value,"onUpdate:loading":t[0]||(t[0]=s=>g.value=s)}),null,16,["loading"])):d("v-if",!0)],!0),D(o,{level:"1",title:"审批记录",style:{"border-bottom":"var(--border)"}}),i("div",null,[S.value.length?(a(),x(_e,{key:1,class:"workflow-todo-shell__timeline"},{default:K(()=>[(a(!0),r(u,null,C(ne.value,s=>(a(),x($,{key:U(s),type:I(s).type,hollow:I(s).hollow,style:De({"--el-timeline-node-color":de(I(s).type)})},{default:K(()=>[D(T,{align:"center",justify:"space-between",class:H(["workflow-todo-shell__record-title",`is-${I(s).type}`])},{default:K(()=>[i("span",null,[b(p(s.taskName||"未命名节点")+" ",1),(s.occurrence||0)>1?(a(),r("span",qe,p(s.occurrence),1)):d("v-if",!0),z(s)?(a(),r("span",He,p(z(s)),1)):d("v-if",!0)]),D(l,{type:I(s).type,size:"small"},{default:K(()=>[b(p(I(s).label),1)]),_:2},1032,["type"])]),_:2},1032,["class"]),re(s)?(a(),r("div",Je,[i("span",Xe,p(pe(s)),1),P(s)||s.tasks.some(c=>N(c.taskId).length)?(a(),r("div",Ze,[P(s)?(a(),r(u,{key:0},[b(p(P(s)),1)],64)):d("v-if",!0),(a(!0),r(u,null,C(s.tasks,c=>(a(),r(u,{key:c.taskId},[N(c.taskId).length?(a(),r("div",et,[(a(!0),r(u,null,C(N(c.taskId),_=>(a(),r("span",{key:_.id,class:"workflow-todo-shell__record-file",onClick:he=>J(F)(_.id)},[D(k,{"model-value":O(_.name)},null,8,["model-value"]),b(p(_.name),1)],8,tt))),128))])):d("v-if",!0)],64))),128))])):d("v-if",!0)])):s.tasks.length?(a(!0),r(u,{key:1},C(s.tasks,c=>(a(),r("div",{key:c.taskId,class:"workflow-todo-shell__record-user"},[i("span",st,p(Q(c)),1),c.comment||N(c.taskId).length?(a(),r("div",ot,[c.comment?(a(),r(u,{key:0},[b(p(c.comment),1)],64)):d("v-if",!0),N(c.taskId).length?(a(),r("div",nt,[(a(!0),r(u,null,C(N(c.taskId),_=>(a(),r("span",{key:_.id,class:"workflow-todo-shell__record-file",onClick:he=>J(F)(_.id)},[D(k,{"model-value":O(_.name)},null,8,["model-value"]),b(p(_.name),1)],8,at))),128))])):d("v-if",!0)])):d("v-if",!0)]))),128)):(a(!0),r(u,{key:2},C(R(s),c=>(a(),r("div",{key:c,class:"workflow-todo-shell__record-user"},[i("span",rt,p(c),1)]))),128))]),_:2},1032,["type","hollow","style"]))),128))]),_:1})):(a(),x(n,{key:0,description:"暂无审批记录","image-size":48}))])])),[[we,g.value]]),w.showFooter?(a(),r("div",lt,[me.value?(a(),x(ye,{key:0,onClick:t[1]||(t[1]=s=>B("cancel"))},{default:K(()=>[...t[7]||(t[7]=[b("取消",-1)])]),_:1})):(a(),x(Se,{key:1,"task-id":w.taskId,params:ke.value,"render-dialog":w.renderDialog,"show-process-btn":!1,"but-loading":g.value,"onUpdate:butLoading":t[2]||(t[2]=s=>g.value=s),onSuccess:ve},null,8,["task-id","params","render-dialog","but-loading"]))])):d("v-if",!0)])}}}),us=Pe(it,[["__scopeId","data-v-dd40a8b4"]]);export{us as default};
7
+ `),Ce(e.$slots,"content",{task:v.value,process:m.value},()=>[w.contentComponent?(n(),x(Ne(w.contentComponent),De({key:0,ref_key:"contentRef",ref:B},w.contentProps,{loading:g.value,"onUpdate:loading":t[0]||(t[0]=s=>g.value=s)}),null,16,["loading"])):d("v-if",!0)],!0),D(o,{level:"1",title:"审批记录",style:{"border-bottom":"var(--border)"}}),i("div",null,[S.value.length?(n(),x(ye,{key:1,class:"workflow-todo-shell__timeline"},{default:K(()=>[(n(!0),r(p,null,b(ae.value,s=>(n(),x($,{key:z(s),type:I(s).type,hollow:I(s).hollow,style:Ee({"--el-timeline-node-color":pe(I(s).type)})},{default:K(()=>[D(T,{align:"center",justify:"space-between",class:J(["workflow-todo-shell__record-title",`is-${I(s).type}`])},{default:K(()=>[i("span",null,[C(u(s.taskName||"未命名节点")+" ",1),(s.occurrence||0)>1?(n(),r("span",He,u(s.occurrence),1)):d("v-if",!0),R(s)?(n(),r("span",Je,u(R(s)),1)):d("v-if",!0)]),D(l,{type:I(s).type,size:"small"},{default:K(()=>[C(u(I(s).label),1)]),_:2},1032,["type"])]),_:2},1032,["class"]),le(s)?(n(),r("div",Xe,[i("span",Ze,u(ue(s)),1),P(s)||s.tasks.some(c=>N(c.taskId).length)?(n(),r("div",et,[P(s)?(n(),r(p,{key:0},[C(u(P(s)),1)],64)):d("v-if",!0),(n(!0),r(p,null,b(s.tasks,c=>(n(),r(p,{key:c.taskId},[N(c.taskId).length?(n(),r("div",tt,[(n(!0),r(p,null,b(N(c.taskId),_=>(n(),r("span",{key:_.id,class:"workflow-todo-shell__record-file",onClick:ge=>X(F)(_.id)},[D(k,{"model-value":O(_.name)},null,8,["model-value"]),C(u(_.name),1)],8,st))),128))])):d("v-if",!0)],64))),128))])):d("v-if",!0)])):s.tasks.length?(n(!0),r(p,{key:1},b(s.tasks,c=>(n(),r("div",{key:c.taskId,class:"workflow-todo-shell__record-user"},[i("span",ot,u(G(c)),1),c.comment||N(c.taskId).length?(n(),r("div",nt,[c.comment?(n(),r(p,{key:0},[C(u(c.comment),1)],64)):d("v-if",!0),N(c.taskId).length?(n(),r("div",at,[(n(!0),r(p,null,b(N(c.taskId),_=>(n(),r("span",{key:_.id,class:"workflow-todo-shell__record-file",onClick:ge=>X(F)(_.id)},[D(k,{"model-value":O(_.name)},null,8,["model-value"]),C(u(_.name),1)],8,rt))),128))])):d("v-if",!0)])):d("v-if",!0)]))),128)):s.isEnd?d("v-if",!0):(n(),r(p,{key:2},[d(" 结束节点只有节点名与状态,不展示审签人 "),(n(!0),r(p,null,b(Q(s),c=>(n(),r("div",{key:c,class:"workflow-todo-shell__record-user"},[i("span",lt,u(c),1)]))),128))],64))]),_:2},1032,["type","hollow","style"]))),128))]),_:1})):(n(),x(a,{key:0,description:"暂无审批记录","image-size":48}))])])),[[he,g.value]]),w.showFooter?(n(),r("div",it,[me.value?(n(),x(we,{key:0,onClick:t[1]||(t[1]=s=>A("cancel"))},{default:K(()=>[...t[7]||(t[7]=[C("取消",-1)])]),_:1})):(n(),x(Pe,{key:1,"task-id":w.taskId,params:ve.value,"render-dialog":w.renderDialog,"show-process-btn":!1,"but-loading":g.value,"onUpdate:butLoading":t[2]||(t[2]=s=>g.value=s),onSuccess:_e},null,8,["task-id","params","render-dialog","but-loading"]))])):d("v-if",!0)])}}}),fs=$e(ct,[["__scopeId","data-v-5d6add4b"]]);export{fs as default};