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