From 05dbb19d1826ae4b888340d53b56746c1efa66cc Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期六, 11 五月 2024 14:55:57 +0800
Subject: [PATCH] 登录时获取用户权限
---
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue | 11 ++++-
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java | 1
north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml | 28 ++++++++++++++
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java | 2 +
north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml | 2 +
north-glass-erp/northglass-erp/src/stores/userInfo.js | 3 +
north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue | 1
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java | 9 ++++
north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue | 1
north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java | 4 ++
10 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue b/north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue
index 7545d94..0424c7f 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue
@@ -16,6 +16,7 @@
ElMessage.warning(res.msg)
}
})
+
</script>
<template>
diff --git a/north-glass-erp/northglass-erp/src/stores/userInfo.js b/north-glass-erp/northglass-erp/src/stores/userInfo.js
index 64b1cca..5bf8d1e 100644
--- a/north-glass-erp/northglass-erp/src/stores/userInfo.js
+++ b/north-glass-erp/northglass-erp/src/stores/userInfo.js
@@ -6,7 +6,8 @@
state: () =>({
user:ref({
userName:null,
- userId:null
+ userId:null,
+ permissions:[]
}),
responseCode:null,
msg:null
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index ed91a96..a22ba05 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -7,9 +7,10 @@
import deepClone from "@/utils/deepClone"
import {ElMessage} from "element-plus"
import {VXETable} from "vxe-table"
+ import useUserInfoStore from '@/stores/userInfo'
import {useI18n} from "vue-i18n"
- import {toolbarButtonClickEvent} from "@/hook/mouseMove";
const { t } = useI18n()
+ const userStore = useUserInfoStore()
const router = useRouter()
let rowClickIndex = ref(null)
const dialogTableVisible = ref(false)
@@ -355,7 +356,13 @@
<!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
<template #button_slot="{ row }">
- <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
+ <el-button @click="getTableRow(row,'edit')"
+ v-if="userStore.user.permissions.indexOf('selectOrder.edit') > -1"
+ link
+ type="primary"
+ size="small">
+ {{ $t('basicData.edit') }}
+ </el-button>
<el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
<template #reference>
<el-button link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue b/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
index 0827a21..175317c 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
@@ -95,6 +95,7 @@
item.separation = JSON.parse(item.separation)
})
productTotal.value = res.data.title
+ productGlassTypeStore.GlassType =[res.data.title.typeId.substring(0,2),res.data.title.typeId]
//BasicData.value = res.data
}else{
ElMessage.warning(res.msg)
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java b/north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java
index 937fc6e..e20656a 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java
@@ -1,6 +1,9 @@
package com.example.erp.controller.dto;
import lombok.Data;
+
+import java.util.List;
+
@Data //鐢ㄤ簬鎺ュ彈鍓嶇鐧诲綍棰漸ser淇℃伅
public class UserDTO {
private Integer id;
@@ -8,4 +11,5 @@
private String pass;
private String token;
private String userName;
+ private List<String> permissions;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java
index 9a63096..2e8c08a 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java
@@ -14,4 +14,5 @@
List<PermissionBasic> selectOneLevel(String lang);
List<Map<String,Object>> selectTowLevel(Integer id);
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java
index 73b3ece..d651b7d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java
@@ -11,4 +11,6 @@
List<String> getUserPermission(Integer loginId);
Boolean saveBatch(List<PermissionRole> permissionRoles);
+
+ List<String> getUserEditPermission(Integer loginId);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
index 5b4ede4..17e1f71 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -5,8 +5,11 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.controller.dto.UserDTO;
+import com.example.erp.entity.userInfo.PermissionBasic;
import com.example.erp.entity.userInfo.Role;
import com.example.erp.entity.userInfo.User;
+import com.example.erp.mapper.userInfo.PermissionBasicMapper;
+import com.example.erp.mapper.userInfo.PermissionRoleMapper;
import com.example.erp.mapper.userInfo.RoleMapper;
import com.example.erp.mapper.userInfo.UserMapper;
import com.example.erp.tools.TokenTools;
@@ -28,9 +31,12 @@
private final UserMapper userMapper;
private final RoleMapper roleMapper;
- public UserService(UserMapper userMapper, RoleMapper roleMapper) {
+ private final PermissionRoleMapper permissionRoleMapper;
+
+ public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper) {
this.userMapper = userMapper;
this.roleMapper = roleMapper;
+ this.permissionRoleMapper = permissionRoleMapper;
}
@@ -88,6 +94,7 @@
userDTO.setId(user.getId());
userDTO.setUserName(user.getUserName());
userDTO.setToken(StpUtil.getTokenValue());
+ userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId()));
return userDTO;
}else{
return null;
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml b/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml
index c515579..aeeeb60 100644
--- a/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml
@@ -59,4 +59,6 @@
</select>
+
+
</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml b/north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml
index d8085f7..9625f33 100644
--- a/north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml
@@ -21,6 +21,34 @@
where a.id = #{loginId}
and d.state = 1
</select>
+
+ <select id="getUserEditPermission">
+ select
+ concat(
+ if(d.page=null || d.page='','',concat(d.page, '.')),
+ d.permission
+ ) as 'permission'
+ <if test="loginId!=1">
+ from user as a
+ left join user_role as e
+ on e.user_id = a.id
+ left join role as b
+ on e.role_id = b.id
+ left join permission_role as c
+ on b.id = c.role_id
+ left join permission_basic d
+ on d.id = c.permission_id
+ and d.permission='edit'
+ where a.id = #{loginId}
+
+ </if>
+ <if test="loginId==1">
+ from permission_basic d
+ where d.permission='edit'
+ </if>
+ and d.state = 1
+ group by d.id
+ </select>
<insert id="saveBatch">
insert into
--
Gitblit v1.8.0