adtec-hnyzfc-core-package 1.6.7 → 1.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/upload/CustomElUpload.vue.d.ts +2 -0
- package/dist/src/components/upload/CustomElUpload.vue.js +1 -1
- package/dist/src/components/workflow/WorkflowTodoShell.vue.js +1 -1
- package/dist/src/hooks/useWorkflowSnapshot.d.ts +3 -2
- package/dist/styles/element-ui.css +1 -1
- package/package.json +1 -1
|
@@ -116,6 +116,7 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
|
|
|
116
116
|
confirm: (autoDelete?: boolean) => Promise<void>;
|
|
117
117
|
hasFiles: () => boolean;
|
|
118
118
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
119
|
+
change: (...args: any[]) => void;
|
|
119
120
|
success: (...args: any[]) => void;
|
|
120
121
|
"update:loading": (value: boolean | undefined) => void;
|
|
121
122
|
"update:uploadFilesList": (value: ISysUploadFiles[]) => void;
|
|
@@ -231,6 +232,7 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
|
|
|
231
232
|
type: globalThis.PropType<boolean>;
|
|
232
233
|
};
|
|
233
234
|
}>> & Readonly<{
|
|
235
|
+
onChange?: ((...args: any[]) => any) | undefined;
|
|
234
236
|
onSuccess?: ((...args: any[]) => any) | undefined;
|
|
235
237
|
"onUpdate:loading"?: ((value: boolean | undefined) => any) | undefined;
|
|
236
238
|
"onUpdate:uploadFilesList"?: ((value: ISysUploadFiles[]) => any) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as pe,ref as C,computed as E,useModel as J,resolveComponent as h,resolveDirective as fe,openBlock as y,createElementBlock as F,normalizeClass as ve,Fragment as ge,renderList as ye,createVNode as p,withCtx as f,createElementVNode as S,unref as W,toDisplayString as b,withDirectives as he,createBlock as R,createTextVNode as $,createCommentVNode as q,normalizeStyle as we,withModifiers as xe,mergeModels as K}from"vue";import{UploadFilled as _e}from"@element-plus/icons-vue";import{ElMessage as c,ElMessageBox as Ce}from"element-plus";import Fe from"../../hooks/useFileView.js";import M from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import{confirmDelete as Be}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as ke}from"../../stores/userInfoStore.js";import{getAcceptString as Ue}from"../../utils/uploadAccept.js";import{buildUploadHeaders as Ee}from"../../utils/buildUploadHeaders.js";import{_ as Se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"../../hooks/useBehaviorAction.js";import"pinia";import"../../utils/userSessionStorage.js";const be={key:0},Me=["onClick"],Ie={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},Le={class:"el-upload__tip"},De=pe({__name:"CustomElUpload",props:K({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:K(["success","change"],["update:uploadFilesList","update:loading"]),setup(d,{expose:Q,emit:X}){const{fileView:O}=Fe(),I=X,Y=ke(),v=C(),m=C([]),w=C(""),x=C([]),k=e=>{x.value=e,I("change",e)},o=d,V=E(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),Z=E(()=>Ee(V.value)),n=J(d,"uploadFilesList"),ee=e=>{w.value=e},te=()=>{w.value=""},L=E(()=>Ue(o.accept)),j=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},ae=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await M.updateFilesCreateBy([l],t),e.createBy=t}catch(a){B.messageError(a)}return e},le=async(e,t,l)=>{if(e.code==="0"){const a=await ae(e.data);n.value.push(a)}else c.error(e.msg),v.value?.handleRemove(t);for(let a=r.value.length-1;a>=0;a--)r.value[a]===t.name&&r.value.splice(a,1);e.code==="0"&&(o.showOptMessage&&c.success("上传成功"),I("success",{files:n.value,deleteFiles:m.value})),r.value.length===0&&(g.value=!1,T(e.code==="0"?void 0:new Error(e.msg||"上传失败")))},g=J(d,"loading"),r=C([]);let D,P;const G=E(()=>x.value.some(e=>e.status!=="success"&&e.status!=="fail")),oe=()=>n.value.length>0||G.value,T=e=>{r.value.length>0||(e?P?.(e):D?.(),D=void 0,P=void 0)},z=async e=>{if(n.value.find(i=>i.name===e.name))return c.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return c.warning("文件大小不能超过"+o.size+"MB"),!1;const l=L.value?.split(",").map(i=>i.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(c.error(`文件 ${e.name} 格式不支持,仅允许 ${L.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"]),k(x.value.filter(i=>i.status!=="ready"))},1),!1):(r.value.includes(e.name)||r.value.push(e.name),!0)},U=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},se=e=>{if(U(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()):Y.getUserInfo.userCode===e.createBy},ne=async e=>{if(U(e)){c.warning("该附件非您上传,无法预览或删除");return}if(e.name===w.value){if(e.createBy&&!se(e)){c.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)v.value?.handleRemove(e);else if(!await Be({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>v.value?.handleRemove(e),successMessage:!1}))return}else A(e)},ie=(e,t)=>{k(t)},re=async(e,t)=>{if(o.limit===1&&o.overwrite&&n.value.length>=1){const l=[...n.value],a=l[0];if(!o.isConfirmDelete){if(!await Ce.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{g.value=!0,await M.delSysUploadFile(a.id).catch(u=>{B.messageError(u)})}catch(u){B.messageError(u);return}finally{g.value=!1}}n.value=[],v.value?.clearFiles(),k([]),e.length>0?await z(e[0])?(o.isConfirmDelete&&l.forEach(u=>{m.value.some(_=>_.id===u.id)||m.value.push(u)}),v.value?.handleStart(e[0]),o.autoUpload&&v.value?.submit()):n.value.push(...l):l.forEach(i=>{m.value.some(u=>u.id===i.id)||m.value.push(i)})}else c.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ue=(e,t,l)=>{c.error("上传失败");for(let a=r.value.length-1;a>=0;a--)r.value[a]===t.name&&r.value.splice(a,1);r.value.length===0&&(g.value=!1,T(e))},A=async e=>{const t=n.value.find(l=>l.name===e.name);if(t){if(U(t)){c.warning("该附件非您上传,无法预览或删除");return}O(t.id)}},H=async(e,t=!0)=>{k(x.value.filter(a=>a.uid!==e.uid));const l=n.value.find(a=>a.name===e.name);if(!(!l||U(l)))try{o.isConfirmDelete?m.value.push(l):await M.delSysUploadFile(l.id),n.value.splice(n.value.indexOf(l),1)}catch(a){B.messageError(a)}},ce=(e,t)=>{g.value=!0};return Q({remove:H,confirm:async(e=!0)=>{try{if(g.value=!0,o.isConfirmDelete&&m.value.length>0&&e&&(await M.delSysUploadFiles(m.value.map(t=>t.id)),m.value=[]),!o.autoUpload)if(G.value){const t=x.value.filter(a=>a.status!=="success"&&a.status!=="fail");for(const a of t)if(!a.raw||!await z(a.raw))throw new Error("待上传文件校验失败");const l=new Promise((a,i)=>{D=a,P=i});v.value?.submit(),await l}else o.showOptMessage&&c.success("操作成功"),I("success",{files:n.value,deleteFiles:m.value});g.value=!1}catch(t){throw B.messageError(t),g.value=!1,t}},hasFiles:oe}),(e,t)=>{const l=h("el-icons"),a=h("el-tooltip"),i=h("el-icon"),u=h("el-text"),_=h("el-flex"),de=h("el-upload"),me=fe("loading");return d.isEdit?he((y(),R(de,{key:1,ref_key:"ref_upload",ref:v,"file-list":n.value,onSuccess:le,onRemove:H,onPreview:A,"auto-upload":d.autoUpload,onChange:ie,onError:ue,onExceed:re,onProgress:ce,"before-upload":z,drag:"",accept:L.value,action:V.value,multiple:"",limit:d.limit,headers:Z.value},{file:f(({file:s})=>[p(_,{class:"file-class",onMousemove:N=>ee(s.name),onMouseout:te,onClick:N=>A(s),height:"20px",width:d.itemWidth},{default:f(()=>[p(_,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:f(()=>[p(a,{class:"box-item",content:s.name,placement:"top"},{default:f(()=>[p(u,{truncated:"",style:{cursor:"pointer"}},{default:f(()=>[p(l,{"model-value":j(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),$(" "+b(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),p(_,{align:"center",justify:"flex-end",width:"50px"},{default:f(()=>[!s?.businessId&&s.percentage!==100?(y(),R(u,{key:0},{default:f(()=>[$(b(s.percentage)+"% ",1)]),_:2},1024)):q("v-if",!0),s?.businessId||s.percentage===100?(y(),R(l,{key:1,onClick:xe(N=>ne(s),["prevent","stop"]),"model-value":s.name===w.value?"adtec-close":"adtec-success",style:we([{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"])):q("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:f(()=>[p(i,{class:"el-icon--upload"},{default:f(()=>[p(W(_e))]),_:1}),t[0]||(t[0]=S("div",{class:"el-upload__text"},[$("拖动文件或"),S("em",null,"点击上传")],-1)),S("div",Le,"最大上传文件大小"+b(d.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[me,d.showLoading&&g.value]]):(y(),F("div",be,[n.value?.length?(y(),F("div",{key:0,class:ve(["readonly-file-list",{"is-vertical":d.vertical}])},[(y(!0),F(ge,null,ye(n.value,s=>(y(),F("div",{key:s.id,class:"file-item"},[p(l,{"model-value":j(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),p(a,{content:s.name,placement:"top"},{default:f(()=>[S("span",{class:"link-name",onClick:N=>W(O)(s.id)},b(s.name),9,Me)]),_:2},1032,["content"])]))),128))],2)):(y(),F("div",Ie,"暂无附件"))]))}}}),mt=Se(De,[["__scopeId","data-v-dbd35e1f"]]);export{mt as default};
|
|
@@ -19,4 +19,4 @@ import{defineComponent as tt,useModel as st,ref as S,computed as w,onMounted as
|
|
|
19
19
|
已办节点的只读查看:节点开了撤回(后端按节点下发 withdrawEnabled)时,
|
|
20
20
|
在「取消」旁边给出撤回入口——校验、预览、二次确认、执行都在组件内完成,
|
|
21
21
|
成功后通知调用方刷新列表并关闭查看。
|
|
22
|
-
`),Qe.value?(n(),b(Xe,{key:0,"oper-code":"system:workflow:processWithdrawal"},{default:$(()=>[K(A,{type:"warning",loading:Z.value,onClick:qe},{default:$(()=>[...t[11]||(t[11]=[x("撤回",-1)])]),_:1},8,["loading"])]),_:1})):l("v-if",!0),we.value?(n(),b(A,{key:1,onClick:t[1]||(t[1]=a=>V("cancel"))},{default:$(()=>[...t[12]||(t[12]=[x("取消",-1)])]),_:1})):(n(),b(_t,{key:2,"task-id":E.taskId,params:Ye.value,"render-dialog":E.renderDialog,"show-process-btn":!1,"but-loading":L.value,"onUpdate:butLoading":t[2]||(t[2]=a=>L.value=a),onSuccess:Je},null,8,["task-id","params","render-dialog","but-loading"]))])):l("v-if",!0)],512)}}}),ko=ht(ss,[["__scopeId","data-v-
|
|
22
|
+
`),Qe.value?(n(),b(Xe,{key:0,"oper-code":"system:workflow:processWithdrawal"},{default:$(()=>[K(A,{type:"warning",loading:Z.value,onClick:qe},{default:$(()=>[...t[11]||(t[11]=[x("撤回",-1)])]),_:1},8,["loading"])]),_:1})):l("v-if",!0),we.value?(n(),b(A,{key:1,onClick:t[1]||(t[1]=a=>V("cancel"))},{default:$(()=>[...t[12]||(t[12]=[x("取消",-1)])]),_:1})):(n(),b(_t,{key:2,"task-id":E.taskId,params:Ye.value,"render-dialog":E.renderDialog,"show-process-btn":!1,"but-loading":L.value,"onUpdate:butLoading":t[2]||(t[2]=a=>L.value=a),onSuccess:Je},null,8,["task-id","params","render-dialog","but-loading"]))])):l("v-if",!0)],512)}}}),ko=ht(ss,[["__scopeId","data-v-ff1b77a8"]]);export{ko as default};
|
|
@@ -2,8 +2,9 @@ import { type Ref } from 'vue';
|
|
|
2
2
|
/**
|
|
3
3
|
* 审核当时快照(业务展示用):
|
|
4
4
|
*
|
|
5
|
-
* <p
|
|
6
|
-
*
|
|
5
|
+
* <p>通用层只负责“取哪一版数据”:先按 {@code bizId + wfTaskId} 查通用业务快照表(任务ID取不到时按
|
|
6
|
+
* {@code taskDefKey} 取该节点最近一次)——读取时后端统一补附件 {@code available} 与 {@code <字段>Name};
|
|
7
|
+
* 查不到再兜底取引擎任务局部变量 {@code bizSnapshot}(业务提交时随任务存的当时快照),两处都没有就返回 null,
|
|
7
8
|
* 由业务页面决定怎么展示(此时页面通常直接展示业务当前数据)。
|
|
8
9
|
*
|
|
9
10
|
* <p>展示(字段、布局、字典翻译)完全由业务页面负责——本 hook 不渲染任何内容。
|