1 |
- import{k as A,n as F,p as S,q as G,t as L,w as V,x as z}from"./index.7XOUGRtJ.js";import{createCrudOptions as H}from"./crud.q9qSCWik.js";import{g as I,G as J}from"./api.C3pIkXEI.js";import{h as K}from"./columnPermission.ClXL1Mp3.js";import Q from"./index.D2TovhMp.js";import{_ as U}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.B_jSfYsq.js";import W from"./smSnotification.DO9D7xrt.js";import{a as B,r as _,_ as X,q as Y,aj as R,J as Z,o as r,K as u,b as s,S as a,c as p,M as g,u as l,G as f,R as tt,a9 as et,Q as y,H as st}from"./vue.D1BjjNmv.js";import{_ as ot}from"./_plugin-vue_export-helper.DlAUqK2U.js";import"./authFunction.gKB3ZO8f.js";import"./qcLogo.ClkaWBBV.js";const at={class:"job-application-container"},nt={class:"sidebar"},it={class:"tree-container"},lt={key:0,class:"position-list"},ct=["onClick"],rt={class:"item-content"},ut={key:0,class:"item-count"},dt={class:"item-content"},pt={class:"item-count"},ft={class:"item-content"},vt={key:0,class:"item-count"},mt={class:"item-content"},_t={key:0,class:"item-count"},yt={class:"item-content"},gt={key:0,class:"item-count"},ht={class:"item-content"},kt={key:0,class:"item-count"},Ct={class:"content"},St=B({name:"areas"}),Rt=B({...St,setup(xt){const{crudBinding:$,crudRef:D,crudExpose:c,crudOptions:O,resetCrudOptions:P}=A({createCrudOptions:H,context:{openBatchTagsDialog:e=>{x.value.open(e)},openBatchStatusDialog:e=>{w.value.open(e)},openSmsNotification:e=>{b.value.open(e)},selectedRows:[]}}),x=_(),w=_(),b=_(),E=_(0),n=X({1:0,2:0,3:0,4:0}),C=_(!0),h=_([]),j=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?h.value=t.data.map(o=>({id:o.id,title:o.title||o.name||o.job_name,count:0})):console.error("获取职位列表失败:",t.msg||"未知错误")}catch(e){console.error("获取职位列表异常:",e),h.value=[{id:1,title:"流水线操作工",count:0}]}},q=async()=>{try{const t=await I();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(o=>{const k={0:1,2:2,3:3,4:4}[o.status];k&&k in n&&(n[k]=o.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)):console.error("获取申请状态统计失败:",t.message||"未知错误")}catch(e){console.error("获取申请状态统计异常:",e)}},N=()=>{C.value=!C.value},d=_("all"),v=e=>{if(d.value=e.id||"all",e.type==="all"){try{const t=c.getSearchRef();t&&typeof t.resetFields=="function"&&t.resetFields()}catch(t){console.warn("重置表单失败:",t)}c.doSearch({form:{}})}else e.type==="status"?c.doSearch({form:{status:e.value}}):e.type==="position"&&c.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 o=h.value.find(m=>m.title===t.position_title);o&&(o.count=(o.count||0)+1)}}))},T=()=>{c.doRefresh(),q()};return Y(async()=>{await j(),await q();const e=await K(J,O);if(e&&e.crudOptions&&e.crudOptions.request){const t=e.crudOptions.request.pageRequest;e.crudOptions.request.pageRequest=async o=>{const m=await t(o);return M(m.data),m}}P(e),c.doRefresh()}),(e,t)=>{const o=R("el-icon"),m=R("fs-crud"),k=R("fs-page");return r(),Z(k,null,{default:u(()=>[s("div",at,[s("div",nt,[s("div",it,[s("div",{class:"category-title",onClick:N},[a(o,null,{default:u(()=>[a(l(F))]),_:1}),t[6]||(t[6]=s("span",null,"职位",-1)),a(o,{class:f(["expand-icon",{"is-expanded":C.value}])},{default:u(()=>[a(l(S))]),_:1},8,["class"])]),C.value?(r(),p("div",lt,[s("div",{class:f(["tree-item",{active:d.value==="position-all"}]),onClick:t[0]||(t[0]=i=>v({type:"all",id:"position-all"}))},t[7]||(t[7]=[s("div",{class:"item-content"},[s("span",null,"全部")],-1)]),2),(r(!0),p(tt,null,et(h.value,i=>(r(),p("div",{key:"position-"+i.id,class:f(["tree-item",{active:d.value==="position-"+i.id}]),onClick:wt=>v({type:"position",value:i.title,id:"position-"+i.id})},[s("div",rt,[a(o,null,{default:u(()=>[a(l(S))]),_:1}),s("span",null,y(i.title),1)]),i.count?(r(),p("div",ut,y(i.count),1)):g("",!0)],10,ct))),128))])):g("",!0),s("div",{class:f(["tree-item",{active:d.value==="all"}]),onClick:t[1]||(t[1]=i=>v({type:"all"}))},[s("div",dt,[a(o,null,{default:u(()=>[a(l(G))]),_:1}),t[8]||(t[8]=s("span",null,"全部",-1))]),s("div",pt,y(E.value)+"人",1)],2),s("div",{class:f(["tree-item",{active:d.value==="status-1"}]),onClick:t[2]||(t[2]=i=>v({type:"status",value:0,id:"status-1"}))},[s("div",ft,[a(o,null,{default:u(()=>[a(l(L))]),_:1}),t[9]||(t[9]=s("span",null,"待面试",-1))]),n[1]?(r(),p("div",vt,y(n[1]),1)):g("",!0)],2),s("div",{class:f(["tree-item",{active:d.value==="status-2"}]),onClick:t[3]||(t[3]=i=>v({type:"status",value:2,id:"status-2"}))},[s("div",mt,[a(o,null,{default:u(()=>[a(l(S))]),_:1}),t[10]||(t[10]=s("span",null,"已面试",-1))]),n[2]?(r(),p("div",_t,y(n[2]),1)):g("",!0)],2),s("div",{class:f(["tree-item",{active:d.value==="status-3"}]),onClick:t[4]||(t[4]=i=>v({type:"status",value:3,id:"status-3"}))},[s("div",yt,[a(o,null,{default:u(()=>[a(l(V))]),_:1}),t[11]||(t[11]=s("span",null,"已录用",-1))]),n[3]?(r(),p("div",gt,y(n[3]),1)):g("",!0)],2),s("div",{class:f(["tree-item",{active:d.value==="status-4"}]),onClick:t[5]||(t[5]=i=>v({type:"status",value:4,id:"status-4"}))},[s("div",ht,[a(o,null,{default:u(()=>[a(l(z))]),_:1}),t[12]||(t[12]=s("span",null,"已拒绝",-1))]),n[4]?(r(),p("div",kt,y(n[4]),1)):g("",!0)],2)])]),s("div",Ct,[a(m,st({ref_key:"crudRef",ref:D},l($)),null,16)])]),a(Q,{ref_key:"batchTagsDialogRef",ref:x,crudExpose:l(c)},null,8,["crudExpose"]),a(U,{ref_key:"batchStatusDialogRef",ref:w,crudExpose:l(c),onSuccess:T},null,8,["crudExpose"]),a(W,{ref_key:"smSnotificationRef",ref:b,crudExpose:l(c)},null,8,["crudExpose"])]),_:1})}}}),Tt=ot(Rt,[["__scopeId","data-v-c6099e98"]]);export{Tt as default};
|