adtec-hnyzfc-core-package 1.3.4 → 1.3.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.
Files changed (65) hide show
  1. package/dist/chunks/operationAuth.vue_vue_type_script_lang-EBAuSfVi.js +1 -0
  2. package/dist/src/api/BasicApi.js +1 -1
  3. package/dist/src/api/DeptInfoApi.js +1 -1
  4. package/dist/src/api/DocumentApi.js +1 -1
  5. package/dist/src/api/EmployeeInfoApi.js +1 -1
  6. package/dist/src/api/SysDictCacheApi.js +1 -1
  7. package/dist/src/api/SysUserApi.js +1 -1
  8. package/dist/src/api/framework.js +1 -1
  9. package/dist/src/api/workflow/workflowInstApi.js +1 -1
  10. package/dist/src/components/ElGridExportDialog/index.d.ts +2 -0
  11. package/dist/src/components/ElGridExportDialog/index.js +1 -0
  12. package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
  13. package/dist/src/components/RichTextEditor/RichTextEditor.vue.js +1 -1
  14. package/dist/src/components/RichTextEditor/richTextImageUpload.js +1 -1
  15. package/dist/src/components/SelectInDicators/SelectInDicators.vue.js +1 -1
  16. package/dist/src/components/SelectInDicators/api/DataIndicatorsApi.js +1 -1
  17. package/dist/src/components/business/comp.selectUser.vue.js +1 -1
  18. package/dist/src/components/business/comp.userForm.vue.js +1 -1
  19. package/dist/src/components/business/userSelect.vue.js +1 -1
  20. package/dist/src/components/business/userSelectContent.vue.js +1 -1
  21. package/dist/src/components/dict/DictDisplay.vue.js +1 -1
  22. package/dist/src/components/upload/CustomElUpload.vue.js +1 -1
  23. package/dist/src/components/upload/FileView.vue.js +1 -1
  24. package/dist/src/components/upload/FileViewComponents.vue.js +1 -1
  25. package/dist/src/components/upload/OfficePreview.vue.js +2 -2
  26. package/dist/src/components/workflow/TaskOperation.vue.js +1 -1
  27. package/dist/src/components/workflow/WorkflowTodoShell.vue.js +2 -2
  28. package/dist/src/components/workflow/components/AddOrMinusMultiDialog.vue.js +1 -1
  29. package/dist/src/components/workflow/components/CheckDialog.vue.js +1 -1
  30. package/dist/src/components/workflow/components/SelectAssigneeDialog.vue.js +1 -1
  31. package/dist/src/config/ElGridConfig.d.ts +7 -0
  32. package/dist/src/config/ElGridConfig.js +1 -0
  33. package/dist/src/config/elGridDragRule.d.ts +1 -0
  34. package/dist/src/config/elGridDragRule.js +1 -0
  35. package/dist/src/config/elGridSelectColumn.d.ts +1 -0
  36. package/dist/src/config/elGridSelectColumn.js +1 -0
  37. package/dist/src/hooks/createDialogHooks.d.ts +1 -0
  38. package/dist/src/hooks/createDialogHooks.js +2 -2
  39. package/dist/src/hooks/useBehaviorAction.js +1 -1
  40. package/dist/src/hooks/useDeleteConfirmHooks.js +1 -1
  41. package/dist/src/hooks/useDictHooks.js +1 -1
  42. package/dist/src/hooks/useOpenNewMenu.js +1 -1
  43. package/dist/src/hooks/usePermissionHooks.js +1 -1
  44. package/dist/src/hooks/workflowTodo.js +1 -1
  45. package/dist/src/interface/IElGrid.d.ts +11 -0
  46. package/dist/src/interface/IElGrid.js +1 -0
  47. package/dist/src/mixin/globalMixin.js +1 -1
  48. package/dist/src/packages/index.d.ts +2 -0
  49. package/dist/src/packages/index.js +1 -1
  50. package/dist/src/plugins/plugins.js +1 -1
  51. package/dist/src/plugins/renderDialog.js +1 -1
  52. package/dist/src/utils/AxiosConfig.js +1 -1
  53. package/dist/src/utils/behaviorContext.d.ts +2 -0
  54. package/dist/src/utils/behaviorContext.js +1 -1
  55. package/dist/src/utils/behaviorTrack.js +1 -1
  56. package/dist/src/utils/commonUtils.js +1 -1
  57. package/dist/src/utils/dateTime.d.ts +15 -0
  58. package/dist/src/utils/dateTime.js +1 -0
  59. package/dist/src/utils/modules.js +2 -2
  60. package/dist/src/utils/request.js +1 -1
  61. package/dist/styles/element-ui.css +1 -1
  62. package/package.json +18 -8
  63. package/dist/chunks/operationAuth.vue_vue_type_script_lang-C1wjWhH0.js +0 -1
  64. package/dist/src/directives/vTrack.d.ts +0 -10
  65. package/dist/src/directives/vTrack.js +0 -1
