diff --git a/GQA-BACKEND/service/private/api.go b/GQA-BACKEND/service/private/api.go index 9b95099..94356f5 100644 --- a/GQA-BACKEND/service/private/api.go +++ b/GQA-BACKEND/service/private/api.go @@ -47,15 +47,21 @@ func (s *ServiceApi) EditApi(toEditApi model.SysApi) (err error) { Find(&oldRoleApiList).Error; err != nil { return err } - // 将oldRoleApiList中的ApiGroup、ApiMethod、ApiPath替换成toEditApi中的ApiGroup、ApiMethod、ApiPath并保存回数据库 + if err = tx.Where("api_group = ? and api_method = ? and api_path = ?", oldApi.ApiGroup, oldApi.ApiMethod, oldApi.ApiPath). + Delete(&model.SysRoleApi{}).Error; err != nil { + return err + } + var newRoleApiList []model.SysRoleApi for _, oldRoleApi := range oldRoleApiList { - oldRoleApi.ApiGroup = toEditApi.ApiGroup - oldRoleApi.ApiMethod = toEditApi.ApiMethod - oldRoleApi.ApiPath = toEditApi.ApiPath - if err = tx.Where("api_group = ? and api_method = ? and api_path = ?", oldApi.ApiGroup, oldApi.ApiMethod, oldApi.ApiPath). - Updates(&oldRoleApi).Error; err != nil { - return err - } + newRoleApiList = append(newRoleApiList, model.SysRoleApi{ + RoleCode: oldRoleApi.RoleCode, + ApiGroup: oldApi.ApiGroup, + ApiMethod: oldApi.ApiMethod, + ApiPath: oldApi.ApiPath, + }) + } + if err = tx.Create(&newRoleApiList).Error; err != nil { + return err } return nil }) diff --git a/GQA-BACKEND/service/private/menu.go b/GQA-BACKEND/service/private/menu.go index e30175d..d946c86 100644 --- a/GQA-BACKEND/service/private/menu.go +++ b/GQA-BACKEND/service/private/menu.go @@ -51,6 +51,9 @@ func (s *ServiceMenu) EditMenu(toEditMenu model.SysMenu) (err error) { if sysMenu.Stable == "yesNo_yes" { return errors.New(utils.GqaI18n("StableCantDo") + toEditMenu.Title) } + if sysMenu.Name != toEditMenu.Name { + return errors.New(utils.GqaI18n("EditFailed") + sysMenu.Name) + } return global.GqaDb.Transaction(func(tx *gorm.DB) error { //先删除关联button表中menu_name的记录 var menuButton model.SysButton diff --git a/GQA-BACKEND/service/private/user.go b/GQA-BACKEND/service/private/user.go index 23f95a0..ad5f8ac 100644 --- a/GQA-BACKEND/service/private/user.go +++ b/GQA-BACKEND/service/private/user.go @@ -56,7 +56,7 @@ func (s *ServiceUser) EditUser(toEditUser model.SysUser) (err error) { return err } toEditUser.Password = sysUser.Password - //err = global.GqaDb.Updates(&toEditUser).Error + //err = tx.Updates(&toEditUser).Error err = tx.Save(&toEditUser).Error return err }) diff --git a/GQA-FRONTEND/src/pages/System/Menu/modules/recordDetail.vue b/GQA-FRONTEND/src/pages/System/Menu/modules/recordDetail.vue index 2d8ba7e..009a4ad 100644 --- a/GQA-FRONTEND/src/pages/System/Menu/modules/recordDetail.vue +++ b/GQA-FRONTEND/src/pages/System/Menu/modules/recordDetail.vue @@ -29,10 +29,9 @@
+ :label="$t('Menu') + $t('Name')" :rules="[val => val && val.length > 0 || $t('NeetInput')]" />