1 |
- import{_ as M,f as W,B as X,F as Y,P as Z,A as x,U as H,d as K,m as D}from"./index-3887ab05.js";import"./index-d77dbf91.js";/* empty css */import{a as u,o as Q,W as T,X as r,Y as d,a2 as p,F as z,a6 as ee,u as n,$ as S,a5 as k,m as h,a0 as te,Z as B,l as j}from"./vue-74beb2f3.js";const le={class:"my-upload"},ae={class:"file-item_box"},se={class:"modal"},oe={class:"modal-btn"},ne={key:0,class:"progress"},ie={key:1,style:{width:"100%",height:"100%"}},re=["src"],ue={key:1,class:"other-file"},de={class:"title"},ce={class:"image-upload-btn"},pe=["src"],me=["src"],fe={__name:"fileUpload",props:{accept:{type:String,default:()=>""},bindData:{type:Object,default:()=>{}},multiple:{type:Boolean,default:()=>!0},isDel:{type:Boolean,default:()=>!0}},emits:["fileChange","uploadOver"],setup(q,{expose:L,emit:y}){const c=q;let l=u([]);const P=e=>{let t={image:["png","jpg","jpeg","bmp","gif","JPG","webp","svg","tiff"],video:["mp4","ogg","webm"],word:["doc","docx"],excel:["xls","xlsx"],PPT:["ppt","pptx"],txt:["txt","md","js","json"],PDF:["pdf"],rar:["7z","zip","rar","kz","ace","arj","bz2","cab","gz","iso","jar","lzh","tar","z"],folder:['"folder"']};for(let a=0;a<e.length;a++){const i=e[a].type;if(i!="folder")for(var o in t)t[o].some(s=>i.indexOf(s)!=-1)&&(e[a].fileType=o);else e[a].fileType="folder"}return e},I=async e=>{if(y("fileChange"),e.document=e.name,Object.keys(c.bindData).length){e.document=e.name,l.value=[...l.value,P([e])[0]],(l.value[l.value.length-1].fileType=="image"||l.value[l.value.length-1].fileType=="video")&&(l.value[l.value.length-1].url=await C(e),l.value[l.value.length-1].progress=0);let t=e.name.lastIndexOf("."),o=e.name.substr(t+1);U(e.name,o,e)}else{l.value.push(P([e])[0]);let t=l.value[l.value.length-1];(t.fileType=="video"||t.fileType=="image"||t.fileType=="PDF")&&(e.url=await C(e)),e.progress=0,console.log(l.value)}};let O=u(""),v=u(0),N=e=>{O.value=e,v.value=0,l.value.forEach(t=>{let o=t.originFileObj.name.lastIndexOf("."),a=t.originFileObj.name.substr(o+1);U(t.name,a,t.originFileObj)})};const U=async(e,t,o)=>{const a=await x.requested({classname:"system.attachment.huawei.OBS",method:"getFileName",content:{filename:e,filetype:t,parentid:F.value}});let i=a.data.uploadurl,s=a.data.serialfilename;R(i,o,t,s)},R=async(e,t,o,a)=>{let i={headers:o==="pdf"?{"Content-Type":"application/pdf"}:o==="svg"?{"Content-Type":"image/svg+xml"}:{"Content-Type":"application/octet-stream"},onUploadProgress:function(s){let w=s.loaded/s.total*100;l.value=l.value.map((f,ve)=>(f.uid===t.uid&&(f={...f,progress:w.toFixed(0)}),f))}};await H.upload(e,t,i),A(a)},A=async e=>{let t={serialfilename:e};t=Object.assign({},t,c.bindData);let o={classname:"system.attachment.huawei.OBS",method:"uploadSuccess",content:t};const a=await x.requested(o);if(y("uploadSuccess",a),v.value++,console.log(v.value,l.value.length),v.value>=l.value.length&&(O.value&&O.value(),console.log("上传完成触发"),y("uploadOver")),Object.keys(c.bindData).length){let i=JSON.parse(a.attinfos);l.value[l.value.length-1].linksid=i.data[i.data.length-1].linksid}};let V=async(e,t)=>{if(e.linksid){let o=await x.requested({classname:"system.attachment.Attachment",method:"deleteFileLink",content:{linksids:[e.linksid]}});K.message(o,"删除成功",()=>{l.value.splice(t,1),y("deleteSuccess")})}else l.value.splice(t,1)},m=u(!1),_=u(""),b=u(""),g=u("");const $=async e=>{if(_.value=!1,b.value=!1,console.log(e),e.fileType=="video")b.value=e.url,m.value=!0;else if(e.fileType=="image")_.value=e.url,m.value=!0;else if(e.fileType=="PDF")if(e.url.length<200)window.open(e.url);else return D.warning("暂不支持预览本地PDF");else return D.warning("暂不支持预览此类型文件");g.value=e.name||e.url.substring(e.url.lastIndexOf("/")+1)},C=e=>new Promise((t,o)=>{const a=new FileReader;a.readAsDataURL(e),a.onload=()=>t(a.result),a.onerror=i=>o(i)});let F=u(""),E=u("");const J=async()=>{const e=await x.requested({classname:"webmanage.site.site",method:"querySite_Parameter",content:{}});F.value=e.data.appfolderid,E.value=e.data.salematerialfolderid,console.log(F.value)};let G=()=>{l.value=[],v.value=0};return Q(()=>{J()}),L({toUpload:N,fileList:l,refresh:G}),(e,t)=>{const o=T("a-progress"),a=T("a-upload"),i=T("a-modal");return r(),d(z,null,[p("div",le,[(r(!0),d(z,null,ee(n(l),(s,w)=>(r(),d("div",{class:"file-item",key:w},[p("div",ae,[p("div",se,[p("div",oe,[p("div",null,[n(c).isDel?(r(),S(n(W),{key:0,style:{"margin-right":"3px",color:"#ffffff","font-size":"15px"},onClick:f=>n(V)(s,w)},null,8,["onClick"])):k("",!0),h(n(X),{style:{color:"#ffffff","font-size":"15px"},onClick:f=>$(s)},null,8,["onClick"])])])]),s.progress!=0&&s.progress!=100&&s.progress!=null?(r(),d("div",ne,[h(o,{type:"circle",percent:Number(s.progress),size:80},null,8,["percent"])])):(r(),d("div",ie,[s.fileType=="image"?(r(),d("img",{key:0,src:s.url,alt:""},null,8,re)):(r(),d("div",ue,[h(n(Y),{style:{"font-size":"40px",color:"#1677ff"}}),p("div",de,te(s.document),1)]))]))])]))),128)),!n(c).multiple&&!n(l).length||n(c).multiple?(r(),S(a,{key:0,"file-list":n(l),"onUpdate:fileList":t[0]||(t[0]=s=>j(l)?l.value=s:l=s),accept:n(c).accept,multiple:n(c).multiple,beforeUpload:I,showUploadList:!1,customRequest:()=>{}},{default:B(()=>[p("div",ce,[h(n(Z))])]),_:1},8,["file-list","accept","multiple","customRequest"])):k("",!0)]),h(i,{visible:n(m),title:n(g),footer:null,onCancel:t[1]||(t[1]=s=>{j(m)?m.value=!1:m=!1,j(g)?g.value="":g=""}),width:"1000px"},{default:B(()=>[n(_)?(r(),d("img",{key:0,alt:"example",style:{width:"100%",height:"100%"},src:n(_)},null,8,pe)):k("",!0),n(b)?(r(),d("video",{key:1,src:n(b),controls:"",style:{width:"100%",height:"100%"}},null,8,me)):k("",!0)]),_:1},8,["visible","title"])],64)}}},be=M(fe,[["__scopeId","data-v-b473d670"]]);export{be as U};
|