crud.B8VE0jNj.js 10.0 KB

1
  1. import{aH as E,S as e,P as p,aj as f,av as u}from"./vue.D1BjjNmv.js";import{e as S,D as $,U,A as T,G as q}from"./api.BlOwJ7Uj.js";import{W as _,S as w,C as c,s as j,D as B,j as O,F as I,G as N,H as d,I as P,J as s,K as m,M as n}from"./index.CegqZnpA.js";const M=function({crudExpose:V,context:i}){E();const v=async t=>(console.log(t),await q(t)),x=async({form:t,row:l})=>(t.id=l.id,await U(t)),k=async({row:t})=>await $(t.id),C=async({form:t})=>await T(t),D=async t=>{try{return(await O.get(`https://backend.qicai321.com/api/system/wechat/user/profile/get?user_id=${t}&tenant_id=${w.get("tenant_id")}`)).data}catch(l){return console.error("获取用户信息失败:",l),null}},W=async t=>{const l=await D(t);if(!l||l.code!==2e3){c("获取用户信息失败");return}const{user_info:o,profile:a,educations:h,family_members:b,trainings:y,work_experiences:g}=l.data,r=document.createElement("div"),z=e(B,{title:"个人信息详情",width:"70%",modelValue:!0,"onUpdate:modelValue":R=>{R||(u(null,r),document.body.removeChild(r))},beforeClose:()=>{u(null,r),document.body.removeChild(r)}},{default:()=>e(N,{type:"border-card"},{default:()=>[e(d,{label:"基本信息"},{default:()=>e(P,{column:3,border:!0},{default:()=>[e(s,{label:"姓名"},{default:()=>(o==null?void 0:o.name)||"未填写"}),e(s,{label:"电话"},{default:()=>(o==null?void 0:o.phone)||"未填写"}),e(s,{label:"年龄"},{default:()=>(o==null?void 0:o.age)||"未填写"}),e(s,{label:"出生日期"},{default:()=>(o==null?void 0:o.birth_date)||"未填写"}),e(s,{label:"性别"},{default:()=>(o==null?void 0:o.gender_name)||"未知"}),e(s,{label:"身份证号"},{default:()=>(o==null?void 0:o.id_card)||"未填写"}),e(s,{label:"政治面貌"},{default:()=>(a==null?void 0:a.political_status)||"未填写"}),e(s,{label:"民族"},{default:()=>(a==null?void 0:a.ethnicity)||"未填写"}),e(s,{label:"身高"},{default:()=>a!=null&&a.height?`${a.height}cm`:"未填写"}),e(s,{label:"体重"},{default:()=>a!=null&&a.weight?`${a.weight}kg`:"未填写"}),e(s,{label:"籍贯"},{default:()=>(a==null?void 0:a.native_place)||"未填写"}),e(s,{label:"户口所在地"},{default:()=>(a==null?void 0:a.household_location)||"未填写"}),e(s,{label:"现居地址"},{default:()=>(a==null?void 0:a.current_address)||"未填写"}),e(s,{label:"婚姻状况"},{default:()=>(a==null?void 0:a.marital_status_name)||"未填写"}),e(s,{label:"是否有子女"},{default:()=>(a==null?void 0:a.has_children)!==void 0?a.has_children?"是":"否":"未填写"}),e(s,{label:"期望薪资"},{default:()=>(a==null?void 0:a.expected_salary)||"未填写"}),e(s,{label:"紧急联系人"},{default:()=>(a==null?void 0:a.emergency_contact)||"未填写"}),e(s,{label:"紧急联系电话"},{default:()=>(a==null?void 0:a.emergency_phone)||"未填写"})]})}),h&&h.length>0?e(d,{label:"教育经历"},{default:()=>e(m,{data:h,border:!0,stripe:!0},{default:()=>[e(n,{prop:"education_type_name",label:"学历类型"}),e(n,{prop:"degree_name",label:"学位"}),e(n,{prop:"school_name",label:"学校名称"}),e(n,{prop:"major",label:"专业"}),e(n,{prop:"start_date",label:"开始日期"}),e(n,{prop:"end_date",label:"结束日期"})]})}):null,b&&b.length>0?e(d,{label:"家庭成员"},{default:()=>e(m,{data:b,border:!0,stripe:!0},{default:()=>[e(n,{prop:"relation",label:"关系"}),e(n,{prop:"name",label:"姓名"}),e(n,{prop:"workplace",label:"工作单位"}),e(n,{prop:"position",label:"职位"}),e(n,{prop:"phone",label:"联系电话"})]})}):null,g&&g.length>0?e(d,{label:"工作经历"},{default:()=>e(m,{data:g,border:!0,stripe:!0},{default:()=>[e(n,{prop:"company_name",label:"公司名称"}),e(n,{prop:"department",label:"部门"}),e(n,{prop:"position",label:"职位"}),e(n,{prop:"start_date",label:"开始日期"}),e(n,{prop:"end_date",label:"结束日期"}),e(n,{prop:"monthly_salary",label:"月薪"}),e(n,{prop:"company_size",label:"公司规模"}),e(n,{prop:"supervisor_name",label:"主管姓名"}),e(n,{prop:"supervisor_phone",label:"主管电话"}),e(n,{prop:"resignation_reason",label:"离职原因"})]})}):null,y&&y.length>0?e(d,{label:"培训经历"},{default:()=>e(m,{data:y,border:!0,stripe:!0},{default:()=>[e(n,{prop:"training_name",label:"培训名称"}),e(n,{prop:"institution",label:"培训机构"}),e(n,{prop:"start_date",label:"开始日期"}),e(n,{prop:"end_date",label:"结束日期"}),e(n,{prop:"description",label:"描述"}),e(n,{prop:"certificate",label:"证书"})]})}):null].filter(Boolean)}),footer:()=>e(I,{onClick:()=>{u(null,r),document.body.removeChild(r)}},{default:()=>"关闭"})});document.body.appendChild(r),u(z,r)};return{crudOptions:{toolbar:{buttons:{search:{show:!1},refresh:{show:!1},compact:{show:!1},export:{text:"导出",type:"primary",size:"small",icon:"upload",circle:!1,display:!0,show:!0,click:async()=>{try{const t=await S({tenant_id:w.get("tenant_id"),status:"1,2,3,4,5"});if(console.log(t),t.code===2e3){const l=t.data.minio_url,o=t.data.file_name,a=document.createElement("a");a.href=l,a.download=o,a.target="_blank",a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),j("导出成功,文件开始下载")}else c("导出失败:"+(t.msg||"未知错误"))}catch(t){console.error("导出失败:",t),c("导出失败,请稍后重试")}}},columns:{show:!1}}},request:{pageRequest:v,addRequest:C,editRequest:x,delRequest:k},actionbar:{buttons:{add:{show:!1},batchBindTags:{text:"批量绑定标签",type:"primary",show:!0,order:2,click:()=>{var l;const t=((l=i.selectedRows)==null?void 0:l.value)||[];if(!t||t.length===0){c("请先选择要操作的记录");return}i.openBatchTagsDialog(t)}},batchStatus:{text:"批量修改状态",type:"primary",show:!0,order:1,click:()=>{var l;const t=((l=i.selectedRows)==null?void 0:l.value)||[];if(!t||t.length===0){c("请先选择要操作的记录");return}i.openBatchStatusDialog(t)}}}},rowHandle:{fixed:"right",width:280,buttons:{view:{text:"查看个人信息",iconRight:"User",show:!0,type:"text",click:({row:t})=>{W(t.user.id)}},profile:{text:"查看报告",iconRight:"view",type:"text",show:!0,order:1,click:({row:t})=>{console.log(t);const o=`${window.location.origin}/#/JobApplication/report/report?id=${t.original_application}&tenant_id=${w.get("tenant_id")}&application_id=${t.original_application}`;window.open(o,"_blank")}},edit:{text:"编辑",iconRight:"Edit",type:"text",show:!1},remove:{text:"删除",iconRight:"Delete",type:"text",show:!1}}},pagination:{show:!0},table:{selection:!0,onSelectionChange:t=>{i&&i.selectedRows&&(i.selectedRows.value=t)}},search:{show:!0,layout:"auto",autoSearch:!1,buttons:{search:{size:"small"},reset:{size:"small"}},resetBtn:{show:!0,click:()=>{const t=document.querySelector(".el-tree");if(t){const l=t.querySelector(".is-current");l&&l.classList.remove("is-current")}}}},columns:{_selection:{title:"选择",form:{show:!1},column:{type:"selection",align:"center",width:50,fixed:"left",columnSetDisabled:!0}},id:{title:"ID",search:{show:!1,component:{placeholder:"请输入ID"}},type:"number",column:{width:80},form:{show:!1}},keyword:{title:"姓名",search:{show:!0,component:{placeholder:"请输入姓名"},size:"small",col:{span:3}},type:"input",column:{show:!1,minWidth:100,formatter:({row:t})=>t.user.name||t.user.nikename||"未填写"}},"user.name":{title:"姓名",search:{show:!1,component:{placeholder:"请输入姓名"},size:"small",col:{span:3}},type:"input",column:{minWidth:100,formatter:({row:t})=>t.user.name||t.user.nikename||"未填写"}},tags:{title:"标签",type:"dict-select",column:{minWidth:180,component:{name:"fs-component",render:({row:t})=>{if(!t.tags||t.tags.length===0)return e("span",null,[p("-")]);const l=t.tags.slice(0,2),o=t.tags.length-2;return e("div",{style:"display: flex; gap: 4px; align-items: center;"},[l.map(a=>e(f("el-tag"),{key:a.id,type:"warning",effect:"plain",size:"mini",style:"overflow: hidden; text-overflow: ellipsis; white-space: nowrap;",title:a.name},{default:()=>[a.name.length>4?a.name.slice(0,4)+"...":a.name]})),o>0&&e(f("el-tooltip"),{placement:"top",effect:"light","popper-class":"tag-tooltip"},{default:()=>e(f("el-tag"),{type:"info",effect:"plain",size:"mini"},{default:()=>[p("+"),o]}),content:()=>e("div",null,[e("div",{style:"font-weight: bold; margin-bottom: 5px"},[p("剩余"),o,p("个标签:")]),t.tags.slice(2).map(a=>e("div",{key:a.id,style:"margin: 3px 0"},[a.name]))])})])}}}},phone:{title:"手机号",search:{show:!0,component:{placeholder:"请输入电话"},size:"small",col:{span:3}},type:"input",column:{show:!1,minWidth:120,formatter:({row:t})=>t.user.phone||"未填写"}},"user.phone":{title:"电话",search:{show:!1,component:{placeholder:"请输入电话"},size:"small",col:{span:3}},type:"input",column:{minWidth:120,formatter:({row:t})=>t.user.phone||"未填写"}},gender:{title:"性别",search:{show:!0,size:"small",col:{span:3}},type:"dict-select",dict:_({data:[{value:"1",label:"男"},{value:"2",label:"女"},{value:"0",label:"未知"}]}),column:{minWidth:80}},age:{title:"年龄",type:"number",column:{minWidth:80}},expected_salary_max:{title:"期望薪资",type:"number",column:{minWidth:100,formatter:({row:t})=>{var l;return(l=t.profile_summary)!=null&&l.expected_salary?`${t.profile_summary.expected_salary}元`:"未填写"}}},title:{title:"职位",search:{show:!0,component:{placeholder:"请输入职位"},size:"small",col:{span:3}},type:"input",column:{show:!1,minWidth:120,formatter:({row:t})=>{var l;return((l=t.suitable_positions[0])==null?void 0:l.title)||"未填写"}}},"suitable_positions.title":{title:"职位",search:{show:!1,component:{placeholder:"请输入职位"},size:"small",col:{span:3}},type:"input",column:{minWidth:120,formatter:({row:t})=>{var l;return((l=t.suitable_positions[0])==null?void 0:l.title)||"未填写"}}},status:{title:"状态",type:"dict-select",dict:_({data:[{value:1,label:"试用期"},{value:2,label:"考察期"},{value:3,label:"在职"},{value:4,label:"已离职"},{value:5,label:"在职已盘点"},{value:7,label:"转入在外人才库"}]}),search:{show:!0,size:"small",col:{span:3}},column:{minWidth:100}},interview_score:{title:"面试得分",type:"input",column:{minWidth:100}},remarks:{title:"备注",type:"textarea",column:{minWidth:100}}}}}};export{M as createCrudOptions};