feat : 新增 点子名片页, 修改我的简历页, 编辑个人信息页
This commit is contained in:
@@ -269,10 +269,9 @@ function getFormCompletionPercent(form) {
|
|||||||
display: flex
|
display: flex
|
||||||
flex-wrap: wrap
|
flex-wrap: wrap
|
||||||
.nx-item
|
.nx-item
|
||||||
padding: 20rpx 28rpx
|
margin: 12rpx 12rpx 0 0;
|
||||||
width: fit-content
|
padding: 12rpx 25rpx;
|
||||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||||
border: 2rpx solid #E8EAEE;
|
border: 2rpx solid #E8EAEE;
|
||||||
margin-right: 24rpx
|
|
||||||
margin-top: 24rpx
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -2,33 +2,25 @@
|
|||||||
<AppLayout title="我的简历" title-color="#FFFFFF" back-gorund-color="#F4F4F4">
|
<AppLayout title="我的简历" title-color="#FFFFFF" back-gorund-color="#F4F4F4">
|
||||||
<template #headerleft>
|
<template #headerleft>
|
||||||
<view class="btn">
|
<view class="btn">
|
||||||
<image src="@/static/icon/back.png" @click="navBack"></image>
|
<image src="@/static/icon/back-white.png" @click="navBack"></image>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<view class="mys-container">
|
<view class="mys-container">
|
||||||
<!-- 个人信息 -->
|
<!-- 个人信息 -->
|
||||||
<view class="card-top" style="margin-top: 12rpx; padding: 0">
|
<view class="card-top" style="margin-top: 12rpx; padding: 0; background: none">
|
||||||
<view class="mys-tops btn-feel">
|
<view class="mys-tops btn-feel">
|
||||||
<view class="tops-left">
|
<view class="tops-left">
|
||||||
<view class="name">
|
<view class="name">
|
||||||
<text>{{ userInfo.name || '编辑用户名' }}</text>
|
<text>{{ userInfo.name || "编辑用户名" }}</text>
|
||||||
<view class="edit-icon mar_le10">
|
<view class="edit-icon mar_le10">
|
||||||
<image
|
<image class="button-click" src="@/static/icon/edit1.png" @click="navTo('/packageA/pages/personalInfo/personalInfo')"></image>
|
||||||
class="button-click"
|
|
||||||
src="@/static/icon/edit1.png"
|
|
||||||
@click="navTo('/packageA/pages/personalInfo/personalInfo')"
|
|
||||||
></image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="subName">
|
<view class="subName">
|
||||||
<dict-Label class="mar_ri10" dictType="sex" :value="userInfo.sex"></dict-Label>
|
<dict-Label class="mar_ri10" dictType="sex" :value="userInfo.sex"></dict-Label>
|
||||||
<text class="mar_ri10">{{ userInfo.age }}岁</text>
|
<text class="mar_ri10">{{ userInfo.age }}岁</text>
|
||||||
<dict-Label class="mar_ri10" dictType="education" :value="userInfo.education"></dict-Label>
|
<dict-Label class="mar_ri10" dictType="education" :value="userInfo.education"></dict-Label>
|
||||||
<dict-Label
|
<dict-Label class="mar_ri10" dictType="affiliation" :value="userInfo.politicalAffiliation"></dict-Label>
|
||||||
class="mar_ri10"
|
|
||||||
dictType="affiliation"
|
|
||||||
:value="userInfo.politicalAffiliation"
|
|
||||||
></dict-Label>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="subName">{{ userInfo.phone }}</view>
|
<view class="subName">{{ userInfo.phone }}</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -44,16 +36,14 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 求职期望 -->
|
<!-- 求职期望 -->
|
||||||
<view class="mys-line"></view>
|
<view class="mys-line">
|
||||||
|
<view class="line"></view>
|
||||||
|
</view>
|
||||||
<view class="mys-info">
|
<view class="mys-info">
|
||||||
<view class="mys-h4">
|
<view class="mys-h4">
|
||||||
<text>求职期望</text>
|
<text>求职期望</text>
|
||||||
<view class="mys-edit-icon">
|
<view class="mys-edit-icon">
|
||||||
<image
|
<image class="button-click" src="@/static/icon/edit1.png" @click="navTo('/packageA/pages/jobExpect/jobExpect')"></image>
|
||||||
class="button-click"
|
|
||||||
src="@/static/icon/edit1.png"
|
|
||||||
@click="navTo('/packageA/pages/jobExpect/jobExpect')"
|
|
||||||
></image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mys-text">
|
<view class="mys-text">
|
||||||
@@ -77,23 +67,18 @@
|
|||||||
<view class="mys-h4">
|
<view class="mys-h4">
|
||||||
<text>工作经历</text>
|
<text>工作经历</text>
|
||||||
<view class="mys-edit-icon">
|
<view class="mys-edit-icon">
|
||||||
<image
|
<image class="button-click" src="@/static/icon/edit1.png" @click="navTo('/packageA/pages/jobExpect/jobExpect')"></image>
|
||||||
class="button-click"
|
|
||||||
src="@/static/icon/edit1.png"
|
|
||||||
@click="navTo('/packageA/pages/jobExpect/jobExpect')"
|
|
||||||
></image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mar_top10" v-for="item in userInfo.workExp" :key="item.id">
|
<view class="exp-item" v-for="item in userInfo.workExp" :key="item.id">
|
||||||
<view class="fl_box fl_justbet mar_top10">
|
<view class="fl_box fl_justbet mar_top10">
|
||||||
<text class="fs_16">{{ item.company }}</text>
|
<text class="fs_16">{{ item.company }}</text>
|
||||||
<text class="datetext">{{ item.startTime }}--{{ item.endTime || '至今' }}</text>
|
</view>
|
||||||
|
<view class="mys-text fl_box fl_justbet">
|
||||||
|
<text class="color_333333 fs_14">{{ item.position }}</text>
|
||||||
|
<text class="datetext">{{ item.startTime }}--{{ item.endTime || "至今" }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="mys-text">
|
<view class="mys-text">
|
||||||
<text class="color_333333 fs_14">{{ item.position }}</text>
|
|
||||||
<text></text>
|
|
||||||
</view>
|
|
||||||
<view class="mys-text color_333333">
|
|
||||||
<text>{{ item.duty }}</text>
|
<text>{{ item.duty }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -109,12 +94,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, inject, watch, ref, onMounted, computed } from 'vue';
|
import { reactive, inject, watch, ref, onMounted, computed } from "vue";
|
||||||
const { $api, navTo, navBack } = inject('globalFunction');
|
const { $api, navTo, navBack } = inject("globalFunction");
|
||||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
import { onLoad, onShow } from "@dcloudio/uni-app";
|
||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from "pinia";
|
||||||
import useUserStore from '@/stores/useUserStore';
|
import useUserStore from "@/stores/useUserStore";
|
||||||
import useDictStore from '@/stores/useDictStore';
|
import useDictStore from "@/stores/useDictStore";
|
||||||
const { userInfo } = storeToRefs(useUserStore());
|
const { userInfo } = storeToRefs(useUserStore());
|
||||||
const { getUserResume } = useUserStore();
|
const { getUserResume } = useUserStore();
|
||||||
const { getDictData, oneDictData } = useDictStore();
|
const { getDictData, oneDictData } = useDictStore();
|
||||||
@@ -152,6 +137,7 @@ image{
|
|||||||
height: 100%
|
height: 100%
|
||||||
}
|
}
|
||||||
.mys-container{
|
.mys-container{
|
||||||
|
padding-bottom:20rpx;
|
||||||
.card-top{
|
.card-top{
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
margin: 0 28rpx;
|
margin: 0 28rpx;
|
||||||
@@ -162,6 +148,8 @@ image{
|
|||||||
display: flex
|
display: flex
|
||||||
justify-content: space-between
|
justify-content: space-between
|
||||||
padding: 38rpx 44rpx
|
padding: 38rpx 44rpx
|
||||||
|
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) , rgba(255, 255, 255, 1));
|
||||||
|
border-radius: 8rpx 8rpx 0 0 ;
|
||||||
.tops-left{
|
.tops-left{
|
||||||
.name{
|
.name{
|
||||||
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
|
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
|
||||||
@@ -205,17 +193,19 @@ image{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.mys-line{
|
.mys-line{
|
||||||
margin: 0 28rpx
|
background: #ffffff;
|
||||||
height: 0rpx;
|
padding: 0 24rpx
|
||||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
.line{
|
||||||
border: 2rpx dashed #000000;
|
border: 2rpx dashed #eeeeee;
|
||||||
opacity: 0.16;
|
}
|
||||||
}
|
}
|
||||||
.mys-info{
|
.mys-info{
|
||||||
padding: 28rpx
|
padding: 28rpx
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 0 0 8rpx 8rpx ;
|
||||||
.mys-h4{
|
.mys-h4{
|
||||||
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
|
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;
|
||||||
font-weight: 600;
|
font-weight: 500;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
margin-bottom: 8rpx
|
margin-bottom: 8rpx
|
||||||
@@ -244,17 +234,24 @@ image{
|
|||||||
align-items: center
|
align-items: center
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.cards{
|
.cards{
|
||||||
margin: 28rpx 28rpx 0 0
|
margin: 12rpx 12rpx 0 0
|
||||||
height: 80rpx;
|
padding: 12rpx 25rpx;
|
||||||
padding: 0 38rpx;
|
|
||||||
width: fit-content
|
width: fit-content
|
||||||
display: flex
|
display: flex
|
||||||
align-items: center
|
align-items: center
|
||||||
justify-content: center
|
justify-content: center
|
||||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
border-radius:10rpx;
|
||||||
border: 2rpx solid #E8EAEE;
|
border: 2rpx solid #E8EAEE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.exp-item{
|
||||||
|
padding-bottom: 28rpx;
|
||||||
|
border-bottom: 2rpx dashed #EEEEEE;
|
||||||
|
|
||||||
|
}
|
||||||
|
.exp-item:nth-last-child(1){
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<AppLayout
|
<AppLayout title="个人信息" :sub-title="`完成度${percent}`" border back-gorund-color="#ffffff" :show-bg-image="false">
|
||||||
title="个人信息"
|
|
||||||
:sub-title="`完成度${percent}`"
|
|
||||||
border
|
|
||||||
back-gorund-color="#ffffff"
|
|
||||||
:show-bg-image="false"
|
|
||||||
>
|
|
||||||
<template #headerleft>
|
<template #headerleft>
|
||||||
<view class="btn mar_le20 button-click" @click="navBack">取消</view>
|
<view class="btn mar_le20 button-click" @click="navBack">取消</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -13,6 +7,14 @@
|
|||||||
<view class="btn mar_ri20 button-click" @click="confirm">确认</view>
|
<view class="btn mar_ri20 button-click" @click="confirm">确认</view>
|
||||||
</template>
|
</template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
|
<view class="content-avatar">
|
||||||
|
<view class="avatar-title">编辑头像</view>
|
||||||
|
<view @click="selectAvatar">
|
||||||
|
<image class="avatar" v-if="fromValue.avatar" :src="fromValue.avatar" />
|
||||||
|
<image class="avatar" v-else-if="fromValue.sex == '0'" src="@/static/icon/boy.png" />
|
||||||
|
<image class="avatar" v-else="fromValue.sex == '1'" src="@/static/icon/girl.png" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="content-input">
|
<view class="content-input">
|
||||||
<view class="input-titile">姓名</view>
|
<view class="input-titile">姓名</view>
|
||||||
<input class="input-con" v-model="fromValue.name" placeholder="请输入您的姓名" />
|
<input class="input-con" v-model="fromValue.name" placeholder="请输入您的姓名" />
|
||||||
@@ -20,22 +22,13 @@
|
|||||||
<view class="content-sex">
|
<view class="content-sex">
|
||||||
<view class="sex-titile">性别</view>
|
<view class="sex-titile">性别</view>
|
||||||
<view class="sext-ri">
|
<view class="sext-ri">
|
||||||
<view class="sext-box" :class="{ 'sext-boxactive': fromValue.sex === 0 }" @click="changeSex(0)">
|
<view class="sext-box" :class="{ 'sext-boxactive': fromValue.sex === 0 }" @click="changeSex(0)"> 男 </view>
|
||||||
男
|
<view class="sext-box" :class="{ 'sext-boxactive': fromValue.sex === 1 }" @click="changeSex(1)"> 女 </view>
|
||||||
</view>
|
|
||||||
<view class="sext-box" :class="{ 'sext-boxactive': fromValue.sex === 1 }" @click="changeSex(1)">
|
|
||||||
女
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content-input" @click="changeDateBirt">
|
<view class="content-input" @click="changeDateBirt">
|
||||||
<view class="input-titile">出生年月</view>
|
<view class="input-titile">出生年月</view>
|
||||||
<input
|
<input class="input-con triangle" v-model="fromValue.birthDate" disabled placeholder="请选择您的出生年月" />
|
||||||
class="input-con triangle"
|
|
||||||
v-model="fromValue.birthDate"
|
|
||||||
disabled
|
|
||||||
placeholder="请选择您的出生年月"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="content-input" @click="changeEducation">
|
<view class="content-input" @click="changeEducation">
|
||||||
<view class="input-titile">学历</view>
|
<view class="input-titile">学历</view>
|
||||||
@@ -43,12 +36,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="content-input" @click="changePoliticalAffiliation">
|
<view class="content-input" @click="changePoliticalAffiliation">
|
||||||
<view class="input-titile">政治面貌</view>
|
<view class="input-titile">政治面貌</view>
|
||||||
<input
|
<input class="input-con triangle" v-model="state.politicalAffiliationText" disabled placeholder="请选择您的政治面貌" />
|
||||||
class="input-con triangle"
|
|
||||||
v-model="state.politicalAffiliationText"
|
|
||||||
disabled
|
|
||||||
placeholder="请选择您的政治面貌"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="content-input">
|
<view class="content-input">
|
||||||
<view class="input-titile">手机号码</view>
|
<view class="input-titile">手机号码</view>
|
||||||
@@ -59,28 +47,29 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
import { reactive, inject, watch, ref, onMounted } from "vue";
|
||||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
import { onLoad, onShow } from "@dcloudio/uni-app";
|
||||||
const { $api, navTo, navBack, checkingPhoneRegExp } = inject('globalFunction');
|
const { $api, navTo, navBack, checkingPhoneRegExp } = inject("globalFunction");
|
||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from "pinia";
|
||||||
import useUserStore from '@/stores/useUserStore';
|
import useUserStore from "@/stores/useUserStore";
|
||||||
import useDictStore from '@/stores/useDictStore';
|
import useDictStore from "@/stores/useDictStore";
|
||||||
const { userInfo } = storeToRefs(useUserStore());
|
const { userInfo } = storeToRefs(useUserStore());
|
||||||
const { getUserResume } = useUserStore();
|
const { getUserResume } = useUserStore();
|
||||||
const { dictLabel, oneDictData } = useDictStore();
|
const { dictLabel, oneDictData } = useDictStore();
|
||||||
const openSelectPopup = inject('openSelectPopup');
|
const openSelectPopup = inject("openSelectPopup");
|
||||||
|
|
||||||
const percent = ref('0%');
|
const percent = ref("0%");
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
educationText: '',
|
educationText: "",
|
||||||
politicalAffiliationText: '',
|
politicalAffiliationText: "",
|
||||||
});
|
});
|
||||||
const fromValue = reactive({
|
const fromValue = reactive({
|
||||||
name: '',
|
name: "",
|
||||||
sex: 0,
|
sex: 0,
|
||||||
birthDate: '',
|
birthDate: "",
|
||||||
education: '',
|
education: "",
|
||||||
politicalAffiliation: '',
|
politicalAffiliation: "",
|
||||||
|
avatar: "",
|
||||||
});
|
});
|
||||||
onLoad(() => {
|
onLoad(() => {
|
||||||
initLoad();
|
initLoad();
|
||||||
@@ -101,34 +90,35 @@ function initLoad() {
|
|||||||
fromValue.birthDate = userInfo.value.birthDate;
|
fromValue.birthDate = userInfo.value.birthDate;
|
||||||
fromValue.education = userInfo.value.education;
|
fromValue.education = userInfo.value.education;
|
||||||
fromValue.politicalAffiliation = userInfo.value.politicalAffiliation;
|
fromValue.politicalAffiliation = userInfo.value.politicalAffiliation;
|
||||||
|
fromValue.avatar = userInfo.value.avatar;
|
||||||
// 回显
|
// 回显
|
||||||
state.educationText = dictLabel('education', userInfo.value.education);
|
state.educationText = dictLabel("education", userInfo.value.education);
|
||||||
state.politicalAffiliationText = dictLabel('affiliation', userInfo.value.politicalAffiliation);
|
state.politicalAffiliationText = dictLabel("affiliation", userInfo.value.politicalAffiliation);
|
||||||
const result = getFormCompletionPercent(fromValue);
|
const result = getFormCompletionPercent(fromValue);
|
||||||
percent.value = result;
|
percent.value = result;
|
||||||
}
|
}
|
||||||
const confirm = () => {
|
const confirm = () => {
|
||||||
if (!fromValue.name) {
|
if (!fromValue.name) {
|
||||||
return $api.msg('请输入姓名');
|
return $api.msg("请输入姓名");
|
||||||
}
|
}
|
||||||
if (!fromValue.birthDate) {
|
if (!fromValue.birthDate) {
|
||||||
return $api.msg('请选择出生年月');
|
return $api.msg("请选择出生年月");
|
||||||
}
|
}
|
||||||
if (!fromValue.education) {
|
if (!fromValue.education) {
|
||||||
return $api.msg('请选择学历');
|
return $api.msg("请选择学历");
|
||||||
}
|
}
|
||||||
if (!fromValue.politicalAffiliation) {
|
if (!fromValue.politicalAffiliation) {
|
||||||
return $api.msg('请选择政治面貌');
|
return $api.msg("请选择政治面貌");
|
||||||
}
|
|
||||||
if (!checkingPhoneRegExp(fromValue.phone)) {
|
|
||||||
return $api.msg('请输入正确手机号');
|
|
||||||
}
|
}
|
||||||
|
// if (!checkingPhoneRegExp(fromValue.phone)) {
|
||||||
|
// return $api.msg('请输入正确手机号');
|
||||||
|
// }
|
||||||
const params = {
|
const params = {
|
||||||
...fromValue,
|
...fromValue,
|
||||||
age: calculateAge(fromValue.birthDate),
|
age: calculateAge(fromValue.birthDate),
|
||||||
};
|
};
|
||||||
$api.createRequest('/app/user/resume', params, 'post').then((resData) => {
|
$api.createRequest("/app/user/resume", params, "post").then((resData) => {
|
||||||
$api.msg('完成');
|
$api.msg("完成");
|
||||||
state.disbleDate = true;
|
state.disbleDate = true;
|
||||||
getUserResume().then(() => {
|
getUserResume().then(() => {
|
||||||
navBack();
|
navBack();
|
||||||
@@ -140,7 +130,7 @@ const changeDateBirt = () => {
|
|||||||
const datearray = generateDatePickerArrays();
|
const datearray = generateDatePickerArrays();
|
||||||
const defaultIndex = getDatePickerIndexes(fromValue.birthDate);
|
const defaultIndex = getDatePickerIndexes(fromValue.birthDate);
|
||||||
openSelectPopup({
|
openSelectPopup({
|
||||||
title: '年龄段',
|
title: "年龄段",
|
||||||
maskClick: true,
|
maskClick: true,
|
||||||
data: datearray,
|
data: datearray,
|
||||||
defaultIndex,
|
defaultIndex,
|
||||||
@@ -150,16 +140,16 @@ const changeDateBirt = () => {
|
|||||||
if (isValidDate(dateStr)) {
|
if (isValidDate(dateStr)) {
|
||||||
fromValue.birthDate = dateStr;
|
fromValue.birthDate = dateStr;
|
||||||
} else {
|
} else {
|
||||||
$api.msg('没有这一天');
|
$api.msg("没有这一天");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const changeEducation = () => {
|
const changeEducation = () => {
|
||||||
openSelectPopup({
|
openSelectPopup({
|
||||||
title: '学历',
|
title: "学历",
|
||||||
maskClick: true,
|
maskClick: true,
|
||||||
data: [oneDictData('education')],
|
data: [oneDictData("education")],
|
||||||
success: (_, [value]) => {
|
success: (_, [value]) => {
|
||||||
fromValue.education = value.value;
|
fromValue.education = value.value;
|
||||||
state.educationText = value.label;
|
state.educationText = value.label;
|
||||||
@@ -172,9 +162,9 @@ const changeSex = (sex) => {
|
|||||||
|
|
||||||
const changePoliticalAffiliation = () => {
|
const changePoliticalAffiliation = () => {
|
||||||
openSelectPopup({
|
openSelectPopup({
|
||||||
title: '政治面貌',
|
title: "政治面貌",
|
||||||
maskClick: true,
|
maskClick: true,
|
||||||
data: [oneDictData('affiliation')],
|
data: [oneDictData("affiliation")],
|
||||||
success: (_, [value]) => {
|
success: (_, [value]) => {
|
||||||
fromValue.politicalAffiliation = value.value;
|
fromValue.politicalAffiliation = value.value;
|
||||||
state.politicalAffiliationText = value.label;
|
state.politicalAffiliationText = value.label;
|
||||||
@@ -191,17 +181,17 @@ function generateDatePickerArrays(startYear = 1975, endYear = new Date().getFull
|
|||||||
years.push(y.toString());
|
years.push(y.toString());
|
||||||
}
|
}
|
||||||
for (let m = 1; m <= 12; m++) {
|
for (let m = 1; m <= 12; m++) {
|
||||||
months.push(m.toString().padStart(2, '0'));
|
months.push(m.toString().padStart(2, "0"));
|
||||||
}
|
}
|
||||||
for (let d = 1; d <= 31; d++) {
|
for (let d = 1; d <= 31; d++) {
|
||||||
days.push(d.toString().padStart(2, '0'));
|
days.push(d.toString().padStart(2, "0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
return [years, months, days];
|
return [years, months, days];
|
||||||
}
|
}
|
||||||
|
|
||||||
function isValidDate(dateString) {
|
function isValidDate(dateString) {
|
||||||
const [year, month, day] = dateString.split('-').map(Number);
|
const [year, month, day] = dateString.split("-").map(Number);
|
||||||
|
|
||||||
const date = new Date(year, month - 1, day); // 月份从0开始
|
const date = new Date(year, month - 1, day); // 月份从0开始
|
||||||
return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day;
|
return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day;
|
||||||
@@ -228,22 +218,22 @@ function getFormCompletionPercent(form) {
|
|||||||
|
|
||||||
for (const key in form) {
|
for (const key in form) {
|
||||||
const value = form[key];
|
const value = form[key];
|
||||||
if (value !== '' && value !== null && value !== undefined) {
|
if (value !== "" && value !== null && value !== undefined) {
|
||||||
if (typeof value === 'number') {
|
if (typeof value === "number") {
|
||||||
filled += 1;
|
filled += 1;
|
||||||
} else if (typeof value === 'string' && value.trim() !== '') {
|
} else if (typeof value === "string" && value.trim() !== "") {
|
||||||
filled += 1;
|
filled += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (total === 0) return '0%';
|
if (total === 0) return "0%";
|
||||||
const percent = (filled / total) * 100;
|
const percent = (filled / total) * 100;
|
||||||
return percent.toFixed(0) + '%'; // 取整,不要小数点
|
return percent.toFixed(0) + "%"; // 取整,不要小数点
|
||||||
}
|
}
|
||||||
// 主函数
|
// 主函数
|
||||||
function getDatePickerIndexes(dateStr) {
|
function getDatePickerIndexes(dateStr) {
|
||||||
const [year, month, day] = dateStr.split('-');
|
const [year, month, day] = dateStr.split("-");
|
||||||
|
|
||||||
const [years, months, days] = generateDatePickerArrays();
|
const [years, months, days] = generateDatePickerArrays();
|
||||||
|
|
||||||
@@ -253,6 +243,19 @@ function getDatePickerIndexes(dateStr) {
|
|||||||
|
|
||||||
return [yearIndex, monthIndex, dayIndex];
|
return [yearIndex, monthIndex, dayIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectAvatar() {
|
||||||
|
uni.chooseImage({
|
||||||
|
sizeType: ["original", "compressed"],
|
||||||
|
sourceType: ["album", "camera"],
|
||||||
|
count: 1,
|
||||||
|
success: ({ tempFilePaths, tempFiles }) => {
|
||||||
|
console.log(`选择的图片:${tempFilePaths}`);
|
||||||
|
console.warn("没有做后续上传逻辑!!!!!!!");
|
||||||
|
},
|
||||||
|
fail: (error) => {},
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
@@ -267,6 +270,22 @@ function getDatePickerIndexes(dateStr) {
|
|||||||
height: calc(100% - 120rpx)
|
height: calc(100% - 120rpx)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.content-avatar{
|
||||||
|
margin-bottom: 52rpx;
|
||||||
|
padding-bottom: 28rpx
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: 2rpx solid #EBEBEB
|
||||||
|
.avatar-title{
|
||||||
|
font-size: 30rpx;
|
||||||
|
color #333;
|
||||||
|
}
|
||||||
|
.avatar{
|
||||||
|
width:110rpx;
|
||||||
|
height: 110rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
.content-input
|
.content-input
|
||||||
margin-bottom: 52rpx
|
margin-bottom: 52rpx
|
||||||
.input-titile
|
.input-titile
|
||||||
@@ -302,12 +321,12 @@ function getDatePickerIndexes(dateStr) {
|
|||||||
background: #697279;
|
background: #697279;
|
||||||
transform: rotate(45deg)
|
transform: rotate(45deg)
|
||||||
.content-sex
|
.content-sex
|
||||||
height: 110rpx;
|
|
||||||
display: flex
|
display: flex
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
border-bottom: 2rpx solid #EBEBEB
|
border-bottom: 2rpx solid #EBEBEB
|
||||||
margin-bottom: 52rpx
|
margin-bottom: 52rpx
|
||||||
|
padding-bottom: 28rpx
|
||||||
.sex-titile
|
.sex-titile
|
||||||
line-height: 80rpx;
|
line-height: 80rpx;
|
||||||
.sext-ri
|
.sext-ri
|
||||||
|
|||||||
261
packageA/pages/vCard/vCard.vue
Normal file
261
packageA/pages/vCard/vCard.vue
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
<template>
|
||||||
|
<AppLayout title="电子名片" title-color="#FFFFFF" back-gorund-color="#F4F4F4">
|
||||||
|
<template #headerleft>
|
||||||
|
<view class="btn">
|
||||||
|
<image src="@/static/icon/back-white.png" @click="navBack"></image>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<view class="mys-container">
|
||||||
|
<!-- 个人信息 -->
|
||||||
|
<view class="card-top">
|
||||||
|
<view class="info">
|
||||||
|
<view class="avatar">
|
||||||
|
<image v-if="userInfo.sex === '0'" src="@/static/icon/boy.png"></image>
|
||||||
|
<image v-else src="@/static/icon/girl.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="info-right">
|
||||||
|
<view class="name">{{ userInfo.name || "编辑用户名" }}</view>
|
||||||
|
<view class="des">
|
||||||
|
<dict-Label class="mar_ri10" dictType="sex" :value="userInfo.sex"></dict-Label>
|
||||||
|
<text class="mar_ri10">|</text>
|
||||||
|
<text class="mar_ri10">{{ userInfo.age }}岁</text>
|
||||||
|
<text class="mar_ri10">|</text>
|
||||||
|
<dict-Label class="mar_ri10" dictType="education" :value="userInfo.education"></dict-Label>
|
||||||
|
<!-- <text class="mar_ri10">|</text>
|
||||||
|
<dict-Label class="mar_ri10" dictType="affiliation" :value="userInfo.politicalAffiliation"></dict-Label> -->
|
||||||
|
</view>
|
||||||
|
<view class="phone">
|
||||||
|
<image class="call-icon" src="@/static/icon/call.png" />
|
||||||
|
<view>{{ userInfo.phone }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info-bottom">
|
||||||
|
<view>到岗:2025-11-02</view>
|
||||||
|
<view>地点:<dict-Label dictType="area" :value="Number(userInfo.area)"></dict-Label></view>
|
||||||
|
</view>
|
||||||
|
<view class="des-card" style="margin-top: 24rpx">
|
||||||
|
<view class="fl_box fl_justbet">
|
||||||
|
<view>求职意向岗位</view>
|
||||||
|
<view>{{ userInfo.jobIntention || "-" }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justbet">
|
||||||
|
<view>毕业学校</view>
|
||||||
|
<view>{{ userInfo.graduationSchool || "-" }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justbet">
|
||||||
|
<view>当前状态</view>
|
||||||
|
<view>在职 看工作机会</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="card">
|
||||||
|
<view class="title">
|
||||||
|
<image class="bg" src="@/static/icon/title-bg.png" />
|
||||||
|
<view class="text">个人技能</view>
|
||||||
|
</view>
|
||||||
|
<view class="skill-box">
|
||||||
|
<view class="skill-item" v-for="item in userInfo?.skillList" :key="item.id">{{ item.skill }}</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="!userInfo?.skillList?.length" class="empty-box">
|
||||||
|
<image class="img" src="@/static/icon/empty.png" mode="widthFix"></image>
|
||||||
|
<view class="content">暂无个人技能</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="card">
|
||||||
|
<view class="title">
|
||||||
|
<image class="bg" src="@/static/icon/title-bg.png" />
|
||||||
|
<view class="text">关键经历</view>
|
||||||
|
</view>
|
||||||
|
<view class="exp-box">
|
||||||
|
<view class="exp-item" v-for="(item, index) in userInfo?.workExp" :key="item.id">{{ index + 1 + "." }}{{ item.duty }}</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="!userInfo?.workExp?.length" class="empty-box">
|
||||||
|
<image class="img" src="@/static/icon/empty.png" mode="widthFix"></image>
|
||||||
|
<view class="content">暂无关键经历</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="card">
|
||||||
|
<view class="title">
|
||||||
|
<image class="bg" src="@/static/icon/title-bg.png" />
|
||||||
|
<view class="text">荣誉及证书情况</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<ul class="certificate-box">
|
||||||
|
<li class="certificate-item" v-for="(item, index) in userInfo?.certificateList" :key="item.id">{{ item.name }}</li>
|
||||||
|
</ul>
|
||||||
|
<view v-if="!userInfo?.certificateList?.length" class="empty-box">
|
||||||
|
<image class="img" src="@/static/icon/empty.png" mode="widthFix"></image>
|
||||||
|
<view class="content">暂无荣誉证书</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</AppLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, inject, watch, ref, onMounted, computed } from "vue";
|
||||||
|
const { $api, navTo, navBack } = inject("globalFunction");
|
||||||
|
import { onLoad, onShow } from "@dcloudio/uni-app";
|
||||||
|
import { storeToRefs } from "pinia";
|
||||||
|
import useUserStore from "@/stores/useUserStore";
|
||||||
|
import useDictStore from "@/stores/useDictStore";
|
||||||
|
const { userInfo } = storeToRefs(useUserStore());
|
||||||
|
const { getUserResume } = useUserStore();
|
||||||
|
const { getDictData, oneDictData } = useDictStore();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.btn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
width: 60rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
image {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.card-top {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.9));
|
||||||
|
}
|
||||||
|
.card {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: #fff;
|
||||||
|
padding: 24rpx;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
.title {
|
||||||
|
position: relative;
|
||||||
|
.bg {
|
||||||
|
width: 108rpx;
|
||||||
|
height: 16rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
.text {
|
||||||
|
margin-left: 20rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.skill-box {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 16rpx;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
.skill-item {
|
||||||
|
padding: 8rpx 20rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #333;
|
||||||
|
background: #e7f1ff;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.exp-box {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 24rpx;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
.exp-item {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.certificate-box {
|
||||||
|
margin-top: 24rpx;
|
||||||
|
padding-inline-start: 40rpx !important;
|
||||||
|
.certificate-item {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #333;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.mys-container {
|
||||||
|
padding: 28rpx;
|
||||||
|
.info {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 24rpx;
|
||||||
|
.avatar {
|
||||||
|
width: 160rpx;
|
||||||
|
height: 160rpx;
|
||||||
|
margin-right: 24rpx;
|
||||||
|
}
|
||||||
|
.info-right {
|
||||||
|
height: 160rpx;
|
||||||
|
flex: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
.name {
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.des {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
.phone {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #999999;
|
||||||
|
.call-icon {
|
||||||
|
width: 24rpx;
|
||||||
|
height: 24rpx;
|
||||||
|
margin-right: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.info-bottom {
|
||||||
|
background: linear-gradient(to right, #91b6ff, #87afff, #b7adff);
|
||||||
|
border-radius: 0 0 8rpx 8rpx;
|
||||||
|
padding: 12rpx 24rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.des-card {
|
||||||
|
padding: 24rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #666;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 12rpx;
|
||||||
|
}
|
||||||
|
.empty-box {
|
||||||
|
padding: 80rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
margin-top: 24rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
42
pages.json
42
pages.json
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
"pages": [
|
||||||
|
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||||
{
|
{
|
||||||
"path": "pages/index/index",
|
"path": "pages/index/index",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -66,11 +67,12 @@
|
|||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
],
|
],
|
||||||
"subpackages": [{
|
"subpackages": [
|
||||||
|
{
|
||||||
"root": "packageA",
|
"root": "packageA",
|
||||||
"pages": [{
|
"pages": [
|
||||||
|
{
|
||||||
"path": "pages/choiceness/choiceness",
|
"path": "pages/choiceness/choiceness",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "精选",
|
"navigationBarTitleText": "精选",
|
||||||
@@ -78,7 +80,8 @@
|
|||||||
"navigationBarTextStyle": "white",
|
"navigationBarTextStyle": "white",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"path": "pages/post/post",
|
"path": "pages/post/post",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "职位详情",
|
"navigationBarTitleText": "职位详情",
|
||||||
@@ -86,7 +89,8 @@
|
|||||||
"navigationBarTextStyle": "white",
|
"navigationBarTextStyle": "white",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"path": "pages/UnitDetails/UnitDetails",
|
"path": "pages/UnitDetails/UnitDetails",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "单位详情",
|
"navigationBarTitleText": "单位详情",
|
||||||
@@ -94,7 +98,8 @@
|
|||||||
"navigationBarTextStyle": "white",
|
"navigationBarTextStyle": "white",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"path": "pages/exhibitors/exhibitors",
|
"path": "pages/exhibitors/exhibitors",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "参展单位",
|
"navigationBarTitleText": "参展单位",
|
||||||
@@ -102,20 +107,31 @@
|
|||||||
"navigationBarTextStyle": "white",
|
"navigationBarTextStyle": "white",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"path": "pages/myResume/myResume",
|
"path": "pages/myResume/myResume",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "我的简历",
|
"navigationBarTitleText": "我的简历",
|
||||||
"navigationBarBackgroundColor": "#FFFFFF",
|
"navigationBarBackgroundColor": "#FFFFFF",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/vCard/vCard",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "点子名片",
|
||||||
|
"navigationBarBackgroundColor": "#FFFFFF",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
"path": "pages/Intendedposition/Intendedposition",
|
"path": "pages/Intendedposition/Intendedposition",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "投递记录",
|
"navigationBarTitleText": "投递记录",
|
||||||
"navigationBarBackgroundColor": "#FFFFFF"
|
"navigationBarBackgroundColor": "#FFFFFF"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
"path": "pages/collection/collection",
|
"path": "pages/collection/collection",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "我的收藏",
|
"navigationBarTitleText": "我的收藏",
|
||||||
@@ -204,7 +220,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}],
|
}
|
||||||
|
],
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
"custom": true,
|
"custom": true,
|
||||||
"display": "none",
|
"display": "none",
|
||||||
@@ -217,7 +234,8 @@
|
|||||||
"height": "50px",
|
"height": "50px",
|
||||||
"backgroundImage": "static/tabbar/logo2copy.png"
|
"backgroundImage": "static/tabbar/logo2copy.png"
|
||||||
},
|
},
|
||||||
"list": [{
|
"list": [
|
||||||
|
{
|
||||||
"pagePath": "pages/index/index",
|
"pagePath": "pages/index/index",
|
||||||
"iconPath": "static/tabbar/calendar.png",
|
"iconPath": "static/tabbar/calendar.png",
|
||||||
"selectedIconPath": "static/tabbar/calendared.png",
|
"selectedIconPath": "static/tabbar/calendared.png",
|
||||||
|
|||||||
@@ -296,12 +296,10 @@ function complete() {
|
|||||||
display: flex
|
display: flex
|
||||||
flex-wrap: wrap
|
flex-wrap: wrap
|
||||||
.nx-item
|
.nx-item
|
||||||
padding: 20rpx 28rpx
|
margin: 12rpx 12rpx 0 0;
|
||||||
width: fit-content
|
padding: 12rpx 25rpx;
|
||||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||||
border: 2rpx solid #E8EAEE;
|
border: 2rpx solid #E8EAEE;
|
||||||
margin-right: 24rpx
|
|
||||||
margin-top: 24rpx
|
|
||||||
.nx-item::before
|
.nx-item::before
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 20rpx;
|
right: 20rpx;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mini-cards">
|
<view class="mini-cards">
|
||||||
<view class="card-top btn-feel">
|
<view class="card-top btn-feel" @click="navTo('/packageA/pages/personalInfo/personalInfo')">
|
||||||
<view class="top-title line_1">
|
<view class="top-title line_1">
|
||||||
<text>{{ userInfo.name || '暂无用户名' }}</text>
|
<text>{{ userInfo.name || '暂无用户名' }}</text>
|
||||||
|
|
|
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<text v-if="userInfo.jobTitle.length - 1 !== index">|</text>
|
<text v-if="userInfo.jobTitle.length - 1 !== index">|</text>
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="top-btn button-click" @click="navTo('/packageA/pages/personalInfo/personalInfo')">
|
<view class="top-btn button-click" >
|
||||||
修改简历
|
修改简历
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
BIN
static/icon/back-white.png
Normal file
BIN
static/icon/back-white.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 187 B |
BIN
static/icon/call.png
Normal file
BIN
static/icon/call.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 380 B |
BIN
static/icon/title-bg.png
Normal file
BIN
static/icon/title-bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"hash": "8cb75570",
|
"hash": "ca4965da",
|
||||||
"configHash": "01aaac4c",
|
"configHash": "0b32ae75",
|
||||||
"lockfileHash": "5d26acb0",
|
"lockfileHash": "e3b0c442",
|
||||||
"browserHash": "4b09b340",
|
"browserHash": "9e383778",
|
||||||
"optimized": {},
|
"optimized": {},
|
||||||
"chunks": {}
|
"chunks": {}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user