Browse Source

Merge branch 'qin_v4'

yjf_v2
超级管理员 1 year ago
parent
commit
dfb75cd913
  1. 8
      src/api/hr/people/index.ts
  2. 864
      src/views/hr/archives/archivescont.vue
  3. 577
      src/views/hr/archives/archivescont_20240831.vue
  4. 8
      src/views/hr/archives/basicinformation/appraisalrecord.vue
  5. 10
      src/views/hr/archives/basicinformation/certificates.vue
  6. 10
      src/views/hr/archives/basicinformation/charactercolor.vue
  7. 162
      src/views/hr/archives/basicinformation/discTest.vue
  8. 8
      src/views/hr/archives/basicinformation/editpwd.vue
  9. 8
      src/views/hr/archives/basicinformation/educationalexperience.vue
  10. 3
      src/views/hr/archives/basicinformation/emergencycontact.vue
  11. 8
      src/views/hr/archives/basicinformation/employmentrelations.vue
  12. 8
      src/views/hr/archives/basicinformation/familymembers.vue
  13. 9
      src/views/hr/archives/basicinformation/innerwork.vue
  14. 8
      src/views/hr/archives/basicinformation/jobtitle.vue
  15. 5
      src/views/hr/archives/basicinformation/orgnexus.vue
  16. 8
      src/views/hr/archives/basicinformation/outsideWork.vue
  17. 72
      src/views/hr/archives/basicinformation/personalityTest.vue
  18. 8
      src/views/hr/archives/basicinformation/rewardsandpunishments.vue
  19. 9
      src/views/hr/archives/basicinformation/talentinventory.vue
  20. 8
      src/views/hr/archives/basicinformation/workingcouple.vue

8
src/api/hr/people/index.ts

@ -681,3 +681,11 @@ export function getUserCont(data?: any) {
data: data data: data
}) })
} }
//获取人员信息
export function getUserDISCTest(data?: any) {
return request({
url: '/systemapi/rongxin/getUserDISCTest',
method: 'post',
data: data
})
}

864
src/views/hr/archives/archivescont.vue

