bug修复

parent f7c016a0
......@@ -245,7 +245,7 @@
"pagePath": "pages/postionList/index",
"iconPath": "static/image/tabBar/home.png",
"selectedIconPath": "static/image/tabBar/homeActive.png",
"text": "首页"
"text": "求职"
},
{
"pagePath": "pages/policy/index",
......
......@@ -19,7 +19,7 @@ import articleList from "@/components/articleList/index.vue";
import { getArticleListApi, getArticleTypesApi } from "@/api/article.js";
import { reactive, ref } from "vue";
const active = ref("");
const typeList = ref([{ id: "", name: "全部" },{ id: -1, name: "招聘会" }]);
const typeList = ref([{ id: -1, name: "招聘会" }]);
getArticleTypesApi(2).then(res => {
typeList.value.push(...res.data);
});
......
......@@ -36,7 +36,8 @@
<view class="experience-and-education flex-align-center">
<view class="flex-align-center">
<img src="@/static/image/postion/experience.png" alt="" />
<text>{{partTimeJobData.minAgeRequirement}}-{{partTimeJobData.maxAgeRequirement }}</text>
<text v-if="partTimeJobData.minAgeRequirement>0">{{partTimeJobData.minAgeRequirement}}-{{partTimeJobData.maxAgeRequirement }}</text>
<text v-else>不限</text>
</view>
<view class="flex-align-center">
<img src="@/static/image/postion/education.png" alt="" />
......
......@@ -38,7 +38,8 @@
<view class="pos-card">
<view class="pos-name flex-between">
<text class="name">{{ postionData.position.name }}</text>
<view>{{ postionData.position.minSalary<1000?postionData.position.minSalary:postionData.position.minSalary / 1000 +'k'}}-{{ postionData.position.maxSalary<1000?postionData.position.maxSalary:postionData.position.maxSalary / 1000 +'k' }}<text>/{{ postionData.company }}</text></view>
<view v-if="postionData.position.minSalary>0">{{ postionData.position.minSalary<1000?postionData.position.minSalary:postionData.position.minSalary / 1000 +'k'}}-{{ postionData.position.maxSalary<1000?postionData.position.maxSalary:postionData.position.maxSalary / 1000 +'k' }}<text>/{{ postionData.company }}</text></view>
<view v-else class="salary2">面议</view>
</view>
<view class="com-name">{{ postionData.position.companyName }}</view>
<view class="tags">
......
......@@ -29,12 +29,7 @@
<view class="my-info-title label">
<text>昵称</text>
</view>
<input
class="my-info-form"
v-model="userInfo.name"
placeholder="请输入"
placeholder-class="placeholder-style"
/>
<input class="my-info-form" v-model="userInfo.name" placeholder="请输入" placeholder-class="placeholder-style" />
</view>
<!-- 性别 -->
<view class="my-info-list pd-b-38">
......@@ -76,19 +71,19 @@
<text>身份</text>
</view>
<wd-checkbox-group v-model="userInfo.identityTypes" shape="dot" inline>
<wd-checkbox :modelValue="v.code" :key="v.code" v-for="v in identityTypeOpstion">{{ v.text }}</wd-checkbox >
<wd-checkbox :modelValue="v.code" :key="v.code" v-for="v in identityTypeOpstion">{{ v.text }}</wd-checkbox>
</wd-checkbox-group>
</view>
<!-- 户籍地* -->
<view class="my-info-list flex-between">
<view class="my-info-list flex-between">
<view class="my-info-title label">
<text>户籍地</text>
</view>
<wd-col-picker
v-model="value"
:columns="area"
:columns="area"
:column-change="columnChange"
@confirm="handleConfirm"
@confirm="handleConfirm"
use-default-slot
style="flex: 1"
>
......@@ -100,7 +95,7 @@
</div>
</wd-col-picker>
</view>
<!-- 户籍详细地址 -->
<!-- 户籍详细地址 -->
<view class="my-info-list flex-column">
<view class="my-info-title label">
<text>户籍详细地址</text>
......@@ -112,16 +107,16 @@
placeholder-class="placeholder-style"
/>
</view>
<!-- 常驻地* -->
<view class="my-info-list flex-between">
<!-- 常驻地* -->
<view class="my-info-list flex-between">
<view class="my-info-title label">
<text>常驻地</text>
</view>
<wd-col-picker
v-model="value2"
:columns="area"
:columns="area"
:column-change="columnChange2"
@confirm="handleConfirm2"
@confirm="handleConfirm2"
use-default-slot
style="flex: 1"
>
......@@ -133,7 +128,7 @@
</div>
</wd-col-picker>
</view>
<!-- 常驻详细地址 -->
<!-- 常驻详细地址 -->
<view class="my-info-list flex-column">
<view class="my-info-title label">
<text>常驻详细地址</text>
......@@ -170,7 +165,7 @@
<!-- <image class="my-info-icon" src="{{ossImgPrefix}}/my/right.png"></image> -->
<view class="arrow"></view>
</view>
<!-- 专业 -->
<!-- 专业 -->
<view class="my-info-list flex-column">
<view class="my-info-title label">
<text>专业</text>
......@@ -182,73 +177,74 @@
placeholder-class="placeholder-style"
/>
</view>
<!-- 专业技术职称 -->
<!-- 专业技术职称 -->
<view class="two-rows">
<text class="title">专业技术职称</text>
<view class="bottom-row">
<view class="bottom-one">
<input
class="my-info-form"
v-model="userInfo.positionalTitleOne"
placeholder="请填写专业技术职称"
placeholder-class="placeholder-style"
/>
<img class="write-icon" src="@/static/image/user/write.png" />
</view>
<view class="bottom-one">
<wd-picker
:columns="levelOpstion"
label-key="text"
value-key="code"
v-model="userInfo.positionalTitleTwo"
use-default-slot
@confirm="changeEducationLevel2"
style="flex: 1"
>
<view class="picker">
<view :class="['my-info-form', userInfo.positionalTitleTwo ? '' : 'placeholder-style']">{{
userInfo.positionalTitleTwo || "请选择职业资格等级"
}}</view>
</view>
</wd-picker>
<view class="arrow"></view>
</view>
</view>
<text class="title">专业技术职称</text>
<view class="bottom-row">
<view class="bottom-one">
<input
class="my-info-form"
v-model="userInfo.positionalTitleOne"
placeholder="请填写专业技术职称"
placeholder-class="placeholder-style"
/>
<img class="write-icon" src="@/static/image/user/write.png" />
</view>
<view class="bottom-one">
<wd-picker
:columns="levelOpstion"
label-key="text"
value-key="code"
v-model="userInfo.positionalTitleTwo"
use-default-slot
@confirm="changeEducationLevel2"
style="flex: 1"
>
<view class="picker">
<view :class="['my-info-form', userInfo.positionalTitleTwo ? '' : 'placeholder-style']">{{
userInfo.positionalTitleTwo || "请选择职业资格等级"
}}</view>
</view>
</wd-picker>
<view class="arrow"></view>
</view>
</view>
</view>
<!-- 职业资格/技能等级证书 -->
<!-- 职业资格/技能等级证书 -->
<view class="two-rows">
<text class="title">职业资格/技能等级证书</text>
<view class="bottom-row">
<view class="bottom-one">
<input
class="my-info-form"
v-model="userInfo.professionalCertificatesOne"
placeholder="请填写职业资格"
placeholder-class="placeholder-style"
/>
<img class="write-icon" src="@/static/image/user/write.png" />
</view>
<view class="bottom-one">
<wd-picker
:columns="levelOpstion"
label-key="text"
value-key="code"
v-model="userInfo.professionalCertificatesTwo"
use-default-slot
@confirm="changeEducationLevel3"
style="flex: 1"
>
<view class="picker">
<view :class="['my-info-form', userInfo.professionalCertificatesTwo ? '' : 'placeholder-style']">{{
userInfo.professionalCertificatesTwo || "请选择职业资格等级"
}}</view>
</view>
</wd-picker>
<view class="arrow"></view>
</view>
</view>
<text class="title">职业资格/技能等级证书</text>
<view class="bottom-row">
<view class="bottom-one">
<input
class="my-info-form"
v-model="userInfo.professionalCertificatesOne"
placeholder="请填写职业资格"
placeholder-class="placeholder-style"
/>
<img class="write-icon" src="@/static/image/user/write.png" />
</view>
<view class="bottom-one">
<wd-picker
:columns="levelOpstion"
label-key="text"
value-key="code"
v-model="userInfo.professionalCertificatesTwo"
use-default-slot
@confirm="changeEducationLevel3"
style="flex: 1"
>
<view class="picker">
<view
:class="['my-info-form', userInfo.professionalCertificatesTwo ? '' : 'placeholder-style']"
>{{ userInfo.professionalCertificatesTwo || "请选择职业资格等级" }}</view
>
</view>
</wd-picker>
<view class="arrow"></view>
</view>
</view>
</view>
<!-- 特种作业证 -->
<!-- 特种作业证 -->
<view class="my-info-list flex-column">
<view class="my-info-title label">
<text>特种作业证</text>
......@@ -260,7 +256,7 @@
placeholder-class="placeholder-style"
/>
</view>
<!-- 工作年限 -->
<!-- 工作年限 -->
<view class="my-info-list flex-column" v-if="userInfo.identityCode != 0">
<view class="my-info-title label">
<!-- <text>{{identityCode == 0 ? '参加实习时间' : '参加工作时间'}}</text> -->
......@@ -274,10 +270,8 @@
type="number"
/>
</view>
<view class="tips">
*注:以下用户证件信息及联系方式将进行严格保密。
</view>
<!-- 身份证号 -->
<view class="tips"> *注:以下用户证件信息及联系方式将进行严格保密。 </view>
<!-- 身份证号 -->
<view class="my-info-list flex-column">
<view class="my-info-title label">
<text>身份证号</text>
......@@ -331,18 +325,18 @@ import { getEumData, navigateTo } from "@/utils/utils.js";
import { uploadFiles } from "@/utils/fileUpload.js";
import evn from "@/utils/config.js";
import dayjs from "dayjs";
import { useColPickerData } from '@/hooks/useColPickerData'
const { colPickerData, findChildrenByCode } = useColPickerData()
const value = ref([])
import { useColPickerData } from "@/hooks/useColPickerData";
const { colPickerData, findChildrenByCode } = useColPickerData();
const value = ref([]);
const area = ref([
colPickerData.map((item) => {
return {
value: item.value,
label: item.text
}
})
])
const value2 = ref([])
colPickerData.map(item => {
return {
value: item.value,
label: item.text
};
})
]);
const value2 = ref([]);
let verified = ref(0);
const cropperFlag = 0;
const identityCode = 0;
......@@ -363,65 +357,68 @@ const userInfo = ref({
loginTime: "",
jobStatus: 1,
completeResume: false,
user: null
user: null,
positionalTitleOne: null,
positionalTitleTwo: null,
professionalCertificatesOne: null,
professionalCertificatesTwo: null
});
onMounted(() => {
getEumDataFn()
getEumDataFn();
getData();
});
// 户籍地
const provinceCityDistrict = ref("")
const provinceCityDistrictArray = []
const provinceCityDistrict = ref("");
const provinceCityDistrictArray = [];
const columnChange = ({ selectedItem, index, resolve, finish }) => {
provinceCityDistrictArray.splice(index,1,selectedItem.label)
const areaData = findChildrenByCode(colPickerData, selectedItem.value)
if (areaData && areaData.length) {
resolve(
areaData.map((item) => {
return {
value: item.value,
label: item.text
}
})
)
} else {
finish()
provinceCityDistrict.value = provinceCityDistrictArray.join('')
}
}
provinceCityDistrictArray.splice(index, 1, selectedItem.label);
const areaData = findChildrenByCode(colPickerData, selectedItem.value);
if (areaData && areaData.length) {
resolve(
areaData.map(item => {
return {
value: item.value,
label: item.text
};
})
);
} else {
finish();
provinceCityDistrict.value = provinceCityDistrictArray.join("");
}
};
// 常住地
const provinceCityDistrict2 = ref("")
const provinceCityDistrictArray2 = []
const provinceCityDistrict2 = ref("");
const provinceCityDistrictArray2 = [];
const columnChange2 = ({ selectedItem, index, resolve, finish }) => {
provinceCityDistrictArray2.splice(index,1,selectedItem.label)
const areaData = findChildrenByCode(colPickerData, selectedItem.value)
if (areaData && areaData.length) {
resolve(
areaData.map((item) => {
return {
value: item.value,
label: item.text
}
})
)
} else {
finish()
provinceCityDistrict2.value = provinceCityDistrictArray2.join('')
}
}
provinceCityDistrictArray2.splice(index, 1, selectedItem.label);
const areaData = findChildrenByCode(colPickerData, selectedItem.value);
if (areaData && areaData.length) {
resolve(
areaData.map(item => {
return {
value: item.value,
label: item.text
};
})
);
} else {
finish();
provinceCityDistrict2.value = provinceCityDistrictArray2.join("");
}
};
let residenceCodes = ref('');
let residenceCodes = ref("");
function handleConfirm({ value }) {
residenceCodes.value = value.join()
residenceCodes.value = value.join();
}
let birthCodes = ref('');
let birthCodes = ref("");
function handleConfirm2({ value }) {
console.log(value)
birthCodes.value = value.join()
console.log(value);
birthCodes.value = value.join();
}
// 页面跳转
......@@ -469,36 +466,36 @@ getEumData("EnumIdentityType").then(res => {
res.forEach(v => {
v.code = v.code * 1;
});
identityTypeOpstion.value = res;
console.log('identityTypeOpstionidentityTypeOpstion',identityTypeOpstion.value );
identityTypeOpstion.value = res;
console.log("identityTypeOpstionidentityTypeOpstion", identityTypeOpstion.value);
});
/* 学历 */
const educationText = ref("");
const educationOpstion = ref([]);
const levelOpstion = ref([]);
const getEumDataFn = () => {
getEumData("EnumEducation").then(res => {
res.forEach(v => {
v.code = v.code * 1;
});
educationOpstion.value = res;
});
getEumData("EnumCertificatesLevel").then(res => {
res.forEach(v => {
v.code = v.code * 1;
});
levelOpstion.value = res;
});
getEumData("EnumEducation").then(res => {
res.forEach(v => {
v.code = v.code * 1;
});
educationOpstion.value = res;
});
getEumData("EnumCertificatesLevel").then(res => {
res.forEach(v => {
v.code = v.code * 1;
});
levelOpstion.value = res;
});
};
const changeEducationLevel = e => {
educationText.value = e.selectedItems.text;
};
const changeEducationLevel2 = e => {
userInfo.value.positionalTitleTwo = e.selectedItems.text;
userInfo.value.positionalTitleTwo = e.selectedItems.text;
};
const changeEducationLevel3 = e => {
userInfo.value.professionalCertificatesTwo = e.selectedItems.text;
userInfo.value.professionalCertificatesTwo = e.selectedItems.text;
};
const getData = async () => {
......@@ -509,50 +506,81 @@ const getData = async () => {
verified.value = 1;
return;
}
userInfo.value = data;
const residence = data.residenceAddress.split('-')
const birth = data.birthAddress.split('-')
residenceCodes.value = data.residenceCodes
birthCodes.value = data.birthCodes
userInfo.value.identityTypes = data.identityTypes.split(',').map(item => item * 1);
userInfo.value.positionalTitleOne = data.positionalTitle.split('-')[0]
userInfo.value.positionalTitleTwo = data.positionalTitle.split('-')[1]
userInfo.value.professionalCertificatesOne = data.professionalCertificates.split('-')[1]
userInfo.value.professionalCertificatesTwo = data.professionalCertificates.split('-')[1]
provinceCityDistrict.value = residence[0]
provinceCityDistrict2.value = birth[0]
userInfo.value.residenceAddress = residence[1]
userInfo.value.birthAddress = birth[1]
educationText.value = educationOpstion.value[data.education - 1].text;
userInfo.value = data;
const residence = data.residenceAddress.split("-");
const birth = data.birthAddress.split("-");
residenceCodes.value = data.residenceCodes;
birthCodes.value = data.birthCodes;
userInfo.value.identityTypes = data.identityTypes.split(",").map(item => item * 1);
if (data.positionalTitle) {
userInfo.value.positionalTitleOne = data.positionalTitle.split("-")[0];
userInfo.value.positionalTitleTwo = data.positionalTitle.split("-")[1];
}
if (data.professionalCertificates) {
userInfo.value.professionalCertificatesOne = data.professionalCertificates.split("-")[0];
userInfo.value.professionalCertificatesTwo = data.professionalCertificates.split("-")[1];
}
provinceCityDistrict.value = residence[0];
provinceCityDistrict2.value = birth[0];
userInfo.value.residenceAddress = residence[1];
userInfo.value.birthAddress = birth[1];
educationText.value = educationOpstion.value[data.education - 1].text;
}
};
/* 提交 */
const submit = () => {
console.log(userInfo);
const {citizenId,positionalTitleOne,positionalTitleTwo,professionalCertificatesOne,professionalCertificatesTwo,specialCertificates,major,birthAddress,residenceAddress, avatarPath, name, sex, phone, email, birthday, identityTypes, education, workAge, personalTags } =
userInfo.value;
saveUserInfoApi({
residenceCodes: residenceCodes.value,
birthCodes:birthCodes.value,
residenceAddress: provinceCityDistrict.value + "-" + residenceAddress,
birthAddress:provinceCityDistrict2.value + "-" + birthAddress ,
major,
positionalTitle: positionalTitleOne + '-' + positionalTitleTwo,
professionalCertificates: professionalCertificatesOne + '-' + professionalCertificatesTwo,
citizenId,
specialCertificates,
avatarPath,
name,
sex,
phone,
email,
birthday,
identityTypes:identityTypes.join(),
education,
workAge,
personalTags
}).then(res => {
const {
citizenId,
positionalTitleOne,
positionalTitleTwo,
professionalCertificatesOne,
professionalCertificatesTwo,
specialCertificates,
major,
birthAddress,
residenceAddress,
avatarPath,
name,
sex,
phone,
email,
birthday,
identityTypes,
education,
workAge,
personalTags
} = userInfo.value;
const params = {
residenceCodes: residenceCodes.value,
birthCodes: birthCodes.value,
residenceAddress: provinceCityDistrict.value + "-" + residenceAddress,
birthAddress: provinceCityDistrict2.value + "-" + birthAddress,
major,
positionalTitle: positionalTitleOne + "-" + positionalTitleTwo,
professionalCertificates: professionalCertificatesOne + "-" + professionalCertificatesTwo,
citizenId,
specialCertificates,
avatarPath,
name,
sex,
phone,
email,
birthday,
identityTypes: identityTypes.join(),
education,
workAge,
personalTags
};
if (!positionalTitleOne || !positionalTitleTwo) {
params.positionalTitle = null;
}
if (!professionalCertificatesOne || !professionalCertificatesTwo) {
params.professionalCertificates = null;
}
console.log("params", params);
saveUserInfoApi(params).then(res => {
if (res.code == 200) {
uni.showToast({
title: "保存成功",
......@@ -569,26 +597,26 @@ const submit = () => {
};
</script>
<style lang="scss" scoped>
.col-picker{
border-bottom: 1rpx solid #e9e9e9;
padding: 32rpx 0;
::v-deep .wd-col-picker__cell{
padding: 0;
}
::v-deep .wd-col-picker__label{
color: #77818f;
font-size: 24rpx;
margin: 0;
min-width:200rpx !important;
max-width:200rpx !important;
}
::v-deep .wd-col-picker__arrow{
font-size: 32rpx;
color: #000;
}
::v-deep .wd-col-picker__value{
font-weight: 600;
}
.col-picker {
border-bottom: 1rpx solid #e9e9e9;
padding: 32rpx 0;
::v-deep .wd-col-picker__cell {
padding: 0;
}
::v-deep .wd-col-picker__label {
color: #77818f;
font-size: 24rpx;
margin: 0;
min-width: 200rpx !important;
max-width: 200rpx !important;
}
::v-deep .wd-col-picker__arrow {
font-size: 32rpx;
color: #000;
}
::v-deep .wd-col-picker__value {
font-weight: 600;
}
}
</style>
......@@ -597,7 +625,7 @@ const submit = () => {
.essential-information {
box-sizing: border-box;
background: #ffffff;
padding-bottom:calc(env(safe-area-inset-bottom) + 160rpx)
padding-bottom: calc(env(safe-area-inset-bottom) + 160rpx);
}
.real-name-authentication {
padding: 12rpx 20rpx;
......@@ -844,10 +872,10 @@ const submit = () => {
}
.my-info {
padding: 0 32rpx;
.tips{
font-size: 24rpx;
color: #CCCCCC;
margin-top:24rpx ;
.tips {
font-size: 24rpx;
color: #cccccc;
margin-top: 24rpx;
}
.my-info-list {
position: relative;
......@@ -920,39 +948,39 @@ const submit = () => {
}
}
}
.two-rows{
.two-rows {
display: flex;
flex-direction: column;
padding-top: 24rpx;
.title{
.title {
font-size: 24rpx;
color: #77818F;
color: #77818f;
font-family: 苹方-;
}
.bottom-row{
.bottom-row {
display: flex;
align-items: center;
justify-content: space-between;
.bottom-one{
.bottom-one {
display: flex;
justify-content: space-between;
align-items: center;
width: 45%;
border-bottom: 1rpx solid #e9e9e9;
height: 100rpx;
.write-icon{
.write-icon {
width: 28rpx;
height: 28rpx;
}
.placeholder-style {
font-size: 28rpx;
font-weight: normal;
line-height: 36rpx;
color: #77818f;
font-size: 28rpx;
font-weight: normal;
line-height: 36rpx;
color: #77818f;
}
.my-info-form {
flex: 1;
padding: 0;
flex: 1;
padding: 0;
}
}
}
......@@ -978,6 +1006,6 @@ const submit = () => {
padding-bottom: env(safe-area-inset-bottom);
text-align: center;
border-top: 1rpx solid #ebebeb;
background-color: #ffffff;
background-color: #ffffff;
}
</style>
......@@ -43,11 +43,11 @@
</view>
<view class="information">
<text class="label">专业技术职称</text>
<text class="value">{{resumeData.positionalTitle.split('-')[1] === 'undefined'?'无':resumeData.positionalTitle}}</text>
<text class="value">{{resumeData.positionalTitle || '无'}}</text>
</view>
<view class="information">
<text class="label">职业资格/技能等级证书</text>
<text class="value">{{resumeData.professionalCertificates.split('-')[1] === 'undefined'?'无':resumeData.professionalCertificates || '无'}}</text>
<text class="value">{{resumeData.professionalCertificates || '无'}}</text>
</view>
<view class="information">
<text class="label">特种作业证</text>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment