import{k as F,n as L,p as b,q as T,x as V,ax as G}from"./index.CUrmXCFV.js";import{createCrudOptions as M}from"./crud.297xLlJl.js";import{g as z,a as H}from"./api.t5DuKJNB.js";import{h as I}from"./columnPermission.p5T0krnI.js";import{_ as J}from"./BatchTagsDialog.vue_vue_type_script_setup_true_lang.Dw-zJa2R.js";import{_ as K}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.2bcS3IqH.js";import{a as q,r as c,_ as Q,q as U,aj as C,J as W,o as r,K as u,b as o,S as a,c as _,M as k,u as i,G as m,R as X,a9 as Y,Q as y,H as Z}from"./vue.D1BjjNmv.js";import{_ as tt}from"./_plugin-vue_export-helper.DlAUqK2U.js";const et={class:"job-application-container"},st={class:"sidebar"},ot={class:"tree-container"},at={key:0,class:"position-list"},nt=["onClick"],it={class:"item-content"},lt={key:0,class:"item-count"},ct={class:"item-content"},rt={class:"item-count"},ut={class:"item-content"},dt={key:0,class:"item-count"},ft={class:"item-content"},pt={key:0,class:"item-count"},_t={class:"content"},mt=q({name:"areas"}),vt=q({...mt,setup(gt){const{crudBinding:E,crudRef:B,crudExpose:l,crudOptions:O,resetCrudOptions:$}=F({createCrudOptions:M,context:{openBatchTagsDialog:e=>{S.value.open(e)},openBatchStatusDialog:e=>{x.value.open(e)},selectedRows:c([])}}),S=c(),x=c(),h=c(!0),v=c([]),R=c(0),d=Q({1:0,2:0}),D=async()=>{try{const t=await(await fetch("https://backend.qicai321.com/api/system/job/list?page=1&limit=100&tenant_id=1")).json();t.code===2e3&&t.data?v.value=t.data.map(s=>({id:s.id,title:s.title||s.name||s.job_name,count:0})):console.error("获取职位列表失败:",t.msg||"未知错误")}catch(e){console.error("获取职位列表异常:",e),v.value=[{id:1,title:"流水线操作工",count:0}]}},w=async()=>{try{const t=await z();t.code===2e3&&t.data?(R.value=t.data.total||0,t.data.status_data&&Array.isArray(t.data.status_data)&&t.data.status_data.forEach(s=>{s.status===1?d[1]=s.count:s.status===2&&(d[2]=s.count)})):console.error("获取申请状态统计失败:",t.message||"未知错误")}catch(e){console.error("获取申请状态统计异常:",e)}},P=()=>{h.value=!h.value},f=c("all"),g=e=>{if(f.value=e.id||"all",e.type==="all"){try{const t=l.getSearchRef();t&&typeof t.resetFields=="function"&&t.resetFields()}catch(t){console.warn("重置表单失败:",t)}l.doSearch({form:{}})}else e.type==="status"?l.doSearch({form:{status:e.value}}):e.type==="position"&&l.doSearch({form:{position_title:e.value}})},j=e=>{!e||!e.records||(v.value.forEach(t=>{t.count=0}),e.records.forEach(t=>{if(t.position_title){const s=v.value.find(p=>p.title===t.position_title);s&&(s.count=(s.count||0)+1)}}))},N=()=>{l.doRefresh(),w()};return U(async()=>{await D(),await w();const e=await I(H,O);if(e&&e.crudOptions&&e.crudOptions.request){const t=e.crudOptions.request.pageRequest;e.crudOptions.request.pageRequest=async s=>{const p=await t(s);return j(p.data),p}}$(e),l.doRefresh()}),(e,t)=>{const s=C("el-icon"),p=C("fs-crud"),A=C("fs-page");return r(),W(A,null,{default:u(()=>[o("div",et,[o("div",st,[o("div",ot,[o("div",{class:"category-title",onClick:P},[a(s,null,{default:u(()=>[a(i(L))]),_:1}),t[4]||(t[4]=o("span",null,"职位",-1)),a(s,{class:m(["expand-icon",{"is-expanded":h.value}])},{default:u(()=>[a(i(b))]),_:1},8,["class"])]),h.value?(r(),_("div",at,[o("div",{class:m(["tree-item",{active:f.value==="position-all"}]),onClick:t[0]||(t[0]=n=>g({type:"all",id:"position-all"}))},t[5]||(t[5]=[o("div",{class:"item-content"},[o("span",null,"全部")],-1)]),2),(r(!0),_(X,null,Y(v.value,n=>(r(),_("div",{key:"position-"+n.id,class:m(["tree-item",{active:f.value==="position-"+n.id}]),onClick:yt=>g({type:"position",value:n.title,id:"position-"+n.id})},[o("div",it,[a(s,null,{default:u(()=>[a(i(b))]),_:1}),o("span",null,y(n.title),1)]),n.count?(r(),_("div",lt,y(n.count),1)):k("",!0)],10,nt))),128))])):k("",!0),o("div",{class:m(["tree-item",{active:f.value==="all"}]),onClick:t[1]||(t[1]=n=>g({type:"all"}))},[o("div",ct,[a(s,null,{default:u(()=>[a(i(T))]),_:1}),t[6]||(t[6]=o("span",null,"全部",-1))]),o("div",rt,y(R.value)+"人",1)],2),o("div",{class:m(["tree-item",{active:f.value==="status-1"}]),onClick:t[2]||(t[2]=n=>g({type:"status",value:1,id:"status-1"}))},[o("div",ut,[a(s,null,{default:u(()=>[a(i(V))]),_:1}),t[7]||(t[7]=o("span",null,"曾就职",-1))]),d[1]?(r(),_("div",dt,y(d[1]),1)):k("",!0)],2),o("div",{class:m(["tree-item",{active:f.value==="status-2"}]),onClick:t[3]||(t[3]=n=>g({type:"status",value:2,id:"status-2"}))},[o("div",ft,[a(s,null,{default:u(()=>[a(i(G))]),_:1}),t[8]||(t[8]=o("span",null,"面试未通过",-1))]),d[2]?(r(),_("div",pt,y(d[2]),1)):k("",!0)],2)])]),o("div",_t,[a(p,Z({ref_key:"crudRef",ref:B},i(E)),null,16)])]),a(J,{ref_key:"batchTagsDialogRef",ref:S,crudExpose:i(l)},null,8,["crudExpose"]),a(K,{ref_key:"batchStatusDialogRef",ref:x,crudExpose:i(l),onSuccess:N},null,8,["crudExpose"])]),_:1})}}}),qt=tt(vt,[["__scopeId","data-v-cd42fe7c"]]);export{qt as default};