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.7 KiB
2 lines
7.7 KiB
import{p as M,E as S,B as G,C as Q,A as H,b as J}from"./el-button-98327865.js";import{E as K}from"./el-drawer-1b116d0e.js";import{E as b}from"./el-message-01c953f1.js";import{E as L,a as W,b as X}from"./el-breadcrumb-item-c62d9403.js";import{E as Y,a as Z}from"./el-tag-f3a08928.js";import"./el-scrollbar-7a0c56b8.js";import{E as ee,a as ae,b as le}from"./el-dropdown-item-16e508f0.js";import{E as O}from"./el-input-7c688efc.js";import{E as oe}from"./el-image-viewer-048d9c29.js";import{E as te}from"./el-dialog-b09332e2.js";import{E as se,a as ne}from"./el-form-item-6a713521.js";import{E as re}from"./el-progress-37539b38.js";import{a as D,u as ue}from"./request-5a9b7645.js";import{f as de}from"./style-b9d5d7ae.js";import{_ as ie}from"./_plugin-vue_export-helper-c27b6911.js";import{q as u,z as q,o as y,f as k,M as p,Q as e,w as a,c as N,a as w,N as _,O as ce,V as pe,F as P,v as me,a3 as _e}from"./index-7ade0fa6.js";import"./el-message-box-35f36743.js";import{E as fe}from"./index-ff1306d3.js";import"./index-82e080df.js";import"./castArray-7f2a9c68.js";import"./aria-bc8e8b0f.js";import"./validator-d3f529a0.js";const ve=async()=>D("/index/getBannerList","GET"),ge=async m=>D("/index/getBanner","GET",{id:m}),ye=async m=>D("/index/deleteBanner","GET",{id:m}),be=async m=>D("/index/updateBanner","POST",m),we=async m=>D("/index/addBanner","POST",m);const he=["src"],Ee=["src"],xe={class:"demo-drawer__footer",style:{"text-align":"right"}},Be={key:0,class:"cropper-section"},Ve={class:"crop-area"},Ce={class:"crop-btn"},ke={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(m,{emit:F}){const h=m,f=u("insert"),g=u(!1),E=u(null),t=u({id:0});q(async()=>{if(h.editid){let o=await ge(h.editid);o.code===200&&(t.value=o.data,f.value="update")}});const U=u({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:2}),x=u(null),T=(o,l)=>o.type!=="image/jpeg"&&o.type!=="image/png"&&o.type!=="image/jpg"?(b.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(o),l===1?(s.value.type=1,s.value.ratio=2):(s.value.type=2,s.value.ratio=.5),!1),d=()=>{const{canvas:o}=x.value.getResult();if(o){const l=new FormData;o.toBlob(async i=>{let n=new File([i],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),s.value.show=!1,g.value=!0;let v=await ue("/index/uploadBannerImage",l);v.code===200?(s.value.type===1?t.value.imageurl1=v.data:t.value.imageurl2=v.data,b.success("上傳成功")):b.error("上傳失敗"),g.value=!1},"image/jpeg")}},B=()=>{s.value.show=!1},I=()=>{F("close",!1)},j=o=>{o&&o.validate(async l=>{if(l){let i,n;f.value==="update"?(t.value.id=h.editid,i=await be(t.value),n="修改成功."):(i=await we(t.value),n="新增成功."),i.code===200&&(b({message:n,type:"success"}),F("close",!0))}else return b({message:"操作失敗.",type:"error"}),!1})};return(o,l)=>{const i=O,n=se,v=S,C=re,R=ne,A=L,V=G,$=te;return y(),k(P,null,[p("div",null,[e(A,null,{default:a(()=>[e(R,{ref_key:"formRef",ref:E,model:t.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"標語"},{default:a(()=>[e(i,{modelValue:t.value.slogon,"onUpdate:modelValue":l[0]||(l[0]=r=>t.value.slogon=r)},null,8,["modelValue"])]),_:1}),e(n,{label:"描述"},{default:a(()=>[e(i,{modelValue:t.value.describe,"onUpdate:modelValue":l[1]||(l[1]=r=>t.value.describe=r)},null,8,["modelValue"])]),_:1}),e(n,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":r=>T(r,1)},{default:a(()=>[t.value.imageurl1?(y(),k("img",{key:0,src:"http://localhost:6060"+t.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,he)):(y(),N(v,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(w(M))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":r=>T(r,2)},{default:a(()=>[t.value.imageurl2?(y(),k("img",{key:0,src:"http://localhost:6060"+t.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ee)):(y(),N(v,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(w(M))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",xe,[e(V,{onClick:I},{default:a(()=>[_("取消")]),_:1}),e(V,{type:"primary",loading:g.value,onClick:l[2]||(l[2]=r=>j(E.value))},{default:a(()=>[_(ce(g.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e($,{modelValue:s.value.show,"onUpdate:modelValue":l[3]||(l[3]=r=>s.value.show=r),title:"Tips","before-close":B},{default:a(()=>[s.value.show?(y(),k("div",Be,[p("div",Ve,[e(w(de),{class:"cropper",ref_key:"myCrop",ref:x,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ce,[e(V,{type:"primary",size:"small",text:"",onClick:B},{default:a(()=>[_("取消")]),_:1}),e(V,{type:"primary",size:"small",onClick:d},{default:a(()=>[_("剪裁")]),_:1})])])):pe("",!0)]),_:1},8,["modelValue"])])],64)}}},De=ie(ke,[["__scopeId","data-v-b630865f"]]),Fe={class:"main"},Te={class:"breadcrumb-section"},Ie=p("a",{href:"/"},"首頁輪播列表",-1),ea={__name:"Index",setup(m){const F=me({page:1,pageSize:10});_e(F),u(0);const h=u(!1),f=u(!1),g=u([]);q(()=>{E()});const E=async()=>{h.value=!0;let d=await ve();d.code===200&&(g.value=d.data),h.value=!1},t=()=>{x.value=0,f.value=!0},U=d=>{x.value=d,f.value=!0},s=d=>{fe.confirm("確認刪除此紀錄?").then(async()=>{(await ye(d)).code===200?(b({message:"刪除成功.",type:"success"}),E()):b({message:"刪除失敗.",type:"error"})}).catch(()=>{})},x=u(0),T=d=>{f.value=!1,d&&E()};return(d,B)=>{const I=W,j=X,o=G,l=Y,i=oe,n=O,v=S,C=ee,R=ae,A=le,V=Z,$=L,r=K;return y(),k(P,null,[p("div",Fe,[p("div",Te,[p("div",null,[e(j,{separator:"/"},{default:a(()=>[e(I,null,{default:a(()=>[_(" 首頁 ")]),_:1}),e(I,null,{default:a(()=>[Ie]),_:1})]),_:1})]),p("div",null,[e(o,{type:"primary",icon:w(M),onClick:t},{default:a(()=>[_(" 新增輪播 ")]),_:1},8,["icon"])])]),e($,{"body-style":{padding:"0px"}},{default:a(()=>[e(V,{data:g.value,style:{width:"100%"}},{default:a(()=>[e(l,{prop:"id",label:"#",width:"50"}),e(l,{label:"電腦版背景"},{default:a(c=>[e(i,{style:{width:"100px",height:"50px"},src:c.row.imageurl1,fit:"cover"},null,8,["src"])]),_:1}),e(l,{label:"手機版背景"},{default:a(c=>[e(i,{style:{width:"50px",height:"100px"},src:c.row.imageurl2,fit:"cover"},null,8,["src"])]),_:1}),e(l,{prop:"slogon",label:"標題"}),e(l,{prop:"describe",label:"描述"}),e(l,{prop:"sort",label:"排序",width:"80"},{default:a(c=>[e(n,{modelValue:c.row.sort_order,"onUpdate:modelValue":z=>c.row.sort_order=z,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(c=>[e(A,null,{dropdown:a(()=>[e(R,null,{default:a(()=>[e(C,{icon:w(Q),onClick:z=>U(c.row.id)},{default:a(()=>[_("修改")]),_:2},1032,["icon","onClick"]),e(C,{icon:w(H),onClick:z=>s(c.row.id)},{default:a(()=>[_("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(o,{type:"danger"},{default:a(()=>[_(" 操作"),e(v,{class:"el-icon--right"},{default:a(()=>[e(w(J))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(r,{ref:"drawerRef",modelValue:f.value,"onUpdate:modelValue":B[0]||(B[0]=c=>f.value=c),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(De,{editid:x.value,onClose:T},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ea as default};
|