From eb3bb127d6aeab3cc80d4954ec485b320ee24330 Mon Sep 17 00:00:00 2001
From: pengjun <158915633@qq.com>
Date: Wed, 24 Apr 2024 17:02:37 +0800
Subject: [PATCH] moreMenu
---
 src/components/sumDoctorCheck/ButtonList.vue |   3 +-
 src/views/Home.vue                           | 100 ++++++++++++++++++-
 2 files changed, 97 insertions(+), 6 deletions(-)
diff --git a/src/components/sumDoctorCheck/ButtonList.vue b/src/components/sumDoctorCheck/ButtonList.vue
index 6ba06c5..a7c93c4 100644
--- a/src/components/sumDoctorCheck/ButtonList.vue
+++ b/src/components/sumDoctorCheck/ButtonList.vue
@@ -260,7 +260,7 @@ export default {
                     console.log("audit", res.data);
                     if (res.code > -1) {
                         this.dataTransOpts.tableS.patient_register.isAudit = 'Y';
-                        // this.$message({ type: "success", message: `总检审核成功` });
+                        // this.dataTransOpts.refresh.patient_register.S++
                     }
                 })
                 .catch((err) => {
@@ -285,6 +285,7 @@ export default {
                     if (res.code != -1) {
                         this.dataTransOpts.tableS.patient_register.isAudit = 'N';
                         // this.$message({ type: "success", message: `取消总检审核成功` });
+                        // this.dataTransOpts.refresh.patient_register.S++
                     }
                 })
                 .catch((err) => {
diff --git a/src/views/Home.vue b/src/views/Home.vue
index b2a27f1..d734197 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -6,7 +6,7 @@
           
           
@@ -284,10 +320,12 @@
 import router from "@/router";
 import { getapi, postapi } from "@/api/api";
 import { mapState } from "vuex";
+import { getTreeNode } from "../utlis/tree"
 
 export default {
   data() {
     return {
+      activeIndex: '0',
       menuPriv: [], // 菜单权限
       className: '',
       index: 1,
@@ -331,6 +369,14 @@ export default {
     this.getUserMenuPriv()
   },
   methods: {
+    // 菜单操作
+    handleSelect(key, keyPath) {
+      // console.log(key, keyPath);
+      // tree: any, childNodeName: any, idName: any, idVal: any
+      let node = getTreeNode(this.menuPriv,"treeChildren","id",key)
+      if(node) this.$router.push({ path: node.routeUrl });
+      
+    },
     //获取用户所有权限
     getUserAllPriv() {
       getapi('/api/app/menuinfo/getmymenuinfolist').then(res => {
@@ -345,9 +391,28 @@ export default {
       getapi('/api/app/menuinfo/getmymenuinfotreelist').then(res => {
         if (res.code > -1) {
           this.menuPriv = res.data
-          this.menuPriv = this.menuPriv.filter(e => {
-            return e.menuType == '0' || e.menuType == '1'
-          })
+          this.menuPriv = this.menuFilter(this.menuPriv)
+          console.log('this.menuPriv', this.menuPriv)
+        }
+      })
+    },
+
+    // 过滤菜单
+    menuFilter(menu){
+      return menu.filter(e => {
+        if(e.menuType == '0' || e.menuType == '1'){
+          if(e.treeChildren && e.treeChildren.length > 0){
+            let temp = e.treeChildren.filter(e1 => {return e1.menuType == '0' || e1.menuType == '1'})
+            if(temp.length > 0){
+              e.menuType = '0'
+              e.treeChildren = this.menuFilter(e.treeChildren)
+            }else{
+              e.menuType = '1'
+            }
+          }else{
+            e.menuType = '1'
+          }
+          return e
         }
       })
     },
@@ -400,7 +465,7 @@ export default {
       window.sessionStorage.clear();
       this.$router.push({ path: "/login" });
     },
-    
+
     //打开客户端调试工具
     toggleDevTools() {
       if (!this.$peisAPI) {
@@ -683,6 +748,31 @@ export default {
   left: 0;
 }
 
+::v-deep .el-menu--horizontal>.el-submenu .el-submenu__title {
+  font-size: 14px;
+  height: 47px;
+  line-height: 47px;
+}
+
+::v-deep .el-menu--horizontal>.el-menu-item {
+  height: 40px;
+  line-height: 40px;
+}
+
+::v-deep .el-dropdown-menu__item,
+.el-menu-item {
+  font-size: 14px;
+  padding: 0 5px;
+}
+
+::v-deep .el-submenu__title {
+  padding: 0 0 0 5px;
+}
+
+::v-deep .el-icon-arrow-down:before {
+  content: "";
+}
+
 /* .project-dropdown{
   max-height:300px;
   overflow: auto;