1 |
- import{k as A,E as F,n as G,p as S,q as z,t as H,w as I,x as J}from"./index.BkgKUyAf.js";import{a as B,aB as K,r as g,_ as Q,q as U,aj as C,J as W,o as d,K as p,b as s,S as o,c as v,M as y,u as c,G as m,R as X,a9 as Y,Q as k,H as Z}from"./vue.D1BjjNmv.js";import{createCrudOptions as tt}from"./crud.pTL5yQ_H.js";import{g as et,G as st}from"./api.MP-HVqVP.js";import{h as at}from"./columnPermission.Db7zrHLG.js";import ot from"./index.B5J6b4Gn.js";import{_ as nt}from"./BatchStatusDialog.vue_vue_type_script_setup_true_lang.CHkbdB14.js";import it from"./smSnotification.Dp4gdu8R.js";import{_ as lt}from"./_plugin-vue_export-helper.DlAUqK2U.js";import"./authFunction.C9bgmI0S.js";import"./qcLogo.ClkaWBBV.js";const ct={class:"job-application-container"},rt={class:"sidebar"},ut={class:"tree-container"},dt={key:0,class:"position-list"},pt=["onClick"],ft={class:"item-content"},vt={key:0,class:"item-count"},mt={class:"item-content"},_t={class:"item-count"},gt={class:"item-content"},kt={key:0,class:"item-count"},yt={class:"item-content"},ht={key:0,class:"item-count"},wt={class:"item-content"},St={key:0,class:"item-count"},Ct={class:"item-content"},bt={key:0,class:"item-count"},Rt={class:"content"},xt=B({name:"areas"}),Et=B({...xt,setup(qt){const $=K(),{crudBinding:D,crudRef:O,crudExpose:r,crudOptions:P,resetCrudOptions:j}=A({createCrudOptions:tt,context:{openBatchTagsDialog:e=>{b.value.open(e)},openBatchStatusDialog:e=>{R.value.open(e)},openSmsNotification:e=>{x.value.open(e)},selectedRows:[]}}),b=g(),R=g(),x=g(),E=g(0),n=Q({1:0,2:0,3:0,4:0}),w=g(!0),h=g([]),N=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 et();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(a=>{const f={0:1,2:2,3:3,4:4}[a.status];f&&f in n&&(n[f]=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)}},M=()=>{w.value=!w.value},i=g("all"),_=e=>{if(i.value=e.id||"all",e.type==="all"){try{const t=r.getSearchRef();t&&typeof t.resetFields=="function"&&t.resetFields()}catch(t){console.warn("重置表单失败:",t)}r.doSearch({form:{}})}else e.type==="status"?r.doSearch({form:{status:e.value}}):e.type==="position"&&r.doSearch({form:{position_title:e.value}})},L=e=>{!e||!e.records||(h.value.forEach(t=>{t.count=0}),e.records.forEach(t=>{if(t.position_title){const a=h.value.find(u=>u.title===t.position_title);a&&(a.count=(a.count||0)+1)}}))},T=()=>{r.doRefresh(),q()};U(async()=>{await N(),await q();const e=await at(st,P);if(e&&e.crudOptions&&e.crudOptions.request){const a=e.crudOptions.request.pageRequest;e.crudOptions.request.pageRequest=async u=>{const f=await a(u);return L(f.data),f}}j(e),V();const t=$.query.status;if(console.log(t),t){const a=Number(t);switch(a){case 0:i.value="status-1";break;case 2:i.value="status-2";break;case 3:i.value="status-3";break;case 4:i.value="status-4";break;default:i.value="all"}r.doSearch({form:{status:a}})}else r.doRefresh()});const V=async()=>{try{const e="wxc9655eeaa3223b75",t="c0f031b6e07ded1928fded435a913902",u=await(await fetch("https://backend.qicai321.com/wechat/generatescheme")).json();if(u.access_token)return u.access_token;throw new Error(u.errmsg||"获取access_token失败")}catch(e){throw console.error("获取微信access_token失败:",e),F.error("获取微信access_token失败"),e}};return(e,t)=>{const a=C("el-icon"),u=C("fs-crud"),f=C("fs-page");return d(),W(f,null,{default:p(()=>[s("div",ct,[s("div",rt,[s("div",ut,[s("div",{class:"category-title",onClick:M},[o(a,null,{default:p(()=>[o(c(G))]),_:1}),t[6]||(t[6]=s("span",null,"职位",-1)),o(a,{class:m(["expand-icon",{"is-expanded":w.value}])},{default:p(()=>[o(c(S))]),_:1},8,["class"])]),w.value?(d(),v("div",dt,[s("div",{class:m(["tree-item",{active:i.value==="position-all"}]),onClick:t[0]||(t[0]=l=>_({type:"all",id:"position-all"}))},t[7]||(t[7]=[s("div",{class:"item-content"},[s("span",null,"全部")],-1)]),2),(d(!0),v(X,null,Y(h.value,l=>(d(),v("div",{key:"position-"+l.id,class:m(["tree-item",{active:i.value==="position-"+l.id}]),onClick:Bt=>_({type:"position",value:l.title,id:"position-"+l.id})},[s("div",ft,[o(a,null,{default:p(()=>[o(c(S))]),_:1}),s("span",null,k(l.title),1)]),l.count?(d(),v("div",vt,k(l.count),1)):y("",!0)],10,pt))),128))])):y("",!0),s("div",{class:m(["tree-item",{active:i.value==="all"}]),onClick:t[1]||(t[1]=l=>_({type:"all"}))},[s("div",mt,[o(a,null,{default:p(()=>[o(c(z))]),_:1}),t[8]||(t[8]=s("span",null,"全部",-1))]),s("div",_t,k(E.value)+"人",1)],2),s("div",{class:m(["tree-item",{active:i.value==="status-1"}]),onClick:t[2]||(t[2]=l=>_({type:"status",value:0,id:"status-1"}))},[s("div",gt,[o(a,null,{default:p(()=>[o(c(H))]),_:1}),t[9]||(t[9]=s("span",null,"待通知",-1))]),n[1]?(d(),v("div",kt,k(n[1]),1)):y("",!0)],2),s("div",{class:m(["tree-item",{active:i.value==="status-2"}]),onClick:t[3]||(t[3]=l=>_({type:"status",value:2,id:"status-2"}))},[s("div",yt,[o(a,null,{default:p(()=>[o(c(S))]),_:1}),t[10]||(t[10]=s("span",null,"已面试待处理",-1))]),n[2]?(d(),v("div",ht,k(n[2]),1)):y("",!0)],2),s("div",{class:m(["tree-item",{active:i.value==="status-3"}]),onClick:t[4]||(t[4]=l=>_({type:"status",value:3,id:"status-3"}))},[s("div",wt,[o(a,null,{default:p(()=>[o(c(I))]),_:1}),t[11]||(t[11]=s("span",null,"已录用",-1))]),n[3]?(d(),v("div",St,k(n[3]),1)):y("",!0)],2),s("div",{class:m(["tree-item",{active:i.value==="status-4"}]),onClick:t[5]||(t[5]=l=>_({type:"status",value:4,id:"status-4"}))},[s("div",Ct,[o(a,null,{default:p(()=>[o(c(J))]),_:1}),t[12]||(t[12]=s("span",null,"已拒绝",-1))]),n[4]?(d(),v("div",bt,k(n[4]),1)):y("",!0)],2)])]),s("div",Rt,[o(u,Z({ref_key:"crudRef",ref:O},c(D)),null,16)])]),o(ot,{ref_key:"batchTagsDialogRef",ref:b,crudExpose:c(r)},null,8,["crudExpose"]),o(nt,{ref_key:"batchStatusDialogRef",ref:R,crudExpose:c(r),onSuccess:T},null,8,["crudExpose"]),o(it,{ref_key:"smSnotificationRef",ref:x,crudExpose:c(r)},null,8,["crudExpose"])]),_:1})}}}),Ft=lt(Et,[["__scopeId","data-v-67947385"]]);export{Ft as default};
|