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

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