@ -1,14 +1,16 @@
<!-- <!--
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2023-06-15 13:01:11 @ 时间: 2024-08-31 14:15:47
@ 备注: 员工档案 @ 备注: 员工档案
--> -->
<script lang="ts" setup> <script lang='ts' setup>
/** import { getMyInfoing, editMyInfoIcon } from "@/api/hr/people/index";
* 引入页面 import UserRole from "@/assets/icons/user.svg"; //
*/
import UserContent from "@/views/hr/archives/basicinformation/content.vue"; //
import EditUserContent from "@/views/hr/archives/basicinformation/editcontent.vue"; import UserContent from "@/views/hr/archives/basicinformation/content.vue"; //
import EditUserContent from "@/views/hr/archives/basicinformation/editcontent.vue"; //
import EditOrg from "@/views/hr/archives/basicinformation/editorg.vue"; //
import OrgNexus from "@/views/hr/archives/basicinformation/orgnexus.vue"; // import OrgNexus from "@/views/hr/archives/basicinformation/orgnexus.vue"; //
import EmergencyContactPage from "@/views/hr/archives/basicinformation/emergencycontact.vue"; // import EmergencyContactPage from "@/views/hr/archives/basicinformation/emergencycontact.vue"; //
import WorkingCouplePage from "@/views/hr/archives/basicinformation/workingcouple.vue"; // import WorkingCouplePage from "@/views/hr/archives/basicinformation/workingcouple.vue"; //
@ -17,559 +19,379 @@ import EducationalExperience from "@/views/hr/archives/basicinformation/educatio
import InnerWork from "@/views/hr/archives/basicinformation/innerwork.vue"; // import InnerWork from "@/views/hr/archives/basicinformation/innerwork.vue"; //
import OutsideWork from "@/views/hr/archives/basicinformation/outsideWork.vue"; // import OutsideWork from "@/views/hr/archives/basicinformation/outsideWork.vue"; //
import Editpwd from "@/views/hr/archives/basicinformation/editpwd.vue"; // import Editpwd from "@/views/hr/archives/basicinformation/editpwd.vue"; //
import EditOrg from "@/views/hr/archives/basicinformation/editorg.vue"; //
import CharacterColor from "@/views/hr/archives/basicinformation/charactercolor.vue";
import Rewardsandpunishments from "@/views/hr/archives/basicinformation/rewardsandpunishments.vue"; // import Rewardsandpunishments from "@/views/hr/archives/basicinformation/rewardsandpunishments.vue"; //
import Appraisalrecord from "@/views/hr/archives/basicinformation/appraisalrecord.vue"; // import Appraisalrecord from "@/views/hr/archives/basicinformation/appraisalrecord.vue"; //
import Talentinventory from "@/views/hr/archives/basicinformation/talentinventory.vue"; // import Talentinventory from "@/views/hr/archives/basicinformation/talentinventory.vue"; //
import Employmentrelations from "@/views/hr/archives/basicinformation/employmentrelations.vue"; // import Employmentrelations from "@/views/hr/archives/basicinformation/employmentrelations.vue"; //
import Jobtitle from "@/views/hr/archives/basicinformation/jobtitle.vue"; // import Jobtitle from "@/views/hr/archives/basicinformation/jobtitle.vue"; //
import Certificates from "@/views/hr/archives/basicinformation/certificates.vue"; // import Certificates from "@/views/hr/archives/basicinformation/certificates.vue"; //
import PersonalityTest from "@/views/hr/archives/basicinformation/personalityTest.vue"; //
import { archivesCont } from "@/api/hr/people/type";
import SvgIcon from "@/components/SvgIcon/index.vue";
import UserRole from "@/assets/icons/user.svg";
import { myinfostruct } from "@/api/hr/people/type";
import { getMyInfoing, editMyInfoIcon } from "@/api/hr/people/index";
import type { UploadProps } from "element-plus";
const props = defineProps({ const props = defineProps({
isShow: { isShow: {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
archivesdata: { archivesdata: {
type: Object, type: Object,
default() { default() {
return {}; return {};
}, },
}, },
}); });
const emits = defineEmits([ const emits = defineEmits([
"update:isShow", "update:isShow",
"updatemyconting", "updatemyconting",
"getarchivespageclick", "getarchivespageclick",
]); // ]); //
const boxTitle = ref<string>(); //
const userIcon = ref<string>(); //
const activeName = ref("1");
const editMyCont = ref(false);
// const userConting = ref<myinfostruct>();
const userConting = reactive<myinfostruct>({
entrydatetime: "",
probationperiod: 1,
});
const rowLoading = ref(false);
const imgUploadApiUrl = import.meta.env.VITE_APP_BASE_API + "/api/upordown";
const editMyOrgCont = ref(false);
/** /**
* 弹窗显示控制 * 弹窗显示控制
*/ */
const boxShow = computed({ const boxShow = computed({
get: () => props.isShow, get: () => props.isShow,
set: (val) => { set: (val) => {
emits("update:isShow", val); emits("update:isShow", val);
}, },
}); });
const activeName = ref("1"); //
const fileUploadIng = ref(false)
const userIcon = ref<string>(); //
const boxTitle = ref<string>(); //
const userConting = ref<any>(""); //
const rowLoading = ref(false);
const imgUploadApiUrl = import.meta.env.VITE_APP_BASE_API + "/api/upordown"; //
const editMyOrgCont = ref(false); //
const editMyCont = ref(false); //
/** /**
* 获取人员数据 * 获取人员数据
*/ */
function getjtcyList() { const getjtcyList = () => {
rowLoading.value = true; rowLoading.value = true;
getMyInfoing({ id: props.archivesdata.id, idstr: props.archivesdata.idstr }) getMyInfoing({ id: props.archivesdata.id, idstr: props.archivesdata.idstr })
.then((data) => { .then((data) => {
// userConting.value = data.data console.log("获取人员信息",data.data);
userConting.id = data.data.id; userConting.value = data.data
userConting.number = data.data.number; //"300450", })
userConting.name = data.data.name; //"", .finally(() => {
userConting.icon = data.data.icon; // rowLoading.value = false;
userConting.hireclass = data.data.hireclass; //1, });
userConting.emptype = data.data.emptype; //8,
userConting.company = data.data.company; //309,
userConting.maindeparment = data.data.maindeparment; //102,
userConting.sunmaindeparment = data.data.sunmaindeparment; //272,
userConting.deparment = data.data.deparment; //"",
userConting.adminorg = data.data.adminorg; //272,
userConting.teamid = data.data.teamid; //1,
userConting.position = data.data.position; //2184,
userConting.jobclass = data.data.jobclass; //5,
userConting.jobid = data.data.jobid; //36,
userConting.jobleve = data.data.jobleve; //3,
userConting.time = data.data.time; //1656984567,
userConting.eitetime = data.data.eitetime; //1671160648,
userConting.wechat = data.data.wechat; //"",
userConting.workwechat = data.data.workwechat; //"KaiXinGuo",
userConting.state = data.data.state; //1,
userConting.key = data.data.key; //15993815826844528,
userConting.isadmin = data.data.isadmin; //4,
userConting.password = data.data.password; //"ecffe8715d2d3c2743bab6abc90e1331",
userConting.role = data.data.role; //"1",
userConting.idcardno = data.data.idcardno; //"370921198810151515",
userConting.passportno = data.data.passportno; //"",
userConting.globalroaming = data.data.globalroaming; //"",
userConting.mobilephone = data.data.mobilephone; //"15069130853",
userConting.email = data.data.email; //"",
userConting.gender = data.data.gender; //1,
userConting.birthday = data.data.birthday; //592848000,
userConting.myfolk = data.data.myfolk; //"",
userConting.nativeplace = data.data.nativeplace; //"15",
userConting.idcardstartdate = data.data.idcardstartdate; //0,
userConting.idcardenddate = data.data.idcardenddate; //0,
userConting.idcardaddress = data.data.idcardaddress; //"",
userConting.idcardIssued = data.data.idcardIssued; //"",
userConting.health = data.data.health; //2,
userConting.maritalstatus = data.data.maritalstatus; //2,
userConting.internaltelephone = data.data.internaltelephone; //"",
userConting.currentresidence = data.data.currentresidence; //"11302",
userConting.constellationing = data.data.constellationing; //1,
userConting.isdoubleworker = data.data.isdoubleworker; //2,
userConting.isveterans = data.data.isveterans; //2,
userConting.veteransnumber = data.data.veteransnumber; //"",
userConting.jobstartdate = data.data.jobstartdate; //0,
userConting.entrydate = data.data.entrydate; //0,
userConting.probationperiod = data.data.probationperiod; //0,
userConting.planformaldate = data.data.planformaldate; //0,
userConting.politicaloutlook = data.data.politicaloutlook; //1,
userConting.nameusedbefore = data.data.nameusedbefore; //"",
userConting.iconphoto = data.data.iconphoto; //"
userConting.responsibledepartment = data.data.responsibledepartment; //"",
userConting.responsibledepartmentjson = data.data.responsibledepartmentjson; //"",
userConting.birthdaytime = data.data.birthdaytime; //"1988-10-15",
userConting.idcardstarttimedata = data.data.idcardstarttimedata; //"",
userConting.idcardendtimedata = data.data.idcardendtimedata; //"",
userConting.entrydatetime = data.data.entrydatetime; //"",
userConting.planformaldatetime = data.data.planformaldatetime; //"",
userConting.doubleworkerlist = data.data.doubleworkerlist; //null,
userConting.educationalexperience = data.data.educationalexperience; //null,
userConting.emergencycontact = data.data.emergencycontact; //null,
userConting.memberoffamily = data.data.memberoffamily; //null,
userConting.workhistorylist = data.data.workhistorylist; //null,
userConting.groupworkhistorylist = data.data.groupworkhistorylist; //null,
userConting.idstr = data.data.idstr; //"78",
userConting.companyname = data.data.companyname; //"",
userConting.maindeparmentname = data.data.maindeparmentname; //"",
userConting.adminorgname = data.data.adminorgname; //"",
userConting.positionname = data.data.positionname; //"",
userConting.jobclassname = data.data.jobclassname; //"",
userConting.jobidname = data.data.jobidname; //"",
userConting.politicaloutlookname = data.data.politicaloutlookname; //"",
userConting.jobstartdatestr = data.data.jobstartdatestr; //"",
userConting.entrydatestr = data.data.entrydatestr; //"",
userConting.personincharge = data.data.personincharge; //2,
userConting.sunmaindeparmentname = data.data.sunmaindeparmentname; //"",
userConting.workpostname = data.data.workpostname; //"",
userConting.teamname = data.data.teamname; //"",
userConting.allorglist = data.data.allorglist; //[309,102,272],
userConting.ruleid = data.data.ruleid; //"0",
userConting.rulename = data.data.rulename; //"",
userConting.orgreslist = data.data.orgreslist; //null
userConting.keystr = data.data.keystr; //
userConting.interests = data.data.interests;
userConting.bloodtype = data.data.bloodtype;
userConting.natureofAccount = data.data.natureofAccount;
userConting.careerPlanning = data.data.career_planning;
userConting.helpObtained = data.data.help_obtained;
})
.finally(() => {
rowLoading.value = false;
});
} }
/** /**
* 关闭弹窗 * 关闭弹窗
*/ */
function closeArchivesBox() { function closeArchivesBox() {
emits("update:isShow", false); emits("update:isShow", false);
activeName.value = "1"; activeName.value = "1";
editMyCont.value = false; editMyCont.value = false;
} }
/** /**
* 选项卡翻页 @ 作者: 秦东
*/ @ 时间: 2024-08-31 14:23:41
const handleClickUser = (tab: any, event: Event) => { @ 功能: 监听弹窗打开
// console.log(tab, event) */
}; watch(() => props.isShow,(val:Boolean) => {
if(val){
getjtcyList();
boxTitle.value = "查看 " + props.archivesdata.name + "(工号:" + props.archivesdata.number + ")" + " 详情";
if (props.archivesdata.icon != "") {
userIcon.value = props.archivesdata.icon;
}else if (props.archivesdata.iconphoto != "") {
userIcon.value = props.archivesdata.iconphoto;
}else{
userIcon.value = UserRole;
}
}
},{deep:true})
/** /**
* 监听数据 @ 作者: 秦东
*/ @ 时间: 2024-08-31 14:35:18
watch( @ 功能: 上传前判断类型
() => props.isShow, */
() => { const beforeAvatarUpload: UploadProps["beforeUpload"] = (rawFile) => {
// console.log("",props.archivesdata ) fileUploadIng.value = true
if (props.isShow) { if (!/\.(png|jpg|gif|jpeg|svg|bmp)$/.test(rawFile.name)) {
getjtcyList(); ElMessage.warning("您上传的图片不符合要求!");
boxTitle.value = fileUploadIng.value = false;
"查看 " + return false;
props.archivesdata.name + }
"(工号:" + };
props.archivesdata.number +
")" +
" 详情";
if (props.archivesdata.icon != "") {
userIcon.value = props.archivesdata.icon;
} else if (props.archivesdata.iconphoto != "") {
userIcon.value = props.archivesdata.iconphoto;
} else {
userIcon.value = UserRole;
}
}
}
);
/** /**
* 刷新编辑页面 @ 作者: 秦东
*/ @ 时间: 2024-08-31 14:40:31
function refreshContPage(cont: archivesCont) { @ 功能: 上传成功
emits("updatemyconting", cont); */
getjtcyList();
// console.log("",cont)
// userConting.value = cont
// userConting.value.id = cont.id //78,
// userConting.id = cont.id
// userConting.number = cont.number //"300450",
// userConting.name = cont.name //"",
// userConting.icon = cont.icon //
// userConting.hireclass = cont.hireclass //1,
// userConting.emptype = cont.emptype //8,
// userConting.company = cont.company //309,
// userConting.maindeparment = cont.maindeparment //102,
// userConting.sunmaindeparment = cont.sunmaindeparment //272,
// userConting.deparment = cont.deparment //"",
// userConting.adminorg = cont.adminorg //272,
// userConting.teamid = cont.teamid //1,
// userConting.position = cont.position //2184,
// userConting.jobclass = cont.jobclass //5,
// userConting.jobid = cont.jobid //36,
// userConting.jobleve = cont.jobleve //3,
// userConting.time = cont.time //1656984567,
// userConting.eitetime = cont.eitetime //1671160648,
// userConting.wechat = cont.wechat //"",
// userConting.workwechat = cont.workwechat //"KaiXinGuo",
// userConting.state = cont.state //1,
// userConting.key = cont.key //15993815826844528,
// userConting.isadmin = cont.isadmin //4,
// userConting.password = cont.password //"ecffe8715d2d3c2743bab6abc90e1331",
// userConting.role = cont.role //"1",
// userConting.idcardno = cont.idcardno //"370921198810151515",
// userConting.passportno = cont.passportno //"",
// userConting.globalroaming = cont.globalroaming //"",
// userConting.mobilephone = cont.mobilephone //"15069130853",
// userConting.email = cont.email //"",
// userConting.gender = cont.gender //1,
// userConting.birthday = cont.birthday //592848000,
// userConting.myfolk = cont.myfolk //"",
// userConting.nativeplace = cont.nativeplace //"15",
// userConting.idcardstartdate = cont.idcardstartdate //0,
// userConting.idcardenddate = cont.idcardenddate //0,
// userConting.idcardaddress = cont.idcardaddress //"",
// userConting.idcardIssued = cont.idcardIssued //"",
// userConting.health = cont.health //2,
// userConting.maritalstatus = cont.maritalstatus //2,
// userConting.internaltelephone = cont.internaltelephone //"",
// userConting.currentresidence = cont.currentresidence //"11302",
// userConting.constellationing = cont.constellationing //1,
// userConting.isdoubleworker = cont.isdoubleworker //2,
// userConting.isveterans = cont.isveterans //2,
// userConting.veteransnumber = cont.veteransnumber //"",
// userConting.jobstartdate = cont.jobstartdate //0,
// userConting.entrydate = cont.entrydate //0,
// userConting.probationperiod = cont.probationperiod //0,
// userConting.planformaldate = cont.planformaldate //0,
// userConting.politicaloutlook = cont.politicaloutlook //1,
// userConting.nameusedbefore = cont.nameusedbefore //"",
// userConting.iconphoto = cont.iconphoto //"
// userConting.responsibledepartment = cont.responsibledepartment //"",
// userConting.responsibledepartmentjson = cont.responsibledepartmentjson //"",
// // userConting.birthdaytime = cont.birthdaytime //"1988-10-15",
// // userConting.idcardstarttimedata = cont.idcardstarttimedata //"",
// // userConting.idcardendtimedata = cont.idcardendtimedata //"",
// // userConting.entrydatetime = cont.entrydatetime //"",
// // userConting.planformaldatetime = cont.planformaldatetime //"",
// // userConting.doubleworkerlist = cont.doubleworkerlist //null,
// // userConting.educationalexperience = cont.educationalexperience //null,
// // userConting.emergencycontact = cont.emergencycontact //null,
// // userConting.memberoffamily = cont.memberoffamily //null,
// // userConting.workhistorylist = cont.workhistorylist //null,
// // userConting.groupworkhistorylist = cont.groupworkhistorylist //null,
// userConting.idstr = cont.id?.toString() //"78",
// userConting.companyname = cont.companyname //"",
// userConting.maindeparmentname = cont.maindeparmentname //"",
// // userConting.adminorgname = cont.adminorgname //"",
// userConting.positionname = cont.positionname //"",
// // userConting.jobclassname = cont.jobclassname //"",
// // userConting.jobidname = cont.jobidname //"",
// //userConting.politicaloutlookname = cont.politicaloutlookname //"",
// //userConting.jobstartdatestr = cont.jobstartdatestr //"",
// //userConting.entrydatestr = cont.entrydatestr //"",
// userConting.personincharge = cont.personincharge //2,
// userConting.sunmaindeparmentname = cont.sunmaindeparmentname //"",
// userConting.workpostname = cont.workpostname //"",
// userConting.teamname = cont.teamname //"",
// //userConting.allorglist = cont.allorglist //[309,102,272],
// //userConting.ruleid = cont.ruleid //"0",
// //userConting.rulename = cont.rulename //"",
// //userConting.orgreslist = cont.orgreslist //null
// userConting.keystr = cont.keystr //
getjtcyList();
}
const handleAvatarSuccess: UploadProps["onSuccess"] = ( const handleAvatarSuccess: UploadProps["onSuccess"] = (
response, response,
uploadFile, uploadFile,
uploadFiles uploadFiles
) => { ) => {
userIcon.value = URL.createObjectURL(uploadFile.raw!); userIcon.value = URL.createObjectURL(uploadFile.raw!);
// console.log("---1--->",response) //
// console.log("---2--->",uploadFile) editMyInfoIcon({
// console.log("----3-->",uploadFiles) id: props.archivesdata.id,
editMyInfoIcon({ iconpath: response.data.url,
id: props.archivesdata.id, }).then((data) => {
iconpath: response.data.url, ElMessage.success("编辑成功");
}).then((data) => { emits("getarchivespageclick");
// userConting.value = data.data });
ElMessage.success("编辑成功");
emits("getarchivespageclick");
});
};
const beforeAvatarUpload: UploadProps["beforeUpload"] = (rawFile) => {
// console.log("------>",rawFile)
};
function editmvorg() {
editMyOrgCont.value = true;
} }
/**
@ 作者: 秦东
@ 时间: 2024-08-31 14:46:59
@ 功能: 打开编辑行政组织
*/
const editmvorg = () => {
editMyOrgCont.value = true;
}
/**
* 选项卡翻页
*/
const handleClickUser = (tab: any, event: Event) => {
//console.log(tab, event)
};
</script> </script>
<template> <template>
<el-dialog <el-dialog
v-model="boxShow" v-model="boxShow"
custom-class="dialog_box" custom-class="dialog_box"
:title="boxTitle" :title="boxTitle"
top="50px" top="50px"
:before-close="closeArchivesBox" :before-close="closeArchivesBox"
width="80%" width="80%"
> >
<el-row v-loading="rowLoading" :gutter="20"> <el-row v-loading="rowLoading" :gutter="20">
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8"> <!--左侧区域-->
<el-card shadow="always" class="box-card-left"> <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
<el-row> <el-card shadow="always" class="box-card-left">
<el-col :span="24"> <el-row>
<el-upload <el-col v-loading="fileUploadIng" :span="24">
class="avatar-uploader" <el-upload
:action="imgUploadApiUrl" class="avatar-uploader"
:show-file-list="false" :action="imgUploadApiUrl"
:on-success="handleAvatarSuccess" :show-file-list="false"
:before-upload="beforeAvatarUpload" :on-success="handleAvatarSuccess"
> :before-upload="beforeAvatarUpload"
<el-avatar :size="180" :src="userIcon" /> >
</el-upload> <el-avatar :size="180" :src="userIcon" class="bianKuang" />
</el-col> </el-upload>
<el-col :span="24" </el-col>
><el-text class="mx-1 username">{{ <el-col :span="24">
userConting.name <el-text class="mx-1 username">{{ userConting.name }}</el-text>
}}</el-text></el-col </el-col>
> <el-col :span="24">
<el-col :span="24" <el-text class="mx-1 username">NO.{{ userConting.number }}</el-text>
><el-text class="mx-1 usernumber" </el-col>
>NO.{{ userConting.number }}</el-text <el-col :span="24">
></el-col <el-row class="user_cont">
> <el-col :span="24" class="col_box">
<el-col :span="24"> <el-text class="cont_size">
<el-row class="user_cont"> <svg-icon icon-class="gender" class="svg_box"></svg-icon>
<el-col :span="24" class="col_box"> <span v-if="userConting.gender == 1"></span>
<el-text class="cont_size"> <span v-else></span>
<svg-icon icon-class="gender" class="svg_box"></svg-icon> </el-text>
<span v-if="userConting.gender == 1"></span> </el-col>
<span v-else></span> <el-col :span="24" class="col_box">
</el-text> <el-text class="cont_size">
</el-col> <svg-icon
<el-col :span="24" class="col_box"> icon-class="marriageregistration"
<el-text class="cont_size"> class="svg_box"
<svg-icon ></svg-icon>
icon-class="marriageregistration" <span v-if="userConting.maritalstatus == 2">已婚</span>
class="svg_box" <span v-else-if="userConting.maritalstatus == 3">丧偶</span>
></svg-icon> <span v-else-if="userConting.maritalstatus == 4">离异</span>
<span v-if="userConting.maritalstatus == 2">已婚</span> <span v-else>未婚</span>
<span v-else-if="userConting.maritalstatus == 3">丧偶</span> </el-text>
<span v-else-if="userConting.maritalstatus == 4">离异</span> </el-col>
<span v-else>未婚</span> <el-col :span="24" class="col_box">
</el-text> <el-text class="cont_size">
</el-col> <svg-icon icon-class="qxsp" class="svg_box"></svg-icon>
<el-col :span="24" class="col_box"> {{ userConting.myfolk }}
<el-text class="cont_size"> </el-text>
<svg-icon icon-class="qxsp" class="svg_box"></svg-icon> </el-col>
{{ userConting.myfolk }} <el-col :span="24" class="col_box">
</el-text> <el-text class="cont_size">
</el-col> <svg-icon
<el-col :span="24" class="col_box"> icon-class="healthcondition"
<el-text class="cont_size"> class="svg_box"
<svg-icon ></svg-icon>
icon-class="healthcondition" <span v-if="userConting.health == 2">良好</span>
class="svg_box" <span v-else-if="userConting.health == 3">较弱</span>
></svg-icon> <span v-else-if="userConting.health == 4">有生理缺陷</span>
<span v-if="userConting.health == 2">良好</span> <span v-else-if="userConting.health == 5">残废</span>
<span v-else-if="userConting.health == 3">较弱</span> <span v-else>一般</span>
<span v-else-if="userConting.health == 4">有生理缺陷</span> </el-text>
<span v-else-if="userConting.health == 5">残废</span> </el-col>
<span v-else>一般</span> <el-col :span="24" class="col_box">
</el-text> <el-text class="cont_size">
</el-col> <svg-icon icon-class="phone" class="svg_box"></svg-icon>
<el-col :span="24" class="col_box"> {{ userConting.mobilephone }}
<el-text class="cont_size"> </el-text>
<svg-icon icon-class="phone" class="svg_box"></svg-icon> </el-col>
{{ userConting.mobilephone }} <el-col :span="24" class="col_box">
</el-text> <el-text class="cont_size">
</el-col> <svg-icon icon-class="address" class="svg_box"></svg-icon>
<el-col :span="24" class="col_box"> {{ userConting.currentresidence }}
<el-text class="cont_size"> </el-text>
<svg-icon icon-class="address" class="svg_box"></svg-icon> </el-col>
{{ userConting.currentresidence }}
</el-text>
</el-col>
<el-col :span="24" class="col_box"> <el-col :span="24" class="col_box">
<el-text class="cont_size"> <el-text class="cont_size">
<svg-icon icon-class="zhiye" class="svg_box"></svg-icon> <svg-icon icon-class="zhiye" class="svg_box"></svg-icon>
{{ userConting.companyname }} / {{ userConting.companyname }} / {{ userConting.maindeparmentname }}
{{ userConting.maindeparmentname }} </el-text>
</el-text> </el-col>
</el-col> <el-col :span="24" class="col_box">
<el-col :span="24" class="col_box"> <el-text class="cont_size">
<el-text class="cont_size"> <svg-icon
<svg-icon icon-class="iconfont-mingpian"
icon-class="iconfont-mingpian" class="svg_box"
class="svg_box" ></svg-icon>
></svg-icon> {{ userConting.positionname }}
{{ userConting.positionname }} </el-text>
</el-text> </el-col>
</el-col> </el-row>
</el-row> </el-col>
</el-col> <el-col :span="24">
<el-col> <el-button
<el-button type="primary"
type="primary" style="margin-top: 15px"
style="margin-top: 15px" @click="editmvorg"
@click="editmvorg" >
>编辑主行政组织</el-button 编辑主行政组织
> </el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-card> </el-card>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="12" :lg="16" :xl="16"> <!--右侧区域-->
<el-card shadow="always" class="box-card"> <el-col :xs="24" :sm="24" :md="12" :lg="16" :xl="16">
<el-tabs <el-card shadow="always" class="box-card">
v-model="activeName" <el-tabs
class="demo-tabs" v-model="activeName"
@tab-click="handleClickUser" class="demo-tabs"
> @tab-click="handleClickUser"
<el-tab-pane label="基本信息" name="1"> >
<UserContent <el-tab-pane label="基本信息" name="1" >
v-if="!editMyCont && activeName == '1'" <UserContent
v-model:editShow="editMyCont" v-if="!editMyCont && activeName == '1'"
:usercont="userConting" v-model:editShow="editMyCont"
:tabsid="activeName" :usercont="userConting"
/> :tabsid="activeName"
<EditUserContent />
v-if="editMyCont" <EditUserContent
v-model:editShow="editMyCont" v-if="editMyCont && activeName == '1'"
:usercont="userConting" v-model:editShow="editMyCont"
:tabsid="activeName" :usercont="userConting"
@refreshcontdata="refreshContPage" :tabsid="activeName"
/> @refreshcontdata="refreshContPage"
</el-tab-pane> />
<el-tab-pane label="性格色彩" name="2"> </el-tab-pane>
<CharacterColor :usercont="userConting" :tabsid="activeName" /> <el-tab-pane label="性格色彩" name="2" >
</el-tab-pane> <PersonalityTest v-if="activeName == '2'" :usercont="userConting" :tabsid="activeName" />
<el-tab-pane label="行政组织关系" name="3">
<OrgNexus :usercont="userConting" :tabsid="activeName" /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="行政组织关系" name="3" >
<el-tab-pane label="紧急联系人" name="4"> <OrgNexus v-if="activeName == '3'" :usercont="userConting" :tabsid="activeName" />
<EmergencyContactPage </el-tab-pane>
:usercont="userConting" <el-tab-pane label="紧急联系人" name="4" >
:tabsid="activeName" <EmergencyContactPage
/> v-if="activeName == '4'"
</el-tab-pane> :usercont="userConting"
<el-tab-pane label="双职工" name="5"> :tabsid="activeName"
<WorkingCouplePage :usercont="userConting" :tabsid="activeName" /> />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="家庭成员" name="6"> <el-tab-pane label="双职工" name="5" >
<FamilyMembers :usercont="userConting" :tabsid="activeName" /> <WorkingCouplePage v-if="activeName == '5'" :usercont="userConting" :tabsid="activeName" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="教育经历" name="7"> <el-tab-pane label="家庭成员" name="6" >
<EducationalExperience <FamilyMembers v-if="activeName == '6'" :usercont="userConting" :tabsid="activeName" />
:usercont="userConting" </el-tab-pane>
:tabsid="activeName" <el-tab-pane label="教育经历" name="7" >
/> <EducationalExperience
</el-tab-pane> v-if="activeName == '7'"
<el-tab-pane label="集团内部工作履历" name="8"> :usercont="userConting"
<InnerWork :usercont="userConting" :tabsid="activeName" /> :tabsid="activeName"
</el-tab-pane> />
<el-tab-pane label="集团外部工作履历" name="9"> </el-tab-pane>
<OutsideWork :usercont="userConting" :tabsid="activeName" /> <el-tab-pane label="集团内部工作履历" name="8" >
</el-tab-pane> <InnerWork v-if="activeName == '8'" :usercont="userConting" :tabsid="activeName" />
<el-tab-pane label="奖惩记录" name="10"> </el-tab-pane>
<Rewardsandpunishments <el-tab-pane label="集团外部工作履历" name="9" >
:usercont="userConting" <OutsideWork v-if="activeName == '9'" :usercont="userConting" :tabsid="activeName" />
:tabsid="activeName" </el-tab-pane>
/> <el-tab-pane label="奖惩记录" name="10" >
</el-tab-pane> <Rewardsandpunishments
<el-tab-pane label="考评记录" name="11"> v-if="activeName == '10'"
<Appraisalrecord :usercont="userConting" :tabsid="activeName" /> :usercont="userConting"
</el-tab-pane> :tabsid="activeName"
<el-tab-pane label="人才盘点" name="12"> />
<Talentinventory :usercont="userConting" :tabsid="activeName" /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="考评记录" name="11" >
<el-tab-pane label="员工用工关系" name="13"> <Appraisalrecord v-if="activeName == '11'" :usercont="userConting" :tabsid="activeName" />
<Employmentrelations :usercont="userConting" :tabsid="activeName" /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="人才盘点" name="12" >
<el-tab-pane label="职称信息" name="14"> <Talentinventory v-if="activeName == '12'" :usercont="userConting" :tabsid="activeName" />
<Jobtitle :usercont="userConting" :tabsid="activeName" /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="员工用工关系" name="13" >
<el-tab-pane label="证书信息" name="15"> <Employmentrelations v-if="activeName == '13'" :usercont="userConting" :tabsid="activeName" />
<Certificates :usercont="userConting" :tabsid="activeName" /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="职称信息" name="14" >
<el-tab-pane label="修改登陆密码" name="16"> <Jobtitle v-if="activeName == '14'" :usercont="userConting" :tabsid="activeName" />
<Editpwd :usercont="userConting" :tabsid="activeName" /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="证书信息" name="15" >
</el-tabs> <Certificates v-if="activeName == '15'" :usercont="userConting" :tabsid="activeName" />
</el-card> </el-tab-pane>
</el-col> <el-tab-pane label="修改登陆密码" name="16" >
</el-row> <Editpwd v-if="activeName == '16'" :usercont="userConting" :tabsid="activeName" />
<EditOrg </el-tab-pane>
v-model:editShow="editMyOrgCont" </el-tabs>
:usercont="userConting"
:tabsid="activeName"
@refreshcontdata="refreshContPage" </el-card>
</el-col>
</el-row>
</el-dialog>
<EditOrg
v-model:editShow="editMyOrgCont"
:usercont="userConting"
:tabsid="activeName"
@refreshcontdata="refreshContPage"
/> />
</el-dialog>
</template> </template>
<style lang="scss" scoped> <style lang='scss' scoped>
.bjg { .bjg {
background-color: aqua; background-color: aqua;
height: 50px; height: 50px;
} }
.box-card-left { .box-card-left {
text-align: center; text-align: center;
.username { .username {
margin-top: 20px; margin-top: 20px;
font-size: 35px; font-size: 35px;
} }
.usernumber { .usernumber {
margin-top: 10px; margin-top: 10px;
font-size: 25px; font-size: 25px;
} }
.user_cont { .user_cont {
width: 90%; width: 90%;
margin: auto; margin: auto;
text-align: left; text-align: left;
.col_box { .col_box {
margin-top: 10px; margin-top: 10px;
.cont_size { .cont_size {
font-size: 16px; font-size: 16px;
.svg_box { .svg_box {
margin-right: 10px; margin-right: 10px;
} }
} }
} }
} }
}
.bianKuang{
border: 1px solid #ccc;
} }
</style> </style>

577
src/views/hr/archives/archivescont_20240831.vue

@ -0,0 +1,577 @@
<!--
@ 作者: 秦东
@ 时间: 2023-06-15 13:01:11
@ 备注: 员工档案
-->
<script lang="ts" setup>
/**
* 引入页面
*/
import UserContent from "@/views/hr/archives/basicinformation/content.vue";
import EditUserContent from "@/views/hr/archives/basicinformation/editcontent.vue";
import OrgNexus from "@/views/hr/archives/basicinformation/orgnexus.vue"; //
import EmergencyContactPage from "@/views/hr/archives/basicinformation/emergencycontact.vue"; //
import WorkingCouplePage from "@/views/hr/archives/basicinformation/workingcouple.vue"; //
import FamilyMembers from "@/views/hr/archives/basicinformation/familymembers.vue"; //
import EducationalExperience from "@/views/hr/archives/basicinformation/educationalexperience.vue"; //
import InnerWork from "@/views/hr/archives/basicinformation/innerwork.vue"; //
import OutsideWork from "@/views/hr/archives/basicinformation/outsideWork.vue"; //
import Editpwd from "@/views/hr/archives/basicinformation/editpwd.vue"; //
import EditOrg from "@/views/hr/archives/basicinformation/editorg.vue"; //
import CharacterColor from "@/views/hr/archives/basicinformation/charactercolor.vue"; //
import DiscTest from "@/views/hr/archives/basicinformation/discTest.vue"; //DISC
import Rewardsandpunishments from "@/views/hr/archives/basicinformation/rewardsandpunishments.vue"; //
import Appraisalrecord from "@/views/hr/archives/basicinformation/appraisalrecord.vue"; //
import Talentinventory from "@/views/hr/archives/basicinformation/talentinventory.vue"; //
import Employmentrelations from "@/views/hr/archives/basicinformation/employmentrelations.vue"; //
import Jobtitle from "@/views/hr/archives/basicinformation/jobtitle.vue"; //
import Certificates from "@/views/hr/archives/basicinformation/certificates.vue"; //
import { archivesCont } from "@/api/hr/people/type";
import SvgIcon from "@/components/SvgIcon/index.vue";
import UserRole from "@/assets/icons/user.svg";
import { myinfostruct } from "@/api/hr/people/type";
import { getMyInfoing, editMyInfoIcon } from "@/api/hr/people/index";
import type { UploadProps } from "element-plus";
const props = defineProps({
isShow: {
type: Boolean,
default: false,
},
archivesdata: {
type: Object,
default() {
return {};
},
},
});
const emits = defineEmits([
"update:isShow",
"updatemyconting",
"getarchivespageclick",
]); //
const boxTitle = ref<string>(); //
const userIcon = ref<string>(); //
const activeName = ref("1");
const editMyCont = ref(false);
// const userConting = ref<myinfostruct>();
const userConting = reactive<myinfostruct>({
entrydatetime: "",
probationperiod: 1,
});
const rowLoading = ref(false);
const imgUploadApiUrl = import.meta.env.VITE_APP_BASE_API + "/api/upordown";
const editMyOrgCont = ref(false);
/**
* 弹窗显示控制
*/
const boxShow = computed({
get: () => props.isShow,
set: (val) => {
emits("update:isShow", val);
},
});
/**
* 获取人员数据
*/
function getjtcyList() {
rowLoading.value = true;
getMyInfoing({ id: props.archivesdata.id, idstr: props.archivesdata.idstr })
.then((data) => {
// userConting.value = data.data
userConting.id = data.data.id;
userConting.number = data.data.number; //"300450",
userConting.name = data.data.name; //"",
userConting.icon = data.data.icon; //
userConting.hireclass = data.data.hireclass; //1,
userConting.emptype = data.data.emptype; //8,
userConting.company = data.data.company; //309,
userConting.maindeparment = data.data.maindeparment; //102,
userConting.sunmaindeparment = data.data.sunmaindeparment; //272,
userConting.deparment = data.data.deparment; //"",
userConting.adminorg = data.data.adminorg; //272,
userConting.teamid = data.data.teamid; //1,
userConting.position = data.data.position; //2184,
userConting.jobclass = data.data.jobclass; //5,
userConting.jobid = data.data.jobid; //36,
userConting.jobleve = data.data.jobleve; //3,
userConting.time = data.data.time; //1656984567,
userConting.eitetime = data.data.eitetime; //1671160648,
userConting.wechat = data.data.wechat; //"",
userConting.workwechat = data.data.workwechat; //"KaiXinGuo",
userConting.state = data.data.state; //1,
userConting.key = data.data.key; //15993815826844528,
userConting.isadmin = data.data.isadmin; //4,
userConting.password = data.data.password; //"ecffe8715d2d3c2743bab6abc90e1331",
userConting.role = data.data.role; //"1",
userConting.idcardno = data.data.idcardno; //"370921198810151515",
userConting.passportno = data.data.passportno; //"",
userConting.globalroaming = data.data.globalroaming; //"",
userConting.mobilephone = data.data.mobilephone; //"15069130853",
userConting.email = data.data.email; //"",
userConting.gender = data.data.gender; //1,
userConting.birthday = data.data.birthday; //592848000,
userConting.myfolk = data.data.myfolk; //"",
userConting.nativeplace = data.data.nativeplace; //"15",
userConting.idcardstartdate = data.data.idcardstartdate; //0,
userConting.idcardenddate = data.data.idcardenddate; //0,
userConting.idcardaddress = data.data.idcardaddress; //"",
userConting.idcardIssued = data.data.idcardIssued; //"",
userConting.health = data.data.health; //2,
userConting.maritalstatus = data.data.maritalstatus; //2,
userConting.internaltelephone = data.data.internaltelephone; //"",
userConting.currentresidence = data.data.currentresidence; //"11302",
userConting.constellationing = data.data.constellationing; //1,
userConting.isdoubleworker = data.data.isdoubleworker; //2,
userConting.isveterans = data.data.isveterans; //2,
userConting.veteransnumber = data.data.veteransnumber; //"",
userConting.jobstartdate = data.data.jobstartdate; //0,
userConting.entrydate = data.data.entrydate; //0,
userConting.probationperiod = data.data.probationperiod; //0,
userConting.planformaldate = data.data.planformaldate; //0,
userConting.politicaloutlook = data.data.politicaloutlook; //1,
userConting.nameusedbefore = data.data.nameusedbefore; //"",
userConting.iconphoto = data.data.iconphoto; //"
userConting.responsibledepartment = data.data.responsibledepartment; //"",
userConting.responsibledepartmentjson = data.data.responsibledepartmentjson; //"",
userConting.birthdaytime = data.data.birthdaytime; //"1988-10-15",
userConting.idcardstarttimedata = data.data.idcardstarttimedata; //"",
userConting.idcardendtimedata = data.data.idcardendtimedata; //"",
userConting.entrydatetime = data.data.entrydatetime; //"",
userConting.planformaldatetime = data.data.planformaldatetime; //"",
userConting.doubleworkerlist = data.data.doubleworkerlist; //null,
userConting.educationalexperience = data.data.educationalexperience; //null,
userConting.emergencycontact = data.data.emergencycontact; //null,
userConting.memberoffamily = data.data.memberoffamily; //null,
userConting.workhistorylist = data.data.workhistorylist; //null,
userConting.groupworkhistorylist = data.data.groupworkhistorylist; //null,
userConting.idstr = data.data.idstr; //"78",
userConting.companyname = data.data.companyname; //"",
userConting.maindeparmentname = data.data.maindeparmentname; //"",
userConting.adminorgname = data.data.adminorgname; //"",
userConting.positionname = data.data.positionname; //"",
userConting.jobclassname = data.data.jobclassname; //"",
userConting.jobidname = data.data.jobidname; //"",
userConting.politicaloutlookname = data.data.politicaloutlookname; //"",
userConting.jobstartdatestr = data.data.jobstartdatestr; //"",
userConting.entrydatestr = data.data.entrydatestr; //"",
userConting.personincharge = data.data.personincharge; //2,
userConting.sunmaindeparmentname = data.data.sunmaindeparmentname; //"",
userConting.workpostname = data.data.workpostname; //"",
userConting.teamname = data.data.teamname; //"",
userConting.allorglist = data.data.allorglist; //[309,102,272],
userConting.ruleid = data.data.ruleid; //"0",
userConting.rulename = data.data.rulename; //"",
userConting.orgreslist = data.data.orgreslist; //null
userConting.keystr = data.data.keystr; //
userConting.interests = data.data.interests;
userConting.bloodtype = data.data.bloodtype;
userConting.natureofAccount = data.data.natureofAccount;
userConting.careerPlanning = data.data.career_planning;
userConting.helpObtained = data.data.help_obtained;
})
.finally(() => {
rowLoading.value = false;
});
}
/**
* 关闭弹窗
*/
function closeArchivesBox() {
emits("update:isShow", false);
activeName.value = "1";
editMyCont.value = false;
}
/**
* 选项卡翻页
*/
const handleClickUser = (tab: any, event: Event) => {
// console.log(tab, event)
};
/**
* 监听数据
*/
watch(
() => props.isShow,
() => {
// console.log("",props.archivesdata )
if (props.isShow) {
getjtcyList();
boxTitle.value =
"查看 " +
props.archivesdata.name +
"(工号:" +
props.archivesdata.number +
")" +
" 详情";
if (props.archivesdata.icon != "") {
userIcon.value = props.archivesdata.icon;
} else if (props.archivesdata.iconphoto != "") {
userIcon.value = props.archivesdata.iconphoto;
} else {
userIcon.value = UserRole;
}
}
}
);
/**
* 刷新编辑页面
*/
function refreshContPage(cont: archivesCont) {
emits("updatemyconting", cont);
getjtcyList();
// console.log("",cont)
// userConting.value = cont
// userConting.value.id = cont.id //78,
// userConting.id = cont.id
// userConting.number = cont.number //"300450",
// userConting.name = cont.name //"",
// userConting.icon = cont.icon //
// userConting.hireclass = cont.hireclass //1,
// userConting.emptype = cont.emptype //8,
// userConting.company = cont.company //309,
// userConting.maindeparment = cont.maindeparment //102,
// userConting.sunmaindeparment = cont.sunmaindeparment //272,
// userConting.deparment = cont.deparment //"",
// userConting.adminorg = cont.adminorg //272,
// userConting.teamid = cont.teamid //1,
// userConting.position = cont.position //2184,
// userConting.jobclass = cont.jobclass //5,
// userConting.jobid = cont.jobid //36,
// userConting.jobleve = cont.jobleve //3,
// userConting.time = cont.time //1656984567,
// userConting.eitetime = cont.eitetime //1671160648,
// userConting.wechat = cont.wechat //"",
// userConting.workwechat = cont.workwechat //"KaiXinGuo",
// userConting.state = cont.state //1,
// userConting.key = cont.key //15993815826844528,
// userConting.isadmin = cont.isadmin //4,
// userConting.password = cont.password //"ecffe8715d2d3c2743bab6abc90e1331",
// userConting.role = cont.role //"1",
// userConting.idcardno = cont.idcardno //"370921198810151515",
// userConting.passportno = cont.passportno //"",
// userConting.globalroaming = cont.globalroaming //"",
// userConting.mobilephone = cont.mobilephone //"15069130853",
// userConting.email = cont.email //"",
// userConting.gender = cont.gender //1,
// userConting.birthday = cont.birthday //592848000,
// userConting.myfolk = cont.myfolk //"",
// userConting.nativeplace = cont.nativeplace //"15",
// userConting.idcardstartdate = cont.idcardstartdate //0,
// userConting.idcardenddate = cont.idcardenddate //0,
// userConting.idcardaddress = cont.idcardaddress //"",
// userConting.idcardIssued = cont.idcardIssued //"",
// userConting.health = cont.health //2,
// userConting.maritalstatus = cont.maritalstatus //2,
// userConting.internaltelephone = cont.internaltelephone //"",
// userConting.currentresidence = cont.currentresidence //"11302",
// userConting.constellationing = cont.constellationing //1,
// userConting.isdoubleworker = cont.isdoubleworker //2,
// userConting.isveterans = cont.isveterans //2,
// userConting.veteransnumber = cont.veteransnumber //"",
// userConting.jobstartdate = cont.jobstartdate //0,
// userConting.entrydate = cont.entrydate //0,
// userConting.probationperiod = cont.probationperiod //0,
// userConting.planformaldate = cont.planformaldate //0,
// userConting.politicaloutlook = cont.politicaloutlook //1,
// userConting.nameusedbefore = cont.nameusedbefore //"",
// userConting.iconphoto = cont.iconphoto //"
// userConting.responsibledepartment = cont.responsibledepartment //"",
// userConting.responsibledepartmentjson = cont.responsibledepartmentjson //"",
// // userConting.birthdaytime = cont.birthdaytime //"1988-10-15",
// // userConting.idcardstarttimedata = cont.idcardstarttimedata //"",
// // userConting.idcardendtimedata = cont.idcardendtimedata //"",
// // userConting.entrydatetime = cont.entrydatetime //"",
// // userConting.planformaldatetime = cont.planformaldatetime //"",
// // userConting.doubleworkerlist = cont.doubleworkerlist //null,
// // userConting.educationalexperience = cont.educationalexperience //null,
// // userConting.emergencycontact = cont.emergencycontact //null,
// // userConting.memberoffamily = cont.memberoffamily //null,
// // userConting.workhistorylist = cont.workhistorylist //null,
// // userConting.groupworkhistorylist = cont.groupworkhistorylist //null,
// userConting.idstr = cont.id?.toString() //"78",
// userConting.companyname = cont.companyname //"",
// userConting.maindeparmentname = cont.maindeparmentname //"",
// // userConting.adminorgname = cont.adminorgname //"",
// userConting.positionname = cont.positionname //"",
// // userConting.jobclassname = cont.jobclassname //"",
// // userConting.jobidname = cont.jobidname //"",
// //userConting.politicaloutlookname = cont.politicaloutlookname //"",
// //userConting.jobstartdatestr = cont.jobstartdatestr //"",
// //userConting.entrydatestr = cont.entrydatestr //"",
// userConting.personincharge = cont.personincharge //2,
// userConting.sunmaindeparmentname = cont.sunmaindeparmentname //"",
// userConting.workpostname = cont.workpostname //"",
// userConting.teamname = cont.teamname //"",
// //userConting.allorglist = cont.allorglist //[309,102,272],
// //userConting.ruleid = cont.ruleid //"0",
// //userConting.rulename = cont.rulename //"",
// //userConting.orgreslist = cont.orgreslist //null
// userConting.keystr = cont.keystr //
getjtcyList();
}
const handleAvatarSuccess: UploadProps["onSuccess"] = (
response,
uploadFile,
uploadFiles
) => {
userIcon.value = URL.createObjectURL(uploadFile.raw!);
// console.log("---1--->",response)
// console.log("---2--->",uploadFile)
// console.log("----3-->",uploadFiles)
editMyInfoIcon({
id: props.archivesdata.id,
iconpath: response.data.url,
}).then((data) => {
// userConting.value = data.data
ElMessage.success("编辑成功");
emits("getarchivespageclick");
});
};
const beforeAvatarUpload: UploadProps["beforeUpload"] = (rawFile) => {
// console.log("------>",rawFile)
};
function editmvorg() {
editMyOrgCont.value = true;
}
</script>
<template>
<el-dialog
v-model="boxShow"
custom-class="dialog_box"
:title="boxTitle"
top="50px"
:before-close="closeArchivesBox"
width="80%"
>
<el-row v-loading="rowLoading" :gutter="20">
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
<el-card shadow="always" class="box-card-left">
<el-row>
<el-col :span="24">
<el-upload
class="avatar-uploader"
:action="imgUploadApiUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<el-avatar :size="180" :src="userIcon" />
</el-upload>
</el-col>
<el-col :span="24"
><el-text class="mx-1 username">{{
userConting.name
}}</el-text></el-col
>
<el-col :span="24"
><el-text class="mx-1 usernumber"
>NO.{{ userConting.number }}</el-text
></el-col
>
<el-col :span="24">
<el-row class="user_cont">
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon icon-class="gender" class="svg_box"></svg-icon>
<span v-if="userConting.gender == 1"></span>
<span v-else></span>
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon
icon-class="marriageregistration"
class="svg_box"
></svg-icon>
<span v-if="userConting.maritalstatus == 2">已婚</span>
<span v-else-if="userConting.maritalstatus == 3">丧偶</span>
<span v-else-if="userConting.maritalstatus == 4">离异</span>
<span v-else>未婚</span>
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon icon-class="qxsp" class="svg_box"></svg-icon>
{{ userConting.myfolk }}
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon
icon-class="healthcondition"
class="svg_box"
></svg-icon>
<span v-if="userConting.health == 2">良好</span>
<span v-else-if="userConting.health == 3">较弱</span>
<span v-else-if="userConting.health == 4">有生理缺陷</span>
<span v-else-if="userConting.health == 5">残废</span>
<span v-else>一般</span>
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon icon-class="phone" class="svg_box"></svg-icon>
{{ userConting.mobilephone }}
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon icon-class="address" class="svg_box"></svg-icon>
{{ userConting.currentresidence }}
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon icon-class="zhiye" class="svg_box"></svg-icon>
{{ userConting.companyname }} /
{{ userConting.maindeparmentname }}
</el-text>
</el-col>
<el-col :span="24" class="col_box">
<el-text class="cont_size">
<svg-icon
icon-class="iconfont-mingpian"
class="svg_box"
></svg-icon>
{{ userConting.positionname }}
</el-text>
</el-col>
</el-row>
</el-col>
<el-col>
<el-button
type="primary"
style="margin-top: 15px"
@click="editmvorg"
>编辑主行政组织</el-button
>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col :xs="24" :sm="24" :md="12" :lg="16" :xl="16">
<el-card shadow="always" class="box-card">
<el-tabs
v-model="activeName"
class="demo-tabs"
@tab-click="handleClickUser"
>
<el-tab-pane label="基本信息" name="1">
<UserContent
v-if="!editMyCont && activeName == '1'"
v-model:editShow="editMyCont"
:usercont="userConting"
:tabsid="activeName"
/>
<EditUserContent
v-if="editMyCont"
v-model:editShow="editMyCont"
:usercont="userConting"
:tabsid="activeName"
@refreshcontdata="refreshContPage"
/>
</el-tab-pane>
<el-tab-pane label="性格色彩" name="2">
<CharacterColor :usercont="userConting" :tabsid="activeName" />
<DiscTest :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="行政组织关系" name="3">
<OrgNexus :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="紧急联系人" name="4">
<EmergencyContactPage
:usercont="userConting"
:tabsid="activeName"
/>
</el-tab-pane>
<el-tab-pane label="双职工" name="5">
<WorkingCouplePage :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="家庭成员" name="6">
<FamilyMembers :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="教育经历" name="7">
<EducationalExperience
:usercont="userConting"
:tabsid="activeName"
/>
</el-tab-pane>
<el-tab-pane label="集团内部工作履历" name="8">
<InnerWork :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="集团外部工作履历" name="9">
<OutsideWork :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="奖惩记录" name="10">
<Rewardsandpunishments
:usercont="userConting"
:tabsid="activeName"
/>
</el-tab-pane>
<el-tab-pane label="考评记录" name="11">
<Appraisalrecord :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="人才盘点" name="12">
<Talentinventory :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="员工用工关系" name="13">
<Employmentrelations :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="职称信息" name="14">
<Jobtitle :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="证书信息" name="15">
<Certificates :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
<el-tab-pane label="修改登陆密码" name="16">
<Editpwd :usercont="userConting" :tabsid="activeName" />
</el-tab-pane>
</el-tabs>
</el-card>
</el-col>
</el-row>
<EditOrg
v-model:editShow="editMyOrgCont"
:usercont="userConting"
:tabsid="activeName"
@refreshcontdata="refreshContPage"
/>
</el-dialog>
</template>
<style lang="scss" scoped>
.bjg {
background-color: aqua;
height: 50px;
}
.box-card-left {
text-align: center;
.username {
margin-top: 20px;
font-size: 35px;
}
.usernumber {
margin-top: 10px;
font-size: 25px;
}
.user_cont {
width: 90%;
margin: auto;
text-align: left;
.col_box {
margin-top: 10px;
.cont_size {
font-size: 16px;
.svg_box {
margin-right: 10px;
}
}
}
}
}
</style>

8
src/views/hr/archives/basicinformation/appraisalrecord.vue

@ -59,6 +59,14 @@ watch(
} }
} }
); );
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getjcjlList()
})
/** /**
* 添加数据 * 添加数据
*/ */

