feat(bid): 新增甲方履约订单管理模块

1.  新增甲方履约菜单分类,包含待发、在途、签收三个子菜单并配置权限
2.  重构发货单号生成逻辑,支持区分供应商和甲方履约订单前缀
3.  新增甲方发货单生成功能,可从确认的甲方报价单一键创建
4.  新增京东红主题样式并支持快速切换
5.  优化物料发货记录查询,兼容两种履约订单的客户信息关联
6.  修复订单详情弹窗的空值判断和异常捕获逻辑
7.  新增配套SQL脚本用于菜单初始化和数据修复
This commit is contained in:
2026-06-15 11:09:56 +08:00
parent 8393e4940d
commit 24ab178ec1
14 changed files with 470 additions and 34 deletions

30
sql/fix_menu_rename.sql Normal file
View File

@@ -0,0 +1,30 @@
SET NAMES utf8mb4;
-- 1. 订单履约 → 供应商履约
UPDATE sys_menu SET menu_name = '供应商履约' WHERE menu_id = 2023;
-- 2. 新建甲方履约根菜单 (2040)
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
VALUES(2040, '甲方履约', 0, 23, 'client-delivery', NULL, 1, 0, 'M', '0', '0', 'bid:clientdelivery:list', 's-order', 'admin', NOW());
-- 3. 子菜单
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
VALUES(2041, '甲方待发', 2040, 1, 'pending', 'bid/clientDelivery/pending', 1, 0, 'C', '0', '0', 'bid:clientdelivery:pending', 'time', 'admin', NOW());
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
VALUES(2042, '甲方在途', 2040, 2, 'transit', 'bid/clientDelivery/transit', 1, 0, 'C', '0', '0', 'bid:clientdelivery:transit', 'truck', 'admin', NOW());
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
VALUES(2043, '甲方签收', 2040, 3, 'signed', 'bid/clientDelivery/signed', 1, 0, 'C', '0', '0', 'bid:clientdelivery:signed', 'finished', 'admin', NOW());
-- 4. 按钮权限
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
VALUES(2050, '发货确认', 2041, 1, '#', NULL, 1, 0, 'F', '0', '0', 'bid:clientdelivery:ship', '#', 'admin', NOW());
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
VALUES(2051, '签收确认', 2043, 1, '#', NULL, 1, 0, 'F', '0', '0', 'bid:clientdelivery:sign', '#', 'admin', NOW());
-- 5. admin 角色授权
INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu WHERE menu_id IN (2040, 2041, 2042, 2043, 2050, 2051);
SELECT menu_id, menu_name, parent_id FROM sys_menu WHERE menu_id IN (2023, 2040, 2041, 2042, 2043) ORDER BY menu_id;