fix: resolve func undefined in menu init and slice error on undefined array in kitting vue
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
from app.models.system import SysMenu, SysElement, SysRolePermission
|
from app.models.system import SysMenu, SysElement, SysRolePermission
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
|
from sqlalchemy import func
|
||||||
from sqlalchemy.exc import SQLAlchemyError
|
from sqlalchemy.exc import SQLAlchemyError
|
||||||
|
|
||||||
|
|
||||||
@ -401,7 +402,7 @@ class PermissionService:
|
|||||||
# 定义菜单结构 (code, name, path, parent_code, sort_order)
|
# 定义菜单结构 (code, name, path, parent_code, sort_order)
|
||||||
menu_defs = [
|
menu_defs = [
|
||||||
# 顶级菜单 (按侧边栏顺序)
|
# 顶级菜单 (按侧边栏顺序)
|
||||||
('material_mgmt', '基础信息管理', '/material', None, 10),
|
('material_mgmt', '基础信息管理', '/basic', None, 10),
|
||||||
('inventory_mgmt', '入库管理', '/inventory', None, 20),
|
('inventory_mgmt', '入库管理', '/inventory', None, 20),
|
||||||
('stocktake_mgmt', '盘点管理', '/stocktake', None, 30),
|
('stocktake_mgmt', '盘点管理', '/stocktake', None, 30),
|
||||||
('outbound_mgmt', '出库管理', '/outbound', None, 40),
|
('outbound_mgmt', '出库管理', '/outbound', None, 40),
|
||||||
@ -410,8 +411,9 @@ class PermissionService:
|
|||||||
('scrap_mgmt', '报废管理', '/scrap', None, 70),
|
('scrap_mgmt', '报废管理', '/scrap', None, 70),
|
||||||
('system_mgmt', '系统管理', '/system', None, 80),
|
('system_mgmt', '系统管理', '/system', None, 80),
|
||||||
|
|
||||||
# 基础信息子菜单
|
# 基础信息子菜单(/basic 父级下的两个子路由)
|
||||||
('material_base', '基础信息', '/material/index', 'material_mgmt', 1),
|
('material_base', '物料基础信息', '/basic/material', 'material_mgmt', 1),
|
||||||
|
('basic_kitting', '产能与齐套分析', '/basic/kitting', 'material_mgmt', 2),
|
||||||
|
|
||||||
# 入库管理子菜单
|
# 入库管理子菜单
|
||||||
('inbound_buy', '采购入库', '/inventory/buy', 'inventory_mgmt', 1),
|
('inbound_buy', '采购入库', '/inventory/buy', 'inventory_mgmt', 1),
|
||||||
|
|||||||
@ -302,7 +302,7 @@ const pageSize = ref(20)
|
|||||||
const filteredTableData = computed(() => {
|
const filteredTableData = computed(() => {
|
||||||
if (!searchKeyword.value.trim()) return paginatedData.value
|
if (!searchKeyword.value.trim()) return paginatedData.value
|
||||||
const kw = searchKeyword.value.trim().toLowerCase()
|
const kw = searchKeyword.value.trim().toLowerCase()
|
||||||
return tableData.value.filter(item =>
|
return (tableData.value || []).filter((item: any) =>
|
||||||
(item.bom_no || '').toLowerCase().includes(kw) ||
|
(item.bom_no || '').toLowerCase().includes(kw) ||
|
||||||
(item.parent_name || '').toLowerCase().includes(kw)
|
(item.parent_name || '').toLowerCase().includes(kw)
|
||||||
)
|
)
|
||||||
@ -310,7 +310,7 @@ const filteredTableData = computed(() => {
|
|||||||
|
|
||||||
const paginatedData = computed(() => {
|
const paginatedData = computed(() => {
|
||||||
const start = (page.value - 1) * pageSize.value
|
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 = () => {
|
const handleFilter = () => {
|
||||||
@ -330,7 +330,7 @@ const loadData = async () => {
|
|||||||
try {
|
try {
|
||||||
// 1. 读取用户监控列表
|
// 1. 读取用户监控列表
|
||||||
const prefRes: any = await getUserPreferences()
|
const prefRes: any = await getUserPreferences()
|
||||||
const watchlist: any[] = prefRes.data?.bom_kitting_watchlist || []
|
const watchlist: any[] = (prefRes.data?.bom_kitting_watchlist) || []
|
||||||
if (!watchlist.length) {
|
if (!watchlist.length) {
|
||||||
tableData.value = []
|
tableData.value = []
|
||||||
loading.value = false
|
loading.value = false
|
||||||
|
|||||||
Reference in New Issue
Block a user