10
src/views/hr/archives/basicinformation/certificates.vue

@ -36,6 +36,7 @@ const searchAry = reactive({
state:0, state:0,
types:4 types:4
}) })
const totalVal = ref(0)
const addzsxxBoxPage = ref(false); const addzsxxBoxPage = ref(false);
const editzsxxBoxPage = ref(false); const editzsxxBoxPage = ref(false);
const tableLoading = ref(false); const tableLoading = ref(false);
@ -64,6 +65,15 @@ watch(
} }
} }
); );
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
searchAry.id=props.usercont.keystr
getzsxxList();
})
/** /**
* 添加数据 * 添加数据
*/ */

10
src/views/hr/archives/basicinformation/charactercolor.vue

@ -66,7 +66,7 @@ const initChart = async () => {
ElMessage.error(response.data.msg || '系统出错'); ElMessage.error(response.data.msg || '系统出错');
} }
} catch (e) { } catch (e) {
console.error(e); // console.error(e);
} }
} }
// //
@ -100,7 +100,13 @@ const createRadarOptions = (radarColour: any[], colourNameList: string[]) => {
color: '#a0c3f8', color: '#a0c3f8',
}, },
data: [{ value: radarColour, data: [{ value: radarColour,
name: "个人色彩分布" name: "个人色彩分布" ,
label: {
show: true,
formatter: function (params) {
return params.value;
}
}
}], }],
itemStyle: { color: "#3c96ff" }, // itemStyle: { color: "#3c96ff" }, //
}, },

