diff --git a/src/components/ActionsGroup/index.vue b/src/components/ActionsGroup/index.vue index 1dae49446..76ea7aa56 100644 --- a/src/components/ActionsGroup/index.vue +++ b/src/components/ActionsGroup/index.vue @@ -8,7 +8,7 @@ {{ this.$tc('More actions') }} - {{ item.title }} + {{ item.title }} diff --git a/src/components/DataTable/compenents/el-data-table/el-data-table.vue b/src/components/DataTable/compenents/el-data-table/el-data-table.vue index 0f8816b79..5d0de7b6f 100644 --- a/src/components/DataTable/compenents/el-data-table/el-data-table.vue +++ b/src/components/DataTable/compenents/el-data-table/el-data-table.vue @@ -122,6 +122,7 @@ :page-sizes="paginationSizes" :page-size="size" :total="total" + :background="paginationBackground" style="text-align: right; padding: 10px 0;" :layout="paginationLayout" v-bind="extraPaginationAttrs" diff --git a/src/components/DataTable/index.vue b/src/components/DataTable/index.vue index 323e67a5d..f1f390652 100644 --- a/src/components/DataTable/index.vue +++ b/src/components/DataTable/index.vue @@ -38,7 +38,7 @@ export default { // editText: this.$t('action.update'), // 编辑按钮文案 buttonSize: 'mini', tableAttrs: { - stripe: true, // 斑马纹表格 + stripe: false, // 斑马纹表格 border: true, // 表格边框 fit: true, // 宽度自适应, tooltipEffect: 'dark' @@ -59,6 +59,7 @@ export default { paginationLayout: 'total, sizes, prev, pager, next', paginationSizes: [15, 30, 50, 100], paginationSize: 15, + paginationBackground: true, transformQuery: query => { if (query.page && query.size) { const page = query.page > 0 ? query.page : 1 diff --git a/src/components/ListTable/formatters/CustomActionsFormatter.vue b/src/components/ListTable/formatters/CustomActionsFormatter.vue new file mode 100644 index 000000000..abdd07573 --- /dev/null +++ b/src/components/ListTable/formatters/CustomActionsFormatter.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/components/ListTable/formatters/index.js b/src/components/ListTable/formatters/index.js index 50bc0e617..a2235da5b 100644 --- a/src/components/ListTable/formatters/index.js +++ b/src/components/ListTable/formatters/index.js @@ -7,6 +7,7 @@ import LengthFormatter from './LengthFormatter' import RouterFormatter from './RouterFormatter' import OutputExpandFormatter from './OutputExpandFormatter' import ExpandAssetPermissionFormatter from './ExpandAssetPermissionFormatter' +import CustomActionsFormatter from './CustomActionsFormatter' export default { DetailFormatter, @@ -17,7 +18,8 @@ export default { LengthFormatter, RouterFormatter, OutputExpandFormatter, - ExpandAssetPermissionFormatter + ExpandAssetPermissionFormatter, + CustomActionsFormatter } export { @@ -29,5 +31,6 @@ export { LengthFormatter, RouterFormatter, OutputExpandFormatter, - ExpandAssetPermissionFormatter + ExpandAssetPermissionFormatter, + CustomActionsFormatter } diff --git a/src/components/ListTable/index.vue b/src/components/ListTable/index.vue index 451ad39c1..701291e4e 100644 --- a/src/components/ListTable/index.vue +++ b/src/components/ListTable/index.vue @@ -182,11 +182,28 @@ export default { } - diff --git a/src/layout/components/TabPage/index.vue b/src/layout/components/TabPage/index.vue index 1e613d26b..07d579256 100644 --- a/src/layout/components/TabPage/index.vue +++ b/src/layout/components/TabPage/index.vue @@ -60,4 +60,7 @@ export default { /*margin: 0;*/ /*background-color: #f3f3f4;*/ } + .page-submenu >>> .el-tabs__nav-wrap { + position: static; + } diff --git a/src/router/index.js b/src/router/index.js index 9cb7b7522..0c6c91530 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -458,12 +458,6 @@ export const constantRoutes = [ name: 'BatchCommand', component: () => import('@/views/jobcenter/CommandExecution'), meta: { title: 'BatchCommand' } - }, - { - path: 'flower', - name: 'TaskMonitor', - component: () => import('@/views/tree/index'), - meta: { title: 'TaskMonitor' } } ] }, diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index 235d1252f..9c1c7ad88 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -261,3 +261,24 @@ td .el-button.el-button--mini { .el-checkbox__inner:hover { border-color: #409EFF; } + +.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li { + margin: 0 5px; + background-color: white; + color: #606266; + min-width: 28px; + border-radius: 2px; + border: 1px solid #DCDFE6; + font-size: 12px; + line-height: 26px; + font-weight: 400; +} + +.el-pagination.is-background .el-pager li:not(.disabled):hover { + color: white; + background-color: $--color-primary; +} + +.el-pagination.is-background .number { + padding: 0; +} diff --git a/src/views/form/index.vue b/src/views/form/index.vue deleted file mode 100644 index f4d66d3bd..000000000 --- a/src/views/form/index.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - diff --git a/src/views/nested/menu1/index.vue b/src/views/nested/menu1/index.vue deleted file mode 100644 index 30cb67011..000000000 --- a/src/views/nested/menu1/index.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/src/views/nested/menu1/menu1-1/index.vue b/src/views/nested/menu1/menu1-1/index.vue deleted file mode 100644 index 27e173a6b..000000000 --- a/src/views/nested/menu1/menu1-1/index.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/src/views/nested/menu1/menu1-2/index.vue b/src/views/nested/menu1/menu1-2/index.vue deleted file mode 100644 index 0c86276e0..000000000 --- a/src/views/nested/menu1/menu1-2/index.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue b/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue deleted file mode 100644 index f87d88f49..000000000 --- a/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue b/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue deleted file mode 100644 index d88789f20..000000000 --- a/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/views/nested/menu1/menu1-3/index.vue b/src/views/nested/menu1/menu1-3/index.vue deleted file mode 100644 index f7cd0738f..000000000 --- a/src/views/nested/menu1/menu1-3/index.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/views/nested/menu2/index.vue b/src/views/nested/menu2/index.vue deleted file mode 100644 index 19dd48f0e..000000000 --- a/src/views/nested/menu2/index.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/views/sessions/Storage.vue b/src/views/sessions/Storage.vue index c58cd973f..c3ed50b69 100644 --- a/src/views/sessions/Storage.vue +++ b/src/views/sessions/Storage.vue @@ -16,6 +16,7 @@ import { TabPage } from '@/layout/components' import { ListTable } from '@/components' import { TestCommandStorage, TestReplayStorage } from '@/api/sessions' +import { CustomActionsFormatter } from '@/components/ListTable/formatters' export default { name: 'Storage', @@ -89,7 +90,7 @@ export default { }, replayTableConfig: { url: '/api/v1/terminal/replay-storages/', - columns: ['name', 'type', 'comment', 'actions'], + columns: ['name', 'type', 'comment', 'cusActions'], columnsMeta: { name: { formatter: function(row) { @@ -104,16 +105,39 @@ export default { comment: { sortable: 'custom' }, - actions: { + cusActions: { prop: 'id', + formatter: CustomActionsFormatter, actions: { - canUpdate: function(row, value) { - return row.name !== 'null' && row.name !== 'default' - }, - extraActions: [ + actions: [ + { + name: 'update', + title: this.$tc('Update'), + type: 'primary', + can: function(row, cellValue,) { + return row.name !== 'null' && row.name !== 'default' + }, + callback: function({ row, col, cellValue, reload }) { + } + }, + { + name: 'delete', + title: this.$tc('Delete'), + type: 'danger', + can: function(row, cellValue) { + return row.name !== 'null' && row.name !== 'default' + }, + callback: function({ row, col, cellValue, reload }) { + const id = row.id + const url = `${this.url}${id}/` + this.$axios.delete(url).then(data => { + reload() + }) + } + }, { name: 'test', - title: 'test', + title: this.$t('sessions.test'), type: 'primary', callback: function({ row, col, cellValue, reload }) { TestReplayStorage(cellValue).then(data => { @@ -155,7 +179,7 @@ export default { commandTableConfig: { title: 'command', url: '/api/v1/terminal/command-storages/', - columns: ['name', 'type', 'comment', 'actions'], + columns: ['name', 'type', 'comment', 'cusActions'], columnsMeta: { comment: { sortable: 'custom' @@ -170,16 +194,39 @@ export default { return row.type } }, - actions: { + cusActions: { prop: 'id', + formatter: CustomActionsFormatter, actions: { - canUpdate: function(row, value) { - return row.name !== 'null' && row.name !== 'default' - }, - extraActions: [ + actions: [ + { + name: 'update', + title: this.$tc('Update'), + type: 'primary', + can: function(row, cellValue,) { + return row.name !== 'null' && row.name !== 'default' + }, + callback: function({ row, col, cellValue, reload }) { + } + }, + { + name: 'delete', + title: this.$tc('Delete'), + type: 'danger', + can: function(row, cellValue) { + return row.name !== 'null' && row.name !== 'default' + }, + callback: function({ row, col, cellValue, reload }) { + const id = row.id + const url = `${this.url}${id}/` + this.$axios.delete(url).then(data => { + reload() + }) + } + }, { name: 'test', - title: 'test', + title: this.$t('sessions.test'), type: 'primary', callback: function({ row, col, cellValue, reload }) { TestCommandStorage(cellValue).then(data => {