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