index.B3XohfPh.js 7.8 KB

1
  1. import{k as H,p as I,q as C,t as J,x as K,y as Q,z as U,S as W}from"./index.Dm_HGhtW.js";import{createCrudOptions as X}from"./crud.BMevA-fT.js";import{g as Y,a as Z}from"./api.BUVOcJAu.js";import{h as tt}from"./columnPermission.Cjd7t4N-.js";import{_ as et}from"./BatchTagsDialog.vue_vue_type_script_setup_true_lang.DKw3ic6e.js";import{_ as st}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.DXlOWfAX.js";import{a as B,r as y,_ as at,q as ot,aj as $,J as nt,o as l,K as v,b as e,S as n,c as u,M as p,u as c,G as d,R as it,a9 as lt,Q as m,H as ut,P as dt}from"./vue.D1BjjNmv.js";import{_ as ct}from"./_plugin-vue_export-helper.DlAUqK2U.js";const rt={class:"job-application-container"},vt={class:"sidebar"},pt={class:"tree-container"},ft={key:0,class:"position-list"},mt=["onClick"],_t={class:"item-content"},gt={key:0,class:"item-count"},yt={class:"item-content"},kt={class:"item-count"},ht={class:"item-content"},Ct={key:0,class:"item-count"},St={key:1,class:"submenu"},bt={key:0,class:"item-count"},xt={key:0,class:"item-count"},wt={key:0,class:"item-count"},Rt={class:"item-content"},$t={key:0,class:"item-count"},Pt={class:"item-content"},qt={key:0,class:"item-count"},Et={key:2,class:"submenu"},jt={key:0,class:"item-count"},Bt={class:"item-content"},Mt={key:0,class:"item-count"},Ot={class:"content"},Dt={class:"show-resigned-checkbox"},Vt=B({name:"areas"}),Nt=B({...Vt,setup(Ft){const{crudBinding:M,crudRef:O,crudExpose:_,crudOptions:D,resetCrudOptions:V}=H({createCrudOptions:X,context:{openBatchTagsDialog:s=>{P.value.open(s)},openBatchStatusDialog:s=>{q.value.open(s)},selectedRows:y([])}}),P=y(),q=y(),S=y(!1),b=y(!1),E=y(!1),x=y(0),o=at({1:0,"1-1":0,"1-2":0,"1-3":0,3:0,"3-1":0,"3-2":0,2:0,4:0}),w=y(!0),h=y([]),N=async()=>{try{const t=await(await fetch(`https://backend.qicai321.com/api/system/job/list?page=1&limit=100&tenant_id=${W.get("tenant_id")}`)).json();t.code===2e3&&t.data?h.value=t.data.map(a=>({id:a.id,title:a.title||a.name||a.job_name,count:0})):console.error("获取职位列表失败:",t.msg||"未知错误")}catch(s){console.error("获取职位列表异常:",s),h.value=[{id:1,title:"流水线操作工",count:0}]}},j=async()=>{try{const t=await Y();if(console.log(t),t.code===2e3&&t.data)if(t.data.status_data&&Array.isArray(t.data.status_data))x.value=0,t.data.status_data.forEach(a=>{const k={1:1,2:2,3:3,4:4}[a.status];k&&k in o&&(o[k]=a.count,x.value+=a.count)});else{const a=t.data.pending||0,g=t.data.interviewed||0,k=t.data.hired||0,R=t.data.rejected||0;o[1]=a,o[2]=g,o[3]=k,o[4]=R,x.value=a+g+k+R,o[3]=t.data.hired||0,o[4]=t.data.rejected||0}else console.error("获取申请状态统计失败:",t.message||"未知错误")}catch(s){console.error("获取申请状态统计异常:",s)}},F=()=>{w.value=!w.value},r=y("all"),f=s=>{if(r.value=s.id||"all",s.type==="all"){try{const t=_.getSearchRef();t&&typeof t.resetFields=="function"&&t.resetFields()}catch(t){console.warn("重置表单失败:",t)}_.doSearch({form:{status:"1, 2, 3, 4, 5"}})}else s.type==="status"?_.doSearch({form:{status:s.value}}):s.type==="position"&&_.doSearch({form:{title:s.value}})},T=s=>{!s||!s.records||(h.value.forEach(t=>{t.count=0}),s.records.forEach(t=>{if(t.position_title){const a=h.value.find(g=>g.title===t.position_title);a&&(a.count=(a.count||0)+1)}}))},A=()=>{_.doRefresh(),j()},L=s=>{s.stopPropagation(),S.value=!S.value},z=s=>{s.stopPropagation(),b.value=!b.value},G=s=>{s?_.doSearch({form:{status:4}}):_.doSearch({form:{status:"1, 2, 3, 4, 5"}})};return ot(async()=>{await N(),await j();const s=await tt(Z,D);if(s&&s.crudOptions&&s.crudOptions.request){const t=s.crudOptions.request.pageRequest;s.crudOptions.request.pageRequest=async a=>{const g=await t(a);return T(g.data),g}}V(s),_.doSearch({form:{status:"1, 2, 3, 4, 5"}})}),(s,t)=>{const a=$("el-icon"),g=$("fs-crud"),k=$("el-checkbox"),R=$("fs-page");return l(),nt(R,null,{default:v(()=>[e("div",rt,[e("div",vt,[e("div",pt,[e("div",{class:"category-title",onClick:F},[n(a,null,{default:v(()=>[n(c(I))]),_:1}),t[11]||(t[11]=e("span",null,"职位",-1)),n(a,{class:d(["expand-icon",{"is-expanded":w.value}])},{default:v(()=>[n(c(C))]),_:1},8,["class"])]),w.value?(l(),u("div",ft,[e("div",{class:d(["tree-item",{active:r.value==="position-all"}]),onClick:t[0]||(t[0]=i=>f({type:"all",id:"position-all"}))},t[12]||(t[12]=[e("div",{class:"item-content"},[e("span",null,"全部")],-1)]),2),(l(!0),u(it,null,lt(h.value,i=>(l(),u("div",{key:"position-"+i.id,class:d(["tree-item",{active:r.value==="position-"+i.id}]),onClick:Tt=>f({type:"position",value:i.title,id:"position-"+i.id})},[e("div",_t,[n(a,null,{default:v(()=>[n(c(C))]),_:1}),e("span",null,m(i.title),1)]),i.count?(l(),u("div",gt,m(i.count),1)):p("",!0)],10,mt))),128))])):p("",!0),e("div",{class:d(["tree-item",{active:r.value==="all"}]),onClick:t[1]||(t[1]=i=>f({type:"all"}))},[e("div",yt,[n(a,null,{default:v(()=>[n(c(J))]),_:1}),t[13]||(t[13]=e("span",null,"全部",-1))]),e("div",kt,m(x.value)+"人",1)],2),e("div",{class:d(["tree-item",{active:r.value==="status-1"}]),onClick:t[2]||(t[2]=i=>f({type:"status",value:1,id:"status-1"}))},[e("div",ht,[n(a,null,{default:v(()=>[n(c(K))]),_:1}),t[14]||(t[14]=e("span",null,"试用期",-1)),n(a,{class:d(["expand-icon",{"is-expanded":S.value}]),onClick:L},{default:v(()=>[n(c(C))]),_:1},8,["class"])]),o[1]?(l(),u("div",Ct,m(o[1]),1)):p("",!0)],2),S.value?(l(),u("div",St,[e("div",{class:d(["tree-item",{active:r.value==="status-1-1"}]),onClick:t[3]||(t[3]=i=>f({type:"status",value:"1-1",id:"status-1-1"}))},[t[15]||(t[15]=e("div",{class:"item-content"},[e("span",null,"通过考核")],-1)),o["1-1"]?(l(),u("div",bt,m(o["1-1"]),1)):p("",!0)],2),e("div",{class:d(["tree-item",{active:r.value==="status-1-2"}]),onClick:t[4]||(t[4]=i=>f({type:"status",value:"1-2",id:"status-1-2"}))},[t[16]||(t[16]=e("div",{class:"item-content"},[e("span",null,"未通过考核")],-1)),o["1-2"]?(l(),u("div",xt,m(o["1-2"]),1)):p("",!0)],2),e("div",{class:d(["tree-item",{active:r.value==="status-1-3"}]),onClick:t[5]||(t[5]=i=>f({type:"status",value:"1-3",id:"status-1-3"}))},[t[17]||(t[17]=e("div",{class:"item-content"},[e("span",null,"尚未考核")],-1)),o["1-3"]?(l(),u("div",wt,m(o["1-3"]),1)):p("",!0)],2)])):p("",!0),e("div",{class:d(["tree-item",{active:r.value==="status-2"}]),onClick:t[6]||(t[6]=i=>f({type:"status",value:2,id:"status-2"}))},[e("div",Rt,[n(a,null,{default:v(()=>[n(c(C))]),_:1}),t[18]||(t[18]=e("span",null,"考察期",-1))]),o[2]?(l(),u("div",$t,m(o[2]),1)):p("",!0)],2),e("div",{class:d(["tree-item",{active:r.value==="status-3"}]),onClick:t[7]||(t[7]=i=>f({type:"status",value:3,id:"status-3"}))},[e("div",Pt,[n(a,null,{default:v(()=>[n(c(Q))]),_:1}),t[19]||(t[19]=e("span",null,"正式员工",-1)),n(a,{class:d(["expand-icon",{"is-expanded":b.value}]),onClick:z},{default:v(()=>[n(c(C))]),_:1},8,["class"])]),o[3]?(l(),u("div",qt,m(o[3]),1)):p("",!0)],2),b.value?(l(),u("div",Et,[e("div",{class:d(["tree-item",{active:r.value==="status-3-1"}]),onClick:t[8]||(t[8]=i=>f({type:"status",value:"5",id:"status-3-1"}))},[t[20]||(t[20]=e("div",{class:"item-content"},[e("span",null,"已盘点")],-1)),o["3-1"]?(l(),u("div",jt,m(o["3-1"]),1)):p("",!0)],2)])):p("",!0),e("div",{class:d(["tree-item",{active:r.value==="status-4"}]),onClick:t[9]||(t[9]=i=>f({type:"status",value:4,id:"status-4"}))},[e("div",Bt,[n(a,null,{default:v(()=>[n(c(U))]),_:1}),t[21]||(t[21]=e("span",null,"已离职",-1))]),o[4]?(l(),u("div",Mt,m(o[4]),1)):p("",!0)],2)])]),e("div",Ot,[n(g,ut({ref_key:"crudRef",ref:O},c(M)),null,16),e("div",Dt,[n(k,{modelValue:E.value,"onUpdate:modelValue":t[10]||(t[10]=i=>E.value=i),onChange:G},{default:v(()=>t[22]||(t[22]=[dt(" 显示已离职员工 ")])),_:1},8,["modelValue"])])])]),n(et,{ref_key:"batchTagsDialogRef",ref:P,crudExpose:c(_)},null,8,["crudExpose"]),n(st,{ref_key:"batchStatusDialogRef",ref:q,crudExpose:c(_),onSuccess:A},null,8,["crudExpose"])]),_:1})}}}),Qt=ct(Nt,[["__scopeId","data-v-8c7edadb"]]);export{Qt as default};