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.5 KiB

import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-ca4abaee.js";import{E as Y}from"./el-drawer-d9790fe0.js";import{E as Z}from"./el-message-box-e43658fb.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-422ecc35.js";import{E as le,a as oe}from"./el-table-column-7db11110.js";import"./el-tag-6a2dc6cc.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-56d71f90.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-df8c5b16.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as k,F as L,W as ie,a as x,V as O,N as f,O as P,a4 as ue,D as ce,a5 as me}from"./index-fb87886b.js";import{E as pe}from"./el-dialog-1ee3a857.js";import{E as _e,a as fe}from"./el-form-item-85aab49a.js";import{E as ve}from"./el-progress-2aaabad5.js";import{E as ge,a as ye}from"./el-select-a68074b1.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as Ce}from"./category-58bb6f3c.js";import{u as ke}from"./request-60ae96d2.js";import{f as Ve}from"./style-401f4ec6.js";import{E as v}from"./el-message-5778b677.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-3e44040d.js";import"./index-de3a95d3.js";import"./aria-60e0cdc6.js";import"./castArray-59d69fd8.js";import"./_baseClone-732ede82.js";import"./cloneDeep-3d78d7c6.js";import"./index-037638b5.js";import"./strings-991b21d4.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),i=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(i.value.show=!0,i.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let u=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",u),i.value.show=!1,b.value=!0;let y=await ke("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{i.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,u;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),u="修改成功."):(m=await Ee(o.value),u="新增成功."),m.code===200&&(v({message:u,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,u=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(u,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),k(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),k(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(u,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ie(E.value,t=>(d(),k(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),k(u,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),k(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:i.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>i.value.show=t),title:"Tips","before-close":_},{default:a(()=>[i.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:i.value.img,"stencil-props":{aspectRatio:i.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-09906d5f"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},i=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,u=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ue("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:C=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),k(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":C=>t.row.sort_order=C,style:{width:"50px"},onKeyup:me(C=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=C=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:C=>i(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:C=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(u,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default};