import{a as G}from"./refresh-40951901.js";import{d as M,r as o,ae as k,ah as B,ai as l,ao as e,as as A,ap as p,ag as q,al as w,aw as H,o as J,af as O,aj as h,ak as R,aC as W,b3 as X}from"./index-616702d4.js";import{c as Y,a as Z,b as ee,d as te,e as ae}from"./categoryApi-8b7ab326.js";import{_ as ne}from"./uploadImg.vue_vue_type_script_setup_true_lang-61d8b643.js";import{_ as V}from"./Input-c4d1ad6c.js";import{_ as le,a as se}from"./FormItem-cee75cac.js";import{_ as oe}from"./InputNumber-ef842c99.js";import{_ as ue}from"./Switch-bf8e17e1.js";import{N as C}from"./Space-a048fa85.js";import{_ as ie}from"./Spin-800115b9.js";import{N as re}from"./Popconfirm-dbb9f5be.js";import{N as ce}from"./Tag-7d12dac1.js";import{N as F}from"./Image-8d309ea9.js";import{_ as me}from"./DataTable-e3606107.js";import"./Popover-d05722bc.js";import"./Eye-8736ca10.js";import"./format-length-c9d165c6.js";import"./next-frame-once-7035a838.js";import"./Selection-35940256.js";import"./instance-c081941c.js";import"./Add-8feae678.js";import"./utils-76115ab6.js";import"./Tooltip-4caf4967.js";import"./RadioGroup-46676ce6.js";import"./Radio-a179bbe7.js";import"./Select-218e30a3.js";const pe=q("span",{class:"ml-2 color-gray"},null,-1),_e=M({__name:"editForm",emits:["close"],setup(j,{expose:r,emit:d}){const m=o(!1),_=o(!1),N={name:{required:!0,message:"请输入分类名称"},desc:{required:!0,message:"请输入分类描述"},thumb:{required:!0,message:"请上传缩略图"}};function b(){return{id:0,name:"",sort:0,status:1,thumb:"",desc:"",new_bg:""}}const n=o(b()),i=o([]),a=o([]),u=o(!1);async function f(s){if(u.value=!1,!s){n.value=b(),m.value=!0;return}_.value=!0;const t=await Y(s.id);i.value=[],a.value=[],t.thumb&&(i.value[0]={id:Math.random().toString(),status:"finished",name:s.name,url:s.thumb}),t.new_bg&&(a.value[0]={id:Math.random().toString(),status:"finished",name:s.name,url:s.new_bg}),n.value=t,m.value=!0,_.value=!1,u.value=!0}function v(){m.value=!1,n.value=b(),d("close")}async function U(){var t;await Z(n.value)&&((t=window==null?void 0:window.$message)==null||t.success("编辑成功"),v())}async function $(){var t;await ee(n.value)&&((t=window==null?void 0:window.$message)==null||t.success("添加成功"),v())}function x(s,t){n.value[t]=s}const g=o();async function I(){var s;(s=g.value)==null||s.validate(async t=>{t||(n.value.id?await U():await $())})}return r({open:f}),(s,t)=>{const D=V,y=le,S=ne,Q=oe,T=ue,z=w,E=C,K=se,L=ie,P=H;return k(),B(P,{title:n.value.id?"编辑分类":"新增分类",show:m.value,"onUpdate:show":t[4]||(t[4]=c=>m.value=c),preset:"card",class:"w-500px"},{default:l(()=>[e(L,{show:_.value},{default:l(()=>[e(K,{ref_key:"formRef",ref:g,model:n.value,rules:N,"label-placement":"left","label-width":120},{default:l(()=>[e(y,{label:"分类名称",path:"name"},{default:l(()=>[e(D,{value:n.value.name,"onUpdate:value":t[0]||(t[0]=c=>n.value.name=c),placeholder:"请输入分类名称"},null,8,["value"])]),_:1}),e(y,{label:"分类描述",path:"desc"},{default:l(()=>[e(D,{value:n.value.desc,"onUpdate:value":t[1]||(t[1]=c=>n.value.desc=c),placeholder:"请输入分类描述"},null,8,["value"])]),_:1}),e(y,{label:"缩略图",path:"thumb"},{default:l(()=>[u.value?(k(),B(S,{key:0,list:i.value,"from-key":"thumb",onUploadSuccess:x},null,8,["list"])):A("",!0)]),_:1}),e(y,{label:"新品背景图",path:"new_bg"},{default:l(()=>[u.value?(k(),B(S,{key:0,list:a.value,"from-key":"new_bg",onUploadSuccess:x},null,8,["list"])):A("",!0)]),_:1}),e(y,{label:"排序",path:"sort"},{default:l(()=>[e(Q,{value:n.value.sort,"onUpdate:value":t[2]||(t[2]=c=>n.value.sort=c),min:"0",max:"999"},null,8,["value"])]),_:1}),e(y,{label:"是否显示",path:"status"},{default:l(()=>[e(T,{value:n.value.status,"onUpdate:value":t[3]||(t[3]=c=>n.value.status=c),"checked-value":1,"unchecked-value":0},null,8,["value"]),pe]),_:1}),e(E,{class:"w-full pt-16px",size:24,justify:"end"},{default:l(()=>[e(z,{class:"w-72px",onClick:v},{default:l(()=>[p("取消")]),_:1}),e(z,{class:"w-72px",type:"primary",onClick:I},{default:l(()=>[p("确定 ")]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["show"])]),_:1},8,["title","show"])}}}),de={class:"overflow-hidden"},fe={class:"flex-col h-full"},Ke=M({__name:"index",setup(j){const r=o(),d=o(!1),m=o([]),_=o({likeQuery:""}),N=o([{title:"分类ID",key:"id",width:100},{title:"分类名称",key:"name"},{title:"描述",key:"desc"},{title:"状态",key:"status",render(a){return e(ce,{type:a.status===1?"primary":"error"},{default:()=>[a.status===1?"有效":"禁用"]})}},{title:"缩略图",key:"thumb",render(a){return e(F,{width:80,height:80,src:a.thumb},null)}},{title:"新品背景图",key:"thumb",render(a){return a.new_bg?e(F,{width:80,height:80,src:a.new_bg},null):""}},{title(){return e("div",{class:"flex items-center"},[p("分类排序(小靠前)")])},key:"sort"},{title:"操作",key:"action",width:200,render(a){return e("div",{class:"flex items-center"},[e(w,{type:"primary",size:"small",text:!0,onClick:()=>{var u;(u=r==null?void 0:r.value)==null||u.open(a)}},{default:()=>[p("编辑")]}),e(re,{onPositiveClick:()=>b(a)},{trigger:()=>e(w,{type:"error",size:"small",class:"ml-2",text:!0},{default:()=>[p("删除")]}),default:()=>"确定删除该分类吗?"})])}}]);async function b(a){var f;await te([a.id])&&((f=window.$message)==null||f.success("删除成功"),await i())}function n(){var a;(a=r==null?void 0:r.value)==null||a.open()}async function i(){d.value=!0,m.value=await ae(_.value),d.value=!1}return J(()=>{i()}),(a,u)=>{const f=V,v=W,U=G,$=me,x=X;return k(),O("div",de,[e(x,{title:"分类管理",bordered:!1,class:"h-full rounded-8px shadow-sm"},{default:l(()=>[q("div",fe,[e(h(C),{class:"pb-12px",justify:"space-between"},{default:l(()=>[e(h(C),null,{default:l(()=>[e(f,{value:_.value.likeQuery,"onUpdate:value":u[0]||(u[0]=g=>_.value.likeQuery=g),placeholder:"请输入 分类名称",clearable:"",style:{width:"200px"},onChange:i},null,8,["value"]),e(h(w),{onClick:i},{default:l(()=>[e(v,{icon:"mdi:magnify",class:"mr-4px text-20px"}),p(" 搜索 ")]),_:1}),e(h(w),{type:"primary",onClick:n},{default:l(()=>[e(v,{icon:"mdi:plus",class:"mr-4px text-20px"}),p(" 新增 ")]),_:1})]),_:1}),e(h(C),{align:"center",size:18},{default:l(()=>[e(h(w),{size:"small",type:"primary",onClick:i},{default:l(()=>[e(U,{class:R(["mr-4px text-16px",{"animate-spin":d.value}])},null,8,["class"]),p(" 刷新表格 ")]),_:1})]),_:1})]),_:1}),e($,{class:"flex-1-hidden","flex-height":"",loading:d.value,columns:N.value,data:m.value,rowKey:g=>g.id},null,8,["loading","columns","data","rowKey"])])]),_:1}),e(_e,{ref_key:"editFormRef",ref:r,onClose:i},null,512)])}}});export{Ke as default}; //# sourceMappingURL=index-2b80b27f.js.map