import{g as ne,r as oe,E as I,d as S}from"./element-plus-DvNsnHjj.js";import{l as ie,a as v}from"./lecturer-D3vX7J7z.js";import{u as se}from"./system-MG8wG3NI.js";import{u as de}from"./useTable-B9cwF1eN.js";import{a as re}from"./format-D1rp7NC7.js";import{P as ue}from"./PageCard-DaHB0nvz.js";import{D as pe,o as me,J as s,Q as y,R as a,S as t,r as p,at as d,U as B,j as o,F as w,al as x,K as f,a0 as r,Z as fe,a1 as A,$ as P,au as ve}from"./vue-vendor-BSww6V4k.js";import{_ as ce}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const ge={class:"toolbar"},be=pe({__name:"lecturer",setup(ye){const{loading:T,data:R,pagination:c,query:_,onSearch:M,onReset:h,onPageChange:q,onSizeChange:F,fetch:g}=de(n=>v.getPage(n),{departmentId:void 0,levelId:void 0}),j=p([]),N=p([]),L=p([]);me(()=>{g(),J(),K()});async function J(){const n=await ie.getList();N.value=n.data||[]}async function K(){const n=await se.getList();L.value=n.data||[]}const b=p(!1),D=p(!1),k=p(!1),$=p(),i=p({userId:0,levelId:void 0,description:""}),Q={userId:[{required:!0,message:"请选择员工",trigger:"change"}]};function U(n){k.value=!!n,n?i.value={id:n.id,userId:n.userId||0,levelId:n.levelId,description:n.description||""}:i.value={userId:0,levelId:void 0,description:""},b.value=!0}async function Z(){var l;if(await((l=$.value)==null?void 0:l.validate().catch(()=>!1))){D.value=!0;try{k.value&&i.value.id?await v.update(i.value.id,i.value):await v.create(i.value),I.success("保存成功"),b.value=!1,g()}finally{D.value=!1}}}async function G(n){await v.enable(n.id),I.success("启用成功"),g()}async function H(n){await S.confirm(`确定停用讲师「${n.realName}」吗?`,"提示",{type:"warning"}),await v.disable(n.id),I.success("已停用"),g()}async function O(n){await S.confirm(`确定删除讲师「${n.realName}」吗?`,"警告",{type:"error"}),await v.delete(n.id),I.success("删除成功"),g()}return(n,l)=>{const u=d("el-button"),C=d("el-option"),V=d("el-select"),m=d("el-table-column"),W=d("el-tag"),X=d("el-table"),Y=d("el-pagination"),z=d("el-form-item"),ee=d("el-input"),le=d("el-form"),ae=d("el-dialog"),te=ve("loading");return s(),y("div",null,[a(ue,null,{header:t(()=>[l[11]||(l[11]=B("span",{class:"page-title"},"讲师管理",-1)),a(u,{type:"primary",onClick:l[0]||(l[0]=e=>U())},{default:t(()=>[...l[10]||(l[10]=[r("+ 新建讲师",-1)])]),_:1})]),default:t(()=>[B("div",ge,[a(V,{modelValue:o(_).departmentId,"onUpdate:modelValue":l[1]||(l[1]=e=>o(_).departmentId=e),placeholder:"全部部门",clearable:"",style:{width:"160px"}},{default:t(()=>[(s(!0),y(w,null,x(j.value,e=>(s(),f(C,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),a(V,{modelValue:o(_).levelId,"onUpdate:modelValue":l[2]||(l[2]=e=>o(_).levelId=e),placeholder:"全部等级",clearable:"",style:{width:"140px"}},{default:t(()=>[(s(!0),y(w,null,x(N.value,e=>(s(),f(C,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),a(u,{type:"primary",icon:o(ne),onClick:o(M)},{default:t(()=>[...l[12]||(l[12]=[r("查询",-1)])]),_:1},8,["icon","onClick"]),a(u,{icon:o(oe),onClick:o(h)},{default:t(()=>[...l[13]||(l[13]=[r("重置",-1)])]),_:1},8,["icon","onClick"])]),fe((s(),f(X,{data:o(R),stripe:""},{default:t(()=>[a(m,{prop:"realName",label:"姓名",width:"120"}),a(m,{prop:"phone",label:"手机号",width:"130"}),a(m,{prop:"departmentName",label:"部门",width:"140"}),a(m,{prop:"levelName",label:"等级",width:"120"}),a(m,{prop:"status",label:"状态",width:"100"},{default:t(({row:e})=>[a(W,{type:e.status==="ENABLED"?"success":"danger",size:"small"},{default:t(()=>[r(A(e.statusName),1)]),_:2},1032,["type"])]),_:1}),a(m,{prop:"createTime",label:"创建时间",width:"160"},{default:t(({row:e})=>[r(A(o(re)(e.createTime)),1)]),_:1}),a(m,{label:"操作",width:"200",fixed:"right"},{default:t(({row:e})=>[e.status==="DISABLED"?(s(),f(u,{key:0,link:"",type:"primary",onClick:E=>G(e)},{default:t(()=>[...l[14]||(l[14]=[r("启用",-1)])]),_:1},8,["onClick"])):P("",!0),e.status==="ENABLED"?(s(),f(u,{key:1,link:"",type:"warning",onClick:E=>H(e)},{default:t(()=>[...l[15]||(l[15]=[r("停用",-1)])]),_:1},8,["onClick"])):P("",!0),a(u,{link:"",type:"primary",onClick:E=>U(e)},{default:t(()=>[...l[16]||(l[16]=[r("编辑",-1)])]),_:1},8,["onClick"]),a(u,{link:"",type:"danger",onClick:E=>O(e)},{default:t(()=>[...l[17]||(l[17]=[r("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[te,o(T)]]),a(Y,{"current-page":o(c).current,"onUpdate:currentPage":l[3]||(l[3]=e=>o(c).current=e),"page-size":o(c).size,"onUpdate:pageSize":l[4]||(l[4]=e=>o(c).size=e),total:o(c).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:o(q),onSizeChange:o(F)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1}),a(ae,{modelValue:b.value,"onUpdate:modelValue":l[9]||(l[9]=e=>b.value=e),title:k.value?"编辑讲师":"新建讲师",width:"480px","destroy-on-close":""},{footer:t(()=>[a(u,{onClick:l[8]||(l[8]=e=>b.value=!1)},{default:t(()=>[...l[18]||(l[18]=[r("取消",-1)])]),_:1}),a(u,{type:"primary",onClick:Z,loading:D.value},{default:t(()=>[...l[19]||(l[19]=[r("保存",-1)])]),_:1},8,["loading"])]),default:t(()=>[a(le,{model:i.value,rules:Q,ref_key:"formRef",ref:$,"label-width":"90px"},{default:t(()=>[a(z,{label:"选择员工",prop:"userId"},{default:t(()=>[a(V,{modelValue:i.value.userId,"onUpdate:modelValue":l[5]||(l[5]=e=>i.value.userId=e),placeholder:"请选择员工",style:{width:"100%"},filterable:"",disabled:k.value},{default:t(()=>[(s(!0),y(w,null,x(L.value,e=>(s(),f(C,{key:e.id,label:`${e.realName} (${e.username})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),a(z,{label:"讲师等级"},{default:t(()=>[a(V,{modelValue:i.value.levelId,"onUpdate:modelValue":l[6]||(l[6]=e=>i.value.levelId=e),placeholder:"请选择等级",style:{width:"100%"},clearable:""},{default:t(()=>[(s(!0),y(w,null,x(N.value,e=>(s(),f(C,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(z,{label:"简介"},{default:t(()=>[a(ee,{modelValue:i.value.description,"onUpdate:modelValue":l[7]||(l[7]=e=>i.value.description=e),type:"textarea",rows:3,placeholder:"可选"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),ze=ce(be,[["__scopeId","data-v-aad588c2"]]);export{ze as default};