Browse Source

feat(api): 添加教师/销售端详情接口并优化个人信息页面

- 在 apiRoute.js 中添加 editPersonnelInfo 方法,用于获取教师/销售端详情
- 修改 info.vue 页面,使用 editPersonnelInfo接口获取用户信息
-优化个人信息展示,包括头像、性别、部门等字段
-修复头像上传逻辑,使用正确的 API 路径
-优化表单提交逻辑,使用 editPersonnelInfo 接口更新用户信息
master
liutong 11 months ago
parent
commit
a6fadbdb2f
  1. 7
      api/apiRoute.js
  2. 63
      pages/market/my/info.vue
  3. 1
      pages/student/login/login.vue

7
api/apiRoute.js

@ -31,6 +31,13 @@ export default {
return res; return res;
}) })
}, },
//教师/销售端详情
editPersonnelInfo(data = {}) {
let url = '/personnel/edit'
return http.post(url, data).then(res => {
return res;
})
},

63
pages/market/my/info.vue

@ -8,7 +8,7 @@
<image <image
@click="changeAvatar()" @click="changeAvatar()"
class="pic" class="pic"
:src="$util.img(formData.header)" :src="$util.img(formData.head_img)"
></image> ></image>
<view class="btn" @click="changeAvatar()">修改头像</view> <view class="btn" @click="changeAvatar()">修改头像</view>
@ -39,7 +39,7 @@
部门 <text class="required"></text> 部门 <text class="required"></text>
</view> </view>
<view class="input"> <view class="input">
<input disabled placeholder="暂无" /> <input disabled :placeholder="formData.department_name_str" />
</view> </view>
</view> </view>
@ -59,7 +59,7 @@
性别 <text class="required">*</text> 性别 <text class="required">*</text>
</view> </view>
<view class="input"> <view class="input">
<input placeholder="请选择性别" v-model="formData.gender" @click="picker_show_sex=true"/> <input placeholder="请选择性别" v-model="formData.gender_str" @click="picker_show_sex=true"/>
<fui-picker <fui-picker
layer="1" layer="1"
:linkage="true" :linkage="true"
@ -122,6 +122,7 @@
</template> </template>
<script> <script>
import apiRoute from '@/api/apiRoute.js';
import marketApi from '@/api/market.js'; import marketApi from '@/api/market.js';
import { import {
Api_url Api_url
@ -136,11 +137,12 @@ export default {
data() { data() {
return { return {
formData:{ formData:{
header:'',// head_img:'',//
name:'',// name:'',//
username:'',// username:'',//
address:'',// address:'',//
gender:'',//|, gender:'',//|1,2
gender_str:'',
birthday:'',// birthday:'',//
email:'',// email:'',//
phone:'',// phone:'',//
@ -150,7 +152,7 @@ export default {
userInfo: {}, userInfo: {},
//APi //APi
uploadUrl: `${Api_url}/file/image`, uploadUrl: `${Api_url}/uploadImage`,
// //
picker_show_sex: false, picker_show_sex: false,
@ -197,7 +199,7 @@ export default {
// //
async getUserInfo(){ async getUserInfo(){
let res = await marketApi.member({}) let res = await apiRoute.getPersonnelInfo({})
if (res.code != 1){ if (res.code != 1){
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
@ -206,21 +208,28 @@ export default {
return return
} }
let gender_str = ''
if(res.data.gender == 1){
gender_str = '男'
}else if(res.data.gender == 2){
gender_str = '女'
}
// //
this.formData = { this.formData = {
header: res.data.headimg,// head_img: res.data.head_img,//
name: res.data.name,// name: res.data.name,//
username: res.data.username,// username: res.data.phone,//
address: res.data.address,// address: res.data.address,//
gender: res.data.gender,//|, gender: res.data.gender,//|1,2
gender_str:gender_str,
birthday: res.data.birthday,// birthday: res.data.birthday,//
email: res.data.email,// email: res.data.email || '',//
phone: res.data.phone,// phone: res.data.phone,//
wx: res.data.wx || '',// wx: res.data.wx || '',//
member_level_name: res.data.member_level_name || '',// member_level_name: res.data.member_level_name || '',//
department_name_str:res.data.department_name_str || '暂无',//
} }
console.log(123,this.formData);
}, },
// //
@ -250,7 +259,7 @@ export default {
console.log('上传成功2', res) console.log('上传成功2', res)
if (res.code == 1) { if (res.code == 1) {
this.upload_type = 2 this.upload_type = 2
this.formData.header = res.data.path this.formData.head_img = res.data.url
// this.editHeadimg = res.data.path // this.editHeadimg = res.data.path
// this.uploadHeadimg = res.data.url // this.uploadHeadimg = res.data.url
} else { } else {
@ -262,24 +271,12 @@ export default {
}, },
}); });
}, },
//Api
async editPic(pic) {
let res = await salesmanApi.editPic({pic: pic})
if (res.code >= 0) {
this.$util.showToast({
title: '修改成功'
})
} else {
this.$util.showToast({
title: res.message
})
}
},
// //
changePickerSex(e) { changePickerSex(e) {
console.log('监听选择', e) console.log('监听选择', e)
this.formData.gender = e.text this.formData.gender = e.value
this.formData.gender_str = e.text
this.picker_show_sex = false this.picker_show_sex = false
}, },
@ -334,7 +331,7 @@ export default {
async submit() { async submit() {
let data = {...this.formData} let data = {...this.formData}
if(!data.header){ if(!data.head_img){
uni.showToast({ uni.showToast({
title: '请上传头像', title: '请上传头像',
icon: 'none' icon: 'none'
@ -383,7 +380,7 @@ export default {
} }
let res = await marketApi.memberEdit(data) let res = await apiRoute.editPersonnelInfo(data)
if(res.code != 1){ if(res.code != 1){
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
@ -395,8 +392,10 @@ export default {
title: res.msg, title: res.msg,
icon: 'success' icon: 'success'
}) })
//1s
this.getUserInfo() setTimeout(() => {
this.getUserInfo()
}, 1000)
}, },

1
pages/student/login/login.vue

@ -81,6 +81,7 @@ export default {
} }
res = await apiRoute.personnelLogin(params) res = await apiRoute.personnelLogin(params)
}else if(this.loginType == 2){ }else if(this.loginType == 2){
// //
let params = { let params = {
'phone': this.user, 'phone': this.user,

Loading…
Cancel
Save