增加招投标模块
This commit is contained in:
@@ -0,0 +1,526 @@
|
||||
-- =============================================================
|
||||
-- CRM 招投标管理模块表结构(17 张)
|
||||
--
|
||||
-- 模块说明:CRM 系统下的「招投标管理」子模块
|
||||
-- - 我要招标(甲方):6 张表
|
||||
-- - 我要投标(乙方):11 张表
|
||||
-- 设计原则:
|
||||
-- 1. 命名统一以 yz_backend_crm_bidding_ 为前缀
|
||||
-- 2. 软删除:delete_time
|
||||
-- 3. 多租户:tenant_id
|
||||
-- 4. 与现有 CRM 模块(business/contract/project)字段风格一致
|
||||
-- 5. 中标/定标后只存 ID 引用(contract_id、project_id),不冗余数据
|
||||
--
|
||||
-- 状态机:
|
||||
-- 招标:0草稿 -> 1公告中 -> 2报名中 -> 3投标中 -> 4开标中 -> 5评标中 -> 6已定标 -> 7已归档
|
||||
-- 投标:0草稿 -> 1立项审批中 -> 2投标中 -> 3已开标 -> (4中标 | 5落标) -> (6已转合同 | 7已归档)
|
||||
-- =============================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ============================================================
|
||||
-- 第一部分:我要招标(6 张)
|
||||
-- ============================================================
|
||||
|
||||
-- ---------------- 1. 招标项目主表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_tender` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '租户ID',
|
||||
`tender_no` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '招标编号',
|
||||
`title` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '招标标题/项目名称',
|
||||
`tender_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '招标类型: 1公开招标 2邀请招标 3竞争性谈判 4询比 5单一来源',
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '0草稿 1公告中 2报名中 3投标中 4开标中 5评标中 6已定标 7已归档',
|
||||
`customer_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '招标方客户ID(我方客户库)',
|
||||
`customer_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '招标方名称',
|
||||
`publish_org` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '发布单位',
|
||||
`budget_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '预算金额',
|
||||
`bid_deposit` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '保证金',
|
||||
`publish_date` DATE DEFAULT NULL COMMENT '发布日期',
|
||||
`register_start_date` DATETIME DEFAULT NULL COMMENT '报名开始',
|
||||
`register_end_date` DATETIME DEFAULT NULL COMMENT '报名截止',
|
||||
`bid_start_date` DATETIME DEFAULT NULL COMMENT '投标开始',
|
||||
`bid_end_date` DATETIME DEFAULT NULL COMMENT '投标截止',
|
||||
`open_bid_date` DATETIME DEFAULT NULL COMMENT '开标时间',
|
||||
`contact_person` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '联系人',
|
||||
`contact_phone` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '联系电话',
|
||||
`contact_email` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '联系邮箱',
|
||||
`bid_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '投标地址',
|
||||
`open_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '开标地址',
|
||||
`description` TEXT COMMENT '项目描述',
|
||||
`requirement` TEXT COMMENT '投标要求',
|
||||
`evaluation_method` VARCHAR(50) NOT NULL DEFAULT '1' COMMENT '评标方法: 1综合评估 2最低价 3性价比',
|
||||
`winner_supplier_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '中标供应商ID',
|
||||
`winner_supplier_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '中标供应商名称',
|
||||
`winner_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '中标金额',
|
||||
`winner_date` DATETIME DEFAULT NULL COMMENT '定标时间',
|
||||
`contract_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '转合同ID',
|
||||
`project_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联项目ID',
|
||||
`owner_user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '负责人ID',
|
||||
`owner_user_name` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '负责人姓名',
|
||||
`department_id` BIGINT UNSIGNED DEFAULT 0 COMMENT '部门ID',
|
||||
`locked` TINYINT NOT NULL DEFAULT 0 COMMENT '0否 1是(定标后锁定)',
|
||||
`remark` TEXT COMMENT '备注',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_status` (`tenant_id`, `status`),
|
||||
KEY `idx_tender_no` (`tenant_id`, `tender_no`),
|
||||
KEY `idx_owner` (`tenant_id`, `owner_user_id`),
|
||||
KEY `idx_customer` (`tenant_id`, `customer_id`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-招标项目主表';
|
||||
|
||||
-- ---------------- 2. 招标文件表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_tender_file` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`tender_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '招标项目ID',
|
||||
`file_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1招标文件 2补充文件 3答疑文件 4其他',
|
||||
`file_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文件名称',
|
||||
`file_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '文件URL',
|
||||
`file_size` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
|
||||
`file_ext` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '扩展名',
|
||||
`upload_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`upload_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`remark` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_tender` (`tenant_id`, `tender_id`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-招标文件';
|
||||
|
||||
-- ---------------- 3. 招标公告表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_tender_announce` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`tender_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '招标项目ID',
|
||||
`announce_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1招标公告 2变更公告 3中标公告 4终止公告',
|
||||
`title` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '公告标题',
|
||||
`content` LONGTEXT COMMENT '公告内容(富文本)',
|
||||
`publish_status` TINYINT NOT NULL DEFAULT 0 COMMENT '0草稿 1已发布',
|
||||
`publish_time` DATETIME DEFAULT NULL COMMENT '发布时间',
|
||||
`view_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览次数',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_tender` (`tenant_id`, `tender_id`),
|
||||
KEY `idx_announce_type` (`tenant_id`, `announce_type`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-招标公告';
|
||||
|
||||
-- ---------------- 4. 投标方/供应商表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_tender_supplier` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`tender_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '招标项目ID',
|
||||
`supplier_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '供应商ID(ERP/CRM共享)',
|
||||
`supplier_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '投标方/供应商名称',
|
||||
`register_status` TINYINT NOT NULL DEFAULT 1 COMMENT '1待审核 2已通过 3已拒绝 4已退标',
|
||||
`register_time` DATETIME DEFAULT NULL COMMENT '报名时间',
|
||||
`bid_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '报价金额',
|
||||
`bid_files` TEXT COMMENT '投标文件JSON(多文件)',
|
||||
`contact_person` VARCHAR(50) NOT NULL DEFAULT '',
|
||||
`contact_phone` VARCHAR(20) NOT NULL DEFAULT '',
|
||||
`is_winner` TINYINT NOT NULL DEFAULT 0 COMMENT '0否 1是中标方',
|
||||
`ranking` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '排名',
|
||||
`remark` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_tender` (`tenant_id`, `tender_id`),
|
||||
KEY `idx_supplier` (`tenant_id`, `supplier_id`),
|
||||
KEY `idx_register_status` (`tenant_id`, `register_status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标方/供应商';
|
||||
|
||||
-- ---------------- 5. 开标评标表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_tender_evaluation` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`tender_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '招标项目ID',
|
||||
`supplier_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '被评标供应商ID',
|
||||
`supplier_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '供应商名称',
|
||||
`technical_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '技术分',
|
||||
`business_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '商务分',
|
||||
`price_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '价格分',
|
||||
`service_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '服务分',
|
||||
`total_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '总分',
|
||||
`weight_config` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '权重配置JSON',
|
||||
`ranking` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '排名',
|
||||
`evaluation_user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '评标人ID',
|
||||
`evaluation_user_name` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '评标人姓名',
|
||||
`evaluation_time` DATETIME DEFAULT NULL COMMENT '评标时间',
|
||||
`comment` TEXT COMMENT '评语',
|
||||
`result` TINYINT NOT NULL DEFAULT 0 COMMENT '0待评 1合格 2不合格 3废标',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_tender` (`tenant_id`, `tender_id`),
|
||||
KEY `idx_supplier` (`tenant_id`, `supplier_id`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-开标评标';
|
||||
|
||||
-- ---------------- 6. 定标结果表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_tender_result` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`tender_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '招标项目ID',
|
||||
`result_type` TINYINT NOT NULL DEFAULT 1 COMMENT '1定标 2流标 3废标',
|
||||
`winner_supplier_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '中标供应商ID',
|
||||
`winner_supplier_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '中标供应商名称',
|
||||
`winner_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '中标金额',
|
||||
`result_date` DATETIME DEFAULT NULL COMMENT '定标日期',
|
||||
`announcement` TEXT COMMENT '定标公告',
|
||||
`contract_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '转合同ID',
|
||||
`project_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联项目ID',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_tender` (`tenant_id`, `tender_id`),
|
||||
KEY `idx_result_type` (`tenant_id`, `result_type`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-定标结果';
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 第二部分:我要投标(11 张)
|
||||
-- ============================================================
|
||||
|
||||
-- ---------------- 7. 投标项目主表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_no` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '投标编号',
|
||||
`title` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '投标标题/项目名称',
|
||||
`bid_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '投标类型: 1公开 2邀请 3竞争性谈判 4询比 5单一来源',
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '0草稿 1立项审批中 2投标中 3已开标 4中标 5落标 6已转合同 7已归档',
|
||||
`source_type` TINYINT NOT NULL DEFAULT 0 COMMENT '0独立 1商机 2项目',
|
||||
`source_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '来源ID(商机/项目)',
|
||||
`business_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联商机ID',
|
||||
`business_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '商机名称',
|
||||
`project_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联项目ID(中转)',
|
||||
`project_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '项目名称',
|
||||
`tender_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联招标项目ID(如果从招标信息创建)',
|
||||
`tender_no` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '招标编号',
|
||||
`customer_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '招标方ID',
|
||||
`customer_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '招标方名称',
|
||||
`publish_org` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '发布单位',
|
||||
`bid_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '投标报价',
|
||||
`bid_deposit` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '保证金',
|
||||
`publish_date` DATE DEFAULT NULL COMMENT '招标发布日期',
|
||||
`register_end_date` DATETIME DEFAULT NULL COMMENT '报名截止',
|
||||
`bid_end_date` DATETIME DEFAULT NULL COMMENT '投标截止',
|
||||
`open_bid_date` DATETIME DEFAULT NULL COMMENT '开标时间',
|
||||
`contact_person` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '联系人',
|
||||
`contact_phone` VARCHAR(20) NOT NULL DEFAULT '',
|
||||
`bid_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '投标地址',
|
||||
`open_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '开标地址',
|
||||
`win_status` TINYINT NOT NULL DEFAULT 0 COMMENT '0未开标 1中标 2未中标 3废标 4流标',
|
||||
`win_date` DATETIME DEFAULT NULL COMMENT '中标日期',
|
||||
`our_ranking` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '我方排名',
|
||||
`total_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '我方得分',
|
||||
`competitor_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '竞争对手数量',
|
||||
`contract_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '转合同ID',
|
||||
`new_project_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '中标后新建项目ID',
|
||||
`owner_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`owner_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`department_id` BIGINT UNSIGNED DEFAULT 0 COMMENT '部门ID',
|
||||
`description` TEXT COMMENT '项目描述',
|
||||
`remark` TEXT COMMENT '备注',
|
||||
`locked` TINYINT NOT NULL DEFAULT 0 COMMENT '0否 1是',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_status` (`tenant_id`, `status`),
|
||||
KEY `idx_bid_no` (`tenant_id`, `bid_no`),
|
||||
KEY `idx_owner` (`tenant_id`, `owner_user_id`),
|
||||
KEY `idx_business` (`tenant_id`, `business_id`),
|
||||
KEY `idx_project` (`tenant_id`, `project_id`),
|
||||
KEY `idx_tender` (`tenant_id`, `tender_id`),
|
||||
KEY `idx_customer` (`tenant_id`, `customer_id`),
|
||||
KEY `idx_win_status` (`tenant_id`, `win_status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标项目主表';
|
||||
|
||||
-- ---------------- 8. 投标文件表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_file` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`file_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1投标文件 2技术方案 3商务方案 4报价单 5保证金 7其他',
|
||||
`file_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`file_url` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`file_size` BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`file_ext` VARCHAR(20) NOT NULL DEFAULT '',
|
||||
`version` VARCHAR(20) NOT NULL DEFAULT '1.0' COMMENT '版本号',
|
||||
`upload_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`upload_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`remark` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标文件';
|
||||
|
||||
-- ---------------- 9. 投标立项审批表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_approval` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`approval_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1立项审批 2报价审批 3合同审批',
|
||||
`approval_status` TINYINT NOT NULL DEFAULT 0 COMMENT '0待审批 1已通过 2已拒绝 3已撤回',
|
||||
`approval_flow_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '审批流ID(复用现有引擎)',
|
||||
`current_user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '当前审批人',
|
||||
`current_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`approval_users` TEXT COMMENT '审批人列表JSON',
|
||||
`submit_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`submit_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`submit_time` DATETIME DEFAULT NULL,
|
||||
`complete_time` DATETIME DEFAULT NULL,
|
||||
`comment` TEXT COMMENT '审批意见',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_flow` (`approval_flow_id`),
|
||||
KEY `idx_status` (`tenant_id`, `approval_status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标立项审批';
|
||||
|
||||
-- ---------------- 10. 投标任务表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_task` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`task_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '任务名称',
|
||||
`task_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1商务 2技术 3报价 4法务 5财务 6其他',
|
||||
`content` TEXT COMMENT '任务内容',
|
||||
`owner_user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '负责人',
|
||||
`owner_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`start_date` DATE DEFAULT NULL,
|
||||
`end_date` DATE DEFAULT NULL,
|
||||
`complete_time` DATETIME DEFAULT NULL,
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '0未开始 1进行中 2已完成 3已逾期 4已取消',
|
||||
`progress` TINYINT NOT NULL DEFAULT 0 COMMENT '进度 0-100',
|
||||
`files` TEXT COMMENT '附件JSON',
|
||||
`remark` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_owner` (`tenant_id`, `owner_user_id`),
|
||||
KEY `idx_status` (`tenant_id`, `status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标任务';
|
||||
|
||||
-- ---------------- 11. 标书模板表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_template` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`template_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '模板名称',
|
||||
`template_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1技术标 2商务标 3综合标',
|
||||
`industry` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '适用行业',
|
||||
`description` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`content` LONGTEXT COMMENT '模板内容',
|
||||
`file_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '模板文件URL',
|
||||
`use_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用次数',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '1启用 0禁用',
|
||||
`owner_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`owner_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_type` (`tenant_id`, `template_type`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-标书模板';
|
||||
|
||||
-- ---------------- 12. 标书版本表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_document` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`template_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '基于模板',
|
||||
`version` VARCHAR(20) NOT NULL DEFAULT 'v1.0' COMMENT '版本号',
|
||||
`title` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '版本标题',
|
||||
`content` LONGTEXT COMMENT '标书内容',
|
||||
`file_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '标书文件URL',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '1编辑中 2待审核 3已定稿 4已提交',
|
||||
`editor_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`editor_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`review_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`review_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`review_comment` TEXT COMMENT '审核意见',
|
||||
`review_time` DATETIME DEFAULT NULL,
|
||||
`submit_time` DATETIME DEFAULT NULL,
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_template` (`template_id`),
|
||||
KEY `idx_status` (`tenant_id`, `status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-标书版本';
|
||||
|
||||
-- ---------------- 13. 资质文件库 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_qualification` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`qualification_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '资质名称',
|
||||
`qualification_type` VARCHAR(20) NOT NULL DEFAULT '1' COMMENT '1营业执照 2资质证书 3业绩证明 4认证证书 5其他',
|
||||
`qualification_no` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '证书编号',
|
||||
`issuing_authority` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '颁发机构',
|
||||
`issue_date` DATE DEFAULT NULL COMMENT '颁发日期',
|
||||
`expire_date` DATE DEFAULT NULL COMMENT '到期日期',
|
||||
`alert_days` INT UNSIGNED NOT NULL DEFAULT 30 COMMENT '提前提醒天数',
|
||||
`file_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '文件URL',
|
||||
`file_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`file_size` BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`description` TEXT COMMENT '备注',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '1有效 2即将过期 0失效',
|
||||
`owner_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`owner_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_type` (`tenant_id`, `qualification_type`),
|
||||
KEY `idx_expire` (`tenant_id`, `expire_date`),
|
||||
KEY `idx_status` (`tenant_id`, `status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-资质文件库';
|
||||
|
||||
-- ---------------- 14. 报价表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_quote` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`quote_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '报价单名称',
|
||||
`total_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '总报价',
|
||||
`currency` VARCHAR(10) NOT NULL DEFAULT 'CNY' COMMENT '币种',
|
||||
`tax_rate` DECIMAL(6,4) NOT NULL DEFAULT 0 COMMENT '税率',
|
||||
`valid_date` DATE DEFAULT NULL COMMENT '报价有效期',
|
||||
`products` LONGTEXT COMMENT '产品清单JSON',
|
||||
`cost_analysis` TEXT COMMENT '成本分析',
|
||||
`profit_rate` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '利润率%',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '1草稿 2待审批 3已审批 4已使用',
|
||||
`approval_flow_id` BIGINT UNSIGNED DEFAULT NULL,
|
||||
`submit_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`submit_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`submit_time` DATETIME DEFAULT NULL,
|
||||
`approval_time` DATETIME DEFAULT NULL,
|
||||
`remark` TEXT COMMENT '备注',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_status` (`tenant_id`, `status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-报价表';
|
||||
|
||||
-- ---------------- 15. 竞争对手报价表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_competitor` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`competitor_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '竞争对手名称',
|
||||
`competitor_type` TINYINT NOT NULL DEFAULT 1 COMMENT '1同类厂商 2关联企业 3其他',
|
||||
`quote_amount` DECIMAL(14,2) NOT NULL DEFAULT 0 COMMENT '报价',
|
||||
`advantages` TEXT COMMENT '优势',
|
||||
`weaknesses` TEXT COMMENT '劣势',
|
||||
`source` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '信息来源',
|
||||
`remark` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-竞争对手报价';
|
||||
|
||||
-- ---------------- 16. 投标结果表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_result` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`result_type` TINYINT NOT NULL DEFAULT 0 COMMENT '1中标 2未中标 3废标 4流标',
|
||||
`announce_date` DATETIME DEFAULT NULL COMMENT '公告日期',
|
||||
`announce_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '公告URL',
|
||||
`total_score` DECIMAL(6,2) NOT NULL DEFAULT 0 COMMENT '我方得分',
|
||||
`our_ranking` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '我方排名',
|
||||
`competitor_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '竞争对手数量',
|
||||
`reason` TEXT COMMENT '原因分析',
|
||||
`lessons` TEXT COMMENT '经验教训',
|
||||
`next_step` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '下一步行动',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_unique_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_result_type` (`tenant_id`, `result_type`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标结果';
|
||||
|
||||
-- ---------------- 17. 投标费用表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_crm_bidding_bid_expense` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`bid_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '投标项目ID',
|
||||
`expense_type` TINYINT NOT NULL DEFAULT 1 COMMENT '1标书费 2保证金 3差旅费 4咨询费 5代理费 6其他',
|
||||
`expense_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '费用名称',
|
||||
`amount` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '金额',
|
||||
`currency` VARCHAR(10) NOT NULL DEFAULT 'CNY',
|
||||
`payment_status` TINYINT NOT NULL DEFAULT 0 COMMENT '0未付 1已付 2已退还 3已抵扣',
|
||||
`payment_date` DATETIME DEFAULT NULL COMMENT '支付日期',
|
||||
`payment_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`payment_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`voucher_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '凭证URL',
|
||||
`description` TEXT COMMENT '说明',
|
||||
`create_user_id` VARCHAR(64) NOT NULL DEFAULT '',
|
||||
`create_user_name` VARCHAR(128) NOT NULL DEFAULT '',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_bid` (`tenant_id`, `bid_id`),
|
||||
KEY `idx_payment_status` (`tenant_id`, `payment_status`),
|
||||
KEY `idx_delete_time` (`delete_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-投标费用';
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 菜单配置(投标管理)
|
||||
-- ============================================================
|
||||
-- 招标方菜单:path = 'apps/crm/bidding/tender/index.vue'
|
||||
-- 投标方菜单:path = 'apps/crm/bidding/bid/index.vue'
|
||||
-- 注意:菜单通常通过平台端 UI 配置,详见 docs/bidding_menus.sql
|
||||
Reference in New Issue
Block a user