index.BYMtNF1K.js 4.9 KB

1
  1. import{k as L,n as T,p as b,q as V,x as q}from"./index.DJRppC5x.js";import{createCrudOptions as G}from"./crud.uEAonawl.js";import{g as M,a as z}from"./api.DCSbr-YK.js";import{h as H}from"./columnPermission.CTLQ4vPx.js";import{_ as I}from"./BatchTagsDialog.vue_vue_type_script_setup_true_lang.Dw9I_CNz.js";import{_ as J}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.DDbAOnfn.js";import{a as E,r,_ as K,q as Q,aj as C,J as U,o as u,K as d,b as o,S as a,c as _,M as k,u as i,G as v,R as W,a9 as X,Q as y,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"},ot={key:0,class:"position-list"},at=["onClick"],nt={class:"item-content"},it={key:0,class:"item-count"},lt={class:"item-content"},ct={class:"item-count"},rt={class:"item-content"},ut={key:0,class:"item-count"},dt={class:"item-content"},ft={key:0,class:"item-count"},pt={class:"content"},_t=E({name:"areas"}),vt=E({..._t,setup(mt){const{crudBinding:B,crudRef:O,crudExpose:l,crudOptions:$,resetCrudOptions:D}=L({createCrudOptions:G,context:{openBatchTagsDialog:e=>{S.value.open(e)},openBatchStatusDialog:e=>{x.value.open(e)},selectedRows:r([])}}),S=r(),x=r(),h=r(!0),m=r([]),R=r(0),c=K({6:0,7:0,1:0,2:0}),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?m.value=t.data.map(s=>({id:s.id,title:s.title||s.name||s.job_name,count:0})):console.error("获取职位列表失败:",t.msg||"未知错误")}catch(e){console.error("获取职位列表异常:",e),m.value=[{id:1,title:"流水线操作工",count:0}]}},w=async()=>{try{const t=await M();t.code===2e3&&t.data?(R.value=t.data.total||0,t.data.status_data&&Array.isArray(t.data.status_data)&&t.data.status_data.forEach(s=>{s.status===6?c[6]=s.count:s.status===7?c[7]=s.count:s.status===1?c[1]=s.count:s.status===2&&(c[2]=s.count)})):console.error("获取申请状态统计失败:",t.message||"未知错误")}catch(e){console.error("获取申请状态统计异常:",e)}},j=()=>{h.value=!h.value},f=r("all"),g=e=>{if(f.value=e.id||"all",e.type==="all"){try{const t=l.getSearchRef();t&&typeof t.resetFields=="function"&&t.resetFields()}catch(t){console.warn("重置表单失败:",t)}l.doSearch({form:{}})}else e.type==="status"?l.doSearch({form:{status:e.value}}):e.type==="position"&&l.doSearch({form:{position_title:e.value}})},N=e=>{!e||!e.records||(m.value.forEach(t=>{t.count=0}),e.records.forEach(t=>{if(t.position_title){const s=m.value.find(p=>p.title===t.position_title);s&&(s.count=(s.count||0)+1)}}))},A=()=>{l.doRefresh(),w()};return Q(async()=>{await P(),await w();const e=await H(z,$);if(e&&e.crudOptions&&e.crudOptions.request){const t=e.crudOptions.request.pageRequest;e.crudOptions.request.pageRequest=async s=>{const p=await t(s);return N(p.data),p}}D(e),l.doSearch({form:{status:"6,7"}})}),(e,t)=>{const s=C("el-icon"),p=C("fs-crud"),F=C("fs-page");return u(),U(F,null,{default:d(()=>[o("div",tt,[o("div",et,[o("div",st,[o("div",{class:"category-title",onClick:j},[a(s,null,{default:d(()=>[a(i(T))]),_:1}),t[4]||(t[4]=o("span",null,"职位",-1)),a(s,{class:v(["expand-icon",{"is-expanded":h.value}])},{default:d(()=>[a(i(b))]),_:1},8,["class"])]),h.value?(u(),_("div",ot,[o("div",{class:v(["tree-item",{active:f.value==="position-all"}]),onClick:t[0]||(t[0]=n=>g({type:"all",id:"position-all"}))},t[5]||(t[5]=[o("div",{class:"item-content"},[o("span",null,"全部")],-1)]),2),(u(!0),_(W,null,X(m.value,n=>(u(),_("div",{key:"position-"+n.id,class:v(["tree-item",{active:f.value==="position-"+n.id}]),onClick:gt=>g({type:"position",value:n.title,id:"position-"+n.id})},[o("div",nt,[a(s,null,{default:d(()=>[a(i(b))]),_:1}),o("span",null,y(n.title),1)]),n.count?(u(),_("div",it,y(n.count),1)):k("",!0)],10,at))),128))])):k("",!0),o("div",{class:v(["tree-item",{active:f.value==="all"}]),onClick:t[1]||(t[1]=n=>g({type:"all"}))},[o("div",lt,[a(s,null,{default:d(()=>[a(i(V))]),_:1}),t[6]||(t[6]=o("span",null,"全部",-1))]),o("div",ct,y(R.value)+"人",1)],2),o("div",{class:v(["tree-item",{active:f.value==="status-6"}]),onClick:t[2]||(t[2]=n=>g({type:"status",value:7,id:"status-6"}))},[o("div",rt,[a(s,null,{default:d(()=>[a(i(q))]),_:1}),t[7]||(t[7]=o("span",null,"曾就职",-1))]),c[7]?(u(),_("div",ut,y(c[7]),1)):k("",!0)],2),o("div",{class:v(["tree-item",{active:f.value==="status-7"}]),onClick:t[3]||(t[3]=n=>g({type:"status",value:6,id:"status-7"}))},[o("div",dt,[a(s,null,{default:d(()=>[a(i(q))]),_:1}),t[8]||(t[8]=o("span",null,"面试未通过",-1))]),c[6]?(u(),_("div",ft,y(c[6]),1)):k("",!0)],2)])]),o("div",pt,[a(p,Y({ref_key:"crudRef",ref:O},i(B)),null,16)])]),a(I,{ref_key:"batchTagsDialogRef",ref:S,crudExpose:i(l)},null,8,["crudExpose"]),a(J,{ref_key:"batchStatusDialogRef",ref:x,crudExpose:i(l),onSuccess:A},null,8,["crudExpose"])]),_:1})}}}),bt=Z(vt,[["__scopeId","data-v-2488708c"]]);export{bt as default};