CRM系统
作者:北京毫末科技有限公司
邮箱:hxgqh@haomo-studio.com
版本:0.1
这份文档是针对基于鸿合CRM项目的创业项目--CRM系统--的设计和说明文档。
1. 全体参与设计人员
胡小根 hxgqh@haomo-studio.com
唐培忠 tangpz@haomo-studio.com
曹桓榕 caohr@haomo-studio.com
姜兆京 763834497@qq.com
王东旗 wangdq@haomo-studio.com
任帅 renshuai@haomo-studio.com
2. 综述
本系统暂时命名为CRM系统。但本系统目前涵盖了两大功能模块:
1. CRM:客户关系管理系统
2. OA:办公系统
本系统将CRM系统和OA系统融合在一起,为以销售为导向的企业提供完善的办公平台。 本平台未来将逐步发展为涵盖多种功能模块的企业信息化系统,包括:
1. ERP:企业资源计划系统
2. R&D(PLM):研发管理
3. HR:人力资源管理
本项目使用的平台如下:
本项目在开发过程中发布地址为:
本项目定义的接口定义地址为:
3. 安装和部署
安装
Web安装
配置过程
配置文件为: (培忠补充)
可以配置的选项包括(培忠补充):
(日志配置选项)
(数据库配置选项)
部署过程
4. 使用入门
4.1 测试账号
测试用户名:18111266263
密码:123456
5. 概念
架构图

业务场景
本系统可以自定义业务场景。所有的自定义业务场景在CRM系统中,体现为二级菜单。系统在初始状态下只预置两种预置的业务场景:客户、物料。
自定义的业务场景,区分两种管理方式:
1. 阶段管理
2. 流程管理
不同的管理方式,管理的流程及后端的逻辑均不同。
阶段管理
流程管理
自定义字段
在Web的后台中,有多个地方出现了自定义字段的概念,包括:
1. 组织结构->自定义部门字段
2. 用户管理->用户字段
3. 基础主数据->客户->自定义字段
4. 基础主数据->物料->自定义字段
5. 业务主数据->阶段设置->自定义字段
6. 表单管理
以上六处,自定义字段的UI界面,我们统称为表单定义界面。其显示上,除1之外,其他的页面一致;但以上六处对应的后台数据表都不一样。对应的后台数据库设计截图如下:
1.组织结构->自定义部门字段

2.用户管理->用户字段

3.基础主数据->客户->自定义字段

4.基础主数据->物料->自定义字段

5.业务主数据->阶段设置->自定义字段

6.表单管理

自定义字段的涵盖概念以下几个子概念:
1. 表单定义(在用户管理中对应为用户类型定义,在基础主数据中对应为客户类型定义和物料类型定义,在业务主数据中对应为场景定义)
2. 表单实例(在用户管理中对应为用户表,在基础主数据中对应为客户表和物料表,在业务主数据中对应为场景实例)
1. 主表定义/明细表定义
3. 字段定义
2. 表实例(包括主表实例和明细表实例,不作区分,只通过表定义的表类型字段作区分)
4. 字段值/字段实例
表单定义界面及以上四个概念之间关系是:
1. 一个表单定义界面,包含多张主表,可以包含多张明细表;
2. 一个表单定义,可以有多个表单实例;
3. 一张主表或明细表定义,包含多个字段定义;
4. 一张主表或明细表定义,可以对应多个表实例;
5. 一个字段定义,可以包含多个字段值/字段实例
6. 一个表实例,其对应的某个主表定义的主表实例只能有一条;但其对应的某个明细表定义的明细表实例可以有多条。例如:用户填写个人信息表,其个人的基本信息属于主表(如名字、身份证等信息只会有一条),而其家属信息表、工作经理表等表属于明细表。
字段类型包括:
1. 普通文本域(text)
2,邮件文本域(email)
3. 时间文本域(datetime)
4. 日期文本域(date)
5. 密码文本域(password)
6. 单选(radio)
7. 复选(checkbox)
8. 下拉列表(select)
JSON的对应关系为:
columnTypes = [
{
'type': 1,
'field': 'text',
'name': '普通文本域'
},
{
'type': 2,
'field': 'email',
'name': '邮件文本域'
},
{
'type': 3,
'field': 'datetime',
'name': '时间文本域'
},
{
'type': 4,
'field': 'date',
'name': '日期文本域'
},
{
'type': 5,
'field': 'password',
'name': '密码文本域'
},
{
'type': 6,
'field': 'radio',
'name': '单选'
},
{
'type': 7,
'field': 'checkbox',
'name': '复选'
},
{
'type': 8,
'field': 'select',
'name': '下拉列表'
}
]
所有的字段类型,在App和Web里面都要支持列搜索/过滤的操作,对于以上字段类型,搜索/过滤的条件说明如下:
1. 普通文本域(text)、邮件文本域(email)
字段的LIKE检索
2. 密码文本域(password)
不支持搜索和过滤
3. 时间文本域(datetime)
起始时间
终止时间
4. 日期文本域(date)
起始日期
终止日期
5. 单选(radio)
单选过滤(根据对应字段的单选选项进行过滤)
6. 复选(checkbox)
复选过滤(根据对应字段的复选选项进行过滤)
7. 下拉列表(select)
下拉选择过滤
对于5-7,后台需要给出过滤的选项列表,例如['选项1', '选项2']
有关自定义字段相关的删除的说明
删除的原则为:凡是有其下一个概念层级的内容为空,就能删除;否则就不能删除,应该提醒用户:“请先删除相关联的数据!”
1. 删除XX类型(部门类型、客户类型、物料类型、自定义业务场景)或表单定义等四种情况时,跟其关联的表定义存在的话,则不能删除。
2. 表定义(用户表定义、部门表定义、客户表定义、物料表定义、自定义业务场景表定义和表单引擎的表定义等五种情况)要被删除时,跟其关联的字段定义、表实例存在的话,则不能删除。
3. 字段定义(用户字段定义、部门字段定义、客户字段定义、物料字段定义、自定义业务场景字段定义和表单引擎的字段定义等五种情)要被删除时,跟其关联的字段实例存在的话,则不能删除。
关注
系统里的用户的关注包括如下几种:
1. 关注用户
2. 关注客户
3. 关注物料
4. 关注业务场景
关注的历史数据产生来源说明如下:
1. 关注用户
a. 用户的所有操作历史(用户动态表)
2. 关注客户
a. 跟客户相关的所有业务场景、流程的历史(客户历史表)
3. 关注物料
a. 跟物料相关的所有业务场景、流程的历史(物料历史表)
4. 关注业务场景
a. 跟业务场景相关的操作历史表(业务场景历史表)
动态
系统里的动态指的是用户的动态,也即用户的操作历史表——用户动态表。
6. 开发注意事项
开发过程中需要注意的事项如下:
1. 如果项目中的某些设计有问题,直接向设计人员或者项目负责人开issue
2. 当git提交时,如果提交的内容跟某个issue挂钩,一定要ref这个issue。示例:git commit -m "解决问题ref #10"(跟issue 10挂钩了)