UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 3.63 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),y=require("@aplus-frontend/antdv");require("../../config-provider/index.js");const _=require("./constans.js"),f=require("../ap-download/utils/getFileInfo.js"),R=require("../ap-download/hooks/index.js"),A=require("lodash-unified"),g=require("@ant-design/icons-vue"),U=require("../../utils/warning.js"),j=require("./style/index.js"),z=require("../../config-provider/hooks/use-token.js"),G=require("../../config-provider/hooks/use-namespace.js"),q=require("../../config-provider/hooks/use-global-config.js"),M=require("../../config-provider/hooks/use-locale.js"),W=e.defineComponent({name:"ApAttachment",props:_.ApAttachmentProps(),setup(t,{emit:h}){const{b:F,e:a}=G.useNamespace("ap-attachment"),N=j.default("ap-attachment"),p=q.useGlobalConfig("apUpload"),L=q.useGlobalConfig("downloadCenterTriggerConfig"),{token:w}=z.useToken(),{lang:O,t:r}=M.useLocale(),o=e.ref(!1),c=e.ref(""),d=e.useSlots(),T=e.computed(()=>O.value==="zh-cn"?"zh_CN":"en_US"),i=e.computed(()=>t.needName??p?.value?.needName),m=e.computed(()=>t.attachmentList.length===1),C=e.computed(()=>i.value?t.attachmentList.length>0&&i.value&&i.value?.nameKey?t.attachmentList[0][i.value.nameKey]:"":t.attachmentList.length>0?t.attachmentList[0].fileName:""),k=e.computed(()=>m.value?C.value:r("ap.apAttachment.downloadall")),V=e.computed(()=>({"--download-main-color":w.value?.colorLink,"--download-main-color-opacity":f.getHexWithOpacity(w.value?.colorLink,.6)})),x=e.computed(()=>t.getOssAccess||p.value?.getOssAccess),I=e.computed(()=>{const l=d.default?d.default()[0]:null;return l?e.cloneVNode(l,{style:{"font-size":"16px"}}):null}),v=A.debounce(async(l,s)=>{if(!t.disabled){o.value=!0,s&&(c.value=s);try{const n=A.isArray(e.toRaw(l))?e.toRaw(l):[e.toRaw(l)];if(L.value?.trigger){const u=f.getFileInfo(i.value,n).map(b=>({objectName:b.path,fileName:b.fileName}));L.value?.trigger(u),h("downloadCallback",u)}else{const u=await(await R.useOssInit(x.value,e.unref(T))).downloadFile(f.getFileInfo(t.needName,n));h("downloadCallback",u)}}catch(n){U.warning(!1,n)}finally{o.value=!1,c.value=""}}},500),P=l=>l&&l.length>0?e.createVNode("ul",{class:[a("file-list"),N.value],style:V.value},[l.map((s,n)=>e.createVNode("li",{key:n,class:[a("file-item")],onClick:()=>v(s,n+1)},[o.value&&c.value===n+1?e.createVNode("span",{class:[a("spin")]},[e.createVNode(g.LoadingOutlined,{spin:!0},null)]):null,s.fileName])),e.createVNode("li",{class:[a("download-all")],onClick:()=>v(t.attachmentList,"all")},[o.value&&c.value==="all"?e.createVNode("span",{class:[a("spin")]},[e.createVNode(g.LoadingOutlined,{spin:!0},null)]):null,r("ap.apAttachment.downloadall")])]):null;return()=>t.attachmentList?.length>0&&e.createVNode("div",{class:[F(),N.value],style:[V.value]},[e.createVNode(y.Tooltip,{title:k.value,placement:t.textToolTipPlacement,color:t.toolTipBgColor},{default:()=>[e.createVNode("div",{class:[a("content")],onClick:()=>v(m.value?t.attachmentList[0]:t.attachmentList,"global")},[o.value&&c.value==="global"?e.createVNode("div",{class:[a("spin")]},[e.createVNode(g.LoadingOutlined,{spin:!0},null)]):null,d.default?e.createVNode("div",{class:[a("text-render")]},[I.value,e.createTextVNode(" ")]):null,e.createVNode("div",{class:[a("text-inner")],style:{"max-width":t.maxWidth?t.maxWidth+"px":"auto"}},[C.value])])]}),e.createVNode(y.Popover,{content:P(t.attachmentList),placement:t.fileMorePopoverPlacement,color:"#fff"},{default:()=>[!m.value&&e.createVNode("div",{class:[a("more")]},[r("ap.apAttachment.more")])]})])}});exports.default=W;