diff --git a/src/api/settings.js b/src/api/settings.js index 7d75efa0d..d2b74777d 100644 --- a/src/api/settings.js +++ b/src/api/settings.js @@ -45,3 +45,10 @@ export function importLdapUser(data) { data: data }) } + +export function getPublicSettings() { + return request({ + url: '/api/v1/settings/public/', + method: 'get' + }) +} 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 5d0de7b6f..7fef63d4b 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 @@ -837,18 +837,7 @@ export default { } }, methods: { - /** - * 手动刷新列表数据,选项的默认值为: { loading: true } - * @public - * @param {object} options 方法选项 - */ - getList({ loading = true } = {}) { - const { url } = this - if (!url) { - console.warn('DataTable: url 为空, 不发送请求') - return - } - + getQuery() { // 构造query对象 let query = {} let formValue = {} @@ -878,7 +867,27 @@ export default { if (this.transformQuery) { query = this.transformQuery(query) } + return query + }, + /** + * 手动刷新列表数据,选项的默认值为: { loading: true } + * @public + * @param {object} options 方法选项 + */ + getList({ loading = true } = {}) { + const { url } = this + if (!url) { + console.warn('DataTable: url 为空, 不发送请求') + return + } + const query = this.getQuery() + + let formValue = {} + if (this.$refs.searchForm) { + formValue = this.$refs.searchForm.getFormValue() + Object.assign(query, formValue) + } const queryStr = (url.indexOf('?') > -1 ? '&' : '?') + queryUtil.stringify(query, '=', '&') @@ -951,7 +960,6 @@ export default { // Orange 重置查询对象 // this.innerQuery = Object.assign(this.innerQuery, attrs) this.innerQuery = attrs - console.log(this.innerQuery) return this.getList() }, /** diff --git a/src/components/DataTable/index.vue b/src/components/DataTable/index.vue index f1f390652..d3a5eb2b1 100644 --- a/src/components/DataTable/index.vue +++ b/src/components/DataTable/index.vue @@ -98,6 +98,9 @@ export default { }, search(attrs) { return this.$refs.table.search(attrs) + }, + getQuery() { + return this.$refs.table.getQuery() } } } diff --git a/src/components/ListTable/TableAction/ExportDialog.vue b/src/components/ListTable/TableAction/ExportDialog.vue index ddfcee035..527404204 100644 --- a/src/components/ListTable/TableAction/ExportDialog.vue +++ b/src/components/ListTable/TableAction/ExportDialog.vue @@ -15,6 +15,7 @@ diff --git a/src/permission.js b/src/permission.js index baf3fcb33..111858710 100644 --- a/src/permission.js +++ b/src/permission.js @@ -41,6 +41,12 @@ router.beforeEach(async(to, from, next) => { NProgress.done() return } + + // 获取Public settings + const publicSettings = store.getters.publicSettings + if (!publicSettings) { + await store.dispatch('settings/getPublicSettings') + } // determine whether the user has obtained his permission roles through getProfile const currentUser = store.getters.currentUser const hasRoles = currentUser && currentUser.current_org_roles && currentUser.current_org_roles.length > 0 diff --git a/src/store/getters.js b/src/store/getters.js index 707bd9d6a..944276f40 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -7,6 +7,7 @@ const getters = { currentUser: state => state.users.profile, permission_routes: state => state.permission.routes, visitedViews: state => state.tagsView.visitedViews, - cachedViews: state => state.tagsView.cachedViews + cachedViews: state => state.tagsView.cachedViews, + publicSettings: state => state.settings.publicSettings } export default getters diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js index d208df38a..6ba828ec7 100644 --- a/src/store/modules/settings.js +++ b/src/store/modules/settings.js @@ -1,4 +1,5 @@ import defaultSettings from '@/settings' +import { getPublicSettings } from '@/api/settings' const { showSettings, fixedHeader, sidebarLogo, tagsView } = defaultSettings @@ -6,7 +7,8 @@ const state = { showSettings: showSettings, fixedHeader: fixedHeader, sidebarLogo: sidebarLogo, - tagsView: tagsView + tagsView: tagsView, + publicSettings: null } const mutations = { @@ -14,12 +16,26 @@ const mutations = { if (state.hasOwnProperty(key)) { state[key] = value } + }, + SET_PUBLIC_SETTINGS: (state, settings) => { + state.publicSettings = settings } } const actions = { changeSetting({ commit }, data) { commit('CHANGE_SETTING', data) + }, + // get user Profile + getPublicSettings({ commit, state }) { + return new Promise((resolve, reject) => { + getPublicSettings().then(response => { + commit('SET_PUBLIC_SETTINGS', response.data) + resolve(response) + }).catch(error => { + reject(error) + }) + }) } } diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index ffd8484c5..f297bfbf0 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -379,3 +379,8 @@ td .el-button.el-button--mini { .el-table__header thead tr th { border-bottom: 1.5px solid #e7e7e7 !important; } + +.el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell { + padding-left: 10px; + padding-right: 14px; +} diff --git a/src/utils/request.js b/src/utils/request.js index 51b917820..a1a56b1c8 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -66,9 +66,9 @@ service.interceptors.response.use( const response = error.response if (response.status === 401) { const title = '' - const msg = i18n.t('auth.You have been logged out, Please log in again') + const msg = i18n.t('auth.LoginRequiredMsg') MessageBox.confirm(msg, title, { - confirmButtonText: i18n.t('auth.Re-Login'), + confirmButtonText: i18n.t('auth.ReLogin'), cancelButtonText: i18n.t('common.Cancel'), type: 'warning' }).then(() => { diff --git a/src/views/users/groups/UserGroupCreateUpdate.vue b/src/views/users/groups/UserGroupCreateUpdate.vue index a721d906c..680dc2fd6 100644 --- a/src/views/users/groups/UserGroupCreateUpdate.vue +++ b/src/views/users/groups/UserGroupCreateUpdate.vue @@ -14,15 +14,15 @@ export default { initial: { }, url: '/api/v1/users/groups/', - fields: ['name', 'users', 'comment'], + fields: [ + [this.$t('common.Basic'), ['name', 'users', 'comment']] + ], fieldsMeta: { users: { el: { value: [], - url: '/api/v1/users/users/', - helpMessage: 'hello' - }, - helpText: '请输入用户 更多' + url: '/api/v1/users/users/' + } } } }