|
@@ -1,12 +1,19 @@
|
|
|
<template>
|
|
|
<div class="basic-com">
|
|
|
<div class="bc-top-search">
|
|
|
- <div class="bc-top-change" v-if="isSidebar" title="切换正常导航" @click="changeSidebar">
|
|
|
- <i class="el-icon-refresh"></i>
|
|
|
+ <div class="bc-top-change" v-if="isSidebar" @click="changeSidebar">
|
|
|
+ <i class="icon-jczj-toggle"></i>
|
|
|
+ 切换
|
|
|
</div>
|
|
|
<el-autocomplete value-key="name" :trigger-on-focus="false" placeholder="请输入关键字" @select="gotoMenuTop" :fetch-suggestions="FindMenu" v-model="keyValue" class="smp-normal-input">
|
|
|
<el-button slot="append" icon="el-icon-search"></el-button>
|
|
|
</el-autocomplete>
|
|
|
+ <div class="bc-search-bread" v-if="searchBreadList.length">
|
|
|
+ <i class="el-icon-close" @click="removeSearchBread"></i>
|
|
|
+ <el-breadcrumb class="bcsb-crumb" separator-class="el-icon-arrow-right">
|
|
|
+ <el-breadcrumb-item v-for="(item,index) in searchBreadList" :key="index">{{item.name}}</el-breadcrumb-item>
|
|
|
+ </el-breadcrumb>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="bc-bd">
|
|
|
<div class="bc-wraper scrollbar-transparent">
|
|
@@ -29,6 +36,9 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
+ iconIndex: 0,
|
|
|
+ sidebarMenuItem: {},
|
|
|
+ searchBreadList: [],
|
|
|
keyValue: '',
|
|
|
list: [
|
|
|
// {
|
|
@@ -131,6 +141,10 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+ removeSearchBread () {
|
|
|
+ this.removeSearchBreadLight()
|
|
|
+ this.searchBreadList = []
|
|
|
+ },
|
|
|
changeSidebar () {
|
|
|
this.$parent.gotoNormalSidebar()
|
|
|
},
|
|
@@ -142,12 +156,67 @@ export default {
|
|
|
} else {
|
|
|
this.getBasicComList()
|
|
|
}
|
|
|
+ this.list.forEach((e) => {
|
|
|
+ e.onSearchStatus = false
|
|
|
+ })
|
|
|
},
|
|
|
getBasicComList () {
|
|
|
+ // let dataArr = [
|
|
|
+ // {
|
|
|
+ // name: '智能工具',
|
|
|
+ // children: ['NLP文本分析', '可视化分析推演系统', '智慧新搜索', '多维解析', '数据魔方', '统一时间服务', '系统协同工具', '智能识别', '知识图谱', '数据可视化服务', '流程表单服务'],
|
|
|
+ // icon: ['wbfx', 'kshfxtyxt', 'zhxss', 'dwjx', 'sjmf', 'tysjfw', 'xtxtgj', 'znsb', 'zstp', 'sjkshfw', 'lcbdfw']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '模型工具',
|
|
|
+ // children: ['模型管理', '智能标签'],
|
|
|
+ // icon: ['mxgl', 'znbq']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '时空信息服务',
|
|
|
+ // children: ['三维数据加载', '三维数据出图', '三维特效模拟', '标准地理要素服务', '标准影像数据服务', '标准矢量瓦片服务', '三维地形分析', '标准地形数据服务', '标准三维模型服务', '用户角色管理', '用户权限管理', '三维底层渲染', '标准倾斜影像服务', 'OGCWMTS服务', 'OGCWFS服务', 'OGCWMS服务', '全景地理信息服务', '室内外一体化'],
|
|
|
+ // icon: ['swsjjz', 'swsjct', 'swtxmn', 'bzdlys', 'bzyxsj', 'bzslwp', 'swdxfx', 'bzdxsj', 'bzswmx', 'yhjsgl', 'yhqxgl', 'swdcxr', 'bzqxyx', 'wmts', 'wfs', 'wms', 'qjdlxx', 'snwyth']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '认证服务',
|
|
|
+ // children: ['统一用户服务', '单点登录服务', '用户信息认证', '组织机构认证', '统一权限认证'],
|
|
|
+ // icon: ['tyyhfw', 'dddlfw', 'yhxxrz', 'zzjgrz', 'tyqxrz']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '离线计算服务',
|
|
|
+ // children: ['数据装载', '计算模型框架', '实时流写入'],
|
|
|
+ // icon: ['sjzz', 'jsmxkj', 'sslxr']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '流计算服务',
|
|
|
+ // children: ['加入处理引擎', '流计算开发', '辅助服务'],
|
|
|
+ // icon: ['jrclyq', 'ljskf', 'fzfw']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '全息档案',
|
|
|
+ // children: ['人员档案', '车辆档案', '企业档案', '店铺档案', '事件档案', '档案自定义', '在线发布', '档案维护'],
|
|
|
+ // icon: ['ryda', 'clda', 'qyda', 'dpda', 'sjda', 'dazdy', 'zxfb', 'dawh']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '中间件服务',
|
|
|
+ // children: ['消息队列MQ', '分布式应用开发服务', 'API网关'],
|
|
|
+ // icon: ['xxdl', 'fbsyykf', 'apiwg']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '平台日志服务',
|
|
|
+ // children: ['系统日志', '用户日志', '异常日志', '操作日志'],
|
|
|
+ // icon: ['xtrz', 'yhrz', 'ycrz', 'czrz']
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: '数据分发服务',
|
|
|
+ // children: ['一站式分发处理', '分发订阅', '数据归档'],
|
|
|
+ // icon: ['yzsff', 'ffdy', 'sjgd']
|
|
|
+ // }
|
|
|
+ // ]
|
|
|
let dataArr = [
|
|
|
{
|
|
|
name: '智能工具',
|
|
|
- children: ['NLP文本分析', '可视化分析推演系统', '智慧新搜索', '多维解析', '数据魔方', '统一时间服务', '系统协同工具', '智能识别', '知识图谱', '数据可视化服务', '流程表单服务'],
|
|
|
+ children: ['NLP文本分析', '可视化分析推演系统', '智慧新搜索', '多维解析'],
|
|
|
icon: ['wbfx', 'kshfxtyxt', 'zhxss', 'dwjx', 'sjmf', 'tysjfw', 'xtxtgj', 'znsb', 'zstp', 'sjkshfw', 'lcbdfw']
|
|
|
},
|
|
|
{
|
|
@@ -156,44 +225,14 @@ export default {
|
|
|
icon: ['mxgl', 'znbq']
|
|
|
},
|
|
|
{
|
|
|
- name: '时空信息服务',
|
|
|
- children: ['三维数据加载', '三维数据出图', '三维特效模拟', '标准地理要素服务', '标准影像数据服务', '标准矢量瓦片服务', '三维地形分析', '标准地形数据服务', '标准三维模型服务', '用户角色管理', '用户权限管理', '三维底层渲染', '标准倾斜影像服务', 'OGCWMTS服务', 'OGCWFS服务', 'OGCWMS服务', '全景地理信息服务', '室内外一体化'],
|
|
|
- icon: ['swsjjz', 'swsjct', 'swtxmn', 'bzdlys', 'bzyxsj', 'bzslwp', 'swdxfx', 'bzdxsj', 'bzswmx', 'yhjsgl', 'yhqxgl', 'swdcxr', 'bzqxyx', 'wmts', 'wfs', 'wms', 'qjdlxx', 'snwyth']
|
|
|
- },
|
|
|
- {
|
|
|
- name: '认证服务',
|
|
|
- children: ['统一用户服务', '单点登录服务', '用户信息认证', '组织机构认证', '统一权限认证'],
|
|
|
- icon: ['tyyhfw', 'dddlfw', 'yhxxrz', 'zzjgrz', 'tyqxrz']
|
|
|
- },
|
|
|
- {
|
|
|
- name: '离线计算服务',
|
|
|
- children: ['数据装载', '计算模型框架', '实时流写入'],
|
|
|
- icon: ['sjzz', 'jsmxkj', 'sslxr']
|
|
|
- },
|
|
|
- {
|
|
|
- name: '流计算服务',
|
|
|
- children: ['加入处理引擎', '流计算开发', '辅助服务'],
|
|
|
- icon: ['jrclyq', 'ljskf', 'fzfw']
|
|
|
- },
|
|
|
- {
|
|
|
- name: '全息档案',
|
|
|
- children: ['人员档案', '车辆档案', '企业档案', '店铺档案', '事件档案', '档案自定义', '在线发布', '档案维护'],
|
|
|
- icon: ['ryda', 'clda', 'qyda', 'dpda', 'sjda', 'dazdy', 'zxfb', 'dawh']
|
|
|
- },
|
|
|
- {
|
|
|
- name: '中间件服务',
|
|
|
- children: ['消息队列MQ', '分布式应用开发服务', 'API网关'],
|
|
|
- icon: ['xxdl', 'fbsyykf', 'apiwg']
|
|
|
- },
|
|
|
- {
|
|
|
- name: '平台日志服务',
|
|
|
- children: ['系统日志', '用户日志', '异常日志', '操作日志'],
|
|
|
- icon: ['xtrz', 'yhrz', 'ycrz', 'czrz']
|
|
|
+ name: '模型工具',
|
|
|
+ children: ['模型管理', '智能标签'],
|
|
|
+ icon: ['mxgl', 'znbq']
|
|
|
},
|
|
|
{
|
|
|
- name: '数据分发服务',
|
|
|
- children: ['一站式分发处理', '分发订阅', '数据归档'],
|
|
|
- icon: ['yzsff', 'ffdy', 'sjgd']
|
|
|
+ name: '模型工具',
|
|
|
+ children: ['模型管理', '智能标签'],
|
|
|
+ icon: ['mxgl', 'znbq']
|
|
|
}
|
|
|
]
|
|
|
let list = []
|
|
@@ -266,21 +305,24 @@ export default {
|
|
|
// icon: 'iconName'
|
|
|
// },
|
|
|
let list = []
|
|
|
- let iconIndex = 0
|
|
|
let iconArr = this.iconArr
|
|
|
arr.forEach((e) => {
|
|
|
if (!e.noMenu) {
|
|
|
+ let url = e.path ? ('/' + e.path) : ''
|
|
|
+ if (!e.url && lv === 0) {
|
|
|
+ url = ''
|
|
|
+ }
|
|
|
let obj = {
|
|
|
...e,
|
|
|
lv: lv,
|
|
|
id: e.UUID,
|
|
|
pid: e.parentUUID,
|
|
|
- url: e.path ? ('/' + e.path) : '',
|
|
|
+ url: url,
|
|
|
style: {},
|
|
|
- icon: iconArr[iconIndex++]
|
|
|
+ icon: iconArr[this.iconIndex++]
|
|
|
}
|
|
|
- if (iconIndex === iconArr.length) {
|
|
|
- iconIndex = 0
|
|
|
+ if (this.iconIndex === iconArr.length) {
|
|
|
+ this.iconIndex = 0
|
|
|
}
|
|
|
if (e.children && e.children.length) {
|
|
|
obj.children = this.addMenu(e.children, (lv + 1))
|
|
@@ -297,8 +339,20 @@ export default {
|
|
|
console.log(itemArr)
|
|
|
cb(itemArr)
|
|
|
},
|
|
|
+ setSearchBreadLight () {
|
|
|
+ let root = this.searchBreadList[0]
|
|
|
+ let jqRoot = window.$('#root' + root.id)
|
|
|
+ jqRoot.addClass('onLight')
|
|
|
+ },
|
|
|
+ removeSearchBreadLight () {
|
|
|
+ let root = this.searchBreadList[0]
|
|
|
+ let jqRoot = window.$('#root' + root.id)
|
|
|
+ jqRoot.removeClass('onLight')
|
|
|
+ },
|
|
|
gotoMenuTop (item) {
|
|
|
let rootParent = this.findParent(item)
|
|
|
+ this.searchBreadList = this.findParentByLv(item)
|
|
|
+ this.setSearchBreadLight()
|
|
|
// let rootItem = document.querySelector('#root' + rootParent.id)
|
|
|
let jqRoot = window.$('#root' + rootParent.id).parent()
|
|
|
let top = jqRoot.position().top
|
|
@@ -324,15 +378,26 @@ export default {
|
|
|
return item
|
|
|
}
|
|
|
},
|
|
|
+ findParentByLv (item) {
|
|
|
+ // console.log(item.id)
|
|
|
+ let arr = []
|
|
|
+ let parent = this.treeObj[item.pid]
|
|
|
+ if (parent) {
|
|
|
+ arr = this.findParentByLv(parent).concat([item])
|
|
|
+ } else {
|
|
|
+ arr.unshift(item)
|
|
|
+ }
|
|
|
+ return arr
|
|
|
+ },
|
|
|
flatData (arr) {
|
|
|
arr.forEach((e, i) => {
|
|
|
- let item = Object.assign({}, e)
|
|
|
- this.treeArr.push(item)
|
|
|
- if (item.children && item.children.length > 0) {
|
|
|
- this.flatData(item.children)
|
|
|
+ // let item = Object.assign({}, e)
|
|
|
+ this.treeArr.push(e)
|
|
|
+ if (e.children && e.children.length > 0) {
|
|
|
+ this.flatData(e.children)
|
|
|
}
|
|
|
- item.children = ''
|
|
|
- delete item.children
|
|
|
+ // item.children = ''
|
|
|
+ // delete item.children
|
|
|
// item = cloneDeep(e)
|
|
|
})
|
|
|
}
|