|
@@ -1,10 +1,11 @@
|
|
<template>
|
|
<template>
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
- <el-page-header :content="isEdit?'编辑菜单':'添加菜单'" />
|
|
|
|
|
|
+ <el-page-header @back="goBack" :content="isEdit?'编辑菜单':'添加菜单'" />
|
|
<el-card class="form-container" shadow="never">
|
|
<el-card class="form-container" shadow="never">
|
|
<el-form ref="menuFrom" :model="menu" :rules="rules" label-width="150px">
|
|
<el-form ref="menuFrom" :model="menu" :rules="rules" label-width="150px">
|
|
<el-form-item label="上级菜单:" prop="parentId">
|
|
<el-form-item label="上级菜单:" prop="parentId">
|
|
- <el-input v-model="parentTitle" />
|
|
|
|
|
|
+ <el-input v-model="parentTitle" readonly />
|
|
|
|
+ <input v-model="menu.parentId" type="hidden" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="菜单名称:" prop="title">
|
|
<el-form-item label="菜单名称:" prop="title">
|
|
<el-input v-model="menu.title" />
|
|
<el-input v-model="menu.title" />
|
|
@@ -12,8 +13,14 @@
|
|
<el-form-item label="前端名称:" prop="name">
|
|
<el-form-item label="前端名称:" prop="name">
|
|
<el-input v-model="menu.name" />
|
|
<el-input v-model="menu.name" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="显示隐藏:" prop="hidden">
|
|
|
|
+ <el-radio-group v-model="menu.hidden">
|
|
|
|
+ <el-radio :label="0">显示</el-radio>
|
|
|
|
+ <el-radio :label="1">隐藏</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item label="前端图标:" prop="icon">
|
|
<el-form-item label="前端图标:" prop="icon">
|
|
- <el-input v-model="menu.icon" style="width: 80%" />
|
|
|
|
|
|
+ <el-input v-model="menu.icon" style="width: 80%" placeholder="系统图标里拷贝Class" />
|
|
<template>
|
|
<template>
|
|
<i v-if="isElementIcon(menu.icon)" :class="menu.icon" />
|
|
<i v-if="isElementIcon(menu.icon)" :class="menu.icon" />
|
|
<svg-icon v-else-if="menu.icon" :icon-class="menu.icon" />
|
|
<svg-icon v-else-if="menu.icon" :icon-class="menu.icon" />
|
|
@@ -43,9 +50,10 @@ const defaultMenu = {
|
|
title: '',
|
|
title: '',
|
|
name: '',
|
|
name: '',
|
|
icon: '',
|
|
icon: '',
|
|
|
|
+ hidden: 0,
|
|
status: 0,
|
|
status: 0,
|
|
sort: 0,
|
|
sort: 0,
|
|
- parentId: ''
|
|
|
|
|
|
+ parentId: 0
|
|
}
|
|
}
|
|
export default {
|
|
export default {
|
|
name: 'MenuForm',
|
|
name: 'MenuForm',
|
|
@@ -62,41 +70,35 @@ export default {
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
$route(route) {
|
|
$route(route) {
|
|
- if (this.$route.query.parentId != null) {
|
|
|
|
- this.resetParentId()
|
|
|
|
- } else {
|
|
|
|
- this.getFormData()
|
|
|
|
- }
|
|
|
|
|
|
+ this.getFormData()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- if (this.$route.query.parentId != null) {
|
|
|
|
- this.resetParentId()
|
|
|
|
- } else {
|
|
|
|
- this.getFormData()
|
|
|
|
- }
|
|
|
|
|
|
+ this.getFormData()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ goBack() {
|
|
|
|
+ window.history.go(-1)
|
|
|
|
+ },
|
|
isElementIcon(value) {
|
|
isElementIcon(value) {
|
|
return value && value.substr(0, 7) === 'el-icon'
|
|
return value && value.substr(0, 7) === 'el-icon'
|
|
},
|
|
},
|
|
- resetParentId() {
|
|
|
|
- if (this.$route.query.parentId != null) {
|
|
|
|
|
|
+ getFormData() {
|
|
|
|
+ if (this.$route.query.parentId) {
|
|
this.menu.parentId = this.$route.query.parentId
|
|
this.menu.parentId = this.$route.query.parentId
|
|
this.parentTitle = this.$route.query.title
|
|
this.parentTitle = this.$route.query.title
|
|
} else {
|
|
} else {
|
|
- this.menu.parentId = ''
|
|
|
|
- this.parentTitle = ''
|
|
|
|
|
|
+ this.menu.parentId = 0
|
|
|
|
+ this.parentTitle = '无'
|
|
}
|
|
}
|
|
- },
|
|
|
|
- getFormData() {
|
|
|
|
- if (this.$route.query.id != null) {
|
|
|
|
|
|
+ if (this.$route.query.id) {
|
|
this.menu.id = this.$route.query.id
|
|
this.menu.id = this.$route.query.id
|
|
this.isEdit = true
|
|
this.isEdit = true
|
|
getMenu(this.menu.id).then(response => {
|
|
getMenu(this.menu.id).then(response => {
|
|
this.menu.title = response.data.title
|
|
this.menu.title = response.data.title
|
|
this.menu.name = response.data.name
|
|
this.menu.name = response.data.name
|
|
this.menu.icon = response.data.icon
|
|
this.menu.icon = response.data.icon
|
|
|
|
+ this.menu.hidden = response.data.hidden
|
|
this.menu.status = response.data.status
|
|
this.menu.status = response.data.status
|
|
this.menu.sort = response.data.sort
|
|
this.menu.sort = response.data.sort
|
|
this.menu.parentId = response.data.parentId
|
|
this.menu.parentId = response.data.parentId
|
|
@@ -106,7 +108,6 @@ export default {
|
|
this.isEdit = false
|
|
this.isEdit = false
|
|
this.menu = Object.assign({}, defaultMenu)
|
|
this.menu = Object.assign({}, defaultMenu)
|
|
}
|
|
}
|
|
- console.log('this.menu', this.menu)
|
|
|
|
},
|
|
},
|
|
resetForm(formName) {
|
|
resetForm(formName) {
|
|
this.$refs[formName].resetFields()
|
|
this.$refs[formName].resetFields()
|