2 lines
5.2 KiB
JavaScript
2 lines
5.2 KiB
JavaScript
import{d as S,m as j,c as T,b as U,e as l,w as a,W as A,s as m,i as v,h,j as n,X as W,o as r,k as d,t as D,F as X,r as Y,I as b,Y as G}from"./index-CzwJBVIC.js";import{a as V,_ as H}from"./index-8GqMb-ax.js";const J={class:"admin-crud-page"},K={class:"page-header"},Q=S({__name:"ProductCategoryPage",setup(R){const C=v(!1),I=v(!1),c=v([]),f=v(!1),_=v(null),o=v({}),E=h(()=>{const u=[];for(const e of c.value)if(u.push(e),e.children&&e.children.length)for(const i of e.children)u.push(i);return u}),B=h(()=>c.value.filter(u=>!u.parentId||u.parentId===0));async function k(){C.value=!0;try{const u=await V.getProductCategories();c.value=u.data??[]}catch{c.value=[]}finally{C.value=!1}}function P(u){u?(_.value=u.productCategoryId,o.value={...u}):(_.value=null,o.value={sortOrder:0,isPublished:1,moduleType:"product_line",parentId:null}),f.value=!0}async function L(){I.value=!0;try{_.value?await V.updateProductCategory({...o.value,productCategoryId:_.value}):await V.addProductCategory(o.value),b.success("保存成功"),f.value=!1,k()}catch{b.error("保存失败")}I.value=!1}async function O(u){await G.confirm("确认删除?","提示",{type:"warning"});try{await V.deleteProductCategory(u),b.success("删除成功"),k()}catch{b.error("删除失败")}}return j(k),(u,e)=>{const i=n("el-button"),s=n("el-table-column"),y=n("el-tag"),Z=n("el-table"),w=n("el-input"),p=n("el-form-item"),g=n("el-option"),x=n("el-select"),$=n("el-input-number"),M=n("el-switch"),N=n("el-form"),q=n("el-dialog"),z=W("loading");return r(),T("div",J,[U("div",K,[e[11]||(e[11]=U("h2",null,"产品分类管理",-1)),l(i,{type:"primary",onClick:e[0]||(e[0]=t=>P())},{default:a(()=>[...e[10]||(e[10]=[d("新增分类",-1)])]),_:1})]),A((r(),m(Z,{data:E.value,border:"",stripe:"","row-key":"productCategoryId"},{default:a(()=>[l(s,{prop:"productCategoryId",label:"ID",width:"80"}),l(s,{prop:"nameZh",label:"名称(中)"}),l(s,{prop:"nameEn",label:"名称(英)"}),l(s,{prop:"moduleType",label:"模块类型",width:"120"},{default:a(({row:t})=>[t.moduleType==="product_line"?(r(),m(y,{key:0,type:"primary"},{default:a(()=>[...e[12]||(e[12]=[d("整线机组",-1)])]),_:1})):t.moduleType==="equipment"?(r(),m(y,{key:1,type:"success"},{default:a(()=>[...e[13]||(e[13]=[d("单体设备",-1)])]),_:1})):t.moduleType==="spare_part"?(r(),m(y,{key:2,type:"warning"},{default:a(()=>[...e[14]||(e[14]=[d("备品备件",-1)])]),_:1})):(r(),m(y,{key:3,type:"info"},{default:a(()=>[d(D(t.moduleType),1)]),_:2},1024))]),_:1}),l(s,{prop:"parentId",label:"父级ID",width:"80"}),l(s,{prop:"sortOrder",label:"排序",width:"80"}),l(s,{prop:"isPublished",label:"状态",width:"80"},{default:a(({row:t})=>[l(y,{type:t.isPublished?"success":"info"},{default:a(()=>[d(D(t.isPublished?"已发布":"草稿"),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"操作",width:"160",fixed:"right"},{default:a(({row:t})=>[l(i,{size:"small",onClick:F=>P(t)},{default:a(()=>[...e[15]||(e[15]=[d("编辑",-1)])]),_:1},8,["onClick"]),l(i,{size:"small",type:"danger",onClick:F=>O(t.productCategoryId)},{default:a(()=>[...e[16]||(e[16]=[d("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[z,C.value]]),l(q,{modelValue:f.value,"onUpdate:modelValue":e[9]||(e[9]=t=>f.value=t),title:_.value?"编辑分类":"新增分类",width:"600px"},{footer:a(()=>[l(i,{onClick:e[8]||(e[8]=t=>f.value=!1)},{default:a(()=>[...e[17]||(e[17]=[d("取消",-1)])]),_:1}),l(i,{type:"primary",onClick:L,loading:I.value},{default:a(()=>[...e[18]||(e[18]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(N,{model:o.value,"label-width":"120px"},{default:a(()=>[l(p,{label:"名称(中)"},{default:a(()=>[l(w,{modelValue:o.value.nameZh,"onUpdate:modelValue":e[1]||(e[1]=t=>o.value.nameZh=t)},null,8,["modelValue"])]),_:1}),l(p,{label:"名称(英)"},{default:a(()=>[l(w,{modelValue:o.value.nameEn,"onUpdate:modelValue":e[2]||(e[2]=t=>o.value.nameEn=t)},null,8,["modelValue"])]),_:1}),l(p,{label:"模块类型"},{default:a(()=>[l(x,{modelValue:o.value.moduleType,"onUpdate:modelValue":e[3]||(e[3]=t=>o.value.moduleType=t),placeholder:"请选择模块类型",style:{width:"100%"}},{default:a(()=>[l(g,{label:"整线机组",value:"product_line"}),l(g,{label:"核心单体设备",value:"equipment"}),l(g,{label:"备品备件",value:"spare_part"})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"父级分类"},{default:a(()=>[l(x,{modelValue:o.value.parentId,"onUpdate:modelValue":e[4]||(e[4]=t=>o.value.parentId=t),placeholder:"无(顶级分类)",clearable:"",style:{width:"100%"}},{default:a(()=>[(r(!0),T(X,null,Y(B.value,t=>(r(),m(g,{key:t.productCategoryId,label:t.nameZh,value:t.productCategoryId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"图标"},{default:a(()=>[l(w,{modelValue:o.value.iconClass,"onUpdate:modelValue":e[5]||(e[5]=t=>o.value.iconClass=t)},null,8,["modelValue"])]),_:1}),l(p,{label:"排序"},{default:a(()=>[l($,{modelValue:o.value.sortOrder,"onUpdate:modelValue":e[6]||(e[6]=t=>o.value.sortOrder=t),min:0},null,8,["modelValue"])]),_:1}),l(p,{label:"发布状态"},{default:a(()=>[l(M,{modelValue:o.value.isPublished,"onUpdate:modelValue":e[7]||(e[7]=t=>o.value.isPublished=t),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),te=H(Q,[["__scopeId","data-v-56968c2d"]]);export{te as default};
|