feat: 个人信息完善页面

This commit is contained in:
yangzhe 2025-07-10 14:46:13 +08:00
parent 531fcef52c
commit 25ab27317d
3 changed files with 70 additions and 6 deletions

View File

@ -21,7 +21,7 @@
<image
class="avatar-image"
:src="
userInfo.avatar || '/static/common/images/avatar_default.png'
userInfo.avatar || '/static/common/images/avatar_default.jpg'
"
mode="aspectFill"
@click="chooseAvatar"
@ -35,17 +35,22 @@
<view class="info-item">
<text class="item-label">姓名</text>
<view class="item-content">
<text>{{ userInfo.name }}</text>
<input
class="item-input"
v-model="userInfo.name"
placeholder="请输入姓名"
placeholder-style="color: #CCCCCC;"
/>
</view>
</view>
<view class="info-item">
<text class="item-label">性别</text>
<view class="item-content" @click="openPicker('gender')">
<text class="placeholder-text" v-if="!userInfo.gender"
<text class="placeholder-text" v-if="!userInfo.genderText"
>请选择性别</text
>
<text v-else>{{ userInfo.gender }}</text>
<text v-else>{{ userInfo.genderText }}</text>
<text class="arrow-icon">></text>
</view>
</view>
@ -106,9 +111,26 @@
</u-button>
</div>
<!-- 性别选择器 -->
<u-select
v-model="showGenderSelect"
mode="single-column"
:list="genderList"
@confirm="confirmGender"
></u-select>
<!-- 归属地选择器 -->
<u-picker
v-model="showRegionSelect"
mode="single-column"
:list="regionList"
@confirm="confirmRegion"
></u-picker>
<!-- 选择器弹窗 -->
<u-picker
v-model="showPicker"
mode="selector"
:columns="pickerColumns"
@confirm="onPickerConfirm"
@cancel="showPicker = false"
@ -122,8 +144,8 @@ export default {
data() {
return {
userInfo: {
avatar: "/static/common/images/avatar_default.png",
name: "杨翼",
avatar: "",
name: "",
gender: "",
region: "",
examYear: "",
@ -145,6 +167,33 @@ export default {
"机械工程",
],
},
//
showGenderSelect: false,
genderList: [
{
label: "男",
value: "0",
},
{
label: "女",
value: "1",
},
],
//
showRegionSelect: false,
regionList: [
{
label: "北京",
value: "0",
},
{
label: "上海",
value: "1",
},
],
};
},
mounted() {},
@ -175,6 +224,11 @@ export default {
});
},
openPicker(type) {
if (type === "gender") {
this.showGenderSelect = true;
return;
}
this.currentPicker = type;
this.pickerColumns = [this.pickerData[type]];
this.showPicker = true;
@ -197,6 +251,14 @@ export default {
}
this.showPicker = false;
},
//
confirmGender(e) {
console.log("确认性别", e[0].value);
this.userInfo.gender = e[0].value;
this.userInfo.genderText = e[0].label;
this.showGenderSelect = false;
},
},
};
</script>

View File

@ -333,6 +333,8 @@ export default {
login() {
const res = {
data: {
// token:
// "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJBZG1pbiIsIlVzZXJJbmZvIjoie1wiSWRcIjpcImI1MjY5ZWQxLTViYzgtMTFmMC05YTg5LTAwMTYzZTJkMmRkM1wiLFwiTmFtZVwiOlwi6J-56ICB5biIXCIsXCJQaG9uZU51bWJlclwiOlwiMTM1ODg4ODg4ODhcIixcIlNleFwiOjEsXCJBY2NvdW50VHlwZVwiOjJ9IiwibmJmIjoxNzUyMTE4ODU0LCJleHAiOjE3NTIyMDUyNTR9.aF0Q-X3ebIld7RIKMMW68tXjmmR4OO08dXLAtHWuuwc",
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJVc2VyIiwiVXNlckluZm8iOiJ7XCJJZFwiOlwiNTljNzIxNmMtMTRhZS00NmRmLTkxYTItNGYzMjFlZjM2YjQ5XCIsXCJOYW1lXCI6XCIxNzMzNTM3NDg4N1wiLFwiUGhvbmVOdW1iZXJcIjpcIjE3MzM1Mzc0ODg3XCIsXCJTZXhcIjoyLFwiQWNjb3VudFR5cGVcIjowfSIsIm5iZiI6MTc1MjExMDcwOSwiZXhwIjoxNzUyMTk3MTA5fQ.VDv2KjGq3s3BbZxZjB3P-BaeDU_1vIdqFEWGGvdpIxU",
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB