|
@@ -24,18 +24,18 @@
|
|
</el-dropdown-menu>
|
|
</el-dropdown-menu>
|
|
</el-dropdown>
|
|
</el-dropdown>
|
|
</span>
|
|
</span>
|
|
- <span>
|
|
|
|
- <el-dropdown @command="onLogOut">
|
|
|
|
- <span class="el-dropdown-link">
|
|
|
|
- 权限切换
|
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
|
- </span>
|
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
|
- <el-dropdown-item disabled>权限一</el-dropdown-item>
|
|
|
|
- <el-dropdown-item divided>权限二</el-dropdown-item>
|
|
|
|
- </el-dropdown-menu>
|
|
|
|
- </el-dropdown>
|
|
|
|
- </span>
|
|
|
|
|
|
+<!-- <span>-->
|
|
|
|
+<!-- <el-dropdown @command="onLogOut">-->
|
|
|
|
+<!-- <span class="el-dropdown-link">-->
|
|
|
|
+<!-- 权限切换-->
|
|
|
|
+<!-- <i class="el-icon-arrow-down el-icon--right"></i>-->
|
|
|
|
+<!-- </span>-->
|
|
|
|
+<!-- <el-dropdown-menu slot="dropdown">-->
|
|
|
|
+<!-- <el-dropdown-item disabled>权限一</el-dropdown-item>-->
|
|
|
|
+<!-- <el-dropdown-item divided>权限二</el-dropdown-item>-->
|
|
|
|
+<!-- </el-dropdown-menu>-->
|
|
|
|
+<!-- </el-dropdown>-->
|
|
|
|
+<!-- </span>-->
|
|
</div>
|
|
</div>
|
|
</header>
|
|
</header>
|
|
<section class="section">
|
|
<section class="section">
|
|
@@ -54,32 +54,32 @@
|
|
text-color="#fff"
|
|
text-color="#fff"
|
|
active-text-color="#ffd04b"
|
|
active-text-color="#ffd04b"
|
|
>
|
|
>
|
|
- <div v-for="(item, index1) in menuData " :key="index1">
|
|
|
|
|
|
+ <div v-for="(item, index1) in menu " :key="index1">
|
|
<el-submenu
|
|
<el-submenu
|
|
- v-if="item.childList && item.childList.length > 0"
|
|
|
|
|
|
+ v-if="item.children && item.children.length > 0"
|
|
:index="`${index1}`"
|
|
:index="`${index1}`"
|
|
>
|
|
>
|
|
<template slot="title">
|
|
<template slot="title">
|
|
- <i :class="item.iconClassName"></i>
|
|
|
|
- <span slot="title">{{ !menuCollapse? item.optionName : '' }}</span>
|
|
|
|
|
|
+<!-- <i :class="item.iconClassName"></i>-->
|
|
|
|
+ <span slot="title">{{ !menuCollapse? item.menuName : '' }}</span>
|
|
</template>
|
|
</template>
|
|
<el-menu-item
|
|
<el-menu-item
|
|
- v-for="(item1, index2) in item.childList"
|
|
|
|
|
|
+ v-for="(item1, index2) in item.children"
|
|
:key="`${index1}-${index2}`"
|
|
:key="`${index1}-${index2}`"
|
|
:index="`${index1}-${index2}`"
|
|
:index="`${index1}-${index2}`"
|
|
- :routerName="item1.routerName"
|
|
|
|
|
|
+ :routerName="item1.url"
|
|
@click="onClickMenu(item1)"
|
|
@click="onClickMenu(item1)"
|
|
- >{{ item1.optionName }}</el-menu-item>
|
|
|
|
|
|
+ >{{ item1.menuName }}</el-menu-item>
|
|
</el-submenu>
|
|
</el-submenu>
|
|
<el-menu-item
|
|
<el-menu-item
|
|
v-else
|
|
v-else
|
|
:index="`${index1}`"
|
|
:index="`${index1}`"
|
|
:disabled="item.disabled"
|
|
:disabled="item.disabled"
|
|
- :routerName="item.routerName"
|
|
|
|
|
|
+ :routerName="item.url"
|
|
@click="onClickMenu(item)"
|
|
@click="onClickMenu(item)"
|
|
>
|
|
>
|
|
- <i :class="item.iconClassName"></i>
|
|
|
|
- <span slot="title">{{ !menuCollapse? item.optionName : '' }}</span>
|
|
|
|
|
|
+<!-- <i :class="item.iconClassName"></i>-->
|
|
|
|
+ <span slot="title">{{ !menuCollapse? item.menuName : '' }}</span>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
</div>
|
|
</div>
|
|
</el-menu>
|
|
</el-menu>
|
|
@@ -97,15 +97,16 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { menuData } from "./mencCofig.js";
|
|
|
|
|
|
+// import { menuData } from "./mencCofig.js";
|
|
|
|
+import { mapState } from 'vuex';
|
|
|
|
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
// 菜单配置
|
|
// 菜单配置
|
|
- menuData,
|
|
|
|
|
|
+ menuData: [],
|
|
menuCollapse: false, //是否水平折叠收起菜单
|
|
menuCollapse: false, //是否水平折叠收起菜单
|
|
- defaultUnfoldedMenu: [menuData[0].index], // 默认展开第一项
|
|
|
|
|
|
+ defaultUnfoldedMenu: '', // 默认展开第一项
|
|
mainTitle: ''
|
|
mainTitle: ''
|
|
};
|
|
};
|
|
},
|
|
},
|
|
@@ -126,53 +127,14 @@ export default {
|
|
} else {
|
|
} else {
|
|
target = localStorage.getItem("target");
|
|
target = localStorage.getItem("target");
|
|
}
|
|
}
|
|
- // this.filterMenu(target);
|
|
|
|
},
|
|
},
|
|
- watch: {
|
|
|
|
- // "$route.query.target"(v) {
|
|
|
|
- // if (v) {
|
|
|
|
- // localStorage.setItem("target", v);
|
|
|
|
- // this.filterMenu(v);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
|
|
+ computed: {
|
|
|
|
+ ...mapState(['typeCode',]),
|
|
|
|
+ menu() {
|
|
|
|
+ return this.menuData;
|
|
|
|
+ }
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- /*
|
|
|
|
- http://hzsheep.ifarmcloud.com/butcher/#/home?target=定点屠宰智能管控
|
|
|
|
- http://hzsheep.ifarmcloud.com/butcher/#/home?target=产品制作智能监控
|
|
|
|
- http://hzsheep.ifarmcloud.com/butcher/#/home?target=鲜肉储运智能管控
|
|
|
|
- http://hzsheep.ifarmcloud.com/yield/#/home/firmInfo
|
|
|
|
- */
|
|
|
|
- /* 筛选菜单 */
|
|
|
|
- /*
|
|
|
|
- http://localhost:8080/#/home?target=定点屠宰智能管控
|
|
|
|
- http://localhost:8080/#/home?target=产品制作智能监控
|
|
|
|
- http://localhost:8080/#/home?target=鲜肉储运智能管控
|
|
|
|
- */
|
|
|
|
- // filterMenu(target) {
|
|
|
|
- // let path;
|
|
|
|
- // switch (target) {
|
|
|
|
- // case "定点屠宰智能管控":
|
|
|
|
- // var func = (item, index) => index == 0 || index == 1;
|
|
|
|
- // path = "firmBuy";
|
|
|
|
- // this.mainTitle = '湖羊屠宰智能管控'
|
|
|
|
- // break;
|
|
|
|
- // case "产品制作智能监控":
|
|
|
|
- // var func = (item, index) => index == 2;
|
|
|
|
- // path = "productInfo";
|
|
|
|
- // this.mainTitle = '产品制作智能监控'
|
|
|
|
- // break;
|
|
|
|
- // case "鲜肉储运智能管控":
|
|
|
|
- // var func = (item, index) => index == 3;
|
|
|
|
- // path = "dispatching";
|
|
|
|
- // this.mainTitle = '鲜肉储运智能管控'
|
|
|
|
- // break;
|
|
|
|
- // }
|
|
|
|
- // this.menuData = menuData.filter(func);
|
|
|
|
- // if (path && path != this.$route.name) {
|
|
|
|
- // this.$router.push({ name: path });
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
// 收取菜单按钮
|
|
// 收取菜单按钮
|
|
onMenuCollapse() {
|
|
onMenuCollapse() {
|
|
this.menuCollapse = !this.menuCollapse;
|
|
this.menuCollapse = !this.menuCollapse;
|
|
@@ -191,14 +153,31 @@ export default {
|
|
// 点击菜单项
|
|
// 点击菜单项
|
|
onClickMenu(item) {
|
|
onClickMenu(item) {
|
|
// 如果要跳转的路由和当前路由一致就 return
|
|
// 如果要跳转的路由和当前路由一致就 return
|
|
- if (this.$router.history.current.name == item.routerName) return;
|
|
|
|
|
|
+ if (this.$router.history.current.name == item.menuName) return;
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- name: item.routerName
|
|
|
|
|
|
+ name: item.url
|
|
});
|
|
});
|
|
},
|
|
},
|
|
onLogOut() {
|
|
onLogOut() {
|
|
this.$router.replace("login");
|
|
this.$router.replace("login");
|
|
|
|
+ },
|
|
|
|
+ init() {
|
|
|
|
+ let accountName = localStorage.getItem('accountName');
|
|
|
|
+ let that = this;
|
|
|
|
+ this.$axios.post(`http://121.37.169.186:8081/auth/getMyMenu?accountName=${accountName}`)
|
|
|
|
+ .then(res => {
|
|
|
|
+ if(res.data.code === 10000) {
|
|
|
|
+ res.data.data.forEach(item => {
|
|
|
|
+ if(item.menuName === that.typeCode) {
|
|
|
|
+ that.menuData = item.children;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ mounted() {
|
|
|
|
+ this.init();
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|