index.BKAwIfPM.js 4.8 KB

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