crud.BqFac73Z.js 11 KB

1
  1. import{aH as z,S as e,P as f,aj as w,av as y}from"./vue.D1BjjNmv.js";import{e as D,D as O,U as S,A as T,G as $}from"./api.BWE6JIHu.js";import{W as _,S as v,H as h,s as B,I as j,j as q,J as L,K as I,M as b,O as P,P as s,Q as g,R as o}from"./index.B8PdPpu9.js";const H=function({crudExpose:M,context:c}){z();const x=async t=>(console.log(t),await $(t)),k=async({form:t,row:l})=>(t.id=l.id,await S(t)),R=async({row:t})=>await O(t.id),E=async({form:t})=>await T(t),C=async t=>{try{return(await q.get(`https://backend.qicai321.com/api/system/wechat/user/profile/get?user_id=${t}&tenant_id=${v.get("tenant_id")}`)).data}catch(l){return console.error("获取用户信息失败:",l),null}},U=async t=>{const l=await C(t);if(!l||l.code!==2e3){h("获取用户信息失败");return}const{user_info:n,profile:a,educations:i,family_members:d,trainings:p,work_experiences:u}=l.data,r=document.createElement("div"),m=e(j,{title:"个人信息详情",width:"70%",modelValue:!0,"onUpdate:modelValue":W=>{W||(y(null,r),document.body.removeChild(r))},beforeClose:()=>{y(null,r),document.body.removeChild(r)}},{default:()=>e(I,{type:"border-card"},{default:()=>[e(b,{label:"基本信息"},{default:()=>e(P,{column:3,border:!0},{default:()=>[e(s,{label:"姓名"},{default:()=>(n==null?void 0:n.name)||"未填写"}),e(s,{label:"电话"},{default:()=>(n==null?void 0:n.phone)||"未填写"}),e(s,{label:"年龄"},{default:()=>(n==null?void 0:n.age)||"未填写"}),e(s,{label:"出生日期"},{default:()=>(n==null?void 0:n.birth_date)||"未填写"}),e(s,{label:"性别"},{default:()=>(n==null?void 0:n.gender_name)||"未知"}),e(s,{label:"身份证号"},{default:()=>(n==null?void 0:n.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)||"未填写"})]})}),i&&i.length>0?e(b,{label:"教育经历"},{default:()=>e(g,{data:i,border:!0,stripe:!0},{default:()=>[e(o,{prop:"education_type_name",label:"学历类型"}),e(o,{prop:"degree_name",label:"学位"}),e(o,{prop:"school_name",label:"学校名称"}),e(o,{prop:"major",label:"专业"}),e(o,{prop:"start_date",label:"开始日期"}),e(o,{prop:"end_date",label:"结束日期"})]})}):null,d&&d.length>0?e(b,{label:"家庭成员"},{default:()=>e(g,{data:d,border:!0,stripe:!0},{default:()=>[e(o,{prop:"relation",label:"关系"}),e(o,{prop:"name",label:"姓名"}),e(o,{prop:"workplace",label:"工作单位"}),e(o,{prop:"position",label:"职位"}),e(o,{prop:"phone",label:"联系电话"})]})}):null,u&&u.length>0?e(b,{label:"工作经历"},{default:()=>e(g,{data:u,border:!0,stripe:!0},{default:()=>[e(o,{prop:"company_name",label:"公司名称"}),e(o,{prop:"department",label:"部门"}),e(o,{prop:"position",label:"职位"}),e(o,{prop:"start_date",label:"开始日期"}),e(o,{prop:"end_date",label:"结束日期"}),e(o,{prop:"monthly_salary",label:"月薪"}),e(o,{prop:"company_size",label:"公司规模"}),e(o,{prop:"supervisor_name",label:"主管姓名"}),e(o,{prop:"supervisor_phone",label:"主管电话"}),e(o,{prop:"resignation_reason",label:"离职原因"})]})}):null,p&&p.length>0?e(b,{label:"培训经历"},{default:()=>e(g,{data:p,border:!0,stripe:!0},{default:()=>[e(o,{prop:"training_name",label:"培训名称"}),e(o,{prop:"institution",label:"培训机构"}),e(o,{prop:"start_date",label:"开始日期"}),e(o,{prop:"end_date",label:"结束日期"}),e(o,{prop:"description",label:"描述"}),e(o,{prop:"certificate",label:"证书"})]})}):null].filter(Boolean)}),footer:()=>e(L,{onClick:()=>{y(null,r),document.body.removeChild(r)}},{default:()=>"关闭"})});document.body.appendChild(r),y(m,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()=>{var t;try{const l=await D({tenant_id:v.get("tenant_id"),status:"1,2,3,4,5"});if(l.code===2e3){const n=l.data.minio_url;let a=l.data.file_name;a=decodeURIComponent(a).replace(/[<>:"/\\|?*]+/g,"_");try{const i=await fetch(n).then(m=>m.blob()),d=(t=a.split(".").pop())==null?void 0:t.toLowerCase();let p="application/octet-stream";d==="xlsx"||d==="xls"?p="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":d==="csv"&&(p="text/csv");const u=window.URL.createObjectURL(new Blob([i],{type:p})),r=document.createElement("a");if(r.href=u,r.download=a,r.style.display="none",window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,a);else{if(document.body.appendChild(r),r.click)r.click();else{const m=document.createEvent("MouseEvents");m.initEvent("click",!0,!0),r.dispatchEvent(m)}document.body.removeChild(r)}setTimeout(()=>{window.URL.revokeObjectURL(u)},100),B("导出成功,文件开始下载")}catch(i){console.error("下载文件失败:",i),h("下载文件失败,请检查网络连接")}}else h("导出失败:"+(l.msg||"未知错误"))}catch(l){console.error("导出失败:",l),h("导出失败,请稍后重试")}}},columns:{show:!1}}},request:{pageRequest:x,addRequest:E,editRequest:k,delRequest:R},actionbar:{buttons:{add:{show:!1},batchBindTags:{text:"批量绑定标签",type:"primary",show:!0,order:2,click:()=>{var l;const t=((l=c.selectedRows)==null?void 0:l.value)||[];if(!t||t.length===0){h("请先选择要操作的记录");return}c.openBatchTagsDialog(t)}},batchStatus:{text:"批量修改状态",type:"primary",show:!0,order:1,click:()=>{var l;const t=((l=c.selectedRows)==null?void 0:l.value)||[];if(!t||t.length===0){h("请先选择要操作的记录");return}c.openBatchStatusDialog(t)}}}},rowHandle:{fixed:"right",width:280,buttons:{view:{text:"查看个人信息",iconRight:"User",show:!0,type:"text",click:({row:t})=>{U(t.user.id)}},profile:{text:"查看报告",iconRight:"view",type:"text",show:!0,order:1,click:({row:t})=>{console.log(t);const n=`${window.location.origin}/#/JobApplication/report/report?id=${t.original_application}&tenant_id=${v.get("tenant_id")}&application_id=${t.original_application}`;window.open(n,"_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=>{c&&c.selectedRows&&(c.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,[f("-")]);const l=t.tags.slice(0,2),n=t.tags.length-2;return e("div",{style:"display: flex; gap: 4px; align-items: center;"},[l.map(a=>e(w("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]})),n>0&&e(w("el-tooltip"),{placement:"top",effect:"light","popper-class":"tag-tooltip"},{default:()=>e(w("el-tag"),{type:"info",effect:"plain",size:"mini"},{default:()=>[f("+"),n]}),content:()=>e("div",null,[e("div",{style:"font-weight: bold; margin-bottom: 5px"},[f("剩余"),n,f("个标签:")]),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{H as createCrudOptions};