162
src/views/hr/archives/basicinformation/discTest.vue

@ -0,0 +1,162 @@
<!--
@ 作者: 秦东
@ 时间: 2024-08-31 13:37:09
@ 备注: DISC测试结果显示
-->
<script lang='ts' setup>
import * as echarts from 'echarts';
import { getUserDISCTest } from '@/api/hr/people';
const props = defineProps({
tabsid: {
type: String,
default: "1",
},
usercont:{
type:Object,
default(){
return {}
}
}
});
const disTestPageLoading = ref(false)
const disTestPage = ref<any>(null)
const disTitlePick = ref<string[]>([])
const discdrawRadar = ref(null)
//
onBeforeMount(()=>{
console.log("页面加载前先获取测试数据",props.usercont)
let sendData = {
id:props.usercont.number.toString()
}
getUserDISCTest(sendData)
.then(({data}) => {
// console.log("111111", data);
disTitlePick.value = data.ColourNameList
drawRadarChart(data.colourTitle,data.RadarColour,data.indicator)
})
});
/**
@ 作者: 秦东
@ 时间: 2024-08-30 13:37:05
@ 功能: 绘图
*/
const drawRadarChart = (radarTitle:string[],radarVal:number[],indicator:any[]) => {
console.log("drawRadarChart",indicator)
let option = {
radar: {
indicator: indicator
},
series: [
{
name: '',
type: 'radar',
data: [
{
// value: [20, 8, 15, 5, 6],
value: radarVal,
name: '性格测试诶结果',
label: {
show: true,
formatter: function (params) {
return params.value;
}
}
}
],
itemStyle: {
normal: {
color: "#1DBB37"
},
}
}
]
};
if(discdrawRadar.value){
discdrawRadar.value.clear();
discdrawRadar.value.setOption(option)
}
}
//
onMounted(()=>{
nextTick(()=>{
discdrawRadar.value = markRaw(echarts.init(disTestPage.value))
})
})
/**
@ 作者: 秦东
@ 时间: 2024-06-12 14:27:32
@ 功能: 判断该颜色是否存在了
*/
const judgaDisc = (val:string) => {
let isTyue = false;
if(disTitlePick.value && disTitlePick.value.length > 0){
disTitlePick.value.forEach((item:string)=>{
if(val == item) {
isTyue = true;
}
})
}
return isTyue
}
</script>
<template>
<div>
<div ref="disTestPage" v-loading="disTestPageLoading" element-loading-text="Loading..." class="allOrgAxisCares">
</div>
<el-text class="mx-1 title_size">DISC性格解析</el-text>
<el-row>
<el-col :span="24">
<div v-if="judgaDisc('D')">
<el-text class="mx-1 hongSe" type="info">支配型一般描述<br></el-text>
<el-text class="mx-1" type="info">爱冒险的有竞争力的大胆的直接的果断的创新的坚持不懈的问题解决者自我激励者<br></el-text>
<el-text class="mx-1" type="info">高D的情绪特征愤怒</el-text>
</div>
<div v-if="judgaDisc('I')">
<el-text class="mx-1 hongSe" type="info">影响型一般描述<br></el-text>
<el-text class="mx-1" type="info">有魅力的自信的有说服力的热情的鼓舞人心的乐观的令人信服的受欢迎的好交际的可信赖的<br></el-text>
<el-text class="mx-1" type="info">高I的情绪特征乐观</el-text>
</div>
<div v-if="judgaDisc('S')">
<el-text class="mx-1 hongSe" type="info">稳定型描述<br></el-text>
<el-text class="mx-1" type="info">友善的亲切的好的倾听者有耐心的放松的热诚的稳定的团队合作者善解人意的稳健的<br></el-text>
<el-text class="mx-1" type="info">高S的情绪特征非情绪化的</el-text>
</div>
<div v-if="judgaDisc('C')">
<el-text class="mx-1 hongSe" type="info">服从型描述<br></el-text>
<el-text class="mx-1" type="info">准确的有分析力的谨慎的谦恭的圆滑的善于发现事实高标准成熟的有耐心的严谨的<br></el-text>
<el-text class="mx-1" type="info">高C的情绪特征害怕</el-text>
</div>
</el-col>
</el-row>
</div>
</template>
<style lang='scss' scoped>
.allOrgAxisCares{
display: block;
width: 100%;
height:380px;
// overflow:auto;
}
.hongSe{
color: #FF0000;
}
.lanSe{
color: #0000FF;
}
.huangSe{
color: #FFD700;
}
.lvSe{
color: #008000;
}
.title_size{
font-size:24px;
font-weight: bold;
}
</style>

