You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
7.3 KiB

import{p as A,E as M,B as O,C as Z,A as ee,b as ae}from"./el-button-46177dcd.js";import{E as oe}from"./el-drawer-02c97c36.js";import{E as b}from"./el-message-606f6f33.js";import{E as L,a as te,b as le}from"./el-breadcrumb-item-c6d267fc.js";import{E as se}from"./el-pagination-e3dfa5c4.js";import{E as P}from"./el-input-2a068f59.js";import{E as ne,a as re}from"./el-tag-6812ee36.js";import"./el-select-aff362a8.js";import"./el-scrollbar-d5ea4c53.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-98b90066.js";import{E as pe}from"./el-image-viewer-59f7d0f4.js";import{E as ce}from"./el-dialog-fc2b58cd.js";import{E as me,a as _e}from"./el-form-item-879dedb6.js";import{E as fe}from"./el-progress-1ff82264.js";import{g as ge,u as ve,a as be,b as we,d as ye}from"./supplier-bfeb02e8.js";import{u as he}from"./request-3180202a.js";import{f as Ee}from"./style-08aad7ab.js";import{_ as Ce}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as q,o as E,f as S,M as p,Q as e,w as a,c as ke,a as g,N as m,O as xe,V as Ve,F as G,v as ze,a3 as Se,a4 as T}from"./index-b8bd6c45.js";import"./el-message-box-1764db92.js";import{E as De}from"./index-bcdc2cd6.js";import"./index-ec296065.js";import"./strings-6a1386cb.js";import"./validator-33a7a7f5.js";import"./castArray-edcf4c72.js";import"./aria-bc8e8b0f.js";const Fe=["src"],Ue={class:"demo-drawer__footer",style:{"text-align":"right"}},Be={key:0,class:"cropper-section"},Ie={class:"crop-area"},Re={class:"crop-btn"},je={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(N,{emit:_}){const v=N,w=d("insert"),y=d(!1),h=d(null),s=d({id:0});q(async()=>{if(v.editid){let l=await ge(v.editid);l.code===200&&(s.value=l.data,w.value="update")}});const C=d({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:1.875}),k=d(null),D=l=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(b.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),!1),F=()=>{const{canvas:l}=k.value.getResult();if(l){const n=new FormData;l.toBlob(async c=>{let o=new File([c],"image.jpg");n.append("fileType","IMAGE"),n.append("file",o),t.value.show=!1,y.value=!0;let r=await he("/supplier/uploadSupplierImage",n);r.code===200?(s.value.imageurl=r.data,b.success("上傳成功")):b.error("上傳失敗"),y.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},U=()=>{_("close",!1)},B=l=>{l&&l.validate(async n=>{if(n){let c,o;w.value==="update"?(s.value.id=v.editid,c=await ve(s.value),o="修改成功."):(c=await be(s.value),o="新增成功."),c.code===200&&(b({message:o,type:"success"}),_("close",!0))}else return b({message:"操作失敗.",type:"error"}),!1})};return(l,n)=>{const c=M,o=fe,r=me,V=P,I=_e,z=L,u=O,R=ce;return E(),S(G,null,[p("div",null,[e(z,null,{default:a(()=>[e(I,{ref_key:"formRef",ref:h,model:s.value,"status-icon":"",rules:C.value,"label-width":"120px"},{default:a(()=>[e(r,{label:"供應商LOGO",prop:"imageurl"},{default:a(()=>[e(o,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":f=>D(f)},{default:a(()=>[s.value.imageurl?(E(),S("img",{key:0,src:"http://localhost:6060"+s.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(E(),ke(c,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(g(A))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(r,{label:"供應商名稱",prop:"name"},{default:a(()=>[e(V,{modelValue:s.value.name,"onUpdate:modelValue":n[0]||(n[0]=f=>s.value.name=f)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ue,[e(u,{onClick:U},{default:a(()=>[m("取消")]),_:1}),e(u,{type:"primary",loading:y.value,onClick:n[1]||(n[1]=f=>B(h.value))},{default:a(()=>[m(xe(y.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:t.value.show,"onUpdate:modelValue":n[2]||(n[2]=f=>t.value.show=f),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(E(),S("div",Be,[p("div",Ie,[e(g(Ee),{class:"cropper",ref_key:"myCrop",ref:k,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Re,[e(u,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[m("取消")]),_:1}),e(u,{type:"primary",size:"small",onClick:F},{default:a(()=>[m("剪裁")]),_:1})])])):Ve("",!0)]),_:1},8,["modelValue"])])],64)}}},Ne=Ce(je,[["__scopeId","data-v-e9bfc185"]]),$e={class:"main"},Te={class:"breadcrumb-section"},Ae=p("a",{href:"/"},"產品列表",-1),Me={class:"pagination-block"},ma={__name:"Index",setup(N){const _=ze({page:1,pageSize:10}),{page:v,pageSize:w}=Se(_),y=d(0),h=d(!1),s=d(!1),C=d([]);q(()=>{t()});const t=async()=>{h.value=!0;let o=await we();o.code===200&&(C.value=o.data),h.value=!1},k=()=>{n.value=0,s.value=!0},D=o=>{n.value=o,s.value=!0},F=o=>{De.confirm("確認刪除此紀錄?").then(async()=>{(await ye(o)).code===200?(b({message:"刪除成功.",type:"success"}),t()):b({message:"刪除失敗.",type:"error"})}).catch(()=>{})},x=o=>{_.pageSize=o,t()},U=o=>{_.page=o,t()},B=o=>{_.page=o,t()},l=o=>{_.page=o,t()},n=d(0),c=o=>{s.value=!1,o&&t()};return(o,r)=>{const V=te,I=le,z=O,u=ne,R=pe,f=P,Q=M,$=ie,H=ue,J=de,K=re,W=se,X=L,Y=oe;return E(),S(G,null,[p("div",$e,[p("div",Te,[p("div",null,[e(I,{separator:"/"},{default:a(()=>[e(V,null,{default:a(()=>[m(" 首頁 ")]),_:1}),e(V,null,{default:a(()=>[Ae]),_:1})]),_:1})]),p("div",null,[e(z,{type:"primary",icon:g(A),onClick:k},{default:a(()=>[m(" 新增產品 ")]),_:1},8,["icon"])])]),e(X,{"body-style":{padding:"0px"}},{default:a(()=>[e(K,{data:C.value,style:{width:"100%"}},{default:a(()=>[e(u,{prop:"id",label:"#",width:"50"}),e(u,{label:"產品圖片"},{default:a(i=>[e(R,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover"},null,8,["src"])]),_:1}),e(u,{prop:"name",label:"產品名稱"}),e(u,{prop:"desc",label:"產品簡述"}),e(u,{prop:"is_home",label:"首頁顯示"}),e(u,{prop:"sort",label:"排序",width:"80"},{default:a(i=>[e(f,{modelValue:i.row.sort_order,"onUpdate:modelValue":j=>i.row.sort_order=j,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(u,{label:"操作",width:"105",fixed:"right"},{default:a(i=>[e(J,null,{dropdown:a(()=>[e(H,null,{default:a(()=>[e($,{icon:g(Z),onClick:j=>D(i.row.id)},{default:a(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e($,{icon:g(ee),onClick:j=>F(i.row.id)},{default:a(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(z,{type:"danger"},{default:a(()=>[m(" 操作"),e(Q,{class:"el-icon--right"},{default:a(()=>[e(g(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),p("div",Me,[e(W,{"current-page":g(v),"onUpdate:currentPage":r[0]||(r[0]=i=>T(v)?v.value=i:null),"page-size":g(w),"onUpdate:pageSize":r[1]||(r[1]=i=>T(w)?w.value=i:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:y.value,onSizeChange:x,onCurrentChange:U,onPrevClick:B,onNextClick:l},null,8,["current-page","page-size","total"])])]),_:1})]),p("div",null,[e(Y,{ref:"drawerRef",modelValue:s.value,"onUpdate:modelValue":r[2]||(r[2]=i=>s.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(Ne,{editid:n.value,onClose:c},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ma as default};