fix: resolve func undefined in menu init and slice error on undefined array in kitting vue

This commit is contained in:
DXC
2026-03-24 09:42:57 +08:00
parent 8af460b5d4
commit fd47c5ebbe
2 changed files with 8 additions and 6 deletions

View File

@ -1,5 +1,6 @@
from app.models.system import SysMenu, SysElement, SysRolePermission
from app.extensions import db
from sqlalchemy import func
from sqlalchemy.exc import SQLAlchemyError
@ -401,7 +402,7 @@ class PermissionService:
# 定义菜单结构 (code, name, path, parent_code, sort_order)
menu_defs = [
# 顶级菜单 (按侧边栏顺序)
('material_mgmt', '基础信息管理', '/material', None, 10),
('material_mgmt', '基础信息管理', '/basic', None, 10),
('inventory_mgmt', '入库管理', '/inventory', None, 20),
('stocktake_mgmt', '盘点管理', '/stocktake', None, 30),
('outbound_mgmt', '出库管理', '/outbound', None, 40),
@ -410,8 +411,9 @@ class PermissionService:
('scrap_mgmt', '报废管理', '/scrap', None, 70),
('system_mgmt', '系统管理', '/system', None, 80),
# 基础信息子菜单
('material_base', '基础信息', '/material/index', 'material_mgmt', 1),
# 基础信息子菜单/basic 父级下的两个子路由)
('material_base', '物料基础信息', '/basic/material', 'material_mgmt', 1),
('basic_kitting', '产能与齐套分析', '/basic/kitting', 'material_mgmt', 2),
# 入库管理子菜单
('inbound_buy', '采购入库', '/inventory/buy', 'inventory_mgmt', 1),

View File

@ -302,7 +302,7 @@ const pageSize = ref(20)
const filteredTableData = computed(() => {
if (!searchKeyword.value.trim()) return paginatedData.value
const kw = searchKeyword.value.trim().toLowerCase()
return tableData.value.filter(item =>
return (tableData.value || []).filter((item: any) =>
(item.bom_no || '').toLowerCase().includes(kw) ||
(item.parent_name || '').toLowerCase().includes(kw)
)
@ -310,7 +310,7 @@ const filteredTableData = computed(() => {
const paginatedData = computed(() => {
const start = (page.value - 1) * pageSize.value
return filteredTableData.value.slice(start, start + pageSize.value)
return (filteredTableData.value || []).slice(start, start + pageSize.value)
})
const handleFilter = () => {
@ -330,7 +330,7 @@ const loadData = async () => {
try {
// 1. 读取用户监控列表
const prefRes: any = await getUserPreferences()
const watchlist: any[] = prefRes.data?.bom_kitting_watchlist || []
const watchlist: any[] = (prefRes.data?.bom_kitting_watchlist) || []
if (!watchlist.length) {
tableData.value = []
loading.value = false