2 lines
4.6 KiB
JavaScript
2 lines
4.6 KiB
JavaScript
import{d as N,o as L,b as T,e as E,m as l,z as t,p as v,U,s as W,y as S,r as c,C as s,T as j,g as b,j as u,t as H,k as q,V as A,W as I,X as J,J as p,_ as R}from"./index-eVF4AHSu.js";import{f as X,d as F,u as G,c as K}from"./product-B3Fr265h.js";import"./pagination-BgSlm-mj.js";const Q={class:"category-manage"},Y={class:"page-header"},ee=N({__name:"CategoryManage",setup(le){const _=c(!1),w=c([]),d=c(!1),g=c("新增分类"),f=c(null),o=c({nameZh:"",nameEn:"",code:"",parentId:0,level:1,sortOrder:0,isShow:1,isHot:0});async function y(){_.value=!0;try{w.value=await X()}catch(n){console.warn("fetchProductCategoryList failed:",n)}finally{_.value=!1}}L(y);function C(n=0){f.value=null,g.value=n?"新增子分类":"新增分类",o.value={nameZh:"",nameEn:"",code:"",parentId:n,level:n?2:1,sortOrder:0,isShow:1,isHot:0},d.value=!0}function Z(n){f.value=n.id,g.value="编辑分类",o.value={...n},d.value=!0}async function z(n){try{await J.confirm(`确定删除分类「${n.nameZh}」?`,"确认删除",{type:"warning"}),await F(n.id),p.success("删除成功"),await y()}catch{}}async function $(){if(!o.value.nameZh){p.warning("请填写分类名称");return}try{f.value?(await G(f.value,o.value),p.success("更新成功")):(await K(o.value),p.success("创建成功")),d.value=!1,await y()}catch(n){p.error(n instanceof Error?n.message:"操作失败")}}return(n,e)=>{const r=s("el-button"),i=s("el-table-column"),k=s("el-tag"),B=s("el-table"),V=s("el-input"),m=s("el-form-item"),M=s("el-input-number"),h=s("el-switch"),O=s("el-form"),P=s("el-dialog"),D=j("loading");return b(),T("div",Q,[E("div",Y,[e[10]||(e[10]=E("h2",{class:"page-title"},"产品分类管理",-1)),l(r,{type:"primary",icon:v(U),onClick:e[0]||(e[0]=a=>C())},{default:t(()=>[...e[9]||(e[9]=[u("新增分类",-1)])]),_:1},8,["icon"])]),W((b(),S(B,{data:w.value,"row-key":"id",class:"admin-table","default-expand-all":""},{default:t(()=>[l(i,{prop:"nameZh",label:"分类名称(中文)","min-width":"180"}),l(i,{prop:"nameEn",label:"分类名称(英文)","min-width":"180"}),l(i,{prop:"code",label:"代码",width:"120"}),l(i,{prop:"sortOrder",label:"排序",width:"80"}),l(i,{label:"显示",width:"70"},{default:t(({row:a})=>[l(k,{type:a.isShow===1?"success":"info",size:"small"},{default:t(()=>[u(H(a.isShow===1?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),l(i,{label:"热门",width:"70"},{default:t(({row:a})=>[l(k,{type:a.isHot===1?"warning":"info",size:"small"},{default:t(()=>[u(H(a.isHot===1?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),l(i,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[a.level===1?(b(),S(r,{key:0,size:"small",icon:v(U),onClick:x=>C(a.id),text:""},{default:t(()=>[...e[11]||(e[11]=[u("子分类",-1)])]),_:1},8,["icon","onClick"])):q("",!0),l(r,{size:"small",icon:v(A),onClick:x=>Z(a),text:""},{default:t(()=>[...e[12]||(e[12]=[u("编辑",-1)])]),_:1},8,["icon","onClick"]),l(r,{size:"small",icon:v(I),type:"danger",onClick:x=>z(a),text:""},{default:t(()=>[...e[13]||(e[13]=[u("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[D,_.value]]),l(P,{modelValue:d.value,"onUpdate:modelValue":e[8]||(e[8]=a=>d.value=a),title:g.value,width:"560px","destroy-on-close":""},{footer:t(()=>[l(r,{onClick:e[7]||(e[7]=a=>d.value=!1)},{default:t(()=>[...e[14]||(e[14]=[u("取消",-1)])]),_:1}),l(r,{type:"primary",onClick:$},{default:t(()=>[...e[15]||(e[15]=[u("保存",-1)])]),_:1})]),default:t(()=>[l(O,{"label-width":"120px"},{default:t(()=>[l(m,{label:"分类名称(中文)",required:""},{default:t(()=>[l(V,{modelValue:o.value.nameZh,"onUpdate:modelValue":e[1]||(e[1]=a=>o.value.nameZh=a),placeholder:"如:全屋定制"},null,8,["modelValue"])]),_:1}),l(m,{label:"分类名称(英文)"},{default:t(()=>[l(V,{modelValue:o.value.nameEn,"onUpdate:modelValue":e[2]||(e[2]=a=>o.value.nameEn=a),placeholder:"Whole House Custom"},null,8,["modelValue"])]),_:1}),l(m,{label:"分类代码"},{default:t(()=>[l(V,{modelValue:o.value.code,"onUpdate:modelValue":e[3]||(e[3]=a=>o.value.code=a),placeholder:"custom(URL用)"},null,8,["modelValue"])]),_:1}),l(m,{label:"排序"},{default:t(()=>[l(M,{modelValue:o.value.sortOrder,"onUpdate:modelValue":e[4]||(e[4]=a=>o.value.sortOrder=a),min:0},null,8,["modelValue"])]),_:1}),l(m,{label:"是否显示"},{default:t(()=>[l(h,{modelValue:o.value.isShow,"onUpdate:modelValue":e[5]||(e[5]=a=>o.value.isShow=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),l(m,{label:"是否热门"},{default:t(()=>[l(h,{modelValue:o.value.isHot,"onUpdate:modelValue":e[6]||(e[6]=a=>o.value.isHot=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])}}}),ne=R(ee,[["__scopeId","data-v-314ccca7"]]);export{ne as default};
|