Browse Source

1、调整个人信息页面

master
梁欣 4 weeks ago
parent
commit
bfef2622ae
  1. 4
      src/manifest.json
  2. 291
      src/pages/user/userDetail.vue

4
src/manifest.json

@ -3,8 +3,8 @@
"appid" : "__UNI__06C03D0", "appid" : "__UNI__06C03D0",
//__UNI__06C03D0 //__UNI__06C03D0
"description" : "", "description" : "",
"versionName" : "3.0.5",
"versionCode" : "283",
"versionName" : "3.0.6",
"versionCode" : "284",
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {

291
src/pages/user/userDetail.vue

@ -7,97 +7,59 @@
<uv-input input-align="right" v-model="formData.realname" border="none" readonly> <uv-input input-align="right" v-model="formData.realname" border="none" readonly>
</uv-input> </uv-input>
</uv-form-item> </uv-form-item>
<uv-form-item label="手机号" borderBottom required>
<uv-input input-align="right" v-model="formData.phone" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="身份证正面" borderBottom required>
<uv-form-item label="一寸白底证件照" borderBottom required>
<template v-slot:right> <template v-slot:right>
<view class="flex justify-end items-center"> <view class="flex justify-end items-center">
<text class="mr-10">{{ formData.idCardFront ? '已上传' : '' }}</text>
<text class="mr-10">{{ formData.headPhoto ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle" <uv-button type="primary" text="点击上传" shape="circle"
@click="uploadIdCardFront" size="small"></uv-button>
@click="uploadHeadPhoto" size="small"></uv-button>
</view> </view>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="身份证反面" borderBottom required>
<uv-form-item label="小两寸白底证件照" borderBottom required>
<template v-slot:right> <template v-slot:right>
<view class="flex justify-end items-center"> <view class="flex justify-end items-center">
<text class="mr-10">{{ formData.idCardBack ? '已上传' : '' }}</text>
<text class="mr-10">{{ formData.headPhoto2 ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle" <uv-button type="primary" text="点击上传" shape="circle"
@click="uploadIdCardBack" size="small"></uv-button>
@click="uploadHeadPhoto2" size="small"></uv-button>
</view> </view>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="身份证号" borderBottom required>
<uv-input input-align="right" v-model="formData.idCard" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="一寸白底证件照" borderBottom required>
<uv-form-item label="身份证正面" borderBottom required>
<template v-slot:right> <template v-slot:right>
<view class="flex justify-end items-center"> <view class="flex justify-end items-center">
<text class="mr-10">{{ formData.headPhoto ? '已上传' : '' }}</text>
<text class="mr-10">{{ formData.idCardFront ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle" <uv-button type="primary" text="点击上传" shape="circle"
@click="uploadHeadPhoto" size="small"></uv-button>
@click="uploadIdCardFront" size="small"></uv-button>
</view> </view>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="小两寸白底证件照" borderBottom required>
<uv-form-item label="身份证反面" borderBottom required>
<template v-slot:right> <template v-slot:right>
<view class="flex justify-end items-center"> <view class="flex justify-end items-center">
<text class="mr-10">{{ formData.headPhoto2 ? '已上传' : '' }}</text>
<text class="mr-10">{{ formData.idCardBack ? '已上传' : '' }}</text>
<uv-button type="primary" text="点击上传" shape="circle" <uv-button type="primary" text="点击上传" shape="circle"
@click="uploadHeadPhoto2" size="small"></uv-button>
@click="uploadIdCardBack" size="small"></uv-button>
</view> </view>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="公司名称" borderBottom required @click="openCompany">
<uv-input input-align="right" v-model="formData.company" readonly border="none"
placeholder="点击选择">
</uv-input>
<template v-slot:right>
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item>
<uv-form-item label="公司统一信用代码" borderBottom required>
<uv-input input-align="right" v-model="formData.companyCode" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="公司地址" borderBottom required>
<uv-input input-align="right" v-model="formData.companyAddress" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="所在部门" borderBottom>
<uv-input input-align="right" v-model="formData.department" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="人员类型" borderBottom>
<uv-input input-align="right" v-model="formData.peopleTypeInOrg" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="所在工段" borderBottom>
<uv-input input-align="right" v-model="formData.aisle" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="岗位" borderBottom>
<uv-input input-align="right" v-model="formData.positionInOrg" border="none">
<uv-form-item label="身份证号" borderBottom required>
<uv-input input-align="right" v-model="formData.idCard" readonly border="none">
</uv-input> </uv-input>
</uv-form-item> </uv-form-item>
<uv-form-item label="公司所属工业园区" borderBottom required>
<uv-input input-align="right" v-model="formData.companyPark" readonly border="none">
<uv-form-item label="身份证地址" borderBottom required>
<uv-input input-align="right" v-model="formData.address" readonly border="none">
</uv-input> </uv-input>
</uv-form-item> </uv-form-item>
<uv-form-item label="公司邮编" borderBottom required>
<uv-input input-align="right" v-model="formData.companyZipCode" readonly border="none">
</uv-input>
<uv-form-item label="性别" borderBottom required>
<view class="text-right w-100p" v-if="formData.gender !== null">{{
formData.gender === 0 ? '男' : '女'
}}
</view>
</uv-form-item> </uv-form-item>
<uv-form-item label="职称" borderBottom required @click="openPosition">
<uv-input input-align="right" v-model="formData.position" readonly border="none"
placeholder="点击选择">
<uv-form-item label="手机号" borderBottom required>
<uv-input input-align="right" v-model="formData.phone" readonly border="none">
</uv-input> </uv-input>
<template v-slot:right>
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item> </uv-form-item>
<uv-form-item label="学历" borderBottom required @click="openEdu"> <uv-form-item label="学历" borderBottom required @click="openEdu">
<uv-input input-align="right" v-model="formData.education" readonly border="none" <uv-input input-align="right" v-model="formData.education" readonly border="none"
@ -107,17 +69,29 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="毕业学校" borderBottom required>
<uv-input input-align="right" v-model="formData.school" border="none"
placeholder="请输入毕业学校">
</uv-input>
</uv-form-item>
<uv-form-item label="所学专业" borderBottom required <uv-form-item label="所学专业" borderBottom required
v-if="!['小学', '初中', '普通高中'].includes(formData.education)"> v-if="!['小学', '初中', '普通高中'].includes(formData.education)">
<uv-input input-align="right" v-model="formData.major" border="none" <uv-input input-align="right" v-model="formData.major" border="none"
placeholder="请输入所学专业"> placeholder="请输入所学专业">
</uv-input> </uv-input>
</uv-form-item> </uv-form-item>
<uv-form-item label="是否有毕业证" borderBottom required>
<view class="flex justify-end items-center w-100p">
<view class="flex justify-center items-center text-25">
<text></text>
<view class="mx-10">
<uv-switch v-model="hasPaper" :disabled="formData.education !== '初中'"></uv-switch>
</view>
<text></text>
</view>
</view>
</uv-form-item>
<uv-form-item label="毕业证编号" borderBottom required
v-if="!['小学', '初中', '普通高中'].includes(formData.education)">
<uv-input input-align="right" v-model="formData.schoolNo" border="none"
placeholder="请输入毕业证编号">
</uv-input>
</uv-form-item>
<uv-form-item label="入学时间" borderBottom required @click="openInSchoolDatePicker"> <uv-form-item label="入学时间" borderBottom required @click="openInSchoolDatePicker">
<uv-input input-align="right" v-model="formData.inSchoolDate" readonly border="none" <uv-input input-align="right" v-model="formData.inSchoolDate" readonly border="none"
placeholder="点击选择"> placeholder="点击选择">
@ -126,6 +100,11 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="毕业学校" borderBottom required>
<uv-input input-align="right" v-model="formData.school" border="none"
placeholder="请输入毕业学校">
</uv-input>
</uv-form-item>
<uv-form-item label="毕业时间" borderBottom required @click="openOutSchoolDatePicker"> <uv-form-item label="毕业时间" borderBottom required @click="openOutSchoolDatePicker">
<uv-input input-align="right" v-model="formData.outSchoolDate" readonly border="none" <uv-input input-align="right" v-model="formData.outSchoolDate" readonly border="none"
placeholder="点击选择"> placeholder="点击选择">
@ -134,12 +113,6 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="毕业证编号" borderBottom required
v-if="!['小学', '初中', '普通高中'].includes(formData.education)">
<uv-input input-align="right" v-model="formData.schoolNo" border="none"
placeholder="请输入毕业证编号">
</uv-input>
</uv-form-item>
<uv-form-item label="毕业证" borderBottom required <uv-form-item label="毕业证" borderBottom required
v-if="!['小学', '初中', '普通高中'].includes(formData.education)"> v-if="!['小学', '初中', '普通高中'].includes(formData.education)">
<template v-slot:right> <template v-slot:right>
@ -158,6 +131,10 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="民族" borderBottom required>
<uv-input input-align="right" v-model="formData.nation" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="政治面貌" borderBottom required @click="openPolitical"> <uv-form-item label="政治面貌" borderBottom required @click="openPolitical">
<uv-input input-align="right" v-model="formData.political" readonly border="none" <uv-input input-align="right" v-model="formData.political" readonly border="none"
placeholder="点击选择"> placeholder="点击选择">
@ -174,6 +151,18 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="公司名称" borderBottom required @click="openCompany">
<uv-input input-align="right" v-model="formData.company" readonly border="none"
placeholder="点击选择">
</uv-input>
<template v-slot:right>
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item>
<uv-form-item label="所在岗位" borderBottom required>
<uv-input input-align="right" v-model="formData.positionInOrg" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="入职时间" borderBottom required @click="openInCompanyTime"> <uv-form-item label="入职时间" borderBottom required @click="openInCompanyTime">
<uv-input input-align="right" v-model="formData.inCompanyTime" readonly border="none" <uv-input input-align="right" v-model="formData.inCompanyTime" readonly border="none"
placeholder="点击选择"> placeholder="点击选择">
@ -198,6 +187,69 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="公司所属工业园区" borderBottom required>
<uv-input input-align="right" v-model="formData.companyPark" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="公司邮编" borderBottom required>
<uv-input input-align="right" v-model="formData.companyZipCode" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="公司统一信用代码" borderBottom required>
<uv-input input-align="right" v-model="formData.companyCode" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="公司地址" borderBottom required>
<uv-input input-align="right" v-model="formData.companyAddress" readonly border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="职称" borderBottom required @click="openPosition">
<uv-input input-align="right" v-model="formData.position" readonly border="none"
placeholder="点击选择">
</uv-input>
<template v-slot:right>
<uv-icon name="arrow-right"></uv-icon>
</template>
</uv-form-item>
<uv-form-item label="职称证书照(有就上传)" required borderBottom>
<text>{{ formData.jobTitlePaper ? '已上传' : '' }}</text>
<template v-slot:right>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadJobTitlePaper" size="small"></uv-button>
</template>
</uv-form-item>
<uv-form-item label="是否有工种等级证书" required borderBottom>
<view class="flex justify-center items-center text-25">
<text></text>
<view class="mx-10">
<uv-switch v-model="hasWorkTypePaper"></uv-switch>
</view>
<text></text>
</view>
</uv-form-item>
<uv-form-item label="等级证书" required borderBottom v-if="hasWorkTypePaper">
<text>{{ formData.workTypePaper ? '已上传' : '' }}</text>
<template v-slot:right>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadWorkTypePaper" size="small"></uv-button>
</template>
</uv-form-item>
<uv-form-item label="等级证书编号" required borderBottom v-if="hasWorkTypePaper">
<uv-input input-align="right" v-model="formData.workTypeNumber" border="none" placeholder="请输入等级证书编号">
</uv-input>
</uv-form-item>
<uv-form-item label="所在部门" borderBottom>
<uv-input input-align="right" v-model="formData.department" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="人员类型" borderBottom>
<uv-input input-align="right" v-model="formData.peopleTypeInOrg" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="所在工段" borderBottom>
<uv-input input-align="right" v-model="formData.aisle" border="none">
</uv-input>
</uv-form-item>
<uv-form-item label="劳动合同第一页" borderBottom> <uv-form-item label="劳动合同第一页" borderBottom>
<template v-slot:right> <template v-slot:right>
<view class="flex justify-end items-center"> <view class="flex justify-end items-center">
@ -276,20 +328,6 @@
<uv-icon name="arrow-right"></uv-icon> <uv-icon name="arrow-right"></uv-icon>
</template> </template>
</uv-form-item> </uv-form-item>
<uv-form-item label="职称证书照(有就上传)" borderBottom>
<text>{{ formData.jobTitlePaper ? '已上传' : '' }}</text>
<template v-slot:right>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadJobTitlePaper" size="small"></uv-button>
</template>
</uv-form-item>
<uv-form-item label="等级证书(有就上传)" borderBottom>
<text>{{ formData.workTypePaper ? '已上传' : '' }}</text>
<template v-slot:right>
<uv-button type="primary" text="点击上传" shape="circle"
@click="uploadWorkTypePaper" size="small"></uv-button>
</template>
</uv-form-item>
<uv-form-item label="中华技能大奖(有就上传)" borderBottom> <uv-form-item label="中华技能大奖(有就上传)" borderBottom>
<text>{{ formData.chineseSkill ? '已上传' : '' }}</text> <text>{{ formData.chineseSkill ? '已上传' : '' }}</text>
<template v-slot:right> <template v-slot:right>
@ -407,6 +445,9 @@ import {checkLogin} from "@/utils/app";
const minDate = dayjs().subtract(80, 'year').valueOf() const minDate = dayjs().subtract(80, 'year').valueOf()
const hasPaper = ref(false)
const hasWorkTypePaper = ref(false)
const formData = ref({ const formData = ref({
realname: '', realname: '',
idCard: '', idCard: '',
@ -435,6 +476,7 @@ const formData = ref({
workContractEndTime: '', workContractEndTime: '',
jobTitlePaper: '', jobTitlePaper: '',
workTypePaper: '', workTypePaper: '',
workTypeNumber: '',
jobIntention: '', jobIntention: '',
houseType: '', houseType: '',
personSupplementary: '', personSupplementary: '',
@ -465,6 +507,9 @@ const formData = ref({
contactExpirePage: '', contactExpirePage: '',
contactSignPage: '', contactSignPage: '',
socialSecurity: '', socialSecurity: '',
address: '',
gender: null,
nation: null,
}) })
const graduateDate = ref(dayjs().subtract(5, 'year').valueOf()) const graduateDate = ref(dayjs().subtract(5, 'year').valueOf())
@ -478,9 +523,10 @@ const outSchoolDate = ref(dayjs().subtract(5, 'year').valueOf())
const getUserDetail = async () => { const getUserDetail = async () => {
const {data} = await userDetailReq() const {data} = await userDetailReq()
for (let key in formData.value) { for (let key in formData.value) {
if (data[key]) formData.value[key] = data[key]
if (data[key] !== null && data[key] !== undefined) formData.value[key] = data[key]
} }
console.log(formData.value)
if (formData.value.schoolPaper) hasPaper.value = true
if (formData.value.workTypePaper) hasWorkTypePaper.value = true
} }
const companyPicker = ref() const companyPicker = ref()
@ -523,7 +569,6 @@ const confirmEdu = ({value}) => {
formData.value.education = value[0] formData.value.education = value[0]
} }
const eduColumns = ref([ const eduColumns = ref([
'小学',
'初中', '初中',
'职业高中', '职业高中',
'技工学校', '技工学校',
@ -773,75 +818,70 @@ const uploadHeadPhoto2 = async () => {
const disabled = ref(false) const disabled = ref(false)
const submit = async () => { const submit = async () => {
if (!formData.value.position) { if (!formData.value.position) {
toast("请选择职称")
return
return $toast("请选择职称")
} }
if (!formData.value.education) { if (!formData.value.education) {
toast("请选择学历")
return
return $toast("请选择学历")
} }
if (!formData.value.major && !['小学', '初中', '普通高中'].includes(formData.value.education)) { if (!formData.value.major && !['小学', '初中', '普通高中'].includes(formData.value.education)) {
toast("请输入专业")
return
return $toast("请输入专业")
} }
if (!formData.value.inSchoolDate) { if (!formData.value.inSchoolDate) {
toast("请选择入学时间")
return
return $toast("请选择入学时间")
} }
if (!formData.value.school) { if (!formData.value.school) {
toast("请输入学校名称")
return
}
if (!formData.value.schoolNo && !['小学', '初中', '普通高中'].includes(formData.value.education)) {
toast("请输入毕业证编号")
return
return $toast("请输入学校名称")
} }
// if (!formData.value.schoolNo && !['', '', ''].includes(formData.value.education)) {
// return $toast("")
// }
if (!formData.value.political) { if (!formData.value.political) {
toast("请选择政治面貌")
return
return $toast("请选择政治面貌")
} }
if (!formData.value.headPhoto) { if (!formData.value.headPhoto) {
toast("请上传证件照")
return
return $toast("请上传证件照")
} }
if (!formData.value.company) { if (!formData.value.company) {
toast("请选择所属公司")
return
return $toast("请选择所属公司")
} }
if (!formData.value.workContractStartTime) { if (!formData.value.workContractStartTime) {
toast("请选择劳动合同签订开始时间")
return
return $toast("请选择劳动合同签订开始时间")
} }
if (!formData.value.workContractEndTime) { if (!formData.value.workContractEndTime) {
toast("请选择劳动合同签订结束时间")
return
return $toast("请选择劳动合同签订结束时间")
} }
if (!formData.value.outSchoolDate) { if (!formData.value.outSchoolDate) {
toast("请选择毕业时间")
return
return $toast("请选择毕业时间")
} }
if (!formData.value.workTime) { if (!formData.value.workTime) {
toast("请选择参加工作时间")
return
return $toast("请选择参加工作时间")
} }
if (!formData.value.inCompanyTime) { if (!formData.value.inCompanyTime) {
toast("请选择入职时间")
return
return $toast("请选择入职时间")
} }
if (!formData.value.position) { if (!formData.value.position) {
toast("请选择职称")
return
return $toast("请选择职称")
} }
if (dayjs(formData.value.workContractStartTime).isAfter(formData.value.workContractEndTime)) { if (dayjs(formData.value.workContractStartTime).isAfter(formData.value.workContractEndTime)) {
toast("合同结束时间不能早于开始时间")
return
return $toast("合同结束时间不能早于开始时间")
}
if (hasPaper.value) {
if (!formData.value.schoolNo) return $toast('请填写毕业证编号')
if (!formData.value.schoolPaper) return $toast('请上传毕业证')
}
if (formData.value.position !== '无职称' && !formData.value.jobTitlePaper) {
return $toast('请上传职称等级证书')
}
if (hasWorkTypePaper.value) {
if (!formData.value.workTypePaper) return $toast('请上传工种等级证书')
if (!formData.value.workTypeNumber) return $toast('请输入工种证书编号')
} }
disabled.value = true disabled.value = true
formData.value.hasSetData = 1 formData.value.hasSetData = 1
const res = await updateUserDetailReq(formData.value) const res = await updateUserDetailReq(formData.value)
disabled.value = false disabled.value = false
if (res) { if (res) {
toast("已保存")
$toast("已保存")
uni.switchTab({url: '/pages/index/index'}) uni.switchTab({url: '/pages/index/index'})
} }
} }
@ -903,6 +943,9 @@ const uploadIdCardFront = async () => {
formData.value.idCardFront = res[0] formData.value.idCardFront = res[0]
formData.value.realname = data.realName formData.value.realname = data.realName
formData.value.idCard = data.idCardNumber formData.value.idCard = data.idCardNumber
formData.value.address = data.address
formData.value.gender = data.gender
formData.value.nation = data.nation
} }
} }

Loading…
Cancel
Save