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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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{c as ie,l as v,s as y,t as b}from"./index-B8fKgOL_.js";import{n as ae,t as x}from"./usePageLoad-D_oWGVSY.js";import{a as S}from"./dict-o69zdVo1.js";import{_ as oe,a as se,d as ce,h as C,i as w,m as T,n as E,p as D,r as le,s as ue,t as de,u as fe}from"./teachers-DPSEAD60.js";import{r as pe,t as me}from"./TeacherDetailDialog-BY-FfEt-.js";import{t as he}from"./demands-B_yuUNE3.js";import{a as ge,i as _e,n as ve,o as ye,r as be,t as xe}from"./teacherStar-CbiOJu8v.js";import{r as Se}from"./users-gvFCcUVw.js";var Ce={class:`list-page teachers-page`},we={class:`page-header`},Te={class:`page-header-actions`},Ee={class:`talent-stat-grid`},De={class:`talent-stat-value is-warning`},Oe={class:`talent-stat-value`},ke={class:`talent-stat-value is-dark`},Ae={class:`talent-stat-value is-danger`},je={class:`talent-stat-value is-success`},Me={class:`library-tabs`},Ne={class:`list-filter-bar`},Pe=[`onClick`],Fe={key:1,class:`text-muted`},Ie=[`title`],Le={class:`table-row-actions teachers-table-actions`},Re={class:`list-pager`},ze={class:`uni-row`},Be={class:`follow-teacher-summary`},Ve={class:`text-brand`},He={key:0,class:`names-muted`},Ue={class:`batch-rule`},We={key:0,class:`follow-teacher-summary`},Ge={key:0,class:`follow-date-rule`},Ke={key:0,class:`follow-teacher-summary`},qe={class:`star-text`},Je={class:`follow-history-list`},Ye={class:`follow-history-head`},Xe={class:`follow-history-title`},Ze={class:`follow-history-date`},Qe={class:`follow-history-body`},$e={class:`follow-history-row`},et={class:`follow-history-row`},tt={class:`follow-history-row`},nt={class:`follow-history-row`},rt={class:`follow-history-footer`},it=y(n({__name:`index`,setup(n){let y=b(),it=_(()=>y.isGridMember);function at(){let e=y.user?.id;return e!=null&&_t.value.some(t=>t.id===e)?e:_t.value[0]?.id}let ot=d(!1),st=d(!1),ct=d(null),lt=d([]),ut=d({current_page:1,per_page:20,total:0}),O=d(1),k=d({month_pending:0,month_followed:0,overdue:0,partners:0,library_pending:0}),A=d(`active`),j=d(``),M=d(``),dt=d(``),ft=d(``),N=d(``),P=d(``),F=d(``),pt=d([]),I=d([]),mt=d([]),ht=d([]),gt=d([]),L=d([]),R=d([]),_t=d([]),vt=d([]),z=d([]),yt=_(()=>z.value.map(e=>e.id)),bt=_(()=>z.value.map(e=>e.name).join(``)),B=d(!1),V=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}),H=d(!1),xt=d(!1),U=d({name:``,city:``,province:``,longitude:``,latitude:``}),W=d(!1),G=d(),St=_(()=>ge(I.value.find(e=>e.id===G.value)?.value)),K=d(!1),q=d(null),Ct=_(()=>ge(q.value?.star_level_item?.value)),J=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:``}),wt=d(!1),Y=d(null),Tt=d([]),Et=d(!1),Dt=d(null),X=d(!1),Ot=d(null),Z=d({type_dict_item_id:void 0,title:``,content:``}),kt=_(()=>pt.value.find(e=>e.value===`manual`)?.id),At=_(()=>I.value.find(e=>e.value===`pending`)?.id);function jt(e){if(!e)return;let t=L.value.find(t=>t.id===e);t?.city&&!V.value.city&&(V.value.city=t.city)}m(()=>V.value.university_id,e=>jt(e));async function Mt(){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`),C({page:1,page_size:200}),Se({page:1,page_size:200,status:1}),fe()]);pt.value=e.items,I.value=t.items,mt.value=n.items,ht.value=r.items,gt.value=i.items,vt.value=a.items;let c=y.user?.grid_scope?.university_ids;L.value=c?.length?o.items.filter(e=>c.includes(e.id)):o.items;let l=y.user?.grid_scope?.research_direction_ids;R.value=l?.length?s.research_directions.filter(e=>l.includes(e.id)):s.research_directions,_t.value=ee.items.map(e=>({id:e.id,label:e.real_name||e.username}))}async function Q(){k.value=await D()}async function $(){ot.value=!0;try{let e={page:O.value,page_size:ut.value.per_page};j.value&&(e.keyword=j.value),M.value!==``&&(e.source_dict_item_id=M.value),dt.value!==``&&(e.star_level_dict_item_id=dt.value),ft.value!==``&&(e.status_dict_item_id=ft.value),N.value!==``&&(e.university_id=N.value),P.value!==``&&(e.research_direction_id=P.value),F.value&&(e.stat_bucket=F.value),e.library_status=A.value;let t=await T(e);lt.value=t.items,ut.value=t.meta,z.value=[],R.value=(await fe()).research_directions}finally{ot.value=!1}}function Nt(){j.value=``,M.value=``,dt.value=``,ft.value=``,N.value=``,P.value=``,F.value=``,O.value=1,$()}function Pt(){O.value=1,$()}function Ft(e){A.value!==`active`&&(A.value=`active`),F.value=F.value===e?``:e,O.value=1,$()}function It(e){A.value=e,F.value=``,O.value=1,z.value=[],$()}async function Lt(e){await de(e.id),v.success(`已确认入库`),await Promise.all([$(),Q()])}async function Rt(e){await ie.confirm(`确定驳回「${e.name}」?驳回后记录会保留。`,`确认驳回`,{type:`warning`}),await oe(e.id),v.success(`已驳回`),await Promise.all([$(),Q()])}async function zt(){if(!yt.value.length){v.warning(`请先选择老师`);return}let e=await E(yt.value);v.success(`已确认入库 ${e.updated} 位老师`),await Promise.all([$(),Q()])}function Bt(e){ct.value=e.id,st.value=!0}async function Vt(){await Promise.all([$(),Q()])}async function Ht(){R.value=(await fe()).research_directions}function Ut(){U.value={name:``,city:V.value.city||``,province:``,longitude:``,latitude:``},H.value=!0}async function Wt(){let e=U.value;if(!e.name.trim()){v.warning(`请填写高校名称`);return}if(!e.longitude.trim()||!e.latitude.trim()){v.warning(`请填写经度与纬度`);return}let t=Number(e.longitude),n=Number(e.latitude);if(Number.isNaN(t)||Number.isNaN(n)){v.warning(`经纬度须为有效数字`);return}xt.value=!0;try{let r=await ue({name:e.name.trim(),city:e.city.trim()||null,province:e.province.trim()||null,longitude:t,latitude:n});L.value.some(e=>e.id===r.id)||L.value.push(r),V.value.university_id=r.id,r.city&&(V.value.city=r.city),H.value=!1,v.success(`高校已创建`)}finally{xt.value=!1}}function Gt(e){let t=[],n=[];for(let r of e){if(typeof r==`number`){t.push(r);continue}let e=String(r).trim();e&&n.push(e)}return{ids:t,names:n}}async function Kt(){V.value={name:``,university_id:void 0,city:``,title:``,department:``,bio:``,research_direction_values:[],phone:``,email:``,source_dict_item_id:kt.value,star_level_dict_item_id:At.value,status_dict_item_id:mt.value.find(e=>e.value===`active`)?.id},await Ht(),B.value=!0}async function qt(){let e=V.value;if(!e.name.trim()){v.warning(`请填写姓名`);return}let t=Gt(e.research_direction_values);if(!t.ids.length&&!t.names.length){v.warning(`请至少选择一个或新增研究方向`);return}if(!e.city.trim()){v.warning(`请填写城市`);return}if(!e.title.trim()){v.warning(`请填写职称`);return}if(!e.status_dict_item_id){v.warning(`请选择状态`);return}if(!e.university_id){v.warning(`请选择高校,或点击「新建高校」`);return}await w({name:e.name.trim(),university_id:e.university_id,city:e.city.trim(),title:e.title.trim(),department:e.department.trim()||null,bio:e.bio.trim()||null,research_direction_ids:t.ids,new_research_directions:t.names,phone:e.phone||null,email:e.email||null,source_dict_item_id:e.source_dict_item_id??kt.value,star_level_dict_item_id:e.star_level_dict_item_id??At.value,status_dict_item_id:e.status_dict_item_id,recalc_next_follow_date:!0}),v.success(`已录入`),B.value=!1,await Promise.all([$(),Q()])}function Jt(){if(!z.value.length){v.warning(`请先在列表中勾选需要改星的老师`);return}G.value=void 0,W.value=!0}async function Yt(){if(!G.value){v.warning(`请选择目标星级`);return}await le({ids:yt.value,star_level_dict_item_id:G.value,recalc_next_follow_date:!0}),v.success(`已批量更新`),W.value=!1,await Promise.all([$(),Q()])}function Xt(e){q.value=e,J.value={subject:``,content:``,followed_at:new Date().toISOString().slice(0,10),follow_method_dict_item_id:ht.value[0]?.id,urgency_dict_item_id:gt.value.find(e=>e.value===`normal`)?.id,admin_user_id:at(),next_follow_subject:``,next_follow_date:ye(e.star_level_item?.value)||``},K.value=!0}async function Zt(){let e=J.value;if(q.value){if(!e.subject.trim()||!e.next_follow_subject.trim()||!e.next_follow_date){v.warning(`请填写必填项`);return}if(!e.follow_method_dict_item_id||!e.urgency_dict_item_id||!e.admin_user_id){v.warning(`请填写跟进方式、紧急程度与跟进人员`);return}await se(q.value.id,{...e}),v.success(`已保存跟进`),K.value=!1,await Promise.all([$(),Q()])}}async function Qt(e){Y.value=e,Tt.value=await ce(e.id),wt.value=!0}function $t(e){Dt.value=e,Et.value=!0}function en(e){Ot.value=e,Z.value={type_dict_item_id:void 0,title:``,content:``},X.value=!0}async function tn(){if(Ot.value){if(!Z.value.type_dict_item_id||!Z.value.title.trim()||!Z.value.content.trim()){v.warning(`请填写需求类型、标题与详细描述`);return}await he({teacher_id:Ot.value.id,type_dict_item_id:Z.value.type_dict_item_id,title:Z.value.title.trim(),content:Z.value.content.trim()}),v.success(`已发布需求`),X.value=!1}}return x(async()=>{await Mt(),await Promise.all([Q(),$()])}),(n,d)=>{let m=c(`el-button`),_=c(`el-radio-button`),ie=c(`el-radio-group`),v=c(`el-input`),y=c(`el-option`),b=c(`el-select`),x=c(`el-table-column`),S=c(`el-tag`),oe=c(`el-table`),se=c(`el-pagination`),ce=c(`el-card`),C=c(`el-form-item`),w=c(`el-col`),T=c(`el-row`),E=c(`el-form`),D=c(`el-dialog`),le=c(`el-alert`),ue=c(`el-date-picker`),de=c(`el-empty`),fe=ee(`loading`);return i(),e(`div`,Ce,[u(`div`,we,[r(ae),u(`div`,Te,[A.value===`pending`&&yt.value.length?(i(),g(m,{key:0,type:`success`,size:`small`,onClick:zt},{default:l(()=>[...d[57]||=[o(` 批量确认入库 `,-1)]]),_:1})):a(``,!0),r(m,{class:`btn-action-secondary`,size:`small`,onClick:Jt},{default:l(()=>[...d[58]||=[o(`批量改星`,-1)]]),_:1}),it.value?a(``,!0):(i(),g(m,{key:1,type:`primary`,size:`small`,class:`teachers-primary-btn`,onClick:Kt},{default:l(()=>[...d[59]||=[o(` 手动录入 `,-1)]]),_:1}))])]),u(`div`,Ee,[u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":A.value===`pending`}]),onClick:d[0]||=e=>It(`pending`)},[d[60]||=u(`div`,{class:`talent-stat-label`},`待确认入库`,-1),u(`div`,De,h(k.value.library_pending??0),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":F.value===`month_pending`}]),onClick:d[1]||=e=>Ft(`month_pending`)},[d[61]||=u(`div`,{class:`talent-stat-label`},`本月待跟进数量`,-1),u(`div`,Oe,h(k.value.month_pending),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":F.value===`month_followed`}]),onClick:d[2]||=e=>Ft(`month_followed`)},[d[62]||=u(`div`,{class:`talent-stat-label`},`本月已跟进`,-1),u(`div`,ke,h(k.value.month_followed),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":F.value===`overdue`}]),onClick:d[3]||=e=>Ft(`overdue`)},[d[63]||=u(`div`,{class:`talent-stat-label`},`已逾期`,-1),u(`div`,Ae,h(k.value.overdue),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":F.value===`partner`}]),onClick:d[4]||=e=>Ft(`partner`)},[d[64]||=u(`div`,{class:`talent-stat-label`},`入孵用户数量`,-1),u(`div`,je,h(k.value.partners),1)],2)]),r(ce,{shadow:`never`,class:`admin-list-card teachers-list-card`},{default:l(()=>[u(`div`,Me,[r(ie,{modelValue:A.value,"onUpdate:modelValue":d[5]||=e=>A.value=e,onChange:d[6]||=e=>It(A.value)},{default:l(()=>[r(_,{value:`active`},{default:l(()=>[...d[65]||=[o(`正式老师`,-1)]]),_:1}),r(_,{value:`pending`},{default:l(()=>[...d[66]||=[o(`待确认`,-1)]]),_:1}),r(_,{value:`rejected`},{default:l(()=>[...d[67]||=[o(`已驳回`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),u(`div`,Ne,[r(v,{modelValue:j.value,"onUpdate:modelValue":d[7]||=e=>j.value=e,class:`filter-search teachers-filter-search`,placeholder:`搜索姓名、高校、学院、简介、研究方向…`,clearable:``,onKeyup:te(Pt,[`enter`])},null,8,[`modelValue`]),r(b,{modelValue:M.value,"onUpdate:modelValue":d[8]||=e=>M.value=e,class:`filter-source`,placeholder:`来源`,clearable:``},{default:l(()=>[(i(!0),e(f,null,p(pt.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),r(b,{modelValue:dt.value,"onUpdate:modelValue":d[9]||=e=>dt.value=e,class:`filter-stars`,placeholder:`星级`,clearable:``},{default:l(()=>[(i(!0),e(f,null,p(I.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),r(b,{modelValue:ft.value,"onUpdate:modelValue":d[10]||=e=>ft.value=e,class:`filter-status`,placeholder:`状态`,clearable:``},{default:l(()=>[(i(!0),e(f,null,p(mt.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),r(b,{modelValue:N.value,"onUpdate:modelValue":d[11]||=e=>N.value=e,class:`filter-school`,placeholder:`学校`,clearable:``,filterable:``},{default:l(()=>[(i(!0),e(f,null,p(L.value,e=>(i(),g(y,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),r(b,{modelValue:P.value,"onUpdate:modelValue":d[12]||=e=>P.value=e,class:`filter-direction`,placeholder:`研究方向`,clearable:``,filterable:``},{default:l(()=>[(i(!0),e(f,null,p(R.value,e=>(i(),g(y,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),r(m,{type:`primary`,onClick:Pt},{default:l(()=>[...d[68]||=[o(`搜索`,-1)]]),_:1}),r(m,{onClick:Nt},{default:l(()=>[...d[69]||=[o(`重置`,-1)]]),_:1})]),re((i(),g(oe,{data:lt.value,"row-key":`id`,onSelectionChange:d[13]||=e=>z.value=e},{default:l(()=>[r(x,{type:`selection`,width:`44`}),r(x,{prop:`name`,label:`姓名`,width:`108`},{default:l(({row:e})=>[u(`a`,{class:`name-link`,href:`#`,onClick:ne(t=>Bt(e),[`prevent`])},h(e.name),9,Pe),e.is_overdue?(i(),g(S,{key:0,type:`danger`,size:`small`,class:`tag-overdue`},{default:l(()=>[...d[70]||=[o(`逾期`,-1)]]),_:1})):a(``,!0)]),_:1}),r(x,{prop:`university_name`,label:`高校`,"min-width":`130`}),r(x,{prop:`department`,label:`所属学院`,"min-width":`120`,"show-overflow-tooltip":``}),r(x,{prop:`title`,label:`职称`,width:`96`}),r(x,{label:`研究方向`,"min-width":`160`},{default:l(({row:t})=>[t.research_directions?.length?(i(!0),e(f,{key:0},p(t.research_directions,e=>(i(),g(S,{key:e.id,size:`small`,type:`info`,style:{margin:`2px 4px 2px 0`}},{default:l(()=>[o(h(e.name),1)]),_:2},1024))),128)):(i(),e(`span`,Fe,``))]),_:1}),r(x,{label:`来源`,width:`108`,align:`center`},{default:l(({row:e})=>[r(S,{type:t(xe)(e.source_item?.value),size:`small`,effect:`dark`,class:s([`source-tag`,{"source-tag-manual":e.source_item?.value===`manual`}])},{default:l(()=>[o(h(e.source_item?.label||``),1)]),_:2},1032,[`type`,`class`])]),_:1}),r(x,{label:`星级`,width:`108`},{default:l(({row:e})=>[u(`span`,{class:`star-text`,title:e.star_level_item?.label||``},h(t(ve)(e.star_level_item?.value,e.star_level_item?.label)),9,Ie)]),_:1}),r(x,{label:`状态`,width:`100`},{default:l(({row:e})=>[r(S,{type:t(be)(e.status_item?.value),size:`small`,effect:`dark`},{default:l(()=>[o(h(e.status_item?.label||``),1)]),_:2},1032,[`type`])]),_:1}),r(x,{label:`跟进记录`,width:`96`,align:`center`},{default:l(({row:e})=>[r(m,{size:`small`,class:`btn-action-secondary teachers-table-btn`,onClick:t=>Qt(e)},{default:l(()=>[o(h(e.follow_records_count||0)+`条记录 `,1)]),_:2},1032,[`onClick`])]),_:1}),r(x,{label:`操作`,width:`220`,fixed:`right`},{default:l(({row:t})=>[u(`div`,Le,[t.library_status===`pending`?(i(),e(f,{key:0},[r(m,{size:`small`,type:`success`,class:`teachers-table-btn`,onClick:e=>Lt(t)},{default:l(()=>[...d[71]||=[o(` 确认入库 `,-1)]]),_:1},8,[`onClick`]),r(m,{size:`small`,type:`danger`,class:`teachers-table-btn`,onClick:e=>Rt(t)},{default:l(()=>[...d[72]||=[o(` 驳回 `,-1)]]),_:1},8,[`onClick`]),r(m,{size:`small`,class:`btn-action-primary teachers-table-btn`,onClick:e=>$t(t)},{default:l(()=>[...d[73]||=[o(` 论文 `,-1)]]),_:1},8,[`onClick`])],64)):A.value===`active`?(i(),e(f,{key:1},[r(m,{size:`small`,class:`btn-action-info teachers-table-btn`,onClick:e=>Xt(t)},{default:l(()=>[...d[74]||=[o(` 跟进 `,-1)]]),_:1},8,[`onClick`]),r(m,{size:`small`,class:`btn-action-primary teachers-table-btn`,onClick:e=>$t(t)},{default:l(()=>[...d[75]||=[o(` 论文 `,-1)]]),_:1},8,[`onClick`]),t.is_partner||t.status_item?.value===`partner`?(i(),g(m,{key:0,type:`primary`,size:`small`,class:`teachers-primary-btn teachers-table-btn`,onClick:e=>en(t)},{default:l(()=>[...d[76]||=[o(` 需求 `,-1)]]),_:1},8,[`onClick`])):a(``,!0)],64)):a(``,!0),r(m,{size:`small`,class:`btn-action-primary teachers-table-btn`,onClick:e=>Bt(t)},{default:l(()=>[...d[77]||=[o(` 编辑 `,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[fe,ot.value]]),u(`div`,Re,[r(se,{"current-page":O.value,"onUpdate:currentPage":d[14]||=e=>O.value=e,"page-size":ut.value.per_page,total:ut.value.total,layout:`total, prev, pager, next`,onCurrentChange:$},null,8,[`current-page`,`page-size`,`total`])])]),_:1}),r(D,{modelValue:B.value,"onUpdate:modelValue":d[27]||=e=>B.value=e,title:`手动录入老师`,width:`960px`,"destroy-on-close":``},{footer:l(()=>[r(m,{onClick:d[26]||=e=>B.value=!1},{default:l(()=>[...d[79]||=[o(`取消`,-1)]]),_:1}),r(m,{type:`primary`,onClick:qt},{default:l(()=>[...d[80]||=[o(`保存`,-1)]]),_:1})]),default:l(()=>[r(E,{"label-position":`top`,class:`form-small`},{default:l(()=>[r(T,{gutter:12},{default:l(()=>[r(w,{xs:24,md:4},{default:l(()=>[r(C,{label:`姓名`,required:``},{default:l(()=>[r(v,{modelValue:V.value.name,"onUpdate:modelValue":d[15]||=e=>V.value.name=e},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:8},{default:l(()=>[r(C,{label:`高校`,required:``},{default:l(()=>[u(`div`,ze,[r(b,{modelValue:V.value.university_id,"onUpdate:modelValue":d[16]||=e=>V.value.university_id=e,filterable:``,placeholder:`选择高校`,style:{flex:`1`}},{default:l(()=>[(i(!0),e(f,null,p(L.value,e=>(i(),g(y,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),it.value?a(``,!0):(i(),g(m,{key:0,type:`primary`,size:`small`,class:`btn-create teachers-primary-btn`,onClick:Ut},{default:l(()=>[...d[78]||=[o(` 新建高校 `,-1)]]),_:1}))])]),_:1})]),_:1}),r(w,{xs:24,md:4},{default:l(()=>[r(C,{label:`城市`,required:``},{default:l(()=>[r(v,{modelValue:V.value.city,"onUpdate:modelValue":d[17]||=e=>V.value.city=e},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:8},{default:l(()=>[r(C,{label:`职称`,required:``},{default:l(()=>[r(v,{modelValue:V.value.title,"onUpdate:modelValue":d[18]||=e=>V.value.title=e},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:8},{default:l(()=>[r(C,{label:`所属学院`},{default:l(()=>[r(v,{modelValue:V.value.department,"onUpdate:modelValue":d[19]||=e=>V.value.department=e,placeholder:`如:计算机科学与技术学院`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:16},{default:l(()=>[r(C,{label:`个人简介`},{default:l(()=>[r(v,{modelValue:V.value.bio,"onUpdate:modelValue":d[20]||=e=>V.value.bio=e,type:`textarea`,rows:3,placeholder:`老师个人简介`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:8},{default:l(()=>[r(C,{label:`研究方向`,required:``},{default:l(()=>[r(b,{modelValue:V.value.research_direction_values,"onUpdate:modelValue":d[21]||=e=>V.value.research_direction_values=e,multiple:``,filterable:``,"allow-create":``,"default-first-option":``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:`选择或输入研究方向`,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(R.value,e=>(i(),g(y,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:6},{default:l(()=>[r(C,{label:`电话`},{default:l(()=>[r(v,{modelValue:V.value.phone,"onUpdate:modelValue":d[22]||=e=>V.value.phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:6},{default:l(()=>[r(C,{label:`邮箱`},{default:l(()=>[r(v,{modelValue:V.value.email,"onUpdate:modelValue":d[23]||=e=>V.value.email=e,type:`email`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:4},{default:l(()=>[r(C,{label:`星级`},{default:l(()=>[r(b,{modelValue:V.value.star_level_dict_item_id,"onUpdate:modelValue":d[24]||=e=>V.value.star_level_dict_item_id=e,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(I.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),r(w,{xs:24,md:6},{default:l(()=>[r(C,{label:`状态`,required:``},{default:l(()=>[r(b,{modelValue:V.value.status_dict_item_id,"onUpdate:modelValue":d[25]||=e=>V.value.status_dict_item_id=e,placeholder:`请选择状态`,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(mt.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),r(D,{modelValue:H.value,"onUpdate:modelValue":d[34]||=e=>H.value=e,title:`新建高校`,width:`480px`,"append-to-body":``,"destroy-on-close":``},{footer:l(()=>[r(m,{onClick:d[33]||=e=>H.value=!1},{default:l(()=>[...d[81]||=[o(`取消`,-1)]]),_:1}),r(m,{type:`primary`,loading:xt.value,onClick:Wt},{default:l(()=>[...d[82]||=[o(`保存`,-1)]]),_:1},8,[`loading`])]),default:l(()=>[r(E,{"label-position":`top`,class:`form-small`},{default:l(()=>[r(C,{label:`高校名称`,required:``},{default:l(()=>[r(v,{modelValue:U.value.name,"onUpdate:modelValue":d[28]||=e=>U.value.name=e,placeholder:`如:复旦大学`},null,8,[`modelValue`])]),_:1}),r(T,{gutter:12},{default:l(()=>[r(w,{span:12},{default:l(()=>[r(C,{label:`经度`,required:``},{default:l(()=>[r(v,{modelValue:U.value.longitude,"onUpdate:modelValue":d[29]||=e=>U.value.longitude=e,placeholder:`121.5031`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:12},{default:l(()=>[r(C,{label:`纬度`,required:``},{default:l(()=>[r(v,{modelValue:U.value.latitude,"onUpdate:modelValue":d[30]||=e=>U.value.latitude=e,placeholder:`31.2970`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),r(T,{gutter:12},{default:l(()=>[r(w,{span:12},{default:l(()=>[r(C,{label:`省份`},{default:l(()=>[r(v,{modelValue:U.value.province,"onUpdate:modelValue":d[31]||=e=>U.value.province=e,placeholder:`如:上海市`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:12},{default:l(()=>[r(C,{label:`城市`},{default:l(()=>[r(v,{modelValue:U.value.city,"onUpdate:modelValue":d[32]||=e=>U.value.city=e,placeholder:`如:上海`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),r(D,{modelValue:W.value,"onUpdate:modelValue":d[37]||=e=>W.value=e,title:`批量修改星级`,width:`480px`},{footer:l(()=>[r(m,{onClick:d[36]||=e=>W.value=!1},{default:l(()=>[...d[85]||=[o(`取消`,-1)]]),_:1}),r(m,{type:`primary`,disabled:!z.value.length,onClick:Yt},{default:l(()=>[...d[86]||=[o(` 保存并重算跟进日 `,-1)]]),_:1},8,[`disabled`])]),default:l(()=>[z.value.length?(i(),e(f,{key:1},[u(`div`,Be,[d[83]||=o(` 已选择 `,-1),u(`span`,Ve,h(z.value.length),1),d[84]||=o(` 位老师 `,-1),bt.value?(i(),e(`span`,He,h(bt.value),1)):a(``,!0)]),r(E,{"label-position":`top`,style:{"margin-top":`12px`}},{default:l(()=>[r(C,{label:`目标星级`,required:``},{default:l(()=>[r(b,{modelValue:G.value,"onUpdate:modelValue":d[35]||=e=>G.value=e,placeholder:`请选择目标星级`,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(I.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(`p`,Ue,h(St.value),1)]),_:1})],64)):(i(),g(le,{key:0,type:`warning`,closable:!1,title:`请先在列表中勾选需要改星的老师。`,"show-icon":``}))]),_:1},8,[`modelValue`]),r(D,{modelValue:K.value,"onUpdate:modelValue":d[47]||=e=>K.value=e,title:`新增跟进`,width:`720px`,"destroy-on-close":``},{footer:l(()=>[r(m,{onClick:d[46]||=e=>K.value=!1},{default:l(()=>[...d[87]||=[o(`取消`,-1)]]),_:1}),r(m,{type:`primary`,onClick:Zt},{default:l(()=>[...d[88]||=[o(`保存`,-1)]]),_:1})]),default:l(()=>[q.value?(i(),e(`div`,We,h(q.value.name)+` · `+h(q.value.university_name)+` · `+h(q.value.title),1)):a(``,!0),r(E,{"label-position":`top`,class:`form-small`,style:{"margin-top":`12px`}},{default:l(()=>[r(T,{gutter:12},{default:l(()=>[r(w,{span:10},{default:l(()=>[r(C,{label:`跟进主题`,required:``},{default:l(()=>[r(v,{modelValue:J.value.subject,"onUpdate:modelValue":d[38]||=e=>J.value.subject=e,placeholder:`请输入跟进主题`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:6},{default:l(()=>[r(C,{label:`跟进日期`,required:``},{default:l(()=>[r(ue,{modelValue:J.value.followed_at,"onUpdate:modelValue":d[39]||=e=>J.value.followed_at=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:4},{default:l(()=>[r(C,{label:`跟进方式`,required:``},{default:l(()=>[r(b,{modelValue:J.value.follow_method_dict_item_id,"onUpdate:modelValue":d[40]||=e=>J.value.follow_method_dict_item_id=e,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(ht.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:4},{default:l(()=>[r(C,{label:`跟进人员`,required:``},{default:l(()=>[r(b,{modelValue:J.value.admin_user_id,"onUpdate:modelValue":d[41]||=e=>J.value.admin_user_id=e,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(_t.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:24},{default:l(()=>[r(C,{label:`跟进记录`},{default:l(()=>[r(v,{modelValue:J.value.content,"onUpdate:modelValue":d[42]||=e=>J.value.content=e,type:`textarea`,rows:4,placeholder:`请输入跟进内容`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:12},{default:l(()=>[r(C,{label:`下次跟进主题`,required:``},{default:l(()=>[r(v,{modelValue:J.value.next_follow_subject,"onUpdate:modelValue":d[43]||=e=>J.value.next_follow_subject=e,placeholder:`请输入下次跟进主题`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:6},{default:l(()=>[r(C,{label:`下次跟进日期`,required:``},{default:l(()=>[r(ue,{modelValue:J.value.next_follow_date,"onUpdate:modelValue":d[44]||=e=>J.value.next_follow_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`]),Ct.value?(i(),e(`p`,Ge,h(Ct.value),1)):a(``,!0)]),_:1})]),_:1}),r(w,{span:6},{default:l(()=>[r(C,{label:`紧急程度`,required:``},{default:l(()=>[r(b,{modelValue:J.value.urgency_dict_item_id,"onUpdate:modelValue":d[45]||=e=>J.value.urgency_dict_item_id=e,placeholder:`请选择紧急程度`,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(gt.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),r(D,{modelValue:wt.value,"onUpdate:modelValue":d[49]||=e=>wt.value=e,title:`跟进记录`,width:`960px`},{footer:l(()=>[r(m,{onClick:d[48]||=e=>wt.value=!1},{default:l(()=>[...d[97]||=[o(`关闭`,-1)]]),_:1})]),default:l(()=>[Y.value?(i(),e(`div`,Ke,[u(`span`,null,h(Y.value.name),1),d[89]||=u(`span`,{class:`dot`},`·`,-1),u(`span`,null,h(Y.value.university_name),1),d[90]||=u(`span`,{class:`dot`},`·`,-1),u(`span`,null,h(Y.value.title),1),d[91]||=u(`span`,{class:`dot`},`·`,-1),u(`span`,qe,h(t(ve)(Y.value.star_level_item?.value,Y.value.star_level_item?.label)),1)])):a(``,!0),u(`div`,Je,[(i(!0),e(f,null,p(Tt.value,n=>(i(),e(`div`,{key:n.id,class:`follow-history-card`},[u(`div`,Ye,[u(`div`,null,[u(`span`,Xe,h(n.subject),1),u(`span`,Ze,h(n.followed_at),1)]),n.urgency_item?(i(),g(S,{key:0,type:t(_e)(n.urgency_item.value),size:`small`},{default:l(()=>[o(h(n.urgency_item.label),1)]),_:2},1032,[`type`])):a(``,!0)]),u(`div`,Qe,[u(`div`,$e,[d[92]||=u(`span`,null,`跟进主题:`,-1),u(`div`,null,h(n.subject),1)]),u(`div`,et,[d[93]||=u(`span`,null,`跟进方式:`,-1),u(`div`,null,h(n.follow_method_item?.label||``),1)]),u(`div`,tt,[d[94]||=u(`span`,null,`跟进记录:`,-1),u(`div`,null,h(n.content||``),1)]),u(`div`,nt,[d[96]||=u(`span`,null,`下次跟进:`,-1),u(`div`,null,[o(`主题:`+h(n.next_follow_subject),1),d[95]||=u(`br`,null,null,-1),o(`日期:`+h(n.next_follow_date),1)])])]),u(`div`,rt,`跟进人:`+h(n.operator_name||``),1)]))),128)),Tt.value.length?a(``,!0):(i(),g(de,{key:0,description:`暂无跟进记录`}))])]),_:1},8,[`modelValue`]),r(pe,{modelValue:Et.value,"onUpdate:modelValue":d[50]||=e=>Et.value=e,"teacher-id":Dt.value?.id??null,"default-authors":Dt.value?.name,"default-school-name":Dt.value?.university_name||``,onSaved:$},null,8,[`modelValue`,`teacher-id`,`default-authors`,`default-school-name`]),r(D,{modelValue:X.value,"onUpdate:modelValue":d[55]||=e=>X.value=e,title:`发布需求`,width:`640px`,"destroy-on-close":``},{footer:l(()=>[r(m,{onClick:d[54]||=e=>X.value=!1},{default:l(()=>[...d[98]||=[o(`取消`,-1)]]),_:1}),r(m,{type:`primary`,onClick:tn},{default:l(()=>[...d[99]||=[o(`发布`,-1)]]),_:1})]),default:l(()=>[r(E,{"label-position":`top`,class:`form-small`},{default:l(()=>[r(T,{gutter:12},{default:l(()=>[r(w,{span:12},{default:l(()=>[r(C,{label:`关联老师`},{default:l(()=>[r(v,{"model-value":Ot.value?.name||``,readonly:``},null,8,[`model-value`])]),_:1})]),_:1}),r(w,{span:12},{default:l(()=>[r(C,{label:`需求类型`,required:``},{default:l(()=>[r(b,{modelValue:Z.value.type_dict_item_id,"onUpdate:modelValue":d[51]||=e=>Z.value.type_dict_item_id=e,placeholder:`请选择需求类型`,style:{width:`100%`}},{default:l(()=>[(i(!0),e(f,null,p(vt.value,e=>(i(),g(y,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:24},{default:l(()=>[r(C,{label:`标题`,required:``},{default:l(()=>[r(v,{modelValue:Z.value.title,"onUpdate:modelValue":d[52]||=e=>Z.value.title=e,placeholder:`请输入需求标题`},null,8,[`modelValue`])]),_:1})]),_:1}),r(w,{span:24},{default:l(()=>[r(C,{label:`详细描述`,required:``},{default:l(()=>[r(v,{modelValue:Z.value.content,"onUpdate:modelValue":d[53]||=e=>Z.value.content=e,type:`textarea`,rows:5,placeholder:`请描述需求背景、目标、期望资源或合作方式`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),r(me,{modelValue:st.value,"onUpdate:modelValue":d[56]||=e=>st.value=e,"teacher-id":ct.value,onSaved:Vt},null,8,[`modelValue`,`teacher-id`])])}}}),[[`__scopeId`,`data-v-8dabbe58`]]);export{it as default};