From 7577e0d40354021d70b78d58b712ff8c2e8ad485 Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期五, 03 一月 2025 10:47:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/store/modules/user.js |   79 +++++++++++++++++++++++++--------------
 1 files changed, 50 insertions(+), 29 deletions(-)

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 c34bb5c..3a33a35 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
@@ -2,11 +2,12 @@
 import {Message} from 'element-ui'
 import {setStore, getStore} from '@/util/store'
 import {isURL, validatenull} from '@/util/validate'
-import {deepClone,queryStringToObject} from '@/util/util'
+import {deepClone, queryStringToObject} from '@/util/util'
 import website from '@/config/website'
 import {loginByUsername, loginBySocial, loginBySso, getUserInfo, logout, refreshToken, getButtons} from '@/api/user'
 import {getTopMenu, getRoutes} from '@/api/system/menu'
 import md5 from 'js-md5'
+import func from "@/util/func";
 
 
 function addPath(ele, first) {
@@ -15,8 +16,8 @@
   const propsDefault = {
     label: propsConfig.label || 'name',
     path: propsConfig.path || 'path',
-    icon: propsConfig.icon || 'icon',
-    children: propsConfig.children || 'children'
+    icon: propsConfig.icon || 'source',
+    children: propsConfig.children || 'children',
   }
   const icon = ele[propsDefault.icon];
   ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon;
@@ -35,9 +36,9 @@
 function updateCode(items) {
   items.forEach(item => {
     item.pathValue = item.path;
-    item.path = '/' + item.code;
+    item.path = '/' + item.id;
     item.query = {}; // 鍒濆鍖� item.query
-    if(item.pathValue.indexOf('?')!=-1) {
+    if (item.pathValue.indexOf('?') != -1) {
       item.query = queryStringToObject(item.pathValue)
     }
     if (item.children && item.children.length > 0) {
@@ -62,23 +63,25 @@
     //鏍规嵁鐢ㄦ埛鍚嶇櫥褰�
     LoginByUsername({commit}, userInfo) {
       return new Promise((resolve, reject) => {
-        loginByUsername(userInfo.deptId, userInfo.roleId, userInfo.username, userInfo.password, userInfo.type, userInfo.key,).then(res => {
+        let passwordDes = func.encryptData(userInfo.password, 'daliantan0v0vcip')
+        loginByUsername(userInfo.deptId, userInfo.roleId, userInfo.username, passwordDes, userInfo.type, userInfo.key,).then(res => {
           const data = res.data;
-          if (data.code === 200) {
+          if (data.obj.failCode === 'loginSuccess' || data.obj.failCode === 'passwordRemainDay') {
             commit('SET_TOKEN', data.obj.tokenVO.accessToken);
             commit('SET_REFRESH_TOKEN', data.obj.tokenVO.accessToken);
-            // commit('SET_TENANT_ID', data.tenant_id);
-            // commit('SET_USER_INFO', data.obj.sessionInfo); 鐢ㄦ埛淇℃伅
             commit('DEL_ALL_TAG');
             commit('CLEAR_LOCK');
-          } else {
-            Message({
-              message: data.msg,
-              type: 'error'
+
+            getUserInfo().then((res) => {
+              const data = res.data;
+              commit('SET_USER_INFO', data.obj);
+            }).catch(err => {
+              console.log(err)
             })
           }
-          resolve();
+          resolve(data);
         }).catch(error => {
+          // console.log(error)
           reject(error);
         })
       })
@@ -137,18 +140,6 @@
             commit('CLEAR_LOCK');
           }
           resolve();
-        })
-      })
-    },
-    //鑾峰彇鐢ㄦ埛淇℃伅
-    GetUserInfo({commit}) {
-      return new Promise((resolve, reject) => {
-        getUserInfo().then((res) => {
-          const data = res.data.data;
-          commit('SET_ROLES', data.roles);
-          resolve(data);
-        }).catch(err => {
-          reject(err);
         })
       })
     },
@@ -213,6 +204,21 @@
         })
       })
     },
+
+    //鑾峰彇鐢ㄦ埛淇℃伅
+    GetUserInfo({commit}) {
+      return new Promise((resolve, reject) => {
+        getUserInfo().then((res) => {
+          const data = res.data.data;
+          console.log('user', res)
+          // commit('SET_USER_INFO', data.roles);
+          resolve(data);
+        }).catch(err => {
+          reject(err);
+        })
+      })
+    },
+
     //鑾峰彇绯荤粺鑿滃崟
     GetMenu({commit, dispatch}, topMenuId) {
       return new Promise(resolve => {
@@ -226,16 +232,19 @@
 
           commit('SET_MENU_ALL', menu)
           commit('SET_MENU', menu)
-          //dispatch('GetButtons');s
+          dispatch('GetButtons');
           resolve(menu)
         })
       })
     },
+
+
     //鑾峰彇绯荤粺鎸夐挳
     GetButtons({commit}) {
       return new Promise((resolve) => {
         getButtons().then(res => {
           const data = res.data.data;
+          console.log('getButton',data)
           commit('SET_PERMISSION', data);
           resolve();
         })
@@ -288,8 +297,20 @@
     SET_ROLES: (state, roles) => {
       state.roles = roles;
     },
-
+    SET_PERMISSION: (state, permission) => {
+      let permission_new = {};
+      permission.forEach(item => {
+        let children = {};
+        if (item.children && item.children.length > 0) {
+          item.children.forEach(child => {
+            Vue.set(children, child.code, true);
+          });
+        }
+        Vue.set(permission_new, item.id, children);
+      });
+      state.permission = permission_new;
+      setStore({name: "permission", content: permission_new});
+    },
   }
-
 }
 export default user

--
Gitblit v1.9.3