scanUpload.CPE7Ik-Z.js 3.6 KB

1234
  1. /*!
  2. Build based on gin-vue-admin
  3. Time : 1757946830000 */
  4. import{_ as e,a,q as l,u as o,t,c as u,o as s,b as n,f as r,w as c,v as i,x as d,g as p,i as v,d as f,F as m,y as g,z as h,A as x,B as w,h as y,C as k,E as _,j as b}from"./index.DlqNVRUO.js";import{M as C}from"./vue-cropper.es.DpMT2N2c.js";const R={class:"flex justify-center w-full pt-2"},j={class:"flex flex-col w-full h-auto p-0 pt-4"},z={class:"flex-1 min-h-[60vh]"},B={class:"w-screen h-[calc(100vh-175px)] rounded"},U={key:1,class:"flex justify-center items-center w-full h-[calc(100vh-175px)]"},F={class:"toolbar"},I=e(Object.assign({name:"scanUpload"},{__name:"scanUpload",setup(e){const I=a(0),S=a(""),$=a(!1),A=a(300),D=function(){A.value=window.innerWidth};l(()=>{D(),window.addEventListener("resize",D)});const E=o();E.isReady().then(()=>{let e=E.currentRoute.value.query;I.value=e.id,S.value=e.token}).catch(e=>{});const L=a(null),V=a(""),W=a(null),{proxy:q}=t(),H=a({}),M=a(!1),N=e=>{q.$refs.cropperRef.changeScale(e)},O=a([1,1]),T=a(300),G=a(300),J=a(!1),K=e=>{if(!e.raw.type.includes("image"))return void _.error("请选择图片文件");if(e.raw.size/1024/1024>8)return _.error("文件大小不能超过8MB!"),!1;const a=b.service({lock:!0,text:"请稍后",background:"rgba(0, 0, 0, 0.7)"}),l=new FileReader;l.onload=e=>{V.value=e.target.result,a.close()},l.readAsDataURL(e.raw)},P=e=>{-90===e?q.$refs.cropperRef.rotateLeft():q.$refs.cropperRef.rotateRight()},Q=()=>{if(M.value=!0,!1===$.value)return L.value.submit(),!0;q.$refs.cropperRef.getCropBlob(e=>{try{const a=new File([e],"".concat(Date.now(),".jpg"),{type:"image/jpeg"});L.value.clearFiles(),L.value.handleStart(a),L.value.submit()}catch(a){M.value=!1,_.error("上传失败: "+a.message)}})},X=e=>{const{data:a}=e;a&&(V.value=null,M.value=!1,H.value={},_.success("上传成功"))};return(e,a)=>{const l=p("el-icon"),o=p("el-upload"),t=p("el-image"),_=p("el-button"),b=p("el-tooltip"),D=p("el-button-group"),E=p("el-switch");return s(),u(m,null,[n("div",R,[r(o,{ref_key:"uploadRef",ref:L,class:"h5-uploader",action:"".concat(i(d)(),"/fileUploadAndDownload/upload"),accept:"image/*","show-file-list":!1,"auto-upload":!1,headers:{"x-token":S.value},data:{classId:I.value},"on-success":X,"on-change":K},{default:c(()=>[r(l,{class:"h5-uploader-icon"},{default:c(()=>[r(i(g))]),_:1})]),_:1},8,["action","headers","data"])]),n("div",j,[n("div",z,[n("div",B,[$.value?(s(),v(i(C),{key:0,ref_key:"cropperRef",ref:W,img:V.value,mode:"contain",outputType:"jpeg",autoCrop:!0,autoCropWidth:T.value,autoCropHeight:G.value,fixedBox:!1,fixed:J.value,fixedNumber:O.value,centerBox:!0,canMoveBox:!0,full:!1,maxImgSize:A.value,original:!0},null,8,["img","autoCropWidth","autoCropHeight","fixed","fixedNumber","maxImgSize"])):(s(),u("div",U,[V.value?(s(),v(t,{key:0,src:V.value,class:"max-w-full max-h-full",mode:"cover"},null,8,["src"])):f("",!0)]))])])]),n("div",F,[$.value?(s(),v(D,{key:0},{default:c(()=>[r(b,{content:"向左旋转"},{default:c(()=>[r(_,{onClick:a[0]||(a[0]=e=>P(-90)),icon:i(h)},null,8,["icon"])]),_:1}),r(b,{content:"向右旋转"},{default:c(()=>[r(_,{onClick:a[1]||(a[1]=e=>P(90)),icon:i(x)},null,8,["icon"])]),_:1}),r(_,{icon:i(g),onClick:a[2]||(a[2]=e=>N(1))},null,8,["icon"]),r(_,{icon:i(w),onClick:a[3]||(a[3]=e=>N(-1))},null,8,["icon"])]),_:1})):f("",!0),r(E,{size:"large",modelValue:$.value,"onUpdate:modelValue":a[4]||(a[4]=e=>$.value=e),"inline-prompt":"","active-text":"裁剪","inactive-text":"裁剪"},null,8,["modelValue"]),r(_,{type:"primary",onClick:Q,loading:M.value},{default:c(()=>[y(k(M.value?"上传中...":"上 传"),1)]),_:1},8,["loading"])])],64)}}}),[["__scopeId","data-v-1dc36044"]]);export{I as default};