This commit is contained in:
parent
b6bd845b73
commit
4b3d518cc3
|
|
@ -169,7 +169,7 @@ async function getMenu() {
|
||||||
menu.value.unshift({
|
menu.value.unshift({
|
||||||
'category_id': 0,
|
'category_id': 0,
|
||||||
'category_name': '未分类',
|
'category_name': '未分类',
|
||||||
'pid': 0
|
'parent_id': 0
|
||||||
})
|
})
|
||||||
menuLoading.value = false
|
menuLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close @closed="$emit('closed')">
|
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close @closed="$emit('closed')">
|
||||||
<el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
|
<el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
|
||||||
<el-form-item label="上级" prop="pid">
|
<el-form-item label="上级" prop="parent_id">
|
||||||
<el-cascader ref="categoryRef" v-model="form.pid" :options="menu" :props="menuProps" clearable
|
<el-cascader ref="categoryRef" v-model="form.parent_id" :options="menu" :props="menuProps" clearable
|
||||||
style="width: 100%;"></el-cascader>
|
style="width: 100%;"></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="名称" prop="category_name">
|
<el-form-item label="名称" prop="category_name">
|
||||||
|
|
@ -45,7 +45,7 @@ let isSaveing = ref(false)
|
||||||
let form = ref({
|
let form = ref({
|
||||||
category_id: null,
|
category_id: null,
|
||||||
category_name: "",
|
category_name: "",
|
||||||
pid: 0,
|
parent_id: 0,
|
||||||
rank: 1,
|
rank: 1,
|
||||||
type: ""
|
type: ""
|
||||||
})
|
})
|
||||||
|
|
@ -61,11 +61,11 @@ let menuProps = ref({
|
||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
})
|
})
|
||||||
|
|
||||||
function open(_mode = 'add', data = null, pid = null) {
|
function open(_mode = 'add', data = null, parent_id = null) {
|
||||||
mode.value = _mode;
|
mode.value = _mode;
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
if (pid) {
|
if (parent_id) {
|
||||||
form.value.pid = pid
|
form.value.parent_id = parent_id
|
||||||
}
|
}
|
||||||
if (data) {
|
if (data) {
|
||||||
Object.assign(form.value, data)
|
Object.assign(form.value, data)
|
||||||
|
|
@ -92,7 +92,7 @@ async function submit() {
|
||||||
let data = Object.assign({}, form.value)
|
let data = Object.assign({}, form.value)
|
||||||
// 部门获取最后一项
|
// 部门获取最后一项
|
||||||
if (categoryRef.value.getCheckedNodes().length > 0) {
|
if (categoryRef.value.getCheckedNodes().length > 0) {
|
||||||
data.pid = categoryRef.value.getCheckedNodes()[0].value
|
data.parent_id = categoryRef.value.getCheckedNodes()[0].value
|
||||||
}
|
}
|
||||||
isSaveing.value = true;
|
isSaveing.value = true;
|
||||||
const res = data.category_id ? await assetConfig.menuEditObj(data) : await assetConfig.menuAddObj(data);
|
const res = data.category_id ? await assetConfig.menuEditObj(data) : await assetConfig.menuAddObj(data);
|
||||||
|
|
|
||||||
|
|
@ -113,10 +113,10 @@ export function getMenu() {
|
||||||
return [...userMenu, ...apiMenu]
|
return [...userMenu, ...apiMenu]
|
||||||
}
|
}
|
||||||
|
|
||||||
export function makeMenu(menus, pid = 0) {
|
export function makeMenu(menus, parent_id = 0) {
|
||||||
const arr = [];
|
const arr = [];
|
||||||
for (let item of menus) {
|
for (let item of menus) {
|
||||||
if (item.pid === pid) {
|
if (item.parent_id === parent_id) {
|
||||||
// 数据格式处理
|
// 数据格式处理
|
||||||
const tmp = {
|
const tmp = {
|
||||||
name: item['name'],
|
name: item['name'],
|
||||||
|
|
|
||||||
|
|
@ -133,10 +133,10 @@ const tools = {
|
||||||
}
|
}
|
||||||
return fmt;
|
return fmt;
|
||||||
},
|
},
|
||||||
makeTreeData: function (data, pid = 0, key = "id", parent = "parent_id") {
|
makeTreeData: function (data, parent_id = 0, key = "id", parent = "parent_id") {
|
||||||
const arr = [];
|
const arr = [];
|
||||||
for (let item of data) {
|
for (let item of data) {
|
||||||
if (item[parent] == pid) {
|
if (item[parent] == parent_id) {
|
||||||
// 数据格式处理
|
// 数据格式处理
|
||||||
const tmp = item;
|
const tmp = item;
|
||||||
const children = this.makeTreeData(data, item[key], key, parent);
|
const children = this.makeTreeData(data, item[key], key, parent);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<pi-table ref="tableRef" :api="api.system.dept.list" row-key="dept_id" @selection-change="selectionChange"
|
<pi-table ref="tableRef" :api="api.system.dept.list" row-key="dept_id" primary-key="parent_id" @selection-change="selectionChange"
|
||||||
hidePagination>
|
hidePagination>
|
||||||
<template #do>
|
<template #do>
|
||||||
<el-button v-auth="'dept:add'" type="primary" icon="el-icon-plus" @click="add"></el-button>
|
<el-button v-auth="'dept:add'" type="primary" icon="el-icon-plus" @click="add"></el-button>
|
||||||
|
|
@ -108,7 +108,7 @@ async function batch_del() {
|
||||||
|
|
||||||
//表格选择后回调事件
|
//表格选择后回调事件
|
||||||
function selectionChange(e) {
|
function selectionChange(e) {
|
||||||
selection.value.value = e;
|
selection.value = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
//搜索
|
//搜索
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close @closed="$emit('closed')">
|
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close @closed="$emit('closed')">
|
||||||
<el-form :model="form" :rules="rules" :disabled="mode==='show'" ref="formRef" label-width="100px"
|
<el-form :model="form" :rules="rules" :disabled="mode==='show'" ref="formRef" label-width="100px"
|
||||||
label-position="right">
|
label-position="right">
|
||||||
<el-form-item label="上级部门" prop="pid">
|
<el-form-item label="上级部门" prop="parent_id">
|
||||||
<el-cascader v-model="form.pid" :options="groups" :props="groupsProps" :show-all-levels="false"
|
<el-cascader v-model="form.parent_id" :options="groups" :props="groupsProps" :show-all-levels="false"
|
||||||
clearable style="width: 100%;" placeholder="默认一级部门"></el-cascader>
|
clearable style="width: 100%;" placeholder="默认一级部门"></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="部门名称" prop="dept_name">
|
<el-form-item label="部门名称" prop="dept_name">
|
||||||
|
|
@ -47,7 +47,7 @@ let visible = ref(false)
|
||||||
let isSaveing = ref(false)
|
let isSaveing = ref(false)
|
||||||
let form = ref({
|
let form = ref({
|
||||||
dept_id: "",
|
dept_id: "",
|
||||||
pid: 0,
|
parent_id: 0,
|
||||||
dept_name: "",
|
dept_name: "",
|
||||||
rank: 1,
|
rank: 1,
|
||||||
status: 1,
|
status: 1,
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ function treeData(menus, menu_id) {
|
||||||
for (let item of menus) {
|
for (let item of menus) {
|
||||||
// 数据格式处理
|
// 数据格式处理
|
||||||
const tmp = item;
|
const tmp = item;
|
||||||
if (item.pid == menu_id) {
|
if (item.parent_id == menu_id) {
|
||||||
var children = treeData(menus, item.menu_id);
|
var children = treeData(menus, item.menu_id);
|
||||||
if (children.length > 0) {
|
if (children.length > 0) {
|
||||||
tmp['children'] = children
|
tmp['children'] = children
|
||||||
|
|
@ -117,7 +117,7 @@ async function add(node, data) {
|
||||||
var newMenuName = "未命名" + newMenuIndex.value++;
|
var newMenuName = "未命名" + newMenuIndex.value++;
|
||||||
var newMenuData = {
|
var newMenuData = {
|
||||||
menu_id: "",
|
menu_id: "",
|
||||||
pid: data ? data.menu_id : 0,
|
parent_id: data ? data.menu_id : 0,
|
||||||
name: newMenuName,
|
name: newMenuName,
|
||||||
path: "",
|
path: "",
|
||||||
title: newMenuName,
|
title: newMenuName,
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ let visible = ref(false)
|
||||||
let isSaveing = ref(false)
|
let isSaveing = ref(false)
|
||||||
|
|
||||||
let form = ref({
|
let form = ref({
|
||||||
pid: 0,
|
parent_id: 0,
|
||||||
title: '',
|
title: '',
|
||||||
name: '',
|
name: '',
|
||||||
path: '',
|
path: '',
|
||||||
|
|
@ -47,8 +47,8 @@ let form = ref({
|
||||||
icon: ''
|
icon: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
function open(pid) {
|
function open(parent_id) {
|
||||||
form.value.pid = pid || 0
|
form.value.parent_id = parent_id || 0
|
||||||
visible.value = true
|
visible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@
|
||||||
<el-form-item label="显示名称" prop="title">
|
<el-form-item label="显示名称" prop="title">
|
||||||
<el-input v-model="form.title" clearable placeholder="菜单显示名字" style="width: 300px;"></el-input>
|
<el-input v-model="form.title" clearable placeholder="菜单显示名字" style="width: 300px;"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="上级菜单" prop="pid">
|
<el-form-item label="上级菜单" prop="parent_id">
|
||||||
<el-cascader ref="parentId" v-model="form.pid" :options="menuOptions" :props="menuProps"
|
<el-cascader ref="parentId" v-model="form.parent_id" :options="menuOptions" :props="menuProps"
|
||||||
:show-all-levels="false" placeholder="顶级菜单" clearable style="width: 300px;"></el-cascader>
|
:show-all-levels="false" placeholder="顶级菜单" clearable style="width: 300px;"></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="类型" prop="type">
|
<el-form-item label="类型" prop="type">
|
||||||
|
|
@ -89,7 +89,7 @@ const {proxy} = getCurrentInstance()
|
||||||
|
|
||||||
let form = ref({
|
let form = ref({
|
||||||
menu_id: "",
|
menu_id: "",
|
||||||
pid: "",
|
parent_id: "",
|
||||||
belong: 0,
|
belong: 0,
|
||||||
name: "",
|
name: "",
|
||||||
path: "",
|
path: "",
|
||||||
|
|
@ -139,7 +139,7 @@ function treeToMap(tree) {
|
||||||
tree.forEach(item => {
|
tree.forEach(item => {
|
||||||
var obj = {
|
var obj = {
|
||||||
menu_id: item.menu_id,
|
menu_id: item.menu_id,
|
||||||
pid: item.pid,
|
parent_id: item.parent_id,
|
||||||
title: item.title,
|
title: item.title,
|
||||||
children: item.children && item.children.length > 0 ? treeToMap(item.children) : null
|
children: item.children && item.children.length > 0 ? treeToMap(item.children) : null
|
||||||
}
|
}
|
||||||
|
|
@ -150,8 +150,8 @@ function treeToMap(tree) {
|
||||||
|
|
||||||
async function save() {
|
async function save() {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
if (Array.isArray(form.value.pid)) {
|
if (Array.isArray(form.value.parent_id)) {
|
||||||
form.value.pid = form.value.pid[form.value.pid.length - 1] ?? 0
|
form.value.parent_id = form.value.parent_id[form.value.parent_id.length - 1] ?? 0
|
||||||
}
|
}
|
||||||
const res = form.value.menu_id == "" ? await api.system.menu.add(form.value) :
|
const res = form.value.menu_id == "" ? await api.system.menu.add(form.value) :
|
||||||
await api.system.menu.edit(form.value);
|
await api.system.menu.edit(form.value);
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ onMounted(() => {
|
||||||
|
|
||||||
async function getMenu() {
|
async function getMenu() {
|
||||||
const res = await api.system.menu.list();
|
const res = await api.system.menu.list();
|
||||||
menu.value.list = tools.makeTreeData(res.data, 0, "menu_id", "pid");
|
menu.value.list = tools.makeTreeData(res.data, 0, "menu_id", "parent_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
//显示
|
//显示
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue