Browse Source

完成人员家庭成员相关开发

dev
超级管理员 3 years ago
parent
commit
67dc6a05fc
  1. 23
      src/api/people/peopledata.js
  2. 1
      src/api/personnel/post.js
  3. 122
      src/api/systemaccredit/systemhrapi.js
  4. 32
      src/views/hr/newhr/addpeople.vue
  5. 196
      src/views/hr/newhr/doubleemployees.vue
  6. 190
      src/views/hr/newhr/emergencycontact.vue
  7. 44
      src/views/hr/newhr/employmentrelationship.vue
  8. 222
      src/views/hr/newhr/familymembers.vue
  9. 29
      src/views/hr/newhr/people.vue
  10. 111
      src/views/hr/newhr/peoplecont.vue
  11. 772
      src/views/hr/newhr/peopleinfor.vue
  12. 61
      src/views/hr/newhr/personneleducation.vue
  13. 164
      src/views/hr/newhr/workhistory.vue

23
src/api/people/peopledata.js

@ -294,7 +294,25 @@ const positiongrade = [
tittle:'三级' tittle:'三级'
} }
]; ];
//学位
const academicDegree =[
{
id:1,
title:'无'
},
{
id:2,
title:'学士'
},
{
id:3,
title:'硕士'
},
{
id:4,
title:'博士'
},
];
//注册定义的方法 //注册定义的方法
export const peopleMethod= { export const peopleMethod= {
sexData, sexData,
@ -305,7 +323,8 @@ export const peopleMethod= {
politicsList, politicsList,
educationList, educationList,
employmentType, employmentType,
positiongrade positiongrade,
academicDegree
}; };

1
src/api/personnel/post.js

@ -356,3 +356,4 @@ export const newAddPeopleCont = (data) => {
data: data data: data
}) })
} }

122
src/api/systemaccredit/systemhrapi.js

@ -69,3 +69,125 @@ export const getPersonneleDucationlist = (data) => {
data: data data: data
}) })
} }
//获取工作履历列表
export const getWorkHistoryList = (data) => {
return request({
url: '/staff/workhistorylist',
method: 'post',
data: data
})
}
//获取集团工作履历列表
export const getInsiDeworkHistoryList = (data) => {
return request({
url: '/staff/getinsideworkhistorylist',
method: 'post',
data: data
})
}
//获取资料完整度
export const getDataIntegrity = (data) => {
return request({
url: '/staff/get_peo_data_integrity',
method: 'post',
data: data
})
}
//编辑人员行政组织
export const editManOrgCont = (data) => {
return request({
url: '/staff/edit_man_org_cont',
method: 'post',
data: data
})
}
//编辑人员基本信息
export const editManPeopleCont = (data) => {
return request({
url: '/staff/edit_manmain_cont',
method: 'post',
data: data
})
}
//添加紧急联系人
export const addEmercyCall = (data) => {
return request({
url: '/staff/addemercycall',
method: 'post',
data: data
})
}
//编辑紧急联系人状态
export const editEmercyCallState = (data) => {
return request({
url: '/staff/editemercycallstate',
method: 'post',
data: data
})
}
//编辑紧急联系人信息
export const editEmercyCallCont = (data) => {
return request({
url: '/staff/editemercycall',
method: 'post',
data: data
})
}
//添加双职工
export const AddDoubleWorker = (data) => {
return request({
url: '/staff/adddoubleworker',
method: 'post',
data: data
})
}
//编辑双职工信息
export const EditDoubleWorker = (data) => {
return request({
url: '/staff/eidtdoubleworker',
method: 'post',
data: data
})
}
//编辑双职工信息
export const editDoubleWorkerState = (data) => {
return request({
url: '/staff/eidtdoubleworkerstate',
method: 'post',
data: data
})
}
//添加家庭成员
export const addFamilyMembers = (data) => {
return request({
url: '/staff/addfamilymembers',
method: 'post',
data: data
})
}
//编辑家庭成员
export const editFamilyMembers = (data) => {
return request({
url: '/staff/editfamilymembers',
method: 'post',
data: data
})
}
//编辑家庭成员
export const editFamilyMembersState = (data) => {
return request({
url: '/staff/editfamilymemberssatte',
method: 'post',
data: data
})
}

32
src/views/hr/newhr/addpeople.vue

@ -212,16 +212,6 @@
:props="propsdepart" :props="propsdepart"
filterable> filterable>
</el-cascader> </el-cascader>
<!-- <el-select filterable v-model="addNewPeopleCont.adminorg" clearable placeholder="请选择" @change="orgChange">
<el-option
v-for="item in GovthreeList2"
:key="item.id"
:label="item.tittle"
:value="item.id"
>
</el-option>
</el-select> -->
<el-popover <el-popover
:visible-arrow="true" :visible-arrow="true"
placement="bottom" placement="bottom"
@ -604,7 +594,7 @@
</template> </template>
<script> <script>
import { govthree, positionlist,archiveslist,teamcontlist,orgThreeList,positionlistIsMe,dutieslist } from "@/api/personnel/post"; import { govthree, positionlist,archiveslist,teamcontlist,orgThreeList,positionlistIsMe,dutieslist,newAddPeopleCont } from "@/api/personnel/post";
import { peopleMethod,getNtoMonth,judgeArray } from "@/api/people/peopledata"; import { peopleMethod,getNtoMonth,judgeArray } from "@/api/people/peopledata";
import { calculationDate } from "@/api/time/dateval" import { calculationDate } from "@/api/time/dateval"
export default { export default {
@ -820,6 +810,26 @@ export default {
sendTo = true sendTo = true
if(sendTo){
const res = await newAddPeopleCont(this.addNewPeopleCont);
if(res.code == 0){
this.$confirm('新增成功!是否继续添加?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.initData();
}).catch(() => {
this.closeAddPeople();
});
}else{
this.$message({
type: 'warning',
message: res.msg,
showClose: true
})
}
}
console.log("提交数据---------->",sendTo,this.addNewPeopleCont) console.log("提交数据---------->",sendTo,this.addNewPeopleCont)
this.$forceUpdate() this.$forceUpdate()
}, },

196
src/views/hr/newhr/doubleemployees.vue