8
src/views/hr/archives/basicinformation/editpwd.vue

@ -58,6 +58,14 @@ const validatePass2 = (rule: any, value: any, callback: any) => {
editUserPwdCont.id = props.usercont.keystr.toString() editUserPwdCont.id = props.usercont.keystr.toString()
} }
}) })
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
editUserPwdCont.id = props.usercont.keystr.toString()
})
/** /**
* 提交修改密码 * 提交修改密码
*/ */

8
src/views/hr/archives/basicinformation/educationalexperience.vue

@ -45,6 +45,14 @@ function getjyjlList(){
getjyjlList() getjyjlList()
} }
}) })
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getjyjlList();
})
/** /**
* 添加数据 * 添加数据
*/ */

3
src/views/hr/archives/basicinformation/emergencycontact.vue

@ -87,6 +87,9 @@ function delJjlxrBox(cont: emergencyContact) {
}); });
}); });
} }
onMounted(()=>{
getJinjiLianXirenList();
})
</script> </script>
<template> <template>
<el-table <el-table

8
src/views/hr/archives/basicinformation/employmentrelations.vue

@ -54,6 +54,14 @@ watch(
} }
} }
); );
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getyggxList();
})
/** /**
* 添加数据 * 添加数据
*/ */

8
src/views/hr/archives/basicinformation/familymembers.vue

