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-BTA6kna9.js";import{n as ae,t as x}from"./usePageLoad-BUDwAQwX.js";import{a as S}from"./dict-BPSgIMMe.js";import{a as oe,f as se,h as ce,i as C,m as w,n as T,r as E,s as D,t as le,u as ue,v as de}from"./teachers-Bpc2Lkqb.js";import{r as fe,t as pe}from"./TeacherDetailDialog-DlKrMgmb.js";import{t as me}from"./demands-s1k4r-wG.js";import{a as he,i as ge,n as _e,o as ve,r as ye,t as be}from"./teacherStar-CbiOJu8v.js";import{r as xe}from"./users-FDMe5QFX.js";var Se={class:`list-page teachers-page`},Ce={class:`page-header`},we={class:`page-header-actions`},Te={class:`talent-stat-grid`},Ee={class:`talent-stat-value is-warning`},De={class:`talent-stat-value`},Oe={class:`talent-stat-value is-dark`},ke={class:`talent-stat-value is-danger`},Ae={class:`talent-stat-value is-success`},je={class:`library-tabs`},Me={class:`list-filter-bar`},Ne=[`onClick`],Pe={key:1,class:`text-muted`},Fe=[`title`],Ie={class:`table-row-actions teachers-table-actions`},Le={class:`list-pager`},Re={class:`uni-row`},ze={class:`follow-teacher-summary`},Be={class:`text-brand`},Ve={key:0,class:`names-muted`},He={class:`batch-rule`},Ue={key:0,class:`follow-teacher-summary`},We={key:0,class:`follow-date-rule`},Ge={key:0,class:`follow-teacher-summary`},Ke={class:`star-text`},qe={class:`follow-history-list`},Je={class:`follow-history-head`},Ye={class:`follow-history-title`},Xe={class:`follow-history-date`},Ze={class:`follow-history-body`},Qe={class:`follow-history-row`},$e={class:`follow-history-row`},et={class:`follow-history-row`},tt={class:`follow-history-row`},nt={class:`follow-history-footer`},rt=y(n({__name:`index`,setup(n){let y=b(),rt=_(()=>y.isGridMember);function it(){let e=y.user?.id;return e!=null&&_t.value.some(t=>t.id===e)?e:_t.value[0]?.id}let at=d(!1),ot=d(!1),st=d(null),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(``),pt=d(``),N=d(``),P=d(``),mt=d([]),F=d([]),I=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=_(()=>he(F.value.find(e=>e.id===G.value)?.value)),K=d(!1),q=d(null),Ct=_(()=>he(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=_(()=>mt.value.find(e=>e.value===`manual`)?.id),At=_(()=>F.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));let Mt=d(!1),Nt=d(!1);async function Pt(){if(Mt.value)return;let e=await ue();mt.value=e.dicts.teacher_source||[],F.value=e.dicts.teacher_level||[],I.value=e.dicts.teacher_status||[],L.value=e.universities||[],R.value=e.research_directions||[],Mt.value=!0}async function Ft(){if(Nt.value)return;let[e,t,n,r]=await Promise.all([S(`follow_method`),S(`follow_urgency`),S(`demand_type`),xe({page:1,page_size:200,status:1})]);ht.value=e.items,gt.value=t.items,vt.value=n.items,_t.value=r.items.map(e=>({id:e.id,label:e.real_name||e.username})),Nt.value=!0}async function Q(){k.value=await w()}async function $(){at.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),pt.value!==``&&(e.university_id=pt.value),N.value!==``&&(e.research_direction_id=N.value),P.value&&(e.stat_bucket=P.value),e.library_status=A.value;let t=await ce(e);lt.value=t.items,ut.value=t.meta,z.value=[]}finally{at.value=!1}}function It(){j.value=``,M.value=``,dt.value=``,ft.value=``,pt.value=``,N.value=``,P.value=``,O.value=1,$()}function Lt(){O.value=1,$()}function Rt(e){A.value!==`active`&&(A.value=`active`),P.value=P.value===e?``:e,O.value=1,$()}function zt(e){A.value=e,P.value=``,O.value=1,z.value=[],$()}async function Bt(e){await le(e.id),v.success(`已确认入库`),await Promise.all([$(),Q()])}async function Vt(e){await ie.confirm(`确定驳回「${e.name}」?驳回后记录会保留。`,`确认驳回`,{type:`warning`}),await de(e.id),v.success(`已驳回`),await Promise.all([$(),Q()])}async function Ht(){if(!yt.value.length){v.warning(`请先选择老师`);return}let e=await T(yt.value);v.success(`已确认入库 ${e.updated} 位老师`),await Promise.all([$(),Q()])}function Ut(e){ct.value=e,st.value=e.id,ot.value=!0}async function Wt(){await Promise.all([$(),Q()])}function Gt(e){L.value.some(t=>t.id===e.id)||L.value.push(e)}function Kt(e){let t=new Set(R.value.map(e=>e.id));for(let n of e)t.has(n.id)||(R.value.push(n),t.add(n.id))}function qt(){U.value={name:``,city:V.value.city||``,province:``,longitude:``,latitude:``},H.value=!0}async function Jt(){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 D({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 Yt(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 Xt(){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:I.value.find(e=>e.value===`active`)?.id},B.value=!0}async function Zt(){let e=V.value;if(!e.name.trim()){v.warning(`请填写姓名`);return}let t=Yt(e.research_direction_values);if(!e.city.trim()){v.warning(`请填写城市`);return}if(!e.title.trim()){v.warning(`请填写职称`);return}if(!e.university_id){v.warning(`请选择高校,或点击「新建高校」`);return}await C({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??null,recalc_next_follow_date:!0}),v.success(`已录入`),B.value=!1,await Promise.all([$(),Q()])}function Qt(){if(!z.value.length){v.warning(`请先在列表中勾选需要改星的老师`);return}G.value=void 0,W.value=!0}async function $t(){if(!G.value){v.warning(`请选择目标星级`);return}await E({ids:yt.value,star_level_dict_item_id:G.value,recalc_next_follow_date:!0}),v.success(`已批量更新`),W.value=!1,await Promise.all([$(),Q()])}async function en(e){await Ft(),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:it(),next_follow_subject:``,next_follow_date:ve(e.star_level_item?.value)||``},K.value=!0}async function tn(){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 oe(q.value.id,{...e}),v.success(`已保存跟进`),K.value=!1,await Promise.all([$(),Q()])}}async function nn(e){Y.value=e,Tt.value=await se(e.id),wt.value=!0}function rn(e){Dt.value=e,Et.value=!0}async function an(e){await Ft(),Ot.value=e,Z.value={type_dict_item_id:void 0,title:``,content:``},X.value=!0}async function on(){if(Ot.value){if(!Z.value.type_dict_item_id||!Z.value.title.trim()||!Z.value.content.trim()){v.warning(`请填写需求类型、标题与详细描述`);return}await me({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()=>{if(!Mt.value){await Promise.all([Pt(),Q(),$()]);return}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`),me=ee(`loading`);return i(),e(`div`,Se,[u(`div`,Ce,[r(ae),u(`div`,we,[A.value===`pending`&&yt.value.length?(i(),g(m,{key:0,type:`success`,size:`small`,onClick:Ht},{default:l(()=>[...d[57]||=[o(` 批量确认入库 `,-1)]]),_:1})):a(``,!0),r(m,{class:`btn-action-secondary`,size:`small`,onClick:Qt},{default:l(()=>[...d[58]||=[o(`批量改星`,-1)]]),_:1}),rt.value?a(``,!0):(i(),g(m,{key:1,type:`primary`,size:`small`,class:`teachers-primary-btn`,onClick:Xt},{default:l(()=>[...d[59]||=[o(` 手动录入 `,-1)]]),_:1}))])]),u(`div`,Te,[u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":A.value===`pending`}]),onClick:d[0]||=e=>zt(`pending`)},[d[60]||=u(`div`,{class:`talent-stat-label`},`待确认入库`,-1),u(`div`,Ee,h(k.value.library_pending??0),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":P.value===`month_pending`}]),onClick:d[1]||=e=>Rt(`month_pending`)},[d[61]||=u(`div`,{class:`talent-stat-label`},`本月待跟进数量`,-1),u(`div`,De,h(k.value.month_pending),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":P.value===`month_followed`}]),onClick:d[2]||=e=>Rt(`month_followed`)},[d[62]||=u(`div`,{class:`talent-stat-label`},`本月已跟进`,-1),u(`div`,Oe,h(k.value.month_followed),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":P.value===`overdue`}]),onClick:d[3]||=e=>Rt(`overdue`)},[d[63]||=u(`div`,{class:`talent-stat-label`},`已逾期`,-1),u(`div`,ke,h(k.value.overdue),1)],2),u(`button`,{type:`button`,class:s([`talent-stat-card`,{"is-active":P.value===`partner`}]),onClick:d[4]||=e=>Rt(`partner`)},[d[64]||=u(`div`,{class:`talent-stat-label`},`入孵用户数量`,-1),u(`div`,Ae,h(k.value.partners),1)],2)]),r(ce,{shadow:`never`,class:`admin-list-card teachers-list-card`},{default:l(()=>[u(`div`,je,[r(ie,{modelValue:A.value,"onUpdate:modelValue":d[5]||=e=>A.value=e,onChange:d[6]||=e=>zt(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`,Me,[r(v,{modelValue:j.value,"onUpdate:modelValue":d[7]||=e=>j.value=e,class:`filter-search teachers-filter-search`,placeholder:`搜索姓名、高校、学院、研究方向…`,clearable:``,onKeyup:te(Lt,[`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(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:dt.value,"onUpdate:modelValue":d[9]||=e=>dt.value=e,class:`filter-stars`,placeholder:`星级`,clearable:``},{default:l(()=>[(i(!0),e(f,null,p(F.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(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:pt.value,"onUpdate:modelValue":d[11]||=e=>pt.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:N.value,"onUpdate:modelValue":d[12]||=e=>N.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:Lt},{default:l(()=>[...d[68]||=[o(`搜索`,-1)]]),_:1}),r(m,{onClick:It},{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=>Ut(e),[`prevent`])},h(e.name),9,Ne),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`,Pe,``))]),_:1}),r(x,{label:`来源`,width:`108`,align:`center`},{default:l(({row:e})=>[r(S,{type:t(be)(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(_e)(e.star_level_item?.value,e.star_level_item?.label)),9,Fe)]),_:1}),r(x,{label:`状态`,width:`100`},{default:l(({row:e})=>[r(S,{type:t(ye)(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=>nn(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`,Ie,[t.library_status===`pending`?(i(),e(f,{key:0},[r(m,{size:`small`,type:`success`,class:`teachers-table-btn`,onClick:e=>Bt(t)},{default:l(()=>[...d[71]||=[o(` 确认入库 `,-1)]]),_:1},8,[`onClick`]),r(m,{size:`small`,type:`danger`,class:`teachers-table-btn`,onClick:e=>Vt(t)},{default:l(()=>[...d[72]||=[o(` 驳回 `,-1)]]),_:1},8,[`onClick`]),r(m,{size:`small`,class:`btn-action-primary teachers-table-btn`,onClick:e=>rn(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=>en(t)},{default:l(()=>[...d[74]||=[o(` 跟进 `,-1)]]),_:1},8,[`onClick`]),r(m,{size:`small`,class:`btn-action-primary teachers-table-btn`,onClick:e=>rn(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=>an(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=>Ut(t)},{default:l(()=>[...d[77]||=[o(` 编辑 `,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[me,at.value]]),u(`div`,Le,[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:Zt},{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`,Re,[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`]),rt.value?a(``,!0):(i(),g(m,{key:0,type:`primary`,size:`small`,class:`btn-create teachers-primary-btn`,onClick:qt},{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:`研究方向`},{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":``,clearable:``,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(F.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:`状态`},{default:l(()=>[r(b,{modelValue:V.value.status_dict_item_id,"onUpdate:modelValue":d[25]||=e=>V.value.status_dict_item_id=e,clearable:``,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})]),_: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:Jt},{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:$t},{default:l(()=>[...d[86]||=[o(` 保存并重算跟进日 `,-1)]]),_:1},8,[`disabled`])]),default:l(()=>[z.value.length?(i(),e(f,{key:1},[u(`div`,ze,[d[83]||=o(` 已选择 `,-1),u(`span`,Be,h(z.value.length),1),d[84]||=o(` 位老师 `,-1),bt.value?(i(),e(`span`,Ve,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(F.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`,He,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:tn},{default:l(()=>[...d[88]||=[o(`保存`,-1)]]),_:1})]),default:l(()=>[q.value?(i(),e(`div`,Ue,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`,We,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`,Ge,[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`,Ke,h(t(_e)(Y.value.star_level_item?.value,Y.value.star_level_item?.label)),1)])):a(``,!0),u(`div`,qe,[(i(!0),e(f,null,p(Tt.value,n=>(i(),e(`div`,{key:n.id,class:`follow-history-card`},[u(`div`,Je,[u(`div`,null,[u(`span`,Ye,h(n.subject),1),u(`span`,Xe,h(n.followed_at),1)]),n.urgency_item?(i(),g(S,{key:0,type:t(ge)(n.urgency_item.value),size:`small`},{default:l(()=>[o(h(n.urgency_item.label),1)]),_:2},1032,[`type`])):a(``,!0)]),u(`div`,Ze,[u(`div`,Qe,[d[92]||=u(`span`,null,`跟进主题:`,-1),u(`div`,null,h(n.subject),1)]),u(`div`,$e,[d[93]||=u(`span`,null,`跟进方式:`,-1),u(`div`,null,h(n.follow_method_item?.label||``),1)]),u(`div`,et,[d[94]||=u(`span`,null,`跟进记录:`,-1),u(`div`,null,h(n.content||``),1)]),u(`div`,tt,[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`,nt,`跟进人:`+h(n.operator_name||``),1)]))),128)),Tt.value.length?a(``,!0):(i(),g(de,{key:0,description:`暂无跟进记录`}))])]),_:1},8,[`modelValue`]),r(fe,{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:on},{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(pe,{modelValue:ot.value,"onUpdate:modelValue":d[56]||=e=>ot.value=e,"teacher-id":st.value,"preview-teacher":ct.value,"star-options":F.value,"status-options":I.value,"university-options":L.value,"direction-options":R.value,onSaved:Wt,onUniversityCreated:Gt,onDirectionsChanged:Kt},null,8,[`modelValue`,`teacher-id`,`preview-teacher`,`star-options`,`status-options`,`university-options`,`direction-options`])])}}}),[[`__scopeId`,`data-v-f11e1728`]]);export{rt as default};