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.

1 line
7.6 KiB

1 month ago
import{C as e,Ct as t,D as n,E as r,G as i,T as a,X as o,Xt as s,Y as c,at as l,b as u,d,ht as f,m as p,ot as m,tn as h,x as g}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{c as _,l as v,s as y}from"./index-BAoVGmph.js";import{t as b}from"./usePageLoad-DFTLo_Lv.js";import{r as x}from"./admin-list-CBoToEFo.js";import{c as S,i as C,l as w,n as T,o as E,r as D,s as O,t as k}from"./dict-CsbOb9BJ.js";var A={class:`list-page`},j={class:`page-header`},ee={class:`list-filter-bar`},te={class:`table-row-actions`},ne={class:`list-pager`},re={class:`items-toolbar`},M={class:`table-row-actions`},N=y(n({__name:`index`,setup(n){let y=f(!1),N=f([]),P=f({current_page:1,per_page:20,total:0}),F=f(1),I=f(``),L=f(!1),R=f(null),z=f([]),B=f(!1),V=f(!1),H=f(null),U=f({code:``,name:``,remark:``,status:1,sort:0});async function W(){y.value=!0;try{let e=await O({page:F.value,page_size:P.value.per_page,keyword:I.value||void 0});N.value=e.items,P.value=e.meta}finally{y.value=!1}}function G(){H.value=null,U.value={code:``,name:``,remark:``,status:1,sort:0},V.value=!0}function K(e){H.value=e,U.value={code:e.code,name:e.name,remark:e.remark||``,status:e.status,sort:e.sort},V.value=!0}async function q(){H.value?await w(H.value.id,U.value):await T(U.value),v.success(`已保存`),V.value=!1,await W()}async function J(e){await _.confirm(`确定删除字典类型「${e.name}」及其全部字典项?`,`提示`,{type:`warning`}),await C(e.id),v.success(`已删除`),await W()}async function ie(e){R.value=e,L.value=!0,B.value=!0;try{z.value=await E(e.id)}finally{B.value=!1}}let Y=f(!1),X=f(null),Z=f({label:``,value:``,sort:0,status:1});function ae(){X.value=null,Z.value={label:``,value:``,sort:0,status:1},Y.value=!0}function oe(e){X.value=e,Z.value={label:e.label,value:e.value,sort:e.sort,status:e.status},Y.value=!0}async function se(){R.value&&(X.value?await S(R.value.id,X.value.id,Z.value):await k(R.value.id,Z.value),v.success(`已保存`),Y.value=!1,z.value=await E(R.value.id))}async function ce(e){R.value&&(await _.confirm(`删除字典项「${e.label}」?`,`提示`,{type:`warning`}),await D(R.value.id,e.id),v.success(`已删除`),z.value=await E(R.value.id))}function Q(){F.value=1,W()}function le(){I.value=``,F.value=1,W()}return b(W),(n,f)=>{let _=c(`el-button`),v=c(`el-input`),b=c(`el-table-column`),S=c(`el-table`),C=c(`el-pagination`),w=c(`el-card`),T=c(`el-form-item`),E=c(`el-input-number`),D=c(`el-switch`),O=c(`el-form`),k=c(`el-dialog`),$=o(`loading`);return i(),e(p,null,[u(`div`,A,[u(`div`,j,[f[18]||=u(`h1`,{class:`page-title`},`字典管理`,-1),r(_,{type:`primary`,size:`small`,class:`btn-create`,onClick:G},{default:l(()=>[...f[17]||=[a(`新增类型`,-1)]]),_:1})]),r(w,{shadow:`never`,class:`admin-list-card`},{default:l(()=>[u(`div`,ee,[r(v,{modelValue:I.value,"onUpdate:modelValue":f[0]||=e=>I.value=e,placeholder:`编码/名称`,clearable:``,class:`filter-search`,onKeyup:d(Q,[`enter`])},null,8,[`modelValue`]),r(_,{type:`primary`,onClick:Q},{default:l(()=>[...f[19]||=[a(`搜索`,-1)]]),_:1}),r(_,{onClick:le},{default:l(()=>[...f[20]||=[a(`重置`,-1)]]),_:1})]),m((i(),g(S,{data:N.value,"row-key":`id`},{default:l(()=>[r(b,{prop:`code`,label:`编码`,width:`160`}),r(b,{prop:`name`,label:`名称`,width:`180`}),r(b,{prop:`remark`,label:`备注`,"min-width":`200`,"show-overflow-tooltip":``}),r(b,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),r(b,{label:`状态`,width:`90`,align:`center`},{default:l(({row:e})=>[u(`span`,{class:s([`status-badge`,t(x)(e.status)])},h(e.status===1?`启用`:`停用`),3)]),_:1}),r(b,{label:`操作`,width:`240`,fixed:`right`},{default:l(({row:e})=>[u(`div`,te,[r(_,{class:`btn-action-brand`,onClick:t=>ie(e)},{default:l(()=>[...f[21]||=[a(`字典项`,-1)]]),_:1},8,[`onClick`]),r(_,{class:`btn-action-secondary`,onClick:t=>K(e)},{default:l(()=>[...f[22]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),r(_,{class:`btn-action-secondary`,onClick:t=>J(e)},{default:l(()=>[...f[23]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[$,y.value]]),u(`div`,ne,[r(C,{"current-page":F.value,"onUpdate:currentPage