diff --git a/src/pages/node/list.vue b/src/pages/node/list.vue
index bb117407e7a2509d7ebe5b7144234108483a55f7..ee6e7df385c3084e038e9f80129423df09a25e94 100644
--- a/src/pages/node/list.vue
+++ b/src/pages/node/list.vue
@@ -43,6 +43,9 @@
>
+
+
+
@@ -50,10 +53,12 @@
import { getNodeList, deleteNode, getNodeStatus, getOsVersion, editNode } from '@/api/node'
import { isIpAndPort } from '@/utils/validate'
import NodeOperation from './components/node_operation.vue'
+import NodeLayout from './node-layout'
export default {
components: {
- NodeOperation
+ NodeOperation,
+ NodeLayout
},
data() {
return {
@@ -76,7 +81,8 @@ export default {
{ title: '操作', dataIndex: 'operation', key: 'operation', scopedSlots: { customRender: 'operation' }, width: 200, align: 'center' }
],
timer: null,
- editNodeVisible: false,
+ editNodeVisible: false,
+ drawerVisible: false
}
},
watch: {
@@ -239,6 +245,25 @@ export default {
this.editNodeVisible = false
this.loadData()
})
+ },
+ handleNode(record) {
+ setNodeLocalIp({ nodeId: record.id, nodeIp: record.url.split(':')[0] }).then(() => {
+ this.temp = Object.assign(record)
+ this.drawerTitle = `${this.temp.name} (${this.temp.url})`
+ this.drawerVisible = true
+ let nodeId = this.$route.query.nodeId
+ if (nodeId !== record.id) {
+ this.$router.push({
+ query: { nodeId: record.id }
+ })
+ }
+ })
+ },
+ onClose() {
+ this.drawerVisible = false
+ this.$router.push({
+ query: { nodeId: null }
+ })
}
}
}
diff --git a/src/pages/node/node-layout/.keep b/src/pages/node/node-layout/.keep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/pages/node/node-layout/index.vue b/src/pages/node/node-layout/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..7f0a57ed20aa0fe51d2cabb0c53fc71f25894c96
--- /dev/null
+++ b/src/pages/node/node-layout/index.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+ {{ menu.title }}
+
+
+ {{ subMenu.title }}
+
+
+
+
+ {{ menu.title }}
+
+
+
+
+
+
+
+
+