|
|
@@ -212,20 +212,28 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, onBeforeMount, onMounted, watch, reactive } from "vue";
|
|
|
+import {
|
|
|
+ ref,
|
|
|
+ onBeforeMount,
|
|
|
+ onMounted,
|
|
|
+ onUnmounted,
|
|
|
+ watch,
|
|
|
+ reactive,
|
|
|
+ nextTick,
|
|
|
+} from "vue";
|
|
|
import { useStore } from "vuex";
|
|
|
-
|
|
|
+import { ElMessage, ElMessageBox } from "element-plus";
|
|
|
import { useRouter } from "vue-router";
|
|
|
-
|
|
|
+import axios from "axios";
|
|
|
const store = useStore();
|
|
|
const router = useRouter();
|
|
|
|
|
|
+const api = ref();
|
|
|
const menuClose = ref(false);
|
|
|
const activeIndex = ref(1);
|
|
|
const acitveItems = reactive({ list: [] });
|
|
|
const roles = ref();
|
|
|
const roleList = ref();
|
|
|
-
|
|
|
watch(
|
|
|
() => store.state.user.collapse,
|
|
|
(newValue, oldValue) => {
|
|
|
@@ -252,7 +260,7 @@ const handleSelect = (key, keyPath) => {
|
|
|
// store.commit("indexUp", key);
|
|
|
// activeIndex.value = key;
|
|
|
// sessionStorage.setItem("sidevarItem", key);
|
|
|
- console.log(key, keyPath);
|
|
|
+ // console.log(key, keyPath);
|
|
|
|
|
|
router.push({
|
|
|
path: `${key}`,
|
|
|
@@ -267,98 +275,146 @@ const handleSelect = (key, keyPath) => {
|
|
|
// });
|
|
|
// }
|
|
|
};
|
|
|
-onBeforeMount(() => {
|
|
|
- activeIndex.value = sessionStorage.getItem("sidevarItem");
|
|
|
- roleList.value = JSON.parse(sessionStorage.getItem("roleList"));
|
|
|
- let classArr = [];
|
|
|
- let evaluateArr = [];
|
|
|
- let dataExchangeArr = [];
|
|
|
- let systemArr = [];
|
|
|
- let arr = [];
|
|
|
- roleList.value.forEach((item) => {
|
|
|
- if (
|
|
|
- item.routeName == "class" ||
|
|
|
- item.routeName == "grades" ||
|
|
|
- item.routeName == "post" ||
|
|
|
- item.routeName == "subject" ||
|
|
|
- item.routeName == "semester" ||
|
|
|
- item.routeName == "exam"
|
|
|
- ) {
|
|
|
- classArr.push({
|
|
|
- name: item.routeName,
|
|
|
- meta: { isAuth: true, title: item.name },
|
|
|
- });
|
|
|
- } else if (item.routeName == "teacher" || item.routeName == "student") {
|
|
|
- evaluateArr.push({
|
|
|
- name: item.routeName,
|
|
|
- meta: { isAuth: true, title: item.name },
|
|
|
- });
|
|
|
- } else if (
|
|
|
- item.routeName == "source" ||
|
|
|
- item.routeName == "task" ||
|
|
|
- item.routeName == "log"
|
|
|
- ) {
|
|
|
- dataExchangeArr.push({
|
|
|
- name: item.routeName,
|
|
|
- meta: { isAuth: true, title: item.name },
|
|
|
- });
|
|
|
- } else if (
|
|
|
- item.routeName == "info" ||
|
|
|
- item.routeName == "screenShot" ||
|
|
|
- item.routeName == "roles"
|
|
|
- ) {
|
|
|
- systemArr.push({
|
|
|
- name: item.routeName,
|
|
|
- meta: { isAuth: true, title: item.name },
|
|
|
+const roleListData = async () => {};
|
|
|
+const roleListChange = async () => {
|
|
|
+ const formDatas = new FormData();
|
|
|
+ nextTick(async () => {
|
|
|
+ formDatas.append("userId", "");
|
|
|
+ let resData = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/wanzai/api/smartAuthorGroup/queryUserAuthor",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
+ },
|
|
|
+ data: formDatas,
|
|
|
+ });
|
|
|
+ // console.log(resData, "查看当前用户权限");
|
|
|
+ if (resData.data.code == 200) {
|
|
|
+ let roleList = resData.data.data[0].treAuthor;
|
|
|
+ roleList.value = resData.data.data[0].treAuthor;
|
|
|
+ roleList.forEach((item) => {
|
|
|
+ let list = item.route.split("/");
|
|
|
+ item.routeName = list[2];
|
|
|
});
|
|
|
+ sessionStorage.setItem("roleList", JSON.stringify(roleList));
|
|
|
+ store.commit("ROLELIST", "");
|
|
|
+ console.log("能监听到", roleList.value);
|
|
|
+ {
|
|
|
+ let classArr = [];
|
|
|
+ let evaluateArr = [];
|
|
|
+ let dataExchangeArr = [];
|
|
|
+ let systemArr = [];
|
|
|
+ let arr = [];
|
|
|
+ roleList.value.forEach((item) => {
|
|
|
+ if (
|
|
|
+ item.routeName == "class" ||
|
|
|
+ item.routeName == "grades" ||
|
|
|
+ item.routeName == "post" ||
|
|
|
+ item.routeName == "subject" ||
|
|
|
+ item.routeName == "semester" ||
|
|
|
+ item.routeName == "exam"
|
|
|
+ ) {
|
|
|
+ classArr.push({
|
|
|
+ name: item.routeName,
|
|
|
+ meta: { isAuth: true, title: item.name },
|
|
|
+ });
|
|
|
+ } else if (
|
|
|
+ item.routeName == "teacher" ||
|
|
|
+ item.routeName == "student"
|
|
|
+ ) {
|
|
|
+ evaluateArr.push({
|
|
|
+ name: item.routeName,
|
|
|
+ meta: { isAuth: true, title: item.name },
|
|
|
+ });
|
|
|
+ } else if (
|
|
|
+ item.routeName == "source" ||
|
|
|
+ item.routeName == "task" ||
|
|
|
+ item.routeName == "log"
|
|
|
+ ) {
|
|
|
+ dataExchangeArr.push({
|
|
|
+ name: item.routeName,
|
|
|
+ meta: { isAuth: true, title: item.name },
|
|
|
+ });
|
|
|
+ } else if (
|
|
|
+ item.routeName == "info" ||
|
|
|
+ item.routeName == "screenShot" ||
|
|
|
+ item.routeName == "roles"
|
|
|
+ ) {
|
|
|
+ systemArr.push({
|
|
|
+ name: item.routeName,
|
|
|
+ meta: { isAuth: true, title: item.name },
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ arr.push({
|
|
|
+ name: item.routeName,
|
|
|
+ meta: { isAuth: true, title: item.name },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // console.log(classArr, "年级管理");
|
|
|
+ // console.log(evaluateArr, "综合素质评价");
|
|
|
+ // console.log(dataExchangeArr, "数据交换");
|
|
|
+ // console.log(systemArr, "系统设置");
|
|
|
+
|
|
|
+ if (classArr.length != 0) {
|
|
|
+ // arr.push({
|
|
|
+ // name: "classGrade",
|
|
|
+ // meta: { isAuth: true, title: "年级管理" },
|
|
|
+ // children: classArr,
|
|
|
+ // });
|
|
|
+ arr.splice(3, 0, {
|
|
|
+ name: "classGrade",
|
|
|
+ meta: { isAuth: true, title: "年级管理" },
|
|
|
+ children: classArr,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (evaluateArr.length != 0) {
|
|
|
+ arr.push({
|
|
|
+ name: "evaluate",
|
|
|
+ meta: { isAuth: true, title: "综合素质评价" },
|
|
|
+ children: evaluateArr,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (dataExchangeArr.length != 0) {
|
|
|
+ arr.push({
|
|
|
+ name: "dataExchange",
|
|
|
+ meta: { isAuth: true, title: "数据交换" },
|
|
|
+ children: dataExchangeArr,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (systemArr.length != 0) {
|
|
|
+ arr.push({
|
|
|
+ name: "system",
|
|
|
+ meta: { isAuth: true, title: "系统设置" },
|
|
|
+ children: systemArr,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ roles.value = arr;
|
|
|
+ // roles.value = store.state.user.roles;
|
|
|
+ // console.log(roles.value, "1111111111111111111111111111111");
|
|
|
+ }
|
|
|
} else {
|
|
|
- arr.push({
|
|
|
- name: item.routeName,
|
|
|
- meta: { isAuth: true, title: item.name },
|
|
|
+ ElMessage({
|
|
|
+ type: "error",
|
|
|
+ showClose: true,
|
|
|
+ message: resData.data.message,
|
|
|
+ center: true,
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- console.log(classArr, "年级管理");
|
|
|
- console.log(evaluateArr, "综合素质评价");
|
|
|
- console.log(dataExchangeArr, "数据交换");
|
|
|
- console.log(systemArr, "系统设置");
|
|
|
+};
|
|
|
+onBeforeMount(() => {
|
|
|
+ activeIndex.value = sessionStorage.getItem("sidevarItem");
|
|
|
+ api.value = store.state.user.api;
|
|
|
+ roleListChange();
|
|
|
+});
|
|
|
+onMounted(() => {
|
|
|
+ window.addEventListener("storage", roleListChange);
|
|
|
+});
|
|
|
|
|
|
- if (classArr.length != 0) {
|
|
|
- // arr.push({
|
|
|
- // name: "classGrade",
|
|
|
- // meta: { isAuth: true, title: "年级管理" },
|
|
|
- // children: classArr,
|
|
|
- // });
|
|
|
- arr.splice(3, 0, {
|
|
|
- name: "classGrade",
|
|
|
- meta: { isAuth: true, title: "年级管理" },
|
|
|
- children: classArr,
|
|
|
- });
|
|
|
- }
|
|
|
- if (evaluateArr.length != 0) {
|
|
|
- arr.push({
|
|
|
- name: "evaluate",
|
|
|
- meta: { isAuth: true, title: "综合素质评价" },
|
|
|
- children: evaluateArr,
|
|
|
- });
|
|
|
- }
|
|
|
- if (dataExchangeArr.length != 0) {
|
|
|
- arr.push({
|
|
|
- name: "dataExchange",
|
|
|
- meta: { isAuth: true, title: "数据交换" },
|
|
|
- children: dataExchangeArr,
|
|
|
- });
|
|
|
- }
|
|
|
- if (systemArr.length != 0) {
|
|
|
- arr.push({
|
|
|
- name: "system",
|
|
|
- meta: { isAuth: true, title: "系统设置" },
|
|
|
- children: systemArr,
|
|
|
- });
|
|
|
- }
|
|
|
- roles.value = arr;
|
|
|
- // roles.value = store.state.user.roles;
|
|
|
- console.log(roles.value);
|
|
|
+onUnmounted(() => {
|
|
|
+ window.removeEventListener("storage", roleListChange);
|
|
|
});
|
|
|
</script>
|
|
|
|