@ -60,16 +60,103 @@
</template> </template>
</el-col> </el-col>
</el-row> </el-row>
<!--添加-->
<el-dialog :close-on-click-modal="false" :visible.sync="showBoxCont.addBox" title="添加信息" :before-close="closeAddDialog" width="40%">
<el-form ref="addForm" :model="addCont" :rules="addRules" label-width="120px" class="demo-ruleForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="addCont.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobilephone">
<el-input v-model="addCont.mobilephone" placeholder="请输入信息电话"></el-input>
</el-form-item>
<el-form-item label="所在公司" prop="company">
<el-input v-model="addCont.company" placeholder="请输入所在公司"></el-input>
</el-form-item>
<el-form-item label="所在部门" prop="department">
<el-input v-model="addCont.department" placeholder="请输入所在部门"></el-input>
</el-form-item>
<el-form-item label="职务" prop="position">
<el-input v-model="addCont.position" placeholder="请输入职务"></el-input>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="addContsubmit" :loading="showBoxCont.addBoxIsTrue"> </el-button>
<el-button size="small" @click="closeAddDialog"> </el-button>
</div>
</template>
</el-dialog>
<!--编辑-->
<el-dialog :close-on-click-modal="false" :visible.sync="showBoxCont.editBox" title="编辑信息" :before-close="closeEditDialog" width="40%">
<el-form ref="editForm" :model="editCont" :rules="addRules" label-width="120px" class="demo-ruleForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="editCont.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobilephone">
<el-input v-model="editCont.mobilephone" placeholder="请输入信息电话"></el-input>
</el-form-item>
<el-form-item label="所在公司" prop="company">
<el-input v-model="editCont.company" placeholder="请输入所在公司"></el-input>
</el-form-item>
<el-form-item label="所在部门" prop="department">
<el-input v-model="editCont.department" placeholder="请输入所在部门"></el-input>
</el-form-item>
<el-form-item label="职务" prop="position">
<el-input v-model="editCont.position" placeholder="请输入职务"></el-input>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="editContsubmit" :loading="showBoxCont.editBoxIsTrue"> </el-button>
<el-button size="small" @click="closeEditDialog"> </el-button>
</div>
</template>
</el-dialog>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script> <script>
import { getDoubleWorkerList } from "@/api/systemaccredit/systemhrapi" import { getDoubleWorkerList,AddDoubleWorker,EditDoubleWorker,editDoubleWorkerState } from "@/api/systemaccredit/systemhrapi"
export default { export default {
name:"emergencycontact", name:"emergencycontact",
props:['userKey'], props:['userKey'],
data() { data() {
return { return {
emergencyContactList:[], // emergencyContactList:[], //
showBoxCont:{
addBox:false,
addBoxIsTrue:false,
editBox:false,
editBoxIsTrue:false,
delBox:false,
delBoxIsTrue:false,
},
addCont:{
id:"",
name:"",
company:"",
department:"",
position:"",
mobilephone:""
}, //
addRules:{
name: [{ required: true, message: '必填', trigger: 'blur' }],
mobilephone: [
{ required: true, message: '必填', trigger: 'blur' },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
},
],
company: [{ required: true, message: '必填', trigger: 'blur' }],
department: [{ required: true, message: '必填', trigger: 'blur' }]
}, //
editCont:{}, //
} }
}, },
created(){ created(){
@ -80,6 +167,57 @@ export default {
// //
showAddBase(val){ showAddBase(val){
console.log("编辑基本信息--------->",val) console.log("编辑基本信息--------->",val)
this.addCont.id = val
this.showBoxCont.addBox = true
},
//
async addContsubmit(){
console.log("添加数据处理--------->",this.addCont)
this.showBoxCont.addBoxIsTrue = true;
this.$refs.addForm.validate(async valid => {
if (valid) {
let res = await AddDoubleWorker(this.addCont)
if(res.code == 0){
this.$confirm('新增成功!是否继续添加?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.showBoxCont.addBoxIsTrue = false;
this.initData();
this.getEmergencyContact();
this.$forceUpdate()
}).catch(() => {
this.showBoxCont.addBoxIsTrue = false;
this.getEmergencyContact();
this.$forceUpdate();
this.closeAddDialog();
});
}
}else {
this.showBoxCont.addBoxIsTrue = false;
return false;
}
});
},
//
closeAddDialog(){
this.showBoxCont.addBox = false;
this.showBoxCont.addBoxIsTrue = false;
this.initData();
// this.initForm();
},
//
initData(){
this.$refs.addForm.resetFields();
this.addCont={
// id:"",
name:"",
company:"",
department:"",
position:"",
mobilephone:""
}
}, },
// //
async getEmergencyContact(){ async getEmergencyContact(){
@ -93,10 +231,66 @@ export default {
// //
async showEditBase(val){ async showEditBase(val){
console.log("编辑--------->",val) console.log("编辑--------->",val)
this.editCont={
id:val.id.toString(),
name:val.name,
company:val.company,
department:val.department,
position:val.position,
mobilephone:val.tel
}
this.showBoxCont.editBox = true
},
//
async editContsubmit(){
this.showBoxCont.editBoxIsTrue = true;
this.$refs.editForm.validate(async valid => {
// console.log("---------------2--",valid)
if (valid) {
let res = await EditDoubleWorker(this.editCont)
if(res.code == 0){
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getEmergencyContact();
this.closeEditDialog();
this.$forceUpdate();
}
}else {
this.showBoxCont.editBoxIsTrue = false;
return false;
}
});
},
//
closeEditDialog(){
this.showBoxCont.editBox = false;
this.showBoxCont.editBoxIsTrue = false;
}, },
// //
async showDelBase(val){ async showDelBase(val){
console.log("删除--------->",val) console.log("删除--------->",val)
this.$confirm('确定要删除吗?已经删除,资料将不复存在!', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async() => {
let sendData = {
id:val.id.toString(),
state:3,
}
let res = await editDoubleWorkerState(sendData)
if(res.code == 0){
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getEmergencyContact();
}
});
}, },
} }
} }

190
src/views/hr/newhr/emergencycontact.vue

@ -57,16 +57,93 @@
</template> </template>
</el-col> </el-col>
</el-row> </el-row>
<!--添加紧急联系人-->
<el-dialog :close-on-click-modal="false" :visible.sync="showBoxCont.addBox" title="添加紧急联系人" :before-close="closeAddDialog" width="40%">
<el-form ref="addForm" :model="addCont" :rules="addRules" label-width="120px" class="demo-ruleForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="addCont.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobilephone">
<el-input v-model="addCont.mobilephone" placeholder="请输入紧急联系人电话"></el-input>
</el-form-item>
<el-form-item label="与联系人关系" prop="relationship">
<el-input v-model="addCont.relationship" placeholder="请输入紧急联系人与您的关系"></el-input>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="addContsubmit" :loading="showBoxCont.addBoxIsTrue"> </el-button>
<el-button size="small" @click="closeAddDialog"> </el-button>
</div>
</template>
</el-dialog>
<!--编辑紧急联系人-->
<el-dialog :close-on-click-modal="false" :visible.sync="showBoxCont.editBox" title="编辑紧急联系人信息" :before-close="closeEditDialog" width="40%">
<el-form ref="editForm" :model="editCont" :rules="addRules" label-width="120px" class="demo-ruleForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="editCont.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobilephone">
<el-input v-model="editCont.mobilephone" placeholder="请输入紧急联系人电话"></el-input>
</el-form-item>
<el-form-item label="与联系人关系" prop="relationship">
<el-input v-model="editCont.relationship" placeholder="请输入紧急联系人与您的关系"></el-input>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="editContsubmit" :loading="showBoxCont.editBoxIsTrue"> </el-button>
<el-button size="small" @click="closeEditDialog"> </el-button>
</div>
</template>
</el-dialog>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script> <script>
import { getEmergencyContactList } from "@/api/systemaccredit/systemhrapi" import { getEmergencyContactList,addEmercyCall,editEmercyCallState,editEmercyCallCont } from "@/api/systemaccredit/systemhrapi"
export default { export default {
name:"emergencycontact", name:"emergencycontact",
props:['userKey'], props:['userKey'],
data() { data() {
return { return {
emergencyContactList:[], // emergencyContactList:[], //
showBoxCont:{
addBox:false,
addBoxIsTrue:false,
editBox:false,
editBoxIsTrue:false,
delBox:false,
delBoxIsTrue:false,
},
addCont:{
name:"",
mobilephone:"",
relationship:""
}, //
addRules:{
name: [{ required: true, message: '必填', trigger: 'blur' }],
mobilephone: [
{ required: true, message: '必填', trigger: 'blur' },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
},
],
relationship: [{ required: true, message: '必填', trigger: 'blur' }]
}, //
editCont:{
id:"",
name:"",
mobilephone:"",
relationship:""
}, //
} }
}, },
created(){ created(){
@ -74,9 +151,60 @@ export default {
this.getEmergencyContact() this.getEmergencyContact()
}, },
methods:{ methods:{
// //
showAddBase(val){ showAddBase(val){
console.log("编辑基本信息--------->",val) console.log("添加紧急联系人--------->",val)
this.showBoxCont.addBox = true;
},
//
closeAddDialog(){
this.showBoxCont.addBox = false;
this.showBoxCont.addBoxIsTrue = false;
this.initData();
},
//
async addContsubmit(){
this.showBoxCont.addBoxIsTrue = true;
this.$refs.addForm.validate(async valid => {
console.log("提交添加紧急联系人数据---------------2--",valid)
if (valid) {
let sendData = {
id:this.userKey,
list:[
this.addCont
]
}
let res = await addEmercyCall(sendData)
this.$confirm('新增成功!是否继续添加?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.showBoxCont.addBoxIsTrue = false;
this.initData();
this.getEmergencyContact();
this.$forceUpdate()
}).catch(() => {
this.showBoxCont.addBoxIsTrue = false;
this.getEmergencyContact();
this.$forceUpdate();
this.closeAddDialog();
});
} else {
// console.log('error submit!!');
this.showBoxCont.addBoxIsTrue = false;
return false;
}
});
},
//
initData(){
this.$refs.addForm.resetFields();
this.addCont={
name:"",
tel:"",
relationship:""
}
}, },
// //
async getEmergencyContact(){ async getEmergencyContact(){
@ -90,11 +218,65 @@ export default {
// //
async showEditBase(val){ async showEditBase(val){
console.log("编辑--------->",val) console.log("编辑--------->",val)
this.editCont={
id:val.id.toString(),
name:val.name,
mobilephone:val.tel,
relationship:val.relationship
} //
this.showBoxCont.editBox = true;
},
//
async editContsubmit(){
this.showBoxCont.editBoxIsTrue = true;
this.$refs.editForm.validate(async valid => {
console.log("提交编辑数据提交数据---------------2--",valid)
if (valid) {
let res = await editEmercyCallCont(this.editCont)
if(res.code == 0){
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getEmergencyContact();
this.closeEditDialog();
}
}else {
this.showBoxCont.editBoxIsTrue = false;
return false;
}
});
},
//
closeEditDialog(){
this.showBoxCont.editBox = false;
this.showBoxCont.editBoxIsTrue = false;
}, },
// //
async showDelBase(val){ async showDelBase(val){
console.log("删除--------->",val) this.$confirm('确定要删除吗?已经删除,资料将不复存在!', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async() => {
let sendData = {
id:val.id.toString(),
state:3,
}
let res = await editEmercyCallState(sendData)
if(res.code == 0){
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getEmergencyContact();
}
});
}, },
//
} }
} }
</script> </script>

44
src/views/hr/newhr/employmentrelationship.vue

@ -2,7 +2,37 @@
<el-scrollbar > <el-scrollbar >
<el-row class="title_body"> <el-row class="title_body">
<el-col :span="20"> <el-col :span="20">
<span class="cont_header_title"><i class="el-icon-s-order"></i>员工用工关系</span> <span class="cont_header_title"><i class="el-icon-s-order"></i>集团年限信息</span>
</el-col>
<el-col :span="4" class="edit_buttion">
<el-button
icon="el-icon-plus"
size="small"
type="text"
@click="showAddBase(userKey)"
>编辑</el-button>
</el-col>
</el-row>
<el-divider style="margin:0"></el-divider>
<el-row>
<el-col :span="24" class="cont_body">
<el-descriptions class="margin-top" :column="4" direction="vertical">
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="首次加入集团日期"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="本次加入集团日期"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="集团工龄(年)"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="实际工龄"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
<el-row class="title_body">
<el-col :span="20">
<span class="cont_header_title"><i class="el-icon-s-order"></i>公司职业信息</span>
</el-col> </el-col>
<el-col :span="4" class="edit_buttion"> <el-col :span="4" class="edit_buttion">
<el-button <el-button
@ -16,6 +46,18 @@
<el-divider style="margin:0"></el-divider> <el-divider style="margin:0"></el-divider>
<el-row> <el-row>
<el-col :span="24" class="cont_body"> <el-col :span="24" class="cont_body">
<el-descriptions class="margin-top" :column="4" direction="vertical">
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="面试人"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="面试评语"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="集团工龄(年)"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="实际工龄"><div class="bottment_line">{{ userKey }}</div></el-descriptions-item>
</el-descriptions>
</el-col> </el-col>
</el-row> </el-row>
</el-scrollbar> </el-scrollbar>

222
src/views/hr/newhr/familymembers.vue

@ -70,16 +70,123 @@
</template> </template>
</el-col> </el-col>
</el-row> </el-row>
<!--添加-->
<el-dialog :close-on-click-modal="false" :visible.sync="showBoxCont.addBox" title="添加信息" :before-close="closeAddDialog" width="40%">
<el-form ref="addForm" :model="addCont" :rules="addRules" label-width="120px" class="demo-ruleForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="addCont.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobilephone">
<el-input v-model="addCont.mobilephone" placeholder="请输入信息电话"></el-input>
</el-form-item>
<el-form-item label="所在公司" >
<el-input v-model="addCont.company" placeholder="请输入所在公司"></el-input>
</el-form-item>
<el-form-item label="所在部门" >
<el-input v-model="addCont.department" placeholder="请输入所在部门"></el-input>
</el-form-item>
<el-form-item label="亲属关系" >
<el-input v-model="addCont.relationship" placeholder="请输入亲属关系"></el-input>
</el-form-item >
<el-form-item label="政治面貌" >
<el-select v-model="addCont.politicaloutlook" placeholder="请选择政治面貌">
<el-option v-for="itemPoliti in politicsList" :label="itemPoliti.tittle" :value="itemPoliti.id" :key="itemPoliti.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="addContsubmit" :loading="showBoxCont.addBoxIsTrue"> </el-button>
<el-button size="small" @click="closeAddDialog"> </el-button>
</div>
</template>
</el-dialog>
<!--编辑-->
<el-dialog :close-on-click-modal="false" :visible.sync="showBoxCont.editBox" title="编辑信息" :before-close="closeEditDialog" width="40%">
<el-form ref="editForm" :model="editCont" :rules="addRules" label-width="120px" class="demo-ruleForm">
<el-form-item label="姓名" prop="name">
<el-input v-model="editCont.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobilephone">
<el-input v-model="editCont.mobilephone" placeholder="请输入信息电话"></el-input>
</el-form-item>
<el-form-item label="所在公司" >
<el-input v-model="editCont.company" placeholder="请输入所在公司"></el-input>
</el-form-item>
<el-form-item label="所在部门" >
<el-input v-model="editCont.department" placeholder="请输入所在部门"></el-input>
</el-form-item>
<el-form-item label="亲属关系" >
<el-input v-model="editCont.relationship" placeholder="请输入亲属关系"></el-input>
</el-form-item >
<el-form-item label="政治面貌" >
<el-select v-model="editCont.politicaloutlook" placeholder="请选择政治面貌">
<el-option v-for="itemPoliti in politicsList" :label="itemPoliti.tittle" :value="itemPoliti.id" :key="itemPoliti.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="editContsubmit" :loading="showBoxCont.editBoxIsTrue"> </el-button>
<el-button size="small" @click="closeEditDialog"> </el-button>
</div>
</template>
</el-dialog>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script> <script>
import { getFamilyList } from "@/api/systemaccredit/systemhrapi" import { getFamilyList,addFamilyMembers,editFamilyMembers,editFamilyMembersState } from "@/api/systemaccredit/systemhrapi"
import { peopleMethod } from "@/api/people/peopledata"
export default { export default {
name:"familymembers", name:"familymembers",
props:['userKey'], props:['userKey'],
data() { data() {
return { return {
contList:[], // contList:[], //
politicsList:peopleMethod.politicsList, //
showBoxCont:{
addBox:false,
addBoxIsTrue:false,
editBox:false,
editBoxIsTrue:false,
},
addCont:{
name:"",
relationship:"",
mobilephone:"",
company:"",
department:"",
politicaloutlook:""
}, //
addRules:{
name: [{ required: true, message: '必填', trigger: 'blur' }],
mobilephone: [
{ required: true, message: '必填', trigger: 'blur' },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
},
],
company: [{ required: true, message: '必填', trigger: 'blur' }],
department: [{ required: true, message: '必填', trigger: 'blur' }]
}, //
editCont:{}, //
} }
}, },
created(){ created(){
@ -90,6 +197,62 @@ export default {
// //
showAddBase(val){ showAddBase(val){
console.log("新增信息--------->",val) console.log("新增信息--------->",val)
this.showBoxCont.addBox=true
},
//
async addContsubmit(){
this.showBoxCont.addBoxIsTrue = true;
this.$refs.addForm.validate(async valid => {
if (valid) {
let userKeyStr = this.userKey*1
let sendData = {
// id:userKeyStr.toString(),
id:this.userKey,
list:[this.addCont]
}
let res = await addFamilyMembers(sendData)
if(res.code == 0){
this.$confirm('新增成功!是否继续添加?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.showBoxCont.addBoxIsTrue = false;
this.initData();
this.getEmergencyContact();
this.$forceUpdate()
}).catch(() => {
this.showBoxCont.addBoxIsTrue = false;
this.getEmergencyContact();
this.$forceUpdate();
this.closeAddDialog();
});
}
}else {
this.showBoxCont.addBoxIsTrue = false;
return false;
}
});
},
//
closeAddDialog(){
this.showBoxCont.addBox = false;
this.showBoxCont.addBoxIsTrue = false;
this.initData();
// this.initForm();
},
//
initData(){
this.$refs.addForm.resetFields();
this.addCont={
name:"",
relationship:"",
mobilephone:"",
company:"",
department:"",
politicaloutlook:""
}
}, },
// //
async getEmergencyContact(){ async getEmergencyContact(){
@ -103,10 +266,65 @@ export default {
// //
async showEditBase(val){ async showEditBase(val){
console.log("编辑--------->",val) console.log("编辑--------->",val)
this.editCont={
id:val.id.toString(),
name:val.name,
relationship:val.relationship,
mobilephone:val.tel,
company:val.company,
department:val.deparment,
politicaloutlook:val.politicaloutlook
};
this.showBoxCont.editBox=true
},
//
async editContsubmit(){
this.showBoxCont.editBoxIsTrue = true;
this.$refs.editForm.validate(async valid => {
// console.log("---------------2--",valid)
if (valid) {
let res = await editFamilyMembers(this.editCont)
if(res.code == 0){
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getEmergencyContact();
this.closeEditDialog();
this.$forceUpdate();
}
}else {
this.showBoxCont.editBoxIsTrue = false;
return false;
}
});
},
closeEditDialog(){
this.showBoxCont.editBox=false;
this.showBoxCont.editBoxIsTrue=false;
}, },
// //
async showDelBase(val){ async showDelBase(val){
console.log("删除--------->",val) this.$confirm('确定要删除吗?已经删除,资料将不复存在!', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async() => {
let sendData = {
id:val.id.toString(),
state:3,
}
let res = await editFamilyMembersState(sendData)
if(res.code == 0){
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getEmergencyContact();
}
});
}, },
} }
} }

29
src/views/hr/newhr/people.vue

@ -671,11 +671,26 @@ export default {
} }
}, },
created(){ created(){
// this.searchInfo= {
// page: this.$route.query.page,
// number:this.$route.query.number,
// name:this.$route.query.name,
// hireclass:this.$route.query.hireclass,
// company:this.$route.query.company,
// adminorg:this.$route.query.adminorg,
// position:this.$route.query.position,
// emptype:this.$route.query.emptype,
// role:this.$route.query.role
// }
if(this.$route.query.page) this.searchInfo.page=this.$route.query.page;
if(this.$route.query.adminorg) this.searchInfo.adminorg=this.$route.query.adminorg;
if(this.$route.query.position) this.searchInfo.position=this.$route.query.position;
// //
this.getGovthree2(); this.getGovthree2();
this.getPeopleList() this.getPeopleList()
this.getTeam(); this.getTeam();
this.getDutieslist(); this.getDutieslist();
}, },
methods:{ methods:{
// //
@ -692,6 +707,7 @@ export default {
// //
handleNodeClick(val) { handleNodeClick(val) {
this.searchInfo.page= 1;
// this.searchInfo.organization=val.id // this.searchInfo.organization=val.id
// this.searchInfo.organization=this.searchInfo.organization.toString() // this.searchInfo.organization=this.searchInfo.organization.toString()
this.getPost(val.id); this.getPost(val.id);
@ -712,6 +728,7 @@ export default {
}, },
// //
NodePostClick(val) { NodePostClick(val) {
this.searchInfo.page= 1;
this.searchInfo.position=val.id this.searchInfo.position=val.id
this.getPeopleList() this.getPeopleList()
}, },
@ -729,6 +746,7 @@ export default {
}, },
// //
searchSubmit(){ searchSubmit(){
this.searchInfo.page= 1;
this.getPeopleList() this.getPeopleList()
}, },
// //
@ -830,7 +848,16 @@ export default {
this.$router.push({ this.$router.push({
path:'/hr/employeeinformation', path:'/hr/employeeinformation',
query:{ query:{
id:val.id id:val.id,
page:this.searchInfo.page,
number:this.searchInfo.number,
name:this.searchInfo.name,
hireclass:this.searchInfo.hireclass,
company:this.searchInfo.company,
adminorg:this.searchInfo.adminorg,
position:this.searchInfo.position,
emptype:this.searchInfo.emptype,
role:this.searchInfo.page,
} }
}) })
}, },

111
src/views/hr/newhr/peoplecont.vue

@ -7,7 +7,7 @@
<i class="el-icon-s-custom icon_size"></i> <i class="el-icon-s-custom icon_size"></i>
</el-avatar> </el-avatar>
</el-col> </el-col>
<el-col :span="14"> <el-col :span="18">
<el-row> <el-row>
<el-col :span="24" class="mycont_one"> <el-col :span="24" class="mycont_one">
<span>{{ peopleCont.name }}</span> <a>工号{{ peopleCont.number }}</a>{{ peopleCont.positionname }} <span>{{ peopleCont.name }}</span> <a>工号{{ peopleCont.number }}</a>{{ peopleCont.positionname }}
@ -22,7 +22,29 @@
<el-col class="col_text" :span="24">{{ peopleCont.joblevename }}{{ peopleCont.jobname }} {{ peopleCont.jobclassname }} <span>{{ peopleCont.teamname }}</span><span>TEL:{{ peopleCont.tel }}</span></el-col> <el-col class="col_text" :span="24">{{ peopleCont.joblevename }}{{ peopleCont.jobname }} {{ peopleCont.jobclassname }} <span>{{ peopleCont.teamname }}</span><span>TEL:{{ peopleCont.tel }}</span></el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="4">
<el-row>
<el-col :span="24" class="col_text_but">
<el-button
style="padding:0px"
size="mini"
type="text"
@click="callBackPage"
><i class="fa fa-reply"></i>返回</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="col_text_title">
资料完整度
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="col_text_yuan">
<el-progress :width="windthSize" type="circle" :percentage="sata_integrity"></el-progress>
</el-col>
</el-row>
</el-col>
</el-row> </el-row>
</el-header> </el-header>
<el-container> <el-container>
@ -122,7 +144,7 @@
</el-container> </el-container>
</template> </template>
<script> <script>
import { getOnlyOnePeopleCont,getOnlyOnePeopleMainCont } from "@/api/systemaccredit/systemhrapi" import { getDataIntegrity,getOnlyOnePeopleMainCont } from "@/api/systemaccredit/systemhrapi"
import { import {
peopleinfor, peopleinfor,
@ -153,18 +175,44 @@ export default {
}, },
data() { data() {
return { return {
windthSize:65,
sata_integrity:0, //
userid:"", //ID userid:"", //ID
userKey: "", //Key userKey: "", //Key
peopleCont:{}, // peopleCont:{}, //
pageSetUp:1, // pageSetUp:1, //
searchInfo: {
page: 1,
number:"",
name:"",
hireclass:0,
company:0,
adminorg:0,
position:0,
emptype:"",
role:""
},
} }
}, },
created(){ created(){
let id = this.$route.query.id let id = this.$route.query.id
this.searchInfo= {
page: this.$route.query.page,
number:this.$route.query.number,
name:this.$route.query.name,
hireclass:this.$route.query.hireclass,
company:this.$route.query.company,
adminorg:this.$route.query.adminorg,
position:this.$route.query.position,
emptype:this.$route.query.emptype,
role:this.$route.query.role
},
console.log("接收值id----------》",id) console.log("接收值id----------》",id)
this.userid = id this.userid = id
this.getPeopleCont(id) this.getPeopleCont(id)
this.getDataIntegrity(id)
}, },
methods:{ methods:{
@ -183,6 +231,36 @@ export default {
console.log("单击菜单操作----------》",id) console.log("单击菜单操作----------》",id)
this.pageSetUp = id this.pageSetUp = id
}, },
//
//
async callBackPage(){
this.$router.push({
path:'/hr/personnel',
query:{
page:this.searchInfo.page,
number:this.searchInfo.number,
name:this.searchInfo.name,
hireclass:this.searchInfo.hireclass,
company:this.searchInfo.company,
adminorg:this.searchInfo.adminorg,
position:this.searchInfo.position,
emptype:this.searchInfo.emptype,
role:this.searchInfo.page,
}
})
},
//
async getDataIntegrity(id){
let sendData = {
id:this.id,
idstr:id.toString()
}
let res = await getDataIntegrity(sendData)
this.sata_integrity = res.data
console.log("获取资料完整度----------》",res)
},
} }
} }
</script> </script>
@ -241,6 +319,23 @@ export default {
.col_text span{ .col_text span{
margin-left: 25px; margin-left: 25px;
} }
.col_text_but{
line-height: 20px;
text-align: right;
padding-right: 10px;
}
.col_text_title{
line-height: 20px;
text-align: right;
padding-right: 10px;
font-size: 12px;
}
.col_text_yuan{
line-height: 25px;
text-align: right;
padding-right: 10px;
font-size: 12px;
}
.font_icon{ .font_icon{
margin-right: 5px; margin-right: 5px;
@ -255,4 +350,16 @@ export default {
/*font-size: 18px;*/ /*font-size: 18px;*/
margin-left: 15px; margin-left: 15px;
} }
.callback{
text-align:right;
width:100%;
padding:0 10px 0 0;
}
.callback_ziliao{
width:100%;
text-align: right;
font-size: 10px;
margin-top: 5px;
padding-right: 10px;
}
</style> </style>

772
src/views/hr/newhr/peopleinfor.vue

@ -9,7 +9,7 @@
icon="el-icon-edit" icon="el-icon-edit"
size="small" size="small"
type="text" type="text"
@click="showEditBase(scope.row)" @click="showEditBase(myCont)"
>编辑</el-button> >编辑</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -26,10 +26,10 @@
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="健康状况"><div class="bottment_line">{{ replace.health }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="健康状况"><div class="bottment_line">{{ replace.health }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="婚姻状况"><div class="bottment_line">{{ replace.maritalstatus }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="婚姻状况"><div class="bottment_line">{{ replace.maritalstatus }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="政治面貌"><div class="bottment_line">{{ replace.politicaloutlook }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="政治面貌"><div class="bottment_line">{{ replace.politicaloutlook }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="出生日期"><div class="bottment_line">{{ myCont.birthday }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="出生日期"><div class="bottment_line">{{ myCont.birthdaytime }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证号"><div class="bottment_line">{{ myCont.idcardno }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证号"><div class="bottment_line">{{ myCont.idcardno }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证有效期开始"><div class="bottment_line">{{ myCont.idcardstartdate }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证有效期开始"><div class="bottment_line">{{ myCont.idcardstarttimedata }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证有效期结束"><div class="bottment_line">{{ myCont.idcardenddate }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证有效期结束"><div class="bottment_line">{{ myCont.idcardendtimedata }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证地址"><div class="bottment_line">{{ myCont.idcardaddress }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证地址"><div class="bottment_line">{{ myCont.idcardaddress }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证签发机关"><div class="bottment_line">{{ myCont.idcardIssued }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证签发机关"><div class="bottment_line">{{ myCont.idcardIssued }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="手机号码"><div class="bottment_line">{{ myCont.mobilephone }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="手机号码"><div class="bottment_line">{{ myCont.mobilephone }}</div></el-descriptions-item>
@ -40,10 +40,10 @@
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="星座"><div class="bottment_line">{{ replace.constellationing }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="星座"><div class="bottment_line">{{ replace.constellationing }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="雇佣类型"><div class="bottment_line">{{ replace.hireclass }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="雇佣类型"><div class="bottment_line">{{ replace.hireclass }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="用工关系"><div class="bottment_line">{{ replace.emptype }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="用工关系"><div class="bottment_line">{{ replace.emptype }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="入职日期"><div class="bottment_line">{{ myCont.entrydate }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="入职日期"><div class="bottment_line">{{ myCont.entrydatetime }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="试用期"><div class="bottment_line">{{ myCont.probationperiod }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="试用期"><div class="bottment_line">{{ myCont.probationperiod }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="预计转正日期"><div class="bottment_line">{{ myCont.planformaldate }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="预计转正日期"><div class="bottment_line">{{ myCont.planformaldatetime }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="参加工作日期"><div class="bottment_line">{{ myCont.jobstartdate }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="参加工作日期"><div class="bottment_line">{{ myCont.jobstartdatestr }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="是否为退役军人"><div class="bottment_line">{{ replace.isveterans }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="是否为退役军人"><div class="bottment_line">{{ replace.isveterans }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="退役证编号"><div class="bottment_line">{{ myCont.veteransnumber }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="退役证编号"><div class="bottment_line">{{ myCont.veteransnumber }}</div></el-descriptions-item>
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="护照号码"><div class="bottment_line">{{ myCont.passportno }}</div></el-descriptions-item> <el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="护照号码"><div class="bottment_line">{{ myCont.passportno }}</div></el-descriptions-item>
@ -65,7 +65,7 @@
icon="el-icon-edit" icon="el-icon-edit"
size="small" size="small"
type="text" type="text"
@click="showEditBaseOrg(scope.row)" @click="showEditBaseOrg(myCont)"
>编辑</el-button> >编辑</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -83,11 +83,316 @@
</template> </template>
</el-col> </el-col>
</el-row> </el-row>
<!--编辑员工基本信息-->
<el-dialog :close-on-click-modal="false" :visible.sync="editSetUp.cont" title="编辑基本信息" :before-close="closeEditContDialog" width="60%">
<el-form ref="editContData" :model="editContData" :rules="editContRules" label-width="140px" class="demo-ruleForm">
<el-row>
<el-col :span="12">
<el-form-item label="手机号码" prop="mobilephone">
<el-input v-model="editContData.mobilephone" placeholder="请输入手机号码"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idcardno">
<el-input v-model="editContData.idcardno" placeholder="请输入身份证号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="入职日期" prop="joinedDate">
<el-date-picker
format="yyyy 年 MM 月 dd 日"
@change="entryChangeDate"
v-model="joinedDate"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="试用期" prop="probationperiod">
<el-input-number v-model="editContData.probationperiod" :min="1" :max="12" label="试用期" placeholder="试用期" @change="handleChange"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="预计转正日期" >
<el-input v-model="confirmationdateval" disabled placeholder="预计转正日期"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参加工作日期" >
<el-date-picker
format="yyyy 年 MM 月 dd 日"
@change="workdayChange"
v-model="workingdate"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="曾用名" >
<el-input v-model="editContData.nameusedbefore" placeholder="曾用名"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" >
<el-select v-model="editContData.gender" placeholder="请选择性别">
<el-option v-for="itemGender in genderList" :label="itemGender.tittle" :value="itemGender.id" :key="itemGender.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="民族" >
<el-input v-model="editContData.myfolk" placeholder="民族"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="政治面貌" >
<el-select v-model="editContData.politicaloutlook" placeholder="请选择政治面貌">
<el-option v-for="itemPoliti in politicsList" :label="itemPoliti.tittle" :value="itemPoliti.id" :key="itemPoliti.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="健康状况" >
<el-select v-model="editContData.health" placeholder="请选择健康状况">
<el-option v-for="itemHeal in healthList" :label="itemHeal.tittle" :value="itemHeal.id" :key="itemHeal.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生日" >
<el-date-picker
format="yyyy 年 MM 月 dd 日"
@change="birthdayChange"
v-model="birthday"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证有效期开始" >
<el-date-picker
format="yyyy 年 MM 月 dd 日"
@change="idCodeTimeStartChange"
v-model="idCardStartTimeStr"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证有效期结束" >
<el-date-picker
format="yyyy 年 MM 月 dd 日"
@change="idCodeTimeEndChange"
v-model="idCardEndTimeStr"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证地址" >
<el-input v-model="editContData.idcardaddress" placeholder="请输入身份证地址"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证签发机关" >
<el-input v-model="editContData.idcardIssued" placeholder="请输入身份证签发机关"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="现居住地址" >
<el-input v-model="editContData.currentresidence" placeholder="请输入现居住地址"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="籍贯" >
<el-input v-model="editContData.nativeplace" placeholder="请输入籍贯"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="电子邮件" >
<el-input v-model="editContData.email" placeholder="请输入电子邮件"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="内线电话" >
<el-input v-model="editContData.internaltelephone" placeholder="请输入内线电话"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="雇佣类型" >
<el-select v-model="editContData.hireclass" placeholder="请选择雇佣类型">
<el-option v-for="itemEmploy in employmentType" :label="itemEmploy.tittle" :value="itemEmploy.id" :key="itemEmploy.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用工关系" >
<el-select v-model="editContData.emptype" placeholder="请选择用工关系">
<el-option v-for="itemEmpType in emptypeList" :label="itemEmpType.tittle" :value="itemEmpType.id" :key="itemEmpType.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否为退役军人">
<el-select v-model="editContData.isveterans" placeholder="请选择是否为退役军人">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="退役证编号" >
<el-input v-model="editContData.veteransnumber" placeholder="请输入退役证编号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="护照号码" >
<el-input v-model="editContData.passportno" placeholder="请输入护照号码"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="国际区号" >
<el-input v-model="editContData.globalroaming" placeholder="请输入国际区号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="绑定微信" >
<el-input v-model="editContData.wechat" placeholder="请输入微信OpenId"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="绑定企业微信" >
<el-input v-model="editContData.workwechat" placeholder="请输入企业微信OpenId"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="星座" >
<el-select v-model="editContData.constellationing" placeholder="请选择星座">
<el-option v-for="itemConstell in constellationList" :label="itemConstell.tittle" :value="itemConstell.id" :key="itemConstell.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="婚姻状况" >
<el-select v-model="editContData.maritalstatus" placeholder="婚姻状况">
<el-option v-for="itemConstell in marriageList" :label="itemConstell.tittle" :value="itemConstell.id" :key="itemConstell.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="editContContsubmit" :loading="editContIsTrue"> </el-button>
<el-button size="small" @click="closeEditContDialog"> </el-button>
</div>
</template>
</el-dialog>
<!--编辑行政组织-->
<el-dialog :close-on-click-modal="false" :visible.sync="editSetUp.org" title="编辑行政组织关系" :before-close="closeEditOrgDialog" width="40%">
<el-form ref="editForm" :model="ediOrgCont" :rules="editOrgRules" label-width="100px" >
<el-form-item label="归属组织" prop="orglist">
<el-cascader clearable v-model="ediOrgCont.orglist" :options="grouplist" @change="orgChange" :props="propsdepart" style="width:100%"></el-cascader>
</el-form-item>
<el-form-item label="岗位" prop="position">
<el-select filterable v-model="ediOrgCont.position" clearable placeholder="请选择" >
<el-option
v-for="item in postListAdd"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="职务" prop="jobid">
<el-select filterable v-model="ediOrgCont.jobid" clearable placeholder="请选择">
<el-option
v-for="item in dutieslist"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="职务等级" prop="jobleve">
<el-select filterable v-model="ediOrgCont.jobleve" clearable placeholder="请选择">
<el-option
v-for="item in positiongrade"
:key="item.id"
:label="item.tittle"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班组" prop="teamid">
<el-select filterable v-model="ediOrgCont.teamid" clearable placeholder="请选择">
<el-option
v-for="item in teamcontlist"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form>
<template #footer class="el_dialog__footer">
<div class="dialog-footer ">
<el-button size="small" type="primary" @click="editOrgContsubmit" :loading="editOrgIsTrue"> </el-button>
<el-button size="small" @click="closeEditOrgDialog"> </el-button>
</div>
</template>
</el-dialog>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script> <script>
import { getOnlyOnePeopleCont } from "@/api/systemaccredit/systemhrapi" import { positionlist,archiveslist,teamcontlist,orgThreeList,positionlistIsMe,dutieslist } from "@/api/personnel/post";
import { peopleMethod } from "@/api/people/peopledata" import { getOnlyOnePeopleCont,editManOrgCont,editManPeopleCont } from "@/api/systemaccredit/systemhrapi"
import { peopleMethod,judgeArray } from "@/api/people/peopledata"
import {
getgroupdepartmap,
} from '@/api/duty/group' //
import { calculationDate } from "@/api/time/dateval"
export default { export default {
name:"peopleinfor", name:"peopleinfor",
@ -95,6 +400,35 @@ export default {
data() { data() {
return { return {
confirmationdateval:"", //
joinedDate:"", //
birthday:"", //
workingdate:"", //
idCardStartTimeStr:"", //
idCardEndTimeStr:"", //
genderList:peopleMethod.sexData, //
healthList:peopleMethod.healthList, //
politicsList:peopleMethod.politicsList, //
constellationList:peopleMethod.constellationList, //
employmentType:peopleMethod.employmentType, //
emptypeList:peopleMethod.emptypeList, //
marriageList:peopleMethod.marriageList, //
editContIsTrue:false,
positiongrade:peopleMethod.positiongrade, //
editOrgIsTrue:false,
grouplist:[], //
dutieslist:[], //
postListAdd: [], //
teamcontlist:[], //
propsdepart: {
// checkStrictly: true,
value: "id",
label: "name",
children: "children",
// emitPath:false,
// multiple: false
}, //
ediOrgCont:{}, //
myCont:{}, // myCont:{}, //
replace:{ replace:{
probationperiod: 0, probationperiod: 0,
@ -129,7 +463,69 @@ export default {
passportno: "", passportno: "",
nativeplace: "", nativeplace: "",
currentresidence: "" currentresidence: ""
} },
editSetUp:{
cont:false,
org:false
},
editContData:{
mobilephone:"", //
idcardno:"", //
entrydatetime:"", //
probationperiod:"", //
confirmationdate:"",//
jobstartdatestr:"", //
nameusedbefore:"", //
gender:1, //
myfolk:"", //
politicaloutlook:0, //
health:1, //
birthdaytime:"", //
idcardstarttimedata:"", //
idcardendtimedata:"", //
idcardaddress:"", //
idcardIssued:"", //
currentresidence:"", //
nativeplace:"", //
email:"", //
internaltelephone:"", //线
hireclass:1, //
emptype:1, //
isveterans:2, //退
veteransnumber:"", //退
passportno:"", //
globalroaming:"", //
wechat:"", //
workwechat:"", //
constellationing:1, //
}, //
editOrgRules:{ //
orglist: [{ required: true, message: '必填', trigger: 'blur' }],
position: [{ required: true, message: '必填', trigger: 'blur' }],
jobid: [{ required: true, message: '必填', trigger: 'blur' }],
jobleve: [{ required: true, message: '必填', trigger: 'blur' }],
teamid: [{ required: true, message: '必填', trigger: 'blur' }],
},
editContData:{}, //
editContRules:{
idcardno: [
{ required: true, message: '必填', trigger: 'blur' }
],
mobilephone: [
{ required: true, message: '必填', trigger: 'blur' },
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
},
],
probationperiod: [
{ type: 'number', required: true, message: '请输入试用期', trigger: 'change' }
],
}, //
} }
}, },
@ -137,8 +533,60 @@ export default {
created(){ created(){
console.log("userId---------->",this.userid) console.log("userId---------->",this.userid)
this.getMyCont(this.userid) this.getMyCont(this.userid)
this.getDutieslist();
let myId = this.userid * 1
this.ediOrgCont.id = myId.toString()
}, },
methods:{ methods:{
//
async getGrouplist(){
let sendData = {
id:313,
all:1
};
const res = await getgroupdepartmap(sendData)
this.grouplist=res.data
},
//
orgChange(val){
if(val){
if(judgeArray(val) && val.length > 0){
let postId = val[val.length-1];
this.getPostAdd(postId);
}else{
this.postListAdd = [];
}
}else{
this.postListAdd = [];
}
//
// this.ediOrgCont.position = null
console.log("选择行政组织---------------->",val)
},
//
async getPostAdd(val) {
const from = {
organization: val.toString(),
page: 1,
pagesize: 500,
};
const res = await positionlistIsMe(from);
this.postListAdd = res.data.list;
console.log("获取刚问列表---------------->",res)
},
//
async getDutieslist(){
let res = await dutieslist();
this.dutieslist = res.data.list
console.log("班组---------------->",res,res.list)
},
//
async getTeam(){
let res = await teamcontlist();
this.teamcontlist = res.data.list
console.log("班组---------------->",res)
},
// //
async getMyCont(id){ async getMyCont(id){
let sendData = { let sendData = {
@ -147,6 +595,7 @@ export default {
} }
let res = await getOnlyOnePeopleCont(sendData); let res = await getOnlyOnePeopleCont(sendData);
this.myCont = res.data this.myCont = res.data
if(!this.myCont.probationperiod) this.myCont.probationperiod = 3;
// //
peopleMethod.sexData.forEach(item=>{ peopleMethod.sexData.forEach(item=>{
if(item.id == this.myCont.gender){ if(item.id == this.myCont.gender){
@ -208,12 +657,311 @@ export default {
}, },
// //
showEditBase(val){ showEditBase(val){
this.editSetUp.cont = true
this.editContData.birthdaytime = val.birthdaytime
console.log("编辑基本信息--------->",val) console.log("编辑基本信息--------->",val)
this.confirmationdateval = this.myCont.planformaldatetime //
this.joinedDate = this.myCont.entrydatetime //
this.birthday = this.myCont.birthdaytime //
this.workingdate = this.myCont.jobstartdatestr //
this.idCardStartTimeStr = this.myCont.idcardstarttimedata //
this.idCardEndTimeStr = this.myCont.idcardendtimedata //
this.editContData = {
id:this.myCont.idstr,
mobilephone:this.myCont.mobilephone, //
idcardno:this.myCont.idcardno, //
entrydatetime:this.myCont.entrydatetime, //
probationperiod:this.myCont.probationperiod?this.myCont.probationperiod:3, //
confirmationdate:this.myCont.planformaldatetime,//
jobstartdatestr:this.myCont.jobstartdatestr, //
nameusedbefore:this.myCont.nameusedbefore, //
gender:this.myCont.gender, //
myfolk:this.myCont.myfolk, //
politicaloutlook:this.myCont.politicaloutlook, //
health:this.myCont.health, //
birthdaytime:this.myCont.birthdaytime, //
idcardstarttimedata:this.myCont.idcardstarttimedata, //
idcardendtimedata:this.myCont.idcardendtimedata, //
idcardaddress:this.myCont.idcardaddress, //
idcardIssued:this.myCont.idcardIssued, //
currentresidence:this.myCont.currentresidence, //
nativeplace:this.myCont.nativeplace, //
email:this.myCont.email, //
internaltelephone:this.myCont.internaltelephone, //线
hireclass:this.myCont.hireclass, //
emptype:this.myCont.emptype, //
isveterans:this.myCont.isveterans, //退
veteransnumber:this.myCont.veteransnumber, //退
passportno:this.myCont.passportno, //
globalroaming:this.myCont.globalroaming, //
wechat:this.myCont.wechat, //
workwechat:this.myCont.workwechat, //
constellationing:this.myCont.constellationing, //
maritalstatus:this.myCont.maritalstatus
}; //
}, },
// //
showEditBaseOrg(val){ showEditBaseOrg(val){
console.log("编辑行政组织--------->",val) console.log("编辑行政组织--------->",val)
this.getGrouplist()
this.getTeam()
this.getPostAdd(this.myCont.adminorg)
this.ediOrgCont.orglist = this.myCont.allorglist
if(this.myCont.teamid != 0){
this.ediOrgCont.teamid = this.myCont.teamid
}
if(this.myCont.jobid != 0){
this.ediOrgCont.jobid = this.myCont.jobid
}
if(this.myCont.position != 0){
this.ediOrgCont.position = this.myCont.position
}
if(this.myCont.jobleve != 0){
this.ediOrgCont.jobleve = this.myCont.jobleve
}
this.ediOrgCont.id = this.myCont.id.toString()
this.editSetUp.org = true
console.log("编辑行政组织-----123---->",this.joinedDate)
}, },
//
closeEditOrgDialog(){
this.editOrgIsTrue = false
this.editSetUp.org = false
this.initOrgCont()
},
//
async editOrgContsubmit(){
this.editOrgIsTrue = true
console.log("编辑行政组织--------->",this.ediOrgCont)
this.$refs.editForm.validate(async valid => {
if (valid) {
if(this.ediOrgCont.id == ""){
this.tispOrgBox('参数错误!不可提交!请刷新页面!','error');
return
}
if(this.ediOrgCont.orglist){
if(judgeArray(this.ediOrgCont.orglist) && this.ediOrgCont.orglist.length > 0){
let orgAry = this.ediOrgCont.orglist
console.log("编辑行政组织----223----->",orgAry.length)
let postId = orgAry[orgAry.length-1];
this.ediOrgCont.orgid = postId
}else{
this.tispOrgBox('请选择归属行政组织!','error');
return
}
}else{
this.tispOrgBox('请选择归属行政组织!','error');
return
}
if(this.ediOrgCont.position){
if(this.ediOrgCont.position == 0 || this.ediOrgCont.position == "" || this.ediOrgCont.position == null){
this.tispOrgBox('请选择职务!','error');
return
}
}else{
this.tispOrgBox('请选择职务!','error');
return
}
if(this.ediOrgCont.teamid){
if(this.ediOrgCont.teamid == 0 || this.ediOrgCont.teamid == "" || this.ediOrgCont.teamid == null){
this.tispOrgBox('请选择班组!','error');
return
}
}else{
this.tispOrgBox('请选择班组!','error');
return
}
if(this.ediOrgCont.jobleve){
if(this.ediOrgCont.jobleve == 0 || this.ediOrgCont.jobleve == "" || this.ediOrgCont.jobleve == null){
this.tispOrgBox('请选择班组!','error');
return
}
}else{
this.tispOrgBox('请选择班组!','error');
return
}
console.log("提交数据--------->",this.ediOrgCont)
let res = await editManOrgCont(this.ediOrgCont)
this.editOrgIsTrue = false
if (res.code === 0) {
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getMyCont(this.userid)
this.getDutieslist();
this.closeEditOrgDialog()
}
}else{
this.editOrgIsTrue = false
}
});
},
openOrgButton(){
this.editOrgIsTrue = false
},
//
tispOrgBox(msg,typeClass){
this.$message({
showClose: true,
message: msg,
type: typeClass,
duration:1000,
onClose:this.openOrgButton
});
},
//
initOrgCont(){
let myId = this.userid * 1
this.ediOrgCont.id = myId.toString()
},
//
closeEditContDialog(){
this.editSetUp.cont = false
this.editContIsTrue = false
},
//
async editContContsubmit(){
this.editContIsTrue = true
console.log("提交个人基本信息---------------1--",this.editContData)
this.$refs.editContData.validate(async valid => {
console.log("提交个人基本信息---------------2--",valid)
if (valid) {
console.log("提交个人基本信息",this.editContData)
let res = await editManPeopleCont(this.editContData)
this.editContIsTrue = false
if (res.code === 0) {
this.$message({
type: 'success',
message: res.msg,
showClose: true
})
this.getMyCont(this.userid)
this.closeEditContDialog()
}
} else {
console.log('error submit!!');
return false;
}
});
},
//
async entryChangeDate(){
if(this.editContData.probationperiod == 0) this.editContData.probationperiod = 3;
console.log("入职日期操作",this.joinedDate,this.editContData.probationperiod)
if(this.editContData.probationperiod && this.joinedDate != null){
let yearVal = this.joinedDate.getFullYear();
let monthVal = this.joinedDate.getMonth()+1;
let dayVal = this.joinedDate.getDate();
if(monthVal < 10) monthVal = "0"+newMonthVal;
if(dayVal < 10) dayVal = "0"+dayVal;
let dataVal = yearVal + "-" + monthVal + "-" + dayVal
const res = await calculationDate(dataVal,this.editContData.probationperiod)
this.editContData.confirmationdate = res.newYear + "-" + res.newMonth + "-" + res.newDay; //()
this.editContData.entrydatetime = dataVal //()
this.confirmationdateval = res.newYear + " 年 " + res.newMonth + " 月 " + res.newDay + " 日"; //()
console.log("入职日期操作---------1---->",dataVal,this.joinedDate,res)
}
},
//
async handleChange(){
if(this.joinedDate && this.joinedDate != null){
let yearVal = this.joinedDate.getFullYear();
let monthVal = this.joinedDate.getMonth()+1;
let dayVal = this.joinedDate.getDate();
if(monthVal < 10) monthVal = "0"+newMonthVal;
if(dayVal < 10) dayVal = "0"+dayVal;
let dataVal = yearVal + "-" + monthVal + "-" + dayVal
const res = await calculationDate(dataVal,this.editContData.probationperiod)
this.editContData.confirmationdate = res.newYear + "-" + res.newMonth + "-" + res.newDay; //()
this.confirmationdateval = res.newYear + " 年 " + res.newMonth + " 月 " + res.newDay + " 日"; //()
}
},
//
async birthdayChange(){
if(this.birthday && this.birthday != null){
let yearVal = this.birthday.getFullYear();
let monthVal = this.birthday.getMonth()+1;
let dayVal = this.birthday.getDate();
if(monthVal < 10) monthVal = "0"+newMonthVal;
if(dayVal < 10) dayVal = "0"+dayVal;
this.editContData.birthdaytime= yearVal + "-" + monthVal + "-" + dayVal
}
},
//
async workdayChange(){
if(this.workingdate && this.workingdate != null){
let yearVal = this.workingdate.getFullYear();
let monthVal = this.workingdate.getMonth()+1;
let dayVal = this.workingdate.getDate();
if(monthVal < 10) monthVal = "0"+newMonthVal;
if(dayVal < 10) dayVal = "0"+dayVal;
this.editContData.jobstartdatestr= yearVal + "-" + monthVal + "-" + dayVal
}
},
//
idCodeTimeStartChange(){
if(this.idCardStartTimeStr && this.idCardStartTimeStr != null){
let yearVal = this.idCardStartTimeStr.getFullYear();
let monthVal = this.idCardStartTimeStr.getMonth()+1;
let dayVal = this.idCardStartTimeStr.getDate();
if(monthVal < 10) monthVal = "0"+newMonthVal;
if(dayVal < 10) dayVal = "0"+dayVal;
this.editContData.idcardstarttimedata= yearVal + "-" + monthVal + "-" + dayVal
}
},
//
idCodeTimeEndChange(){
if(this.idCardEndTimeStr && this.idCardEndTimeStr != null){
let yearVal = this.idCardEndTimeStr.getFullYear();
let monthVal = this.idCardEndTimeStr.getMonth()+1;
let dayVal = this.idCardEndTimeStr.getDate();
if(monthVal < 10) monthVal = "0"+newMonthVal;
if(dayVal < 10) dayVal = "0"+dayVal;
this.editContData.idcardendtimedata= yearVal + "-" + monthVal + "-" + dayVal
}
},
//
isCardID (rule, value, callback) {
console.log(value)
if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(value)) {
callback(new Error('你输入的身份证长度或格式错误'))
}
//
var aCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };
if (!aCity[parseInt(value.substr(0, 2))]) {
callback(new Error('你的身份证地区非法'))
}
//
var sBirthday = (value.substr(6, 4) + "-" + Number(value.substr(10, 2)) + "-" + Number(value.substr(12, 2))).replace(/-/g, "/"),
d = new Date(sBirthday)
if (sBirthday != (d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate())) {
callback(new Error('身份证上的出生日期非法'))
}
//
var sum = 0,
weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],
codes = "10X98765432"
for (var i = 0; i < value.length - 1; i++) {
sum += value[i] * weights[i];
}
var last = codes[sum % 11]; //
if (value[value.length - 1] != last) {
callback(new Error('你输入的身份证号非法'))
}
console.log("End------>",value)
return true
}
} }
} }
</script> </script>

61
src/views/hr/newhr/personneleducation.vue

@ -17,43 +17,71 @@
<el-row> <el-row>
<el-col :span="24" class="cont_body"> <el-col :span="24" class="cont_body">
<el-descriptions v-for="item in contList" class="margin-top" :title="item.levelname" :column="3" :size="size" border :key="item.id"> <el-descriptions v-for="item in contList" class="margin-top" :title="item.levelname" :column="3" border :key="item.id" >
<template slot="extra"> <template slot="extra">
<el-button <el-button
icon="el-icon-edit" icon="el-icon-edit"
size="small" size="small"
type="text" type="text"
@click="showEditBase(scope.row)" @click="showEditBase(item)"
>编辑</el-button> >编辑</el-button>
<el-button <el-button
icon="el-icon-delete" icon="el-icon-delete"
size="small" size="small"
type="text" type="text"
@click="showDelBase(scope.row)" @click="showDelBase(item)"
>删除</el-button> >删除</el-button>
</template> </template>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
<i class="el-icon-user"></i>
毕业院校 毕业院校
</template> </template>
{{ item.graduationschool }} {{ item.graduationschool }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
<i class="el-icon-user"></i>
专业 专业
</template> </template>
{{ item.subject }} {{ item.subject }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item>
<template slot="label">
</el-descriptions> 学历
</template>
{{ item.educationname }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
学位
</template>
{{ item.academicdegreename }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
入学时间
</template>
{{ item.admissiontimestr }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
毕业时间
</template>
{{ item.graduationtimestr }}
</el-descriptions-item>
</el-descriptions>
</el-col> </el-col>
</el-row> </el-row>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script> <script>
import { peopleMethod } from "@/api/people/peopledata"
import { getPersonneleDucationlist } from "@/api/systemaccredit/systemhrapi" import { getPersonneleDucationlist } from "@/api/systemaccredit/systemhrapi"
export default { export default {
name:"familymembers", name:"familymembers",
@ -89,8 +117,23 @@ export default {
break; break;
default: default:
item.levelname = "普通学历" item.levelname = "普通学历"
};
//
peopleMethod.educationList.forEach(itemes=>{
// console.log("---"+item.id+"------>",res)
if(itemes.id == item.education){
item.educationname = itemes.tittle
}
})
//
peopleMethod.academicDegree.forEach(itemes=>{
// console.log("---"+item.id+"------>",res)
if(itemes.id == item.academicdegree){
item.academicdegreename = itemes.title
} }
}) })
})
console.log("获取列表信息--------->",res) console.log("获取列表信息--------->",res)
}, },
// //
@ -104,7 +147,7 @@ export default {
} }
} }
</script> </script>
<style> <style scopen>
.el-scrollbar { .el-scrollbar {
height: 100%; height: 100%;
width: 100%; width: 100%;
@ -154,4 +197,8 @@ div::-webkit-scrollbar-track {
.cont_body{ .cont_body{
margin-top: 20px; margin-top: 20px;
} }
.el-descriptions__header{
margin-bottom: 0px;
margin-top: 15px;
}
</style> </style>

164
src/views/hr/newhr/workhistory.vue

@ -15,7 +15,76 @@
</el-row> </el-row>
<el-divider style="margin:0"></el-divider> <el-divider style="margin:0"></el-divider>
<el-row> <el-row>
<el-col :span="24" class="cont_body"> <el-col :span="24" class="cont_body_work">
<el-descriptions v-for="item in insideWorkList" class="margin-top" :column="3" border :key="item.id" >
<template slot="extra">
<el-button
icon="el-icon-edit"
size="small"
type="text"
@click="showEditBase(item)"
>编辑</el-button>
<el-button
icon="el-icon-delete"
size="small"
type="text"
@click="showDelBase(item)"
>删除</el-button>
</template>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
开始日期
</template>
{{ item.starttimg }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
结束日期
</template>
{{ item.endtimg }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
调动类型
</template>
{{ item.changetypename }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
岗位
</template>
{{ item.postname }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
班组
</template>
{{ item.teamname }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
职务
</template>
{{ item.postname }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
职务性质
</template>
<span v-if="item.assigntype == 1">主职</span>
<span v-if="item.assigntype != 1">兼职</span>
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw" :span="2">
<template slot="label">
行政组织
</template>
{{ item.allorgname }}
</el-descriptions-item>
</el-descriptions>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="title_body"> <el-row class="title_body">
@ -33,26 +102,107 @@
</el-row> </el-row>
<el-divider style="margin:0"></el-divider> <el-divider style="margin:0"></el-divider>
<el-row> <el-row>
<el-col :span="24" class="cont_body"> <el-col :span="24" class="cont_body_work">
<el-descriptions v-for="itemwai in extWorkList" class="margin-top" :column="3" border :key="itemwai.id" >
<template slot="extra">
<el-button
icon="el-icon-edit"
size="small"
type="text"
@click="showEditBase(itemwai)"
>编辑</el-button>
<el-button
icon="el-icon-delete"
size="small"
type="text"
@click="showDelBase(itemwai)"
>删除</el-button>
</template>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
开始日期
</template>
{{ itemwai.starttimg }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
结束日期
</template>
{{ itemwai.endtimg }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
公司
</template>
{{ itemwai.company }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
证明人
</template>
{{ itemwai.witness }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
证明人电话
</template>
{{ itemwai.witnesstel }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my_label_ciw">
<template slot="label">
离职原因
</template>
{{ itemwai.remarks }}
</el-descriptions-item>
</el-descriptions>
</el-col> </el-col>
</el-row> </el-row>
</el-scrollbar> </el-scrollbar>
</template> </template>
<script> <script>
import { getWorkHistoryList,getInsiDeworkHistoryList } from "@/api/systemaccredit/systemhrapi"
export default { export default {
name:"familymembers", name:"familymembers",
props:['userKey'], props:['userKey'],
data() { data() {
return {} return {
extWorkList:[], //
insideWorkList:[], //
}
}, },
created(){ created(){
console.log("userKey---------->",this.userKey) console.log("userKey---------->",this.userKey)
this.getExtWorkList();
this.getInsideWorkList();
}, },
methods:{ methods:{
// //
showAddBase(val){ showAddBase(val){
console.log("新增信息--------->",val) console.log("新增信息--------->",val)
}, },
//
async getExtWorkList(){
let sendData = {
id:this.userKey
}
let res = await getWorkHistoryList(sendData)
this.extWorkList = res.data
console.log("获取列表信息--------->",res)
},
//
async getInsideWorkList(){
let sendData = {
id:this.userKey
}
let res = await getInsiDeworkHistoryList(sendData)
this.insideWorkList = res.data
console.log("获取列表信息--------->",res)
},
} }
} }
</script> </script>
@ -103,7 +253,11 @@ div::-webkit-scrollbar-track {
text-align: right; text-align: right;
padding-right: 5px; padding-right: 5px;
} }
.cont_body{ .cont_body_work{
margin-top: 20px; margin-bottom: 30px;
padding-right: 30px;
}
.my_label_ciw{
width: 120px;
} }
</style> </style>
Loading…
Cancel
Save