diff --git a/frontend/src/components/Node/NodeNetwork.vue b/frontend/src/components/Node/NodeNetwork.vue new file mode 100644 index 00000000..11ad202e --- /dev/null +++ b/frontend/src/components/Node/NodeNetwork.vue @@ -0,0 +1,177 @@ + + + + + + + diff --git a/frontend/src/i18n/zh.js b/frontend/src/i18n/zh.js index 7a6318d4..6647f32c 100644 --- a/frontend/src/i18n/zh.js +++ b/frontend/src/i18n/zh.js @@ -78,6 +78,11 @@ export default { 'Node Port': '节点端口', 'Description': '描述', 'All Nodes': '所有节点', + 'Node List': '节点列表', + 'Network': '拓扑图', + 'Node Network': '节点拓扑图', + 'Master': '主节点', + 'Worker': '工作节点', // 节点列表 'IP': 'IP地址', diff --git a/frontend/src/views/node/NodeList.vue b/frontend/src/views/node/NodeList.vue index b6eaa989..13fb7c33 100644 --- a/frontend/src/views/node/NodeList.vue +++ b/frontend/src/views/node/NodeList.vue @@ -1,7 +1,7 @@ - + + - - - - - - - {{scope.row.systemInfo ? getOSName(scope.row.systemInfo.os) : ''}} - - - {{scope.row.systemInfo ? scope.row.systemInfo.arch : ''}} - - - {{scope.row.systemInfo ? scope.row.systemInfo.num_cpu : ''}} - - - - - - - - - - - - - - - - - - - - - - - - {{ex.display_name}} - - - - - - - - - - - - {{$t('Offline')}} - {{$t('Online')}} - {{$t('Unavailable')}} + + + + + + + + + {{scope.row.systemInfo ? getOSName(scope.row.systemInfo.os) : ''}} + + + {{scope.row.systemInfo ? scope.row.systemInfo.arch : ''}} + + + {{scope.row.systemInfo ? scope.row.systemInfo.num_cpu : ''}} + + + + + + + + + + + + + + + + + + + + + + + + {{ex.display_name}} + + + + + + + + + + + + {{$t('Offline')}} + {{$t('Online')}} + {{$t('Unavailable')}} + + + + + {{$t('Master')}} + {{$t('Worker')}} + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -121,9 +140,11 @@ import { mapState } from 'vuex' +import NodeNetwork from '../../components/Node/NodeNetwork' export default { name: 'NodeList', + components: { NodeNetwork }, data () { return { pagination: { @@ -139,13 +160,15 @@ export default { columns: [ { name: 'name', label: 'Name', width: '220' }, { name: 'ip', label: 'IP', width: '160' }, + { name: 'type', label: 'Type', width: '120' }, // { name: 'port', label: 'Port', width: '80' }, { name: 'status', label: 'Status', width: '120', sortable: true }, { name: 'description', label: 'Description', width: 'auto' } ], nodeFormRules: { name: [{ required: true, message: 'Required Field', trigger: 'change' }] - } + }, + activeTab: undefined } }, computed: {