[Update] 统一名称

This commit is contained in:
ibuler
2020-04-09 10:56:46 +08:00
parent ba4a828300
commit 1257511cf4
8 changed files with 50 additions and 24 deletions

View File

@@ -59,7 +59,8 @@ export default {
label: this.$tc('Actions'), label: this.$tc('Actions'),
align: 'center', align: 'center',
formatter: ActionsFormatter, formatter: ActionsFormatter,
width: '150px' width: '150px',
actions: this.config.actions || {}
} }
break break
case 'is_valid': case 'is_valid':

View File

@@ -104,7 +104,8 @@ const cn = {
'PasswordChangeLog': '改密日志', 'PasswordChangeLog': '改密日志',
'Settings': '系统设置', 'Settings': '系统设置',
'UserCreate': '创建用户', 'UserCreate': '创建用户',
'UserGroupCreate': '创建用户组' 'UserGroupCreate': '创建用户组',
'UserUpdate': '更新用户'
}, },
// 用户模块翻译 // 用户模块翻译
users: { users: {

View File

@@ -1,7 +1,7 @@
<template> <template>
<Page> <Page>
<IBox> <IBox>
<AutoDataForm ref="form" :form="form" :fields="fields" :url="url" v-bind="$attrs" v-on="$listeners" @submit="handleSubmit" /> <AutoDataForm ref="form" :method="method" :form="form" :fields="fields" :url="totalUrl" v-bind="$attrs" v-on="$listeners" @submit="handleSubmit" />
</IBox> </IBox>
</Page> </Page>
</template> </template>
@@ -18,10 +18,6 @@ export default {
type: String, type: String,
required: true required: true
}, },
method: {
type: String,
default: 'post'
},
fields: { fields: {
type: Array, type: Array,
default: () => { default: () => {
@@ -35,6 +31,28 @@ export default {
onSubmit: { onSubmit: {
type: Function, type: Function,
default: null default: null
},
getMethod: {
type: Function,
default: function() {
const params = this.$route.params
if (params.id) {
return 'put'
} else {
return 'post'
}
}
},
getUrl: {
type: Function,
default: function() {
const params = this.$route.params
let url = this.url
if (params.id) {
url = `${url}/${params.id}/`
}
return url
}
} }
}, },
data() { data() {
@@ -42,14 +60,14 @@ export default {
} }
}, },
computed: { computed: {
method() {
return this.getMethod()
},
totalUrl() {
return this.getUrl()
}
}, },
methods: { methods: {
getFormRef(comp) {
if (comp.$refs.form) {
return this.getFormRef(comp.$refs.form)
}
return comp
},
handleSubmit(values, form) { handleSubmit(values, form) {
let handler = this.onSubmit || this.defaultOnSubmit let handler = this.onSubmit || this.defaultOnSubmit
handler = handler.bind(this) handler = handler.bind(this)
@@ -58,8 +76,11 @@ export default {
console.log('form.fields', fields) console.log('form.fields', fields)
return handler(values, form) return handler(values, form)
}, },
defaultPerformSubmit(validValues) {
return this.$axios[this.method](this.totalUrl, validValues)
},
defaultOnSubmit(validValues, form) { defaultOnSubmit(validValues, form) {
this.$axios.post(this.url, validValues).then(() => { this.defaultPerformSubmit(validValues).then(() => {
const msg = this.$tc('Create success') const msg = this.$tc('Create success')
this.$message.success(msg) this.$message.success(msg)
this.$router.push({ name: 'UserList' }) this.$router.push({ name: 'UserList' })

View File

@@ -25,7 +25,7 @@
import Page from '../Page/' import Page from '../Page/'
import ActionsGroup from '@/components/ActionsGroup' import ActionsGroup from '@/components/ActionsGroup'
export default { export default {
name: 'BaseDetailPage', name: 'GenericDetailPage',
components: { components: {
Page, Page,
ActionsGroup ActionsGroup

View File

@@ -3,7 +3,7 @@ export { default as NavHeader } from './NavHeader'
export { default as AppMain } from './AppMain' export { default as AppMain } from './AppMain'
export { default as Page } from './Page' export { default as Page } from './Page'
export { default as TagsView } from './TagsView' export { default as TagsView } from './TagsView'
export { default as BaseDetailPage } from './BaseDetailPage' export { default as GenericDetailPage } from './GenericDetailPage'
export { default as SubMenuPage } from './SubMenuPage' export { default as SubMenuPage } from './SubMenuPage'
export { default as Footer } from './Footer' export { default as Footer } from './Footer'
export { default as IBox } from './IBox' export { default as IBox } from './IBox'

View File

@@ -73,11 +73,11 @@ export const constantRoutes = [
meta: { title: 'UserCreate', activeMenu: '/users/users' } meta: { title: 'UserCreate', activeMenu: '/users/users' }
}, },
{ {
path: 'users/update/:id', path: 'users/:id/update',
component: () => import('@/views/users/UserCreateUpdate.vue'), // Parent router-view component: () => import('@/views/users/UserCreateUpdate.vue'), // Parent router-view
name: 'UserEdit', name: 'UserUpdate',
hidden: true, hidden: true,
meta: { title: 'UserEdit' } meta: { title: 'UserUpdate' }
}, },
{ {
path: 'users/detail/:id', path: 'users/detail/:id',

View File

@@ -1,5 +1,5 @@
<template> <template>
<BaseDetailPage :submenu="submenu" :active-menu="activeSubMenu" :title="title"> <GenericDetailPage :submenu="submenu" :active-menu="activeSubMenu" :title="title">
<div slot="info"> <div slot="info">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="14"> <el-col :span="14">
@@ -18,18 +18,18 @@
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</BaseDetailPage> </GenericDetailPage>
</template> </template>
<script> <script>
import { getUserGroupDetail, getUserGroupMembers } from '@/api/user' import { getUserGroupDetail, getUserGroupMembers } from '@/api/user'
import { BaseDetailPage } from '@/layout/components' import { GenericDetailPage } from '@/layout/components'
import DetailCard from '@/components/DetailCard' import DetailCard from '@/components/DetailCard'
import Select2 from '@/components/Select2' import Select2 from '@/components/Select2'
export default { export default {
components: { components: {
BaseDetailPage, GenericDetailPage,
DetailCard, DetailCard,
Select2 Select2
}, },

View File

@@ -16,7 +16,10 @@ export default {
columns: [ columns: [
'name', 'username', 'role', 'groups_display', 'source', 'is_valid', 'actions' 'name', 'username', 'role', 'groups_display', 'source', 'is_valid', 'actions'
], ],
detailRoute: 'UserDetail' detailRoute: 'UserDetail',
actions: {
updateRoute: 'UserUpdate'
}
}, },
headerActions: { headerActions: {
createRoute: 'UserCreate', createRoute: 'UserCreate',