From 092971a8ba7848f024427694c642959d0fbc8599 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 08 五月 2025 15:56:09 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs |   56 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 29 insertions(+), 27 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs"
index a3f689d..8603b9d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs"
@@ -98,33 +98,33 @@
             if (App.User.RoleId == RoleId) return WebResponseContent.Instance.Error("鏃犳搷浣滄潈闄�");
             return base.UpdateData(saveModel);
         }
-        public override PageGridData<Sys_Role> GetPageData(PageDataOptions options)
-        {
-            PageGridData<Sys_Role> pageGridData = new PageGridData<Sys_Role>();
-            if (App.User.IsSuperAdmin)
-            {
-                var GridData = base.GetPageData(options);
-                pageGridData = new PageGridData<Sys_Role>()
-                {
-                    Rows = options.Order?.ToLower() == OrderByType.Asc.ToString().ToLower() ? GridData.Rows.OrderBy(x => x.RoleId).ToList() : GridData.Rows,
-                    Total = GridData.Total
-                };
-                return pageGridData;
-            }
+        //public override PageGridData<Sys_Role> GetPageData(PageDataOptions options)
+        //{
+        //    PageGridData<Sys_Role> pageGridData = new PageGridData<Sys_Role>();
+        //    if (App.User.IsSuperAdmin)
+        //    {
+        //        var GridData = base.GetPageData(options);
+        //        pageGridData = new PageGridData<Sys_Role>()
+        //        {
+        //            Rows = options.Order?.ToLower() == OrderByType.Asc.ToString().ToLower() ? GridData.Rows.OrderBy(x => x.RoleId).ToList() : GridData.Rows,
+        //            Total = GridData.Total
+        //        };
+        //        return pageGridData;
+        //    }
 
-            var roleIds = GetAllChildren(App.User.RoleId).Select(x => x.Id);
-            //鏍戝舰鑿滃崟浼犳煡璇㈣鑹蹭笅鎵�鏈夌敤鎴�
-            string where = ValidatePageOptions(options);
+        //    var roleIds = GetAllChildren(App.User.RoleId).Select(x => x.Id);
+        //    //鏍戝舰鑿滃崟浼犳煡璇㈣鑹蹭笅鎵�鏈夌敤鎴�
+        //    string where = ValidatePageOptions(options);
 
-            int total = 0;
-            pageGridData = new PageGridData<Sys_Role>()
-            {
-                Rows = BaseDal.Db.Queryable<Sys_Role>().Where(x => roleIds.Contains(x.RoleId)).Where(where).OrderBy(x => x.RoleId).ToPageList(options.Page, options.Rows),
-                Total = total
-            };
+        //    int total = 0;
+        //    pageGridData = new PageGridData<Sys_Role>()
+        //    {
+        //        Rows = BaseDal.Db.Queryable<Sys_Role>().Where(x => roleIds.Contains(x.RoleId)).Where(where).OrderBy(x => x.RoleId).ToPageList(options.Page, options.Rows),
+        //        Total = total
+        //    };
 
-            return pageGridData;
-        }
+        //    return pageGridData;
+        //}
         /// <summary>
         /// 缂栬緫鏉冮檺鏃讹紝鑾峰彇鎸囧畾瑙掕壊鐨勬墍鏈夎彍鍗曟潈闄�
         /// </summary>
@@ -167,7 +167,9 @@
             string message = "";
             try
             {
-                if (!GetAllChildren(App.User.RoleId).Exists(x => x.Id == roleId))
+                var RoleNodes = GetAllChildren(App.User.RoleId);
+                RoleNodes = RoleNodes.Where(x => x.Id != App.User.RoleId).ToList();
+                if (!RoleNodes.Exists(x => x.Id == roleId) /*&& !App.User.IsRoleIdSuperAdmin(App.User.RoleId)*/)
                     return WebResponseContent.Instance.Error("娌℃湁鏉冮檺淇敼姝よ鑹茬殑鏉冮檺淇℃伅");
                 //褰撳墠鐢ㄦ埛鐨勬潈闄�
                 List<Permissions> permissions = _MenuRepository.GetPermissions(App.User.RoleId);
@@ -212,9 +214,9 @@
 
                 }
                 //鏇存柊鏉冮檺
-                _RoleAuthRepository.UpdateData(updateAuths);
+                _RoleAuthRepository.UpdateData(updateAuths.Where(x => x.AuthId > 0).ToList());
                 //鏂板鐨勬潈闄�
-                _RoleAuthRepository.AddData(updateAuths);
+                _RoleAuthRepository.AddData(updateAuths.Where(x => x.AuthId <= 0).ToList());
 
                 //鑾峰彇鏉冮檺鍙栨秷鐨勬潈闄�
                 int[] authIds = roleAuths.Where(x => userPermissions.Select(u => u.Id)

--
Gitblit v1.9.3