@ -46,6 +46,14 @@ function getjtcyList(){
getjtcyList() getjtcyList()
} }
}) })
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getjtcyList();
})
/** /**
* 添加数据 * 添加数据
*/ */

9
src/views/hr/archives/basicinformation/innerwork.vue

@ -58,6 +58,15 @@ function getjtnbgzjlList(){
getDutiesList() getDutiesList()
} }
}) })
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getjtnbgzjlList();
getDutiesList()
})
/** /**
* 添加数据 * 添加数据
*/ */

8
src/views/hr/archives/basicinformation/jobtitle.vue

@ -56,6 +56,14 @@ watch(
} }
} }
); );
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getzcxxList();
})
/** /**
* 添加数据 * 添加数据
*/ */

5
src/views/hr/archives/basicinformation/orgnexus.vue

@ -36,6 +36,11 @@ function getOrgList(){
getOrgList() getOrgList()
} }
}) })
onMounted(() => {
if(props.tabsid == "3"){
getOrgList()
}
})
</script> </script>
<template> <template>
<el-table <el-table

8
src/views/hr/archives/basicinformation/outsideWork.vue

@ -47,6 +47,14 @@ function getjtwbgzjlList(){
getjtwbgzjlList() getjtwbgzjlList()
} }
}) })
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getjtwbgzjlList()
})
/** /**
* 添加数据 * 添加数据
*/ */

