index.DE-YDmmq.js 6.6 KB

1
  1. import{k as V,p as A,q as C,t as F,w as G,x as z,y as H,z as I,S as J}from"./index.Bk_eBqy8.js";import{a as q,aB as K,r as y,_ as Q,f as U,q as W,aj as R,J as X,o as c,K as d,b as s,S as o,c as f,M as g,u,G as p,R as Y,a9 as Z,Q as _,H as tt}from"./vue.D1BjjNmv.js";import{createCrudOptions as et}from"./crud.D1u2TLAO.js";import{g as st,G as at}from"./api.BvBzjj31.js";import{h as ot}from"./columnPermission.Cj1kIODC.js";import nt from"./index.DBVdUrwa.js";import{_ as it}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.cBLWQZ4Z.js";import lt from"./smSnotification.BRXOAJTB.js";import{_ as ut}from"./_plugin-vue_export-helper.DlAUqK2U.js";import"./authFunction.CpG2V_tC.js";import"./qcLogo.ClkaWBBV.js";const rt={class:"job-application-container"},ct={class:"sidebar"},dt={class:"tree-container"},ft={key:0,class:"position-list"},pt=["onClick"],vt={class:"item-content"},mt={key:0,class:"item-count"},_t={class:"item-content"},yt={class:"item-count"},gt={class:"item-content"},kt={key:0,class:"item-count"},ht={class:"item-content"},St={key:0,class:"item-count"},Ct={class:"item-content"},Rt={key:0,class:"item-count"},bt={class:"item-content"},xt={key:0,class:"item-count"},wt={class:"item-content"},Et={key:0,class:"item-count"},$t={class:"content"},qt=q({name:"areas"}),Bt=q({...qt,setup(Dt){const B=K(),{crudBinding:D,crudRef:O,crudExpose:r,crudOptions:N,resetCrudOptions:P}=V({createCrudOptions:et,context:{openBatchTagsDialog:e=>{b.value.open(e)},openBatchStatusDialog:e=>{x.value.open(e)},openSmsNotification:e=>{w.value.open(e)},selectedRows:[]}}),b=y(),x=y(),w=y(),E=y(0),n=Q({1:0,2:0,3:0,4:0,5:0}),S=y(!0);U(()=>e=>({marginLeft:e.name==="已通过"||e.name==="已淘汰"?"32px":"0"}));const h=y([]),j=async()=>{try{const t=await(await fetch(`https://backend.qicai321.com/api/system/job/list?page=1&limit=100&tenant_id=${J.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(e){console.error("获取职位列表异常:",e),h.value=[{id:1,title:"流水线操作工",count:0}]}},$=async()=>{try{const t=await st();console.log(t),t.code===2e3&&t.data?(E.value=t.data.total||0,t.data.status_data&&Array.isArray(t.data.status_data)?t.data.status_data.forEach(a=>{const m={0:1,2:2,3:3,4:4,5:5}[a.status];m&&m in n&&(n[m]=a.count)}):(n[1]=t.data.pending||0,n[2]=t.data.interviewed||0,n[3]=t.data.hired||0,n[4]=t.data.rejected||0,n[5]=t.data.notified||0)):console.error("获取申请状态统计失败:",t.message||"未知错误")}catch(e){console.error("获取申请状态统计异常:",e)}},L=()=>{S.value=!S.value},i=y("all"),v=e=>{if(i.value=e.id||"all",e.type==="all"){try{const t=r.getSearchRef();t&&typeof t.resetFields=="function"&&t.resetFields()}catch(t){console.warn("重置表单失败:",t)}r.doSearch({form:{}})}else e.type==="status"?r.doSearch({form:{status:e.value}}):e.type==="position"&&r.doSearch({form:{position_title:e.value}})},M=e=>{!e||!e.records||(h.value.forEach(t=>{t.count=0}),e.records.forEach(t=>{if(t.position_title){const a=h.value.find(k=>k.title===t.position_title);a&&(a.count=(a.count||0)+1)}}))},T=()=>{r.doRefresh(),$()};return W(async()=>{await j(),await $();const e=await ot(at,N);if(e&&e.crudOptions&&e.crudOptions.request){const a=e.crudOptions.request.pageRequest;e.crudOptions.request.pageRequest=async k=>{const m=await a(k);return M(m.data),m}}P(e);const t=B.query.status;if(console.log(t),t){const a=Number(t);switch(a){case 0:i.value="status-0";break;case 1:i.value="status-1";break;case 2:i.value="status-2";break;case 3:i.value="status-3";break;case 4:i.value="status-4";break;default:i.value="all"}r.doSearch({form:{status:a}})}else r.doRefresh()}),(e,t)=>{const a=R("el-icon"),k=R("fs-crud"),m=R("fs-page");return c(),X(m,null,{default:d(()=>[s("div",rt,[s("div",ct,[s("div",dt,[s("div",{class:"category-title",onClick:L},[o(a,null,{default:d(()=>[o(u(A))]),_:1}),t[7]||(t[7]=s("span",null,"职位",-1)),o(a,{class:p(["expand-icon",{"is-expanded":S.value}])},{default:d(()=>[o(u(C))]),_:1},8,["class"])]),S.value?(c(),f("div",ft,[s("div",{class:p(["tree-item",{active:i.value==="position-all"}]),onClick:t[0]||(t[0]=l=>v({type:"all",id:"position-all"}))},t[8]||(t[8]=[s("div",{class:"item-content"},[s("span",null,"全部")],-1)]),2),(c(!0),f(Y,null,Z(h.value,l=>(c(),f("div",{key:"position-"+l.id,class:p(["tree-item",{active:i.value==="position-"+l.id}]),onClick:Ot=>v({type:"position",value:l.title,id:"position-"+l.id})},[s("div",vt,[o(a,null,{default:d(()=>[o(u(C))]),_:1}),s("span",null,_(l.title),1)]),l.count?(c(),f("div",mt,_(l.count),1)):g("",!0)],10,pt))),128))])):g("",!0),s("div",{class:p(["tree-item",{active:i.value==="all"}]),onClick:t[1]||(t[1]=l=>v({type:"all"}))},[s("div",_t,[o(a,null,{default:d(()=>[o(u(F))]),_:1}),t[9]||(t[9]=s("span",null,"全部",-1))]),s("div",yt,_(E.value)+"人",1)],2),s("div",{class:p(["tree-item",{active:i.value==="status-0"}]),onClick:t[2]||(t[2]=l=>v({type:"status",value:0,id:"status-0"}))},[s("div",gt,[o(a,null,{default:d(()=>[o(u(G))]),_:1}),t[10]||(t[10]=s("span",null,"待通知",-1))]),n[1]?(c(),f("div",kt,_(n[1]),1)):g("",!0)],2),s("div",{class:p(["tree-item",{active:i.value==="status-1"}]),onClick:t[3]||(t[3]=l=>v({type:"status",value:1,id:"status-1"}))},[s("div",ht,[o(a,null,{default:d(()=>[o(u(z))]),_:1}),t[11]||(t[11]=s("span",null,"已通知待面试",-1))]),n[1]?(c(),f("div",St,_(n[5]),1)):g("",!0)],2),s("div",{class:p(["tree-item",{active:i.value==="status-2"}]),onClick:t[4]||(t[4]=l=>v({type:"status",value:2,id:"status-2"}))},[s("div",Ct,[o(a,null,{default:d(()=>[o(u(C))]),_:1}),t[12]||(t[12]=s("span",null,"已面试待处理",-1))]),n[2]?(c(),f("div",Rt,_(n[2]),1)):g("",!0)],2),s("div",{class:p(["tree-item",{active:i.value==="status-3"}]),onClick:t[5]||(t[5]=l=>v({type:"status",value:3,id:"status-3"}))},[s("div",bt,[o(a,null,{default:d(()=>[o(u(H))]),_:1}),t[13]||(t[13]=s("span",null,"已录用",-1))]),n[3]?(c(),f("div",xt,_(n[3]),1)):g("",!0)],2),s("div",{class:p(["tree-item",{active:i.value==="status-4"}]),onClick:t[6]||(t[6]=l=>v({type:"status",value:4,id:"status-4"}))},[s("div",wt,[o(a,null,{default:d(()=>[o(u(I))]),_:1}),t[14]||(t[14]=s("span",null,"拒不录用",-1))]),n[4]?(c(),f("div",Et,_(n[4]),1)):g("",!0)],2)])]),s("div",$t,[o(k,tt({ref_key:"crudRef",ref:O},u(D)),null,16)])]),o(nt,{ref_key:"batchTagsDialogRef",ref:b,crudExpose:u(r)},null,8,["crudExpose"]),o(it,{ref_key:"batchStatusDialogRef",ref:x,crudExpose:u(r),onSuccess:T},null,8,["crudExpose"]),o(lt,{ref_key:"smSnotificationRef",ref:w,crudExpose:u(r)},null,8,["crudExpose"])]),_:1})}}}),Ht=ut(Bt,[["__scopeId","data-v-6c5a9183"]]);export{Ht as default};