|
|
@ -11,12 +11,6 @@ |
|
|
<el-radio v-for="(type, index) in dataForm.typeList" :label="index" :key="index">{{ type }}</el-radio> |
|
|
<el-radio v-for="(type, index) in dataForm.typeList" :label="index" :key="index">{{ type }}</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="目录编号" prop="menuId"> |
|
|
|
|
|
<el-input :readonly="dataForm.id?true:false" style="width: 349px;" v-model="dataForm.menuId"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="目录名称" prop="name"> |
|
|
|
|
|
<el-input style="width: 349px;" v-model="dataForm.name"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item :label="buttons.parentName ||'上级菜单'" prop="parentName"> |
|
|
<el-form-item :label="buttons.parentName ||'上级菜单'" prop="parentName"> |
|
|
<el-popover |
|
|
<el-popover |
|
|
ref="menuListPopover" |
|
|
ref="menuListPopover" |
|
|
@ -37,6 +31,12 @@ |
|
|
</el-popover> |
|
|
</el-popover> |
|
|
<el-input style="width: 349px;" v-model="dataForm.parentName" v-popover:menuListPopover :readonly="true" class="menu-list__input"></el-input> |
|
|
<el-input style="width: 349px;" v-model="dataForm.parentName" v-popover:menuListPopover :readonly="true" class="menu-list__input"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="目录编号" prop="menuId"> |
|
|
|
|
|
<el-input :readonly="dataForm.id?true:false" style="width: 349px;" v-model="dataForm.menuId" oninput="value=value.replace(/[^\d]/g, '')"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="目录名称" prop="name"> |
|
|
|
|
|
<el-input style="width: 349px;" v-model="dataForm.name"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
<el-form-item v-if="dataForm.type === 1" :label="buttons.route || '菜单路由'" prop="url"> |
|
|
<el-form-item v-if="dataForm.type === 1" :label="buttons.route || '菜单路由'" prop="url"> |
|
|
<el-input style="width: 349px;" v-model="dataForm.url" placeholder="菜单路由"></el-input> |
|
|
<el-input style="width: 349px;" v-model="dataForm.url" placeholder="菜单路由"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -119,6 +119,10 @@ |
|
|
typeName:'名称' |
|
|
typeName:'名称' |
|
|
}, |
|
|
}, |
|
|
dataRule: { |
|
|
dataRule: { |
|
|
|
|
|
menuId: [ |
|
|
|
|
|
{ required: true, message: '目录编号不能为空', trigger: 'blur' }, |
|
|
|
|
|
{ pattern: /^\d+$/, message: '目录编号必须是纯数字', trigger: 'blur' } |
|
|
|
|
|
], |
|
|
name: [ |
|
|
name: [ |
|
|
{ required: true, message: '菜单名称不能为空', trigger: 'blur' } |
|
|
{ required: true, message: '菜单名称不能为空', trigger: 'blur' } |
|
|
], |
|
|
], |
|
|
@ -154,6 +158,7 @@ |
|
|
code:'编号' |
|
|
code:'编号' |
|
|
}, |
|
|
}, |
|
|
menuList: [], |
|
|
menuList: [], |
|
|
|
|
|
flatMenuList: [], |
|
|
menuListTreeProps: { |
|
|
menuListTreeProps: { |
|
|
label: 'name', |
|
|
label: 'name', |
|
|
children: 'children' |
|
|
children: 'children' |
|
|
@ -172,6 +177,7 @@ |
|
|
method: 'get', |
|
|
method: 'get', |
|
|
params: this.$http.adornParams() |
|
|
params: this.$http.adornParams() |
|
|
}).then(({data}) => { |
|
|
}).then(({data}) => { |
|
|
|
|
|
this.flatMenuList = data.menuList || [] |
|
|
this.menuList = treeDataTranslate(data.menuList, 'menuId') |
|
|
this.menuList = treeDataTranslate(data.menuList, 'menuId') |
|
|
}).then(() => { |
|
|
}).then(() => { |
|
|
this.visible = true |
|
|
this.visible = true |
|
|
@ -224,6 +230,17 @@ |
|
|
this.dataForm.parentId = data.menuId |
|
|
this.dataForm.parentId = data.menuId |
|
|
this.dataForm.parentName = data.name |
|
|
this.dataForm.parentName = data.name |
|
|
this.treeVisible = false |
|
|
this.treeVisible = false |
|
|
|
|
|
|
|
|
|
|
|
// 在添加时,根据用户选的上级菜单的menuId作为parentId去查最大的menuId+1,赋值给目录编码 |
|
|
|
|
|
if (!this.dataForm.id) { |
|
|
|
|
|
let children = this.flatMenuList.filter(item => item.parentId === data.menuId) |
|
|
|
|
|
if (children.length > 0) { |
|
|
|
|
|
let maxId = Math.max(...children.map(item => Number(item.menuId))) |
|
|
|
|
|
this.dataForm.menuId = String(maxId + 1) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.dataForm.menuId = String(data.menuId) + '01' |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
// 菜单树设置当前选中节点 |
|
|
// 菜单树设置当前选中节点 |
|
|
menuListTreeSetCurrentNode () { |
|
|
menuListTreeSetCurrentNode () { |
|
|
|