From ea982ec3f7877f648248e16ab8560b47f549c8f6 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 23 一月 2024 15:05:21 +0800
Subject: [PATCH] 添加新删除
---
src/views/layout/components/Sidebar/index.vue | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 106 insertions(+), 5 deletions(-)
diff --git a/src/views/layout/components/Sidebar/index.vue b/src/views/layout/components/Sidebar/index.vue
index 9ccb651..77d9e7f 100644
--- a/src/views/layout/components/Sidebar/index.vue
+++ b/src/views/layout/components/Sidebar/index.vue
@@ -1,6 +1,5 @@
<template>
- <el-scrollbar
- wrap-class="scrollbar-wrapper">
+ <el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu
:collapse="isCollapse"
:default-active="$route.path"
@@ -19,7 +18,10 @@
import { mapGetters } from 'vuex'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
-
+import { getCheckUnitType, getSpecialCheckTask } from "@/api/specialCheck"
+import { getUnDoneCheckTask } from '@/api/selfCheck'
+import lazyLoading from "../../../../utils/lazyLoading";
+import {initRouterNode} from "../../../../utils/router";
export default {
components: { SidebarItem },
computed: {
@@ -35,10 +37,109 @@
},
data() {
return {
- isCollapse: false
+ isCollapse: false,
+ unitType: null,
+ deadline: ''
}
},
- methods: {
+ created() {
+ const t = this
+ t.getCheckUnitType()
+ },
+ methods: {
+ async getCheckUnitType(){
+ const t = this
+ const constRoutes = []
+ let res = await getCheckUnitType()
+ if(res.data.code === "200"){
+ t.unitType = res.data.result.checkUnitType
+ if(t.unitType>0){
+ t.getSpecialCheckTask().then((res)=>{
+ const date = new Date(res);
+ if(date.getTime() > Date.now()){
+ for (let index in t.permission_routes){
+ if(t.permission_routes[index].title && t.permission_routes[index].title == '安全专项检查'){
+ t.permission_routes[index].title = t.permission_routes[index].title + '(1)'
+ }
+ }
+ t.initRouterNode(constRoutes, t.permission_routes)
+ t.$store.commit('SET_ROUTES', constRoutes.filter(item => item.children.length > 0))
+ }
+ })
+ }
+ }else{
+ t.getUncheckList().then((res)=>{
+ if(res[0].selfcheckStatus == 0 || (res[0].selfcheckStatus == 1 && res[0].rectifyStatus ==0)){
+ for (let index in t.permission_routes){
+ if(t.permission_routes[index].title && t.permission_routes[index].title == '专项检查'){
+ t.permission_routes[index].title = t.permission_routes[index].title + '(1)'
+ }
+ }
+ t.initRouterNode(constRoutes, t.permission_routes)
+ t.$store.commit('SET_ROUTES', constRoutes.filter(item => item.children.length > 0))
+ }
+ })
+ }
+ },
+
+ async getSpecialCheckTask(){
+ const t = this
+ const res = await getSpecialCheckTask()
+ if(res.data.code === "200"){
+ if(res.data.result.specialCheckTaskSimplifyInfos.length>0){
+ return res.data.result.specialCheckTaskSimplifyInfos[0].deadline
+ }
+ }else{
+ t.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ },
+
+ async getUncheckList(){
+ const t = this
+ let data = {pageIndex: 1,pageSize: 10}
+ let res = await getUnDoneCheckTask(data)
+ if(res.data.code === "200"){
+ if(res.data.result.records.length>0){
+ return res.data.result.records
+ }
+ }else{
+ t.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ },
+
+ initRouterNode(routers, data) {
+ for (var item of data) {
+ if (item.type !== 1) {
+ continue
+ }
+ const menu = Object.assign({}, item)
+
+ // menu.component = import(`@/views/${menu.component}.vue`)
+
+ menu.component = lazyLoading(menu.component)
+
+ if (item.children && item.children.length > 0) {
+ menu.children = []
+ initRouterNode(menu.children, item.children)
+ }
+
+ const meta = {}
+ // 给页面添加权限、标题、第三方网页链接
+ meta.permTypes = menu.permTypes ? menu.permTypes : null
+ meta.title = menu.title ? menu.title : null
+ meta.url = menu.url ? menu.url : null
+ if (menu.icon) { meta.icon = menu.icon }
+ menu.meta = meta
+
+ routers.push(menu)
+ }
+ }
}
}
</script>
--
Gitblit v1.9.2