zhouwx
2025-05-19 457f9c817adef8b003ee6379f493798bae5cbb69
src/layout/menuSider.vue
@@ -21,21 +21,56 @@
</template>
<script>
import menuData from './menu'
import menu from './menu'
import { getUserInfo } from "@/util/storage";
export default {
  name: "menu-sider",
  data() {
    return {
      navData: menuData,
      openKeys: ['1','2','3','4']
      userInfo: {},
      navData: [],
      openKeys: ['1']
    };
  },
  created() {
    const t = this
    t.userInfo = getUserInfo()
    if(t.userInfo.role.id == 1){
      t.navData = menu.adminMenu
    }else if(t.userInfo.role.id == 3){
      if(t.userInfo.unittype == 1){
        t.navData = menu.workerMenu
      }else{
        t.navData = menu.workerMenu.map((i)=>{
          // if(i.Children.find(item=>item.MenuTitle == '常规群发')){
          //   i.Children = i.Children.filter(j=>j.MenuTitle !== '常规群发')
          // }
          if(i.Children.find(item=>item.MenuTitle == '短信记录')){
            i.Children = i.Children.filter(j=>j.MenuTitle !== '短信记录')
          }
          if(i.Children.find(item=>item.MenuTitle == '原通讯录')){
            i.Children = i.Children.filter(j=>j.MenuTitle !== '原通讯录')
          }
          return i
        })
      }
    }else{
      t.navData = menu.leaderMenu
    }
  },
  methods: {
    onOpenChange(openKeys) {
      if (openKeys.length !== 0) {
        this.openKeys = [openKeys[1]]
      // if (openKeys.length !== 0) {
      //   this.openKeys = [openKeys[1]]
      // } else {
      //   this.openKeys = ['']
      // }
      const rootSubmenuKeys = this.navData.map(i=>i.MenuID)
      const latestOpenKey = openKeys.find(key => this.openKeys.indexOf(key) === -1);
      if (rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
        this.openKeys = openKeys;
      } else {
        this.openKeys = ['']
        this.openKeys = latestOpenKey ? [latestOpenKey] : [];
      }
    },
  }