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
4.5 KiB
1 line
4.5 KiB
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}from"./index-BAoVGmph.js";import{t as y}from"./usePageLoad-DFTLo_Lv.js";import{r as b}from"./admin-list-CBoToEFo.js";import{a as x,i as S,n as C,t as w}from"./research-directions-CXTaBZC3.js";var T={class:`list-page`},E={class:`page-header`},D={class:`list-filter-bar`},O={class:`table-row-actions`},k={class:`list-pager`},A=n({__name:`index`,setup(n){let A=f(!1),j=f([]),M=f({current_page:1,per_page:20,total:0}),N=f(``),P=f(1),F=f(!1),I=f(null),L=f({name:``,sort:0,status:1,remark:``});async function R(){A.value=!0;try{let e=await S({page:P.value,page_size:M.value.per_page,keyword:N.value||void 0});j.value=e.items,M.value=e.meta}finally{A.value=!1}}function z(){I.value=null,L.value={name:``,sort:0,status:1,remark:``},F.value=!0}function B(e){I.value=e,L.value={name:e.name,sort:e.sort,status:e.status,remark:e.remark||``},F.value=!0}async function V(){if(!L.value.name.trim()){v.warning(`请填写研究方向名称`);return}let e={name:L.value.name.trim(),sort:L.value.sort,status:L.value.status,remark:L.value.remark||null};I.value?await x(I.value.id,e):await w(e),v.success(`已保存`),F.value=!1,await R()}async function H(e){await _.confirm(`确定删除研究方向「${e.name}」?`,`提示`,{type:`warning`}),await C(e.id),v.success(`已删除`),await R()}function U(){P.value=1,R()}function W(){N.value=``,P.value=1,R()}return y(R),(n,f)=>{let _=c(`el-button`),v=c(`el-input`),y=c(`el-table-column`),x=c(`el-table`),S=c(`el-pagination`),C=c(`el-card`),w=c(`el-form-item`),G=c(`el-input-number`),K=c(`el-switch`),q=c(`el-form`),J=c(`el-dialog`),Y=o(`loading`);return i(),e(p,null,[u(`div`,T,[u(`div`,E,[f[9]||=u(`h1`,{class:`page-title`},`研究方向`,-1),r(_,{type:`primary`,size:`small`,class:`btn-create`,onClick:z},{default:l(()=>[...f[8]||=[a(`新增`,-1)]]),_:1})]),r(C,{shadow:`never`,class:`admin-list-card`},{default:l(()=>[u(`div`,D,[r(v,{modelValue:N.value,"onUpdate:modelValue":f[0]||=e=>N.value=e,placeholder:`研究方向名称`,clearable:``,class:`filter-search`,onKeyup:d(U,[`enter`])},null,8,[`modelValue`]),r(_,{type:`primary`,onClick:U},{default:l(()=>[...f[10]||=[a(`搜索`,-1)]]),_:1}),r(_,{onClick:W},{default:l(()=>[...f[11]||=[a(`重置`,-1)]]),_:1})]),m((i(),g(x,{data:j.value,"row-key":`id`},{default:l(()=>[r(y,{prop:`name`,label:`名称`,"min-width":`180`}),r(y,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),r(y,{prop:`teacher_count`,label:`关联老师数`,width:`110`,align:`center`}),r(y,{label:`状态`,width:`90`,align:`center`},{default:l(({row:e})=>[u(`span`,{class:s([`status-badge`,t(b)(e.status)])},h(e.status===1?`启用`:`停用`),3)]),_:1}),r(y,{prop:`remark`,label:`备注`,"min-width":`160`,"show-overflow-tooltip":``}),r(y,{label:`操作`,width:`160`,fixed:`right`},{default:l(({row:e})=>[u(`div`,O,[r(_,{class:`btn-action-secondary`,onClick:t=>B(e)},{default:l(()=>[...f[12]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),r(_,{class:`btn-action-secondary`,onClick:t=>H(e)},{default:l(()=>[...f[13]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[Y,A.value]]),u(`div`,k,[r(S,{"current-page":P.value,"onUpdate:currentPage":f[1]||=e=>P.value=e,layout:`total, prev, pager, next`,total:M.value.total,"page-size":M.value.per_page,onCurrentChange:R},null,8,[`current-page`,`total`,`page-size`])])]),_:1})]),r(J,{modelValue:F.value,"onUpdate:modelValue":f[7]||=e=>F.value=e,title:I.value?`编辑研究方向`:`新增研究方向`,width:`480px`},{footer:l(()=>[r(_,{onClick:f[6]||=e=>F.value=!1},{default:l(()=>[...f[14]||=[a(`取消`,-1)]]),_:1}),r(_,{type:`primary`,onClick:V},{default:l(()=>[...f[15]||=[a(`保存`,-1)]]),_:1})]),default:l(()=>[r(q,{"label-width":`88px`},{default:l(()=>[r(w,{label:`名称`},{default:l(()=>[r(v,{modelValue:L.value.name,"onUpdate:modelValue":f[2]||=e=>L.value.name=e,maxlength:`255`},null,8,[`modelValue`])]),_:1}),r(w,{label:`排序`},{default:l(()=>[r(G,{modelValue:L.value.sort,"onUpdate:modelValue":f[3]||=e=>L.value.sort=e,min:0},null,8,[`modelValue`])]),_:1}),r(w,{label:`状态`},{default:l(()=>[r(K,{modelValue:L.value.status,"onUpdate:modelValue":f[4]||=e=>L.value.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),r(w,{label:`备注`},{default:l(()=>[r(v,{modelValue:L.value.remark,"onUpdate:modelValue":f[5]||=e=>L.value.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`,`title`])],64)}}});export{A as default}; |