1.营销管理表结构分析
针对企业中客户的质询需求所建立的信息录入功能,方便销售人员进行后续的客户需求跟踪与联系,提高企业客户购买产品的几率。
对于系统录入每条营销机会记录,系统会分配对应的销售人员与对应的客户进行详细了解,从而提高客户开发计划的成功几率。对应到营销机会管理模块功能上。即:营销机会数据的录入,分配,修改,删除与查询等基本操作。
t_cus_dev_plan--->t_sale_chance
2.营销机会管理功能实现
(1)准备工作
*1.生成代码
通过 mybatis-generator 生成代码。能够生成 JavaBean对象、mapper 映射文件以及 mapper 接口。
*2.IDEA创建MYSQL链接
(2)营销机会数据查询
*1.页面效果展示
*2.后端代码实现
layui 框架通过表格展示后端表数据,数据格式见官网测试数据地址。
SaleChanceQuery.java
在 crm 包下创建 query 包,新建 SaleChanceQuery.java 查询类,设置对应的查询条件
SaleChanceMapper.xml(设置SQL)
SaleChanceMapper.java(接口定义)
SaleChanceService.java
SaleChanceController.java
时间格式化:在 SaleChance 实体类中的时间字段上添加注解,用来格式化时间
*3.前端核心代码
页面模板 : 在 resources/views/saleChance 目录创建 sale_chance.ftl 模块文件,模板内容如下 (模板依赖的 layui文件由 common.ftl 文件提供),layui 表格数据展示模板文件实现参考该地址。
sale_chance.ftl
页面入口:SaleChanceController 后台设置对应的接口
核心 JS:public/js/saleChance 目录下创建 sale.chance.js 文件,初始化 layui 表格数据,layui 表格数据展示模板文件实现参考该地址。
sale.chance.js
多条件查询:
表格数据展示成功后,接下来考虑添加多条件查询点击事件,这里使用 layui 表格 reload 重载基础方法实现,点击这里参考官网介绍。
sale_chance.ftl
sale.chance.js 添加搜索点击事件
3.营销机会数据添加
(1)后端代码实现
实现思路:
营销机会数据添加
* 1.参数校验
customerName:非空
linkMan:非空
linkPhone:非空 11位手机号
* 2.设置相关参数默认值
state:默认未分配 如果选择分配人 state 为已分配
assignTime:如果 如果选择分配人 时间为当前系统时间
devResult:默认未开发 如果选择分配人devResult为开发中 0-未开发 1-开发中 2-开发成功
*3-开发失败
isValid:默认有效数据(1-有效 0-无效)
createDate updateDate:默认当前系统时间
*4.执行添加 判断结果
(2)前端核心代码
*1.views/saleChance 目录下添加 add_update.ftl 页面模板
*2.工具栏事件:sale_chance.ftl
*3.监听头部工具栏事件:sale_chancel.js
*4.核心 JS
js/saleChance 目录下添加 add.update.js 文件,完成机会数据添加与更新表单提交操作。监听submit提交
*6.关闭弹出层
给按钮设置 id 属性值,通过 id 绑定点击事件:add_update.ftl
add.update.js
4.营销机会数据更新
1.后端代码实现
(1)实现思路:
营销机会数据更新
* 1.参数校验
id:记录必须存在
customerName:非空
linkMan:非空
linkPhone:非空,11位手机号
* 2. 设置相关参数值3.4.1.2. 核心代码
updateDate:系统当前时间
原始记录 未分配 修改后改为已分配(由分配人决定)
state 0->1
assginTime 系统当前时间
devResult 0-->1
原始记录 已分配 修改后 为未分配
state 1-->0
assignTime 待定 null
devResult 1-->0
* 3.执行更新 判断结果
(2)核心代码:
SaleChanceService.java
方法调用:这里机会数据更新与添加操作实现代码共用,修改原有的添加方法。
SaleChanceController.java
(3)前端核心代码
*1.表格行事件:
sale_chance.ftl
sale.chance.js
openAddOrUpdateSaleChanceDialog方法参考数据添加操作
add_update.ftl
在页面中通过EL表达式获取作用域中的数据。
添加隐藏域,存放营销机会的ID
设置营销机会的ID
核心 JS
修改操作的 JS 与添加操作的可共用,通过隐藏域中存放的营销机会ID,来判断当前的操作行为。
加载下拉框
UserMapper.java
UserMapper.xml
UserService.java
UserController.java
add_update.ftl:设置营销人员的ID
add.update.js
显示指派人
1. 修改查询的SQL语句 ( SaleChanceMapper.xml )
2. JavaBean中添加属性字段 ( SaleChance.java )
5.营销机会数据删除
(1)设置sql,id="deleteBatch"
(2)接口定义
在 BaseMapper 中定义了删除的方法,无须在 SaleChanceMapper 类中再定义
(3)业务层SaleChanceService.java中增加营销机会删除代码,方法名字为deleteSaleChance
删除数据调用BaseMapper中的删除方法deleteBatch
(4)控制层SaleChanceController.java中添加@RequestMapping("delete")注解
(5)前端核心代码
工具栏事件:
sale_chance.ftl
sale_chancel.js
表格行事件:
sale.chance.ftl
sale.chance.js