diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/role/RoleServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/role/RoleServiceImpl.java index fe060a9..2f2ffc8 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/role/RoleServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/role/RoleServiceImpl.java @@ -48,6 +48,7 @@ public class RoleServiceImpl implements RoleService { List roleDOs = roleIds.stream().map(roleId2RoleDO::get).toList(); List user2RoleKeys = roleDOs.stream().map(RoleDO::getRoleKey).toList(); log.info("将用户 {} 的角色同步到 redis 中, {}", userId, roleKeys); + // 不要使用 JsonUtils.toJsonString(user2RoleKeys); 会造成二次序列化 redisTemplate.opsForValue().set(RoleConstants.buildUserRoleKey(userId), user2RoleKeys); }); } diff --git a/enlish-vue/src/main.js b/enlish-vue/src/main.js index b7624b7..b8fea76 100644 --- a/enlish-vue/src/main.js +++ b/enlish-vue/src/main.js @@ -1,5 +1,6 @@ import '@/assets/main.css' import 'nprogress/nprogress.css' +import 'element-plus/dist/index.css' // 导入路由 import router from '@/router' // 导入全局路由守卫 diff --git a/enlish-vue/src/pages/class.vue b/enlish-vue/src/pages/class.vue index 87fa643..3876038 100644 --- a/enlish-vue/src/pages/class.vue +++ b/enlish-vue/src/pages/class.vue @@ -35,7 +35,7 @@ -
+
学生查询
@@ -96,56 +96,12 @@ row-key="id" :current-row-key="selectedGradeId" @row-click="onGradeRowClick"> - - -
-
- 新增年级 -
- -
- -
-
单元列表
- - - - - - - - - -
- -
-
- 新增单元 -
-
@@ -169,6 +125,7 @@ import LessonPlanDialog from '@/layouts/components/LessonPlanDialog.vue' import { getUnitList, deleteUnit } from '@/api/unit' import AddUnitDialog from '@/layouts/components/AddUnitDialog.vue' import { useRouter } from 'vue-router' +import { ElMessageBox } from 'element-plus' const classes = ref([]) const pageNo = ref(1) @@ -311,6 +268,11 @@ function onGradeRowClick(row) { } async function onDeleteStudent(row) { try { + await ElMessageBox.confirm('确认删除该学生?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }) await deleteStudent(row.id) ElMessage.success('删除成功') if (selectedStudentIds.value?.length) { @@ -319,11 +281,17 @@ async function onDeleteStudent(row) { } await fetchStudents() } catch (e) { + if (e === 'cancel' || e === 'close') return ElMessage.error('删除失败') } } async function onDeleteClass(row) { try { + await ElMessageBox.confirm('确认删除该班级?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }) await deleteClass(row.id) ElMessage.success('删除成功') if (selectedClassId.value === row.id) { @@ -333,6 +301,7 @@ async function onDeleteClass(row) { } await fetchClasses() } catch (e) { + if (e === 'cancel' || e === 'close') return ElMessage.error('删除失败') } }