From 386f7e24fb132deacb829a86aeb723dd1d1172eb Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 16 七月 2024 14:13:46 +0800
Subject: [PATCH] 修改密码调用接口 登录添加过期提醒 登录框中英文切换不显示bug

---
 Source/plt-web/plt-web-ui/src/views/system/user/index.vue |    1 
 Source/plt-web/plt-web-ui/src/page/login/userlogin.vue    |    5 ++
 Source/plt-web/plt-web-ui/src/page/index/top/top-lang.vue |   13 ++++--
 Source/plt-web/plt-web-ui/src/store/modules/user.js       |    4 +-
 Source/plt-web/plt-web-ui/src/page/login/index.vue        |    2 
 Source/plt-web/plt-web-ui/src/api/user.js                 |   12 ++++++
 Source/plt-web/plt-web-ui/src/page/index/top/index.vue    |   55 ++++++++++++++++-----------
 7 files changed, 62 insertions(+), 30 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/api/user.js b/Source/plt-web/plt-web-ui/src/api/user.js
index 3e9891a..1744e78 100644
--- a/Source/plt-web/plt-web-ui/src/api/user.js
+++ b/Source/plt-web/plt-web-ui/src/api/user.js
@@ -115,4 +115,16 @@
   method: 'get',
 });
 
+// 淇敼瀵嗙爜
+export function changePassword(params) {
+  let formData = new FormData;
+  for (let key in params){
+    formData.append(key,params[key])
+  }
+  return request({
+    url: "/api/userQueryController/changePassword",
+    method: "post",
+    data:formData
+  });
+}
 
diff --git a/Source/plt-web/plt-web-ui/src/page/index/top/index.vue b/Source/plt-web/plt-web-ui/src/page/index/top/index.vue
index 49677d6..9969734 100644
--- a/Source/plt-web/plt-web-ui/src/page/index/top/index.vue
+++ b/Source/plt-web/plt-web-ui/src/page/index/top/index.vue
@@ -27,14 +27,15 @@
           <top-color></top-color>
         </div>
       </el-tooltip>
-      <el-tooltip v-if="showDebug"
-                  :content="logsFlag?$t('navbar.bug'):logsLen+$t('navbar.bugs')"
-                  effect="dark"
-                  placement="bottom">
-        <div class="top-bar__item">
-          <top-logs></top-logs>
-        </div>
-      </el-tooltip>
+<!--      閿欒鏃ュ織-->
+<!--      <el-tooltip v-if="showDebug"-->
+<!--                  :content="logsFlag?$t('navbar.bug'):logsLen+$t('navbar.bugs')"-->
+<!--                  effect="dark"-->
+<!--                  placement="bottom">-->
+<!--        <div class="top-bar__item">-->
+<!--          <top-logs></top-logs>-->
+<!--        </div>-->
+<!--      </el-tooltip>-->
       <el-tooltip v-if="showLock"
                   :content="$t('navbar.lock')"
                   effect="dark"
@@ -51,13 +52,14 @@
           <top-theme></top-theme>
         </div>
       </el-tooltip>
-      <el-tooltip :content="$t('navbar.notice')"
-                  effect="dark"
-                  placement="bottom">
-        <div class="top-bar__item top-bar__item--show">
-          <top-notice></top-notice>
-        </div>
-      </el-tooltip>
+<!--      娑堟伅閫氱煡-->
+<!--      <el-tooltip :content="$t('navbar.notice')"-->
+<!--                  effect="dark"-->
+<!--                  placement="bottom">-->
+<!--        <div class="top-bar__item top-bar__item&#45;&#45;show">-->
+<!--          <top-notice></top-notice>-->
+<!--        </div>-->
+<!--      </el-tooltip>-->
       <el-tooltip :content="$t('navbar.language')"
                   effect="dark"
                   placement="bottom">
@@ -129,6 +131,7 @@
 import topColor from "./top-color";
 import topNotice from './top-notice'
 import topLang from "./top-lang";
