fix(admin): 菜单管理去掉上移/下移,排序改由 sort_order 维护(产品已淘汰即时应序)

This commit is contained in:
2026-09-05 21:36:26 +08:00
parent 0248c8737d
commit 6a0eb8cf63
3 changed files with 10 additions and 27 deletions
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed, onMounted, reactive, ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { createMenu, deleteMenu, loadMenuManageTree, reorderMenus, updateMenu } from './menu-manage-api'
import { createMenu, deleteMenu, loadMenuManageTree, updateMenu } from './menu-manage-api'
import {
createMenuForm,
flattenMenuNodes,
@@ -10,7 +10,6 @@ import {
menuParentChangeReason,
menuTypeLabel,
nextSiblingSort,
siblingOrderAfterMove,
validateMenuManageForm,
type MenuManageForm,
type MenuManageNode,
@@ -108,20 +107,6 @@ async function removeMenu(node: MenuManageNode) {
}
}
/** 同级上移/下移并提交排序;到达边界则忽略。 */
async function moveMenuRow(node: MenuManageNode, dir: -1 | 1) {
const flat = flattenMenuNodes(rows.value)
const group = flat.filter((n) => (n.parentId ?? null) === (node.parentId ?? null)).map((n) => n.id)
const ordered = siblingOrderAfterMove(group, node.id, dir)
if (ordered.join(',') === group.join(',')) return
try {
await reorderMenus(ordered)
await loadMenus()
} catch (error) {
ElMessage.error(error instanceof Error ? error.message : '排序保存失败')
}
}
onMounted(loadMenus)
</script>
@@ -150,12 +135,6 @@ onMounted(loadMenus)
</el-table-column>
<el-table-column prop="createdAt" label="创建时间" min-width="150" />
<el-table-column prop="sortOrder" label="排序" width="90" />
<el-table-column label="移动" width="130">
<template #default="{ row }">
<el-button link type="primary" @click="moveMenuRow(row, -1)">上移</el-button>
<el-button link type="primary" @click="moveMenuRow(row, 1)">下移</el-button>
</template>
</el-table-column>
<el-table-column label="操作" width="160" fixed="right">
<template #default="{ row }">
<el-button link type="primary" @click="openEdit(row)">编辑</el-button>