feat(bid): 完成物料管理模块全功能开发

1. 新增物料详情页路由、菜单与接口,支持查看物料报价与信息
2. 重构物料列表页面,新增品牌筛选、表格样式优化与详情跳转
3. 扩展物料实体与数据库字段,新增材质、用途、性能参数等字段
4. 新增供应商/甲方报价查询、批量对比、同名称物料匹配接口
5. 新增物料详情组件,包含基础信息、供应商报价、甲方报价标签页
6. 修复比价路由跳转路径错误,调整数据库密码配置
7. 新增物料相关SQL脚本与初始化数据
This commit is contained in:
2026-05-29 08:58:58 +08:00
parent c718ec4076
commit e521b0dfeb
26 changed files with 4871 additions and 41 deletions

View File

@@ -0,0 +1,52 @@
-- ========================================================
-- 物料信息模块数据库扩展脚本(二期)
-- 日期: 2026-05-27
-- 说明:
-- 1. 新增字段: performance_params, material, purpose, image_url
-- 2. 修改 brand 字段注释为"厂家/品牌"
-- 3. 添加物料详情页菜单配置
-- ========================================================
DELIMITER //
CREATE PROCEDURE AddColumnIfNotExists(IN tableName VARCHAR(64), IN colName VARCHAR(64), IN colDef VARCHAR(255))
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = tableName
AND column_name = colName
) THEN
SET @sql = CONCAT('ALTER TABLE ', tableName, ' ADD COLUMN ', colName, ' ', colDef);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END //
DELIMITER ;
-- 添加性能参数字段JSON格式存储
CALL AddColumnIfNotExists('biz_material', 'performance_params', "TEXT COMMENT '性能参数(JSON格式)'");
-- 添加材质字段
CALL AddColumnIfNotExists('biz_material', 'material', "VARCHAR(100) DEFAULT '' COMMENT '材质(铜/铝合金/PVC等)'");
-- 添加用途字段
CALL AddColumnIfNotExists('biz_material', 'purpose', "VARCHAR(500) DEFAULT '' COMMENT '用途'");
-- 添加物料图片URL字段
CALL AddColumnIfNotExists('biz_material', 'image_url', "VARCHAR(500) DEFAULT '' COMMENT '物料图片URL'");
-- 删除存储过程
DROP PROCEDURE IF EXISTS AddColumnIfNotExists;
-- 修改brand字段注释为"厂家/品牌"
ALTER TABLE biz_material MODIFY COLUMN brand VARCHAR(100) COMMENT '厂家/品牌';
-- 添加物料详情页菜单配置
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
(2011, '物料详情', 2001, 1, 'detail', 'bid/material/detail', NULL, 1, 0, 'C', '1', '0', 'bid:material:detail', '#', 'admin', NOW(), '', '', ''),
(2012, '物料新增', 2001, 2, 'add', 'bid/material/add', NULL, 1, 0, 'C', '1', '0', 'bid:material:add', '#', 'admin', NOW(), '', '', ''),
(2013, '物料修改', 2001, 3, 'edit', 'bid/material/edit', NULL, 1, 0, 'C', '1', '0', 'bid:material:edit', '#', 'admin', NOW(), '', '', '');