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.
@@ -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 me,ref as _,computed as k,useModel as H,resolveComponent as h,resolveDirective as pe,openBlock as y,createElementBlock as C,normalizeClass as fe,Fragment as ve,renderList as ge,createVNode as p,withCtx as f,createElementVNode as U,unref as J,toDisplayString as E,withDirectives as ye,createBlock as A,createTextVNode as N,createCommentVNode as W,normalizeStyle as he,withModifiers as we,mergeModels as q}from"vue";import{UploadFilled as xe}from"@element-plus/icons-vue";import{ElMessage as c,ElMessageBox as _e}from"element-plus";import Ce from"../../hooks/useFileView.js";import b from"../../api/DocumentApi.js";import F from"../../utils/FrameworkUtils.js";import{confirmDelete as Fe}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as Be}from"../../stores/userInfoStore.js";import{getAcceptString as ke}from"../../utils/uploadAccept.js";import{buildUploadHeaders as Ue}from"../../utils/buildUploadHeaders.js";import{_ as Ee}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},Se=["onClick"],Me={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},Ie={class:"el-upload__tip"},De=me({__name:"CustomElUpload",props:q({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:q(["success"],["update:uploadFilesList","update:loading"]),setup(d,{expose:K,emit:Q}){const{fileView:R}=Ce(),$=Q,X=Be(),v=_(),m=_([]),w=_(""),S=_([]),o=d,O=k(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),Y=k(()=>Ue(O.value)),n=H(d,"uploadFilesList"),Z=e=>{w.value=e},ee=()=>{w.value=""},M=k(()=>ke(o.accept)),V=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},te=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await b.updateFilesCreateBy([l],t),e.createBy=t}catch(a){F.messageError(a)}return e},ae=async(e,t,l)=>{if(e.code==="0"){const a=await te(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("上传成功"),$("success",{files:n.value,deleteFiles:m.value})),r.value.length===0&&(g.value=!1,G(e.code==="0"?void 0:new Error(e.msg||"上传失败")))},g=H(d,"loading"),r=_([]);let I,D;const j=k(()=>S.value.some(e=>e.status!=="success"&&e.status!=="fail")),le=()=>n.value.length>0||j.value,G=e=>{r.value.length>0||(e?D?.(e):I?.(),I=void 0,D=void 0)},L=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=M.value?.split(",").map(i=>i.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(c.error(`文件 ${e.name} 格式不支持,仅允许 ${M.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"])},1),!1):(r.value.includes(e.name)||r.value.push(e.name),!0)},B=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},oe=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()):X.getUserInfo.userCode===e.createBy},se=async e=>{if(B(e)){c.warning("该附件非您上传,无法预览或删除");return}if(e.name===w.value){if(e.createBy&&!oe(e)){c.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)v.value?.handleRemove(e);else if(!await Fe({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>v.value?.handleRemove(e),successMessage:!1}))return}else P(e)},ne=(e,t)=>{S.value=t},ie=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 _e.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{g.value=!0,await b.delSysUploadFile(a.id).catch(u=>{F.messageError(u)})}catch(u){F.messageError(u);return}finally{g.value=!1}}n.value=[],v.value?.clearFiles(),e.length>0?await L(e[0])?(o.isConfirmDelete&&l.forEach(u=>{m.value.some(x=>x.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}个文件,上传文件数量已达到限制`)},re=(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,G(e))},P=async e=>{const t=n.value.find(l=>l.name===e.name);if(t){if(B(t)){c.warning("该附件非您上传,无法预览或删除");return}R(t.id)}},T=async(e,t=!0)=>{const l=n.value.find(a=>a.name===e.name);if(!(!l||B(l)))try{o.isConfirmDelete?m.value.push(l):await b.delSysUploadFile(l.id),n.value.splice(n.value.indexOf(l),1)}catch(a){F.messageError(a)}},ue=(e,t)=>{g.value=!0};return K({remove:T,confirm:async(e=!0)=>{try{if(g.value=!0,o.isConfirmDelete&&m.value.length>0&&e&&(await b.delSysUploadFiles(m.value.map(t=>t.id)),m.value=[]),!o.autoUpload)if(j.value){const t=S.value.filter(a=>a.status!=="success"&&a.status!=="fail");for(const a of t)if(!a.raw||!await L(a.raw))throw new Error("待上传文件校验失败");const l=new Promise((a,i)=>{I=a,D=i});v.value?.submit(),await l}else o.showOptMessage&&c.success("操作成功"),$("success",{files:n.value,deleteFiles:m.value});g.value=!1}catch(t){throw F.messageError(t),g.value=!1,t}},hasFiles:le}),(e,t)=>{const l=h("el-icons"),a=h("el-tooltip"),i=h("el-icon"),u=h("el-text"),x=h("el-flex"),ce=h("el-upload"),de=pe("loading");return d.isEdit?ye((y(),A(ce,{key:1,ref_key:"ref_upload",ref:v,"file-list":n.value,onSuccess:ae,onRemove:T,onPreview:P,"auto-upload":d.autoUpload,onChange:ne,onError:re,onExceed:ie,onProgress:ue,"before-upload":L,drag:"",accept:M.value,action:O.value,multiple:"",limit:d.limit,headers:Y.value},{file:f(({file:s})=>[p(x,{class:"file-class",onMousemove:z=>Z(s.name),onMouseout:ee,onClick:z=>P(s),height:"20px",width:d.itemWidth},{default:f(()=>[p(x,{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":V(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),N(" "+E(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),p(x,{align:"center",justify:"flex-end",width:"50px"},{default:f(()=>[!s?.businessId&&s.percentage!==100?(y(),A(u,{key:0},{default:f(()=>[N(E(s.percentage)+"% ",1)]),_:2},1024)):W("v-if",!0),s?.businessId||s.percentage===100?(y(),A(l,{key:1,onClick:we(z=>se(s),["prevent","stop"]),"model-value":s.name===w.value?"adtec-close":"adtec-success",style:he([{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"])):W("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:f(()=>[p(i,{class:"el-icon--upload"},{default:f(()=>[p(J(xe))]),_:1}),t[0]||(t[0]=U("div",{class:"el-upload__text"},[N("拖动文件或"),U("em",null,"点击上传")],-1)),U("div",Ie,"最大上传文件大小"+E(d.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[de,d.showLoading&&g.value]]):(y(),C("div",be,[n.value?.length?(y(),C("div",{key:0,class:fe(["readonly-file-list",{"is-vertical":d.vertical}])},[(y(!0),C(ve,null,ge(n.value,s=>(y(),C("div",{key:s.id,class:"file-item"},[p(l,{"model-value":V(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),p(a,{content:s.name,placement:"top"},{default:f(()=>[U("span",{class:"link-name",onClick:z=>J(R)(s.id)},E(s.name),9,Se)]),_:2},1032,["content"])]))),128))],2)):(y(),C("div",Me,"暂无附件"))]))}}}),dt=Ee(De,[["__scopeId","data-v-dcbcaba7"]]);export{dt as default};
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-1bd05043"]]);export{ko as default};
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>通用层只负责“取哪一版数据”:先取引擎任务局部变量 {@code bizSnapshot}(业务提交时随任务存的当时快照),
6
- * 取不到再按 {@code bizId + wfTaskId} 查通用业务快照表兜底;两处都没有就返回 null,
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 不渲染任何内容。