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
28 KiB

6 days 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,Xt as s,Y as c,at as l,b as u,d as te,f as ne,ht as d,m as f,ot as re,q as p,rt as m,tn as h,x as g,y as _}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{l as v,s as y,t as b}from"./index-CaMCHW4X.js";import{n as ie,t as x}from"./usePageLoad-Dkny6uaV.js";import{a as S}from"./dict-a0oTnj4Q.js";import{a as ae,c as oe,d as C,f as w,l as T,n as E,p as D,r as se,t as ce}from"./teachers-CcqMALx1.js";import{r as le,t as ue}from"./TeacherDetailDialog-D3OoAYho.js";import{t as de}from"./demands-Bz56vpgk.js";import{a as fe,i as pe,n as me,o as he,r as ge,t as _e}from"./teacherStar-CbiOJu8v.js";import{r as ve}from"./users-DVvihY_P.js";var ye={class:`list-page teachers-page`},be={class:`page-header`},xe={class:`page-header-actions`},Se={class:`talent-stat-grid`},Ce={class:`talent-stat-value`},we={class:`talent-stat-value is-dark`},Te={class:`talent-stat-value is-danger`},Ee={class:`talent-stat-value is-success`},De={class:`list-filter-bar`},Oe=[`onClick`],ke={key:1,class:`text-muted`},Ae=[`title`],je={class:`table-row-actions teachers-table-actions`},Me={class:`list-pager`},Ne={class:`uni-row`},Pe={class:`follow-teacher-summary`},Fe={class:`text-brand`},Ie={key:0,class:`names-muted`},Le={class:`batch-rule`},Re={key:0,class:`follow-teacher-summary`},ze={key:0,class:`follow-date-rule`},Be={key:0,class:`follow-teacher-summary`},Ve={class:`star-text`},He={class:`follow-history-list`},Ue={class:`follow-history-head`},We={class:`follow-history-title`},Ge={class:`follow-history-date`},Ke={class:`follow-history-body`},qe={class:`follow-history-row`},Je={class:`follow-history-row`},Ye={class:`follow-history-row`},Xe={class:`follow-history-row`},Ze={class:`follow-history-footer`},Qe=y(n({__name:`index`,setup(n){let y=b(),Qe=_(()=>y.isGridMember);function $e(){let e=y.user?.id;return e!=null&&lt.value.some(t=>t.id===e)?e:lt.value[0]?.id}let et=d(!1),tt=d(!1),nt=d(null),rt=d([]),it=d({current_page:1,per_page:20,total:0}),O=d(1),k=d({month_pending:0,month_followed:0,overdue:0,partners:0}),A=d(``),j=d(``),M=d(``),N=d(``),P=d(``),F=d(``),I=d(``),at=d([]),L=d([]),ot=d([]),st=d([]),ct=d([]),R=d([]),z=d([]),lt=d([]),ut=d([]),B=d([]),dt=_(()=>B.value.map(e=>e.id)),ft=_(()=>B.value.map(e=>e.name).join(``)),V=d(!1),H=d({name:``,university_id:void 0,city:``,title:``,department:``,bio:``,research_direction_values:[],phone:``,email:``,source_dict_item_id:void 0,star_level_dict_item_id:void 0,status_dict_item_id:void 0}),U=d(!1),pt=d(!1),W=d({name:``,city:``,province:``,longitude:``,latitude:``}),G=d(!1),K=d(),mt=_(()=>fe(L.value.find(e=>e.id===K.value)?.value)),q=d(!1),J=d(null),ht=_(()=>fe(J.value?.star_level_item?.value)),Y=d({subject:``,content:``,followed_at:new Date().toISOString().slice(0,10),follow_method_dict_item_id:void 0,urgency_dict_item_id:void 0,admin_user_id:void 0,next_follow_subject:``,next_follow_date:``}),gt=d(!1),X=d(null),_t=d([]),vt=d(!1),yt=d(null),Z=d(!1),bt=d(null),Q=d({type_dict_item_id:void 0,title:``,content:``}),xt=_(()=>at.value.find(e=>e.value===`manual`)?.id),St=_(()=>L.value.find(e=>e.value===`pending`)?.id);function Ct(e){if(!e)return;let t=R.value.find(t=>t.id===e);t?.city&&!H.value.city&&(H.value.city=t.city)}m(()=>H.value.university_id,e=>Ct(e));async function wt(){let[e,t,n,r,i,a,o,ee,s]=await Promise.all([S(`teacher_source`),S(`teacher_level`),S(`teacher_status`),S(`follow_method`),S(`follow_urgency`),S(`demand_type`),D({page:1,page_size:200}),ve({page:1,page_size:200,status:1}),oe()]);at.value=e.items,L.value=t.items,ot.value=n.items,st.value=r.items,ct.value=i.items,ut.value=a.items;let c=y.user?.grid_scope?.university_ids;R.value=c?.length?o.items.filter(e=>c.includes(e.id)):o.items;let l=y.user?.grid_scope?.research_direction_ids;z.value=l?.length?s.research_directions.filter(e=>l.includes(e.id)):s.research_directions,lt.value=ee.items.map(e=>({id:e.id,label:e.real_name||e.username}))}async function Tt(){k.value=await C()}async function $(){et.value=!0;try{let e={page:O.value,page_size:it.value.per_page};A.value&&(e.keyword=A.value),j.value!==