+import {changePassword} from "@/api/user"
 
 export default {
   components: {
@@ -151,9 +154,10 @@
         column: [
           {
             label: '鐧婚檰瀵嗙爜',
-            prop: 'input',
+            prop: 'oldPassword',
             span: 24,
             labelWidth:"15%",
+            type:'password',
             rules: [
               {
                 required: true,
@@ -164,9 +168,10 @@
           },
           {
             label: '鏂扮櫥闄嗗瘑鐮�',
-            prop: 'input1',
+            prop: 'password',
             span: 24,
             labelWidth:"15%",
+            type:'password',
             rules: [
               {
                 required: true,
@@ -177,9 +182,10 @@
           },
           {
             label: '鏂板瘑鐮佺櫥闄嗙‘璁�',
-            prop: 'input2',
+            prop: 'confirmPassword',
             span: 24,
             labelWidth:"15%",
+            type:'password',
             rules: [
               {
                 required: true,
@@ -270,7 +276,6 @@
   methods: {
     // 淇敼瀵嗙爜
     changePasswordHandler() {
-      console.log('123');
       this.passwordVisible = true;
     },
     handleScreen() {
@@ -293,10 +298,16 @@
       this.userBox = true;
     },
     submitSwitch(form, done) {
-      this.$store.dispatch("refreshToken", form).then(() => {
-        this.userBox = false;
-        this.$router.push({path: "/"});
+      let userInfo = JSON.parse(localStorage.getItem('saber-userInfo'));
+
+      let params = {userOid:userInfo.content.userOid,...form}
+      changePassword(params).then(res =>{
+        console.log(res);
       })
+      // this.$store.dispatch("refreshToken", form).then(() => {
+      //   this.userBox = false;
+      //   this.$router.push({path: "/"});
+      // })
       done();
     },
     logout() {
diff --git a/Source/plt-web/plt-web-ui/src/page/index/top/top-lang.vue b/Source/plt-web/plt-web-ui/src/page/index/top/top-lang.vue
index 38a1d67..d48509b 100644
--- a/Source/plt-web/plt-web-ui/src/page/index/top/top-lang.vue
+++ b/Source/plt-web/plt-web-ui/src/page/index/top/top-lang.vue
@@ -1,7 +1,7 @@
 <template>
-  <el-dropdown trigger="click"
+  <el-dropdown trigger="click" :style="dropdownStyle"
                @command="handleSetLanguage">
-    <i class="icon-zhongyingwen" style="color:white;"></i>
+    <i class="icon-zhongyingwen"></i>
     <el-dropdown-menu slot="dropdown">
       <el-dropdown-item :disabled="language==='zh'"
                         command="zh">涓枃
@@ -26,9 +26,14 @@
     mounted() {
     },
     computed: {
-      ...mapGetters(["language", "tag"])
+      ...mapGetters(["language", "tag"]),
+      dropdownStyle(){
+        return {
+          color:this.type === 'login' ? 'white' : 'black'
+        }
+      }
     },
-    props: [],
+    props: ["type"],
     methods: {
       handleSetLanguage(lang) {
         this.$i18n.locale = lang;
diff --git a/Source/plt-web/plt-web-ui/src/page/login/index.vue b/Source/plt-web/plt-web-ui/src/page/login/index.vue
index 1e336a0..3233ce1 100644
--- a/Source/plt-web/plt-web-ui/src/page/login/index.vue
+++ b/Source/plt-web/plt-web-ui/src/page/login/index.vue
@@ -8,7 +8,7 @@
         <div class="login-main">
           <h4 class="login-title">
             {{ $t('login.title') }}{{website.title}}
-            <top-lang></top-lang>
+            <top-lang type="login"></top-lang>
           </h4>
           <userLogin v-if="activeName==='user'"></userLogin>
           <thirdLogin v-else-if="activeName==='third'"></thirdLogin>
diff --git a/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue b/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
index 7d11644..9122bf3 100644
--- a/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
+++ b/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
@@ -173,7 +173,10 @@
               text: '鐧诲綍涓�,璇风◢鍚庛�傘�傘��',
               spinner: "el-icon-loading"
             });
-            this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
+            this.$store.dispatch("LoginByUsername", this.loginForm).then((data) => {
+              if(data.obj.passwordInfo){
+                this.$message.warning(data.obj.passwordInfo);
+              }
               if (this.website.switchMode) {
                 const deptId = this.userInfo.deptOid;
                 const roleId = this.userInfo.userOid;
diff --git a/Source/plt-web/plt-web-ui/src/store/modules/user.js b/Source/plt-web/plt-web-ui/src/store/modules/user.js
index fbbaba8..9aef2f5 100644
--- a/Source/plt-web/plt-web-ui/src/store/modules/user.js
+++ b/Source/plt-web/plt-web-ui/src/store/modules/user.js
@@ -62,7 +62,7 @@
     //鏍规嵁鐢ㄦ埛鍚嶇櫥褰�
     LoginByUsername({commit}, userInfo) {
       return new Promise((resolve, reject) => {
-        loginByUsername(userInfo.deptId, userInfo.roleId, userInfo.username, userInfo.password, userInfo.type, userInfo.key,).then(res => {
+        loginByUsername(userInfo.deptId, userInfo.roleId, userInfo.username,userInfo.password, userInfo.type, userInfo.key,).then(res => {
           const data = res.data;
           if (data.code === 200) {
             // commit('SET_TOKEN', data.obj.sessionInfo.token);
@@ -86,7 +86,7 @@
               type: 'error'
             })
           }
-          resolve();
+          resolve(data);
         }).catch(error => {
           reject(error);
         })
diff --git a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
index 50f7723..2f29cad 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
@@ -159,6 +159,7 @@
       departCurrenRow: {},
       departOption: {
         ...basicOption,
+        addBtn:false,
         rowKey: 'oid',
         rowParentKey: 'parentId',
         selection: false,

--
Gitblit v1.9.3