This commit is contained in:
hero920103 committed 2026-10-19 01:13:17 +08:00
1 parent 5718a00e31
commit 1850ac640e
226 files changed
+37772 -12071

No files matched your search

+52 -2
View File
@@ -9,7 +9,7 @@
-- 基础资料 -> 商品 / 供应商 / 客户 / 仓库
-- 采购管理 -> 采购订单 / 采购入库 / 采购退货
-- 销售管理 -> 销售订单 / 销售出库 / 销售退货
-- 库存管理 -> 入库 / 出库 / 调拨 / 盘点 / 库存查询
-- 库存管理 -> 入库 / 出库 / 调拨 / 盘点 / 库存查询 / 库存预警
-- 财务管理 -> 应收 / 应付 / 收付款
-- 报表中心 -> 报表中心
-- 系统管理 -> 系统管理 / 账套管理(账套列表)/ 基础设置
@@ -18,7 +18,8 @@
-- type 1=目录(大类),2=页面(小类)
-- views '[2]' 租户端:Web 租户后台与移动端共用同一份菜单
-- platforms 留 NULL:展示端继承 erp 模块配置
-- 未实现的页面 component_path 留空:Web 端为空白页,移动端落到「功能开发中」占位页
-- component_path 由「3.1 页面文件登记」统一写入;未登记的菜单 Web 端为空白页,
-- 移动端落到「功能开发中」占位页
-- icon 完整 Font Awesome 类名;移动端必须落在 uniapp/utils/fa-icons.js 白名单内才显示
SET @erp_id := (
@@ -139,6 +140,7 @@ INSERT INTO tmp_erp_leaf (parent_path, title, path, icon, sort, remark) VALUES
('/apps/erp/stock', '调拨', '/apps/erp/stock/transfer', 'fa-solid fa-right-left', 3, '仓库调拨'),
('/apps/erp/stock', '盘点', '/apps/erp/stock/taking', 'fa-solid fa-clipboard-check', 4, '库存盘点'),
('/apps/erp/stock', '库存查询', '/apps/erp/stock/query', 'fa-solid fa-magnifying-glass', 5, '库存查询'),
('/apps/erp/stock', '库存预警', '/apps/erp/stock/warning', 'fa-solid fa-triangle-exclamation', 6, '缺货预警与智能补货'),
('/apps/erp/finance', '应收', '/apps/erp/finance/receivable', 'fa-solid fa-file-invoice-dollar', 1, '应收账款'),
('/apps/erp/finance', '应付', '/apps/erp/finance/payable', 'fa-solid fa-money-check-dollar', 2, '应付账款'),
('/apps/erp/finance', '收付款', '/apps/erp/finance/payment', 'fa-solid fa-cash-register', 3, '收付款单'),
@@ -155,6 +157,54 @@ WHERE e.id IS NULL;
DROP TEMPORARY TABLE IF EXISTS tmp_erp_leaf;
-- ---------- 3.1 页面文件登记 ----------
-- 前端 pathResolver 先按 component_path 精确匹配,命中不到才按文件名模糊兜底,
-- 模糊兜底会把菜单渲染成另一个同名 index.vue,所以这里一律写从 src/views 起的完整路径。
DROP TEMPORARY TABLE IF EXISTS tmp_erp_page;
CREATE TEMPORARY TABLE tmp_erp_page (
path VARCHAR(200) NOT NULL,
component_path VARCHAR(255) NOT NULL,
PRIMARY KEY (path)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
INSERT INTO tmp_erp_page (path, component_path) VALUES
('/apps/erp/basic/product', '/apps/erp/basic/product.vue'),
('/apps/erp/basic/warehouse', '/apps/erp/basic/warehouse.vue'),
('/apps/erp/purchase/order', '/apps/erp/purchase/order.vue'),
('/apps/erp/purchase/inbound', '/apps/erp/purchase/inbound.vue'),
('/apps/erp/purchase/return', '/apps/erp/purchase/return.vue'),
('/apps/erp/sales/order', '/apps/erp/sales/order.vue'),
('/apps/erp/sales/outbound', '/apps/erp/sales/outbound.vue'),
('/apps/erp/sales/return', '/apps/erp/sales/return.vue'),
('/apps/erp/stock/inbound', '/apps/erp/stock/inbound.vue'),
('/apps/erp/stock/outbound', '/apps/erp/stock/outbound.vue'),
('/apps/erp/stock/transfer', '/apps/erp/stock/transfer.vue'),
('/apps/erp/stock/taking', '/apps/erp/stock/taking.vue'),
('/apps/erp/stock/query', '/apps/erp/stock/query.vue'),
('/apps/erp/stock/warning', '/apps/erp/stock/warning.vue'),
('/apps/erp/finance/receivable', '/apps/erp/finance/receivable.vue'),
('/apps/erp/finance/payable', '/apps/erp/finance/payable.vue'),
('/apps/erp/finance/payment', '/apps/erp/finance/payment.vue'),
('/apps/erp/report/index', '/apps/erp/report/index.vue'),
('/apps/erp/system/index', '/apps/erp/system/index.vue'),
('/apps/erp/ProgramManagement', '/apps/erp/ProgramManagement/index.vue');
UPDATE yz_system_menu m
JOIN tmp_erp_page t ON t.path = m.path
SET m.component_path = t.component_path, m.update_time = NOW()
WHERE m.delete_time IS NULL AND (m.component_path IS NULL OR m.component_path <> t.component_path);
-- 基础设置 历史上挂成目录(type=1)又没有子菜单,登记页面后按叶子菜单处理
UPDATE yz_system_menu SET type = 2, update_time = NOW()
WHERE delete_time IS NULL AND path = '/apps/erp/ProgramManagement' AND type = 1;
-- 菜单行还没建(上一节未生效)时这里会列出来,执行后应重新跑一次本脚本
SELECT t.path AS 未登记菜单 FROM tmp_erp_page t
LEFT JOIN yz_system_menu m ON m.path = t.path AND m.delete_time IS NULL
WHERE m.id IS NULL;
DROP TEMPORARY TABLE IF EXISTS tmp_erp_page;
-- 补图标:迁移过来的菜单原本没有图标,移动端会退化成兜底图标,这里只填空值、不覆盖已有配置
UPDATE yz_system_menu SET icon = 'fa-solid fa-store', update_time = NOW()
WHERE delete_time IS NULL AND path = '/apps/erp/suppliers' AND (icon IS NULL OR icon = '');