初步完成了人员基本信息增删查改的前端工作

pull/6/head
yzw 2023-01-11 11:42:08 +08:00
parent b75f775948
commit 02ffefefe4
7 changed files with 1208 additions and 93 deletions

View File

@ -142,4 +142,36 @@ export function getParty(params) {
method: 'get',
params
})
}
export function selectBasicInfo(params) {
return request({
url: '/person/information',
method: 'get',
params
})
}
export function modifyBasicInfo(data) {
return request({
url: '/person/information/modify',
method: 'post',
data
})
}
export function addBasicInfo(data) {
return request({
url: '/person/information/add',
method: 'post',
data
})
}
export function deleteBasicInfo(params) {
return request({
url: '/person/information/delete',
method: 'get',
params
})
}

View File

@ -83,6 +83,7 @@ service.interceptors.response.use(
response => {
const res = response.data
return res
// 状态码
if (res.code !== 0) {
Message({

View File

@ -68,15 +68,13 @@
<el-col :span="8">
<el-form-item label-width="250px" label="全日制毕(肄)业学校(单位)名称" prop="full_school">
<el-input v-model="personData.full_school" placeholder="请输入学校名称" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="200px" label="全日制毕(肄)业专业名称" prop="full_major">
<el-input v-model="personData.full_major" placeholder="请输入专业名称" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -94,29 +92,25 @@
<el-col :span="8">
<el-form-item label-width="120px" label="最高在职学位" prop="work_degree">
<el-input v-model="personData.work_degree" placeholder="请输入最高在职学位" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="120px" label="最高在职学位" prop="field147">
<el-input v-model="personData.field147" placeholder="请输入最高在职学位" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="250px" label="在职毕(肄)业学校(单位)名称" prop="work_school">
<el-input v-model="personData.work_school" placeholder="请输入学校名称" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="200px" label="在职毕(肄)业专业名称" prop="work_major">
<el-input v-model="personData.work_major" placeholder="请输入专业名称" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -158,22 +152,19 @@
<el-col :span="8">
<el-form-item label="职业技能等级" prop="field156">
<el-input v-model="personData.field156" placeholder="请输入职业技能等级" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="机构名称" prop="organization">
<el-input v-model="personData.organization" placeholder="请输入机构名称" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="部门名称" prop="department">
<el-input v-model="personData.department" placeholder="请输入部门名称" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -197,8 +188,7 @@
<el-col :span="8">
<el-form-item label="人员状态" prop="person_status">
<el-input v-model="personData.person_status" placeholder="请输入人员状态" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -238,7 +228,6 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参加工作时间" prop="work_start_time">
<el-date-picker v-model="personData.work_start_time" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -273,8 +262,7 @@
<el-col :span="8">
<el-form-item label="行业入职类别" prop="field176">
<el-input v-model="personData.field176" placeholder="请输入行业入职类别" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -293,8 +281,7 @@
<el-col :span="8">
<el-form-item label="单位入职类别" prop="field179">
<el-input v-model="personData.field179" placeholder="请输入单位入职类别" clearable
:style="{width: '100%'}">
</el-input>
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -324,11 +311,46 @@
<el-col :span="8">
<el-form-item label="预计退休年龄" prop="retire_age">
<el-input v-model="personData.retire_age" placeholder="请输入预计退休年龄" clearable
:style="{width: '100%'}">
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="预计退休年龄" prop="field185">
<el-input v-model="personData.field185" placeholder="请输入预计退休年龄" clearable
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="证件类型" prop="certificate">
<el-input v-model="personData.certificate" placeholder="请输入证件类型" clearable
:style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="card_num">
<el-input v-model="personData.card_num" placeholder="请输入身份证号" clearable :style="{width: '100%'}">
</el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="政治面貌" prop="politics">
<el-input v-model="personData.politics" placeholder="请输入政治面貌" clearable :style="{width: '100%'}">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入党日期" prop="party_start_time">
<el-date-picker v-model="personData.party_start_time" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" :style="{width: '100%'}" placeholder="请选择入党日期" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="personData.remark" type="textarea" placeholder="请输入备注" :maxlength="200"
:autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item size="large">
<el-button type="primary" @click="submitForm"></el-button>
@ -398,6 +420,12 @@ export default {
field182: null,
file: "本级人事部门",
retire_age: "",
field185: "",
certificate: undefined,
card_num: undefined,
politics: undefined,
party_start_time: "2023-01-10",
remark: "",
},
rules: {
name: [{
@ -516,6 +544,24 @@ export default {
field182: [],
file: [],
retire_age: [],
field185: [],
certificate: [{
required: true,
message: '请输入证件类型',
trigger: 'blur'
}],
card_num: [{
required: true,
message: '请输入身份证号',
trigger: 'blur'
}],
politics: [{
required: true,
message: '请输入政治面貌',
trigger: 'blur'
}],
party_start_time: [],
remark: [],
},
}
},

View File

@ -1,3 +1,868 @@
<template>
<div>增加</div>
</template>
<div>
<el-row :gutter="10">
<el-form
ref="basicInfo"
:model="personData"
:rules="rules"
size="small"
label-width="100px"
>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">基本信息</div>
</el-col>
<!-- 一行 -->
<el-col :span="4">
<el-form-item label-width="50px" label="姓名" prop="name">
<el-input
v-model="personData.name"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="50px" label="性别" prop="sex">
<el-input
v-model="personData.sex"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出生日期" prop="birth_time">
<el-date-picker
v-model="personData.birth_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择出生日期"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系电话" prop="phone_num">
<el-input
v-model="personData.phone_num"
placeholder="请输入联系电话"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<!-- 一行 -->
<el-col :span="4">
<el-form-item label-width="50px" label="民族" prop="nation">
<el-input
v-model="personData.nation"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="50px" label="国籍" prop="citizenship">
<el-input
v-model="personData.citizenship"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="籍贯地" prop="native_place">
<el-input
v-model="personData.native_place"
placeholder="请输入籍贯地"
clearable
prefix-icon="el-icon-place"
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出生地" prop="birth_place">
<el-input
v-model="personData.birth_place"
placeholder="请输入出生地"
clearable
prefix-icon="el-icon-place"
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 一行 -->
<el-col :span="4">
<el-form-item label="证件类型" prop="certificate">
<el-input
v-model="personData.certificate"
placeholder="请输入证件类型"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证件号码" prop="card_num">
<el-input
v-model="personData.card_num"
placeholder="请输入证件号码"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="政治面貌" prop="politics">
<el-input
v-model="personData.politics"
placeholder="请输入政治面貌"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入党日期" prop="party_start_time">
<el-date-picker
v-model="personData.party_start_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择入党日期"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">教育信息</div>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item
label-width="120px"
label="最高全日制学历"
prop="full_education"
>
<el-input
v-model="personData.full_education"
placeholder="请输入最高全日制学历"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="120px"
label="最高全日制学位"
prop="full_degree"
>
<el-input
v-model="personData.full_degree"
placeholder="请输入最高全日制学位"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 不足24换行 -->
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item
label-width="250px"
label="全日制毕(肄)业学校(单位)名称"
prop="full_school"
>
<el-input
v-model="personData.full_school"
placeholder="请输入学校名称"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="200px"
label="全日制毕(肄)业专业名称"
prop="full_major"
>
<el-input
v-model="personData.full_major"
placeholder="请输入专业名称"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="150px"
label="全日制学校所在国家"
prop="full_school_nation"
>
<el-input
v-model="personData.full_school_nation"
placeholder="请输入学校所在国家"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item
label-width="120px"
label="最高在职学历"
prop="work_education"
>
<el-input
v-model="personData.work_education"
placeholder="请输入最高在职学历"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="120px"
label="最高在职学位"
prop="work_degree"
>
<el-input
v-model="personData.work_degree"
placeholder="请输入最高在职学位"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 不足24换行 -->
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item
label-width="250px"
label="在职毕(肄)业学校(单位)名称"
prop="work_school"
>
<el-input
v-model="personData.work_school"
placeholder="请输入学校名称"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="200px"
label="在职毕(肄)业专业名称"
prop="work_major"
>
<el-input
v-model="personData.work_major"
placeholder="请输入专业名称"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="150px"
label="在职学校所在国家"
prop="work_school_nation"
>
<el-input
v-model="personData.work_school_nation"
placeholder="请输入学校所在国家"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">技术技能</div>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item
label-width="150px"
label="最高专业技术资格名"
prop="professional_skill"
>
<el-input
v-model="personData.professional_skill"
placeholder="请输入最高专业技术资格名"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业技术等级" prop="professional_skill_level">
<el-input
v-model="personData.professional_skill_level"
placeholder="请输入专业技术等级"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 不足24换行 -->
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item
label-width="150px"
label="最高职业技能等级名"
prop="vocational_skill"
>
<el-input
v-model="personData.vocational_skill"
placeholder="请输入最高职业技能等级名"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职业技能等级" prop="vocational_skill_level">
<el-input
v-model="personData.vocational_skill_level"
placeholder="请输入职业技能等级"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 不足24换行 -->
<el-col :span="24"> </el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">岗位信息</div>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="机构名称" prop="organization">
<el-input
v-model="personData.organization"
placeholder="请输入机构名称"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="部门名称" prop="department">
<el-input
v-model="personData.department"
placeholder="请输入部门名称"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="岗位名称" prop="jobname">
<el-input
v-model="personData.jobname"
placeholder="请输入岗位名称"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="岗位类别" prop="jobtype">
<el-input
v-model="personData.jobtype"
placeholder="请输入岗位类别"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用工形式" prop="jobform">
<el-input
v-model="personData.jobform"
placeholder="请输入用工形式"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="人员状态" prop="person_status">
<el-input
v-model="personData.person_status"
placeholder="请输入人员状态"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">职务信息</div>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="任职单位" prop="company">
<el-input
v-model="personData.company"
placeholder="请输入任职单位"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职务名称" prop="dutyname">
<el-input
v-model="personData.dutyname"
placeholder="请输入职务名称"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="150px"
label="任现职务级别日期"
prop="duty_level_start_time"
>
<el-date-picker
v-model="personData.duty_level_start_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择任现职务级别日期"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="职务属性" prop="attribute">
<el-input
v-model="personData.attribute"
placeholder="请输入职务属性"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职务级别" prop="dutylevel">
<el-input
v-model="personData.dutylevel"
placeholder="请输入职务级别"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="个人职级" prop="level">
<el-input
v-model="personData.level"
placeholder="请输入个人职级"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">履历 & 档案</div>
</el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="参加工作时间" prop="work_start_time">
<el-date-picker
v-model="personData.work_start_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择参加工作时间"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="进入行业时间" prop="industry_start_time">
<el-date-picker
v-model="personData.industry_start_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择进入行业时间"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业入职类别" prop="industry_entry">
<el-input
v-model="personData.industry_entry"
placeholder="请输入行业入职类别"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="到本单位时间" prop="company_start_time">
<el-date-picker
v-model="personData.company_start_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择到本单位时间"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位入职类别" prop="company_entry">
<el-input
v-model="personData.company_entry"
placeholder="请输入单位入职类别"
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="任现岗位时间" prop="job_start_time">
<el-date-picker
v-model="personData.job_start_time"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{ width: '100%' }"
placeholder="请选择任现岗位时间"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24"> </el-col>
<!-- 一行 -->
<el-col :span="8">
<el-form-item label="档案保管机构" prop="file">
<el-input
v-model="personData.file"
placeholder="请输入档案保管机构"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="预计退休年龄" prop="retire_age">
<el-input
v-model="personData.retire_age"
placeholder="请输入预计退休年龄"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24"> </el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">备注</div>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input
v-model="personData.remark"
type="textarea"
placeholder="请输入备注 最多200字"
:maxlength="200"
:autosize="{ minRows: 3, maxRows: 3 }"
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<el-col :span="24">
<el-form-item size="large">
<el-button type="primary" @click="submitForm"></el-button>
<el-button @click="resetForm"></el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
</template>
<script>
import * as personApi from "@/api/person";
import { MessageBox, Message } from "element-ui";
export default {
data() {
return {
personData: {},
rules: {
name: [
{
required: true,
message: "请输入姓名",
trigger: "blur",
},
],
sex: [
{
required: true,
message: "请输入性别",
trigger: "blur",
},
],
birth_time: [
{
required: true,
message: "请选择出生日期",
trigger: "change",
},
],
phone_num: [
{
required: true,
message: "请输入联系电话",
trigger: "blur",
},
],
nation: [
{
required: true,
message: "请输入民族",
trigger: "blur",
},
],
citizenship: [
{
required: true,
message: "请输入国籍",
trigger: "blur",
},
],
native_place: [
{
required: true,
message: "请输入籍贯地",
trigger: "blur",
},
],
birth_place: [
{
required: true,
message: "请输入出生地",
trigger: "blur",
},
],
certificate: [
{
required: true,
message: "请输入证件类型",
trigger: "blur",
},
],
card_num: [
{
required: true,
message: "请输入证件号码",
trigger: "blur",
},
],
politics: [
{
required: true,
message: "请输入政治面貌",
trigger: "blur",
},
],
party_start_time: [],
full_education: [],
full_degree: [],
full_school_nation: [],
full_school: [],
full_major: [],
work_education: [],
work_degree: [],
work_school: [],
work_major: [],
work_school_nation: [],
professional_skill: [],
professional_skill_level: [],
vocational_skill: [],
vocational_skill_level: [],
organization: [
{
required: true,
message: "请输入机构名称",
trigger: "blur",
},
],
department: [
{
required: true,
message: "请输入部门名称",
trigger: "blur",
},
],
jobname: [
{
required: true,
message: "请输入岗位名称",
trigger: "blur",
},
],
jobtype: [
{
required: true,
message: "请输入岗位类别",
trigger: "blur",
},
],
jobform: [
{
required: true,
message: "请输入用工形式",
trigger: "blur",
},
],
person_status: [
{
required: true,
message: "请输入人员状态",
trigger: "blur",
},
],
company: [],
dutyname: [],
duty_level_start_time: [],
attribute: [],
dutylevel: [],
level: [],
work_start_time: [],
industry_start_time: [],
industry_entry: [],
company_start_time: [],
company_entry: [],
job_start_time: [],
file: [],
retire_age: [],
remark: [],
},
};
},
methods: {
submitForm() {
this.$refs["basicInfo"].validate((valid) => {
if (!valid) return;
//
personApi.addBasicInfo({ data: this.personData }).then(
(res) => {
if (!res.code) {
Message({
message: "修改成功",
type: "success",
duration: 2 * 1000,
});
}
},
(err) => {
console.log("err", err);
}
);
});
},
resetForm() {
this.$refs["basicInfo"].resetFields();
},
},
};
</script>
<style scoped>
.title-1 {
font-weight: bold;
font-size: 20px;
margin-bottom: 10px;
}
.divider-1 {
height: 20px;
}
</style>

View File

@ -1,3 +1,86 @@
<template>
<div>删除</div>
</template>
<div>
<div class="search-bar">
<el-row type="flex" justify="space-between">
<el-col :span="18"
><el-input
placeholder="请输入证件号码"
v-model="query"
clearable
size="small"
@keyup.enter.native="deleteInfo"
></el-input
></el-col>
<el-col :span="4"
><el-button
type="primary"
icon="el-icon-delete"
@click="deleteInfo"
size="small"
>删除</el-button
></el-col
>
</el-row>
</div>
</div>
</template>
<script>
import * as personApi from "@/api/person";
import { MessageBox, Message } from "element-ui";
export default {
data() {
return {
query: "",
};
},
methods: {
deleteInfo() {
this.query = this.query.trim();
if (!this.query) {
return;
}
this.$confirm(
`此操作将永久 ${this.query} 的基本信息数据, 是否继续?`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(() => {
personApi.deleteBasicInfo({ id_card: this.query }).then(
(res) => {
if (!res.code) {
Message({
message: "删除成功",
type: "success",
duration: 2 * 1000,
});
}
},
(err) => {
console.log("err", err);
}
);
})
.catch(() => {
// this.$message({
// type: "info",
// message: "",
// });
});
},
},
};
</script>
<style scoped>
.search-bar {
width: 80%;
margin: 0px auto;
}
</style>

View File

@ -4,10 +4,11 @@
<el-row type="flex" justify="space-between">
<el-col :span="18"
><el-input
placeholder="请输入身份证号"
placeholder="请输入"
v-model="query"
clearable
size="small"
@keyup.enter.native="searchInfo"
></el-input
></el-col>
<el-col :span="4"
@ -119,18 +120,30 @@
</el-form-item>
</el-col>
<!-- 一行 -->
<el-col :span="4">
<el-form-item label="证件类型" prop="certificate">
<el-input
v-model="personData.certificate"
placeholder="请输入证件类型"
readonly
clearable
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="card_num">
<el-form-item label="" prop="card_num">
<el-input
v-model="personData.card_num"
placeholder="请输入身份证号"
placeholder="请输入"
clearable
readonly
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="4">
<el-form-item label="政治面貌" prop="politics">
<el-input
v-model="personData.politics"
@ -647,6 +660,27 @@
<div class="divider-1"></div>
</el-col>
<!-- 小标题 -->
<el-col :span="24">
<div class="title-1">备注</div>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input
v-model="personData.remark"
type="textarea"
placeholder="请输入备注 最多200字"
:maxlength="200"
:autosize="{ minRows: 3, maxRows: 3 }"
:style="{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<!-- 分割线 -->
<el-col :span="24">
<div class="divider-1"></div>
</el-col>
<el-col :span="24">
<el-form-item size="large">
<el-button type="primary" @click="submitForm"></el-button>
@ -659,61 +693,67 @@
</template>
<script>
import * as personApi from "@/api/person";
import { MessageBox, Message } from "element-ui";
export default {
data() {
return {
query: "",
personData: {
attribute: "领导职务副职",
birth_place: "湖北巴东",
birth_time: "1985-10-20",
card_num: "422823198510203671",
certificate: "身份证",
citizenship: "中国",
company_entry: "社会招聘",
company: "湖北中烟工业有限责任公司恩施卷烟厂",
company_save_file: "是",
company_start_time: "2012-08-01",
department: "厂办公室",
duty_level_start_time: "2020-04-26",
duty_start_time: "2020-04-26",
dutylevel: "副科级",
dutyname: "厂办公室副主任",
file: "本级人事部门",
full_degree: "法学学士",
full_education: "大学",
full_major: "政治学与行政学",
full_school: "长春大学",
full_school_nation: "中国",
industry_entry: "社会招聘",
industry_start_time: "2012-08-01",
jobname: "副主任",
job_start_time: "2020-04-26",
jobform: "劳动关系",
jobtype: "管理类",
level: "副科级",
name: "徐明",
nation: "土家族",
native_place: "湖北巴东",
organization: "湖北中烟工业有限责任公司恩施卷烟厂",
party_start_time: "2019-06-21",
person_status: "在职",
phone_num: "15971776753",
politics: "中共党员",
professional_skill: "助理政工师",
professional_skill_level: "初级",
remark: null,
retire_age: "60",
sex: "男",
vocational_skill: null,
vocational_skill_level: null,
work_degree: null,
work_education: null,
work_major: null,
work_school: null,
work_school_nation: null,
work_start_time: "2012-08-01",
},
curCardNum: "",
// personData: {
// attribute: "",
// birth_place: "",
// birth_time: "1985-10-20",
// card_num: "422823198510203671",
// certificate: "",
// citizenship: "",
// company_entry: "",
// company: "",
// company_save_file: "",
// company_start_time: "2012-08-01",
// department: "",
// duty_level_start_time: "2020-04-26",
// duty_start_time: "2020-04-26",
// dutylevel: "",
// dutyname: "",
// file: "",
// full_degree: "",
// full_education: "",
// full_major: "",
// full_school: "",
// full_school_nation: "",
// industry_entry: "",
// industry_start_time: "2012-08-01",
// jobname: "",
// job_start_time: "2020-04-26",
// jobform: "",
// jobtype: "",
// level: "",
// name: "",
// nation: "",
// native_place: "",
// organization: "",
// party_start_time: "2019-06-21",
// person_status: "",
// phone_num: "15971776753",
// politics: "",
// professional_skill: "",
// professional_skill_level: "",
// remark: null,
// retire_age: "60",
// sex: "",
// vocational_skill: null,
// vocational_skill_level: null,
// work_degree: null,
// work_education: null,
// work_major: null,
// work_school: null,
// work_school_nation: null,
// work_start_time: "2012-08-01",
// },
personData: {},
personDataBackup: {},
rules: {
name: [
{
@ -771,10 +811,17 @@ export default {
trigger: "blur",
},
],
certificate: [
{
required: true,
message: "请输入证件类型",
trigger: "blur",
},
],
card_num: [
{
required: true,
message: "请输入身份证号",
message: "请输入",
trigger: "blur",
},
],
@ -856,24 +903,66 @@ export default {
job_start_time: [],
file: [],
retire_age: [],
remark: [],
},
};
},
methods: {
searchInfo() {},
searchInfo() {
this.query = this.query.trim();
if (!this.query) {
return;
}
this.curCardNum = this.query;
personApi.selectBasicInfo({ id_card: this.query }).then(
(res) => {
this.personDataBackup = Object.assign({}, res.data);
this.personData = res.data;
},
(err) => {
console.log("err", err);
}
);
},
submitForm() {
this.$refs["basicInfo"].validate((valid) => {
if (!valid) return;
// TODO
//
let changeData = {}
for (let key in this.personData) {
if (this.personData[key] != this.personDataBackup[key]) {
changeData[key] = this.personData[key]
}
}
//
personApi
.modifyBasicInfo({ id_card: this.curCardNum, data: changeData })
.then(
(res) => {
if (!res.code) {
Message({
message: "修改成功",
type: "success",
duration: 2 * 1000,
});
}
},
(err) => {
console.log("err", err);
}
);
});
},
resetForm() {
this.$refs["basicInfo"].resetFields();
// this.$refs["basicInfo"].resetFields();
let personData = Object.assign({}, this.personDataBackup);
this.personData = personData;
},
},
};
</script>
<style scoped>
.search-bar {
width: 80%;
@ -890,4 +979,3 @@ export default {
height: 20px;
}
</style>

View File

@ -39,8 +39,8 @@ module.exports = {
proxy: {
'/': {
// target: 'http://222.20.95.239:8000',
// target: 'http://127.0.0.1:4523/m1/1256020-0-default',
target: 'http://127.0.0.1:8123',
target: 'http://127.0.0.1:4523/m1/1256020-0-default',
// target: 'http://127.0.0.1:8123',
changeOrigin: true,
pathRewrite: {
}