72
src/views/hr/archives/basicinformation/personalityTest.vue

@ -0,0 +1,72 @@
<!--
@ 作者: 秦东
@ 时间: 2024-08-31 16:56:19
@ 备注: 性格测试结果
-->
<script lang='ts' setup>
import CharacterColor from "@/views/hr/archives/basicinformation/charactercolor.vue"; //
import DiscTest from "@/views/hr/archives/basicinformation/discTest.vue"; //DISC
const props = defineProps({
tabsid: {
type: String,
default: "1",
},
usercont:{
type:Object,
default(){
return {}
}
}
});
/**
@ 作者: 秦东
@ 时间: 2024-08-30 14:52:29
@ 功能: 判断现实哪种测验结果
*/
const isTestShouw = (val:number) => {
// console.log("",props.usercont.isColorTrue)
switch (props.usercont.isColorTrue) {
case 1:
if(val == 1){
return true
}else{
return false
}
break;
case 3:
if(val == 2){
return true
}else{
return false
}
break;
case 4:
if(val == 3){
return false
}else{
return true
}
break;
case 5:
if(val == 3){
return true
}else{
return false
}
break;
default:
return false
break;
}
}
</script>
<template>
<div>
<CharacterColor v-if="isTestShouw(1)" :usercont="props.usercont" :tabsid="props.tabsid" />
<DiscTest v-if="isTestShouw(2)" :usercont="props.usercont" :tabsid="props.tabsid" />
</div>
</template>
<style lang='scss' scoped>
</style>

8
src/views/hr/archives/basicinformation/rewardsandpunishments.vue

@ -65,6 +65,14 @@ watch(
} }
} }
); );
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getRewPunList()
})
/** /**
* 添加数据 * 添加数据
*/ */

9
src/views/hr/archives/basicinformation/talentinventory.vue

@ -58,6 +58,15 @@ watch(
} }
} }
); );
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
peopd.zy=props.usercont.careerPlanning
peopd.bz=props.usercont.helpObtained
})
/** /**
* 添加数据 * 添加数据
*/ */

8
src/views/hr/archives/basicinformation/workingcouple.vue

@ -75,6 +75,14 @@ function editSzgBox(cont:shuangzhigong){
}); });
}); });
} }
/**
@ 作者: 秦东
@ 时间: 2024-08-31 16:14:47
@ 功能: 首页页面渲染加载
*/
onMounted(()=>{
getshuangzhigongList();
})
</script> </script>
<template> <template>
<el-table <el-table

Loading…
Cancel
Save