Files
yuezi-saas/frontend/dist/assets/positions-DeqC6kdd.js
T

1 line
6.6 KiB
JavaScript

import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{positionApi as _}from"./system-DEm1DLCy.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},ee={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={__name:`index`,setup(C){let w=l([]),T=l(0),E=l(!1),D=l(!1),O=l(`新增职务`),k=l(!1),A=l(!1),j=l(null),M=d({keyword:``,status:``}),N=d({page:1,page_size:20}),P=d({id:null,name:``,code:``,sort:0,status:1,description:``}),F={name:[{required:!0,message:`请输入职务名称`,trigger:`blur`}]};async function I(){E.value=!0;try{let e=await _.getList({...M,...N});w.value=e.data?.list||[],T.value=e.data?.total||0}catch{}finally{E.value=!1}}function L(){N.page=1,I()}function R(){Object.assign(M,{keyword:``,status:``}),L()}function z(){A.value=!1,O.value=`新增职务`,Object.assign(P,{id:null,name:``,code:``,sort:0,status:1,description:``}),D.value=!0}async function B(e){A.value=!0,O.value=`编辑职务 - ${e.name}`,Object.assign(P,{id:e.id,name:e.name,code:e.code||``,sort:e.sort??0,status:e.status,description:e.description||``}),D.value=!0}async function V(){j.value&&await j.value.validate(async e=>{if(e){k.value=!0;try{A.value?(await _.update(P.id,P),g.success(`职务信息更新成功`)):(await _.create(P),g.success(`职务创建成功`)),D.value=!1,I()}catch{}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除职务「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await _.delete(e.id),g.success(`删除成功`),I()}async function U(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await _.update(e.id,{...e,status:t}),e.status=t,g.success(`职务已${n}`)}catch{}}function W(e){N.page=e,I()}function G(e){N.page_size=e,N.page=1,I()}return r(I),(r,l)=>{let d=i(`Search`),h=i(`el-icon`),g=i(`el-input`),_=i(`el-option`),C=i(`el-select`),I=i(`el-button`),K=i(`el-table-column`),q=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-col`),Q=i(`el-input-number`),$=i(`el-radio`),te=i(`el-radio-group`),ne=i(`el-row`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(g,{modelValue:M.keyword,"onUpdate:modelValue":l[0]||=e=>M.keyword=e,placeholder:`搜索职务名称/编码`,style:{width:`240px`},clearable:``,onKeydown:m(L,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(C,{modelValue:M.status,"onUpdate:modelValue":l[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(_,{label:`启用`,value:1}),p(_,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(I,{type:`primary`,icon:`Search`,onClick:L},{default:e(()=>[...l[11]||=[o(`查询`,-1)]]),_:1}),p(I,{icon:`Refresh`,onClick:R},{default:e(()=>[...l[12]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[14]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(I,{type:`primary`,icon:`Plus`,onClick:z},{default:e(()=>[...l[13]||=[o(`新增职务`,-1)]]),_:1})]),f(`div`,ee,[c((n(),s(J,{data:w.value,style:{width:`100%`}},{default:e(()=>[p(K,{type:`index`,label:`#`,width:`60`,align:`center`}),p(K,{prop:`name`,label:`职务名称`,"min-width":`160`}),p(K,{prop:`code`,label:`职务编码`,width:`140`}),p(K,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),p(K,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[p(q,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(K,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(K,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(I,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(I,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>U(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),p(I,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,E.value]])]),f(`div`,S,[p(Y,{"current-page":N.page,"onUpdate:currentPage":l[2]||=e=>N.page=e,"page-size":N.page_size,"onUpdate:pageSize":l[3]||=e=>N.page_size=e,total:T.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),p(ie,{modelValue:D.value,"onUpdate:modelValue":l[10]||=e=>D.value=e,title:O.value,width:`480px`,"destroy-on-close":``},{footer:e(()=>[p(I,{onClick:l[9]||=e=>D.value=!1},{default:e(()=>[...l[19]||=[o(`取消`,-1)]]),_:1}),p(I,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[o(a(A.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(re,{ref_key:`formRef`,ref:j,model:P,rules:F,"label-width":`90px`},{default:e(()=>[p(ne,{gutter:16},{default:e(()=>[p(Z,{span:12},{default:e(()=>[p(X,{label:`职务名称`,prop:`name`},{default:e(()=>[p(g,{modelValue:P.name,"onUpdate:modelValue":l[4]||=e=>P.name=e,placeholder:`请输入职务名称`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`职务编码`,prop:`code`},{default:e(()=>[p(g,{modelValue:P.code,"onUpdate:modelValue":l[5]||=e=>P.code=e,placeholder:`如: MGR(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`排序`,prop:`sort`},{default:e(()=>[p(Q,{modelValue:P.sort,"onUpdate:modelValue":l[6]||=e=>P.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`状态`,prop:`status`},{default:e(()=>[p(te,{modelValue:P.status,"onUpdate:modelValue":l[7]||=e=>P.status=e},{default:e(()=>[p($,{value:1},{default:e(()=>[...l[17]||=[o(`启用`,-1)]]),_:1}),p($,{value:0},{default:e(()=>[...l[18]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:24},{default:e(()=>[p(X,{label:`备注`,prop:`description`},{default:e(()=>[p(g,{modelValue:P.description,"onUpdate:modelValue":l[8]||=e=>P.description=e,type:`textarea`,rows:2,placeholder:`备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{C as default};