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