|
|
|
|
|
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-C2NqsgBl.js";import{n as re,t as b}from"./usePageLoad-BucTP1_8.js";import{c as x,p as S}from"./teachers-2mIYLbdk.js";import{a as C}from"./dict-BbzaBtNg.js";import{n as ie,o as w}from"./teacherStar-DhP_EdY6.js";async function T(e){let{data:t}=await v.get(`/admin/v1/miniapp-users`,{params:e});return t.data}async function E(e){let{data:t}=await v.get(`/admin/v1/miniapp-users/${e}`);return t.data}async function D(e,t){let{data:n}=await v.post(`/admin/v1/miniapp-users/${e}/convert-to-teacher`,t);return n.data}var O={class:`list-page students-page`},k={class:`page-header`},A={class:`list-filter-bar`},j={key:0,class:`status-badge status-published`},ae={key:1,class:`status-badge status-unpublished`},oe={class:`table-row-actions`},se={class:`list-pager`},ce={key:0,class:`follow-teacher-summary`},le={key:0},ue={key:1},de={key:2},fe={class:`star-preview`},M=y(n({__name:`index`,setup(n){let v=u(!1),y=u([]),M=u({current_page:1,per_page:20,total:0}),N=u(1),P=u(``),F=u(``),I=u([]),L=u([]),R=u([]),z=u([]),B=u(!1),V=u(null),H=u(!1),U=u(null),W=u(!1),G=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:``}),K=g(()=>I.value.find(e=>e.value===`pending`)?.id);function q(e){return e?.length?e.join(`、`):`—`}async function J(){let[e,t,n,r]=await Promise.all([C(`teacher_level`),C(`teacher_status`),x(),S({page:1,page_size:500})]);I.value=e.items,L.value=t.items,R.value=n.research_directions,z.value=r.items}async function Y(){v.value=!0;try{let e={page:N.value,page_size:M.value.per_page};P.value&&(e.keyword=P.value),F.value!==``&&(e.converted=F.value);let t=await T(e);y.value=t.items,M.value=t.meta}finally{v.value=!1}}function pe(){P.value=``,F.value=``,N.value=1,Y()}function X(){N.value=1,Y()}async function me(e){V.value=await E(e.id),B.value=!0}function Z(e){if(e.teacher_id){_.warning(`该学员已转入老师库`);return}U.value=e,G.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:K.value,status_dict_item_id:L.value.find(e=>e.value===`active`)?.id,next_follow_date:``},H.value=!0}function Q(){let e=I.value.find(e=>e.id===G.value.star_level_dict_item_id);G.value.next_follow_date=w(e?.value)||``}function $(e){if(!e)return;let t=z.value.find(t=>t.id===e);t?.city&&!G.value.city&&(G.value.city=t.city)}p(()=>G.value.university_id,e=>$(e));async function he(){if(!U.value)return;let e=G.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(`请选择状态`);return}W.value=!0;try{let t=await D(U.value.id,{name:e.name.trim(),university_id:e.university_id,city:e.city.trim(),title:e.title.trim(),research_direction_ids:e.research_direction_ids,phone:e.phone||null,email:e.email||null,star_level_dict_item_id:e.star_level_dict_item_id??null,status_dict_item_id:e.status_dict_item_id,next_follow_date:e.next_follow_date||null,recalc_next_follow_date:!0});_.success(`已转入老师库(老师 ID:${t.teacher_id})`),H.value=!1,await Y()}finally{W.value=!1}}return b(async()=>{await J(),await Y()}),(n,u)=>{let p=s(`el-input`),g=s(`el-option`),_=s(`el-select`),b=s(`el-button`),x=s(`el-table-column`),S=s(`el-table`),C=s(`el-pagination`),w=s(`el-card`),T=s(`el-descriptions-item`),E=s(`el-descriptions`),D=s(`el-dialog`),K=s(`el-form-item`),J=s(`el-col`),$=s(`el-date-picker`),ge=s(`el-row`),_e=s(`el-form`),ve=ee(`loading`);return i(),e(`div`,O,[l(`div`,k,[r(re)]),r(w,{shadow:`never`,class:`admin-list-card`},{default:c(()=>[l
|