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 | 184 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 160 insertions(+), 24 deletions(-)
diff --git a/src/pages/mine/mine.vue b/src/pages/mine/mine.vue
index be6b8b1..d62e102 100644
--- a/src/pages/mine/mine.vue
+++ b/src/pages/mine/mine.vue
@@ -3,52 +3,184 @@
<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>
- <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">13215465785</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> -->
</view>
</template>
<script setup>
import {
- ref
+ apiBaseUrl
+ } from '@/common/setting/constVarsHelper.js';
+ import {
+ onLoad,
+ onShow
+ } from "@dcloudio/uni-app";
+ import {
+ ref,
+ reactive,
+ getCurrentInstance,
+ toRefs,
+ computed
} from 'vue';
- let avatarUrlImg = ref('')
- let number1 = ref(0)
+ const {
+ $upload,
+ $api,
+ $db,
+ $util
+ } = getCurrentInstance().appContext.config.globalProperties
+ import {
+ useStore
+ } from 'vuex'
+ const store = useStore()
+ onLoad(() => {
+ // getUser()
+ })
+ onShow(() => {
+ // getUser()
+ })
+ // 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
+ const {
+ avatarUrl
+ } = e.detail
+ uploadFile(avatarUrl)
+ }
+ 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>
<style>
.content {
height: 300rpx;
- background: linear-gradient(to bottom, #B4DEFF, #ffffff);
+ background: linear-gradient(to bottom, #fbec99, #ffffff);
}
.avatar-wrapper {
@@ -74,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