From 6264e7823df52fdf738ff6aaad8e8731e7997363 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 09 Jun 2025 15:53:29 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/drone/drone-web-manage
---
src/views/system/userinfo.vue | 219 +++++++++++++++++++++++++++---------------------------
1 files changed, 110 insertions(+), 109 deletions(-)
diff --git a/src/views/system/userinfo.vue b/src/views/system/userinfo.vue
index a73d22f..bd3a36c 100644
--- a/src/views/system/userinfo.vue
+++ b/src/views/system/userinfo.vue
@@ -1,116 +1,117 @@
<template>
-
- <div class="user-info-new">
- <div class="titleBoxs">
- <div
- class="titleItem"
- :class="index === checked ? 'activeItem' : ''"
- v-for="(item, index) in titleList"
- :key="index"
- @click="titleClick(item, index)"
- >
- {{ item }}
- </div>
- </div>
- <!-- 个人信息 -->
- <div class="message" v-if="checked === 0">
- <div class="info">
- <div class="section">
- <el-form label-width="120px">
- <el-form-item label="头像:">
- <el-upload
- class="avatar-uploader"
- :http-request="customUpload"
- :show-file-list="false"
- :before-upload="beforeAvatarUpload"
- :disabled="uploadLoading"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- >
- <img v-if="userInfo.avatar" :src="userInfo.avatar" class="avatar" />
- <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+ <div>
+ <basic-container>
+ <avue-form
+ ref="form"
+ :option="option"
+ v-model="form"
+ @tab-click="handleTabClick"
+ @submit="handleSubmit"
- <template #tip>
- <div class="upload-tip">只能上传jpg/png用户头像,且不超过500kb</div>
- </template>
- </el-upload>
- <!-- <el-dialog v-model="dialogVisible">
- <img w-full :src="dialogImageUrl" alt="Preview Image" />
- </el-dialog> -->
- </el-form-item>
- </el-form>
- </div>
-
- <div class="section">
- <el-form :model="userInfo" label-width="120px">
- <el-form-item label="姓名:">
- <el-input class="ztzf-input" :style="{ width: pxToRem(230) }" v-model="userInfo.realName" disabled />
- </el-form-item>
- <!-- <el-form-item label="昵称:">
- <el-input class="ztzf-input" v-model="userInfo.name" />
- </el-form-item>-->
- <el-form-item label="所属单位:">
- <el-input class="ztzf-input" v-model="userInfo.deptName" disabled />
- </el-form-item>
- <el-form-item label="手机号:">
- <el-input class="ztzf-input" v-model="userInfo.phone" />
- </el-form-item>
- <el-form-item label="邮箱:">
- <el-input class="ztzf-input" v-model="userInfo.email" />
- </el-form-item>
- </el-form>
- </div>
- </div>
- <div class="butn">
- <!-- <img @click="reset" :style="{ marginRight: pxToRem(23) }" :src="cancel1" alt="" />
- <img @click="submit" :style="{ marginRight: pxToRem(23) }" :src="publish1" alt="" /> -->
- <el-button type="primary" @click="submit" style="margin-right: 10px;">提交</el-button>
- <el-button @click="reset">重置</el-button>
- </div>
- </div>
- <!-- 修改密码 -->
- <div class="passwordBox" v-else-if="checked === 1">
- <div class="password">
- <el-form :model="passwordForm" label-width="120px">
- <el-form-item label="原始密码:" prop="oldPassword">
- <el-input class="ztzf-input" v-model="passwordForm.oldPassword" type="password" show-password />
- </el-form-item>
- <el-form-item label="新密码:" prop="newPassword">
- <el-input class="ztzf-input" v-model="passwordForm.newPassword" type="password" show-password />
- </el-form-item>
- <el-form-item label="确认密码:" prop="newPassword1">
- <el-input class="ztzf-input" v-model="passwordForm.newPassword1" type="password" show-password />
- </el-form-item>
- </el-form>
- </div>
- <div class="butn">
- <!-- <img @click="reset" :style="{ marginRight: pxToRem(23) }" :src="cancel1" alt="" />
- <img @click="submit" :style="{ marginRight: pxToRem(23) }" :src="publish1" alt="" /> -->
- <el-button type="primary" @click="submit" style="margin-right: 10px;">提交</el-button>
- <el-button @click="reset">重置</el-button>
- </div>
- </div>
- <!-- 密钥上传 -->
- <div class="upload-file" v-else-if="checked === 2">
- <img v-if="isSuccess === 'success'" :src="uploadSuccess" alt="" />
- <img v-if="isSuccess === 'error'" :src="uploadError" alt="" />
- <el-upload action="/upload" accept=".lic" :show-file-list="false" :before-upload="handleUpload">
- <div class="upload-btn">密钥上传</div>
- </el-upload>
- <div class="password-time">密钥有效期:{{ passwordTime || '永久有效' }}</div>
- </div>
- </div>
+ >
+ <template #email="{ disabled, size }">
+ <el-input
+ id="adfsdafdsf"
+ type="text"
+ :disabled="disabled"
+ :size="size"
+ v-model="form.email"
+ placeholder="请输入邮箱"
+ :readonly="readonly"
+ @focus="readonly = false"
+ >
+ </el-input>
+ </template>
+ </avue-form>
+ </basic-container>
+ </div>
</template>
-<script setup>
-import { pxToRem } from '@/utils/rem'
-import { useStore } from 'vuex'
-import { ElMessage } from 'element-plus'
-import { getToken } from '@/utils/auth'
-import md5 from 'js-md5'
-import request from '@/axios'
-import { getUserInfo, updateInfo, updatePassword } from '@/api/system/user'
-import { findLicenseDate } from '@/api/system/dict'
-import { uploadLicense } from '@/api/license/uploadLicense';
+<script>
+import option from '@/option/user/info';
+import { getUserInfo, updateInfo, updatePassword } from '@/api/system/user';
+import md5 from 'js-md5';
+import func from '@/utils/func';
+import { validatenull } from '@/utils/validate';
+import defaultAva from '@/assets/images/defaultava.png';
+export default {
+ data() {
+ return {
+ index: 0,
+ option: option,
+ form: { },
+ readonly: true
+ };
+ },
+ created() {
+ this.handleWitch();
+ },
+ methods: {
+ handleSubmit(form, done) {
+ if (this.index === 0) {
+ form.name = form.realName;
+ updateInfo(form).then(
+ res => {
+ if (res.data.success) {
+ this.$message({
+ type: 'success',
+ message: '修改信息成功!',
+ });
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.data.msg,
+ });
+ }
+ done();
+ },
+ error => {
+ window.console.log(error);
+ done();
+ }
+ );
+ } else {
+ updatePassword(md5(form.oldPassword), md5(form.newPassword), md5(form.newPassword1)).then(
+ res => {
+ if (res.data.success) {
+ this.$message({
+ type: 'success',
+ message: '修改密码成功,请重新登录!',
+ });
+ this.$store.dispatch('LogOut').then(() => {
+ this.$router.push({ path: '/login' })
+ })
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.data.msg,
+ });
+ }
+ done();
+ },
+ error => {
+ window.console.log(error);
+ done();
+ }
+ );
+ }
+ },
+ handleWitch() {
+ if (this.index === 0) {
+ getUserInfo().then(res => {
+ const user = res.data.data;
+ this.form = {
+ id: user.id,
+ avatar: user.avatar ? user.avatar :defaultAva,
+ name: user.name,
+ realName: user.realName,
+ phone: user.phone,
+ email: user.email,
+ };
+
+ });
+ }
+ },
import uploadSuccess from '@/assets/images/uoload-success.png';
import uploadError from '@/assets/images/upload-error.png';
--
Gitblit v1.9.3