毕业设计——基于SSM框架+Mysql的企业CRM客户关系管理系统项目

基于SSM框架+Mysql的企业CRM[客户关系管理系统]项目

完整项目地址:https://download.csdn.net/download/lijunhcn/88430562

该项目是基于SSM实现的客户关系管理系统

1️⃣技术栈

Spring+SpringMVC+MyBatis+Thymeleaf+Vue+JS+Jquery+Axios+Json

服务器: Tomcat_9.0.60

数据库: MySQL_8.0.28

开发工具:IDEA_2021.3.3

页面:Bootstrap_3.3.0

2️⃣已实现的功能

⭐️ 账号登录

⭐️ 市场活动

3️⃣日志

实现基本的登录功能:
1. 使用@RequestBody接收Axios传来的Json对象时,可以用一个Map对象接收,也可以用一个POJO类对象接收

2. 使用@RequestBody接收Axios传来的Json对象时,必须设置请求报文中的Content-Type属性为application/json,否则报HTTP:415

3. 导入js静态文件(vue.js,jquery.js等)时,不要直接使用相对路径,使用thymeleaf或者使用绝对路径
记住密码,退出登录,验证登录状态:
1. 使用@RequestBody接收Axios传来的Json对象时,接收到的checked属性为一个Boolean类型,而不是一个String

2. 在用户不需要记住密码时,调用setMaxAge方法将cookie的生命周期设置为0,即可销毁cookie

3. 由于使用thymeleaf暂时没找到操作cookie的方法,故此导入vue-cookie包,使用vue操作cookie

4. 在vue中,不能用$cookies.get('loginAct') && $cookies.get('loginPwd')为checked赋值,此时值为$cookies.get('loginPwd')。应该用!!($cookies.get('loginAct') && $cookies.get('loginPwd')),此时值为一个布尔类型
工作台主页显示,市场活动主页面显示,创建市场活动:
1. 输入日期的input标签中应该加上autocomplete="off",否则历史记录的下拉列表会覆盖日历

2. vue无法在实现了bootstrap日历功能的input标签上使用v-model进行双向绑定,会出现值消失的情况。建议ref选择标签用value直接获取日期值

3. bootstrap日历插件汉化包不能正常加载,出现乱码,解决办法:将汉化包中的代码复制到Script标签下
市场活动的分页查询与展示,条件查询:
1. 项目视频上有错误,查询市场活动的sql语句中的limit后面应该用${beginNo},${pageSize},而不是#{}.此外limit的起始索引应该为0,而不是1

2. vue中调用钩子函数beforeMount(),在页面渲染之前向服务器发送axios异步请求,注意:此时页面还没有渲染,所以无法获取页面中的标签

3. vue中使用v-for,根据列表动态的显示html标签
翻页功能,全选功能,删除市场活动:
1. 进行翻页操作的时候,注意要把选中的条目和全选重置

2. 从axios返回给Java的json对象中的数组是一个List对象而不是一个数组,在controller中强转一下可以直接传入service

3. Mybatis,foreach标签中的collection属性应该填list,表示的是List类型
修改市场活动,导出全部市场活动:
导入市场活动,市场活动备注的增删改查:
1. 文件上传用到MultipartFile类,需要引入相关插件并在MVC配置文件中配置multipartResolver解析器bean

2. 将thymeleaf中的变量传入vue方法,语法为:th:@click="|getName('${person.name}')|"

部分数据库SQL代码:

drop table if exists tbl_clue;

drop table if exists tbl_clue_activity_relation;

drop table if exists tbl_clue_remark;

drop table if exists tbl_contacts;

drop table if exists tbl_contacts_activity_relation;

drop table if exists tbl_contacts_remark;

drop table if exists tbl_customer;

drop table if exists tbl_customer_remark;

drop table if exists tbl_tran;

drop table if exists tbl_tran_history;

drop table if exists tbl_tran_remark;

/*==============================================================*/
/* Table: tbl_clue                                              */
/*==============================================================*/
create table tbl_clue
(
   id                   char(32) not null,
   fullname             varchar(255),
   appellation          varchar(255),
   owner                char(32),
   company              varchar(255),
   job                  varchar(255),
   email                varchar(255),
   phone                varchar(255),
   website              varchar(255),
   mphone               varchar(255),
   state                varchar(255),
   source               varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   description          varchar(255),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   address              varchar(255),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_clue_activity_relation                            */
/*==============================================================*/
create table tbl_clue_activity_relation
(
   id                   char(32) not null,
   clue_id               char(32),
   activity_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_clue_remark                                       */
/*==============================================================*/
create table tbl_clue_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   clue_id               char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_contacts                                          */
/*==============================================================*/
create table tbl_contacts
(
   id                   char(32) not null,
   owner                char(32),
   source               varchar(255),
   customer_id           char(32),
   fullname             varchar(255),
   appellation          varchar(255),
   email                varchar(255),
   mphone               varchar(255),
   job                  varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   description          varchar(255),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   address              varchar(255),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_contacts_activity_relation                        */
/*==============================================================*/
create table tbl_contacts_activity_relation
(
   id                   char(32) not null,
   contacts_id           char(32),
   activity_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_contacts_remark                                   */
/*==============================================================*/
create table tbl_contacts_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   contacts_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_customer                                          */
/*==============================================================*/
create table tbl_customer
(
   id                   char(32) not null,
   owner                char(32),
   name                 varchar(255),
   website              varchar(255),
   phone                varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   description          varchar(255),
   address              varchar(255),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_customer_remark                                   */
/*==============================================================*/
create table tbl_customer_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   customer_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_tran                                              */
/*==============================================================*/
create table tbl_tran
(
   id                   char(32) not null,
   owner                char(32),
   money                varchar(255),
   name                 varchar(255),
   expected_date         char(10),
   customer_id           char(32),
   stage                varchar(255),
   type                 varchar(255),
   source               varchar(255),
   activity_id           char(32),
   contacts_id           char(32),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   description          varchar(255),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_tran_history                                      */
/*==============================================================*/
create table tbl_tran_history
(
   id                   char(32) not null,
   stage                varchar(255),
   money                varchar(255),
   expected_date         char(10),
   create_time           char(19),
   create_by             varchar(255),
   tran_id               char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_tran_remark                                       */
/*==============================================================*/
create table tbl_tran_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   tran_id               char(32),
   primary key (id)
);

猜你喜欢

转载自blog.csdn.net/lijunhcn/article/details/135189853