[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'),
align: 'center',
formatter: ActionsFormatter,
width: '150px'
width: '150px',
actions: this.config.actions || {}
}
break
case 'is_valid':

View File

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

View File

@@ -1,7 +1,7 @@
<template>
<Page>
<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>
</Page>
</template>
@@ -18,10 +18,6 @@ export default {
type: String,
required: true
},
method: {
type: String,
default: 'post'
},
fields: {
type: Array,
default: () => {
@@ -35,6 +31,28 @@ export default {
onSubmit: {
type: Function,
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() {
@@ -42,14 +60,14 @@ export default {
}
},
computed: {
method() {
return this.getMethod()
},
totalUrl() {
return this.getUrl()
}
},
methods: {
getFormRef(comp) {
if (comp.$refs.form) {
return this.getFormRef(comp.$refs.form)
}
return comp
},
handleSubmit(values, form) {
let handler = this.onSubmit || this.defaultOnSubmit
handler = handler.bind(this)
@@ -58,8 +76,11 @@ export default {
console.log('form.fields', fields)
return handler(values, form)
},
defaultPerformSubmit(validValues) {
return this.$axios[this.method](this.totalUrl, validValues)
},
defaultOnSubmit(validValues, form) {
this.$axios.post(this.url, validValues).then(() => {
this.defaultPerformSubmit(validValues).then(() => {
const msg = this.$tc('Create success')
this.$message.success(msg)
this.$router.push({ name: 'UserList' })

View File

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

View File

@@ -3,7 +3,7 @@ export { default as NavHeader } from './NavHeader'
export { default as AppMain } from './AppMain'
export { default as Page } from './Page'
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 Footer } from './Footer'
export { default as IBox } from './IBox'

View File

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

View File

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

View File

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