Header.js 2.17 KB
Newer Older
1
import "./Header.less";
wanli's avatar
wanli committed
2
import { Layout } from "ant-design-vue";
3 4
import GlobalHeader from "@/components/GlobalHeader";
import TopNavHeader from "@/components/TopNavHeader";
wanli's avatar
wanli committed
5 6 7
import { mapGetters } from "vuex";
const { Header } = Layout;
const HeaderView = {
8 9 10 11 12 13 14 15
  props: ["menuData", "logo"],
  computed: {
    ...mapGetters({
      settings: "global/settings",
      collapsed: "global/getChangeLayoutCollapsed",
    }),
    sideMenuWidth() {
      return this.collapsed ? "80px" : "256px";
wanli's avatar
wanli committed
16
    },
17 18
    headerStyle() {
      const { layout, fixedHeader } = this.settings;
wanli's avatar
wanli committed
19

20 21 22 23 24 25 26 27 28 29
      let width =
        fixedHeader && layout !== "topmenu"
          ? `calc(100% - ${this.sideMenuWidth})`
          : "100%";
      let position = fixedHeader ? "fixed" : "static";
      return `width: ${width};position: ${position};top: 0;z-index: 1061;transition: width 0.2s;padding: 0;`;
    },
  },
  render() {
    const { menuData, logo } = this;
30
    const { layout, navTheme, leftMenuTitle } = this.settings;
31 32 33 34
    const isTop = layout === "topmenu";
    const isMobile = false;

    return (
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
      <Header style={this.headerStyle}>
        {isTop && !isMobile ? (
          // <TopNavHeader
          //     theme={navTheme}
          //     mode="horizontal"
          //     Authorized={Authorized}
          //     onCollapse={handleMenuCollapse}
          //     onNoticeClear={this.handleNoticeClear}
          //     onMenuClick={this.handleMenuClick}
          //     onNoticeVisibleChange={this.handleNoticeVisibleChange}
          //     {...this.props}
          // />
          <TopNavHeader
            theme={navTheme}
            layout={layout}
            mode="horizontal"
            menuData={menuData}
            logo={logo}
            title={leftMenuTitle}
          />
        ) : (
          // <GlobalHeader
          //     onCollapse={handleMenuCollapse}
          //     onNoticeClear={this.handleNoticeClear}
          //     onMenuClick={this.handleMenuClick}
          //     onNoticeVisibleChange={this.handleNoticeVisibleChange}
          //     {...this.props}
          // />
          <GlobalHeader theme={navTheme} layout={layout} />
        )}
      </Header>
66 67 68
    );
  },
};
wanli's avatar
wanli committed
69
export default HeaderView;