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
8.3 KiB
2 lines
8.3 KiB
import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-dd91f3f6.js";import{E as le}from"./el-drawer-41ea71b6.js";import{E as te}from"./el-message-box-9069766c.js";import{E as L,a as oe,b as se}from"./el-breadcrumb-item-fc2f12a8.js";import{E as re,a as ne}from"./el-table-column-2087a7ad.js";import"./el-tag-cf212e80.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-4b72b7cb.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-6cdd1bad.js";import{E as ce}from"./el-image-viewer-8dfbab81.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-a18521e5.js";import{E as ye}from"./el-dialog-5eb47c40.js";import{E as we,a as be}from"./el-form-item-7f30e4ff.js";import{E as he}from"./el-progress-f539c088.js";import{a as D,u as Ee}from"./request-a37452c7.js";import{f as xe}from"./style-88a0cfcf.js";import{E as y}from"./el-message-a9712316.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-40ef8000.js";import"./index-d4f2f151.js";import"./aria-60e0cdc6.js";import"./castArray-3c50f72c.js";import"./_baseClone-0431f2ee.js";import"./cloneDeep-d66026bf.js";const Be=async()=>D("/index/getBannerList","GET"),Ve=async p=>D("/index/getBanner","GET",{id:p}),Ce=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Fe=["src"],Ie=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,V=d("insert"),f=d(!1),F=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ve(E.editid);l.code===200&&(s.value=l.data,V.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:2}),I=d(null),T=(l,o)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),o===1?(t.value.type=1,t.value.ratio=2):(t.value.type=2,t.value.ratio=.5),!1),j=()=>{const{canvas:l}=I.value.getResult();if(l){const o=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");o.append("fileType","IMAGE"),o.append("file",u),t.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",o);i.code===200?(t.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async o=>{if(o){let _,u;V.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,o)=>{const _=q,u=we,i=G,C=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:F,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":o[0]||(o[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":o[1]||(o[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:o[2]||(o[2]=c=>n(F.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:t.value.show,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.show=c),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:I,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),V=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(V.value=n.data),E.value=!1},F=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},t=d(0),I=n=>{t.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),t.value=0},j=()=>{t.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const o=oe,_=se,u=O,i=re,C=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(o,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(o,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:F},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:V.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(C,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(C,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==t.value?(v(),B("div",{key:0,onDblclick:k=>I(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===t.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default};
|