import{k as Ie,j as te,S as P,E as d,p as Je,q as I,t as Ge,w as ae,x as We,y as He,z as Ke,A as Qe,B as Xe,C as Ye,D as Ze,F as et}from"./index.DBkxKrhi.js";import{a as se,aB as tt,r as _,_ as O,f as at,q as ot,aj as m,J as st,o as w,K as o,b as n,S as a,c as C,M as z,u,G as V,R as lt,a9 as nt,Q as g,H as it,P as r}from"./vue.D1BjjNmv.js";import{createCrudOptions as rt}from"./crud.wU1P-0vN.js";import{g as dt,b as oe,u as ut,G as ct}from"./api.6u9vrpGp.js";import{h as pt}from"./columnPermission.BkxJrOnh.js";import mt from"./index.C3wNNj8T.js";import{_ as ft}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.RWuGC9Du.js";import vt from"./smSnotification.DF0LUb9J.js";import{_ as _t}from"./_plugin-vue_export-helper.DlAUqK2U.js";import"./authFunction.BI3j0C0H.js";import"./qcLogo.ClkaWBBV.js";const gt={class:"job-application-container"},yt={class:"tabs-container"},ht={class:"tab-content"},bt={class:"sidebar"},kt={class:"tree-container"},wt={key:0,class:"position-list"},Ct=["onClick"],xt={class:"item-content"},St={key:0,class:"item-count"},Vt={class:"item-content"},Rt={class:"item-count"},zt={class:"item-content"},$t={key:0,class:"item-count"},Dt={class:"item-content"},Bt={key:0,class:"item-count"},Et={class:"item-content"},Nt={key:0,class:"item-count"},Tt={class:"item-content"},qt={key:0,class:"item-count"},Ut={class:"item-content"},jt={key:0,class:"item-count"},Pt={class:"content"},Lt={class:"tab-content"},Mt={class:"notification-container"},Ot={class:"search-form"},At={class:"action-bar"},Ft={class:"left-actions"},It={class:"action-button-wrapper"},Jt={class:"table-container"},Gt={class:"pagination-container"},Wt={key:0,class:"detail-content"},Ht={class:"dialog-footer"},Kt={class:"dialog-footer"},Qt=se({name:"areas"}),Xt=se({...Qt,setup(Yt){const le=tt(),J=_("application"),L=_([]),q=_(!1),b=_([]),y=O({name:"",phone:"",position:"",dateRange:[]}),f=O({current:1,size:20,total:0}),ne="https://backend.qicai321.com/api/system/sms_notifications/import_data/",{crudBinding:ie,crudRef:re,crudExpose:k,crudOptions:de,resetCrudOptions:ue}=Ie({createCrudOptions:rt,context:{openBatchTagsDialog:t=>{G.value.open(t)},openBatchStatusDialog:t=>{W.value.open(t)},openSmsNotification:t=>{A.value.open(t)},selectedRows:[]}}),G=_(),W=_(),A=_(),H=_(0),p=O({1:0,2:0,3:0,4:0,5:0}),M=_(!0);at(()=>t=>({marginLeft:t.name==="已通过"||t.name==="已淘汰"?"32px":"0"}));const U=_([]),ce=async()=>{try{const e=await(await fetch(`https://backend.qicai321.com/api/system/job/list?page=1&limit=100&tenant_id=${P.get("tenant_id")}`)).json();e.code===2e3&&e.data?U.value=e.data.map(s=>({id:s.id,title:s.title||s.name||s.job_name,count:0})):console.error("获取职位列表失败:",e.msg||"未知错误")}catch(t){console.error("获取职位列表异常:",t),U.value=[{id:1,title:"流水线操作工",count:0}]}},K=async()=>{try{const e=await dt();console.log(e),e.code===2e3&&e.data?(H.value=e.data.total||0,e.data.status_data&&Array.isArray(e.data.status_data)?e.data.status_data.forEach(s=>{const S={0:1,2:2,3:3,4:4,5:5}[s.status];S&&S in p&&(p[S]=s.count)}):(p[1]=e.data.pending||0,p[2]=e.data.interviewed||0,p[3]=e.data.hired||0,p[4]=e.data.rejected||0,p[5]=e.data.notified||0)):console.error("获取申请状态统计失败:",e.message||"未知错误")}catch(t){console.error("获取申请状态统计异常:",t)}},pe=()=>{M.value=!M.value},v=_("all"),R=t=>{if(v.value=t.id||"all",t.type==="all"){try{const e=k.getSearchRef();e&&typeof e.resetFields=="function"&&e.resetFields()}catch(e){console.warn("重置表单失败:",e)}k.doSearch({form:{}})}else t.type==="status"?k.doSearch({form:{status:t.value}}):t.type==="position"&&k.doSearch({form:{position_title:t.value}})},me=t=>{!t||!t.records||(U.value.forEach(e=>{e.count=0}),t.records.forEach(e=>{if(e.position_title){const s=U.value.find(E=>E.title===e.position_title);s&&(s.count=(s.count||0)+1)}}))},fe=()=>{k.doRefresh(),K()},ve=t=>{console.log(t),t.code===2e3?(d.success("导入成功"),k.doRefresh(),x()):d.error(t.message||"导入失败")},_e=t=>{console.error("导入失败:",t),d.error("导入失败,请检查文件格式或网络连接")},ge=t=>{console.log("切换到标签页:",t.name),t.name==="application"?console.log("显示职位申请功能"):t.name==="resume"&&(console.log("显示待通知列表功能"),ye())},ye=async()=>{q.value=!0;try{const t={page:f.current,limit:f.size,status:0};y.name&&(t.name=y.name),y.phone&&(t.phone=y.phone),y.position&&(t.position=y.position);const s=await(await fetch(`https://backend.qicai321.com/api/job/application/list?${new URLSearchParams(t)}`,{headers:{Authorization:`Bearer ${P.get("token")}`,"Content-Type":"application/json"}})).json();s.code===2e3&&s.data?(L.value=s.data.records||[],f.total=s.data.total||0):(d.error(s.message||"获取待通知列表失败"),Q())}catch(t){console.error("获取待通知列表失败:",t),d.error("获取待通知列表失败"),Q()}finally{q.value=!1}},Q=()=>{L.value=[],f.total=3},he=()=>{f.current=1,x()},be=()=>{Object.assign(y,{name:"",phone:"",position:"",dateRange:[]}),f.current=1,x()},ke=t=>{b.value=t},we=t=>{f.size=t,f.current=1,x()},Ce=t=>{f.current=t,x()},xe=async t=>{try{c.value=t,i.id=t.id,i.name=t.name||"",i.phone=t.phone||"",i.id_card=t.id_card||"",i.description=t.description||"",$.value=!0}catch(e){console.error("打开编辑弹窗失败:",e),d.error("操作失败,请重试")}},Se=async t=>{try{const e=[t.id],s=await oe({ids:e});s.code===2e3?(d.success("删除成功"),await x()):d.error(s.message||"删除失败")}catch(e){console.error("删除失败:",e),d.error("删除失败,请重试")}},Ve=async t=>{try{ze(t)}catch(e){console.error("获取详情失败:",e),d.error("获取详情失败,请重试")}},j=_(!1),c=_(null),$=_(!1),X=_(),i=O({id:void 0,name:"",phone:"",id_card:"",description:""}),Re={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}],id_card:[{required:!0,message:"请输入身份证号",trigger:"blur"}],description:[{required:!0,message:"请输入备注",trigger:"blur"}]},ze=t=>{c.value=t,j.value=!0},$e=()=>{j.value=!1,c.value=null},De=()=>{c.value&&(i.id=c.value.id,i.name=c.value.name||"",i.phone=c.value.phone||"",i.id_card=c.value.id_card||"",i.description=c.value.description||"",$.value=!0)},Be=()=>{$.value=!1},Ee=()=>{X.value.validate(async t=>{if(t)try{if(!i.id){d.error("缺少记录ID");return}const e=await ut(i.id,{name:i.name,phone:i.phone,id_card:i.id_card,description:i.description});e.code===2e3?(d.success("更新成功"),$.value=!1,await x()):d.error(e.message||"更新失败")}catch(e){console.error(e),d.error("更新失败,请重试")}})},Ne=t=>({0:"待通知",1:"已通知待面试",2:"已面试待处理",3:"已录用",4:"拒不录用"})[t]||"未知状态",Te=t=>({0:"warning",1:"info",2:"primary",3:"success",4:"danger"})[t]||"info",qe=()=>{if(b.value.length===0){d.warning("请选择要通知的申请");return}console.log(b.value),A.value.open(b.value)},Ue=async()=>{if(!b.value||b.value.length===0){d.warning("请选择要删除的记录");return}try{await et.confirm(`确定要删除选中的 ${b.value.length} 条记录吗?`,"确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const t=b.value.map(s=>s.id),e=await oe({ids:t});if(console.log(e),e.code==2e3)d.success("批量删除成功"),await x(),b.value=[];else{const s=await e.json();d.error(s.message||"删除失败")}}catch(t){t!=="cancel"&&(console.error("批量删除失败:",t),d.error("删除失败,请重试"))}},je=async()=>{try{const t=await te.get("https://backend.qicai321.com/api/system/sms_notifications/download_template/",{headers:{Authorization:`JWT ${P.get("token")}`},responseType:"blob"}),e=window.URL.createObjectURL(new Blob([t.data])),s=document.createElement("a");s.href=e,s.setAttribute("download","template.xlsx"),document.body.appendChild(s),s.click(),s.remove()}catch(t){console.error("下载模板失败:",t)}};ot(async()=>{await ce(),await K();const t=await pt(ct,de);if(t&&t.crudOptions&&t.crudOptions.request){const s=t.crudOptions.request.pageRequest;t.crudOptions.request.pageRequest=async E=>{const S=await s(E);return me(S.data),S}}ue(t);const e=le.query.status;if(console.log(e),e){const s=Number(e);switch(s){case 0:v.value="status-0";break;case 1:v.value="status-1";break;case 2:v.value="status-2";break;case 3:v.value="status-3";break;case 4:v.value="status-4";break;default:v.value="all"}k.doSearch({form:{status:s}})}else k.doRefresh();x()});const x=async()=>{q.value=!0;try{const t=await te.get("https://backend.qicai321.com/api/system/sms_notifications/",{params:{page:f.current,limit:f.size,name:y.name,phone:y.phone},headers:{Authorization:`JWT ${P.get("token")}`}});console.log(t.data),t.data.code===2e3?L.value=t.data.data:d.error(t.data.message||"获取通知列表失败")}catch(t){console.error("获取通知列表失败:",t)}finally{q.value=!1}};return(t,e)=>{const s=m("el-icon"),E=m("fs-crud"),S=m("el-tab-pane"),N=m("el-input"),D=m("el-form-item"),h=m("el-button"),Y=m("el-form"),Pe=m("el-upload"),T=m("el-table-column"),Z=m("el-tag"),Le=m("el-table"),Me=m("el-pagination"),Oe=m("el-tabs"),B=m("el-descriptions-item"),Ae=m("el-descriptions"),ee=m("el-dialog"),Fe=m("fs-page");return w(),st(Fe,null,{default:o(()=>[n("div",gt,[n("div",yt,[a(Oe,{modelValue:J.value,"onUpdate:modelValue":e[11]||(e[11]=l=>J.value=l),type:"card",onTabClick:ge},{default:o(()=>[a(S,{label:"职位申请",name:"application"},{default:o(()=>[n("div",ht,[n("div",bt,[n("div",kt,[n("div",{class:"category-title",onClick:pe},[a(s,null,{default:o(()=>[a(u(Je))]),_:1}),e[20]||(e[20]=n("span",null,"职位",-1)),a(s,{class:V(["expand-icon",{"is-expanded":M.value}])},{default:o(()=>[a(u(I))]),_:1},8,["class"])]),M.value?(w(),C("div",wt,[n("div",{class:V(["tree-item",{active:v.value==="position-all"}]),onClick:e[0]||(e[0]=l=>R({type:"all",id:"position-all"}))},e[21]||(e[21]=[n("div",{class:"item-content"},[n("span",null,"全部")],-1)]),2),(w(!0),C(lt,null,nt(U.value,l=>(w(),C("div",{key:"position-"+l.id,class:V(["tree-item",{active:v.value==="position-"+l.id}]),onClick:F=>R({type:"position",value:l.title,id:"position-"+l.id})},[n("div",xt,[a(s,null,{default:o(()=>[a(u(I))]),_:1}),n("span",null,g(l.title),1)]),l.count?(w(),C("div",St,g(l.count),1)):z("",!0)],10,Ct))),128))])):z("",!0),n("div",{class:V(["tree-item",{active:v.value==="all"}]),onClick:e[1]||(e[1]=l=>R({type:"all"}))},[n("div",Vt,[a(s,null,{default:o(()=>[a(u(Ge))]),_:1}),e[22]||(e[22]=n("span",null,"全部",-1))]),n("div",Rt,g(H.value)+"人",1)],2),n("div",{class:V(["tree-item",{active:v.value==="status-0"}]),onClick:e[2]||(e[2]=l=>R({type:"status",value:0,id:"status-0"}))},[n("div",zt,[a(s,null,{default:o(()=>[a(u(ae))]),_:1}),e[23]||(e[23]=n("span",null,"待通知",-1))]),p[1]?(w(),C("div",$t,g(p[1]),1)):z("",!0)],2),n("div",{class:V(["tree-item",{active:v.value==="status-1"}]),onClick:e[3]||(e[3]=l=>R({type:"status",value:1,id:"status-1"}))},[n("div",Dt,[a(s,null,{default:o(()=>[a(u(We))]),_:1}),e[24]||(e[24]=n("span",null,"已通知待面试",-1))]),p[1]?(w(),C("div",Bt,g(p[5]),1)):z("",!0)],2),n("div",{class:V(["tree-item",{active:v.value==="status-2"}]),onClick:e[4]||(e[4]=l=>R({type:"status",value:2,id:"status-2"}))},[n("div",Et,[a(s,null,{default:o(()=>[a(u(I))]),_:1}),e[25]||(e[25]=n("span",null,"已面试待处理",-1))]),p[2]?(w(),C("div",Nt,g(p[2]),1)):z("",!0)],2),n("div",{class:V(["tree-item",{active:v.value==="status-3"}]),onClick:e[5]||(e[5]=l=>R({type:"status",value:3,id:"status-3"}))},[n("div",Tt,[a(s,null,{default:o(()=>[a(u(He))]),_:1}),e[26]||(e[26]=n("span",null,"已录用",-1))]),p[3]?(w(),C("div",qt,g(p[3]),1)):z("",!0)],2),n("div",{class:V(["tree-item",{active:v.value==="status-4"}]),onClick:e[6]||(e[6]=l=>R({type:"status",value:4,id:"status-4"}))},[n("div",Ut,[a(s,null,{default:o(()=>[a(u(Ke))]),_:1}),e[27]||(e[27]=n("span",null,"拒不录用",-1))]),p[4]?(w(),C("div",jt,g(p[4]),1)):z("",!0)],2)])]),n("div",Pt,[a(E,it({ref_key:"crudRef",ref:re},u(ie)),null,16)])])]),_:1}),a(S,{label:"待通知列表",name:"resume"},{default:o(()=>[n("div",Lt,[n("div",Mt,[n("div",Ot,[a(Y,{model:y,inline:!0,size:"default"},{default:o(()=>[a(D,{label:"姓名"},{default:o(()=>[a(N,{modelValue:y.name,"onUpdate:modelValue":e[7]||(e[7]=l=>y.name=l),placeholder:"请输入姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(D,{label:"手机号"},{default:o(()=>[a(N,{modelValue:y.phone,"onUpdate:modelValue":e[8]||(e[8]=l=>y.phone=l),placeholder:"请输入手机号",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(D,null,{default:o(()=>[a(h,{type:"primary",onClick:he},{default:o(()=>[a(s,null,{default:o(()=>[a(u(Qe))]),_:1}),e[28]||(e[28]=r(" 搜索 "))]),_:1}),a(h,{onClick:be},{default:o(()=>[a(s,null,{default:o(()=>[a(u(Xe))]),_:1}),e[29]||(e[29]=r(" 重置 "))]),_:1})]),_:1})]),_:1},8,["model"])]),n("div",At,[n("div",Ft,[a(h,{type:"primary",onClick:qe,size:"small",disabled:!b.value.length},{default:o(()=>[a(s,null,{default:o(()=>[a(u(ae))]),_:1}),e[30]||(e[30]=r(" 批量通知 "))]),_:1},8,["disabled"]),a(h,{type:"danger",onClick:Ue,size:"small",disabled:!b.value.length},{default:o(()=>[a(s,null,{default:o(()=>[a(u(Ye))]),_:1}),e[31]||(e[31]=r(" 批量删除 "))]),_:1},8,["disabled"]),n("div",It,[a(Pe,{class:"upload-demo",action:ne,headers:{Authorization:`JWT ${u(P).get("token")}`},"on-success":ve,"on-error":_e,accept:".xlsx,.xls","show-file-list":!1},{default:o(()=>[a(h,{type:"primary",size:"small"},{default:o(()=>[a(s,null,{default:o(()=>[a(u(Ze))]),_:1}),e[32]||(e[32]=r(" 导入 "))]),_:1})]),_:1},8,["headers"])]),a(h,{type:"primary",onClick:je,size:"small"},{default:o(()=>e[33]||(e[33]=[r(" 下载导入模板 ")])),_:1})])]),n("div",Jt,[a(Le,{data:L.value,onSelectionChange:ke,loading:q.value,style:{width:"100%"},height:"calc(100vh - 400px)"},{default:o(()=>[a(T,{type:"selection",width:"55"}),a(T,{prop:"name",label:"姓名"}),a(T,{prop:"phone",label:"手机号"}),a(T,{prop:"status",label:"状态"},{default:o(l=>[a(Z,{type:"warning"},{default:o(()=>e[34]||(e[34]=[r("待通知")])),_:1})]),_:1}),a(T,{prop:"remark",label:"备注","min-width":"150","show-overflow-tooltip":""}),a(T,{label:"操作",fixed:"right"},{default:o(l=>[a(h,{type:"text",size:"small",onClick:F=>Ve(l.row)},{default:o(()=>e[35]||(e[35]=[r(" 查看详情 ")])),_:2},1032,["onClick"]),a(h,{type:"text",size:"small",onClick:F=>xe(l.row)},{default:o(()=>e[36]||(e[36]=[r(" 编辑 ")])),_:2},1032,["onClick"]),a(h,{type:"text",size:"small",onClick:F=>Se(l.row)},{default:o(()=>e[37]||(e[37]=[r(" 删除 ")])),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data","loading"])]),n("div",Gt,[a(Me,{"current-page":f.current,"onUpdate:currentPage":e[9]||(e[9]=l=>f.current=l),"page-size":f.size,"onUpdate:pageSize":e[10]||(e[10]=l=>f.size=l),"page-sizes":[10,20,50,100],total:f.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:we,onCurrentChange:Ce},null,8,["current-page","page-size","total"])])])])]),_:1})]),_:1},8,["modelValue"])])]),a(mt,{ref_key:"batchTagsDialogRef",ref:G,crudExpose:u(k)},null,8,["crudExpose"]),a(ft,{ref_key:"batchStatusDialogRef",ref:W,crudExpose:u(k),onSuccess:fe},null,8,["crudExpose"]),a(vt,{ref_key:"smSnotificationRef",ref:A,crudExpose:u(k)},null,8,["crudExpose"]),a(ee,{modelValue:j.value,"onUpdate:modelValue":e[13]||(e[13]=l=>j.value=l),title:"职位申请详情",width:"60%","before-close":$e},{footer:o(()=>[n("span",Ht,[a(h,{onClick:e[12]||(e[12]=l=>j.value=!1)},{default:o(()=>e[38]||(e[38]=[r("关闭")])),_:1}),a(h,{type:"primary",onClick:De},{default:o(()=>e[39]||(e[39]=[r("编辑")])),_:1})])]),default:o(()=>[c.value?(w(),C("div",Wt,[a(Ae,{column:2,border:""},{default:o(()=>[a(B,{label:"申请人姓名"},{default:o(()=>[r(g(c.value.name),1)]),_:1}),a(B,{label:"联系电话"},{default:o(()=>[r(g(c.value.phone),1)]),_:1}),a(B,{label:"申请职位"},{default:o(()=>[r(g(c.value.position_title),1)]),_:1}),a(B,{label:"申请时间"},{default:o(()=>[r(g(c.value.apply_time),1)]),_:1}),a(B,{label:"当前状态"},{default:o(()=>[a(Z,{type:Te(c.value.status)},{default:o(()=>[r(g(Ne(c.value.status)),1)]),_:1},8,["type"])]),_:1}),a(B,{label:"来源渠道"},{default:o(()=>[r(g(c.value.source),1)]),_:1}),a(B,{label:"备注信息",span:2},{default:o(()=>[r(g(c.value.remark||"无"),1)]),_:1})]),_:1})])):z("",!0)]),_:1},8,["modelValue"]),a(ee,{modelValue:$.value,"onUpdate:modelValue":e[19]||(e[19]=l=>$.value=l),title:"编辑通知信息",width:"520px","before-close":Be},{footer:o(()=>[n("span",Kt,[a(h,{onClick:e[18]||(e[18]=l=>$.value=!1)},{default:o(()=>e[40]||(e[40]=[r("取消")])),_:1}),a(h,{type:"primary",onClick:Ee},{default:o(()=>e[41]||(e[41]=[r("提交")])),_:1})])]),default:o(()=>[a(Y,{model:i,rules:Re,ref_key:"editFormRef",ref:X,"label-width":"90px"},{default:o(()=>[a(D,{label:"姓名",prop:"name"},{default:o(()=>[a(N,{modelValue:i.name,"onUpdate:modelValue":e[14]||(e[14]=l=>i.name=l),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1}),a(D,{label:"手机号",prop:"phone"},{default:o(()=>[a(N,{modelValue:i.phone,"onUpdate:modelValue":e[15]||(e[15]=l=>i.phone=l),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),a(D,{label:"身份证",prop:"id_card"},{default:o(()=>[a(N,{modelValue:i.id_card,"onUpdate:modelValue":e[16]||(e[16]=l=>i.id_card=l),placeholder:"请输入身份证号"},null,8,["modelValue"])]),_:1}),a(D,{label:"备注",prop:"description"},{default:o(()=>[a(N,{type:"textarea",modelValue:i.description,"onUpdate:modelValue":e[17]||(e[17]=l=>i.description=l),placeholder:"请输入备注",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])]),_:1})}}}),ua=_t(Xt,[["__scopeId","data-v-6f8a9fc6"]]);export{ua as default};