adtec-hnyzfc-core-package 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BBL9xDJr.js +1 -0
- package/dist/src/api/BasicApi.js +1 -1
- package/dist/src/api/DeptInfoApi.js +1 -1
- package/dist/src/api/DocumentApi.js +1 -1
- package/dist/src/api/EmployeeInfoApi.js +1 -1
- package/dist/src/api/SysDictCacheApi.js +1 -1
- package/dist/src/api/SysUserApi.js +1 -1
- package/dist/src/api/framework.js +1 -1
- package/dist/src/api/workflow/workflowInstApi.d.ts +27 -0
- package/dist/src/api/workflow/workflowInstApi.js +1 -0
- package/dist/src/components/ElDialogBody/ElDialogBody.vue.d.ts +9 -1
- package/dist/src/components/ElDialogBody/ElDialogBody.vue.js +5 -10
- package/dist/src/components/RichTextEditor/RichTextEditor.vue.js +1 -1
- package/dist/src/components/RichTextEditor/richTextImageUpload.js +1 -1
- package/dist/src/components/Search/ElIconSearch.vue.d.ts +4 -4
- package/dist/src/components/Search/ElSearchInput.vue.d.ts +1 -1
- package/dist/src/components/SelectInDicators/SelectInDicators.vue.js +1 -1
- package/dist/src/components/SelectInDicators/api/DataIndicatorsApi.js +1 -1
- package/dist/src/components/Title/ElTitle.vue.d.ts +1 -1
- package/dist/src/components/VxeExportDialog/VxeExportDialog.vue.d.ts +1 -1
- package/dist/src/components/bpmntree/components/UserSelector/UserTag.vue.d.ts +15 -0
- package/dist/src/components/bpmntree/components/UserSelector/UserTag.vue.js +1 -0
- package/dist/src/components/business/comp.selectUser.vue.js +1 -1
- package/dist/src/components/business/comp.userForm.vue.js +1 -1
- package/dist/src/components/business/userSelect.vue.d.ts +1 -1
- package/dist/src/components/business/userSelect.vue.js +1 -1
- package/dist/src/components/business/userSelectContent.vue.js +1 -1
- package/dist/src/components/dict/DictDisplay.vue.d.ts +1 -1
- package/dist/src/components/dict/DictDisplay.vue.js +1 -1
- package/dist/src/components/upload/CustomElUpload.vue.js +1 -1
- package/dist/src/components/upload/FileView.vue.d.ts +1 -1
- package/dist/src/components/upload/FileView.vue.js +1 -1
- package/dist/src/components/upload/FileViewComponents.vue.js +1 -1
- package/dist/src/components/upload/OfficePreview.vue.js +2 -2
- package/dist/src/components/upload/OfficePreviewHeaderBar.vue.d.ts +1 -1
- package/dist/src/components/workflow/TaskOperation.vue.d.ts +123 -0
- package/dist/src/components/workflow/TaskOperation.vue.js +1 -0
- package/dist/src/components/workflow/WorkflowTodoShell.vue.d.ts +48 -0
- package/dist/src/components/workflow/WorkflowTodoShell.vue.js +4 -0
- package/dist/src/components/workflow/components/AddOrMinusMultiDialog.vue.d.ts +20 -0
- package/dist/src/components/workflow/components/AddOrMinusMultiDialog.vue.js +1 -0
- package/dist/src/components/workflow/components/CheckDialog.vue.d.ts +28 -0
- package/dist/src/components/workflow/components/CheckDialog.vue.js +1 -0
- package/dist/src/components/workflow/components/SelectAssigneeDialog.vue.d.ts +18 -0
- package/dist/src/components/workflow/components/SelectAssigneeDialog.vue.js +1 -0
- package/dist/src/config/VxeTableConfig.js +1 -1
- package/dist/src/directives/vTrack.d.ts +2 -1
- package/dist/src/directives/vTrack.js +1 -1
- package/dist/src/hooks/createDialogHooks.d.ts +18 -1
- package/dist/src/hooks/createDialogHooks.js +24 -8
- package/dist/src/hooks/useBehaviorAction.d.ts +6 -0
- package/dist/src/hooks/useBehaviorAction.js +1 -0
- package/dist/src/hooks/useDictHooks.js +1 -1
- package/dist/src/hooks/usePermissionHooks.js +1 -1
- package/dist/src/hooks/userWorkflowHooks.d.ts +109 -0
- package/dist/src/hooks/userWorkflowHooks.js +1 -0
- package/dist/src/hooks/workflowTodo.d.ts +12 -0
- package/dist/src/hooks/workflowTodo.js +1 -0
- package/dist/src/interface/workflow/IWfNodeLastApprovalVo.d.ts +22 -0
- package/dist/src/interface/workflow/IWfNodeLastApprovalVo.js +1 -0
- package/dist/src/interface/workflow/IWfProcessDefVo.d.ts +16 -0
- package/dist/src/interface/workflow/IWfProcessDefVo.js +1 -0
- package/dist/src/interface/workflow/IWfReturnNodeVo.d.ts +15 -0
- package/dist/src/interface/workflow/IWfReturnNodeVo.js +1 -0
- package/dist/src/interface/workflow/IWfTaskAskVo.d.ts +64 -0
- package/dist/src/interface/workflow/IWfTaskAskVo.js +1 -0
- package/dist/src/interface/workflow/IWfTaskQueryVo.d.ts +32 -0
- package/dist/src/interface/workflow/IWfTaskQueryVo.js +1 -0
- package/dist/src/interface/workflow/IWfTaskUsersVo.d.ts +20 -0
- package/dist/src/interface/workflow/IWfTaskUsersVo.js +1 -0
- package/dist/src/interface/workflow/IWfTaskVo.d.ts +187 -0
- package/dist/src/interface/workflow/IWfTaskVo.js +1 -0
- package/dist/src/mixin/globalMixin.js +1 -1
- package/dist/src/packages/index.d.ts +14 -14
- package/dist/src/plugins/plugins.js +1 -1
- package/dist/src/plugins/renderDialog.js +1 -1
- package/dist/src/utils/AxiosConfig.js +1 -1
- package/dist/src/utils/FrameworkUtils.js +1 -1
- package/dist/src/utils/behaviorContext.d.ts +39 -0
- package/dist/src/utils/behaviorContext.js +1 -0
- package/dist/src/utils/behaviorTrack.d.ts +29 -58
- package/dist/src/utils/behaviorTrack.js +1 -1
- package/dist/src/utils/iconfontRuntime.js +1 -1
- package/dist/src/utils/modules.js +2 -2
- package/dist/src/utils/request.d.ts +12 -0
- package/dist/src/utils/request.js +1 -1
- package/dist/styles/element-ui.css +1 -1
- package/dist/vite/umoCjsVirtual.js +3 -3
- package/dist/vite/umoIntegration.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as L,ref as p,useModel as P,computed as Q,resolveComponent as i,resolveDirective as R,openBlock as u,createElementBlock as h,Fragment as k,createVNode as f,withCtx as m,withDirectives as $,createBlock as v,createElementVNode as j,toDisplayString as w,renderList as G,createCommentVNode as b,mergeModels as M}from"vue";import x from"../src/api/workflow/workflowInstApi.js";import{ElMessage as t}from"element-plus";import{userInfoStore as H}from"../src/stores/userInfoStore.js";import _ from"../src/utils/FrameworkUtils.js";const ee=L({__name:"AddOrMinusMultiDialog",props:M({taskId:{},dialogType:{}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:M(["success"],["update:loading"]),setup(y,{expose:N,emit:V}){const r=y,C=V,I=H(),e=p({assignee:[]}),d=P(y,"loading"),o=Q(()=>r.dialogType??""),s=p([]),c=p(!1),E=async()=>{if(!(!r.taskId||!r.dialogType))try{if(e.value={assignee:[]},d.value=!0,e.value={...await x.getTaskCandidate(r.taskId),assignee:[]},s.value=e.value.candidate?.map(l=>l.loginName)||[],r.dialogType==="minusMulti"&&s.value.length<=1){t.warning("至少需保留一名审核人,当前仅剩一名审核人,无法减签");return}e.value.assignee=[...s.value]}catch(l){_.messageError(l)}finally{d.value=!1}},T=async l=>{if(l&&l.length>0)try{for(const a of l)e.value.candidate?.some(g=>g.loginName===a.loginName)||(e.value.candidate?.push(a),e.value.assignee?.push(a.loginName))}catch(a){_.messageError(a)}else t.warning("请选择审批人员");c.value=!1},U=()=>{c.value=!0},A=l=>o.value==="addMulti"?s.value.includes(l):o.value==="minusMulti"?I.getUserInfo.userCode===l:!1;return N({resetQuery:E,confirm:async()=>{if(e.value.candidate?.length==0){t.warning("请指定执行人!");return}if(o.value==="addMulti"){if(e.value.assignee.length==0){t.warning("请指定执行人!");return}if(e.value.assignee.length<=s.value.length){t.warning("加签必须选择非原审批人!");return}}else if(o.value==="minusMulti"){if(e.value.assignee.length<1){t.warning("至少需保留一名审核人");return}if(e.value.assignee.length>=s.value.length){t.warning("减签必须取消选中原审批人!");return}}try{d.value=!0,e.value.type=o.value,await x.addOrMinusAssignee(e.value),t.success("操作成功"),C("success")}catch(l){_.messageError(l)}finally{d.value=!1}}}),(l,a)=>{const g=i("el-form-item"),S=i("el-checkbox"),B=i("el-icon-btn"),D=i("el-checkbox-group"),F=i("el-form"),O=i("el-flex"),q=i("user-select"),z=R("loading");return u(),h(k,null,[f(O,{vertical:!0,height:"100%"},{default:m(()=>[$((u(),v(F,{labelPosition:"top",size:"default",style:{width:"100%"}},{default:m(()=>[f(g,{label:"任务名"},{default:m(()=>[j("span",null,w(e.value?.taskName)+"("+w(e.value?.procName)+")",1)]),_:1}),f(g,{label:"审批人",required:!0},{default:m(()=>[e.value?.candidate&&e.value?.candidate.length>0?(u(),v(D,{key:0,modelValue:e.value.assignee,"onUpdate:modelValue":a[0]||(a[0]=n=>e.value.assignee=n)},{default:m(()=>[(u(!0),h(k,null,G(e.value?.candidate,n=>(u(),v(S,{disabled:A(n.loginName),key:n.loginName,label:n.userName,value:n.loginName},null,8,["disabled","label","value"]))),128)),o.value==="addMulti"?(u(),v(B,{key:0,style:{"margin-left":"15px"},"model-value":"adtec-plus",tip:"新增审批人",onClick:U})):b("v-if",!0)]),_:1},8,["modelValue"])):b("v-if",!0)]),_:1})]),_:1})),[[z,d.value]])]),_:1}),f(q,{"view-type":"dialog",modelValue:c.value,"onUpdate:modelValue":a[1]||(a[1]=n=>c.value=n),title:"选择审批人员",multiple:!0,"include-external":o.value==="addMulti",onSuccess:T,onCancel:a[2]||(a[2]=n=>c.value=!1)},null,8,["modelValue","include-external"])],64)}}});export{ee as _};
|
package/dist/src/api/BasicApi.js
CHANGED
|
@@ -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/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const
|
|
1
|
+
import t from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";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";const D={getMdmOrgDeptTree(){return t.post("/api/base/mdmDept/getMdmOrgDeptTree",{})},getMdmOrgList(r){return t.post("/api/base/mdmOrg/getMdmOrgList",r)}};export{D 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/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const p="/api/base/mdmDept/",
|
|
1
|
+
import r from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";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";const p="/api/base/mdmDept/",M={getMdmOrgDeptTree(t){return r.post(p+"getMdmOrgDeptTree",t)}};export{M 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/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const t="/api/doc/",
|
|
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/buildUploadHeaders.js";import"ts-md5";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";const t="/api/doc/",f={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{f 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/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const m="/api/base/mdmEmployee/",
|
|
1
|
+
import o from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";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";const m="/api/base/mdmEmployee/",b={getMdmEmployeeListByIds(t){return o.post(m+"getMdmEmployeeListByIds",t)}};export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";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";const i="/api/system/dict/data/",b={getSysDictDataCacheVo(t){return a.get(i+"getSysDictDataCacheVo/"+t)},batchGetSysDictDataCacheVo(t,o){return a.post(i+"batchGetSysDictDataCacheVo?orgId="+(o||""),t)}};export{b 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/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const t="/api/system/sysUserInfo/",
|
|
1
|
+
import r from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";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";const t="/api/system/sysUserInfo/",d={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{d 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/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const
|
|
1
|
+
import t from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";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";const n={getFileAccessAddress(r){return t.get("/api/doc/getFileAccessAddress",{id:r})}};export{n as default};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { IWfProcessDefVo } from '../../interface/workflow/IWfProcessDefVo';
|
|
2
|
+
import type { IWfProcessInstVo, IWfTaskVo } from '../../interface/workflow/IWfTaskVo';
|
|
3
|
+
import type { IWfTaskAskVo } from '../../interface/workflow/IWfTaskAskVo';
|
|
4
|
+
import type { IWfTaskUsersVo } from '../../interface/workflow/IWfTaskUsersVo';
|
|
5
|
+
import type { IWfReturnNodeVo } from '../../interface/workflow/IWfReturnNodeVo';
|
|
6
|
+
import type { IWfNodeLastApprovalBatchVo } from '../../interface/workflow/IWfNodeLastApprovalVo';
|
|
7
|
+
declare const _default: {
|
|
8
|
+
addProcessInst(WfProcessDefVo: IWfProcessDefVo): Promise<IWfProcessDefVo>;
|
|
9
|
+
taskComplete(task: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
10
|
+
taskTransfer(task: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
11
|
+
taskReject(task: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
12
|
+
findReturnTaskList(taskId: string, ignoreBackNodes?: boolean): Promise<IWfReturnNodeVo[]>;
|
|
13
|
+
taskReturn(activity: IWfTaskAskVo): Promise<IWfTaskVo>;
|
|
14
|
+
getTaskCandidate(taskId: string): Promise<IWfTaskUsersVo>;
|
|
15
|
+
getTaskCandidateList(taskId: string): Promise<IWfTaskUsersVo[]>;
|
|
16
|
+
setAssignee(data: IWfTaskUsersVo): Promise<string>;
|
|
17
|
+
setAssigneeList(data: IWfTaskUsersVo[]): Promise<string>;
|
|
18
|
+
addOrMinusAssignee(data: IWfTaskUsersVo): Promise<string>;
|
|
19
|
+
getTaskInst(taskId: string): Promise<IWfTaskVo>;
|
|
20
|
+
getWfTaskByBusinessId(businessId: string): Promise<IWfTaskVo>;
|
|
21
|
+
getProcessTaskList(processInstId: string): Promise<IWfProcessInstVo>;
|
|
22
|
+
getWfProcessInstByBusinessId(businessId: string): Promise<IWfTaskVo>;
|
|
23
|
+
getReviewDetail(taskId: string): Promise<IWfTaskVo>;
|
|
24
|
+
/** 获取指定节点最后一轮审批人及审批意见(支持多节点,不限制流程是否结束) */
|
|
25
|
+
getLastNodeApprovalByBusinessId(businessId: string, nodeCodes: string | string[]): Promise<IWfNodeLastApprovalBatchVo>;
|
|
26
|
+
};
|
|
27
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import s from"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";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";const e="/api/workflow/task",A={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 n={businessId:t,nodeCodes:Array.isArray(r)?r:[r]};return s.post(e+"/lastNodeApproval",n)}};export{A as default};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** 内容区是否滚动;由 useDialogHooks 的 scroll/dialogBody 配置统一控制 */
|
|
3
|
+
scroll?: boolean;
|
|
4
|
+
/** 内容区附加类名 */
|
|
5
|
+
contentClass?: unknown;
|
|
6
|
+
};
|
|
1
7
|
declare var __VLS_1: {}, __VLS_3: {};
|
|
2
8
|
type __VLS_Slots = {} & {
|
|
3
9
|
header?: (props: typeof __VLS_1) => any;
|
|
4
10
|
} & {
|
|
5
11
|
default?: (props: typeof __VLS_3) => any;
|
|
6
12
|
};
|
|
7
|
-
declare const __VLS_component: import("vue").DefineComponent<
|
|
13
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
14
|
+
scroll: boolean;
|
|
15
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
16
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
9
17
|
export default _default;
|
|
10
18
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import{openBlock as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<el-dialog-body>
|
|
7
|
-
<template #header><el-title title="基本信息"/></template>
|
|
8
|
-
内容…
|
|
9
|
-
</el-dialog-body>
|
|
10
|
-
`),l("div",i,[e.$slots.header?(o(),t("div",c,[n(e.$slots,"header",{},void 0,!0)])):d("v-if",!0),l("div",_,[n(e.$slots,"default",{},void 0,!0)])])],2112)}const h=s(r,[["render",f],["__scopeId","data-v-d5693944"]]);export{h as default};
|
|
1
|
+
import{defineComponent as d,openBlock as l,createElementBlock as t,Fragment as r,createCommentVNode as s,createElementVNode as n,renderSlot as a,normalizeClass as c}from"vue";import{_ as i}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"el-dialog-body"},m={key:0,class:"el-dialog-body__header"},f=d({__name:"ElDialogBody",props:{scroll:{type:Boolean,default:!0},contentClass:{}},setup(o){return(e,p)=>(l(),t(r,null,[s(`
|
|
2
|
+
弹窗/抽屉内容体骨架:由 useDialogHooks 自动创建,业务组件禁止手工包裹。
|
|
3
|
+
内容体内边距由弹窗/抽屉原生 body(0 8px 8px)统一提供;
|
|
4
|
+
本组件只负责 flex 结构、标题插槽和唯一内容滚动容器。
|
|
5
|
+
`),n("div",_,[e.$slots.header?(l(),t("div",m,[a(e.$slots,"header")])):s("v-if",!0),n("div",{class:c(["el-dialog-body__content",[o.contentClass,{"el-dialog-body__content--no-scroll":!o.scroll}]])},[a(e.$slots,"default")],2)])],2112))}}),g=i(f,[["__scopeId","data-v-8278e8fd"]]);export{g 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"ts-md5";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/frontendBus.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)}}}),
|
|
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"ts-md5";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";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)}}}),wt=Ge(Xe,[["__scopeId","data-v-d01de1e9"]]);export{wt 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"element-plus";import"../../utils/frontendBus.js";import"ts-md5";const w="richtext",
|
|
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"ts-md5";const w="richtext",q=10*1024*1024;function U(e){const i=typeof e=="string"&&e.trim()?e.trim():"default";return`/api/doc/uploadFile/${w}/${i}/false`}function I(e,i){return`${e}?fileId=${encodeURIComponent(i)}`}function z(e,i="default"){return new Promise((p,o)=>{const m=U(i),s=new XMLHttpRequest;s.open("POST",m);const l=x(m);Object.entries(l).forEach(([t,c])=>s.setRequestHeader(t,String(c))),s.responseType="json",s.onload=()=>{try{const t=s.response;if(s.status>=200&&s.status<300&&t?.code==="0"&&t.data?.id){h.createRichTextImageUrl(t.data.id).then(c=>{c?p({url:I(c,t.data.id),id:t.data.id}):o(new Error("图片访问地址获取失败"))}).catch(o);return}o(new Error(t?.msg||"图片上传失败"))}catch(t){o(t)}},s.onerror=()=>o(new Error("图片上传失败"));const n=new FormData;n.append("file",e),s.send(n)})}function g(e){const i=/[?&]fileId=([^&]+)/.exec(e||"");return i?.[1]?decodeURIComponent(i[1]):null}async function C(e){if(!e)return e;const i=new Set,p=/<(?:img|inline-img)\b[^>]*>/gi;let o;for(;o=p.exec(e);){const r=o[0].match(/\ssrc=(["'])(.*?)\1/i)??o[0].match(/\ssrc=([^\s>]+)/i),a=r?.[2]??r?.[1]??"",d=g(a);d&&i.add(d)}if(i.size===0)return e;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 e;const s=[],l=/<(?:img|inline-img)\b[^>]*>/gi;let n;for(;n=l.exec(e);)s.push({start:n.index,end:n.index+n[0].length,tag:n[0]});const t=[];let c=0;for(const r of s){const a=r.tag.match(/\ssrc=(["'])(.*?)\1/i)??r.tag.match(/\ssrc=([^\s>]+)/i),d=a?.[2]??a?.[1]??"",u=g(d),f=u?m.get(u):void 0;t.push(e.slice(c,r.start)),u&&f?t.push(r.tag.replace(/\ssrc=(["'])(.*?)\1/i,` src="${f}"`)):t.push(r.tag),c=r.end}return t.push(e.slice(c)),t.join("")}export{q as MAX_IMAGE_SIZE,w as UMO_IMAGE_BUSINESS,g as extractFileIdFromImageUrl,C as refreshRichTextImageUrls,z as uploadRichTextImage};
|
|
@@ -88,8 +88,8 @@ declare const __VLS_component: import("vue").DefineComponent<globalThis.ExtractP
|
|
|
88
88
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
89
89
|
click: (...args: any[]) => void;
|
|
90
90
|
reset: (...args: any[]) => void;
|
|
91
|
-
"update:modelValue": (...args: any[]) => void;
|
|
92
91
|
search: (...args: any[]) => void;
|
|
92
|
+
"update:modelValue": (...args: any[]) => void;
|
|
93
93
|
}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
94
94
|
/**
|
|
95
95
|
* @type Object
|
|
@@ -176,15 +176,15 @@ declare const __VLS_component: import("vue").DefineComponent<globalThis.ExtractP
|
|
|
176
176
|
}>> & Readonly<{
|
|
177
177
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
178
178
|
onReset?: ((...args: any[]) => any) | undefined;
|
|
179
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
180
179
|
onSearch?: ((...args: any[]) => any) | undefined;
|
|
180
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
181
181
|
}>, {
|
|
182
|
+
style: Record<string, any>;
|
|
183
|
+
title: string;
|
|
182
184
|
size: string;
|
|
183
185
|
type: string;
|
|
184
186
|
disabled: boolean;
|
|
185
187
|
modelValue: string;
|
|
186
|
-
style: Record<string, any>;
|
|
187
|
-
title: string;
|
|
188
188
|
width: number;
|
|
189
189
|
tip: string;
|
|
190
190
|
elementType: string;
|
|
@@ -20,8 +20,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
|
|
|
20
20
|
} & {
|
|
21
21
|
search: () => any;
|
|
22
22
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
23
|
-
"onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
24
23
|
onSearch?: (() => any) | undefined;
|
|
24
|
+
"onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
25
25
|
}>, {
|
|
26
26
|
actionIcon: string;
|
|
27
27
|
actionTip: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as j,useModel as G,ref as c,watch as J,reactive as K,nextTick as W,resolveComponent as n,resolveDirective as X,openBlock as y,createBlock as k,withCtx as a,withDirectives as Y,createVNode as t,unref as Z,mergeProps as ee,createElementBlock as te,Fragment as le,renderList as oe,createTextVNode as x,toDisplayString as ae,createElementVNode as ne,mergeModels as P}from"vue";import re from"../../hooks/useDictHooks.js";import{ElMessage as ie}from"element-plus";import se from"./api/DataIndicatorsApi.js";import v from"../../utils/FrameworkUtils.js";import{checkboxColumn as de}from"../../config/vxeSelectColumn.js";import{_ as ue}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"xlsx-js-style";const me={class:"dialog-footer"},
|
|
1
|
+
import{defineComponent as j,useModel as G,ref as c,watch as J,reactive as K,nextTick as W,resolveComponent as n,resolveDirective as X,openBlock as y,createBlock as k,withCtx as a,withDirectives as Y,createVNode as t,unref as Z,mergeProps as ee,createElementBlock as te,Fragment as le,renderList as oe,createTextVNode as x,toDisplayString as ae,createElementVNode as ne,mergeModels as P}from"vue";import re from"../../hooks/useDictHooks.js";import{ElMessage as ie}from"element-plus";import se from"./api/DataIndicatorsApi.js";import v from"../../utils/FrameworkUtils.js";import{checkboxColumn as de}from"../../config/vxeSelectColumn.js";import{_ as ue}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/frontendBus.js";import"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"xlsx-js-style";const me={class:"dialog-footer"},Ne=j({__name:"SelectInDicators",props:P({confirmCallback:{type:Function}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:P(["success","confirmCallback"],["update:modelValue"]),setup(w,{emit:U}){const p=G(w,"modelValue"),I=w,u=c(!1),f=c(!1),b=()=>{p.value=!1,i.value=[],l.value={type:"",code:"",name:"",isValid:"",isDetails:1,size:v.getPageSize(),current:1}};J(p,()=>{p.value&&g()});const{getDictTypeData:L}=re(["ComIndexType"]),S=U,V=c(),m=c(),i=c([]),R=K({border:!0,height:"100%",columnConfig:{resizable:!1},checkboxConfig:{highlight:!0,range:!1},columns:[de,{type:"seq",title:"序号",width:45,align:"center"},{align:"left",field:"name",title:"指标名称",width:180},{align:"left",field:"code",title:"指标编码",width:180},{align:"left",field:"attriList",title:"指标特性",slots:{default:"attriList"}}]}),l=c({type:"",code:"",name:"",isValid:"",isDetails:1,size:v.getPageSize(),current:1}),g=async()=>{try{u.value=!0,m.value=await se.getPageComIndex(l.value),await W(()=>{i.value.forEach(s=>{const e=m.value?.records.find(d=>d.id===s.id);e&&V.value?.setCheckboxRow(e,!0)})})}catch(s){v.messageError(s)}finally{u.value=!1}},T=()=>{l.value.current=1,g()},z=()=>{l.value={type:"",code:"",name:"",isValid:"",isDetails:1,size:v.getPageSize(),current:1},g()},D=async s=>{if(i.value.length===0){ie.warning("请选择指标");return}try{u.value=!0,f.value=!0,await I.confirmCallback(i.value)?(s===0?(i.value=[],z()):b(),S("success")):(u.value=!1,f.value=!1)}catch(e){v.messageError(e)}finally{u.value=!1,f.value=!1}},E=()=>{const s=V.value?.getCheckboxRecords()??[];m.value?.records.forEach(e=>{const d=i.value.filter(r=>r.id===e.id);d.length>0&&d.forEach(r=>{s.find(_=>_.id===r.id)||i.value.splice(i.value.indexOf(r),1)})}),s.forEach(e=>{i.value.filter(r=>r.id===e.id).length===0&&i.value.push(e)})};return(s,e)=>{const d=n("el-tree-select"),r=n("el-form-item"),C=n("el-input"),_=n("el-option"),B=n("el-select"),M=n("el-form"),N=n("el-search"),F=n("el-title"),$=n("vxe-grid"),q=n("el-pagination"),A=n("el-flex"),h=n("el-button"),O=n("el-drawer"),H=X("loading");return y(),k(O,{title:"选择指标",modelValue:p.value,"onUpdate:modelValue":e[8]||(e[8]=o=>p.value=o),size:"800px","align-center":!0,"destroy-on-close":!0,onClose:b},{footer:a(()=>[ne("div",me,[t(h,{onClick:b},{default:a(()=>[...e[9]||(e[9]=[x("取消",-1)])]),_:1}),t(h,{type:"primary",onClick:e[6]||(e[6]=o=>D(0)),loading:f.value},{default:a(()=>[...e[10]||(e[10]=[x("确定并继续",-1)])]),_:1},8,["loading"]),t(h,{type:"primary",onClick:e[7]||(e[7]=o=>D(1)),loading:f.value},{default:a(()=>[...e[11]||(e[11]=[x("确定",-1)])]),_:1},8,["loading"])])]),default:a(()=>[Y((y(),k(A,{vertical:!0},{default:a(()=>[t(N,{style:{"padding-left":"0"},onSearch:T,onReset:z},{default:a(()=>[t(M,{inline:!0,labelPosition:"top",size:"default",modelValue:l.value,"onUpdate:modelValue":e[4]||(e[4]=o=>l.value=o),style:{width:"100%"}},{default:a(()=>[t(r,{label:"指标类型",style:{width:"220px"}},{default:a(()=>[t(d,{modelValue:l.value.type,"onUpdate:modelValue":e[0]||(e[0]=o=>l.value.type=o),data:Z(L)("ComIndexType"),"default-expand-all":!0,props:{label:"label",children:"children"},"render-after-expand":!1,"node-key":"value",placeholder:"请选择指标类型"},null,8,["modelValue","data"])]),_:1}),t(r,{label:"指标名称",style:{width:"220px"}},{default:a(()=>[t(C,{name:"roleCode",placeholder:"请输入指标名称",modelValue:l.value.name,"onUpdate:modelValue":e[1]||(e[1]=o=>l.value.name=o)},null,8,["modelValue"])]),_:1}),t(r,{label:"指标编码",style:{width:"220px"}},{default:a(()=>[t(C,{name:"roleCode",placeholder:"请输入指标编码",modelValue:l.value.code,"onUpdate:modelValue":e[2]||(e[2]=o=>l.value.code=o)},null,8,["modelValue"])]),_:1}),t(r,{label:"是否启用",style:{width:"220px"}},{default:a(()=>[t(B,{clearable:"",placeholder:"请选择是否启用",modelValue:l.value.isValid,"onUpdate:modelValue":e[3]||(e[3]=o=>l.value.isValid=o)},{default:a(()=>[t(_,{value:1,label:"是"}),t(_,{value:0,label:"否"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(F,{title:"指标列表",level:"1",style:{"border-bottom":"var(--border)"}}),t($,ee({ref_key:"gridRef",ref:V},R,{style:{width:"100%","margin-bottom":"8px","margin-top":"8px"},data:m.value?.records,onCheckboxAll:E,onCheckboxChange:E}),{attriList:a(({row:o})=>[(y(!0),te(le,null,oe(o.attriList,Q=>(y(),k(ue,{style:{"margin-right":"5px"}},{default:a(()=>[x(ae(Q.attriName),1)]),_:2},1024))),256))]),_:1},16,["data"]),t(q,{style:{"margin-bottom":"8px"},total:m.value?.total?m.value?.total:0,background:!0,"page-size":l.value.size,"current-page":l.value.current,"onUpdate:currentPage":e[5]||(e[5]=o=>l.value.current=o),layout:"prev, pager, next,total",onCurrentChange:g},null,8,["total","page-size","current-page"])]),_:1})),[[H,u.value]])]),_:1},8,["modelValue"])}}});export{Ne 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/buildUploadHeaders.js";import"ts-md5";import"../../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../../utils/frontendBus.js";const e="/api/base/comIndex/",
|
|
1
|
+
import o from"../../../utils/request.js";import"../../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../../utils/encrypt.js";import"jsencrypt";import"../../../utils/buildUploadHeaders.js";import"ts-md5";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";const e="/api/base/comIndex/",f={getPageComIndex(t){return o.post(e+"getPageComIndex",t)},getComIndexAttriVo(t){return o.get("/api/se/assessmentMethodConfig/getComIndexAttriVo/"+t)}};export{f as default};
|
|
@@ -35,8 +35,8 @@ declare const __VLS_component: import("vue").DefineComponent<globalThis.ExtractP
|
|
|
35
35
|
default: string;
|
|
36
36
|
};
|
|
37
37
|
}>> & Readonly<{}>, {
|
|
38
|
-
level: string;
|
|
39
38
|
title: string;
|
|
39
|
+
level: string;
|
|
40
40
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
41
41
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
42
42
|
export default _default;
|
|
@@ -26,8 +26,8 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
26
26
|
onSuccess?: (() => any) | undefined;
|
|
27
27
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
28
28
|
}>, {
|
|
29
|
-
modelValue: boolean;
|
|
30
29
|
title: string;
|
|
30
|
+
modelValue: boolean;
|
|
31
31
|
columns: any[];
|
|
32
32
|
gridRef: any;
|
|
33
33
|
filename: string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface UserTagProps {
|
|
2
|
+
userId: string;
|
|
3
|
+
username: string;
|
|
4
|
+
type?: 'success' | 'info' | 'warning' | 'danger' | 'primary';
|
|
5
|
+
closable?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import("vue").DefineComponent<UserTagProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
8
|
+
close: (username: string) => any;
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<UserTagProps> & Readonly<{
|
|
10
|
+
onClose?: ((username: string) => any) | undefined;
|
|
11
|
+
}>, {
|
|
12
|
+
type: "success" | "info" | "warning" | "danger" | "primary";
|
|
13
|
+
closable: boolean;
|
|
14
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as p,onMounted as f,computed as _,resolveComponent as o,openBlock as g,createBlock as x,withCtx as s,createElementVNode as a,createVNode as y,createTextVNode as h,toDisplayString as n}from"vue";import{useFormSize as v,componentSizeMap as I}from"element-plus";import{_ as z}from"../../../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"flex-center",style:{gap:"4px","grid-gap":"4px"}},S={style:{"margin-left":"3px"}},b=p({__name:"UserTag",props:{userId:{},username:{},type:{default:"info"},closable:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:r}){const t=e,c=r;f(()=>{if(!t.username||!t.userId)throw new Error("username/userId is required")});const l=v(),u=_(()=>I[l.value||"default"]-12),i=()=>{c("close",t.userId)};return(w,B)=>{const m=o("el-avatar"),d=o("el-tag");return g(),x(d,{round:"",closable:t.closable,type:e.type,effect:"light",onClose:i},{default:s(()=>[a("div",C,[y(m,{size:u.value},{default:s(()=>[h(n((e.username||e.userId).charAt(0)),1)]),_:1},8,["size"]),a("span",S,n(e.username||e.userId),1)])]),_:1},8,["closable","type"])}}}),k=z(b,[["__scopeId","data-v-62302692"]]);export{k 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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.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/buildUploadHeaders.js";import"ts-md5";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"./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 Z,ref as f,reactive as ee,resolveComponent as c,resolveDirective as te,withDirectives as oe,openBlock as C,createBlock as E,withCtx as v,createVNode as u,unref as r,createElementVNode as le,createElementBlock as ae,Fragment as re,renderList as se,createTextVNode as ie,toDisplayString as ne,mergeProps as de,nextTick as N}from"vue";import"@vueuse/core";import{ElMessage as ce}from"element-plus";import ue from"../../api/DeptInfoApi.js";import pe from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as k}from"../../hooks/useResetRefHooks.js";import I from"../../utils/FrameworkUtils.js";import{checkboxColumn as me,radioColumn as fe}from"../../config/vxeSelectColumn.js";import{_ as ve}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import{_ as ge}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"xlsx-js-style";const he={style:{"padding-top":"4px"}},_e=Z({__name:"comp.userForm",props:{fetchData:{type:Function,default:pe.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0}},emits:["success"],setup(O,{expose:P,emit:D}){const d=O,[o,z]=k({current:1,size:I.getPageSize(),...d.defalutQueryParam}),U=D,h=f([]),y=f(!1),R=f(),m=f(),g=f(""),_=f(),b=f(),[a,B]=k([]),[p,L]=k({records:[],total:0,pages:0,current:1}),Q=[d.multiple?{...me,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1"}}:fe,{align:"left",field:"name",title:"用户姓名",width:120,showOverflow:!0},{align:"left",field:"postName",title:"岗位名称",width:120,showOverflow:!0},{align:"left",field:"deptName",title:"所属部门",showOverflow:!0},...d.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],S=ee({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!0,range:!1},columns:Q}),T=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},F=async()=>{try{h.value=await ue.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?a.value.some(l=>l.code===e.code)||a.value.push(e):a.value=a.value.filter(l=>l.code!==e.code))},A=({checked:e})=>{const t=p.value?.records??[];if(e){const l=a.value.map(s=>s.code);t.forEach(s=>{l.includes(s.code)||a.value.push(s)})}else{const l=t.map(s=>s.code);a.value=a.value.filter(s=>!l.includes(s.code))}},J=({row:e})=>{d.multiple||M(e)},V=async()=>{y.value=!0,h.value&&h.value.length||await F(),B(),L(),R.value?.resetFields(),b.value?.setCheckedKeys([]),z(),o.value={...o.value,...d.defalutQueryParam},N(()=>{b.value?.setCheckedKeys(o.value.deptIds??[]),w()})},w=async()=>{try{y.value=!0;let e=[],t;o.value.deptIds&&o.value.deptIds.length&&o.value.deptIds.forEach(i=>{h.value.findIndex(x=>x.id===i)>=0?t=i:e.push(i)});let l=JSON.parse(JSON.stringify(o.value));l.deptIds=e,l.orgId=t,p.value=await d.fetchData(l);const s=a.value.map(i=>i.code);N(()=>{p.value.records.forEach(i=>{s.includes(i.code)&&(d.multiple?m.value?.setCheckboxRow(i,!0):i.id===g.value&&m.value?.setRadioRow(i))})}),o.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},K=e=>{a.value=a.value.filter(l=>l.code!==e.code);const t=p.value.records.find(l=>l.code===e.code);t&&(d.multiple?m.value?.setCheckboxRow(t,!1):t.id===g.value&&(_.value=void 0,g.value="",m.value?.clearRadioRow()))};return P({confirm:async()=>{!a.value.length&&d.multiple||!_.value&&!d.multiple?ce.warning("未选择需要新增的人员!"):U("success",d.multiple?a.value:_.value)},resetQuery:V}),(e,t)=>{const l=c("el-tree-select"),s=c("el-form-item"),i=c("el-input"),x=c("el-form"),$=c("el-search"),H=c("el-title"),j=c("el-tooltip"),G=c("vxe-grid"),W=c("el-pagination"),X=c("el-flex"),Y=te("loading");return oe((C(),E(X,{vertical:!0},{default:v(()=>[u($,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:w},{default:v(()=>[u(x,{ref_key:"queryRef",ref:R,inline:!0,model:r(o),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:v(()=>[u(s,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:v(()=>[u(l,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:r(o).disabled,modelValue:r(o).deptIds,"onUpdate:modelValue":t[0]||(t[0]=n=>r(o).deptIds=n),data:h.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:n=>n.isValid!=="1"||r(o).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(s,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:v(()=>[u(i,{modelValue:r(o).codeorname,"onUpdate:modelValue":t[1]||(t[1]=n=>r(o).codeorname=n),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(H,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),le("div",he,[(C(!0),ae(re,null,se(r(a),n=>(C(),E(ve,{key:n.code,closable:"",style:{margin:"2px"},onClose:be=>K(n)},{default:v(()=>[u(j,{placement:"top",content:n.deptName},{default:v(()=>[ie(ne(n.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))]),u(G,de({ref_key:"gridRef",ref:m},S,{data:r(p)?.records,"row-class-name":T,style:{width:"100%","margin-top":"8px"},onCheckboxChange:q,onCheckboxAll:A,onCellClick:J}),null,16,["data"]),u(W,{"current-page":r(o).current,"onUpdate:currentPage":t[2]||(t[2]=n=>r(o).current=n),background:!0,"page-size":r(o).size,total:r(p)?.total?r(p)?.total:0,style:{"margin-top":"5px","margin-bottom":"5px"},onCurrentChange:w},null,8,["current-page","page-size","total"])]),_:1})),[[Y,y.value]])}}})
|
|
1
|
+
import{defineComponent as Z,ref as f,reactive as ee,resolveComponent as c,resolveDirective as te,withDirectives as oe,openBlock as C,createBlock as E,withCtx as v,createVNode as u,unref as r,createElementVNode as le,createElementBlock as ae,Fragment as re,renderList as se,createTextVNode as ie,toDisplayString as ne,mergeProps as de,nextTick as N}from"vue";import"@vueuse/core";import{ElMessage as ce}from"element-plus";import ue from"../../api/DeptInfoApi.js";import pe from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as k}from"../../hooks/useResetRefHooks.js";import I from"../../utils/FrameworkUtils.js";import{checkboxColumn as me,radioColumn as fe}from"../../config/vxeSelectColumn.js";import{_ as ve}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import{_ as ge}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/frontendBus.js";import"xlsx-js-style";const he={style:{"padding-top":"4px"}},_e=Z({__name:"comp.userForm",props:{fetchData:{type:Function,default:pe.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0}},emits:["success"],setup(O,{expose:P,emit:D}){const d=O,[o,z]=k({current:1,size:I.getPageSize(),...d.defalutQueryParam}),U=D,h=f([]),y=f(!1),R=f(),m=f(),g=f(""),_=f(),b=f(),[a,B]=k([]),[p,L]=k({records:[],total:0,pages:0,current:1}),Q=[d.multiple?{...me,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1"}}:fe,{align:"left",field:"name",title:"用户姓名",width:120,showOverflow:!0},{align:"left",field:"postName",title:"岗位名称",width:120,showOverflow:!0},{align:"left",field:"deptName",title:"所属部门",showOverflow:!0},...d.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],S=ee({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!0,range:!1},columns:Q}),T=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},F=async()=>{try{h.value=await ue.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?a.value.some(l=>l.code===e.code)||a.value.push(e):a.value=a.value.filter(l=>l.code!==e.code))},A=({checked:e})=>{const t=p.value?.records??[];if(e){const l=a.value.map(s=>s.code);t.forEach(s=>{l.includes(s.code)||a.value.push(s)})}else{const l=t.map(s=>s.code);a.value=a.value.filter(s=>!l.includes(s.code))}},J=({row:e})=>{d.multiple||M(e)},V=async()=>{y.value=!0,h.value&&h.value.length||await F(),B(),L(),R.value?.resetFields(),b.value?.setCheckedKeys([]),z(),o.value={...o.value,...d.defalutQueryParam},N(()=>{b.value?.setCheckedKeys(o.value.deptIds??[]),w()})},w=async()=>{try{y.value=!0;let e=[],t;o.value.deptIds&&o.value.deptIds.length&&o.value.deptIds.forEach(i=>{h.value.findIndex(x=>x.id===i)>=0?t=i:e.push(i)});let l=JSON.parse(JSON.stringify(o.value));l.deptIds=e,l.orgId=t,p.value=await d.fetchData(l);const s=a.value.map(i=>i.code);N(()=>{p.value.records.forEach(i=>{s.includes(i.code)&&(d.multiple?m.value?.setCheckboxRow(i,!0):i.id===g.value&&m.value?.setRadioRow(i))})}),o.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},K=e=>{a.value=a.value.filter(l=>l.code!==e.code);const t=p.value.records.find(l=>l.code===e.code);t&&(d.multiple?m.value?.setCheckboxRow(t,!1):t.id===g.value&&(_.value=void 0,g.value="",m.value?.clearRadioRow()))};return P({confirm:async()=>{!a.value.length&&d.multiple||!_.value&&!d.multiple?ce.warning("未选择需要新增的人员!"):U("success",d.multiple?a.value:_.value)},resetQuery:V}),(e,t)=>{const l=c("el-tree-select"),s=c("el-form-item"),i=c("el-input"),x=c("el-form"),$=c("el-search"),H=c("el-title"),j=c("el-tooltip"),G=c("vxe-grid"),W=c("el-pagination"),X=c("el-flex"),Y=te("loading");return oe((C(),E(X,{vertical:!0},{default:v(()=>[u($,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:w},{default:v(()=>[u(x,{ref_key:"queryRef",ref:R,inline:!0,model:r(o),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:v(()=>[u(s,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:v(()=>[u(l,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:r(o).disabled,modelValue:r(o).deptIds,"onUpdate:modelValue":t[0]||(t[0]=n=>r(o).deptIds=n),data:h.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:n=>n.isValid!=="1"||r(o).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(s,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:v(()=>[u(i,{modelValue:r(o).codeorname,"onUpdate:modelValue":t[1]||(t[1]=n=>r(o).codeorname=n),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(H,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),le("div",he,[(C(!0),ae(re,null,se(r(a),n=>(C(),E(ve,{key:n.code,closable:"",style:{margin:"2px"},onClose:be=>K(n)},{default:v(()=>[u(j,{placement:"top",content:n.deptName},{default:v(()=>[ie(ne(n.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))]),u(G,de({ref_key:"gridRef",ref:m},S,{data:r(p)?.records,"row-class-name":T,style:{width:"100%","margin-top":"8px"},onCheckboxChange:q,onCheckboxAll:A,onCellClick:J}),null,16,["data"]),u(W,{"current-page":r(o).current,"onUpdate:currentPage":t[2]||(t[2]=n=>r(o).current=n),background:!0,"page-size":r(o).size,total:r(p)?.total?r(p)?.total:0,style:{"margin-top":"5px","margin-bottom":"5px"},onCurrentChange:w},null,8,["current-page","page-size","total"])]),_:1})),[[Y,y.value]])}}}),$e=ge(_e,[["__scopeId","data-v-2e6ec8c3"]]);export{$e as default};
|
|
@@ -100,8 +100,8 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
|
|
|
100
100
|
onSuccess?: ((...args: any[]) => any) | undefined;
|
|
101
101
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
102
102
|
}>, {
|
|
103
|
-
modelValue: boolean;
|
|
104
103
|
title: string;
|
|
104
|
+
modelValue: boolean;
|
|
105
105
|
multiple: boolean;
|
|
106
106
|
selectedUserIds: string[];
|
|
107
107
|
includeExternal: boolean;
|
|
@@ -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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.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/buildUploadHeaders.js";import"ts-md5";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"../../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 h,withCtx as a,createVNode as n,createCommentVNode as L,normalizeStyle as M,createTextVNode as k,toDisplayString as I,createElementBlock as T,Fragment as J,renderList as X}from"vue";import{watchDebounced as Z}from"@vueuse/core";import ee from"../../api/BasicApi.js";import w from"../../api/SysUserApi.js";import"element-plus";import te from"../../utils/FrameworkUtils.js";import{_ as re}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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"xlsx-js-style";const le=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:R}){const U=m(!1),b=O([]),c=m([]),B=m([]),C=m([]),_=m(),v=m("");let E=new Map,D=!1;const y=V,Y=R;Z(v,l=>{_.value?.filter(l.trim())},{debounce:200,maxWait:500});const $=(l,e)=>{if(!l)return!0;const t=l.toLocaleLowerCase();return String(e.name??"").toLocaleLowerCase().includes(t)||String(e.code??"").toLocaleLowerCase().includes(t)};function z(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);_.value?.setCheckedKeys(t)}}const A=async()=>{C.value=[];let l=y.selectedUserIds;y.roleId&&(l=(await w.getSysRoleUserByRoleId(y.roleId)||[]).map(t=>t.sysUserInfoId).filter(Boolean)),l.length&&(c.value=await w.getInitUserListComp(l),c.value.forEach(e=>{e.id&&C.value.push(e.id)}))},N=(l,e,t)=>{e.id&&l.push({id:e.id,code:e.loginName,name:e.userName,parentId:t,type:"YH",sex:e.sex})},F=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},S=async()=>{if(!D){D=!0,U.value=!0,c.value=[],b.value=[],v.value="";try{const l=y.includeExternal?w.getSysUserInfoUserSelectForTransfer():w.getSysUserInfoUserSelectComp(),[e,t]=await Promise.all([ee.getMdmOrgDeptTree(),l,A()]),r=[];e.forEach(i=>{i.children?.forEach(o=>{o.parentId=i.id}),r.push(...j(i))});const d=[],s=F(t),u=new Set;r.forEach(i=>{i.type="BM",s.get(i.id)?.forEach(o=>{N(d,o,i.id),o.id&&u.add(o.id)})});const g=t.filter(i=>i.isIup==="0"&&!!i.id&&!u.has(i.id));if(g.length){const i="__external_users__";r.push({id:i,code:i,name:"外部人员",parentId:null,type:"BM"}),g.forEach(o=>N(d,o,i))}const x=K([...r,...d]);B.value=x.map(i=>i.id),b.value=x}catch(l){te.messageError(l)}finally{U.value=!1}}};P(()=>{S()});function K(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 s=e.get(r.parentId);s&&s.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=_.value?.getCheckedNodes().filter(e=>e.type==="YH")??[];c.value=l.map(e=>E.get(e.id)).filter(e=>e!==void 0)};return H({resetQuery:S,confirm:async()=>{await y.onConfirm?.(c.value),Y("success",c.value)},reset:()=>{c.value=[]}}),(l,e)=>{const t=p("el-title"),r=p("el-search-input"),d=p("el-icons"),s=p("el-flex"),u=p("el-text"),g=p("el-tree"),x=p("el-icon-btn"),i=Q("loading");return W((f(),h(s,{vertical:!0,style:{height:"100%"}},{default:a(()=>[n(s,{vertical:!1},{default:a(()=>[n(s,{vertical:!0,style:{"padding-right":"15px"}},{default:a(()=>[n(t,{title:"人员列表",style:{"border-bottom":"var(--border)"}}),n(r,{modelValue:v.value,"onUpdate:modelValue":e[0]||(e[0]=o=>v.value=o),"show-action":!1,placeholder:"请输入用户名称或者编码进行搜索"},null,8,["modelValue"]),n(s,{vertical:!0},{default:a(()=>[n(g,{style:{width:"100%"},"filter-node-method":$,"show-checkbox":"",ref_key:"ref_tree",ref:_,data:b.value,onCheck:q,"node-key":"id","default-expanded-keys":B.value,"default-checked-keys":C.value,props:{label:"name",children:"children"}},{default:a(({data:o})=>[n(s,{align:"center"},{default:a(()=>[n(s,{align:"center",justify:"center",width:"20px"},{default:a(()=>[o.type==="BM"?(f(),h(d,{key:0,"model-value":"adtec-dept",style:{color:"var(--el-color-primary)"}})):L("v-if",!0),o.type==="YH"?(f(),h(d,{key:1,"model-value":"adtec-user",style:M({color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"})},null,8,["style"])):L("v-if",!0)]),_:2},1024),n(s,{align:"center"},{default:a(()=>[o.type==="YH"?(f(),h(u,{key:0},{default:a(()=>[k(I(o.name+`(${o.code})`),1)]),_:2},1024)):(f(),h(u,{key:1},{default:a(()=>[k(I(o.name),1)]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:1},8,["data","default-expanded-keys","default-checked-keys"])]),_:1})]),_:1}),n(s,{vertical:!0,style:{"border-left":"var(--border)","padding-left":"15px"}},{default:a(()=>[n(t,{title:`已选人员(${c.value.length})`,style:{"border-bottom":"var(--border)","margin-top":"5px"}},null,8,["title"]),n(s,{vertical:!0},{default:a(()=>[(f(!0),T(J,null,X(c.value,o=>(f(),T("div",{key:o.id,class:"user-select"},[n(s,{height:"50px",style:{"border-bottom":"var(--border)",cursor:"pointer"}},{default:a(()=>[n(s,{align:"center",width:"30px"},{default:a(()=>[n(d,{"model-value":"adtec-user",style:M([{"font-size":"20px"},{color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"}])},null,8,["style"])]),_:2},1024),n(s,{align:"center",vertical:!0,justify:"flex-start"},{default:a(()=>[n(s,null,{default:a(()=>[n(u,null,{default:a(()=>[k(I(o.userName+`(${o.loginName})`),1)]),_:2},1024)]),_:2},1024),n(s,{align:"flex-start",height:"18px",style:{overflow:"hidden"}},{default:a(()=>[n(u,{style:{"font-size":"12px",opacity:"0.8","margin-bottom":"8px"}},{default:a(()=>[k(I(o.deptName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(s,{width:"50px",align:"center"},{default:a(()=>[n(x,{onClick:se=>z(o),"model-value":"adtec-close",style:{opacity:"0.8",cursor:"pointer"}},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})]),_:1})]),_:1})]),_:1})),[[i,U.value]])}}}),
|
|
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 h,withCtx as a,createVNode as n,createCommentVNode as L,normalizeStyle as M,createTextVNode as k,toDisplayString as I,createElementBlock as T,Fragment as J,renderList as X}from"vue";import{watchDebounced as Z}from"@vueuse/core";import ee from"../../api/BasicApi.js";import w from"../../api/SysUserApi.js";import"element-plus";import te from"../../utils/FrameworkUtils.js";import{_ as re}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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/frontendBus.js";import"xlsx-js-style";const le=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:R}){const U=m(!1),b=O([]),c=m([]),B=m([]),C=m([]),_=m(),v=m("");let E=new Map,D=!1;const y=V,Y=R;Z(v,l=>{_.value?.filter(l.trim())},{debounce:200,maxWait:500});const $=(l,e)=>{if(!l)return!0;const t=l.toLocaleLowerCase();return String(e.name??"").toLocaleLowerCase().includes(t)||String(e.code??"").toLocaleLowerCase().includes(t)};function z(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);_.value?.setCheckedKeys(t)}}const A=async()=>{C.value=[];let l=y.selectedUserIds;y.roleId&&(l=(await w.getSysRoleUserByRoleId(y.roleId)||[]).map(t=>t.sysUserInfoId).filter(Boolean)),l.length&&(c.value=await w.getInitUserListComp(l),c.value.forEach(e=>{e.id&&C.value.push(e.id)}))},N=(l,e,t)=>{e.id&&l.push({id:e.id,code:e.loginName,name:e.userName,parentId:t,type:"YH",sex:e.sex})},F=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},S=async()=>{if(!D){D=!0,U.value=!0,c.value=[],b.value=[],v.value="";try{const l=y.includeExternal?w.getSysUserInfoUserSelectForTransfer():w.getSysUserInfoUserSelectComp(),[e,t]=await Promise.all([ee.getMdmOrgDeptTree(),l,A()]),r=[];e.forEach(i=>{i.children?.forEach(o=>{o.parentId=i.id}),r.push(...j(i))});const d=[],s=F(t),u=new Set;r.forEach(i=>{i.type="BM",s.get(i.id)?.forEach(o=>{N(d,o,i.id),o.id&&u.add(o.id)})});const g=t.filter(i=>i.isIup==="0"&&!!i.id&&!u.has(i.id));if(g.length){const i="__external_users__";r.push({id:i,code:i,name:"外部人员",parentId:null,type:"BM"}),g.forEach(o=>N(d,o,i))}const x=K([...r,...d]);B.value=x.map(i=>i.id),b.value=x}catch(l){te.messageError(l)}finally{U.value=!1}}};P(()=>{S()});function K(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 s=e.get(r.parentId);s&&s.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=_.value?.getCheckedNodes().filter(e=>e.type==="YH")??[];c.value=l.map(e=>E.get(e.id)).filter(e=>e!==void 0)};return H({resetQuery:S,confirm:async()=>{await y.onConfirm?.(c.value),Y("success",c.value)},reset:()=>{c.value=[]}}),(l,e)=>{const t=p("el-title"),r=p("el-search-input"),d=p("el-icons"),s=p("el-flex"),u=p("el-text"),g=p("el-tree"),x=p("el-icon-btn"),i=Q("loading");return W((f(),h(s,{vertical:!0,style:{height:"100%"}},{default:a(()=>[n(s,{vertical:!1},{default:a(()=>[n(s,{vertical:!0,style:{"padding-right":"15px"}},{default:a(()=>[n(t,{title:"人员列表",style:{"border-bottom":"var(--border)"}}),n(r,{modelValue:v.value,"onUpdate:modelValue":e[0]||(e[0]=o=>v.value=o),"show-action":!1,placeholder:"请输入用户名称或者编码进行搜索"},null,8,["modelValue"]),n(s,{vertical:!0},{default:a(()=>[n(g,{style:{width:"100%"},"filter-node-method":$,"show-checkbox":"",ref_key:"ref_tree",ref:_,data:b.value,onCheck:q,"node-key":"id","default-expanded-keys":B.value,"default-checked-keys":C.value,props:{label:"name",children:"children"}},{default:a(({data:o})=>[n(s,{align:"center"},{default:a(()=>[n(s,{align:"center",justify:"center",width:"20px"},{default:a(()=>[o.type==="BM"?(f(),h(d,{key:0,"model-value":"adtec-dept",style:{color:"var(--el-color-primary)"}})):L("v-if",!0),o.type==="YH"?(f(),h(d,{key:1,"model-value":"adtec-user",style:M({color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"})},null,8,["style"])):L("v-if",!0)]),_:2},1024),n(s,{align:"center"},{default:a(()=>[o.type==="YH"?(f(),h(u,{key:0},{default:a(()=>[k(I(o.name+`(${o.code})`),1)]),_:2},1024)):(f(),h(u,{key:1},{default:a(()=>[k(I(o.name),1)]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:1},8,["data","default-expanded-keys","default-checked-keys"])]),_:1})]),_:1}),n(s,{vertical:!0,style:{"border-left":"var(--border)","padding-left":"15px"}},{default:a(()=>[n(t,{title:`已选人员(${c.value.length})`,style:{"border-bottom":"var(--border)","margin-top":"5px"}},null,8,["title"]),n(s,{vertical:!0},{default:a(()=>[(f(!0),T(J,null,X(c.value,o=>(f(),T("div",{key:o.id,class:"user-select"},[n(s,{height:"50px",style:{"border-bottom":"var(--border)",cursor:"pointer"}},{default:a(()=>[n(s,{align:"center",width:"30px"},{default:a(()=>[n(d,{"model-value":"adtec-user",style:M([{"font-size":"20px"},{color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"}])},null,8,["style"])]),_:2},1024),n(s,{align:"center",vertical:!0,justify:"flex-start"},{default:a(()=>[n(s,null,{default:a(()=>[n(u,null,{default:a(()=>[k(I(o.userName+`(${o.loginName})`),1)]),_:2},1024)]),_:2},1024),n(s,{align:"flex-start",height:"18px",style:{overflow:"hidden"}},{default:a(()=>[n(u,{style:{"font-size":"12px",opacity:"0.8","margin-bottom":"8px"}},{default:a(()=>[k(I(o.deptName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(s,{width:"50px",align:"center"},{default:a(()=>[n(x,{onClick:se=>z(o),"model-value":"adtec-close",style:{opacity:"0.8",cursor:"pointer"}},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})]),_:1})]),_:1})]),_:1})),[[i,U.value]])}}}),Be=re(le,[["__scopeId","data-v-c86b978c"]]);export{Be as default};
|
|
@@ -12,8 +12,8 @@ type __VLS_Props = {
|
|
|
12
12
|
item?: ISysDictDataCacheVo;
|
|
13
13
|
};
|
|
14
14
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
|
-
mode: "tag" | "text";
|
|
16
15
|
item: ISysDictDataCacheVo;
|
|
16
|
+
mode: "tag" | "text";
|
|
17
17
|
value: string | number;
|
|
18
18
|
aliasKey: string;
|
|
19
19
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -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"element-plus";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.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"element-plus";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/frontendBus.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 ce,ref as _,computed as k,useModel as R,resolveComponent as y,resolveDirective as de,openBlock as u,createElementBlock as h,createBlock as S,withCtx as i,createElementVNode as x,Fragment as j,renderList as G,createVNode as f,unref as T,toDisplayString as C,withDirectives as pe,createTextVNode as D,createCommentVNode as H,normalizeStyle as me,withModifiers as fe,mergeModels as J}from"vue";import{UploadFilled as ve}from"@element-plus/icons-vue";import{ElMessage as r,ElMessageBox as ge}from"element-plus";import ye from"../../hooks/useFileView.js";import U from"../../api/DocumentApi.js";import F from"../../utils/FrameworkUtils.js";import{confirmDelete as he}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as xe}from"../../stores/userInfoStore.js";import{getAcceptString as we}from"../../utils/uploadAccept.js";import{buildUploadHeaders as _e}from"../../utils/buildUploadHeaders.js";import{_ as Ce}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"ts-md5";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";const Fe={key:0},Be={style:{display:"flex","flex-direction":"column"}},ke={style:{display:"flex","flex-direction":"column"}},Se=["onClick"],Ue={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},be={class:"el-upload__tip"},Me=ce({__name:"CustomElUpload",props:J({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},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:J(["success"],["update:uploadFilesList","update:loading"]),setup(v,{expose:W,emit:q}){const{fileView:L}=ye(),A=q,K=xe(),c=_(),g=_([]),w=_(""),z=_([]),o=v,N=k(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),Q=k(()=>_e(N.value)),n=R(v,"uploadFilesList"),X=e=>{w.value=e},Y=()=>{w.value=""},b=k(()=>we(o.accept)),P=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"},Z=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await U.updateFilesCreateBy([l],t),e.createBy=t}catch(a){F.messageError(a)}return e},ee=async(e,t,l)=>{if(e.code==="0"){const a=await Z(e.data);n.value.push(a)}else r.error(e.msg),c.value?.handleRemove(t);for(let a=p.value.length-1;a>=0;a--)p.value[a]===t.name&&p.value.splice(a,1);e.code==="0"&&(o.showOptMessage&&r.success("上传成功"),A("success",{files:n.value,deleteFiles:g.value})),p.value.length===0&&(d.value=!1)},d=R(v,"loading"),p=_([]),te=k(()=>z.value.some(e=>e.status!=="success"&&e.status!=="fail")),$=async e=>{if(n.value.find(m=>m.name===e.name))return r.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return r.warning("文件大小不能超过"+o.size+"MB"),!1;const l=b.value?.split(",").map(m=>m.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(r.error(`文件 ${e.name} 格式不支持,仅允许 ${b.value}!`),setTimeout(()=>{c.value?.clearFiles(["ready"])},1),!1):(p.value.push(e.name),!0)},B=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},le=e=>{if(B(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(l=>l.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):K.getUserInfo.userCode===e.createBy},ae=async e=>{if(B(e)){r.warning("该附件非您上传,无法预览或删除");return}if(e.name===w.value){if(e.createBy&&!le(e)){r.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)c.value?.handleRemove(e);else if(!await he({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>c.value?.handleRemove(e),successMessage:!1}))return}else M(e)},oe=(e,t)=>{z.value=t},se=async(e,t)=>{if(o.limit===1&&o.overwrite&&n.value.length>=1){const l=n.value[0];if(!o.isConfirmDelete){if(!await ge.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{d.value=!0,await U.delSysUploadFile(l.id).catch(m=>{F.messageError(m)})}catch(m){F.messageError(m);return}finally{d.value=!1}}n.value=[],c.value?.clearFiles(),e.length>0?await $(e[0])?(c.value?.handleStart(e[0]),o.autoUpload&&c.value?.submit()):n.value.push(l):g.value.push(l)}else r.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ne=(e,t,l)=>{r.error("上传失败");for(let a=p.value.length-1;a>=0;a--)p.value[a]===t.name&&p.value.splice(a,1);p.value.length===0&&(d.value=!1)},M=async e=>{const t=n.value.find(l=>l.name===e.name);if(t){if(B(t)){r.warning("该附件非您上传,无法预览或删除");return}L(t.id)}},O=async(e,t=!0)=>{const l=n.value.find(a=>a.name===e.name);if(!(!l||B(l)))try{o.isConfirmDelete?g.value.push(l):await U.delSysUploadFile(l.id),n.value.splice(n.value.indexOf(l),1)}catch(a){F.messageError(a)}},ie=(e,t)=>{d.value=!0};return W({remove:O,confirm:async(e=!0)=>{try{if(d.value=!0,o.isConfirmDelete&&g.value.length>0&&e&&(await U.delSysUploadFiles(g.value.map(t=>t.id)),g.value=[]),!o.autoUpload)if(te.value){c.value?.submit();return}else o.showOptMessage&&r.success("操作成功"),A("success",{files:n.value,deleteFiles:g.value});d.value=!1}catch(t){F.messageError(t),d.value=!1}}}),(e,t)=>{const l=y("el-icons"),a=y("el-tooltip"),m=y("el-icon"),V=y("el-text"),E=y("el-flex"),re=y("el-upload"),ue=de("loading");return v.isEdit?pe((u(),S(re,{key:1,ref_key:"ref_upload",ref:c,"file-list":n.value,onSuccess:ee,onRemove:O,onPreview:M,"auto-upload":v.autoUpload,onChange:oe,onError:ne,onExceed:se,onProgress:ie,"before-upload":$,drag:"",accept:b.value,action:N.value,multiple:"",limit:v.limit,headers:Q.value},{file:i(({file:s})=>[f(E,{class:"file-class",onMousemove:I=>X(s.name),onMouseout:Y,onClick:I=>M(s),height:"20px",width:v.itemWidth},{default:i(()=>[f(E,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:i(()=>[f(a,{class:"box-item",content:s.name,placement:"top"},{default:i(()=>[f(V,{truncated:"",style:{cursor:"pointer"}},{default:i(()=>[f(l,{"model-value":P(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),D(" "+C(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),f(E,{align:"center",justify:"flex-end",width:"50px"},{default:i(()=>[!s?.businessId&&s.percentage!==100?(u(),S(V,{key:0},{default:i(()=>[D(C(s.percentage)+"% ",1)]),_:2},1024)):H("v-if",!0),s?.businessId||s.percentage===100?(u(),S(l,{key:1,onClick:fe(I=>ae(s),["prevent","stop"]),"model-value":s.name===w.value?"adtec-close":"adtec-success",style:me([{color:"var(--el-color-success)","font-size":"14px"},{color:s.name===w.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):H("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:i(()=>[f(m,{class:"el-icon--upload"},{default:i(()=>[f(T(ve))]),_:1}),t[0]||(t[0]=x("div",{class:"el-upload__text"},[D("拖动文件或"),x("em",null,"点击上传")],-1)),x("div",be,"最大上传文件大小"+C(v.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[ue,d.value]]):(u(),h("div",Fe,[n.value?.length?(u(),S(a,{key:0,placement:"top"},{content:i(()=>[x("div",Be,[(u(!0),h(j,null,G(n.value,s=>(u(),h("span",{key:s.id,style:{margin:"0 2px"}},C(s.name),1))),128))])]),default:i(()=>[x("div",ke,[(u(!0),h(j,null,G(n.value,s=>(u(),h("div",{key:s.id,class:"file-item",style:{display:"flex","align-items":"center",overflow:"hidden"}},[f(l,{"model-value":P(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),x("span",{class:"link-name",onClick:I=>T(L)(s.id)},C(s.name),9,Se)]))),128))])]),_:1})):(u(),h("div",Ue,"暂无附件"))]))}}}),
|
|
1
|
+
import{defineComponent as ce,ref as _,computed as k,useModel as R,resolveComponent as y,resolveDirective as de,openBlock as u,createElementBlock as h,createBlock as S,withCtx as i,createElementVNode as x,Fragment as j,renderList as G,createVNode as f,unref as T,toDisplayString as C,withDirectives as pe,createTextVNode as D,createCommentVNode as H,normalizeStyle as me,withModifiers as fe,mergeModels as J}from"vue";import{UploadFilled as ve}from"@element-plus/icons-vue";import{ElMessage as r,ElMessageBox as ge}from"element-plus";import ye from"../../hooks/useFileView.js";import U from"../../api/DocumentApi.js";import F from"../../utils/FrameworkUtils.js";import{confirmDelete as he}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as xe}from"../../stores/userInfoStore.js";import{getAcceptString as we}from"../../utils/uploadAccept.js";import{buildUploadHeaders as _e}from"../../utils/buildUploadHeaders.js";import{_ as Ce}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"ts-md5";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";const Fe={key:0},Be={style:{display:"flex","flex-direction":"column"}},ke={style:{display:"flex","flex-direction":"column"}},Se=["onClick"],Ue={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},be={class:"el-upload__tip"},Me=ce({__name:"CustomElUpload",props:J({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},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:J(["success"],["update:uploadFilesList","update:loading"]),setup(v,{expose:W,emit:q}){const{fileView:L}=ye(),A=q,K=xe(),c=_(),g=_([]),w=_(""),z=_([]),o=v,N=k(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),Q=k(()=>_e(N.value)),n=R(v,"uploadFilesList"),X=e=>{w.value=e},Y=()=>{w.value=""},b=k(()=>we(o.accept)),P=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"},Z=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await U.updateFilesCreateBy([l],t),e.createBy=t}catch(a){F.messageError(a)}return e},ee=async(e,t,l)=>{if(e.code==="0"){const a=await Z(e.data);n.value.push(a)}else r.error(e.msg),c.value?.handleRemove(t);for(let a=p.value.length-1;a>=0;a--)p.value[a]===t.name&&p.value.splice(a,1);e.code==="0"&&(o.showOptMessage&&r.success("上传成功"),A("success",{files:n.value,deleteFiles:g.value})),p.value.length===0&&(d.value=!1)},d=R(v,"loading"),p=_([]),te=k(()=>z.value.some(e=>e.status!=="success"&&e.status!=="fail")),$=async e=>{if(n.value.find(m=>m.name===e.name))return r.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return r.warning("文件大小不能超过"+o.size+"MB"),!1;const l=b.value?.split(",").map(m=>m.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(r.error(`文件 ${e.name} 格式不支持,仅允许 ${b.value}!`),setTimeout(()=>{c.value?.clearFiles(["ready"])},1),!1):(p.value.push(e.name),!0)},B=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},le=e=>{if(B(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(l=>l.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):K.getUserInfo.userCode===e.createBy},ae=async e=>{if(B(e)){r.warning("该附件非您上传,无法预览或删除");return}if(e.name===w.value){if(e.createBy&&!le(e)){r.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)c.value?.handleRemove(e);else if(!await he({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>c.value?.handleRemove(e),successMessage:!1}))return}else M(e)},oe=(e,t)=>{z.value=t},se=async(e,t)=>{if(o.limit===1&&o.overwrite&&n.value.length>=1){const l=n.value[0];if(!o.isConfirmDelete){if(!await ge.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{d.value=!0,await U.delSysUploadFile(l.id).catch(m=>{F.messageError(m)})}catch(m){F.messageError(m);return}finally{d.value=!1}}n.value=[],c.value?.clearFiles(),e.length>0?await $(e[0])?(c.value?.handleStart(e[0]),o.autoUpload&&c.value?.submit()):n.value.push(l):g.value.push(l)}else r.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ne=(e,t,l)=>{r.error("上传失败");for(let a=p.value.length-1;a>=0;a--)p.value[a]===t.name&&p.value.splice(a,1);p.value.length===0&&(d.value=!1)},M=async e=>{const t=n.value.find(l=>l.name===e.name);if(t){if(B(t)){r.warning("该附件非您上传,无法预览或删除");return}L(t.id)}},O=async(e,t=!0)=>{const l=n.value.find(a=>a.name===e.name);if(!(!l||B(l)))try{o.isConfirmDelete?g.value.push(l):await U.delSysUploadFile(l.id),n.value.splice(n.value.indexOf(l),1)}catch(a){F.messageError(a)}},ie=(e,t)=>{d.value=!0};return W({remove:O,confirm:async(e=!0)=>{try{if(d.value=!0,o.isConfirmDelete&&g.value.length>0&&e&&(await U.delSysUploadFiles(g.value.map(t=>t.id)),g.value=[]),!o.autoUpload)if(te.value){c.value?.submit();return}else o.showOptMessage&&r.success("操作成功"),A("success",{files:n.value,deleteFiles:g.value});d.value=!1}catch(t){F.messageError(t),d.value=!1}}}),(e,t)=>{const l=y("el-icons"),a=y("el-tooltip"),m=y("el-icon"),V=y("el-text"),E=y("el-flex"),re=y("el-upload"),ue=de("loading");return v.isEdit?pe((u(),S(re,{key:1,ref_key:"ref_upload",ref:c,"file-list":n.value,onSuccess:ee,onRemove:O,onPreview:M,"auto-upload":v.autoUpload,onChange:oe,onError:ne,onExceed:se,onProgress:ie,"before-upload":$,drag:"",accept:b.value,action:N.value,multiple:"",limit:v.limit,headers:Q.value},{file:i(({file:s})=>[f(E,{class:"file-class",onMousemove:I=>X(s.name),onMouseout:Y,onClick:I=>M(s),height:"20px",width:v.itemWidth},{default:i(()=>[f(E,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:i(()=>[f(a,{class:"box-item",content:s.name,placement:"top"},{default:i(()=>[f(V,{truncated:"",style:{cursor:"pointer"}},{default:i(()=>[f(l,{"model-value":P(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),D(" "+C(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),f(E,{align:"center",justify:"flex-end",width:"50px"},{default:i(()=>[!s?.businessId&&s.percentage!==100?(u(),S(V,{key:0},{default:i(()=>[D(C(s.percentage)+"% ",1)]),_:2},1024)):H("v-if",!0),s?.businessId||s.percentage===100?(u(),S(l,{key:1,onClick:fe(I=>ae(s),["prevent","stop"]),"model-value":s.name===w.value?"adtec-close":"adtec-success",style:me([{color:"var(--el-color-success)","font-size":"14px"},{color:s.name===w.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):H("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:i(()=>[f(m,{class:"el-icon--upload"},{default:i(()=>[f(T(ve))]),_:1}),t[0]||(t[0]=x("div",{class:"el-upload__text"},[D("拖动文件或"),x("em",null,"点击上传")],-1)),x("div",be,"最大上传文件大小"+C(v.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[ue,d.value]]):(u(),h("div",Fe,[n.value?.length?(u(),S(a,{key:0,placement:"top"},{content:i(()=>[x("div",Be,[(u(!0),h(j,null,G(n.value,s=>(u(),h("span",{key:s.id,style:{margin:"0 2px"}},C(s.name),1))),128))])]),default:i(()=>[x("div",ke,[(u(!0),h(j,null,G(n.value,s=>(u(),h("div",{key:s.id,class:"file-item",style:{display:"flex","align-items":"center",overflow:"hidden"}},[f(l,{"model-value":P(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),x("span",{class:"link-name",onClick:I=>T(L)(s.id)},C(s.name),9,Se)]))),128))])]),_:1})):(u(),h("div",Ue,"暂无附件"))]))}}}),at=Ce(Me,[["__scopeId","data-v-accacf70"]]);export{at as default};
|
|
@@ -51,8 +51,8 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
|
|
|
51
51
|
"onUpdate:fileId"?: ((...args: any[]) => any) | undefined;
|
|
52
52
|
"onUpdate:edit"?: ((...args: any[]) => any) | undefined;
|
|
53
53
|
}>, {
|
|
54
|
-
url: string;
|
|
55
54
|
title: string;
|
|
55
|
+
url: string;
|
|
56
56
|
fileId: string;
|
|
57
57
|
edit: string;
|
|
58
58
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.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),
|
|
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/buildUploadHeaders.js";import"ts-md5";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"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 +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/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.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
|
|
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/buildUploadHeaders.js";import"ts-md5";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"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};
|