|
@@ -17,7 +17,19 @@
|
|
|
<ul class="el-menu el-menu--inline" v-show="server.conn">
|
|
|
<li :class="'el-submenu ' + (child.open ? 'is-opened' : '')"
|
|
|
v-for="(child, j) in server.children">
|
|
|
- <div class="el-submenu__title" style="padding-left: 40px;" @click="handleSecondEvent(child.id, i, j)">
|
|
|
+ <div v-if="child.id.indexOf('config_') > -1"
|
|
|
+ class="el-submenu__title"
|
|
|
+ style="padding-left: 40px;"
|
|
|
+ @contextmenu.prevent="rightEventConnConfig($event, server, i)"
|
|
|
+ @click="handleSecondEvent(child.id, i, j)">
|
|
|
+ <i class="fa fa-circle mark"></i>
|
|
|
+ <span>{{ child.name }}</span>
|
|
|
+ <i class="el-submenu__icon-arrow el-icon-arrow-down"></i>
|
|
|
+ </div>
|
|
|
+ <div v-else
|
|
|
+ class="el-submenu__title"
|
|
|
+ style="padding-left: 40px;"
|
|
|
+ @click="handleSecondEvent(child.id, i, j)">
|
|
|
<i class="fa fa-circle mark"></i>
|
|
|
<span>{{ child.name }}</span>
|
|
|
<i class="el-submenu__icon-arrow el-icon-arrow-down"></i>
|
|
@@ -39,7 +51,7 @@
|
|
|
<ul v-show="visibleServerMenu"
|
|
|
:style="{ left: serverMenuLeft + 'px', top: serverMenuTop + 'px' }"
|
|
|
class="contextmenu">
|
|
|
- <li v-if="chooseServer == null ? true : (serverList[chooseServer].conn === undefined ? true : false)"
|
|
|
+ <li v-if="chooseServerIndex == null ? true : (serverList[chooseServerIndex].conn === undefined ? true : false)"
|
|
|
@click="serverMenuOpen">打开连接</li>
|
|
|
<li v-else @click="serverMenuClose">关闭连接</li>
|
|
|
<li @click="serverMenuEdit">编辑连接</li>
|
|
@@ -53,6 +65,12 @@
|
|
|
<li @click="channelMenuHistory">查看历史</li>
|
|
|
<li @click="channelMenuLabelConfig">通道配置</li>
|
|
|
</ul>
|
|
|
+ <!-- 服务连接配置右键操作 -->
|
|
|
+ <ul v-show="visibleServerConfigMenu"
|
|
|
+ :style="{ left: serverMenuLeft + 'px', top: serverMenuTop + 'px' }"
|
|
|
+ class="contextmenu contextmenu-black">
|
|
|
+ <li @click="createConfig">新建配置</li>
|
|
|
+ </ul>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</template>
|
|
@@ -73,12 +91,16 @@ export default {
|
|
|
visibleServerMenu: false,
|
|
|
// 通道右键布局显示状态
|
|
|
visibleChannelMenu: false,
|
|
|
+ // 通道右键配置管理显示状态
|
|
|
+ visibleServerConfigMenu: false,
|
|
|
// 右键布局显示位置
|
|
|
serverMenuTop: 0,
|
|
|
// 右键布局显示位置
|
|
|
serverMenuLeft: 50,
|
|
|
- // 当前选择的服务
|
|
|
- chooseServer: null,
|
|
|
+ // 当前选择的服务的位置
|
|
|
+ chooseServerIndex: null,
|
|
|
+ // 当前选择的服务的ID
|
|
|
+ chooseServerId: null,
|
|
|
// 当前选择的通道
|
|
|
chooseChannel: null,
|
|
|
// 当前选择的步骤节点
|
|
@@ -140,7 +162,15 @@ export default {
|
|
|
} else {
|
|
|
document.body.removeEventListener('click', this.closeMenu)
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
+ /** 连接服务配置右键值监听 */
|
|
|
+ visibleServerConfigMenu(value) {
|
|
|
+ if (value) {
|
|
|
+ document.body.addEventListener('click', this.closeMenu)
|
|
|
+ } else {
|
|
|
+ document.body.removeEventListener('click', this.closeMenu)
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
/** 刷新左侧连接信息 */
|
|
@@ -220,13 +250,13 @@ export default {
|
|
|
/** 右键菜单事件:服务 */
|
|
|
rightEventConnServer(e, server, index) {
|
|
|
this.closeMenu()
|
|
|
- if (this.chooseServer != null) {
|
|
|
- this.serverList[this.chooseServer].choose = false
|
|
|
- this.$set(this.serverList, this.chooseServer, this.serverList[this.chooseServer])
|
|
|
+ if (this.chooseServerIndex != null) {
|
|
|
+ this.serverList[this.chooseServerIndex].choose = false
|
|
|
+ this.$set(this.serverList, this.chooseServerIndex, this.serverList[this.chooseServerIndex])
|
|
|
}
|
|
|
server.choose = true
|
|
|
this.$set(this.serverList, index, server)
|
|
|
- this.chooseServer = index
|
|
|
+ this.chooseServerIndex = index
|
|
|
this.serverMenuLeft = 50
|
|
|
const y = e.pageY
|
|
|
this.serverMenuTop = y - 60
|
|
@@ -234,7 +264,7 @@ export default {
|
|
|
},
|
|
|
/** 右键菜单:打开连接 */
|
|
|
serverMenuOpen() {
|
|
|
- this.handleByConn(this.serverList[this.chooseServer], this.chooseServer)
|
|
|
+ this.handleByConn(this.serverList[this.chooseServerIndex], this.chooseServerIndex)
|
|
|
},
|
|
|
/** 关闭连接 */
|
|
|
closeConnect(server, callback) {
|
|
@@ -244,9 +274,9 @@ export default {
|
|
|
server.choose = false
|
|
|
server.children = this.getInitServerSecondMenu(serverId)
|
|
|
let currServer = JSON.parse(JSON.stringify(server))
|
|
|
- this.$set(this.serverList, this.chooseServer, server)
|
|
|
+ this.$set(this.serverList, this.chooseServerIndex, server)
|
|
|
// 清空选中项
|
|
|
- this.chooseServer = null
|
|
|
+ this.chooseServerIndex = null
|
|
|
this.closeMenu(this.serverList)
|
|
|
this.clearSessionStorage()
|
|
|
this.$forceUpdate()
|
|
@@ -260,12 +290,12 @@ export default {
|
|
|
},
|
|
|
/** 右键菜单:关闭连接 */
|
|
|
serverMenuClose() {
|
|
|
- let server = this.serverList[this.chooseServer]
|
|
|
+ let server = this.serverList[this.chooseServerIndex]
|
|
|
this.closeConnect(server)
|
|
|
},
|
|
|
/** 右键菜单:编辑连接 */
|
|
|
serverMenuEdit() {
|
|
|
- let server = this.serverList[this.chooseServer]
|
|
|
+ let server = this.serverList[this.chooseServerIndex]
|
|
|
if (server.conn === undefined) {
|
|
|
this.$emit('getConnServer', JSON.parse(JSON.stringify(server)))
|
|
|
return
|
|
@@ -283,8 +313,8 @@ export default {
|
|
|
},
|
|
|
/** 右键菜单:删除连接 */
|
|
|
serverMenuDel() {
|
|
|
- let serverId = this.serverList[this.chooseServer].id;
|
|
|
- let serverName = this.serverList[this.chooseServer].connectName
|
|
|
+ let serverId = this.serverList[this.chooseServerIndex].id;
|
|
|
+ let serverName = this.serverList[this.chooseServerIndex].connectName
|
|
|
this.$confirm('您确定要删除连接【' + serverName + '】吗?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
@@ -325,15 +355,15 @@ export default {
|
|
|
const y = event.pageY
|
|
|
this.serverMenuTop = y - 60
|
|
|
this.visibleChannelMenu = true
|
|
|
- this.chooseServer = serverId
|
|
|
+ this.chooseServerId = serverId
|
|
|
this.chooseChannel = result
|
|
|
this.breadcrumbList.push(this.serverList[index].connectName)
|
|
|
this.breadcrumbList.push(result)
|
|
|
},
|
|
|
- /** 通道页面跳转 */
|
|
|
- gotoChannelPage() {
|
|
|
+ /** 页面跳转 */
|
|
|
+ gotoPageByName(path) {
|
|
|
this.$router.push({
|
|
|
- path: '/channel',
|
|
|
+ path: path,
|
|
|
query: {
|
|
|
t: new Date().getTime()
|
|
|
}
|
|
@@ -342,12 +372,12 @@ export default {
|
|
|
/** 右键菜单事件:打开通道 */
|
|
|
channelMenuOpen() {
|
|
|
this.saveChannelSessionStorage(1)
|
|
|
- this.gotoChannelPage()
|
|
|
+ this.gotoPageByName('/channel')
|
|
|
},
|
|
|
/** 右键菜单事件:查看历史 */
|
|
|
channelMenuHistory() {
|
|
|
console.log('channelMenuHistory')
|
|
|
- console.log('curr server id ==> ' + this.chooseServer)
|
|
|
+ console.log('curr server id ==> ' + this.chooseServerId)
|
|
|
console.log('curr channel name ==> ' + this.chooseChannel)
|
|
|
|
|
|
this.saveChannelSessionStorage(2)
|
|
@@ -359,29 +389,49 @@ export default {
|
|
|
/** 右键菜单事件:通道配置 */
|
|
|
channelMenuLabelConfig() {
|
|
|
this.saveChannelSessionStorage(3)
|
|
|
- this.gotoChannelPage()
|
|
|
+ this.gotoPageByName('/channel')
|
|
|
+ },
|
|
|
+ /** 右键菜单事件:配置 */
|
|
|
+ rightEventConnConfig(e, server, index) {
|
|
|
+ this.closeMenu()
|
|
|
+ this.chooseServerId = server.id
|
|
|
+ this.chooseServerIndex = index
|
|
|
+ this.serverMenuLeft = 50
|
|
|
+ const y = e.pageY
|
|
|
+ this.serverMenuTop = y - 60
|
|
|
+ this.visibleServerConfigMenu = true
|
|
|
+ },
|
|
|
+ /** 右键菜单事件:新建配置 */
|
|
|
+ createConfig() {
|
|
|
+ this.saveChannelSessionStorage(1)
|
|
|
+ this.gotoPageByName('/config')
|
|
|
},
|
|
|
/** 关闭右键菜单事件 */
|
|
|
closeMenu() {
|
|
|
- if (this.chooseServer != null) {
|
|
|
- this.serverList[this.chooseServer].choose = false
|
|
|
- this.$set(this.serverList, this.chooseServer, this.serverList[this.chooseServer])
|
|
|
+ if (this.chooseServerIndex != null) {
|
|
|
+ this.serverList[this.chooseServerIndex].choose = false
|
|
|
+ this.$set(this.serverList, this.chooseServerIndex, this.serverList[this.chooseServerIndex])
|
|
|
}
|
|
|
// 清空选中项
|
|
|
- this.chooseServer = null
|
|
|
+ this.chooseServerIndex = null
|
|
|
+ this.chooseServerId = null
|
|
|
this.chooseChannel = null
|
|
|
this.breadcrumbList = []
|
|
|
// 隐藏右键菜单项
|
|
|
this.visibleServerMenu = false
|
|
|
this.visibleChannelMenu = false
|
|
|
+ this.visibleServerConfigMenu = false
|
|
|
},
|
|
|
/** 保存通道页面数据 */
|
|
|
- saveChannelSessionStorage(channelType) {
|
|
|
- // channelType:1 打开通道 2 查看历史 3 标签配置
|
|
|
- if (channelType) {
|
|
|
- sessionStorage.setItem(this.sessionName.CHANNEL_TYPE, channelType)
|
|
|
+ saveChannelSessionStorage(type) {
|
|
|
+ /**
|
|
|
+ * 通道:1 打开通道 2 查看历史 3 标签配置
|
|
|
+ * 配置:1 新建配置
|
|
|
+ */
|
|
|
+ if (type) {
|
|
|
+ sessionStorage.setItem(this.sessionName.CHANNEL_TYPE, type)
|
|
|
}
|
|
|
- sessionStorage.setItem(this.sessionName.SERVER_ID, this.chooseServer)
|
|
|
+ sessionStorage.setItem(this.sessionName.SERVER_ID, this.chooseServerId)
|
|
|
sessionStorage.setItem(this.sessionName.CHANNEL_NAME, this.chooseChannel)
|
|
|
sessionStorage.setItem(this.sessionName.BREADCRUMB_LIST, JSON.stringify(this.breadcrumbList))
|
|
|
},
|