From 2d43a1df3f5ba42710e6d21c27d1e13bdb8dfd56 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 24 三月 2025 09:23:08 +0800
Subject: [PATCH] -
---
src/pages/mine/mine.vue | 172 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 136 insertions(+), 36 deletions(-)
diff --git a/src/pages/mine/mine.vue b/src/pages/mine/mine.vue
index 2489f02..d62e102 100644
--- a/src/pages/mine/mine.vue
+++ b/src/pages/mine/mine.vue
@@ -3,28 +3,35 @@
<view class="content chuany-flex chuany-align-end chuany-justify-center">
<button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
<!-- <image class="avatar" src="{{avatarUrl}}"></image> -->
- <up-avatar :src="avatarUrlImg" shape="circle" size='80'></up-avatar>
+ <up-avatar :src="userInfo.avatar" shape="circle" size='80'></up-avatar>
</button>
</view>
- <fui-list>
- <fui-list-cell arrow>
- <view class="fui-list__item">
- <text>鏄电О</text>
- <text class="fui-text__explain">{{userInfo.nickname}}</text>
- <!-- <input type="nickname" class="fui-text__explain weui-input" placeholder="璇疯緭鍏ユ樀绉�" /> -->
- </view>
- </fui-list-cell>
- <fui-list-cell arrow>
- <view class="fui-list__item">
- <text>鎵嬫満鍙�</text>
- <text class="fui-text__explain">{{userInfo.phone}}</text>
- </view>
- </fui-list-cell>
- <fui-list-cell arrow @click="goApply">
- <text>鐢宠鎺ュ崟</text>
- </fui-list-cell>
- </fui-list>
+ <up-cell title="鏄电О" :border="false">
+ <template #value>
+ <up-form labelPosition="left" :model="userInfo" ref="formRef" labelWidth='90' v-if="showEdit">
+ <up-form-item prop="enterpriseInfo.businessLicense" ref="item1">
+ <up-input v-model="userInfo.nickname" type="nickname" @blur="blurNickName" border="none"
+ placeholder="璇疯緭鍏ユ樀绉�" :readonly='!showEdit'>
+ <template #suffix>
+ <up-button @tap="saveUserNikename" text="淇濆瓨" type="success" form-type="submit"
+ size="mini"></up-button>
+ </template>
+ <!-- <template #suffix v-else>
+ <up-icon name="edit-pen" @click='isShow'></up-icon>
+ </template> -->
+ </up-input>
+
+ </up-form-item>
+ </up-form>
+ <text v-else>{{userInfo.nickname}}</text>
+ </template>
+ <template #right-icon v-if='!showEdit'>
+ <up-icon name="edit-pen" @click='isShow'></up-icon>
+ </template>
+ </up-cell>
+ <up-cell title="鎵嬫満鍙�" :value="userInfo.phone" :border="false"></up-cell>
+ <!-- <up-cell @click="goApply" title="鐢宠鎺ュ崟" isLink :border="false"></up-cell> -->
<!-- <view class="tabbtns">
<up-button color='#fece01' class="text-69" text="淇濆瓨" @click=''></up-button>
</view> -->
@@ -33,6 +40,9 @@
<script setup>
import {
+ apiBaseUrl
+ } from '@/common/setting/constVarsHelper.js';
+ import {
onLoad,
onShow
} from "@dcloudio/uni-app";
@@ -40,44 +50,130 @@
ref,
reactive,
getCurrentInstance,
- toRefs
+ toRefs,
+ computed
} from 'vue';
const {
$upload,
$api,
- $db
+ $db,
+ $util
} = getCurrentInstance().appContext.config.globalProperties
+ import {
+ useStore
+ } from 'vuex'
+ const store = useStore()
onLoad(() => {
// getUser()
})
- onShow(()=>{
- getUser()
+ onShow(() => {
+ // getUser()
})
- let avatarUrlImg = ref('')
- let number1 = ref(0)
- let userInfo = reactive({
- nickname: '',
- phone: '',
- userWorker: false
- })
+ // let userInfo = reactive({
+ // nickname: '',
+ // phone: '',
+ // userWorker: false
+ // })
+ let userInfo = computed(() => store.getters.userInfo || {})
+ let showEdit = ref(false)
// let src = "http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg"
const goApply = () => {
uni.navigateTo({
url: '/pages/mine/apply'
});
}
+ const isShow = () => {
+ showEdit.value = true
+ }
const onChooseAvatar = (e) => {
const {
avatarUrl
} = e.detail
- avatarUrlImg.value = avatarUrl
+ uploadFile(avatarUrl)
}
- const getUser = (e) => {
- $api.getUser().then(res => {
- userInfo.nickname = res.data.nickname
- userInfo.phone = res.data.phone
- $db.set('userInfo', JSON.stringify(res.data))
+ const uploadFile = (val) => {
+ uni.showLoading();
+ let userToken = $db.get("userToken");
+ uni.uploadFile({
+ url: apiBaseUrl + '/api/UpFile/UpdateFile',
+ filePath: val,
+ fileType: 'image',
+ name: 'file',
+ header: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'multipart/form-data',
+ 'Authorization': 'Bearer ' + userToken
+ },
+ formData: {
+ 'method': 'images.upload',
+ 'upfile': val
+ },
+ success: (uploadFileRes) => {
+
+ let res = JSON.parse(uploadFileRes.data);
+ if (res.code == 1) {
+ let obj = {
+ Avatar: res.data
+ }
+ $api.saveUser(obj).then(red => {
+ if (red.code == 1) {
+ $util.showToast({
+ title: "澶村儚淇濆瓨鎴愬姛锛�",
+ icon: "success"
+ })
+ store.dispatch('getUserInfo')
+ } else {
+ this.$util.showToast({
+ title: red.error
+ })
+ }
+ })
+ } else {
+ this.$util.showToast({
+ title: res.error
+ })
+ }
+
+ },
+ fail: (error) => {
+ console.log("浜や簰澶辫触");
+ console.log(error);
+ if (error && error.response) {
+ $upload.showError(error.response);
+ }
+ },
+ complete: () => {
+ uni.hideLoading();
+ }
+ });
+ }
+ const saveUserNikename = (val) => {
+ if (!userInfo.nickname) {
+ $util.showToast({
+ title: "璇疯緭鍏ユ樀绉帮紒",
+ icon: "success"
+ })
+ return
+ }
+ $api.saveUser({
+ Nickname: userInfo.nickname
+ }).then(res => {
+ if (res.code == 1) {
+ $util.showToast({
+ title: "鏄电О淇濆瓨鎴愬姛锛�",
+ icon: "success"
+ })
+ store.commit('setUserInfo', userInfo.value)
+ showEdit.value = false
+ } else {
+ $util.showToast({
+ title: res.error
+ })
+ }
})
+ }
+ const blurNickName = (val) => {
+ userInfo.nickname = val
}
</script>
@@ -110,4 +206,8 @@
color: #7F7F7F;
flex-shrink: 0;
}
+
+ .u-form-item__body {
+ padding: 0 !important;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.1