diff --git a/src/components/layout/Header.vue b/src/components/layout/Header.vue
index 8933d448..28843705 100644
--- a/src/components/layout/Header.vue
+++ b/src/components/layout/Header.vue
@@ -208,6 +208,7 @@ import {
handleSpecialValue
} from '@/utils/tools'
import { getNowTime, getSecond } from '@/utils/date-util'
+import _ from 'lodash'
export default {
name: 'Header',
@@ -301,41 +302,17 @@ export default {
} */
},
breadcrumb () {
- const breadcrumbMap = []
- this.curTabProp = this.$route.query.dimensionType ? this.$route.query.dimensionType : null
- this.$store.getters.menuList.forEach(menu => {
- if (this.$_.isEmpty(menu.children) && menu.route) {
- breadcrumbMap.push({
- name: this.$t(menu.i18n),
- path: menu.route,
- columnName: menu.columnName,
- columnValue: menu.columnValue
- })
- } else if (!this.$_.isEmpty(menu.children)) {
- menu.children.forEach(child => {
- breadcrumbMap.push({
- name: child.i18n ? this.$t(child.i18n) : child.name,
- parentName: menu.i18n ? this.$t(menu.i18n) : menu.name,
- path: child.route,
- columnName: child.columnName,
- columnValue: child.columnValue
- })
- })
- }
- })
- const breadcrumb = breadcrumbMap.find(b => this.route === b.path)
+ const breadcrumb = []
+ this.generateBreadcrumb(breadcrumb, this.$store.getters.menuList)
+
const thirdMenu = this.getUrlParam(this.curTabState.thirdMenu, '')
const fourthMenu = this.getUrlParam(this.curTabState.fourthMenu, '')
- let result = []
+
+ let result = [...breadcrumb]
if (fourthMenu) {
- result = breadcrumb ? [breadcrumb.parentName, breadcrumb.name, thirdMenu, fourthMenu] : []
+ result = [...result, thirdMenu, fourthMenu]
} else if (thirdMenu) {
- result = breadcrumb ? [breadcrumb.parentName, breadcrumb.name, thirdMenu] : []
- } else {
- result = breadcrumb ? [breadcrumb.parentName, breadcrumb.name] : []
- }
- if (!breadcrumb.parentName) {
- result = result.filter((r, i) => i > 0)
+ result = [...result, thirdMenu]
}
return result
},
@@ -359,6 +336,7 @@ export default {
}
},
async breadcrumb (n) {
+ this.curTabProp = this.$route.query.dimensionType ? this.$route.query.dimensionType : null
if (this.$route.params.typeName === fromRoute.dnsServiceInsights) {
if (this.dnsQtypeMapData.size === 0) {
this.dnsQtypeMapData = await getDnsMapData('dnsQtype')
@@ -399,6 +377,22 @@ export default {
}
},
methods: {
+ generateBreadcrumb (breadcrumb, menus) {
+ const menu = menus.find(m => m.route === this.route)
+ if (menu) {
+ breadcrumb.unshift(menu.i18n ? this.$t(menu.i18n) : menu.name)
+ return true
+ } else {
+ for (let i = 0; i < menus.length; i++) {
+ if (!_.isEmpty(menus[i].children)) {
+ if (this.generateBreadcrumb(breadcrumb, menus[i].children)) {
+ breadcrumb.unshift(menus[i].i18n ? this.$t(menus[i].i18n) : menus[i].name)
+ return true
+ }
+ }
+ }
+ }
+ },
handleClose () {
this.showChangePin = false
},
diff --git a/src/permission.js b/src/permission.js
index 3bcb833b..6d4144e1 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -36,11 +36,12 @@ router.beforeEach(async (to, from, next) => {
store.commit('setRoleList', roleList)
}
if (to.path) {
- if (hasMenu(store.getters.menuList, to.path)) {
+ next()
+ /* if (hasMenu(store.getters.menuList, to.path)) {
next()
} else {
ElMessage.error('No access') // TODO 国际化
- }
+ } */
}
}
} else {
diff --git a/src/router/index.js b/src/router/index.js
index 6216c4c0..275b000e 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -39,6 +39,10 @@ const routes = [
path: '/knowledgeBase',
component: () => import('@/views/setting/KnowledgeBase')
},
+ {
+ path: '/knowledgeBase/form',
+ component: () => import('@/views/setting/KnowledgeBaseForm')
+ },
{
name: 'Administration',
path: '/administration',
diff --git a/src/views/setting/KnowledgeBase.vue b/src/views/setting/KnowledgeBase.vue
index 3d904146..1e91be06 100644
--- a/src/views/setting/KnowledgeBase.vue
+++ b/src/views/setting/KnowledgeBase.vue
@@ -10,8 +10,8 @@
@search="search"
>
-
@@ -54,15 +54,8 @@ export default {
data () {
return {
url: api.knowledgeBase,
- tableId: 'knowledgeBaseTable', // 需要分页的table的id,用于记录每页数量
- blankObject: { // 空白对象
- tagName: '',
- buildIn: '',
- id: '',
- tagType: '',
- remark: '',
- updateTime: ''
- }
+ tableId: 'knowledgeBaseTable' // 需要分页的table的id,用于记录每页数量
+
}
},
methods: {
@@ -74,6 +67,14 @@ export default {
}
})
},
+ jumpToCreatePage () {
+ this.$router.push({
+ path: '/knowledgeBase/form',
+ query: {
+ t: +new Date()
+ }
+ })
+ },
getTableData () {
this.tools.loading = false
this.tableData = [
diff --git a/src/views/setting/KnowledgeBaseForm.vue b/src/views/setting/KnowledgeBaseForm.vue
new file mode 100644
index 00000000..cf8b05b2
--- /dev/null
+++ b/src/views/setting/KnowledgeBaseForm.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+