This commit is contained in:
zhang zhuo 2026-01-25 20:37:45 +08:00
parent b6bd845b73
commit 4b3d518cc3
10 changed files with 29 additions and 29 deletions

View File

@ -169,7 +169,7 @@ async function getMenu() {
menu.value.unshift({
'category_id': 0,
'category_name': '未分类',
'pid': 0
'parent_id': 0
})
menuLoading.value = false
}

View File

@ -1,8 +1,8 @@
<template>
<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-item label="上级" prop="pid">
<el-cascader ref="categoryRef" v-model="form.pid" :options="menu" :props="menuProps" clearable
<el-form-item label="上级" prop="parent_id">
<el-cascader ref="categoryRef" v-model="form.parent_id" :options="menu" :props="menuProps" clearable
style="width: 100%;"></el-cascader>
</el-form-item>
<el-form-item label="名称" prop="category_name">
@ -45,7 +45,7 @@ let isSaveing = ref(false)
let form = ref({
category_id: null,
category_name: "",
pid: 0,
parent_id: 0,
rank: 1,
type: ""
})
@ -61,11 +61,11 @@ let menuProps = ref({
checkStrictly: true
})
function open(_mode = 'add', data = null, pid = null) {
function open(_mode = 'add', data = null, parent_id = null) {
mode.value = _mode;
visible.value = true;
if (pid) {
form.value.pid = pid
if (parent_id) {
form.value.parent_id = parent_id
}
if (data) {
Object.assign(form.value, data)
@ -92,7 +92,7 @@ async function submit() {
let data = Object.assign({}, form.value)
//
if (categoryRef.value.getCheckedNodes().length > 0) {
data.pid = categoryRef.value.getCheckedNodes()[0].value
data.parent_id = categoryRef.value.getCheckedNodes()[0].value
}
isSaveing.value = true;
const res = data.category_id ? await assetConfig.menuEditObj(data) : await assetConfig.menuAddObj(data);

View File

@ -113,10 +113,10 @@ export function getMenu() {
return [...userMenu, ...apiMenu]
}
export function makeMenu(menus, pid = 0) {
export function makeMenu(menus, parent_id = 0) {
const arr = [];
for (let item of menus) {
if (item.pid === pid) {
if (item.parent_id === parent_id) {
// 数据格式处理
const tmp = {
name: item['name'],

View File

@ -133,10 +133,10 @@ const tools = {
}
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 = [];
for (let item of data) {
if (item[parent] == pid) {
if (item[parent] == parent_id) {
// 数据格式处理
const tmp = item;
const children = this.makeTreeData(data, item[key], key, parent);

View File

@ -1,5 +1,5 @@
<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>
<template #do>
<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) {
selection.value.value = e;
selection.value = e;
}
//

View File

@ -2,8 +2,8 @@
<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"
label-position="right">
<el-form-item label="上级部门" prop="pid">
<el-cascader v-model="form.pid" :options="groups" :props="groupsProps" :show-all-levels="false"
<el-form-item label="上级部门" prop="parent_id">
<el-cascader v-model="form.parent_id" :options="groups" :props="groupsProps" :show-all-levels="false"
clearable style="width: 100%;" placeholder="默认一级部门"></el-cascader>
</el-form-item>
<el-form-item label="部门名称" prop="dept_name">
@ -47,7 +47,7 @@ let visible = ref(false)
let isSaveing = ref(false)
let form = ref({
dept_id: "",
pid: 0,
parent_id: 0,
dept_name: "",
rank: 1,
status: 1,

View File

@ -91,7 +91,7 @@ function treeData(menus, menu_id) {
for (let item of menus) {
//
const tmp = item;
if (item.pid == menu_id) {
if (item.parent_id == menu_id) {
var children = treeData(menus, item.menu_id);
if (children.length > 0) {
tmp['children'] = children
@ -117,7 +117,7 @@ async function add(node, data) {
var newMenuName = "未命名" + newMenuIndex.value++;
var newMenuData = {
menu_id: "",
pid: data ? data.menu_id : 0,
parent_id: data ? data.menu_id : 0,
name: newMenuName,
path: "",
title: newMenuName,

View File

@ -39,7 +39,7 @@ let visible = ref(false)
let isSaveing = ref(false)
let form = ref({
pid: 0,
parent_id: 0,
title: '',
name: '',
path: '',
@ -47,8 +47,8 @@ let form = ref({
icon: ''
})
function open(pid) {
form.value.pid = pid || 0
function open(parent_id) {
form.value.parent_id = parent_id || 0
visible.value = true
}

View File

@ -10,8 +10,8 @@
<el-form-item label="显示名称" prop="title">
<el-input v-model="form.title" clearable placeholder="菜单显示名字" style="width: 300px;"></el-input>
</el-form-item>
<el-form-item label="上级菜单" prop="pid">
<el-cascader ref="parentId" v-model="form.pid" :options="menuOptions" :props="menuProps"
<el-form-item label="上级菜单" prop="parent_id">
<el-cascader ref="parentId" v-model="form.parent_id" :options="menuOptions" :props="menuProps"
:show-all-levels="false" placeholder="顶级菜单" clearable style="width: 300px;"></el-cascader>
</el-form-item>
<el-form-item label="类型" prop="type">
@ -89,7 +89,7 @@ const {proxy} = getCurrentInstance()
let form = ref({
menu_id: "",
pid: "",
parent_id: "",
belong: 0,
name: "",
path: "",
@ -139,7 +139,7 @@ function treeToMap(tree) {
tree.forEach(item => {
var obj = {
menu_id: item.menu_id,
pid: item.pid,
parent_id: item.parent_id,
title: item.title,
children: item.children && item.children.length > 0 ? treeToMap(item.children) : null
}
@ -150,8 +150,8 @@ function treeToMap(tree) {
async function save() {
loading.value = true
if (Array.isArray(form.value.pid)) {
form.value.pid = form.value.pid[form.value.pid.length - 1] ?? 0
if (Array.isArray(form.value.parent_id)) {
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) :
await api.system.menu.edit(form.value);

View File

@ -80,7 +80,7 @@ onMounted(() => {
async function getMenu() {
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");
}
//