合同模块已经和BPM工作流打通审批。
#1. 合同
合同
2. 管理后台
对应 [CRM 系统 -> 合同管理] 菜单

① 点击【新增】按钮,随便填写一些信息,点击「确认」按钮,即可新增一条合同。如下图所示:

② 点击【提交审批】按钮,可以提交审批。如下图所示:

友情提示:
合同对应的审批流程,需要自己在 [工作流程 -> 流程管理 -> 流程模型] 菜单,配置一个流程标识为 crm-contract-audit 的流程模型。如下图所示:

如果不了解怎么配置的同学,可以学习下 《BPM 工作流》 的文档。
提交完成后,会自动创建一个工作流实例,并记录到 process_instance_id 字段。之后可点击【查看审批】按钮,查看审批详情。如下图所示:

点击审批【通过】按钮,将合同审批通过,此时它会回调 CrmContractResultListener 监听器,更新合同的 audit_status 字段为审批通过。如下图所示:

③ 点击“合同名称”,进入合同详情页,可以查看合同的详细信息,如下图所示:

#2. 合同配置
客户公海配置,由 yudao-module-crm 后端模块的 contract 包的 CrmContractConfigController 实现。
#2.1 表结构
省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段
CREATE TABLE `crm_contract_config` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`notify_enabled` tinyint(1) DEFAULT NULL COMMENT '是否开启提前提醒',
`notify_days` int DEFAULT NULL COMMENT '提前提醒天数',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 合同配置表';
目前主要是合同提醒功能。
notify_enabled 字段:是否开启提前提醒。如果开启,合同的结束时间 end_time 超过今天,并且小于 notify_days 天的,可以在 [CRM 系统 -> 待办事项] 菜单中,看到提醒。如下图所示:

#2.2 管理后台
对应 [CRM 系统 -> 系统配置 -> 合同配置] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/contract/config 目录。
