UNPKG

@aplus-frontend/ui

Version:

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