and (
@@ -56,6 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and m.project_id = #{_parameter}
+ and m.del_flag = '0'
diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index 8b64bb7..218487f 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -73,8 +73,8 @@ export default {
title: '项目管理系统',
codeUrl: "",
loginForm: {
- username: "admin",
- password: "admin123",
+ username: "jsl",
+ password: "123456",
rememberMe: false,
code: "",
uuid: ""
diff --git a/ruoyi-ui/src/views/project/doc/index.vue b/ruoyi-ui/src/views/project/doc/index.vue
index e15c7d9..673138d 100644
--- a/ruoyi-ui/src/views/project/doc/index.vue
+++ b/ruoyi-ui/src/views/project/doc/index.vue
@@ -161,9 +161,19 @@ import { listModulesByProject, getMyModules } from '@/api/project/module'
export default {
name: "Doc",
computed: {
+ // 是否项目管理员/平台管理员
+ isProjectAdmin() {
+ const roles = this.$store.state.user.roles || []
+ return roles.some(r => {
+ const key = typeof r === 'string' ? r : r.roleKey
+ return key === 'project_admin' || key === 'platform_admin'
+ })
+ },
+ // 是否普通用户(且不是管理员)
isNormalUser() {
const roles = this.$store.state.user.roles || []
- return roles.some(r => (typeof r === 'string' ? r : r.roleKey) === 'normal_user')
+ const hasNormal = roles.some(r => (typeof r === 'string' ? r : r.roleKey) === 'normal_user')
+ return hasNormal && !this.isProjectAdmin
}
},
data() {
@@ -238,7 +248,11 @@ export default {
methods: {
async initProjects() {
try {
- if (this.isNormalUser) {
+ if (this.isProjectAdmin) {
+ // 管理员/项目管理员:读取全部可管理项目
+ const { rows } = await listProject({ pageNum: 1, pageSize: 9999 })
+ this.projectOptions = rows || []
+ } else if (this.isNormalUser) {
// 普通用户:从“我的模块”汇总所属项目
const { rows } = await getMyModules({ pageNum: 1, pageSize: 9999 })
const map = new Map()
@@ -248,10 +262,6 @@ export default {
}
})
this.projectOptions = Array.from(map.values())
- } else {
- // 管理员/项目管理员:读取全部可管理项目
- const { rows } = await listProject({ pageNum: 1, pageSize: 9999 })
- this.projectOptions = rows || []
}
} catch (e) {
this.projectOptions = []
@@ -297,7 +307,7 @@ export default {
this.upload.meta.moduleId = null;
if (!projectId) { this.moduleOptions = []; return; }
try {
- if (this.isNormalUser) {
+ if (!this.isProjectAdmin && this.isNormalUser) {
// 从“我的模块”中过滤出所选项目的可见模块
const { rows } = await getMyModules({ pageNum: 1, pageSize: 9999 })
this.moduleOptions = (rows || []).filter(m => String(m.projectId) === String(projectId))
diff --git a/ruoyi-ui/src/views/project/module/myModules.vue b/ruoyi-ui/src/views/project/module/myModules.vue
index 922dd2a..dadc783 100644
--- a/ruoyi-ui/src/views/project/module/myModules.vue
+++ b/ruoyi-ui/src/views/project/module/myModules.vue
@@ -36,59 +36,13 @@
当前用户:{{ userName }}(ID: {{ userId }}) | 用户角色:{{ userRoles }}
-
+
调试信息: Store状态={{ JSON.stringify($store.state.user) }}
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
@@ -101,7 +55,7 @@
- {{ userMap[String(scope.row.assignee)] || scope.row.assignee || '未指派' }}
+ {{ scope.row.assignee || '未指派' }}
@@ -169,7 +123,7 @@
-
+
暂无被指派的模块
@@ -188,24 +142,15 @@