@@ -0,0 +1 @@
1
+ import{defineComponent as D,computed as t,isVNode as m,h as a,resolveComponent as S,resolveDynamicComponent as Z,cloneVNode as q}from"vue";import{useRoute as H}from"vue-router";import{userInfoStore as J}from"../src/stores/userInfoStore.js";import K from"../src/hooks/useBehaviorAction.js";const L={primary:"var(--el-color-primary)",success:"var(--el-color-success)",info:"var(--el-color-info)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",error:"var(--el-color-danger)"},j=D({name:"OperationAuth",props:{operCode:{type:[String,Array],required:!0},menuCode:String,noConfig:Boolean,loadType:String,icon:String,remark:String,alias:String,color:String},setup(n,{slots:u}){const N=H(),O=J(),{runBehaviorAction:I}=K(),T=t(()=>Array.isArray(n.operCode)?n.operCode:[n.operCode]),P=t(()=>n.menuCode?O.getUserInfo.menuList?.find(r=>r.code===n.menuCode)?.operation||[]:N.meta?.sysMenuData?.operation||[]),i=t(()=>P.value.find(e=>T.value.includes(e.code))),B=t(()=>!!i.value),_=t(()=>{const e=n.remark??i.value?.remark;if(!e)return{alias:"",color:""};try{const o=JSON.parse(e);return{alias:o?.aliases?.alias1||o?.aliases?.alias||"",color:o?.color||o?.icon?.color||o?.text?.color||""}}catch{return{alias:"",color:""}}}),c=t(()=>(n.icon??i.value?.icon??"").trim()),p=t(()=>n.alias||_.value.alias||i.value?.name||""),f=t(()=>i.value?.code||T.value[0]||""),b=t(()=>p.value||f.value||"未命名操作"),y=t(()=>({"data-behavior-operation-code":f.value,"data-behavior-operation-name":b.value,"data-behavior-scope":"manual","data-track-code":f.value,"data-track-name":b.value})),s=t(()=>n.color||_.value.color||""),v=t(()=>s.value.trim().toLowerCase()),d=t(()=>v.value!==""&&v.value in L),C=t(()=>{if(d.value)return v.value==="error"?"danger":v.value}),g=t(()=>{if(d.value)return;const e=s.value.trim();if(e)return{color:L[v.value]||e}}),V=t(()=>n.loadType??i.value?.loadType??""),k=t(()=>String(V.value??"")),w=t(()=>{const e=u.default?.()[0];if(!e||!m(e))return!1;const o=e.type||{},l=String(o?.name||o?.__name||"").replace(/[^a-zA-Z]/g,"");return/^elicon/i.test(l)?!0:/^elbutton$/i.test(l)&&!!e.props?.icon}),A=t(()=>n.noConfig?"slot":w.value?c.value?"icon":"text":k.value==="10"?"text":k.value==="20"?"icon":k.value==="30"?"iconText":"slot"),E=t(()=>u.default?.()[0]?.props?.onClick),x=t(()=>{const e=u.default?.()[0];return m(e)&&e.props?.["data-behavior-scope"]==="manual"}),z=e=>{const o=E.value;return Array.isArray(o)?o.reduce((r,l)=>typeof l=="function"?l(...e):r,void 0):typeof o=="function"?o(...e):void 0},h=(...e)=>x.value?z(e):I({code:f.value,name:b.value,actionType:"CLICK"},()=>z(e)),M=e=>{if(e.type==="button")return!0;const o=e.type,r=String(o?.name||o?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase();return r==="elbutton"||r==="eliconbtn"},R=()=>(u.default?.()||[]).map(o=>!m(o)||!M(o)?o:q(o,{...y.value,...x.value?{}:{onClick:h},type:d.value?C.value:void 0,style:s.value.trim()?g.value:void 0}));return()=>{if(!B.value)return null;if(A.value==="icon"){const e=u.default?.()[0],o=m(e)?e.props||{}:{};return a(S("el-icon-btn"),{...o,...y.value,modelValue:c.value||"adtec-tips",tip:p.value,type:d.value?C.value:s.value.trim()?void 0:o.type,style:g.value,onClick:h})}if(A.value==="text"){const e=u.default?.()[0],r={...m(e)?e.props||{}:{}};delete r.modelValue,delete r.tip,delete r.icon;const l=s.value.trim()?void 0:r.type;return a(S("el-button"),{...r,...y.value,type:d.value?C.value:l,size:w.value?"small":r.size,style:[r.style,g.value],onClick:h},()=>p.value)}if(A.value==="iconText"){const e=c.value?a(S("el-icon"),{},()=>c.value.startsWith("adtec-")?a("svg",{class:"icon","aria-hidden":"true"},[a("use",{href:"#"+c.value})]):a(Z(c.value))):void 0;return a(S("el-button"),{...y.value,type:C.value,style:g.value,onClick:h},[e,a("span",{},p.value)])}return R()}}});export{j as _};
@@ -1 +1 @@
1
- import t from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const c={getMdmOrgDeptTree(){return t.post("/api/base/mdmDept/getMdmOrgDeptTree",{})},getMdmOrgList(r){return t.post("/api/base/mdmOrg/getMdmOrgList",r)}};export{c as default};
1
+ import t from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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";const f={getMdmOrgDeptTree(){return t.post("/api/base/mdmDept/getMdmOrgDeptTree",{})},getMdmOrgList(r){return t.post("/api/base/mdmOrg/getMdmOrgList",r)}};export{f as default};
@@ -1 +1 @@
1
- import r from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const p="/api/base/mdmDept/",O={getMdmOrgDeptTree(t){return r.post(p+"getMdmOrgDeptTree",t)}};export{O as default};
1
+ import r from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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";const p="/api/base/mdmDept/",T={getMdmOrgDeptTree(t){return r.post(p+"getMdmOrgDeptTree",t)}};export{T as default};
@@ -1 +1 @@
1
- import r from"../utils/request.js";import i from"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const t="/api/doc/",S={getUpLoadFilesVoById(e){return r.get(t+"getUpLoadFilesVoById/"+e)},getFileAccessAddress(e){return r.get(t+"getFileAccessAddress",{id:e})},async createRichTextImageUrl(e){const{url:s}=await this.createPreviewSession(e),o=/\/preview\/fileView\/([^/]+)\//.exec(s||"");if(!o?.[1])throw new Error("预览会话创建失败");return`${t}preview/fileView/${encodeURIComponent(o[1])}/image`},getUpLoadFilesByBussinessIds(e,s){const o=s===void 0?t+"getUpLoadFilesByBussinessIds":t+"getUpLoadFilesByBussinessIds/"+s;return r.post(o,e)},delSysUploadFile(e){return r.get(t+"delSysUploadFile/"+e)},getBusinessDocuments(e,s){return r.get(t+"getBusinessDocuments/"+e+"/"+s)},fileStatusConfirmation(e){return r.post(t+"fileStatusConfirmation",e)},delSysUploadFiles(e){return r.post(t+"delSysUploadFiles",e)},updateFilesCreateBy(e,s){return r.post(t+"updateFilesCreateBy",{ids:e,createBy:s})},createPreviewSession(e){return r.post(t+"preview/session/"+e)},downloadFile(e){return i({url:t+"preview/download/"+e,method:"get",responseType:"blob"}).then(s=>s.data)}};export{S as default};
1
+ import r from"../utils/request.js";import i from"../utils/AxiosConfig.js";import"axios";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";const t="/api/doc/",h={getUpLoadFilesVoById(e){return r.get(t+"getUpLoadFilesVoById/"+e)},getFileAccessAddress(e){return r.get(t+"getFileAccessAddress",{id:e})},async createRichTextImageUrl(e){const{url:s}=await this.createPreviewSession(e),o=/\/preview\/fileView\/([^/]+)\//.exec(s||"");if(!o?.[1])throw new Error("预览会话创建失败");return`${t}preview/fileView/${encodeURIComponent(o[1])}/image`},getUpLoadFilesByBussinessIds(e,s){const o=s===void 0?t+"getUpLoadFilesByBussinessIds":t+"getUpLoadFilesByBussinessIds/"+s;return r.post(o,e)},delSysUploadFile(e){return r.get(t+"delSysUploadFile/"+e)},getBusinessDocuments(e,s){return r.get(t+"getBusinessDocuments/"+e+"/"+s)},fileStatusConfirmation(e){return r.post(t+"fileStatusConfirmation",e)},delSysUploadFiles(e){return r.post(t+"delSysUploadFiles",e)},updateFilesCreateBy(e,s){return r.post(t+"updateFilesCreateBy",{ids:e,createBy:s})},createPreviewSession(e){return r.post(t+"preview/session/"+e)},downloadFile(e){return i({url:t+"preview/download/"+e,method:"get",responseType:"blob"}).then(s=>s.data)}};export{h as default};
@@ -1 +1 @@
1
- import o from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const m="/api/base/mdmEmployee/",c={getMdmEmployeeListByIds(t){return o.post(m+"getMdmEmployeeListByIds",t)}};export{c as default};
1
+ import o from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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";const m="/api/base/mdmEmployee/",g={getMdmEmployeeListByIds(t){return o.post(m+"getMdmEmployeeListByIds",t)}};export{g as default};
@@ -1 +1 @@
1
- import i from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const a="/api/system/dict/data/",d={getSysDictDataCacheVo(t){return i.get(a+"getSysDictDataCacheVo/"+t)},batchGetSysDictDataCacheVo(t,o){return i.post(a+"batchGetSysDictDataCacheVo?orgId="+(o||""),t)}};export{d as default};
1
+ import i from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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";const r="/api/system/dict/data/",g={getSysDictDataCacheVo(t){return i.get(r+"getSysDictDataCacheVo/"+t)},batchGetSysDictDataCacheVo(t,o){return i.post(r+"batchGetSysDictDataCacheVo?orgId="+(o||""),t)}};export{g as default};
@@ -1 +1 @@
1
- import r from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const t="/api/system/sysUserInfo/",u={add(e){return r.post(t+"add",e)},getInitUserListComp(e){return r.post(t+"getInitUserListComp",e)},getSysRoleUserByRoleId(e){return r.get(`/api/system/roleInfo/getSysRoleUserByRoleId/${e}`)},getSysUserInfoUserSelectComp(){return r.post(t+"getSysUserInfoUserSelectComp")},getSysUserInfoUserSelectForTransfer(){return r.post(t+"getSysUserInfoUserSelectForTransfer")}};export{u as default};
1
+ import r from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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";const t="/api/system/sysUserInfo/",c={add(e){return r.post(t+"add",e)},getInitUserListComp(e){return r.post(t+"getInitUserListComp",e)},getSysRoleUserByRoleId(e){return r.get(`/api/system/roleInfo/getSysRoleUserByRoleId/${e}`)},getSysUserInfoUserSelectComp(){return r.post(t+"getSysUserInfoUserSelectComp")},getSysUserInfoUserSelectForTransfer(){return r.post(t+"getSysUserInfoUserSelectForTransfer")}};export{c as default};
@@ -1 +1 @@
1
- import t from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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"vue";import"../utils/workflowTaskContext.js";const F={getFileAccessAddress(r){return t.get("/api/doc/getFileAccessAddress",{id:r})}};export{F as default};
1
+ import t from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";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";const k={getFileAccessAddress(r){return t.get("/api/doc/getFileAccessAddress",{id:r})}};export{k as default};
@@ -1 +1 @@
1
- import s from"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"vue";import"../../utils/workflowTaskContext.js";const e="/api/workflow/task",I={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{I as default};
1
+ import s from"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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";const e="/api/workflow/task",B={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{B as default};
@@ -0,0 +1,2 @@
1
+ export { exportGridData } from '../VxeExportDialog';
2
+ export type { VxeExportOptions as ElGridExportOptions } from '../VxeExportDialog';
@@ -0,0 +1 @@
1
+ import{exportGridData as G}from"../VxeExportDialog/index.js";import"vue";import"element-plus";import"../VxeExportDialog/VxeExportDialog.vue.js";import"@vueuse/core";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{G as exportGridData};
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/operationAuth.vue_vue_type_script_lang-C1wjWhH0.js";import"vue";import"vue-router";import"../../stores/userInfoStore.js";import"pinia";import"../../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";export{o as default};
1
+ import{_ as o}from"../../../chunks/operationAuth.vue_vue_type_script_lang-EBAuSfVi.js";import"vue";import"vue-router";import"../../stores/userInfoStore.js";import"pinia";import"../../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../hooks/useBehaviorAction.js";import"../../utils/behaviorTrack.js";import"axios";import"uuid";import"../../utils/behaviorContext.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/dateTime.js";export{o as default};
@@ -1 +1 @@
1
- import{_ as V}from"../../../chunks/preload-helper-BlTxHScW.js";import{defineComponent as Se,useModel as le,ref as m,getCurrentInstance as Me,shallowRef as se,computed as ue,watch as k,onMounted as Ue,onBeforeUnmount as He,onUnmounted as Pe,resolveDirective as Fe,openBlock as N,createElementBlock as de,normalizeClass as Be,createBlock as Le,resolveDynamicComponent as De,mergeProps as ze,createCommentVNode as q,withDirectives as Ae,mergeModels as ce,nextTick as v}from"vue";import{ElMessage as Ve}from"element-plus";import{v4 as Ne}from"uuid";import{purgeUmoDocumentLocalStorage as qe,initHtml as $,finalizeHtml as $e}from"./richTextHtmlUtils.js";import"./installUmoEditorApp.js";import{refreshRichTextImageUrls as fe,extractFileIdFromImageUrl as We,uploadRichTextImage as Ke}from"./richTextImageUpload.js";import je from"../../api/DocumentApi.js";import{_ as Ge}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"tdesign-vue-next";import"../../utils/buildUploadHeaders.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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";const Je={key:1,class:"umo-rich-text-editor-loading","element-loading-text":"编辑器加载中..."},Xe=Se({__name:"RichTextEditor",props:ce({showToolbar:{type:Boolean,default:!0},borderWidth:{default:"1px"},editorConfig:{default:()=>({})},isEdit:{type:Boolean,default:!0}},{modelValue:{required:!1,default:null},modelModifiers:{},text:{required:!1},textModifiers:{}}),emits:ce(["onBlur","onChange"],["update:modelValue","update:text"]),setup(S,{expose:me,emit:ve}){const pe=["locale","theme","mermaid","diagrams","qrcode","barcode","signature","math","echarts","print","link","video","audio","file","text-box","details","code-block","symbol","chinese-date","emoji","tag","columns","callout","mention","option-box","hard-break","hr","bookmark","footnote","toc","template","web-page"],he=["base","insert","table","page","view"],W=ve,r=S,l=le(S,"modelValue"),K=le(S,"text"),M=m(null),a=m(null),ye=Me()?.appContext?.app,d=se(null);let E=null;const j=`umo-${Ne()}`,p=m(j),U=m(null),o=m(!1),be=ue(()=>!d.value||!n.value||!o.value),H=m(!1),n=se(null);let P=!1,x=0,h=null,G=null,y=null,b=null,g=0,F=!1,c=!1,w="",_=!1;qe();const s=ue(()=>r.isEdit&&r.editorConfig?.editable!==!1);function J(){const e=a.value;if(!e||typeof document>"u")return!1;let t=e;for(;t&&t!==document.documentElement;){if(getComputedStyle(t).display==="none")return!1;t=t.parentElement}return!0}function ge(){if(!J()){_=!0;return}const e=_;if(_=!1,!d.value){te();return}if(!n.value){B();return}if(e&&!o.value){_e();return}e&&(C(),s.value&&O())}function we(){const e=a.value;e&&typeof ResizeObserver<"u"&&!h&&(h=new ResizeObserver(()=>{ge()}),h.observe(e))}function X(){h?.disconnect(),h=null,G?.disconnect(),G=null}function Z(){const e=a.value;if(!e)return;const t=e.querySelector(":scope > .umo-rich-text-editor");t?(F=!0,c&&(e.style.flex=w,e.style.height="",c=!1,w=""),g=Math.max(Number(t.offsetHeight)||0,0)):F&&g>0&&!c&&(w=e.style.flex||getComputedStyle(e).flex||"",e.style.flex=`0 0 ${g}px`,e.style.height=`${g}px`,c=!0)}function Ee(){const e=a.value;e&&(typeof MutationObserver<"u"&&!y&&(y=new MutationObserver(()=>Z()),y.observe(e,{childList:!0})),typeof ResizeObserver<"u"&&!b&&(b=new ResizeObserver(()=>Z()),b.observe(e)))}function Q(){y?.disconnect(),y=null,b?.disconnect(),b=null;const e=a.value;e&&c&&(e.style.flex=w,e.style.height=""),c=!1,w="",g=0,F=!1}function Y(){if(typeof localStorage>"u")return;const e=r.showToolbar&&s.value;try{localStorage.setItem(`umo-editor:${p.value}:layout`,"web"),localStorage.setItem(`umo-editor:${p.value}:toolbar`,JSON.stringify({mode:"classic",show:e}))}catch{}}function ee(){return d.value?Promise.resolve(!0):(E||(E=Promise.all([V(()=>import("../../../prebuilt/umo-editor/umo-editor.js"),[]),V(()=>import("../../../prebuilt/umo-editor/umo-editor.css"),[]),V(()=>import("./installUmoEditorApp.js"),[])]).then(([e,t,i])=>(i.installUmoEditorApp(ye),d.value=e.UmoEditor,!0)).catch(()=>(E=null,Ve.error("编辑器加载失败,请重试"),!1))),E)}async function te(){if(!J()){_=!0;return}await ee()&&(n.value||await B())}function xe(e){const t=typeof r.editorConfig?.placeholder=="string"&&r.editorConfig.placeholder.trim()?r.editorConfig.placeholder.trim():"请输入内容...",i=s.value,A=r.editorConfig?.autofocus??!1,ke=r.editorConfig?.businessId;return{editorKey:p.value,locale:"zh-CN",theme:"light",height:"100%",fullscreenZIndex:2500,toolbar:{showSaveLabel:!1,defaultMode:"classic",menus:r.showToolbar&&i?[...he]:["base"]},page:{layouts:["page","web"]},document:{title:"",content:e,placeholder:{zh_CN:t},readOnly:!i,autofocus:A,enableMarkdown:!1,enableSpellcheck:!1,autoSave:{enabled:!1}},shareUrl:typeof location<"u"?location.href:"",disableExtensions:[...pe],extensions:[],async onFileUpload(ne){const I=await Ke(ne,ke);return{id:I.id,url:I.url}},onFileDelete(ne,I,Ze){const ae=We(I);ae&&je.delSysUploadFiles([ae]).catch(()=>{})}}}async function B(e){Y();const t=e??l.value??"",i=await fe(t);n.value=xe($(i)),U.value=s.value}async function L(){if(!(P||!n.value)){P=!0;try{const e=o.value?f():l.value??"";if(o.value=!1,M.value=null,n.value=null,p.value=`${j}-${Date.now()}`,await v(),!await ee())return;await B(e)}finally{P=!1}}}async function _e(){!o.value||!n.value||(await C(),s.value&&await O())}function u(){return M.value}function oe(e){const t=u()?.getEditor?.()?.value;return t?.commands?.setContent?t.commands.setContent($(e),{emitUpdate:!1,parseOptions:{preserveWhitespace:"full"}}):!1}function Ce(e){const t=u()?.getEditor?.()?.value;t&&typeof t.setEditable=="function"&&t.setEditable(e)}async function D(){const e=u();if(!e)return!1;const t=s.value;e.setDocument?.({readOnly:!t}),e.setReadOnly?.(!t),Ce(t),e.setToolbar?.({mode:"classic",show:r.showToolbar&&t});const i=e.getEditor?.()?.value;return i?(t&&!i.isEditable&&i.setEditable(!0),t?i.isEditable:!i.isEditable):!1}async function C(e=6){for(let t=0;t<e;t+=1){if(await D())return!0;await v(),await T()}return!1}function T(){return new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))})}function ie(e){const t=e?.querySelector(".ProseMirror");return t?t.querySelector(':scope > img, :scope > figure[data-type="image"]:not(.umo-node-view)')!==null:!1}async function O(){if(n.value){if(await v(),await T(),await v(),await T(),!ie(a.value)){x=0;return}if(!(x>=3)){if(x+=1,o.value){const e=f()||(l.value??"");if(!oe(e))return;if(await v(),await T(),!ie(a.value)){x=0;return}}o.value&&R(),await L(),await v(),await C()}}}function Te(){const e=u();e&&(e.setLayout?.("web"),D())}function f(){return u()?.getHTML?.()??""}function z(){return u()?.getText?.()??""}async function re(e,t=!1){if(!o.value)return;const i=await fe(e);if(!o.value||(l.value??"")!==e)return;const A=u();oe(i)&&(t&&A?.focus?.("end",{scrollIntoView:!0}),O())}function R(){if(!o.value)return;const e=f(),t=z();e!==l.value&&(l.value=e),K.value=t,W("onChange",{html:e,text:t})}function Oe(){o.value=!0,U.value=s.value,C(),O(),Te()}function Re(){R()}function Ie(){o.value&&W("onBlur",{html:f(),text:z()})}return k(()=>l.value,e=>{if(!o.value||H.value)return;const t=$(e??""),i=f();t===i||(e??"")===i||re(e??"",!1)}),k(s,async(e,t)=>{t!==void 0&&U.value!==e&&n.value&&(o.value&&R(),await L())}),k(()=>r.isEdit,async(e,t)=>{t!==void 0&&e!==t&&n.value&&(o.value&&R(),await L())}),k(()=>r.showToolbar,()=>{Y(),D()}),Ue(()=>{we(),Ee(),te()}),He(()=>{X(),Q()}),Pe(()=>{o.value=!1,a.value=null,X(),Q()}),me({getHtml:e=>{if(!o.value)return l.value??"";const t=f();return e?.finalize?$e(t,a.value):t},getText:()=>o.value?z():K.value??"",setContent:(e,t=!1)=>{H.value=!0,l.value=e,H.value=!1,o.value&&re(e,t)},isReady:()=>o.value}),(e,t)=>{const i=Fe("loading");return N(),de("div",{ref_key:"rootRef",ref:a,class:Be(["umo-rich-text-editor-root",{"umo-rich-text-editor-root--readonly":!s.value}])},[d.value&&n.value?(N(),Le(De(d.value),ze({key:p.value,ref_key:"editorRef",ref:M,class:"umo-rich-text-editor"},n.value,{onCreated:Oe,onChanged:Re,onBlur:Ie}),null,16)):q("v-if",!0),q(" 受控 loading 覆盖全程:运行时 import → UmoEditor 挂载 → TipTap created,杜绝 UMO 内置 loading 闪现/泄漏 "),be.value?Ae((N(),de("div",Je,null,512)),[[i,!0]]):q("v-if",!0)],2)}}}),Et=Ge(Xe,[["__scopeId","data-v-d01de1e9"]]);export{Et as default};
1
+ import{_ as V}from"../../../chunks/preload-helper-BlTxHScW.js";import{defineComponent as Se,useModel as le,ref as m,getCurrentInstance as Me,shallowRef as se,computed as ue,watch as k,onMounted as Ue,onBeforeUnmount as He,onUnmounted as Pe,resolveDirective as Fe,openBlock as N,createElementBlock as de,normalizeClass as Be,createBlock as Le,resolveDynamicComponent as De,mergeProps as ze,createCommentVNode as q,withDirectives as Ae,mergeModels as ce,nextTick as v}from"vue";import{ElMessage as Ve}from"element-plus";import{v4 as Ne}from"uuid";import{purgeUmoDocumentLocalStorage as qe,initHtml as $,finalizeHtml as $e}from"./richTextHtmlUtils.js";import"./installUmoEditorApp.js";import{refreshRichTextImageUrls as fe,extractFileIdFromImageUrl as We,uploadRichTextImage as Ke}from"./richTextImageUpload.js";import je from"../../api/DocumentApi.js";import{_ as Ge}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"tdesign-vue-next";import"../../utils/buildUploadHeaders.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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";const Je={key:1,class:"umo-rich-text-editor-loading","element-loading-text":"编辑器加载中..."},Xe=Se({__name:"RichTextEditor",props:ce({showToolbar:{type:Boolean,default:!0},borderWidth:{default:"1px"},editorConfig:{default:()=>({})},isEdit:{type:Boolean,default:!0}},{modelValue:{required:!1,default:null},modelModifiers:{},text:{required:!1},textModifiers:{}}),emits:ce(["onBlur","onChange"],["update:modelValue","update:text"]),setup(S,{expose:me,emit:ve}){const pe=["locale","theme","mermaid","diagrams","qrcode","barcode","signature","math","echarts","print","link","video","audio","file","text-box","details","code-block","symbol","chinese-date","emoji","tag","columns","callout","mention","option-box","hard-break","hr","bookmark","footnote","toc","template","web-page"],he=["base","insert","table","page","view"],W=ve,r=S,l=le(S,"modelValue"),K=le(S,"text"),M=m(null),a=m(null),ye=Me()?.appContext?.app,d=se(null);let E=null;const j=`umo-${Ne()}`,p=m(j),U=m(null),o=m(!1),be=ue(()=>!d.value||!n.value||!o.value),H=m(!1),n=se(null);let P=!1,x=0,h=null,G=null,y=null,b=null,g=0,F=!1,c=!1,w="",_=!1;qe();const s=ue(()=>r.isEdit&&r.editorConfig?.editable!==!1);function J(){const e=a.value;if(!e||typeof document>"u")return!1;let t=e;for(;t&&t!==document.documentElement;){if(getComputedStyle(t).display==="none")return!1;t=t.parentElement}return!0}function ge(){if(!J()){_=!0;return}const e=_;if(_=!1,!d.value){te();return}if(!n.value){B();return}if(e&&!o.value){_e();return}e&&(C(),s.value&&O())}function we(){const e=a.value;e&&typeof ResizeObserver<"u"&&!h&&(h=new ResizeObserver(()=>{ge()}),h.observe(e))}function X(){h?.disconnect(),h=null,G?.disconnect(),G=null}function Z(){const e=a.value;if(!e)return;const t=e.querySelector(":scope > .umo-rich-text-editor");t?(F=!0,c&&(e.style.flex=w,e.style.height="",c=!1,w=""),g=Math.max(Number(t.offsetHeight)||0,0)):F&&g>0&&!c&&(w=e.style.flex||getComputedStyle(e).flex||"",e.style.flex=`0 0 ${g}px`,e.style.height=`${g}px`,c=!0)}function Ee(){const e=a.value;e&&(typeof MutationObserver<"u"&&!y&&(y=new MutationObserver(()=>Z()),y.observe(e,{childList:!0})),typeof ResizeObserver<"u"&&!b&&(b=new ResizeObserver(()=>Z()),b.observe(e)))}function Q(){y?.disconnect(),y=null,b?.disconnect(),b=null;const e=a.value;e&&c&&(e.style.flex=w,e.style.height=""),c=!1,w="",g=0,F=!1}function Y(){if(typeof localStorage>"u")return;const e=r.showToolbar&&s.value;try{localStorage.setItem(`umo-editor:${p.value}:layout`,"web"),localStorage.setItem(`umo-editor:${p.value}:toolbar`,JSON.stringify({mode:"classic",show:e}))}catch{}}function ee(){return d.value?Promise.resolve(!0):(E||(E=Promise.all([V(()=>import("../../../prebuilt/umo-editor/umo-editor.js"),[]),V(()=>import("../../../prebuilt/umo-editor/umo-editor.css"),[]),V(()=>import("./installUmoEditorApp.js"),[])]).then(([e,t,i])=>(i.installUmoEditorApp(ye),d.value=e.UmoEditor,!0)).catch(()=>(E=null,Ve.error("编辑器加载失败,请重试"),!1))),E)}async function te(){if(!J()){_=!0;return}await ee()&&(n.value||await B())}function xe(e){const t=typeof r.editorConfig?.placeholder=="string"&&r.editorConfig.placeholder.trim()?r.editorConfig.placeholder.trim():"请输入内容...",i=s.value,A=r.editorConfig?.autofocus??!1,ke=r.editorConfig?.businessId;return{editorKey:p.value,locale:"zh-CN",theme:"light",height:"100%",fullscreenZIndex:2500,toolbar:{showSaveLabel:!1,defaultMode:"classic",menus:r.showToolbar&&i?[...he]:["base"]},page:{layouts:["page","web"]},document:{title:"",content:e,placeholder:{zh_CN:t},readOnly:!i,autofocus:A,enableMarkdown:!1,enableSpellcheck:!1,autoSave:{enabled:!1}},shareUrl:typeof location<"u"?location.href:"",disableExtensions:[...pe],extensions:[],async onFileUpload(ne){const I=await Ke(ne,ke);return{id:I.id,url:I.url}},onFileDelete(ne,I,Ze){const ae=We(I);ae&&je.delSysUploadFiles([ae]).catch(()=>{})}}}async function B(e){Y();const t=e??l.value??"",i=await fe(t);n.value=xe($(i)),U.value=s.value}async function L(){if(!(P||!n.value)){P=!0;try{const e=o.value?f():l.value??"";if(o.value=!1,M.value=null,n.value=null,p.value=`${j}-${Date.now()}`,await v(),!await ee())return;await B(e)}finally{P=!1}}}async function _e(){!o.value||!n.value||(await C(),s.value&&await O())}function u(){return M.value}function oe(e){const t=u()?.getEditor?.()?.value;return t?.commands?.setContent?t.commands.setContent($(e),{emitUpdate:!1,parseOptions:{preserveWhitespace:"full"}}):!1}function Ce(e){const t=u()?.getEditor?.()?.value;t&&typeof t.setEditable=="function"&&t.setEditable(e)}async function D(){const e=u();if(!e)return!1;const t=s.value;e.setDocument?.({readOnly:!t}),e.setReadOnly?.(!t),Ce(t),e.setToolbar?.({mode:"classic",show:r.showToolbar&&t});const i=e.getEditor?.()?.value;return i?(t&&!i.isEditable&&i.setEditable(!0),t?i.isEditable:!i.isEditable):!1}async function C(e=6){for(let t=0;t<e;t+=1){if(await D())return!0;await v(),await T()}return!1}function T(){return new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))})}function ie(e){const t=e?.querySelector(".ProseMirror");return t?t.querySelector(':scope > img, :scope > figure[data-type="image"]:not(.umo-node-view)')!==null:!1}async function O(){if(n.value){if(await v(),await T(),await v(),await T(),!ie(a.value)){x=0;return}if(!(x>=3)){if(x+=1,o.value){const e=f()||(l.value??"");if(!oe(e))return;if(await v(),await T(),!ie(a.value)){x=0;return}}o.value&&R(),await L(),await v(),await C()}}}function Te(){const e=u();e&&(e.setLayout?.("web"),D())}function f(){return u()?.getHTML?.()??""}function z(){return u()?.getText?.()??""}async function re(e,t=!1){if(!o.value)return;const i=await fe(e);if(!o.value||(l.value??"")!==e)return;const A=u();oe(i)&&(t&&A?.focus?.("end",{scrollIntoView:!0}),O())}function R(){if(!o.value)return;const e=f(),t=z();e!==l.value&&(l.value=e),K.value=t,W("onChange",{html:e,text:t})}function Oe(){o.value=!0,U.value=s.value,C(),O(),Te()}function Re(){R()}function Ie(){o.value&&W("onBlur",{html:f(),text:z()})}return k(()=>l.value,e=>{if(!o.value||H.value)return;const t=$(e??""),i=f();t===i||(e??"")===i||re(e??"",!1)}),k(s,async(e,t)=>{t!==void 0&&U.value!==e&&n.value&&(o.value&&R(),await L())}),k(()=>r.isEdit,async(e,t)=>{t!==void 0&&e!==t&&n.value&&(o.value&&R(),await L())}),k(()=>r.showToolbar,()=>{Y(),D()}),Ue(()=>{we(),Ee(),te()}),He(()=>{X(),Q()}),Pe(()=>{o.value=!1,a.value=null,X(),Q()}),me({getHtml:e=>{if(!o.value)return l.value??"";const t=f();return e?.finalize?$e(t,a.value):t},getText:()=>o.value?z():K.value??"",setContent:(e,t=!1)=>{H.value=!0,l.value=e,H.value=!1,o.value&&re(e,t)},isReady:()=>o.value}),(e,t)=>{const i=Fe("loading");return N(),de("div",{ref_key:"rootRef",ref:a,class:Be(["umo-rich-text-editor-root",{"umo-rich-text-editor-root--readonly":!s.value}])},[d.value&&n.value?(N(),Le(De(d.value),ze({key:p.value,ref_key:"editorRef",ref:M,class:"umo-rich-text-editor"},n.value,{onCreated:Oe,onChanged:Re,onBlur:Ie}),null,16)):q("v-if",!0),q(" 受控 loading 覆盖全程:运行时 import → UmoEditor 挂载 → TipTap created,杜绝 UMO 内置 loading 闪现/泄漏 "),be.value?Ae((N(),de("div",Je,null,512)),[[i,!0]]):q("v-if",!0)],2)}}}),xt=Ge(Xe,[["__scopeId","data-v-d01de1e9"]]);export{xt as default};
@@ -1 +1 @@
1
- import h from"../../api/DocumentApi.js";import{buildUploadHeaders as x}from"../../utils/buildUploadHeaders.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"vue";import"../../utils/workflowTaskContext.js";const w="richtext",C=10*1024*1024;function U(t){const i=typeof t=="string"&&t.trim()?t.trim():"default";return`/api/doc/uploadFile/${w}/${i}/false`}function I(t,i){return`${t}?fileId=${encodeURIComponent(i)}`}function D(t,i="default"){return new Promise((d,s)=>{const m=U(i),o=new XMLHttpRequest;o.open("POST",m);const l=x(m);Object.entries(l).forEach(([e,c])=>o.setRequestHeader(e,String(c))),o.responseType="json",o.onload=()=>{try{const e=o.response;if(o.status>=200&&o.status<300&&e?.code==="0"&&e.data?.id){h.createRichTextImageUrl(e.data.id).then(c=>{c?d({url:I(c,e.data.id),id:e.data.id}):s(new Error("图片访问地址获取失败"))}).catch(s);return}s(new Error(e?.msg||"图片上传失败"))}catch(e){s(e)}},o.onerror=()=>s(new Error("图片上传失败"));const n=new FormData;n.append("file",t),o.send(n)})}function g(t){const i=/[?&]fileId=([^&]+)/.exec(t||"");return i?.[1]?decodeURIComponent(i[1]):null}async function G(t){if(!t)return t;const i=new Set,d=/<(?:img|inline-img)\b[^>]*>/gi;let s;for(;s=d.exec(t);){const r=s[0].match(/\ssrc=(["'])(.*?)\1/i)??s[0].match(/\ssrc=([^\s>]+)/i),a=r?.[2]??r?.[1]??"",p=g(a);p&&i.add(p)}if(i.size===0)return t;const m=new Map;if(await Promise.all([...i].map(async r=>{try{const a=await h.createRichTextImageUrl(r);a&&m.set(r,I(a,r))}catch{}})),m.size===0)return t;const o=[],l=/<(?:img|inline-img)\b[^>]*>/gi;let n;for(;n=l.exec(t);)o.push({start:n.index,end:n.index+n[0].length,tag:n[0]});const e=[];let c=0;for(const r of o){const a=r.tag.match(/\ssrc=(["'])(.*?)\1/i)??r.tag.match(/\ssrc=([^\s>]+)/i),p=a?.[2]??a?.[1]??"",u=g(p),f=u?m.get(u):void 0;e.push(t.slice(c,r.start)),u&&f?e.push(r.tag.replace(/\ssrc=(["'])(.*?)\1/i,` src="${f}"`)):e.push(r.tag),c=r.end}return e.push(t.slice(c)),e.join("")}export{C as MAX_IMAGE_SIZE,w as UMO_IMAGE_BUSINESS,g as extractFileIdFromImageUrl,G as refreshRichTextImageUrls,D as uploadRichTextImage};
1
+ import h from"../../api/DocumentApi.js";import{buildUploadHeaders as x}from"../../utils/buildUploadHeaders.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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";const w="richtext",D=10*1024*1024;function U(t){const i=typeof t=="string"&&t.trim()?t.trim():"default";return`/api/doc/uploadFile/${w}/${i}/false`}function I(t,i){return`${t}?fileId=${encodeURIComponent(i)}`}function G(t,i="default"){return new Promise((d,s)=>{const m=U(i),o=new XMLHttpRequest;o.open("POST",m);const l=x(m);Object.entries(l).forEach(([e,c])=>o.setRequestHeader(e,String(c))),o.responseType="json",o.onload=()=>{try{const e=o.response;if(o.status>=200&&o.status<300&&e?.code==="0"&&e.data?.id){h.createRichTextImageUrl(e.data.id).then(c=>{c?d({url:I(c,e.data.id),id:e.data.id}):s(new Error("图片访问地址获取失败"))}).catch(s);return}s(new Error(e?.msg||"图片上传失败"))}catch(e){s(e)}},o.onerror=()=>s(new Error("图片上传失败"));const n=new FormData;n.append("file",t),o.send(n)})}function g(t){const i=/[?&]fileId=([^&]+)/.exec(t||"");return i?.[1]?decodeURIComponent(i[1]):null}async function X(t){if(!t)return t;const i=new Set,d=/<(?:img|inline-img)\b[^>]*>/gi;let s;for(;s=d.exec(t);){const r=s[0].match(/\ssrc=(["'])(.*?)\1/i)??s[0].match(/\ssrc=([^\s>]+)/i),a=r?.[2]??r?.[1]??"",p=g(a);p&&i.add(p)}if(i.size===0)return t;const m=new Map;if(await Promise.all([...i].map(async r=>{try{const a=await h.createRichTextImageUrl(r);a&&m.set(r,I(a,r))}catch{}})),m.size===0)return t;const o=[],l=/<(?:img|inline-img)\b[^>]*>/gi;let n;for(;n=l.exec(t);)o.push({start:n.index,end:n.index+n[0].length,tag:n[0]});const e=[];let c=0;for(const r of o){const a=r.tag.match(/\ssrc=(["'])(.*?)\1/i)??r.tag.match(/\ssrc=([^\s>]+)/i),p=a?.[2]??a?.[1]??"",u=g(p),f=u?m.get(u):void 0;e.push(t.slice(c,r.start)),u&&f?e.push(r.tag.replace(/\ssrc=(["'])(.*?)\1/i,` src="${f}"`)):e.push(r.tag),c=r.end}return e.push(t.slice(c)),e.join("")}export{D as MAX_IMAGE_SIZE,w as UMO_IMAGE_BUSINESS,g as extractFileIdFromImageUrl,X as refreshRichTextImageUrls,G as uploadRichTextImage};
@@ -1 +1 @@
1
- import{defineComponent as J,useModel as K,ref as _,reactive as X,resolveComponent as i,resolveDirective as Y,withDirectives as Z,openBlock as u,createBlock as w,withCtx as a,createVNode as s,unref as D,createTextVNode as p,toDisplayString as g,createElementBlock as x,createElementVNode as ee,Fragment as I,renderList as S,createCommentVNode as te,mergeProps as oe,mergeModels as R,nextTick as le}from"vue";import{ElMessage as ae}from"element-plus";import re from"../../hooks/useDictHooks.js";import ne from"./api/DataIndicatorsApi.js";import h from"../../utils/FrameworkUtils.js";import{checkboxColumn as ie}from"../../config/vxeSelectColumn.js";import{_ as se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"xlsx-js-style";const ce={key:0,class:"selection-preview"},de={class:"selection-preview__content"},ue=J({__name:"SelectInDicators",props:R({confirmCallback:{type:Function}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:R(["success"],["update:loading"]),setup(C,{expose:E,emit:L}){const m=K(C,"loading"),P=C,T=L,{getDictTypeData:N,getDictName:O}=re(["ComIndexType"]),f=_(),d=_(),o=_([]),n=_({types:[],name:"",isValid:1,isDetails:1,size:h.getPageSize(),current:1}),U=X({border:!0,height:"100%",columnConfig:{resizable:!1},checkboxConfig:{highlight:!1,range:!1},columns:[ie,{field:"code",title:"指标编码",width:140,showOverflow:!0},{field:"name",title:"指标名称",minWidth:160,showOverflow:!0},{field:"attriList",title:"指标名称(特性)",minWidth:220,showOverflow:!0,slots:{default:"attriList"}},{field:"type",title:"类型标签",width:120,showOverflow:!0,slots:{default:"type"}}]}),y=async()=>{m.value=!0;try{d.value=await ne.getPageComIndex(n.value),await le(),o.value.forEach(r=>{const e=d.value?.records.find(l=>l.id===r.id);e&&f.value?.setCheckboxRow(e,!0)})}catch(r){h.messageError(r)}finally{m.value=!1}},B=async()=>{n.value.current=1,await y()},b=async()=>{n.value={types:[],name:"",isValid:1,isDetails:1,size:h.getPageSize(),current:1},await y()},k=()=>{const r=f.value?.getCheckboxRecords()??[],e=new Set(d.value?.records.map(l=>l.id)??[]);o.value=o.value.filter(l=>!e.has(l.id)||r.some(c=>c.id===l.id)),r.forEach(l=>{o.value.some(c=>c.id===l.id)||o.value.push(l)})},M=r=>{const e=c=>r.id?c.id===r.id:c.code===r.code;o.value=o.value.filter(c=>!e(c));const l=d.value?.records.find(e);l&&f.value?.setCheckboxRow(l,!1)};return E({confirm:async(r=!0)=>{if(!o.value.length)return ae.warning("请选择指标"),!1;m.value=!0;try{return await P.confirmCallback(o.value)?(T("success"),r||(o.value=[],f.value?.clearCheckboxRow()),!0):!1}catch(e){return h.messageError(e),!1}finally{m.value=!1}},resetQuery:async()=>{o.value=[],await b()}}),(r,e)=>{const l=i("el-tree-select"),c=i("el-form-item"),Q=i("el-input"),$=i("el-form"),A=i("el-search"),V=i("el-text"),F=i("el-title"),W=i("el-tooltip"),z=i("el-tag-display"),q=i("el-scrollbar"),H=i("el-grid"),j=i("el-content-panel"),G=Y("loading");return Z((u(),w(j,{padding:!1,class:"dialog-content-fill"},{default:a(()=>[s(A,{onSearch:B,onReset:b},{default:a(()=>[s($,{inline:!0,model:n.value,style:{width:"100%"},"label-position":"top",size:"default"},{default:a(()=>[s(c,{style:{width:"220px"},label:"指标类型"},{default:a(()=>[s(l,{modelValue:n.value.types,"onUpdate:modelValue":e[0]||(e[0]=t=>n.value.types=t),data:D(N)("ComIndexType"),"default-expand-all":!0,props:{label:"label",children:"children"},"render-after-expand":!1,"check-strictly":"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"",multiple:"","node-key":"value",placeholder:"请选择指标类型"},null,8,["modelValue","data"])]),_:1}),s(c,{style:{width:"220px"},label:"关键字"},{default:a(()=>[s(Q,{modelValue:n.value.name,"onUpdate:modelValue":e[1]||(e[1]=t=>n.value.name=t),clearable:"",placeholder:"请输入指标编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),s(F,{title:"指标列表",level:"1",style:{"border-bottom":"var(--border)"}},{default:a(()=>[s(V,{class:"selection-count"},{default:a(()=>[e[4]||(e[4]=p(" 已选 ",-1)),s(V,{type:"primary"},{default:a(()=>[p(g(o.value.length),1)]),_:1}),e[5]||(e[5]=p(" 项 ",-1))]),_:1})]),_:1}),o.value.length?(u(),x("div",ce,[s(q,{"max-height":"60px"},{default:a(()=>[ee("div",de,[(u(!0),x(I,null,S(o.value,t=>(u(),w(z,{key:t.id||t.code,closable:"",onClose:v=>M(t)},{default:a(()=>[s(W,{content:`${t.code} ${t.name}`,placement:"top"},{default:a(()=>[p(g(t.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))])]),_:1})])):te("v-if",!0),s(H,oe({ref_key:"gridRef",ref:f},U,{data:d.value?.records??[],total:d.value?.total??0,pagination:"","current-page":n.value.current,"onUpdate:currentPage":e[2]||(e[2]=t=>n.value.current=t),"page-size":n.value.size,"onUpdate:pageSize":e[3]||(e[3]=t=>n.value.size=t),onCheckboxAll:k,onCheckboxChange:k,onCurrentChange:y}),{attriList:a(({row:t})=>[(u(!0),x(I,null,S(t.attriList,v=>(u(),w(z,{key:v.id||v.attriCd},{default:a(()=>[p(g(v.attriName),1)]),_:2},1024))),128))]),type:a(({row:t})=>[p(g(D(O)(t.type,"ComIndexType")||"—"),1)]),_:1},16,["data","total","current-page","page-size"])]),_:1})),[[G,m.value]])}}}),Qe=se(ue,[["__scopeId","data-v-b3c18182"]]);export{Qe as default};
1
+ import{defineComponent as J,useModel as K,ref as _,reactive as X,resolveComponent as i,resolveDirective as Y,withDirectives as Z,openBlock as u,createBlock as w,withCtx as a,createVNode as s,unref as D,createTextVNode as p,toDisplayString as g,createElementBlock as x,createElementVNode as ee,Fragment as I,renderList as S,createCommentVNode as te,mergeProps as oe,mergeModels as R,nextTick as le}from"vue";import{ElMessage as ae}from"element-plus";import re from"../../hooks/useDictHooks.js";import ne from"./api/DataIndicatorsApi.js";import h from"../../utils/FrameworkUtils.js";import{checkboxColumn as ie}from"../../config/vxeSelectColumn.js";import{_ as se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"xlsx-js-style";const ce={key:0,class:"selection-preview"},de={class:"selection-preview__content"},ue=J({__name:"SelectInDicators",props:R({confirmCallback:{type:Function}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:R(["success"],["update:loading"]),setup(C,{expose:E,emit:L}){const m=K(C,"loading"),P=C,T=L,{getDictTypeData:N,getDictName:O}=re(["ComIndexType"]),f=_(),d=_(),o=_([]),n=_({types:[],name:"",isValid:1,isDetails:1,size:h.getPageSize(),current:1}),U=X({border:!0,height:"100%",columnConfig:{resizable:!1},checkboxConfig:{highlight:!1,range:!1},columns:[ie,{field:"code",title:"指标编码",width:140,showOverflow:!0},{field:"name",title:"指标名称",minWidth:160,showOverflow:!0},{field:"attriList",title:"指标名称(特性)",minWidth:220,showOverflow:!0,slots:{default:"attriList"}},{field:"type",title:"类型标签",width:120,showOverflow:!0,slots:{default:"type"}}]}),y=async()=>{m.value=!0;try{d.value=await ne.getPageComIndex(n.value),await le(),o.value.forEach(r=>{const e=d.value?.records.find(l=>l.id===r.id);e&&f.value?.setCheckboxRow(e,!0)})}catch(r){h.messageError(r)}finally{m.value=!1}},B=async()=>{n.value.current=1,await y()},b=async()=>{n.value={types:[],name:"",isValid:1,isDetails:1,size:h.getPageSize(),current:1},await y()},k=()=>{const r=f.value?.getCheckboxRecords()??[],e=new Set(d.value?.records.map(l=>l.id)??[]);o.value=o.value.filter(l=>!e.has(l.id)||r.some(c=>c.id===l.id)),r.forEach(l=>{o.value.some(c=>c.id===l.id)||o.value.push(l)})},M=r=>{const e=c=>r.id?c.id===r.id:c.code===r.code;o.value=o.value.filter(c=>!e(c));const l=d.value?.records.find(e);l&&f.value?.setCheckboxRow(l,!1)};return E({confirm:async(r=!0)=>{if(!o.value.length)return ae.warning("请选择指标"),!1;m.value=!0;try{return await P.confirmCallback(o.value)?(T("success"),r||(o.value=[],f.value?.clearCheckboxRow()),!0):!1}catch(e){return h.messageError(e),!1}finally{m.value=!1}},resetQuery:async()=>{o.value=[],await b()}}),(r,e)=>{const l=i("el-tree-select"),c=i("el-form-item"),Q=i("el-input"),$=i("el-form"),A=i("el-search"),V=i("el-text"),F=i("el-title"),W=i("el-tooltip"),z=i("el-tag-display"),q=i("el-scrollbar"),H=i("el-grid"),j=i("el-content-panel"),G=Y("loading");return Z((u(),w(j,{padding:!1,class:"dialog-content-fill"},{default:a(()=>[s(A,{onSearch:B,onReset:b},{default:a(()=>[s($,{inline:!0,model:n.value,style:{width:"100%"},"label-position":"top",size:"default"},{default:a(()=>[s(c,{style:{width:"220px"},label:"指标类型"},{default:a(()=>[s(l,{modelValue:n.value.types,"onUpdate:modelValue":e[0]||(e[0]=t=>n.value.types=t),data:D(N)("ComIndexType"),"default-expand-all":!0,props:{label:"label",children:"children"},"render-after-expand":!1,"check-strictly":"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"",multiple:"","node-key":"value",placeholder:"请选择指标类型"},null,8,["modelValue","data"])]),_:1}),s(c,{style:{width:"220px"},label:"关键字"},{default:a(()=>[s(Q,{modelValue:n.value.name,"onUpdate:modelValue":e[1]||(e[1]=t=>n.value.name=t),clearable:"",placeholder:"请输入指标编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),s(F,{title:"指标列表",level:"1",style:{"border-bottom":"var(--border)"}},{default:a(()=>[s(V,{class:"selection-count"},{default:a(()=>[e[4]||(e[4]=p(" 已选 ",-1)),s(V,{type:"primary"},{default:a(()=>[p(g(o.value.length),1)]),_:1}),e[5]||(e[5]=p(" 项 ",-1))]),_:1})]),_:1}),o.value.length?(u(),x("div",ce,[s(q,{"max-height":"60px"},{default:a(()=>[ee("div",de,[(u(!0),x(I,null,S(o.value,t=>(u(),w(z,{key:t.id||t.code,closable:"",onClose:v=>M(t)},{default:a(()=>[s(W,{content:`${t.code} ${t.name}`,placement:"top"},{default:a(()=>[p(g(t.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))])]),_:1})])):te("v-if",!0),s(H,oe({ref_key:"gridRef",ref:f},U,{data:d.value?.records??[],total:d.value?.total??0,pagination:"","current-page":n.value.current,"onUpdate:currentPage":e[2]||(e[2]=t=>n.value.current=t),"page-size":n.value.size,"onUpdate:pageSize":e[3]||(e[3]=t=>n.value.size=t),onCheckboxAll:k,onCheckboxChange:k,onCurrentChange:y}),{attriList:a(({row:t})=>[(u(!0),x(I,null,S(t.attriList,v=>(u(),w(z,{key:v.id||v.attriCd},{default:a(()=>[p(g(v.attriName),1)]),_:2},1024))),128))]),type:a(({row:t})=>[p(g(D(O)(t.type,"ComIndexType")||"—"),1)]),_:1},16,["data","total","current-page","page-size"])]),_:1})),[[G,m.value]])}}}),$e=se(ue,[["__scopeId","data-v-b3c18182"]]);export{$e as default};
@@ -1 +1 @@
1
- import o from"../../../utils/request.js";import"../../../utils/AxiosConfig.js";import"axios";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"vue";import"../../../utils/workflowTaskContext.js";const r="/api/base/comIndex/",A={getPageComIndex(t){return o.post(r+"getPageComIndex",t)},getComIndexAttriVo(t){return o.get("/api/se/assessmentMethodConfig/getComIndexAttriVo/"+t)}};export{A as default};
1
+ import o from"../../../utils/request.js";import"../../../utils/AxiosConfig.js";import"axios";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";const r="/api/base/comIndex/",P={getPageComIndex(t){return o.post(r+"getPageComIndex",t)},getComIndexAttriVo(t){return o.get("/api/se/assessmentMethodConfig/getComIndexAttriVo/"+t)}};export{P as default};
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"vue";import"@vueuse/core";import"../../api/EmployeeInfoApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"./comp.userForm.vue.js";import"../../api/DeptInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"vue";import"@vueuse/core";import"../../api/EmployeeInfoApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"./comp.userForm.vue.js";import"../../api/DeptInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{o as default};
@@ -1 +1 @@
1
- import{defineComponent as Y,ref as f,reactive as Z,resolveComponent as c,resolveDirective as ee,withDirectives as te,openBlock as k,createBlock as E,withCtx as v,createVNode as u,unref as a,createElementVNode as le,createElementBlock as oe,Fragment as ae,renderList as re,createTextVNode as se,toDisplayString as ie,mergeProps as ne,nextTick as N}from"vue";import"@vueuse/core";import{ElMessage as de}from"element-plus";import ce from"../../api/DeptInfoApi.js";import ue 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"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"xlsx-js-style";const ge={style:{"padding-top":"4px"}},he=Y({__name:"comp.userForm",props:{fetchData:{type:Function,default:ue.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0}},emits:["success"],setup(O,{expose:z,emit:P}){const d=O,[l,D]=x({current:1,size:I.getPageSize(),...d.defalutQueryParam}),U=P,h=f([]),y=f(!1),R=f(),m=f(),g=f(""),_=f(),b=f(),[r,S]=x([]),[p,B]=x({records:[],total:0,pages:0,current:1}),L=[d.multiple?{...pe,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1"}}: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},...d.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],Q=Z({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!0,range:!1},columns:L}),T=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},F=async()=>{try{h.value=await ce.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},M=e=>{e.id===g.value?(_.value=void 0,g.value="",m.value?.clearRadioRow()):(g.value=e.id,_.value=e,m.value?.setRadioRow(e))},q=({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))},A=({checked:e})=>{const t=p.value?.records??[];if(e){const o=r.value.map(i=>i.code);t.forEach(i=>{o.includes(i.code)||r.value.push(i)})}else{const o=t.map(i=>i.code);r.value=r.value.filter(i=>!o.includes(i.code))}},J=({row:e})=>{d.multiple||M(e)},V=async()=>{y.value=!0,h.value&&h.value.length||await F(),S(),B(),R.value?.resetFields(),b.value?.setCheckedKeys([]),D(),l.value={...l.value,...d.defalutQueryParam},N(()=>{b.value?.setCheckedKeys(l.value.deptIds??[]),w()})},w=async()=>{try{y.value=!0;let e=[],t;l.value.deptIds&&l.value.deptIds.length&&l.value.deptIds.forEach(n=>{h.value.findIndex(C=>C.id===n)>=0?t=n:e.push(n)});let o=JSON.parse(JSON.stringify(l.value));o.deptIds=e,o.orgId=t,p.value=await d.fetchData(o);const i=r.value.map(n=>n.code);N(()=>{p.value.records.forEach(n=>{i.includes(n.code)&&(d.multiple?m.value?.setCheckboxRow(n,!0):n.id===g.value&&m.value?.setRadioRow(n))})}),l.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},K=e=>{r.value=r.value.filter(o=>o.code!==e.code);const t=p.value.records.find(o=>o.code===e.code);t&&(d.multiple?m.value?.setCheckboxRow(t,!1):t.id===g.value&&(_.value=void 0,g.value="",m.value?.clearRadioRow()))};return z({confirm:async()=>{!r.value.length&&d.multiple||!_.value&&!d.multiple?de.warning("未选择需要新增的人员!"):U("success",d.multiple?r.value:_.value)},resetQuery:V}),(e,t)=>{const o=c("el-tree-select"),i=c("el-form-item"),n=c("el-input"),C=c("el-form"),$=c("el-search"),H=c("el-title"),j=c("el-tooltip"),G=c("el-grid"),W=c("el-flex"),X=ee("loading");return te((k(),E(W,{vertical:!0},{default:v(()=>[u($,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:w},{default:v(()=>[u(C,{ref_key:"queryRef",ref:R,inline:!0,model:a(l),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:v(()=>[u(i,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:v(()=>[u(o,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:a(l).disabled,modelValue:a(l).deptIds,"onUpdate:modelValue":t[0]||(t[0]=s=>a(l).deptIds=s),data:h.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:s=>s.isValid!=="1"||a(l).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(i,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:v(()=>[u(n,{modelValue:a(l).codeorname,"onUpdate:modelValue":t[1]||(t[1]=s=>a(l).codeorname=s),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(H,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),le("div",ge,[(k(!0),oe(ae,null,re(a(r),s=>(k(),E(fe,{key:s.code,closable:"",style:{margin:"2px"},onClose:ye=>K(s)},{default:v(()=>[u(j,{placement:"top",content:s.deptName},{default:v(()=>[se(ie(s.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))]),u(G,ne({ref_key:"gridRef",ref:m},Q,{data:a(p)?.records,total:a(p)?.total?a(p)?.total:0,pagination:"","current-page":a(l).current,"onUpdate:currentPage":t[2]||(t[2]=s=>a(l).current=s),"page-size":a(l).size,"onUpdate:pageSize":t[3]||(t[3]=s=>a(l).size=s),"row-class-name":T,style:{width:"100%"},onCheckboxChange:q,onCheckboxAll:A,onCellClick:J,onCurrentChange:w}),null,16,["data","total","current-page","page-size"])]),_:1})),[[X,y.value]])}}}),Ke=ve(he,[["__scopeId","data-v-b3cb5677"]]);export{Ke as default};
1
+ import{defineComponent as Y,ref as f,reactive as Z,resolveComponent as c,resolveDirective as ee,withDirectives as te,openBlock as k,createBlock as E,withCtx as v,createVNode as u,unref as a,createElementVNode as le,createElementBlock as oe,Fragment as ae,renderList as re,createTextVNode as se,toDisplayString as ie,mergeProps as ne,nextTick as N}from"vue";import"@vueuse/core";import{ElMessage as de}from"element-plus";import ce from"../../api/DeptInfoApi.js";import ue 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"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"xlsx-js-style";const ge={style:{"padding-top":"4px"}},he=Y({__name:"comp.userForm",props:{fetchData:{type:Function,default:ue.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0}},emits:["success"],setup(O,{expose:z,emit:P}){const d=O,[l,D]=x({current:1,size:I.getPageSize(),...d.defalutQueryParam}),U=P,h=f([]),y=f(!1),R=f(),m=f(),g=f(""),_=f(),b=f(),[r,S]=x([]),[p,B]=x({records:[],total:0,pages:0,current:1}),L=[d.multiple?{...pe,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1"}}: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},...d.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],Q=Z({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!0,range:!1},columns:L}),T=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},F=async()=>{try{h.value=await ce.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},M=e=>{e.id===g.value?(_.value=void 0,g.value="",m.value?.clearRadioRow()):(g.value=e.id,_.value=e,m.value?.setRadioRow(e))},q=({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))},A=({checked:e})=>{const t=p.value?.records??[];if(e){const o=r.value.map(i=>i.code);t.forEach(i=>{o.includes(i.code)||r.value.push(i)})}else{const o=t.map(i=>i.code);r.value=r.value.filter(i=>!o.includes(i.code))}},J=({row:e})=>{d.multiple||M(e)},V=async()=>{y.value=!0,h.value&&h.value.length||await F(),S(),B(),R.value?.resetFields(),b.value?.setCheckedKeys([]),D(),l.value={...l.value,...d.defalutQueryParam},N(()=>{b.value?.setCheckedKeys(l.value.deptIds??[]),w()})},w=async()=>{try{y.value=!0;let e=[],t;l.value.deptIds&&l.value.deptIds.length&&l.value.deptIds.forEach(n=>{h.value.findIndex(C=>C.id===n)>=0?t=n:e.push(n)});let o=JSON.parse(JSON.stringify(l.value));o.deptIds=e,o.orgId=t,p.value=await d.fetchData(o);const i=r.value.map(n=>n.code);N(()=>{p.value.records.forEach(n=>{i.includes(n.code)&&(d.multiple?m.value?.setCheckboxRow(n,!0):n.id===g.value&&m.value?.setRadioRow(n))})}),l.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},K=e=>{r.value=r.value.filter(o=>o.code!==e.code);const t=p.value.records.find(o=>o.code===e.code);t&&(d.multiple?m.value?.setCheckboxRow(t,!1):t.id===g.value&&(_.value=void 0,g.value="",m.value?.clearRadioRow()))};return z({confirm:async()=>{!r.value.length&&d.multiple||!_.value&&!d.multiple?de.warning("未选择需要新增的人员!"):U("success",d.multiple?r.value:_.value)},resetQuery:V}),(e,t)=>{const o=c("el-tree-select"),i=c("el-form-item"),n=c("el-input"),C=c("el-form"),$=c("el-search"),H=c("el-title"),j=c("el-tooltip"),G=c("el-grid"),W=c("el-flex"),X=ee("loading");return te((k(),E(W,{vertical:!0},{default:v(()=>[u($,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:w},{default:v(()=>[u(C,{ref_key:"queryRef",ref:R,inline:!0,model:a(l),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:v(()=>[u(i,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:v(()=>[u(o,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:a(l).disabled,modelValue:a(l).deptIds,"onUpdate:modelValue":t[0]||(t[0]=s=>a(l).deptIds=s),data:h.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:s=>s.isValid!=="1"||a(l).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(i,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:v(()=>[u(n,{modelValue:a(l).codeorname,"onUpdate:modelValue":t[1]||(t[1]=s=>a(l).codeorname=s),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(H,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),le("div",ge,[(k(!0),oe(ae,null,re(a(r),s=>(k(),E(fe,{key:s.code,closable:"",style:{margin:"2px"},onClose:ye=>K(s)},{default:v(()=>[u(j,{placement:"top",content:s.deptName},{default:v(()=>[se(ie(s.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))]),u(G,ne({ref_key:"gridRef",ref:m},Q,{data:a(p)?.records,total:a(p)?.total?a(p)?.total:0,pagination:"","current-page":a(l).current,"onUpdate:currentPage":t[2]||(t[2]=s=>a(l).current=s),"page-size":a(l).size,"onUpdate:pageSize":t[3]||(t[3]=s=>a(l).size=s),"row-class-name":T,style:{width:"100%"},onCheckboxChange:q,onCheckboxAll:A,onCellClick:J,onCurrentChange:w}),null,16,["data","total","current-page","page-size"])]),_:1})),[[X,y.value]])}}}),$e=ve(he,[["__scopeId","data-v-b3cb5677"]]);export{$e as default};
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import"vue";import"@vueuse/core";import"./userSelectContent.vue.js";import"../../api/BasicApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../api/SysUserApi.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import"vue";import"@vueuse/core";import"./userSelectContent.vue.js";import"../../api/BasicApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../api/SysUserApi.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{o as default};
@@ -1 +1 @@
1
- import{defineComponent as G,ref as m,shallowRef as O,onMounted as P,resolveComponent as p,resolveDirective as Q,withDirectives as W,openBlock as f,createBlock as v,withCtx as s,createVNode as n,createCommentVNode as L,normalizeStyle as T,createTextVNode as I,toDisplayString as w,createElementBlock as M,Fragment as J,renderList as X,nextTick as Z}from"vue";import{watchDebounced as ee}from"@vueuse/core";import te from"../../api/BasicApi.js";import U from"../../api/SysUserApi.js";import"element-plus";import re from"../../utils/FrameworkUtils.js";import{_ as le}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"xlsx-js-style";const oe=G({__name:"userSelectContent",props:{selectedUserIds:{type:Array,default:()=>[]},roleId:{type:String,default:""},multiple:{type:Boolean,default:!1},includeExternal:{type:Boolean,default:!1},onConfirm:{type:Function,default:void 0}},emits:["success"],setup(V,{expose:H,emit:K}){const C=m(!1),b=O([]),c=m([]),S=m([]),_=m([]),y=m(),g=m("");let E=new Map,B=!1;const h=V,R=K;ee(g,l=>{y.value?.filter(l.trim())},{debounce:200,maxWait:500});const Y=(l,e)=>{if(!l)return!0;const t=l.toLocaleLowerCase();return String(e.name??"").toLocaleLowerCase().includes(t)||String(e.code??"").toLocaleLowerCase().includes(t)};function $(l){const e=c.value.findIndex(t=>t.id===l.id);if(e!==-1){c.value.splice(e,1);const t=c.value.map(r=>r.id);y.value?.setCheckedKeys(t)}}const z=async()=>{_.value=[];let l=h.selectedUserIds;h.roleId&&(l=(await U.getSysRoleUserByRoleId(h.roleId)||[]).map(t=>t.sysUserInfoId).filter(Boolean).map(t=>String(t))),l.length&&(c.value=await U.getInitUserListComp(l),c.value.forEach(e=>{e.id&&_.value.push(String(e.id))}))},D=(l,e,t)=>{e.id&&l.push({id:e.id,code:e.loginName,name:e.userName,parentId:t,type:"YH",sex:e.sex})},A=l=>{const e=new Map;return E=new Map,l.forEach(t=>{if(t.id&&E.set(t.id,t),!t.mdmDeptId)return;const r=e.get(t.mdmDeptId);r?r.push(t):e.set(t.mdmDeptId,[t])}),e},N=async()=>{if(!B){B=!0,C.value=!0,c.value=[],b.value=[],g.value="";try{const l=h.includeExternal?U.getSysUserInfoUserSelectForTransfer():U.getSysUserInfoUserSelectComp(),[e,t]=await Promise.all([te.getMdmOrgDeptTree(),l,z()]),r=[];e.forEach(i=>{i.children?.forEach(o=>{o.parentId=i.id}),r.push(...j(i))});const d=[],a=A(t),u=new Set;r.forEach(i=>{i.type="BM",a.get(i.id)?.forEach(o=>{D(d,o,i.id),o.id&&u.add(o.id)})});const x=t.filter(i=>i.isIup==="0"&&!!i.id&&!u.has(i.id));if(x.length){const i="__external_users__";r.push({id:i,code:i,name:"外部人员",parentId:null,type:"BM"}),x.forEach(o=>D(d,o,i))}const k=F([...r,...d]);S.value=k.map(i=>i.id),b.value=k,await Z(),y.value?.setCheckedKeys(_.value)}catch(l){re.messageError(l)}finally{C.value=!1}}};P(()=>{N()});function F(l){const e=new Map,t=[];return l.forEach(r=>{e.set(r.id,{...r,children:[]})}),l.forEach(r=>{const d=e.get(r.id);if(r.parentId===null)t.push(d);else{const a=e.get(r.parentId);a&&a.children.push(d)}}),t}function j(l){const e=[];function t(r){r&&(e.push({id:r.id,code:r.code,name:r.name,parentId:r.parentId}),r.children&&r.children.length>0&&r.children.forEach(d=>t(d)))}return t(l),e}const q=()=>{const l=y.value?.getCheckedNodes().filter(e=>e.type==="YH")??[];c.value=l.map(e=>E.get(e.id)).filter(e=>e!==void 0)};return H({resetQuery:N,confirm:async()=>{await h.onConfirm?.(c.value),R("success",c.value)},reset:()=>{c.value=[]}}),(l,e)=>{const t=p("el-title"),r=p("el-search-input"),d=p("el-icons"),a=p("el-flex"),u=p("el-text"),x=p("el-tree"),k=p("el-icon-btn"),i=Q("loading");return W((f(),v(a,{vertical:!0,style:{height:"100%"}},{default:s(()=>[n(a,{vertical:!1},{default:s(()=>[n(a,{vertical:!0,style:{"padding-right":"15px"}},{default:s(()=>[n(t,{title:"人员列表",style:{"border-bottom":"var(--border)"}}),n(r,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=o=>g.value=o),"show-action":!1,placeholder:"请输入用户名称或者编码进行搜索"},null,8,["modelValue"]),n(a,{vertical:!0},{default:s(()=>[n(x,{style:{width:"100%"},"filter-node-method":Y,"show-checkbox":"",ref_key:"ref_tree",ref:y,data:b.value,onCheck:q,"node-key":"id","default-expanded-keys":S.value,"default-checked-keys":_.value,props:{label:"name",children:"children"}},{default:s(({data:o})=>[n(a,{align:"center"},{default:s(()=>[n(a,{align:"center",justify:"center",width:"20px"},{default:s(()=>[o.type==="BM"?(f(),v(d,{key:0,"model-value":"adtec-dept",style:{color:"var(--el-color-primary)"}})):L("v-if",!0),o.type==="YH"?(f(),v(d,{key:1,"model-value":"adtec-user",style:T({color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"})},null,8,["style"])):L("v-if",!0)]),_:2},1024),n(a,{align:"center"},{default:s(()=>[o.type==="YH"?(f(),v(u,{key:0},{default:s(()=>[I(w(o.name+`(${o.code})`),1)]),_:2},1024)):(f(),v(u,{key:1},{default:s(()=>[I(w(o.name),1)]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:1},8,["data","default-expanded-keys","default-checked-keys"])]),_:1})]),_:1}),n(a,{vertical:!0,style:{"border-left":"var(--border)","padding-left":"15px"}},{default:s(()=>[n(t,{title:`已选人员(${c.value.length})`,style:{"border-bottom":"var(--border)","margin-top":"5px"}},null,8,["title"]),n(a,{vertical:!0},{default:s(()=>[(f(!0),M(J,null,X(c.value,o=>(f(),M("div",{key:o.id,class:"user-select"},[n(a,{height:"50px",style:{"border-bottom":"var(--border)",cursor:"pointer"}},{default:s(()=>[n(a,{align:"center",width:"30px"},{default:s(()=>[n(d,{"model-value":"adtec-user",style:T([{"font-size":"20px"},{color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"}])},null,8,["style"])]),_:2},1024),n(a,{align:"center",vertical:!0,justify:"flex-start"},{default:s(()=>[n(a,null,{default:s(()=>[n(u,null,{default:s(()=>[I(w(o.userName+`(${o.loginName})`),1)]),_:2},1024)]),_:2},1024),n(a,{align:"flex-start",height:"18px",style:{overflow:"hidden"}},{default:s(()=>[n(u,{style:{"font-size":"12px",opacity:"0.8","margin-bottom":"8px"}},{default:s(()=>[I(w(o.deptName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(a,{width:"50px",align:"center"},{default:s(()=>[n(k,{onClick:se=>$(o),"model-value":"adtec-close",style:{opacity:"0.8",cursor:"pointer"}},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})]),_:1})]),_:1})]),_:1})),[[i,C.value]])}}}),Be=le(oe,[["__scopeId","data-v-22875bfe"]]);export{Be as default};
1
+ import{defineComponent as G,ref as m,shallowRef as O,onMounted as P,resolveComponent as p,resolveDirective as Q,withDirectives as W,openBlock as f,createBlock as v,withCtx as s,createVNode as n,createCommentVNode as L,normalizeStyle as T,createTextVNode as I,toDisplayString as w,createElementBlock as M,Fragment as J,renderList as X,nextTick as Z}from"vue";import{watchDebounced as ee}from"@vueuse/core";import te from"../../api/BasicApi.js";import U from"../../api/SysUserApi.js";import"element-plus";import re from"../../utils/FrameworkUtils.js";import{_ as le}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"xlsx-js-style";const oe=G({__name:"userSelectContent",props:{selectedUserIds:{type:Array,default:()=>[]},roleId:{type:String,default:""},multiple:{type:Boolean,default:!1},includeExternal:{type:Boolean,default:!1},onConfirm:{type:Function,default:void 0}},emits:["success"],setup(V,{expose:H,emit:K}){const C=m(!1),b=O([]),c=m([]),S=m([]),_=m([]),y=m(),g=m("");let E=new Map,B=!1;const h=V,R=K;ee(g,l=>{y.value?.filter(l.trim())},{debounce:200,maxWait:500});const Y=(l,e)=>{if(!l)return!0;const t=l.toLocaleLowerCase();return String(e.name??"").toLocaleLowerCase().includes(t)||String(e.code??"").toLocaleLowerCase().includes(t)};function $(l){const e=c.value.findIndex(t=>t.id===l.id);if(e!==-1){c.value.splice(e,1);const t=c.value.map(r=>r.id);y.value?.setCheckedKeys(t)}}const z=async()=>{_.value=[];let l=h.selectedUserIds;h.roleId&&(l=(await U.getSysRoleUserByRoleId(h.roleId)||[]).map(t=>t.sysUserInfoId).filter(Boolean).map(t=>String(t))),l.length&&(c.value=await U.getInitUserListComp(l),c.value.forEach(e=>{e.id&&_.value.push(String(e.id))}))},D=(l,e,t)=>{e.id&&l.push({id:e.id,code:e.loginName,name:e.userName,parentId:t,type:"YH",sex:e.sex})},A=l=>{const e=new Map;return E=new Map,l.forEach(t=>{if(t.id&&E.set(t.id,t),!t.mdmDeptId)return;const r=e.get(t.mdmDeptId);r?r.push(t):e.set(t.mdmDeptId,[t])}),e},N=async()=>{if(!B){B=!0,C.value=!0,c.value=[],b.value=[],g.value="";try{const l=h.includeExternal?U.getSysUserInfoUserSelectForTransfer():U.getSysUserInfoUserSelectComp(),[e,t]=await Promise.all([te.getMdmOrgDeptTree(),l,z()]),r=[];e.forEach(i=>{i.children?.forEach(o=>{o.parentId=i.id}),r.push(...j(i))});const d=[],a=A(t),u=new Set;r.forEach(i=>{i.type="BM",a.get(i.id)?.forEach(o=>{D(d,o,i.id),o.id&&u.add(o.id)})});const x=t.filter(i=>i.isIup==="0"&&!!i.id&&!u.has(i.id));if(x.length){const i="__external_users__";r.push({id:i,code:i,name:"外部人员",parentId:null,type:"BM"}),x.forEach(o=>D(d,o,i))}const k=F([...r,...d]);S.value=k.map(i=>i.id),b.value=k,await Z(),y.value?.setCheckedKeys(_.value)}catch(l){re.messageError(l)}finally{C.value=!1}}};P(()=>{N()});function F(l){const e=new Map,t=[];return l.forEach(r=>{e.set(r.id,{...r,children:[]})}),l.forEach(r=>{const d=e.get(r.id);if(r.parentId===null)t.push(d);else{const a=e.get(r.parentId);a&&a.children.push(d)}}),t}function j(l){const e=[];function t(r){r&&(e.push({id:r.id,code:r.code,name:r.name,parentId:r.parentId}),r.children&&r.children.length>0&&r.children.forEach(d=>t(d)))}return t(l),e}const q=()=>{const l=y.value?.getCheckedNodes().filter(e=>e.type==="YH")??[];c.value=l.map(e=>E.get(e.id)).filter(e=>e!==void 0)};return H({resetQuery:N,confirm:async()=>{await h.onConfirm?.(c.value),R("success",c.value)},reset:()=>{c.value=[]}}),(l,e)=>{const t=p("el-title"),r=p("el-search-input"),d=p("el-icons"),a=p("el-flex"),u=p("el-text"),x=p("el-tree"),k=p("el-icon-btn"),i=Q("loading");return W((f(),v(a,{vertical:!0,style:{height:"100%"}},{default:s(()=>[n(a,{vertical:!1},{default:s(()=>[n(a,{vertical:!0,style:{"padding-right":"15px"}},{default:s(()=>[n(t,{title:"人员列表",style:{"border-bottom":"var(--border)"}}),n(r,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=o=>g.value=o),"show-action":!1,placeholder:"请输入用户名称或者编码进行搜索"},null,8,["modelValue"]),n(a,{vertical:!0},{default:s(()=>[n(x,{style:{width:"100%"},"filter-node-method":Y,"show-checkbox":"",ref_key:"ref_tree",ref:y,data:b.value,onCheck:q,"node-key":"id","default-expanded-keys":S.value,"default-checked-keys":_.value,props:{label:"name",children:"children"}},{default:s(({data:o})=>[n(a,{align:"center"},{default:s(()=>[n(a,{align:"center",justify:"center",width:"20px"},{default:s(()=>[o.type==="BM"?(f(),v(d,{key:0,"model-value":"adtec-dept",style:{color:"var(--el-color-primary)"}})):L("v-if",!0),o.type==="YH"?(f(),v(d,{key:1,"model-value":"adtec-user",style:T({color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"})},null,8,["style"])):L("v-if",!0)]),_:2},1024),n(a,{align:"center"},{default:s(()=>[o.type==="YH"?(f(),v(u,{key:0},{default:s(()=>[I(w(o.name+`(${o.code})`),1)]),_:2},1024)):(f(),v(u,{key:1},{default:s(()=>[I(w(o.name),1)]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:1},8,["data","default-expanded-keys","default-checked-keys"])]),_:1})]),_:1}),n(a,{vertical:!0,style:{"border-left":"var(--border)","padding-left":"15px"}},{default:s(()=>[n(t,{title:`已选人员(${c.value.length})`,style:{"border-bottom":"var(--border)","margin-top":"5px"}},null,8,["title"]),n(a,{vertical:!0},{default:s(()=>[(f(!0),M(J,null,X(c.value,o=>(f(),M("div",{key:o.id,class:"user-select"},[n(a,{height:"50px",style:{"border-bottom":"var(--border)",cursor:"pointer"}},{default:s(()=>[n(a,{align:"center",width:"30px"},{default:s(()=>[n(d,{"model-value":"adtec-user",style:T([{"font-size":"20px"},{color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"}])},null,8,["style"])]),_:2},1024),n(a,{align:"center",vertical:!0,justify:"flex-start"},{default:s(()=>[n(a,null,{default:s(()=>[n(u,null,{default:s(()=>[I(w(o.userName+`(${o.loginName})`),1)]),_:2},1024)]),_:2},1024),n(a,{align:"flex-start",height:"18px",style:{overflow:"hidden"}},{default:s(()=>[n(u,{style:{"font-size":"12px",opacity:"0.8","margin-bottom":"8px"}},{default:s(()=>[I(w(o.deptName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(a,{width:"50px",align:"center"},{default:s(()=>[n(k,{onClick:se=>$(o),"model-value":"adtec-close",style:{opacity:"0.8",cursor:"pointer"}},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})]),_:1})]),_:1})]),_:1})),[[i,C.value]])}}}),De=le(oe,[["__scopeId","data-v-22875bfe"]]);export{De as default};
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js";import"vue";import"../../hooks/useDictHooks.js";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js";import"vue";import"../../hooks/useDictHooks.js";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";export{o as default};
@@ -1 +1 @@
1
- import{defineComponent as fe,ref as F,computed as E,useModel as H,resolveComponent as h,resolveDirective as ve,openBlock as m,createElementBlock as w,createBlock as S,withCtx as c,createElementVNode as x,Fragment as J,renderList as W,createVNode as y,unref as q,toDisplayString as B,withDirectives as ge,createTextVNode as N,createCommentVNode as K,normalizeStyle as ye,withModifiers as he,mergeModels as Q}from"vue";import{UploadFilled as we}from"@element-plus/icons-vue";import{ElMessage as d,ElMessageBox as xe}from"element-plus";import _e from"../../hooks/useFileView.js";import M from"../../api/DocumentApi.js";import k from"../../utils/FrameworkUtils.js";import{confirmDelete as Ce}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as Fe}from"../../stores/userInfoStore.js";import{getAcceptString as Be}from"../../utils/uploadAccept.js";import{buildUploadHeaders as ke}from"../../utils/buildUploadHeaders.js";import{_ as Ue}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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/globalLoading.js";import"../../utils/workflowTaskContext.js";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";const Ee={key:0},Se={style:{display:"flex","flex-direction":"column"}},Me={style:{display:"flex","flex-direction":"column"}},be=["onClick"],Ie={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},De={class:"el-upload__tip"},Le=fe({__name:"CustomElUpload",props:Q({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:Q(["success"],["update:uploadFilesList","update:loading"]),setup(f,{expose:X,emit:Y}){const{fileView:R}=_e(),$=Y,Z=Fe(),v=F(),p=F([]),_=F(""),b=F([]),o=f,O=E(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),ee=E(()=>ke(O.value)),n=H(f,"uploadFilesList"),te=e=>{_.value=e},le=()=>{_.value=""},I=E(()=>Be(o.accept)),V=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},ae=async e=>{const t=o.uploadCreateBy?.trim(),a=e.id!=null?String(e.id):"";if(!t||!a)return e;try{await M.updateFilesCreateBy([a],t),e.createBy=t}catch(l){k.messageError(l)}return e},oe=async(e,t,a)=>{if(e.code==="0"){const l=await ae(e.data);n.value.push(l)}else d.error(e.msg),v.value?.handleRemove(t);for(let l=r.value.length-1;l>=0;l--)r.value[l]===t.name&&r.value.splice(l,1);e.code==="0"&&(o.showOptMessage&&d.success("上传成功"),$("success",{files:n.value,deleteFiles:p.value})),r.value.length===0&&(g.value=!1,G(e.code==="0"?void 0:new Error(e.msg||"上传失败")))},g=H(f,"loading"),r=F([]);let D,L;const j=E(()=>b.value.some(e=>e.status!=="success"&&e.status!=="fail")),se=()=>n.value.length>0||j.value,G=e=>{r.value.length>0||(e?L?.(e):D?.(),D=void 0,L=void 0)},P=async e=>{if(n.value.find(i=>i.name===e.name))return d.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return d.warning("文件大小不能超过"+o.size+"MB"),!1;const a=I.value?.split(",").map(i=>i.slice(1).toLowerCase()),l=e.name.split(".").pop()?.toLowerCase();return a&&!a.includes(l??"")?(d.error(`文件 ${e.name} 格式不支持,仅允许 ${I.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"])},1),!1):(r.value.includes(e.name)||r.value.push(e.name),!0)},U=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},ne=e=>{if(U(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(a=>a.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):Z.getUserInfo.userCode===e.createBy},ie=async e=>{if(U(e)){d.warning("该附件非您上传,无法预览或删除");return}if(e.name===_.value){if(e.createBy&&!ne(e)){d.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)v.value?.handleRemove(e);else if(!await Ce({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>v.value?.handleRemove(e),successMessage:!1}))return}else A(e)},re=(e,t)=>{b.value=t},ue=async(e,t)=>{if(o.limit===1&&o.overwrite&&n.value.length>=1){const a=[...n.value],l=a[0];if(!o.isConfirmDelete){if(!await xe.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{g.value=!0,await M.delSysUploadFile(l.id).catch(u=>{k.messageError(u)})}catch(u){k.messageError(u);return}finally{g.value=!1}}n.value=[],v.value?.clearFiles(),e.length>0?await P(e[0])?(o.isConfirmDelete&&a.forEach(u=>{p.value.some(C=>C.id===u.id)||p.value.push(u)}),v.value?.handleStart(e[0]),o.autoUpload&&v.value?.submit()):n.value.push(...a):a.forEach(i=>{p.value.some(u=>u.id===i.id)||p.value.push(i)})}else d.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ce=(e,t,a)=>{d.error("上传失败");for(let l=r.value.length-1;l>=0;l--)r.value[l]===t.name&&r.value.splice(l,1);r.value.length===0&&(g.value=!1,G(e))},A=async e=>{const t=n.value.find(a=>a.name===e.name);if(t){if(U(t)){d.warning("该附件非您上传,无法预览或删除");return}R(t.id)}},T=async(e,t=!0)=>{const a=n.value.find(l=>l.name===e.name);if(!(!a||U(a)))try{o.isConfirmDelete?p.value.push(a):await M.delSysUploadFile(a.id),n.value.splice(n.value.indexOf(a),1)}catch(l){k.messageError(l)}},de=(e,t)=>{g.value=!0};return X({remove:T,confirm:async(e=!0)=>{try{if(g.value=!0,o.isConfirmDelete&&p.value.length>0&&e&&(await M.delSysUploadFiles(p.value.map(t=>t.id)),p.value=[]),!o.autoUpload)if(j.value){const t=b.value.filter(l=>l.status!=="success"&&l.status!=="fail");for(const l of t)if(!l.raw||!await P(l.raw))throw new Error("待上传文件校验失败");const a=new Promise((l,i)=>{D=l,L=i});v.value?.submit(),await a}else o.showOptMessage&&d.success("操作成功"),$("success",{files:n.value,deleteFiles:p.value});g.value=!1}catch(t){throw k.messageError(t),g.value=!1,t}},hasFiles:se}),(e,t)=>{const a=h("el-icons"),l=h("el-tooltip"),i=h("el-icon"),u=h("el-text"),C=h("el-flex"),pe=h("el-upload"),me=ve("loading");return f.isEdit?ge((m(),S(pe,{key:1,ref_key:"ref_upload",ref:v,"file-list":n.value,onSuccess:oe,onRemove:T,onPreview:A,"auto-upload":f.autoUpload,onChange:re,onError:ce,onExceed:ue,onProgress:de,"before-upload":P,drag:"",accept:I.value,action:O.value,multiple:"",limit:f.limit,headers:ee.value},{file:c(({file:s})=>[y(C,{class:"file-class",onMousemove:z=>te(s.name),onMouseout:le,onClick:z=>A(s),height:"20px",width:f.itemWidth},{default:c(()=>[y(C,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:c(()=>[y(l,{class:"box-item",content:s.name,placement:"top"},{default:c(()=>[y(u,{truncated:"",style:{cursor:"pointer"}},{default:c(()=>[y(a,{"model-value":V(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),N(" "+B(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),y(C,{align:"center",justify:"flex-end",width:"50px"},{default:c(()=>[!s?.businessId&&s.percentage!==100?(m(),S(u,{key:0},{default:c(()=>[N(B(s.percentage)+"% ",1)]),_:2},1024)):K("v-if",!0),s?.businessId||s.percentage===100?(m(),S(a,{key:1,onClick:he(z=>ie(s),["prevent","stop"]),"model-value":s.name===_.value?"adtec-close":"adtec-success",style:ye([{color:"var(--el-color-success)","font-size":"14px"},{color:s.name===_.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):K("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:c(()=>[y(i,{class:"el-icon--upload"},{default:c(()=>[y(q(we))]),_:1}),t[0]||(t[0]=x("div",{class:"el-upload__text"},[N("拖动文件或"),x("em",null,"点击上传")],-1)),x("div",De,"最大上传文件大小"+B(f.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[me,f.showLoading&&g.value]]):(m(),w("div",Ee,[n.value?.length?(m(),S(l,{key:0,placement:"top"},{content:c(()=>[x("div",Se,[(m(!0),w(J,null,W(n.value,s=>(m(),w("span",{key:s.id,style:{margin:"0 2px"}},B(s.name),1))),128))])]),default:c(()=>[x("div",Me,[(m(!0),w(J,null,W(n.value,s=>(m(),w("div",{key:s.id,class:"file-item",style:{display:"flex","align-items":"center",overflow:"hidden"}},[y(a,{"model-value":V(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),x("span",{class:"link-name",onClick:z=>q(R)(s.id)},B(s.name),9,be)]))),128))])]),_:1})):(m(),w("div",Ie,"暂无附件"))]))}}}),rt=Ue(Le,[["__scopeId","data-v-3d4290f1"]]);export{rt as default};
1
+ import{defineComponent as fe,ref as F,computed as E,useModel as H,resolveComponent as h,resolveDirective as ve,openBlock as m,createElementBlock as w,createBlock as S,withCtx as c,createElementVNode as x,Fragment as J,renderList as W,createVNode as y,unref as q,toDisplayString as B,withDirectives as ge,createTextVNode as N,createCommentVNode as K,normalizeStyle as ye,withModifiers as he,mergeModels as Q}from"vue";import{UploadFilled as we}from"@element-plus/icons-vue";import{ElMessage as d,ElMessageBox as xe}from"element-plus";import _e from"../../hooks/useFileView.js";import M from"../../api/DocumentApi.js";import k from"../../utils/FrameworkUtils.js";import{confirmDelete as Ce}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as Fe}from"../../stores/userInfoStore.js";import{getAcceptString as Be}from"../../utils/uploadAccept.js";import{buildUploadHeaders as ke}from"../../utils/buildUploadHeaders.js";import{_ as Ue}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"../../utils/workflowTaskContext.js";import"xlsx-js-style";import"../../hooks/useBehaviorAction.js";import"pinia";import"../../utils/userSessionStorage.js";const Ee={key:0},Se={style:{display:"flex","flex-direction":"column"}},Me={style:{display:"flex","flex-direction":"column"}},be=["onClick"],Ie={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},De={class:"el-upload__tip"},Le=fe({__name:"CustomElUpload",props:Q({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:Q(["success"],["update:uploadFilesList","update:loading"]),setup(f,{expose:X,emit:Y}){const{fileView:R}=_e(),$=Y,Z=Fe(),v=F(),p=F([]),_=F(""),b=F([]),o=f,O=E(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),ee=E(()=>ke(O.value)),n=H(f,"uploadFilesList"),te=e=>{_.value=e},le=()=>{_.value=""},I=E(()=>Be(o.accept)),V=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},ae=async e=>{const t=o.uploadCreateBy?.trim(),a=e.id!=null?String(e.id):"";if(!t||!a)return e;try{await M.updateFilesCreateBy([a],t),e.createBy=t}catch(l){k.messageError(l)}return e},oe=async(e,t,a)=>{if(e.code==="0"){const l=await ae(e.data);n.value.push(l)}else d.error(e.msg),v.value?.handleRemove(t);for(let l=r.value.length-1;l>=0;l--)r.value[l]===t.name&&r.value.splice(l,1);e.code==="0"&&(o.showOptMessage&&d.success("上传成功"),$("success",{files:n.value,deleteFiles:p.value})),r.value.length===0&&(g.value=!1,G(e.code==="0"?void 0:new Error(e.msg||"上传失败")))},g=H(f,"loading"),r=F([]);let D,L;const j=E(()=>b.value.some(e=>e.status!=="success"&&e.status!=="fail")),se=()=>n.value.length>0||j.value,G=e=>{r.value.length>0||(e?L?.(e):D?.(),D=void 0,L=void 0)},P=async e=>{if(n.value.find(i=>i.name===e.name))return d.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return d.warning("文件大小不能超过"+o.size+"MB"),!1;const a=I.value?.split(",").map(i=>i.slice(1).toLowerCase()),l=e.name.split(".").pop()?.toLowerCase();return a&&!a.includes(l??"")?(d.error(`文件 ${e.name} 格式不支持,仅允许 ${I.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"])},1),!1):(r.value.includes(e.name)||r.value.push(e.name),!0)},U=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},ne=e=>{if(U(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(a=>a.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):Z.getUserInfo.userCode===e.createBy},ie=async e=>{if(U(e)){d.warning("该附件非您上传,无法预览或删除");return}if(e.name===_.value){if(e.createBy&&!ne(e)){d.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)v.value?.handleRemove(e);else if(!await Ce({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>v.value?.handleRemove(e),successMessage:!1}))return}else A(e)},re=(e,t)=>{b.value=t},ue=async(e,t)=>{if(o.limit===1&&o.overwrite&&n.value.length>=1){const a=[...n.value],l=a[0];if(!o.isConfirmDelete){if(!await xe.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{g.value=!0,await M.delSysUploadFile(l.id).catch(u=>{k.messageError(u)})}catch(u){k.messageError(u);return}finally{g.value=!1}}n.value=[],v.value?.clearFiles(),e.length>0?await P(e[0])?(o.isConfirmDelete&&a.forEach(u=>{p.value.some(C=>C.id===u.id)||p.value.push(u)}),v.value?.handleStart(e[0]),o.autoUpload&&v.value?.submit()):n.value.push(...a):a.forEach(i=>{p.value.some(u=>u.id===i.id)||p.value.push(i)})}else d.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ce=(e,t,a)=>{d.error("上传失败");for(let l=r.value.length-1;l>=0;l--)r.value[l]===t.name&&r.value.splice(l,1);r.value.length===0&&(g.value=!1,G(e))},A=async e=>{const t=n.value.find(a=>a.name===e.name);if(t){if(U(t)){d.warning("该附件非您上传,无法预览或删除");return}R(t.id)}},T=async(e,t=!0)=>{const a=n.value.find(l=>l.name===e.name);if(!(!a||U(a)))try{o.isConfirmDelete?p.value.push(a):await M.delSysUploadFile(a.id),n.value.splice(n.value.indexOf(a),1)}catch(l){k.messageError(l)}},de=(e,t)=>{g.value=!0};return X({remove:T,confirm:async(e=!0)=>{try{if(g.value=!0,o.isConfirmDelete&&p.value.length>0&&e&&(await M.delSysUploadFiles(p.value.map(t=>t.id)),p.value=[]),!o.autoUpload)if(j.value){const t=b.value.filter(l=>l.status!=="success"&&l.status!=="fail");for(const l of t)if(!l.raw||!await P(l.raw))throw new Error("待上传文件校验失败");const a=new Promise((l,i)=>{D=l,L=i});v.value?.submit(),await a}else o.showOptMessage&&d.success("操作成功"),$("success",{files:n.value,deleteFiles:p.value});g.value=!1}catch(t){throw k.messageError(t),g.value=!1,t}},hasFiles:se}),(e,t)=>{const a=h("el-icons"),l=h("el-tooltip"),i=h("el-icon"),u=h("el-text"),C=h("el-flex"),pe=h("el-upload"),me=ve("loading");return f.isEdit?ge((m(),S(pe,{key:1,ref_key:"ref_upload",ref:v,"file-list":n.value,onSuccess:oe,onRemove:T,onPreview:A,"auto-upload":f.autoUpload,onChange:re,onError:ce,onExceed:ue,onProgress:de,"before-upload":P,drag:"",accept:I.value,action:O.value,multiple:"",limit:f.limit,headers:ee.value},{file:c(({file:s})=>[y(C,{class:"file-class",onMousemove:z=>te(s.name),onMouseout:le,onClick:z=>A(s),height:"20px",width:f.itemWidth},{default:c(()=>[y(C,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:c(()=>[y(l,{class:"box-item",content:s.name,placement:"top"},{default:c(()=>[y(u,{truncated:"",style:{cursor:"pointer"}},{default:c(()=>[y(a,{"model-value":V(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),N(" "+B(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),y(C,{align:"center",justify:"flex-end",width:"50px"},{default:c(()=>[!s?.businessId&&s.percentage!==100?(m(),S(u,{key:0},{default:c(()=>[N(B(s.percentage)+"% ",1)]),_:2},1024)):K("v-if",!0),s?.businessId||s.percentage===100?(m(),S(a,{key:1,onClick:he(z=>ie(s),["prevent","stop"]),"model-value":s.name===_.value?"adtec-close":"adtec-success",style:ye([{color:"var(--el-color-success)","font-size":"14px"},{color:s.name===_.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):K("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:c(()=>[y(i,{class:"el-icon--upload"},{default:c(()=>[y(q(we))]),_:1}),t[0]||(t[0]=x("div",{class:"el-upload__text"},[N("拖动文件或"),x("em",null,"点击上传")],-1)),x("div",De,"最大上传文件大小"+B(f.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[me,f.showLoading&&g.value]]):(m(),w("div",Ee,[n.value?.length?(m(),S(l,{key:0,placement:"top"},{content:c(()=>[x("div",Se,[(m(!0),w(J,null,W(n.value,s=>(m(),w("span",{key:s.id,style:{margin:"0 2px"}},B(s.name),1))),128))])]),default:c(()=>[x("div",Me,[(m(!0),w(J,null,W(n.value,s=>(m(),w("div",{key:s.id,class:"file-item",style:{display:"flex","align-items":"center",overflow:"hidden"}},[y(a,{"model-value":V(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),x("span",{class:"link-name",onClick:z=>q(R)(s.id)},B(s.name),9,be)]))),128))])]),_:1})):(m(),w("div",Ie,"暂无附件"))]))}}}),ct=Ue(Le,[["__scopeId","data-v-3d4290f1"]]);export{ct as default};
@@ -1 +1 @@
1
- import{defineComponent as k,useModel as E,ref as c,onMounted as L,onBeforeUnmount as x,openBlock as C,createBlock as R,Teleport as U,createElementVNode as w,normalizeClass as y,createVNode as I,unref as s,createCommentVNode as M,mergeModels as g}from"vue";import{useVModel as u}from"@vueuse/core";import S from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import N from"./OfficePreview.vue.js";import{_ as O}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"xlsx-js-style";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";const j=k({__name:"FileView",props:g({title:{type:String,default:""},url:{type:String,default:""},fileId:{type:String,default:""},edit:{type:String,default:"view"}},{modelValue:{},modelModifiers:{}}),emits:g(["update:title","update:url","update:fileId","update:edit"],["update:modelValue"]),setup(d,{emit:h}){const m=E(d,"modelValue"),n=d,r=h,f=u(n,"title",r),i=u(n,"fileId",r),F=u(n,"url",r),o=c(null),t=c(!1),a=c(!1),p=()=>{const e=o.value;t.value=!!e&&document.fullscreenElement===e,document.body.style.overflow=t.value?"hidden":""},v=async()=>{try{document.fullscreenElement===o.value&&await document.exitFullscreen()}catch{}t.value=!1,document.body.style.overflow=""},_=async()=>{const e=o.value;if(e)try{document.fullscreenElement===e?await document.exitFullscreen():await e.requestFullscreen()}catch{t.value=!t.value,document.body.style.overflow=t.value?"hidden":""}},V=async()=>{await v(),m.value=!1},b=async()=>{if(i.value)try{a.value=!0;const e=await S.downloadFile(i.value),l=document.createElement("a");l.href=URL.createObjectURL(e),l.download=f.value,l.click(),URL.revokeObjectURL(l.href)}catch(e){B.messageError(e)}finally{a.value=!1}};return L(()=>document.addEventListener("fullscreenchange",p)),x(()=>{document.removeEventListener("fullscreenchange",p),v()}),(e,l)=>m.value?(C(),R(U,{key:0,to:"body"},[w("div",{class:y(["file-view-overlay",{"is-preview-fullscreen":t.value}])},[w("div",{ref_key:"previewContainerRef",ref:o,class:y(["office-preview",{"fullscreen-mode":t.value}])},[I(N,{url:s(F),"file-id":s(i),"file-name":s(f),"show-header":"","show-download":"","show-fullscreen":"","show-close":"",fullscreen:t.value,"download-loading":a.value,onDownload:b,onToggleFullscreen:_,onClose:V},null,8,["url","file-id","file-name","fullscreen","download-loading"])],2)],2)])):M("v-if",!0)}}),ce=O(j,[["__scopeId","data-v-52672773"]]);export{ce as default};
1
+ import{defineComponent as k,useModel as E,ref as c,onMounted as L,onBeforeUnmount as x,openBlock as C,createBlock as R,Teleport as U,createElementVNode as w,normalizeClass as y,createVNode as I,unref as s,createCommentVNode as M,mergeModels as g}from"vue";import{useVModel as u}from"@vueuse/core";import S from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import N from"./OfficePreview.vue.js";import{_ as O}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"xlsx-js-style";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";const j=k({__name:"FileView",props:g({title:{type:String,default:""},url:{type:String,default:""},fileId:{type:String,default:""},edit:{type:String,default:"view"}},{modelValue:{},modelModifiers:{}}),emits:g(["update:title","update:url","update:fileId","update:edit"],["update:modelValue"]),setup(d,{emit:h}){const m=E(d,"modelValue"),r=d,n=h,f=u(r,"title",n),i=u(r,"fileId",n),F=u(r,"url",n),o=c(null),t=c(!1),a=c(!1),p=()=>{const e=o.value;t.value=!!e&&document.fullscreenElement===e,document.body.style.overflow=t.value?"hidden":""},v=async()=>{try{document.fullscreenElement===o.value&&await document.exitFullscreen()}catch{}t.value=!1,document.body.style.overflow=""},_=async()=>{const e=o.value;if(e)try{document.fullscreenElement===e?await document.exitFullscreen():await e.requestFullscreen()}catch{t.value=!t.value,document.body.style.overflow=t.value?"hidden":""}},V=async()=>{await v(),m.value=!1},b=async()=>{if(i.value)try{a.value=!0;const e=await S.downloadFile(i.value),l=document.createElement("a");l.href=URL.createObjectURL(e),l.download=f.value,l.click(),URL.revokeObjectURL(l.href)}catch(e){B.messageError(e)}finally{a.value=!1}};return L(()=>document.addEventListener("fullscreenchange",p)),x(()=>{document.removeEventListener("fullscreenchange",p),v()}),(e,l)=>m.value?(C(),R(U,{key:0,to:"body"},[w("div",{class:y(["file-view-overlay",{"is-preview-fullscreen":t.value}])},[w("div",{ref_key:"previewContainerRef",ref:o,class:y(["office-preview",{"fullscreen-mode":t.value}])},[I(N,{url:s(F),"file-id":s(i),"file-name":s(f),"show-header":"","show-download":"","show-fullscreen":"","show-close":"",fullscreen:t.value,"download-loading":a.value,onDownload:b,onToggleFullscreen:_,onClose:V},null,8,["url","file-id","file-name","fullscreen","download-loading"])],2)],2)])):M("v-if",!0)}}),se=O(j,[["__scopeId","data-v-52672773"]]);export{se as default};
@@ -1 +1 @@
1
- import{defineComponent as c,ref as a,openBlock as d,createBlock as v,createCommentVNode as w}from"vue";import p from"../../api/DocumentApi.js";import F from"../../utils/FrameworkUtils.js";import V from"./FileView.vue.js";import{getFileSuffix as k,isPreviewableSuffix as U}from"../../utils/uploadAccept.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"xlsx-js-style";import"@vueuse/core";import"./OfficePreview.vue.js";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const W=c({__name:"FileViewComponents",setup(b,{expose:u}){const t=a(!1),m=a(""),l=a(""),s=a("view");let n=0;const f=async(o,i)=>{const e=await p.downloadFile(o),r=document.createElement("a");r.href=URL.createObjectURL(e),r.download=i,r.click(),URL.revokeObjectURL(r.href)};return u({viewFile:async o=>{const i=++n;m.value="文件预览",l.value=o,t.value=!0;try{const e=await p.getUpLoadFilesVoById(o);if(i!==n||!t.value||l.value!==o)return;const r=k(e);if(!U(r)){t.value=!1,await f(e.id,e.name);return}m.value=e.name}catch(e){if(i!==n||!t.value||l.value!==o)return;t.value=!1,F.messageError(e)}}}),(o,i)=>t.value?(d(),v(V,{key:0,modelValue:t.value,"onUpdate:modelValue":i[0]||(i[0]=e=>t.value=e),title:m.value,"file-id":l.value,edit:s.value},null,8,["modelValue","title","file-id","edit"])):w("v-if",!0)}});export{W as default};
1
+ import{defineComponent as c,ref as a,openBlock as d,createBlock as v,createCommentVNode as w}from"vue";import p from"../../api/DocumentApi.js";import F from"../../utils/FrameworkUtils.js";import V from"./FileView.vue.js";import{getFileSuffix as k,isPreviewableSuffix as U}from"../../utils/uploadAccept.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"xlsx-js-style";import"@vueuse/core";import"./OfficePreview.vue.js";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const X=c({__name:"FileViewComponents",setup(b,{expose:u}){const t=a(!1),m=a(""),l=a(""),s=a("view");let n=0;const f=async(o,i)=>{const e=await p.downloadFile(o),r=document.createElement("a");r.href=URL.createObjectURL(e),r.download=i,r.click(),URL.revokeObjectURL(r.href)};return u({viewFile:async o=>{const i=++n;m.value="文件预览",l.value=o,t.value=!0;try{const e=await p.getUpLoadFilesVoById(o);if(i!==n||!t.value||l.value!==o)return;const r=k(e);if(!U(r)){t.value=!1,await f(e.id,e.name);return}m.value=e.name}catch(e){if(i!==n||!t.value||l.value!==o)return;t.value=!1,F.messageError(e)}}}),(o,i)=>t.value?(d(),v(V,{key:0,modelValue:t.value,"onUpdate:modelValue":i[0]||(i[0]=e=>t.value=e),title:m.value,"file-id":l.value,edit:s.value},null,8,["modelValue","title","file-id","edit"])):w("v-if",!0)}});export{X as default};
@@ -1,2 +1,2 @@
1
- import{defineComponent as U,useModel as G,ref as d,computed as g,watch as J,onMounted as K,onBeforeUnmount as Y,openBlock as f,createElementBlock as S,normalizeClass as _,createBlock as z,unref as x,createCommentVNode as w,createElementVNode as h,createVNode as ee,Transition as oe,withCtx as I,createTextVNode as ae,mergeModels as Z}from"vue";import{ElEmpty as le,ElButton as re,ElMessage as te}from"element-plus";import se from"../../api/DocumentApi.js";import{resolveOfficeFileExt as ne,MAX_RICH_PREVIEW_ZOOM as ie,MIN_OFFICE_ZOOM as de,clampRichPreviewZoom as k,OFFICE_ZOOM_STEP as T}from"../../utils/officePreviewUtil.js";import ue from"./OfficePreviewHeaderBar.vue.js";import{_ as ce}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"@element-plus/icons-vue";const fe={class:"fileview-frame-wrap"},me={key:0,class:"preview-loading-overlay"},ve=["src","title"],we=U({__name:"OfficePreview",props:Z({url:{default:""},fileId:{default:""},fileName:{default:""},fileType:{default:""},showHeader:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showPageNav:{type:Boolean,default:!1},showZoom:{type:Boolean,default:!0},showDownload:{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},lostDescription:{default:"附件已丢失或无权访问"},attachmentLost:{type:Boolean,default:!1}},{scale:{default:1},scaleModifiers:{}}),emits:Z(["loaded","error","download","refresh","toggle-fullscreen","close"],["update:scale"]),setup(a,{expose:D,emit:q}){const l=a,r=G(a,"scale"),t=q,u=d(""),E=d(null),c=d(!1),i=d(!1),p=d(""),s=d(""),m=d(-1),v=d(0);let y=0;const H=new Set(["pdf","doc","docx","xls","xlsx","ppt","pptx","txt","csv","html","htm","xml","json","md"]),V=g(()=>p.value||l.lostDescription),A=g(()=>ne(l.fileType,l.fileName,l.url)),M=g(()=>l.showSearch&&!i.value&&H.has(A.value)),W=g(()=>l.showZoom&&!i.value),n=o=>{E.value?.contentWindow?.postMessage({source:"adtec-office-preview",type:"command",...o},"*")},N=()=>{r.value=k(r.value+T),n({command:"zoom",scale:r.value})},C=()=>{r.value=k(r.value-T),n({command:"zoom",scale:r.value})},O=()=>{r.value=1,n({command:"zoom",scale:r.value})},$=o=>{const e=o.trim();if(s.value=e,m.value=-1,v.value=0,!e){P();return}n({command:"search",query:e,direction:"first"})},P=()=>{s.value="",m.value=-1,v.value=0,n({command:"clear-search"})},b=()=>{s.value&&n({command:"search",query:s.value,direction:"prev"})},Q=()=>{s.value&&n({command:"search",query:s.value,direction:"next"})},F=o=>{if(!(o.source!==E.value?.contentWindow||o.data?.source!=="adtec-fileview")){if(o.data.type==="ready"){n({command:"zoom",scale:r.value});return}if(o.data.type==="search-result"){const e=Number(o.data.total||0);v.value=e,m.value=e>0?Number(o.data.index||0):-1,e===0&&s.value&&te.warning("未找到匹配内容")}}},L=async()=>{const o=++y;if(u.value="",c.value=!1,i.value=!1,p.value="",r.value=1,s.value="",m.value=-1,v.value=0,l.attachmentLost){i.value=!0,t("error");return}c.value=!0;try{if(l.fileId){const e=await se.createPreviewSession(l.fileId);if(o!==y)return;u.value=e.url;return}if(l.url.startsWith("/api/doc/preview/fileView/")){u.value=l.url;return}throw new Error("为保护附件地址,旧版文件直链已停止预览,请使用附件 ID 打开")}catch(e){if(o!==y)return;c.value=!1,i.value=!0,p.value=e?.msg||e?.message||"文件预览失败,请下载后查看",t("error",e)}},R=()=>{t("refresh"),L()},X=()=>{c.value=!1,window.setTimeout(()=>{n({command:"zoom",scale:r.value})},0),t("loaded")},j=o=>{c.value=!1,i.value=!0,p.value="文件预览服务暂不可用,请稍后重试或下载后查看",t("error",o)};return J(()=>[l.fileId,l.url,l.attachmentLost],()=>void L(),{immediate:!0}),K(()=>window.addEventListener("message",F)),Y(()=>{y++,window.removeEventListener("message",F)}),D({reloadPreview:R,zoomIn:N,zoomOut:C,resetZoom:O}),(o,e)=>(f(),S("div",{class:_(["office-preview-root",{"is-fullscreen":a.fullscreen}])},[a.showHeader?(f(),z(ue,{key:0,title:a.fileName,"title-only":!M.value,zoom:r.value,"search-query":s.value,"search-index":m.value,"search-total":v.value,"show-search":M.value,"show-page-nav":!1,"show-zoom":W.value,"show-download":a.showDownload,"show-refresh":a.showRefresh,"show-fullscreen":a.showFullscreen,"show-close":a.showClose,fullscreen:a.fullscreen,"download-loading":a.downloadLoading,"refresh-loading":a.refreshLoading,"min-zoom":x(de),"max-zoom":x(ie),onZoomIn:N,onZoomOut:C,onZoomReset:O,onSearch:$,onSearchClear:P,onSearchPrev:b,onSearchNext:Q,onDownload:e[0]||(e[0]=B=>t("download")),onRefresh:R,onToggleFullscreen:e[1]||(e[1]=B=>t("toggle-fullscreen")),onClose:e[2]||(e[2]=B=>t("close"))},null,8,["title","title-only","zoom","search-query","search-index","search-total","show-search","show-zoom","show-download","show-refresh","show-fullscreen","show-close","fullscreen","download-loading","refresh-loading","min-zoom","max-zoom"])):w("v-if",!0),w(` 外层加载层与预览页内层样式完全一致(spinner + 正在加载文件... + 进度条),
2
- 切换时淡出过渡,避免 spinner 相位/进度条状态差异造成的跳动 `),h("div",fe,[ee(oe,{name:"preview-loading-fade"},{default:I(()=>[c.value?(f(),S("div",me,[...e[4]||(e[4]=[h("div",{class:"preview-loading-spinner"},null,-1),h("div",{class:"preview-loading-text"},"正在加载文件...",-1),h("div",{class:"preview-loading-progress"},[h("div",{class:"preview-loading-bar is-indeterminate"})],-1)])])):w("v-if",!0)]),_:1}),u.value&&!i.value?(f(),S("iframe",{key:u.value,ref_key:"previewFrameRef",ref:E,class:"fileview-frame",src:u.value,title:a.fileName||"文件预览",referrerpolicy:"same-origin",onLoad:X,onError:j},null,40,ve)):i.value?(f(),z(x(le),{key:1,description:V.value},{default:I(()=>[a.showDownload?(f(),z(x(re),{key:0,type:"primary",onClick:e[3]||(e[3]=B=>t("download"))},{default:I(()=>[...e[5]||(e[5]=[ae(" 下载文件 ",-1)])]),_:1})):w("v-if",!0)]),_:1},8,["description"])):w("v-if",!0)])],2))}}),Te=ce(we,[["__scopeId","data-v-c543d9c4"]]);export{Te as default};
1
+ import{defineComponent as U,useModel as G,ref as d,computed as g,watch as J,onMounted as K,onBeforeUnmount as Y,openBlock as f,createElementBlock as S,normalizeClass as _,createBlock as z,unref as x,createCommentVNode as w,createElementVNode as h,createVNode as ee,Transition as oe,withCtx as I,createTextVNode as ae,mergeModels as Z}from"vue";import{ElEmpty as le,ElButton as re,ElMessage as te}from"element-plus";import se from"../../api/DocumentApi.js";import{resolveOfficeFileExt as ne,MAX_RICH_PREVIEW_ZOOM as ie,MIN_OFFICE_ZOOM as de,clampRichPreviewZoom as k,OFFICE_ZOOM_STEP as T}from"../../utils/officePreviewUtil.js";import ue from"./OfficePreviewHeaderBar.vue.js";import{_ as ce}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"@element-plus/icons-vue";const fe={class:"fileview-frame-wrap"},me={key:0,class:"preview-loading-overlay"},ve=["src","title"],we=U({__name:"OfficePreview",props:Z({url:{default:""},fileId:{default:""},fileName:{default:""},fileType:{default:""},showHeader:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showPageNav:{type:Boolean,default:!1},showZoom:{type:Boolean,default:!0},showDownload:{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},lostDescription:{default:"附件已丢失或无权访问"},attachmentLost:{type:Boolean,default:!1}},{scale:{default:1},scaleModifiers:{}}),emits:Z(["loaded","error","download","refresh","toggle-fullscreen","close"],["update:scale"]),setup(a,{expose:D,emit:q}){const l=a,r=G(a,"scale"),t=q,u=d(""),E=d(null),c=d(!1),i=d(!1),p=d(""),s=d(""),m=d(-1),v=d(0);let y=0;const H=new Set(["pdf","doc","docx","xls","xlsx","ppt","pptx","txt","csv","html","htm","xml","json","md"]),V=g(()=>p.value||l.lostDescription),A=g(()=>ne(l.fileType,l.fileName,l.url)),M=g(()=>l.showSearch&&!i.value&&H.has(A.value)),W=g(()=>l.showZoom&&!i.value),n=o=>{E.value?.contentWindow?.postMessage({source:"adtec-office-preview",type:"command",...o},"*")},N=()=>{r.value=k(r.value+T),n({command:"zoom",scale:r.value})},C=()=>{r.value=k(r.value-T),n({command:"zoom",scale:r.value})},O=()=>{r.value=1,n({command:"zoom",scale:r.value})},$=o=>{const e=o.trim();if(s.value=e,m.value=-1,v.value=0,!e){P();return}n({command:"search",query:e,direction:"first"})},P=()=>{s.value="",m.value=-1,v.value=0,n({command:"clear-search"})},b=()=>{s.value&&n({command:"search",query:s.value,direction:"prev"})},Q=()=>{s.value&&n({command:"search",query:s.value,direction:"next"})},F=o=>{if(!(o.source!==E.value?.contentWindow||o.data?.source!=="adtec-fileview")){if(o.data.type==="ready"){n({command:"zoom",scale:r.value});return}if(o.data.type==="search-result"){const e=Number(o.data.total||0);v.value=e,m.value=e>0?Number(o.data.index||0):-1,e===0&&s.value&&te.warning("未找到匹配内容")}}},L=async()=>{const o=++y;if(u.value="",c.value=!1,i.value=!1,p.value="",r.value=1,s.value="",m.value=-1,v.value=0,l.attachmentLost){i.value=!0,t("error");return}c.value=!0;try{if(l.fileId){const e=await se.createPreviewSession(l.fileId);if(o!==y)return;u.value=e.url;return}if(l.url.startsWith("/api/doc/preview/fileView/")){u.value=l.url;return}throw new Error("为保护附件地址,旧版文件直链已停止预览,请使用附件 ID 打开")}catch(e){if(o!==y)return;c.value=!1,i.value=!0,p.value=e?.msg||e?.message||"文件预览失败,请下载后查看",t("error",e)}},R=()=>{t("refresh"),L()},X=()=>{c.value=!1,window.setTimeout(()=>{n({command:"zoom",scale:r.value})},0),t("loaded")},j=o=>{c.value=!1,i.value=!0,p.value="文件预览服务暂不可用,请稍后重试或下载后查看",t("error",o)};return J(()=>[l.fileId,l.url,l.attachmentLost],()=>void L(),{immediate:!0}),K(()=>window.addEventListener("message",F)),Y(()=>{y++,window.removeEventListener("message",F)}),D({reloadPreview:R,zoomIn:N,zoomOut:C,resetZoom:O}),(o,e)=>(f(),S("div",{class:_(["office-preview-root",{"is-fullscreen":a.fullscreen}])},[a.showHeader?(f(),z(ue,{key:0,title:a.fileName,"title-only":!M.value,zoom:r.value,"search-query":s.value,"search-index":m.value,"search-total":v.value,"show-search":M.value,"show-page-nav":!1,"show-zoom":W.value,"show-download":a.showDownload,"show-refresh":a.showRefresh,"show-fullscreen":a.showFullscreen,"show-close":a.showClose,fullscreen:a.fullscreen,"download-loading":a.downloadLoading,"refresh-loading":a.refreshLoading,"min-zoom":x(de),"max-zoom":x(ie),onZoomIn:N,onZoomOut:C,onZoomReset:O,onSearch:$,onSearchClear:P,onSearchPrev:b,onSearchNext:Q,onDownload:e[0]||(e[0]=B=>t("download")),onRefresh:R,onToggleFullscreen:e[1]||(e[1]=B=>t("toggle-fullscreen")),onClose:e[2]||(e[2]=B=>t("close"))},null,8,["title","title-only","zoom","search-query","search-index","search-total","show-search","show-zoom","show-download","show-refresh","show-fullscreen","show-close","fullscreen","download-loading","refresh-loading","min-zoom","max-zoom"])):w("v-if",!0),w(` 外层加载层与预览页内层样式完全一致(spinner + 正在加载文件... + 进度条),
2
+ 切换时淡出过渡,避免 spinner 相位/进度条状态差异造成的跳动 `),h("div",fe,[ee(oe,{name:"preview-loading-fade"},{default:I(()=>[c.value?(f(),S("div",me,[...e[4]||(e[4]=[h("div",{class:"preview-loading-spinner"},null,-1),h("div",{class:"preview-loading-text"},"正在加载文件...",-1),h("div",{class:"preview-loading-progress"},[h("div",{class:"preview-loading-bar is-indeterminate"})],-1)])])):w("v-if",!0)]),_:1}),u.value&&!i.value?(f(),S("iframe",{key:u.value,ref_key:"previewFrameRef",ref:E,class:"fileview-frame",src:u.value,title:a.fileName||"文件预览",referrerpolicy:"same-origin",onLoad:X,onError:j},null,40,ve)):i.value?(f(),z(x(le),{key:1,description:V.value},{default:I(()=>[a.showDownload?(f(),z(x(re),{key:0,type:"primary",onClick:e[3]||(e[3]=B=>t("download"))},{default:I(()=>[...e[5]||(e[5]=[ae(" 下载文件 ",-1)])]),_:1})):w("v-if",!0)]),_:1},8,["description"])):w("v-if",!0)])],2))}}),De=ce(we,[["__scopeId","data-v-c543d9c4"]]);export{De 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 M,openBlock as l,createElementBlock as F,createVNode as ee,withCtx as u,renderSlot as S,createBlock as f,createTextVNode as m,toDisplayString as v,createCommentVNode as d,unref as te,Fragment as ae,mergeModels as $}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-CcIlAFpF.js";import ne from"./components/CheckDialog.vue.js";import P from"../../utils/FrameworkUtils.js";import{userInfoStore as k}from"../../stores/userInfoStore.js";import{frontendBus as q}from"../../utils/frontendBus.js";import{showTodoDialog as se}from"../../hooks/workflowTodo.js";import{_ as ie}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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/globalLoading.js";import"../../utils/workflowTaskContext.js";import"@element-plus/icons-vue";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import"@vueuse/core";import"../business/userSelectContent.vue.js";import"../../api/BasicApi.js";import"../../api/SysUserApi.js";import"xlsx-js-style";import"../upload/CustomElUpload.vue.js";import"../../hooks/useFileView.js";import"../../api/DocumentApi.js";import"../../hooks/useDeleteConfirmHooks.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/routeMetaParams.js";import"../../hooks/useOpenNewMenu.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const le=Q({__name:"TaskOperation",props:$({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:$(["success"],["update:butLoading"]),setup(o,{expose:L,emit:h}){const A=k(),B=g(null),n=o,s=X(o,"butLoading"),T=h,e=g({taskId:"",comment:""}),b=n.renderDialog,y=(t,a,r,x,c,J)=>{if(!b){console.warn("[TaskOperation] 未注入 renderDialog,无法打开操作弹窗(请通过 props 传入 useDialogHooks 的 render)");return}b(t,a,r,x,c,J)},E=()=>{typeof n.onProcessDetail=="function"&&n.onProcessDetail(e.value)},I=Y(()=>e.value?.operations==="assignee"),N=g(""),R=g([{source:"edit"}]),U=async()=>{await se(g(e.value),R)},p=async t=>{if(t&&(N.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:k().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")y(re,{taskId:e.value.taskId,dialogType:t},{title:t==="addMulti"?"加签":"减签",size:"400px"},"dialog");else if(t==="assignee")D(e.value.taskId);else{if(e.value.variables,t==="complete"&&e.value.firstSubmitNode&&n.params?.ignoreConfirm){await V();return}y(ne,{taskVo:e.value,dialogType:t,taskOperate:n?.params,commentReadonly:a,onOpenAssignee:D,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||!k().getUserInfo.userCode))try{s.value=!0;const t={taskId:e.value.taskId,userId:k().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){P.messageError(t)}finally{s.value=!1}},j=()=>{n.params?.workflowComplete(),T("success")},D=t=>{y(oe,{taskId:t,onSuccess:j},{title:"指定执行人",size:"450px"},"dialog")},z=t=>{e.value=t,n.params?.workflowComplete(t),q.emit("todoRefresh"),q.emit("homePageRefresh"),T("success")},O=(t,a)=>t?t.classList?.contains(a)?t:O(t.parentElement,a):null,W=()=>{const t=O(B.value,"todo-dialog-class");return t?console.log("找到满足条件的元素:",t):console.log("未找到满足条件的元素"),t};Z(()=>{W(),C()});const i=g(!1),H=async()=>{i.value=!0},G=()=>{i.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){P.messageError(t)}finally{G()}};return L({reload:()=>{C()}}),_(()=>n.taskId,C),(t,a)=>{const r=M("el-button"),x=M("el-flex");return l(),F("div",{ref_key:"taskFlexRef",ref:B,class:"task-operation"},[ee(x,{align:"center",justify:"flex-end"},{default:u(()=>[S(t.$slots,"left",{},void 0,!0),o.params?.cancelBtnText!==""?(l(),f(r,{key:0,loading:s.value||i.value,onClick:o.params?.cancelFunction},{default:u(()=>[m(v(o.params?.cancelBtnText??"取消"),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),o.showProcessBtn&&e.value?.procInsId?(l(),f(r,{key:1,type:"info",loading:s.value||i.value,onClick:E},{default:u(()=>[...a[7]||(a[7]=[m(" 流程信息 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&o.showCurWorkBth&&!o.showOperationsBtn?(l(),f(r,{key:2,loading:s.value||i.value,type:"warning",disabled:e.value?.taskId&&(!e.value?.operations||te(A).getUserInfo.userCode!==e.value?.assigneeId),onClick:U},{default:u(()=>[m(v(e.value.taskName),1)]),_:1},8,["loading","disabled"])):d("v-if",!0),I.value?(l(),f(r,{key:3,type:"primary",loading:s.value||i.value,onClick:a[0]||(a[0]=c=>p("assignee"))},{default:u(()=>[...a[8]||(a[8]=[m("指定执行人 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&e.value?.operations&&o.showOperationsBtn?(l(),F(ae,{key:4},[o.params?.saveBtnText?(l(),f(r,{key:0,loading:s.value||i.value,type:"primary",onClick:o.params?.saveFunction},{default:u(()=>[m(v(o.params?.saveBtnText),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),e.value?.operations.indexOf("addMulti")>-1?(l(),f(r,{key:1,type:"warning",loading:s.value||i.value,onClick:a[1]||(a[1]=c=>p("addMulti"))},{default:u(()=>[...a[9]||(a[9]=[m("加签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("minusMulti")>-1?(l(),f(r,{key:2,type:"danger",loading:s.value||i.value,onClick:a[2]||(a[2]=c=>p("minusMulti"))},{default:u(()=>[...a[10]||(a[10]=[m("减签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("refuse")>-1&&o.params?.refuseBtnText!==""?(l(),f(r,{key:3,loading:s.value||i.value,type:"danger",onClick:a[3]||(a[3]=c=>p("refuse"))},{default:u(()=>[m(v(o.params?.refuseBtnText??"终止"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("transfer")>-1&&o.params?.transferBtnText!==""?(l(),f(r,{key:4,loading:s.value||i.value,type:"warning",onClick:a[4]||(a[4]=c=>p("transfer"))},{default:u(()=>[m(v(o.params?.transferBtnText??"转办"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("back")>-1&&o.params?.backBtnText!==""?(l(),f(r,{key:5,loading:s.value||i.value,type:"danger",onClick:a[5]||(a[5]=c=>p("back"))},{default:u(()=>[m(v(o.params?.backBtnText??"驳回"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("complete")>-1&&o.params?.completeBtnText!==""?(l(),f(r,{key:6,loading:s.value||i.value,type:"primary",onClick:a[6]||(a[6]=c=>p("complete"))},{default:u(()=>[m(v(o.params?.completeBtnText??"同意"),1)]),_:1},8,["loading"])):d("v-if",!0)],64)):d("v-if",!0),S(t.$slots,"right",{},void 0,!0)]),_:3})],512)}}}),at=ie(le,[["__scopeId","data-v-08c0f430"]]);export{at as default};
1
+ import{defineComponent as Q,ref as g,useModel as X,computed as Y,onMounted as Z,watch as _,resolveComponent as M,openBlock as l,createElementBlock as F,createVNode as ee,withCtx as u,renderSlot as S,createBlock as f,createTextVNode as m,toDisplayString as v,createCommentVNode as d,unref as te,Fragment as ae,mergeModels as $}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-CcIlAFpF.js";import ne from"./components/CheckDialog.vue.js";import P from"../../utils/FrameworkUtils.js";import{userInfoStore as k}from"../../stores/userInfoStore.js";import{frontendBus as q}from"../../utils/frontendBus.js";import{showTodoDialog as ie}from"../../hooks/workflowTodo.js";import{_ as se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";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"@element-plus/icons-vue";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import"@vueuse/core";import"../business/userSelectContent.vue.js";import"../../api/BasicApi.js";import"../../api/SysUserApi.js";import"xlsx-js-style";import"../upload/CustomElUpload.vue.js";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/routeMetaParams.js";import"../../hooks/useOpenNewMenu.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const le=Q({__name:"TaskOperation",props:$({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:$(["success"],["update:butLoading"]),setup(o,{expose:L,emit:h}){const A=k(),B=g(null),n=o,i=X(o,"butLoading"),T=h,e=g({taskId:"",comment:""}),b=n.renderDialog,y=(t,a,r,x,c,J)=>{if(!b){console.warn("[TaskOperation] 未注入 renderDialog,无法打开操作弹窗(请通过 props 传入 useDialogHooks 的 render)");return}b(t,a,r,x,c,J)},E=()=>{typeof n.onProcessDetail=="function"&&n.onProcessDetail(e.value)},I=Y(()=>e.value?.operations==="assignee"),N=g(""),R=g([{source:"edit"}]),U=async()=>{await ie(g(e.value),R)},p=async t=>{if(t&&(N.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:k().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")y(re,{taskId:e.value.taskId,dialogType:t},{title:t==="addMulti"?"加签":"减签",size:"400px"},"dialog");else if(t==="assignee")D(e.value.taskId);else{if(e.value.variables,t==="complete"&&e.value.firstSubmitNode&&n.params?.ignoreConfirm){await V();return}y(ne,{taskVo:e.value,dialogType:t,taskOperate:n?.params,commentReadonly:a,onOpenAssignee:D,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||!k().getUserInfo.userCode))try{i.value=!0;const t={taskId:e.value.taskId,userId:k().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){P.messageError(t)}finally{i.value=!1}},j=()=>{n.params?.workflowComplete(),T("success")},D=t=>{y(oe,{taskId:t,onSuccess:j},{title:"指定执行人",size:"450px"},"dialog")},z=t=>{e.value=t,n.params?.workflowComplete(t),q.emit("todoRefresh"),q.emit("homePageRefresh"),T("success")},O=(t,a)=>t?t.classList?.contains(a)?t:O(t.parentElement,a):null,W=()=>{const t=O(B.value,"todo-dialog-class");return t?console.log("找到满足条件的元素:",t):console.log("未找到满足条件的元素"),t};Z(()=>{W(),C()});const s=g(!1),H=async()=>{s.value=!0},G=()=>{s.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){P.messageError(t)}finally{G()}};return L({reload:()=>{C()}}),_(()=>n.taskId,C),(t,a)=>{const r=M("el-button"),x=M("el-flex");return l(),F("div",{ref_key:"taskFlexRef",ref:B,class:"task-operation"},[ee(x,{align:"center",justify:"flex-end"},{default:u(()=>[S(t.$slots,"left",{},void 0,!0),o.params?.cancelBtnText!==""?(l(),f(r,{key:0,loading:i.value||s.value,onClick:o.params?.cancelFunction},{default:u(()=>[m(v(o.params?.cancelBtnText??"取消"),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),o.showProcessBtn&&e.value?.procInsId?(l(),f(r,{key:1,type:"info",loading:i.value||s.value,onClick:E},{default:u(()=>[...a[7]||(a[7]=[m(" 流程信息 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&o.showCurWorkBth&&!o.showOperationsBtn?(l(),f(r,{key:2,loading:i.value||s.value,type:"warning",disabled:e.value?.taskId&&(!e.value?.operations||te(A).getUserInfo.userCode!==e.value?.assigneeId),onClick:U},{default:u(()=>[m(v(e.value.taskName),1)]),_:1},8,["loading","disabled"])):d("v-if",!0),I.value?(l(),f(r,{key:3,type:"primary",loading:i.value||s.value,onClick:a[0]||(a[0]=c=>p("assignee"))},{default:u(()=>[...a[8]||(a[8]=[m("指定执行人 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),!I.value&&e.value?.taskId&&e.value?.operations&&o.showOperationsBtn?(l(),F(ae,{key:4},[o.params?.saveBtnText?(l(),f(r,{key:0,loading:i.value||s.value,type:"primary",onClick:o.params?.saveFunction},{default:u(()=>[m(v(o.params?.saveBtnText),1)]),_:1},8,["loading","onClick"])):d("v-if",!0),e.value?.operations.indexOf("addMulti")>-1?(l(),f(r,{key:1,type:"warning",loading:i.value||s.value,onClick:a[1]||(a[1]=c=>p("addMulti"))},{default:u(()=>[...a[9]||(a[9]=[m("加签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("minusMulti")>-1?(l(),f(r,{key:2,type:"danger",loading:i.value||s.value,onClick:a[2]||(a[2]=c=>p("minusMulti"))},{default:u(()=>[...a[10]||(a[10]=[m("减签 ",-1)])]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("refuse")>-1&&o.params?.refuseBtnText!==""?(l(),f(r,{key:3,loading:i.value||s.value,type:"danger",onClick:a[3]||(a[3]=c=>p("refuse"))},{default:u(()=>[m(v(o.params?.refuseBtnText??"终止"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("transfer")>-1&&o.params?.transferBtnText!==""?(l(),f(r,{key:4,loading:i.value||s.value,type:"warning",onClick:a[4]||(a[4]=c=>p("transfer"))},{default:u(()=>[m(v(o.params?.transferBtnText??"转办"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("back")>-1&&o.params?.backBtnText!==""?(l(),f(r,{key:5,loading:i.value||s.value,type:"danger",onClick:a[5]||(a[5]=c=>p("back"))},{default:u(()=>[m(v(o.params?.backBtnText??"驳回"),1)]),_:1},8,["loading"])):d("v-if",!0),e.value?.operations.indexOf("complete")>-1&&o.params?.completeBtnText!==""?(l(),f(r,{key:6,loading:i.value||s.value,type:"primary",onClick:a[6]||(a[6]=c=>p("complete"))},{default:u(()=>[m(v(o.params?.completeBtnText??"同意"),1)]),_:1},8,["loading"])):d("v-if",!0)],64)):d("v-if",!0),S(t.$slots,"right",{},void 0,!0)]),_:3})],512)}}}),rt=se(le,[["__scopeId","data-v-08c0f430"]]);export{rt as default};