调整前端代码格式符合ESLint规范
This commit is contained in:
+105
-107
@@ -20,115 +20,113 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Header from '@/components/Header';
|
||||
import Menu from '@/components/Menu';
|
||||
import Header from '@/components/Header'
|
||||
import Menu from '@/components/Menu'
|
||||
|
||||
export default {
|
||||
name: "Layout",
|
||||
components: {
|
||||
Header,
|
||||
Menu
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menuData: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route.path': {
|
||||
handler(val) {
|
||||
this.getMenu();
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleTree(arr, parentId) {
|
||||
let cloneData = JSON.parse(JSON.stringify(arr)); // 对源数据深度克隆
|
||||
return cloneData.filter((father) => {
|
||||
let branchArr = cloneData.filter(child => father.id === child.parentId); //返回每一项的子级数组
|
||||
father.children = branchArr.length > 0 ? branchArr : null; //如果存在子级,则给父级添加一个children属性,并赋值
|
||||
return father.parentId === parentId; //返回第一层
|
||||
})
|
||||
},
|
||||
addLevel(data, level) {
|
||||
data.forEach(item => {
|
||||
item.level = level;
|
||||
if (item.children) {
|
||||
this.addLevel(item.children, level + 1);
|
||||
}
|
||||
});
|
||||
return data;
|
||||
},
|
||||
getMenu() {
|
||||
if (!this.$route.query.id) {
|
||||
return this.$router.push({path: '/report/list', query:{"id": "AEHJB8YNJ3"}});
|
||||
}
|
||||
let data = JSON.parse(JSON.stringify(this.$store.state.menuData));
|
||||
let menu = data.filter(item => item.parentId === this.$route.query.id);
|
||||
let menuData = [];
|
||||
let menuFun = (menu) => {
|
||||
menuData = [...menuData, ...menu];
|
||||
let parentIds = menu.map(item => item.id);
|
||||
if (parentIds.length) {
|
||||
menuFun(data.filter(item => parentIds.find(el => el === item.parentId)))
|
||||
}
|
||||
};
|
||||
menuFun(menu);
|
||||
let treeData = this.handleTree(menuData, this.$route.query.id);
|
||||
this.menuData = this.addLevel(treeData, 1);
|
||||
},
|
||||
getSysMenu() {
|
||||
this.$api.menu.getSysMenu({roleId: this.$store.state.userInfo.roleIdList[0]}).then(({data}) => {
|
||||
debugger
|
||||
if (data === null) {
|
||||
data = []
|
||||
}
|
||||
data = data.sort((a, b) => a.sort - b.sort);
|
||||
let menu = data.filter(item => item.belong);
|
||||
let menuData = [];
|
||||
let menuFun = (menu) => {
|
||||
menuData = [...menuData, ...menu]
|
||||
let parentIds = menu.map(item => item.parentId);
|
||||
if (parentIds.length) {
|
||||
menuFun(data.filter(item => parentIds.find(el => el === item.id)))
|
||||
}
|
||||
}
|
||||
menuFun(menu);
|
||||
|
||||
let treeData = menuData.map(item => ({
|
||||
id: item.id,
|
||||
parentId: item.parentId,
|
||||
label: item.name,
|
||||
href: item.href,
|
||||
icon: item.iconHref,
|
||||
isCollage: true,
|
||||
belong: item.belong,
|
||||
isUrl: item.isUrl
|
||||
}));
|
||||
// 去重
|
||||
let obj = {};
|
||||
treeData.forEach(item => {
|
||||
obj[item.id] = item;
|
||||
})
|
||||
debugger
|
||||
this.$store.commit('saveMenuData', Object.values(obj));
|
||||
|
||||
this.getMenu();
|
||||
});
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 判定菜单是否存在,存在则不加载
|
||||
// let menuData = this.$store.state.menuData;
|
||||
// debugger
|
||||
// if (menuData.length == 0) {
|
||||
this.getSysMenu();
|
||||
// } else {
|
||||
// this.getMenu();
|
||||
// }
|
||||
}
|
||||
export default {
|
||||
name: 'Layout',
|
||||
components: {
|
||||
Header,
|
||||
Menu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
menuData: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route.path': {
|
||||
handler (val) {
|
||||
this.getMenu()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleTree (arr, parentId) {
|
||||
const cloneData = JSON.parse(JSON.stringify(arr)) // 对源数据深度克隆
|
||||
return cloneData.filter((father) => {
|
||||
const branchArr = cloneData.filter(child => father.id === child.parentId) // 返回每一项的子级数组
|
||||
father.children = branchArr.length > 0 ? branchArr : null // 如果存在子级,则给父级添加一个children属性,并赋值
|
||||
return father.parentId === parentId // 返回第一层
|
||||
})
|
||||
},
|
||||
addLevel (data, level) {
|
||||
data.forEach(item => {
|
||||
item.level = level
|
||||
if (item.children) {
|
||||
this.addLevel(item.children, level + 1)
|
||||
}
|
||||
})
|
||||
return data
|
||||
},
|
||||
getMenu () {
|
||||
if (!this.$route.query.id) {
|
||||
return this.$router.push({ path: '/report/list', query: { id: 'AEHJB8YNJ3' } })
|
||||
}
|
||||
const data = JSON.parse(JSON.stringify(this.$store.state.menuData))
|
||||
const menu = data.filter(item => item.parentId === this.$route.query.id)
|
||||
let menuData = []
|
||||
const menuFun = (menu) => {
|
||||
menuData = [...menuData, ...menu]
|
||||
const parentIds = menu.map(item => item.id)
|
||||
if (parentIds.length) {
|
||||
menuFun(data.filter(item => parentIds.find(el => el === item.parentId)))
|
||||
}
|
||||
}
|
||||
menuFun(menu)
|
||||
const treeData = this.handleTree(menuData, this.$route.query.id)
|
||||
this.menuData = this.addLevel(treeData, 1)
|
||||
},
|
||||
getSysMenu () {
|
||||
this.$api.menu.getSysMenu({ roleId: this.$store.state.userInfo.roleIdList[0] }).then(({ data }) => {
|
||||
if (data === null) {
|
||||
data = []
|
||||
}
|
||||
data = data.sort((a, b) => a.sort - b.sort)
|
||||
const menu = data.filter(item => item.belong)
|
||||
let menuData = []
|
||||
const menuFun = (menu) => {
|
||||
menuData = [...menuData, ...menu]
|
||||
const parentIds = menu.map(item => item.parentId)
|
||||
if (parentIds.length) {
|
||||
menuFun(data.filter(item => parentIds.find(el => el === item.id)))
|
||||
}
|
||||
}
|
||||
menuFun(menu)
|
||||
|
||||
const treeData = menuData.map(item => ({
|
||||
id: item.id,
|
||||
parentId: item.parentId,
|
||||
label: item.name,
|
||||
href: item.href,
|
||||
icon: item.iconHref,
|
||||
isCollage: true,
|
||||
belong: item.belong,
|
||||
isUrl: item.isUrl
|
||||
}))
|
||||
// 去重
|
||||
const obj = {}
|
||||
treeData.forEach(item => {
|
||||
obj[item.id] = item
|
||||
})
|
||||
this.$store.commit('saveMenuData', Object.values(obj))
|
||||
|
||||
this.getMenu()
|
||||
})
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// 判定菜单是否存在,存在则不加载
|
||||
// let menuData = this.$store.state.menuData;
|
||||
// debugger
|
||||
// if (menuData.length == 0) {
|
||||
this.getSysMenu()
|
||||
// } else {
|
||||
// this.getMenu();
|
||||
// }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
Reference in New Issue
Block a user