diff --git a/package.json b/package.json index c93a32034..95b93d9f2 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "vue": "2.6.10", "vue-i18n": "^8.15.5", "vue-router": "3.0.6", + "vue-select": "^3.9.5", "vuex": "3.1.0" }, "devDependencies": { diff --git a/src/components/ActionsGroup/index.vue b/src/components/ActionsGroup/index.vue index ef06e9272..f96f5484d 100644 --- a/src/components/ActionsGroup/index.vue +++ b/src/components/ActionsGroup/index.vue @@ -1,12 +1,15 @@ @@ -92,11 +90,25 @@ @@ -119,6 +131,7 @@ v[this.id]).join(',') : data[this.id] - return this.$axios.delete(this.url + '/' + ids, this.axiosConfig) + return this.$axios.delete(this.url + '/' + ids + '/', this.axiosConfig) } }, /** @@ -750,6 +766,14 @@ export default { extraPaginationAttrs: { type: Object, default: () => {} + }, + hasSelection: { + type: Boolean, + default: true + }, + hasDetail: { + type: Boolean, + default: true } }, data() { @@ -775,6 +799,7 @@ export default { }, computed: { hasSelect() { + console.log(this.columns.length && this.columns[0].type === 'selection') return this.columns.length && this.columns[0].type === 'selection' }, selectable() { @@ -854,8 +879,6 @@ export default { * @property {array} rows - 已选中的行数据的数组 */ this.$emit('selection-change', val) - console.log('Selected', this.selected) - console.log('Val', val) } }, mounted() { @@ -1067,7 +1090,7 @@ export default { }, onDefaultEdit(row) { this.row = row - this.$refs.dialog.show(dialogModes.edit, row) + this.onEdit(row) }, async onConfirm(isNew, formValue, done) { const data = { diff --git a/src/components/DataTable/formatters/DetailFormatter.vue b/src/components/DataTable/formatters/DetailFormatter.vue new file mode 100644 index 000000000..a596307f0 --- /dev/null +++ b/src/components/DataTable/formatters/DetailFormatter.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/components/DataTable/index.vue b/src/components/DataTable/index.vue index 025d2223a..fc138f1c9 100644 --- a/src/components/DataTable/index.vue +++ b/src/components/DataTable/index.vue @@ -1,5 +1,5 @@ - - - diff --git a/src/components/ListTable/TableAction.vue b/src/components/ListTable/TableAction.vue new file mode 100644 index 000000000..50bcf94a4 --- /dev/null +++ b/src/components/ListTable/TableAction.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/src/components/ListTable/index.vue b/src/components/ListTable/index.vue index d43137b02..e2fe05a89 100644 --- a/src/components/ListTable/index.vue +++ b/src/components/ListTable/index.vue @@ -1,28 +1,21 @@ - diff --git a/src/i18n/langs/cn.js b/src/i18n/langs/cn.js index 40cee880a..33d519e75 100644 --- a/src/i18n/langs/cn.js +++ b/src/i18n/langs/cn.js @@ -36,7 +36,8 @@ const cn = { 'Create': '创建', 'More actions': '更多操作', 'Delete selected': '删除所选', - 'Update selected': '更新所选' + 'Update selected': '更新所选', + 'Search': '搜索' }, route: { 'dashboard': '仪表盘', diff --git a/src/layout/components/GenericListPage/index.vue b/src/layout/components/GenericListPage/index.vue new file mode 100644 index 000000000..398cfb536 --- /dev/null +++ b/src/layout/components/GenericListPage/index.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js index d69d91f80..e47ec4fdc 100644 --- a/src/layout/components/index.js +++ b/src/layout/components/index.js @@ -7,3 +7,4 @@ export { default as BaseDetailPage } from './BaseDetailPage' export { default as SubMenuPage } from './SubMenuPage' export { default as Footer } from './Footer' export { default as IBox } from './IBox' +export { default as GenericListPage } from './GenericListPage' diff --git a/src/router/index.js b/src/router/index.js index 24b92652e..fdfd58ef4 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -69,15 +69,15 @@ export const constantRoutes = [ path: 'users/create', component: () => import('@/views/users/UserEdit.vue'), // Parent router-view name: 'UserCreate', + hidden: true, meta: { title: 'UserCreate' }, - hidden: true }, { path: 'users/:id', component: () => import('@/views/users/UserDetail.vue'), // Parent router-view name: 'UserDetail', + hidden: true, meta: { title: 'UserDetail', activeMenu: '/users/users' }, - hidden: true }, { path: 'groups', @@ -85,27 +85,27 @@ export const constantRoutes = [ name: 'UserGroupList', meta: { title: 'UserGroupList' } }, - { - path: 'groups/create', - component: () => import('@/views/users/UserGroupEdit.vue'), // Parent router-view - name: 'UserGroupEdit', - meta: { title: 'UserGroupEdit' }, - hidden: true - }, { path: 'groups/:id/update', component: () => import('@/views/users/UserGroupEdit.vue'), // Parent router-view name: 'UserGroupEdit', + hidden: true, meta: { title: 'UserGroupEdit' }, - hidden: true }, { path: 'groups/:id', component: () => import('@/views/users/UserGroupDetail/index.vue'), // Parent router-view name: 'UserGroupDetail', + hidden: true, meta: { title: 'UserGroupDetail', activeMenu: '/users/groups' }, - hidden: true - } + }, + { + path: 'groups/create', + component: () => import('@/views/users/UserCreate.vue'), // Parent router-view + name: 'UserGroupCreate', + hidden: true, + meta: { title: 'UserGroupCreate' } + }, ] }, { diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index f978ef50e..9e777b679 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -195,3 +195,11 @@ td .el-button.el-button--mini { font-weight: 600; background-color: inherit; } + +.el-table .ascending .sort-caret.ascending { + border-bottom-color: #676a6c; +} + +.el-table .descending .sort-caret.descending { + border-top-color: #676a6c; +} diff --git a/src/utils/request.js b/src/utils/request.js index 8a5a56cbc..e2261db4a 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -53,9 +53,9 @@ service.interceptors.response.use( const res = response.data // if the custom code is not 20000, it is judged as an error. - if (response.status !== 200 && response.status !== 201) { + if (response.status < 200 || response.status > 300) { Message({ - message: res.message || 'Error', + message: res.message || res.error || 'Error', type: 'error', duration: 5 * 1000 }) diff --git a/src/views/users/UserGroupList.vue b/src/views/users/UserGroupList.vue index 8fc24faeb..f4d65d6d3 100644 --- a/src/views/users/UserGroupList.vue +++ b/src/views/users/UserGroupList.vue @@ -1,36 +1,27 @@