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
15 KiB
1 line
15 KiB
|
2 weeks ago
|
import{C as e,Ct as t,D as n,E as r,G as i,S as a,T as o,X as ee,Y as s,at as c,b as l,d as te,ht as u,m as d,ot as ne,q as f,rt as p,tn as m,x as h,y as g}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{l as _,r as v,s as y}from"./index-BKGTVidA.js";import{n as re,t as b}from"./usePageLoad-D9c6HmVf.js";import{a as x}from"./dict-yXQAO4jv.js";import{c as S,p as C}from"./teachers-DxDHDTxq.js";import{n as ie,o as w}from"./teacherStar-DhP_EdY6.js";import{r as T}from"./users-DHe1cFsc.js";import{r as E}from"./grid-members-cUs_qL25.js";async function D(e){let{data:t}=await v.get(`/admin/v1/miniapp-users`,{params:e});return t.data}async function O(e){let{data:t}=await v.get(`/admin/v1/miniapp-users/${e}`);return t.data}async function k(e,t){let{data:n}=await v.patch(`/admin/v1/miniapp-users/${e}/bind-staff`,{admin_user_id:t});return n.data}async function A(e,t){let{data:n}=await v.post(`/admin/v1/miniapp-users/${e}/convert-to-teacher`,t);return n.data}var ae={class:`list-page students-page`},oe={class:`page-header`},se={class:`list-filter-bar`},ce={key:1,class:`text-muted`},le={key:0,class:`status-badge status-published`},ue={key:1,class:`status-badge status-unpublished`},de={class:`table-row-actions`},fe={class:`list-pager`},pe={key:0,class:`follow-teacher-summary`},me={key:0},he={key:0,class:`follow-teacher-summary`},ge={key:0},_e={key:1},ve={key:2},ye={class:`star-preview`},j=y(n({__name:`index`,setup(n){let v=u(!1),y=u([]),j=u({current_page:1,per_page:20,total:0}),M=u(1),N=u(``),P=u(``),F=u([]),I=u([]),L=u([]),R=u([]),z=u(!1),B=u(null),V=u([]),H=u(!1),U=u(null),W=u(),G=u(!1),K=u(!1),q=u(null),J=u(!1),Y=u({name:``,university_id:void 0,city:``,title:``,research_direction_ids:[],phone:``,email:``,star_level_dict_item_id:void 0,status_dict_item_id:void 0,next_follow_date:``}),X=g(()=>F.value.find(e=>e.value===`pending`)?.id);function Z(e){return e?.length?e.join(`、`):`—`}async function be(){let[e,t]=await Promise.all([T({page:1,page_size:200,status:1}),E({page:1,page_size:200,status:1})]),n=[];for(let t of e.items)n.push({id:t.id,label:`${t.real_name||t.username}(管理员)`,role:`admin`});for(let e of t.items)n.some(t=>t.id===e.id)||n.push({id:e.id,label:`${e.real_name||e.username}(网格员)`,role:`grid`});V.value=n}async function xe(){let[e,t,n,r]=await Promise.all([x(`teacher_level`),x(`teacher_status`),S(),C({page:1,page_size:500})]);F.value=e.items,I.value=t.items,L.value=n.research_directions,R.value=r.items,await be()}async function Q(){v.value=!0;try{let e={page:M.value,page_size:j.value.per_page};N.value&&(e.keyword=N.value),P.value!==``&&(e.converted=P.value);let t=await D(e);y.value=t.items,j.value=t.meta}finally{v.value=!1}}function Se(){N.value=``,P.value=``,M.value=1,Q()}function Ce(){M.value=1,Q()}async function we(e){B.value=await O(e.id),z.value=!0}function Te(e){U.value=e,W.value=e.admin_user_id??void 0,H.value=!0}async function Ee(){if(U.value){G.value=!0;try{await k(U.value.id,W.value??null),_.success(W.value?`已绑定后台账号`:`已解除绑定`),H.value=!1,await Q()}finally{G.value=!1}}}function De(e){if(e.teacher_id){_.warning(`该学员已转入老师库`);return}q.value=e,Y.value={name:e.name||``,university_id:void 0,city:``,title:e.job_title||``,research_direction_ids:[...e.research_direction_ids||[]],phone:e.mobile||``,email:``,star_level_dict_item_id:X.value,status_dict_item_id:I.value.find(e=>e.value===`active`)?.id,next_follow_date:``},K.value=!0}function Oe(){let e=F.value.find(e=>e.id===Y.value.star_level_dict_item_id);Y.value.next_follow_date=w(e?.value)||``}function $(e){if(!e)return;let t=R.value.find(t=>t.id===e);t?.city&&!Y.value.city&&(Y.value.city=t.city)}p(()=>Y.value.university_id,e=>$(e));async function ke(){if(!q.value)return;let e=Y.value;if(!e.name.trim()){_.warning(`请填写姓名`);return}if(!e.university_id){_.warning(`请选择高校`);return}if(!e.city.trim()||!e.title.trim()){_.warning(`请填写城市与职称`);return}if(!e.research_direction_ids.length){_.warning(`请选择研究方向`);return}if(!e.status_dict_item_id){_.warning(`请选择状态`);retu
|