如何使用ssm实现航空信息管理系统+vue

news2024/11/18 2:39:50

@TOC

ssm728航空信息管理系统+vue

第一章 课题背景及研究内容

1.1 课题背景

信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的航空信息管理系统实现了字典管理、飞机票管理、飞机票收藏管理、飞机票评价管理、飞机票购买订单管理、航班管理动态管理、使用帮助管理、客户管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让航空信息管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。

1.2 开发目的和意义

小康时代的到来,使得人们满意度上升,生活各个方面都产生了许多变化,比如办公都有相应软件,很多工作都要求员工会操作计算机,可以说现在的时代基本被软件覆盖得差不多了,软件行业的特征就是大家都在使用软件代替传统手工记载操作,软件的出现让我们的生活还有工作又向前翻了新篇章。航空信息管理系统是一个利用软件形式管理车辆租赁信息的平台。管理员管理租车信息也不再需要用纸张进行信息记录及查询管理操作,所有的操作都是利用电脑进行办公,用户需要使用密码还有用户名进行系统登录操作,按照系统主页界面的各个功能展示进行相关操作,无论添加或者是删除,拟或是修改查询等操作,时间上不需要太多,短短几分钟就会搞定。况且软件是不限制办公地点以及办公时间的,只要有操作需要,随时随地登录系统就可以完成任务。办公效率提高这个不再是难题。使用帮助租赁店对于租车信息的管理操作早就应该进行变革了,利用软件管理租车信息,节约人力物力成本,这是一个新的租车信息管理的创举。

1.3 论文研究内容

本次开发的航空信息管理系统的论文从下面几个部分进行编写:

第一章:本章介绍了程序开发背景和目的意义,罗列出了论文写作内容信息,让我们知道论文编写是如何进展的。

第二章:本章主要讲解了系统开发用到的相关技术方面的知识,比如SSM技术,MySQL数据库知识等内容。帮助人们更好的理解系统技术上面的相关知识。

第三章:文章第3章主要介绍了系统开发的可行性问题,从经济,时间,操作等内容上面进行了大致介绍,确定系统开发确实可行,然后分析了系统的开发流程,确定系统需要具备的大概的功能,保障系统能够稳定使用和运行。

第四章:这个章节主要绘制出了系统功能架构,让我们更直观了解航空信息管理系统的功能,对后台数据库表进行了设计,还画出了对应的E-R图。

第五章:这个章节主要介绍系统各个部分功能具体实现的界面效果。让我们了解到各个部分的功能详细情况。

第六章:这个部分主要就是对航空信息管理系统进行整体测试,看看程序是否能够达到用户使用要求,程序能否进行验收上交操作。

第二章 相关技术

本次开发航空信息管理系统使用的是B/S结构模式进行程序开发,航空信息管理系统的数据信息选择MySQL数据库进行存放。

2.1 B/S结构

B/S结构实际上就是Browser/Server(浏览器/服务器)的缩写,B/S结构是目前软件开发中的主流结构,大多数软件开发者都采用B/S这样的三层体系结构。采用B/S结构开发的航空信息管理系统能够大大方便用户使用操作,用户随时随地都可以进行航空信息管理系统的访问操作,只需要用户拥有一台会连上网络的计算机就行了,并且使用B/S 模式开发的航空信息管理系统是基于浏览器的操作方式,在与用户进行交互以及程序的表现方式上面将会更加吸引人,这样的模式也给程序员开发程序降低了难度,程序开发成本也会相应缩减不少。我们在使用航空信息管理系统期间,系统也会随着用户需求进行完善升级,使用B/S 模式开发的航空信息管理系统就完全不需要担心,因为它的升级速度快,升级产生的成本费用很低,大多依赖于用户自己在网络上下载最新版本进行安装完成程序更新。下图为B/S结构图。

图2.2 B/S结构图

2.2 MySQL数据库

开发的程序面向用户的只是程序的功能界面,让用户操作程序界面的各个功能,那么很多人就会问,用户使用程序功能生成的数据信息放在哪里的?这个就需要涉及到数据库的知识了,一般来说,程序开发通常就会对常用数据存储工具的特点进行分析比对,比如Mysql数据库的特点与优势,Access数据库的特点与优势,Sqlserver数据库的特点与优势等,最终看哪个数据库与需要开发的程序比较匹配,也符合程序功能运行需要的数据存储要求,比如,需要开发商业级别的程序,存储的数据对数据库要求较高,可以选用Oracle,如果只是比较简单的程序,对数据存储没有过多要求,可以选用微软旗下的Access,当开发程序要求数据库占用空间小,并能满足程序数据存储要求时,就可以考虑Oracle公司从瑞典MySQL AB公司在很早之前就收购过一个关系型数据库,它是现在的Mysql数据库。所以航空信息管理系统后台数据库使用的是MySQL进行数据库方面的开发工作的,MySQL它是微软开发的一款平台软件,这个软件可以给用户提供高效率的智能数据,并且数据信息还是很可靠,使用它进行数据存储可以满足大众企业管理各种各样的数据信息的需求。MySQL在MySQL版本里面它是最全面的,也是最强大的开发平台, MySQL在许多关键之处都进行了改进的操作,它也增加了很多新特性,这些改进和更新让公司能够对关键应用程序进行高效运行,并且还可以让公司降低发送信息给用户的成本,以及降低数据信息管理的基础设施。因此MySQL在公司以及企业中它的地位是非常高的,ERP还有OA系统,以及公司财务的系统都离不开MySQL,在软件开发非常流行的今天,MySQL也被用来作为网站开发的网站后台数据库,可以说公司使用MySQL进行数据管理不仅节约成本,还可以让公司数据信息的管理效率大大提高,公司数据存放在MySQL平台上,数据信息的安全性也不用担心,因为MySQL他可以给数据库里面的日志还有数据文件以及整个数据库进行加密操作,另外MySQL还提供在线备份功能,这样可以节约存储空间,加快数据备份的速度。总之,选择MySQL进行在线系统的后台数据库开发是很有优势的。这是个不错的软件选择。

第三章 系统分析

3.1可行性分析

可行性分析从时间,经济以及操作和技术上面进行调查和研究,确保合理利用信息资源,避免在进行程序设计过程中因为考虑不周到所带来的困扰,帮助我们更好的进行程序设计。

3.1.1时间可行性

本次进行系统开发,我预留了两个月时间来完成,从系统的需求分析,功能结构设计,功能详细设计以及系统测试等环节,两个月时间是可以完成程序开发操作的,我打算每天早中晚都进行程序的编写操作,这期间也包括查阅各种资料信息,加上同学以及老师的帮助和指点,相信程序开发的时间也会缩短不少。所以时间上是可行的。

3.1.2 经济可行性

航空信息管理系统的开发平台是IDEA,数据库选用MySQL数据库,使用的浏览器都是大众浏览器,这些软件是不需要收费就能进行下载安装操作的。在系统开发的硬件选择上面,我使用的是自己的笔记本进行开发操作。因此在进行系统开发时,经济上面无需额外支出。开发出来的程序可以提高办公效率,带来的经济效益比较高,系统开发的投入产出比很可观。

3.1.3 操作可行性

航空信息管理系统的界面设计比较简单,界面布局根据用户日常使用习惯进行设计,网站各个功能在导航栏里面清晰可见,网站的数据操作可视化,用户操作网站不需要培训就能上手,只需要跟着网站功能提示进行操作就行。

3.1.4 技术可行性

作为计算机专业学生,在学校期间就学习到许多关于编程方面的知识,像SSM技术,还有MySQL数据库等知识,我对IDEA开发平台以及MySQL数据库的操作也比较熟练,所以技术上面还是有一定把握。

3.1.5 法律可行性

自己本人开发的软件和用到的资料来源都是图书馆以及百度文库和百度网页等渠道,并不涉及违法。在个人毕业设计上面,无论源代码还是论文编写内容不存在抄袭行为。

从上面的经济,操作以及时间上面进行的分析,得出结论就是这次开发的航空信息管理系统在开发上面是能够进行的,系统开发出来能创造更大的经济效益,越早开发升值空间越大。

3.2系统流程分析

航空信息管理系统的开发也是有对应的流程,开发之前必须要进行用户功能需求的分析,最后根据功能需求进行网站设计还有数据库相关数据的设计工作,此次开发的航空信息管理系统开发流程如图3.1所示。

图3.1 系统开发流程图

系统开发完成之后会给用户提供登录入口,在这个界面用户输入的信息会得到验证,通过验证之后才能进去航空信息管理系统的访问主界面,系统登录执行流程如下:

图3.2 系统执行流程图

3.3系统功能需求分析

系统的开发离不开前期的需求分析,这个阶段就是让程序员知道自己该做什么事情,在进行需求分析的时候,着重点就是用户对系统的功能要求,这个阶段要是分析得很到位,系统开发出来投入使用时,用户就会发现系统的功能跟用户需求保持一致,程序稳定性也是达标的,可以说需求分析是决定系统开发成败的关键,它主要就是把现实世界进行抽象化,然后把抽象化的对象用来构建模型。

航空信息管理系统的受益群体主要是工作人员,该网站能够方便使用者进行数据信息的查找和管理工作,本次开发的网站我们设计的界面展示主要分为管理员界面以及用户界面,具体界面的功能分布如下。

航空信息管理系统管理员可以管理用户的基本信息,可以管理使用帮助信息,可以管理使用帮助信息等。

3.4 系统非功能需求分析

(1)完整性需求

本次开发的航空信息管理系统里面记录的数据信息不能保持为空,并且数据信息一定要核对正确才行,系统里面数据之间存在的联系不能出错,不能够张冠李戴,数据表里面同一数据在不同数据表里面的显示内容要一样。

(2)性能需求

用户在操作航空信息管理系统的各个部分内容时,弹出的页面响应时间不能太长,最好控制在三秒钟以内,最大限制值就是四秒,这个是给用户一个好的程序体验。并且系统还要能够承载多人同时在线进行航空信息管理系统的访问操作。

(3)界面需求

航空信息管理系统界面设计上面应该考虑到用户日常操作习惯,比如导航栏的设计不能在右边,这个完全违背了用户使用网站的操作习惯,同时功能导航的字体以及颜色应该比较显眼,方便用户容易找寻,避免用户在进行功能操作上面浪费太多时间。

(4)安全性需求

航空信息管理系统的安全性要有保证,给用户一种可靠,可以信赖的感觉,系统在运行过程中,不能总是出错,与用户进行功能界面交互时,要及时给出反馈信息,另外系统要设置登录窗口,让不是系统的用户不可以进行系统功能界面的访问操作。系统用户也要经过用户名密码的填写操作,才可以进入系统主界面,这样就可以保障系统数据信息处于一种安全状态。

第四章 系统设计

4.1 总体功能

航空信息管理系统是根据需求定制开发,开发软件选用IDEA平台配合MySQL数据库进行开发环境的搭建操作,网站采用WEB应用程序中最流行的B/S结构进行开发,用户访问系统数据仅仅需要在客户端安装谷歌浏览器或者是当下常用浏览器就可以访问网站内容。

4.2 系统模块设计

航空信息管理系统系统在进行系统中功能模块的划分时,采用层次图来进行表示。层次图具有树形结构,它能使用矩形框来描绘数据信息。顶层代表的数据结构很完整,顶层下面的矩形框表示的数据就是子集数据,当然处于最下面的矩形框就是不能再进行细分的数据元素了,使用层次方框图描述系统功能能让用户一目了然,能够明白系统的功能,以及对应功能板块下面的子功能都可以清楚领会。航空信息管理系统分为管理员和用户两部分操作角色,下面将对他们的功能进行阐述。

管理员可以管理用户的基本信息,可以管理等功能。管理员功能结构图如下:

航空信息管理系统

系个人信息管理

管航班管理动态管理

管飞机票管理

管收藏管理

大客户管理

修个人信息修改

修改密码

新客户新增

是客户修改

删客户删除

删收藏删除

收藏新增

收藏修改

删动态删除

新动态新增

修动态修改

用飞机票新增

用飞机票修改

用飞机票删除

管使用帮助管理

新使用帮助新增

吸使用帮助修改

删使用帮助删除

图4.1 管理员功能结构图

4.3 数据库设计

开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。

4.3.1 数据库概念设计

这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。

(1)下图是使用帮助实体和其具备的属性。

使用帮助 图4.1 使用帮助实体属性图

(2)下图是飞机票购买订单实体和其具备的属性。

飞机票购买订单 图4.2 飞机票购买订单实体属性图

(3)下图是飞机票实体和其具备的属性。

飞机票 图4.3 飞机票实体属性图

(4)下图是航班管理动态实体和其具备的属性。

航班管理动态 图4.4 航班管理动态实体属性图

(5)下图是飞机票收藏实体和其具备的属性。

飞机票收藏 图4.5 飞机票收藏实体属性图

(6)下图是飞机票评价实体和其具备的属性。

飞机票评价 图4.6 飞机票评价实体属性图

(7)下图是客户实体和其具备的属性。

客户 图4.7 客户实体属性图

4.3.3 数据库表设计

数据库里面的数据表存放的就是各种数据记录,我们在进行系统增删改查操作时,其实也是在对应数据表里面进行的增删改查操作,一个好的数据库能够缩短信息处理时间,所以说数据库的设计工作不容小觑,数据库里面设置哪些表,表里面的字段设计以及字段类型和字段长度等信息都要考虑周到才行,比如时间这个字段,它的数据类型就不能是int型,不然在系统操作中就会弹出输入数据格式不符合要求的报错提示。下面简单介绍航空信息管理系统的一些数据表。

表4.1字典表

序号列名数据类型说明允许空
1IdIntid
2dic_codeString字段
3dic_nameString字段名
4code_indexInteger编码
5index_nameString编码名字
6super_idInteger父字段id
7beizhuString备注
8create_timeDate创建时间

表4.2飞机票表

序号列名数据类型说明允许空
1IdIntid
2feijipiao_uuid_numberString航班编号
3hangkonggongsi_bianhaoString航空公司编号
4hangkonggongsi_nameString航空公司名称
5feijipiao_nameString飞机票名称
6feijipiao_photoString飞机票照片
7feijipiao_typesInteger飞机票类型
8zuowei_numberInteger座位
9feijipiao_priceInteger购买获得积分
10feijipiao_old_moneyBigDecimal飞机票原价
11feijipiao_new_moneyBigDecimal现价
12feijipiao_clicknumInteger点击次数
13cangwei_typesInteger舱位
14chufadi_typesInteger出发地
15mudidi_typesInteger目的地
16tejia_typesInteger是否特价票
17feijipiao_contentString飞机票介绍
18shangxia_typesInteger是否上架
19feijipiao_deleteInteger逻辑删除
20create_timeDate创建时间

表4.3飞机票收藏表

序号列名数据类型说明允许空
1IdIntid
2feijipiao_idInteger飞机票
3kehu_idInteger客户
4feijipiao_collection_typesInteger类型
5insert_timeDate收藏时间
6create_timeDate创建时间

表4.4飞机票评价表

序号列名数据类型说明允许空
1IdIntid
2feijipiao_idInteger飞机票
3kehu_idInteger客户
4feijipiao_commentback_textString评价内容
5insert_timeDate评价时间
6reply_textString回复内容
7update_timeDate回复时间
8create_timeDate创建时间

表4.5飞机票购买订单表

序号列名数据类型说明允许空
1IdIntid
2feijipiao_order_uuid_numberString订单号
3feijipiao_idInteger飞机票
4kehu_idInteger客户
5feijipiao_order_true_priceBigDecimal实付价格
6buy_zuowei_numberString购买的座位
7buy_zuowei_timeDate订购日期
8feijipiao_order_typesInteger订单类型
9feijipiao_order_payment_typesInteger支付类型
10insert_timeDate订单创建时间
11create_timeDate创建时间

表4.6航班管理动态表

序号列名数据类型说明允许空
1IdIntid
2hangbanguanlidongtai_nameString动态名称
3hangbanguanlidongtai_photoString动态图片
4hangbanguanlidongtai_typesInteger动态类型
5insert_timeDate发布时间
6hangbanguanlidongtai_contentString航班管理动态详情
7create_timeDate创建时间

表4.7使用帮助表

序号列名数据类型说明允许空
1IdIntid
2shiyongbangzhu_nameString帮助名称
3shiyongbangzhu_photoString帮助图片
4shiyongbangzhu_typesInteger帮助类型
5shiyongbangzhu_contentString使用帮助详情
6insert_timeDate录入时间
7create_timeDate创建时间

表4.8客户表

序号列名数据类型说明允许空
1IdIntid
2kehu_nameString客户姓名
3kehu_phoneString客户手机号
4kehu_id_numberString客户身份证号
5kehu_photoString客户头像
6kehu_emailString电子邮箱
7new_moneyBigDecimal余额
8kehu_sum_jifenBigDecimal总积分
9kehu_new_jifenBigDecimal现积分
10huiyuandengji_typesInteger会员等级
11create_timeDate创建时间

表4.9管理员表

序号列名数据类型说明允许空
1IdIntid
2usernameString用户名
3passwordString密码
4roleString角色
5addtimeDate新增时间

第五章 系统实现

5.1 管理员功能模块的实现

5.1.1 飞机票列表

如图5.1显示的就是飞机票列表页面,此页面提供给管理员的功能有:查看飞机票、新增飞机票、修改飞机票、删除飞机票等。

图5.1 飞机票列表页面

5.1.2 使用帮助信息管理

管理员可以对前台的注册用户的基本信息进行管理,可以设置注册用户的账号为冻结或者是在用状态,管理员也能选择很多个已经失效的注册用户的信息进行批量删除操作。注册用户管理界面如图5.2所示。

图5.2 使用帮助信息管理页面

5.1.3 使用帮助类型管理

使用帮助类型管理页面显示所有使用帮助类型,在此页面既可以让管理员添加新的使用帮助信息类型,也能对已有的使用帮助类型信息执行编辑更新,失效的使用帮助类型信息也能让管理员快速删除。下图就是使用帮助类型管理页面。使用帮助类型管理界面如图5.3所示。

图5.3使用帮助类型管理界面

FeijipiaoCommentbackController.java

package com.controller;

import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;

import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;

/**
 * 飞机票评价
 * 后端接口
 * @author
 * @email
*/
@RestController
@Controller
@RequestMapping("/feijipiaoCommentback")
public class FeijipiaoCommentbackController {
    private static final Logger logger = LoggerFactory.getLogger(FeijipiaoCommentbackController.class);

    @Autowired
    private FeijipiaoCommentbackService feijipiaoCommentbackService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;

    //级联表service
    @Autowired
    private FeijipiaoService feijipiaoService;
    @Autowired
    private KehuService kehuService;



    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("客户".equals(role))
            params.put("kehuId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = feijipiaoCommentbackService.queryPage(params);

        //字典表数据转换
        List<FeijipiaoCommentbackView> list =(List<FeijipiaoCommentbackView>)page.getList();
        for(FeijipiaoCommentbackView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        FeijipiaoCommentbackEntity feijipiaoCommentback = feijipiaoCommentbackService.selectById(id);
        if(feijipiaoCommentback !=null){
            //entity转view
            FeijipiaoCommentbackView view = new FeijipiaoCommentbackView();
            BeanUtils.copyProperties( feijipiaoCommentback , view );//把实体数据重构到view中

                //级联表
                FeijipiaoEntity feijipiao = feijipiaoService.selectById(feijipiaoCommentback.getFeijipiaoId());
                if(feijipiao != null){
                    BeanUtils.copyProperties( feijipiao , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setFeijipiaoId(feijipiao.getId());
                }
                //级联表
                KehuEntity kehu = kehuService.selectById(feijipiaoCommentback.getKehuId());
                if(kehu != null){
                    BeanUtils.copyProperties( kehu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setKehuId(kehu.getId());
                }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody FeijipiaoCommentbackEntity feijipiaoCommentback, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,feijipiaoCommentback:{}",this.getClass().getName(),feijipiaoCommentback.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永远不会进入");
        else if("客户".equals(role))
            feijipiaoCommentback.setKehuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

        feijipiaoCommentback.setInsertTime(new Date());
        feijipiaoCommentback.setCreateTime(new Date());
        feijipiaoCommentbackService.insert(feijipiaoCommentback);
        return R.ok();
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody FeijipiaoCommentbackEntity feijipiaoCommentback, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,feijipiaoCommentback:{}",this.getClass().getName(),feijipiaoCommentback.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("客户".equals(role))
//            feijipiaoCommentback.setKehuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
        //根据字段查询是否有相同数据
        Wrapper<FeijipiaoCommentbackEntity> queryWrapper = new EntityWrapper<FeijipiaoCommentbackEntity>()
            .eq("id",0)
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FeijipiaoCommentbackEntity feijipiaoCommentbackEntity = feijipiaoCommentbackService.selectOne(queryWrapper);
        feijipiaoCommentback.setUpdateTime(new Date());
        if(feijipiaoCommentbackEntity==null){
            feijipiaoCommentbackService.updateById(feijipiaoCommentback);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }



    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        feijipiaoCommentbackService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }


    /**
     * 批量上传
     */
    @RequestMapping("/batchInsert")
    public R save( String fileName, HttpServletRequest request){
        logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
        Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            List<FeijipiaoCommentbackEntity> feijipiaoCommentbackList = new ArrayList<>();//上传的东西
            Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
            Date date = new Date();
            int lastIndexOf = fileName.lastIndexOf(".");
            if(lastIndexOf == -1){
                return R.error(511,"该文件没有后缀");
            }else{
                String suffix = fileName.substring(lastIndexOf);
                if(!".xls".equals(suffix)){
                    return R.error(511,"只支持后缀为xls的excel文件");
                }else{
                    URL resource = this.getClass().getClassLoader().getResource("../../upload/" + fileName);//获取文件路径
                    File file = new File(resource.getFile());
                    if(!file.exists()){
                        return R.error(511,"找不到上传文件,请联系管理员");
                    }else{
                        List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
                        dataList.remove(0);//删除第一行,因为第一行是提示
                        for(List<String> data:dataList){
                            //循环
                            FeijipiaoCommentbackEntity feijipiaoCommentbackEntity = new FeijipiaoCommentbackEntity();
//                            feijipiaoCommentbackEntity.setFeijipiaoId(Integer.valueOf(data.get(0)));   //飞机票 要改的
//                            feijipiaoCommentbackEntity.setKehuId(Integer.valueOf(data.get(0)));   //客户 要改的
//                            feijipiaoCommentbackEntity.setFeijipiaoCommentbackText(data.get(0));                    //评价内容 要改的
//                            feijipiaoCommentbackEntity.setInsertTime(date);//时间
//                            feijipiaoCommentbackEntity.setReplyText(data.get(0));                    //回复内容 要改的
//                            feijipiaoCommentbackEntity.setUpdateTime(sdf.parse(data.get(0)));          //回复时间 要改的
//                            feijipiaoCommentbackEntity.setCreateTime(date);//时间
                            feijipiaoCommentbackList.add(feijipiaoCommentbackEntity);


                            //把要查询是否重复的字段放入map中
                        }

                        //查询是否重复
                        feijipiaoCommentbackService.insertBatch(feijipiaoCommentbackList);
                        return R.ok();
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            return R.error(511,"批量插入数据异常,请联系管理员");
        }
    }





    /**
    * 前端列表
    */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));

        // 没有指定排序字段就默认id倒序
        if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){
            params.put("orderBy","id");
        }
        PageUtils page = feijipiaoCommentbackService.queryPage(params);

        //字典表数据转换
        List<FeijipiaoCommentbackView> list =(List<FeijipiaoCommentbackView>)page.getList();
        for(FeijipiaoCommentbackView c:list)
            dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
        return R.ok().put("data", page);
    }

    /**
    * 前端详情
    */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        FeijipiaoCommentbackEntity feijipiaoCommentback = feijipiaoCommentbackService.selectById(id);
            if(feijipiaoCommentback !=null){


                //entity转view
                FeijipiaoCommentbackView view = new FeijipiaoCommentbackView();
                BeanUtils.copyProperties( feijipiaoCommentback , view );//把实体数据重构到view中

                //级联表
                    FeijipiaoEntity feijipiao = feijipiaoService.selectById(feijipiaoCommentback.getFeijipiaoId());
                if(feijipiao != null){
                    BeanUtils.copyProperties( feijipiao , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setFeijipiaoId(feijipiao.getId());
                }
                //级联表
                    KehuEntity kehu = kehuService.selectById(feijipiaoCommentback.getKehuId());
                if(kehu != null){
                    BeanUtils.copyProperties( kehu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setKehuId(kehu.getId());
                }
                //修改对应字典表字段
                dictionaryService.dictionaryConvert(view, request);
                return R.ok().put("data", view);
            }else {
                return R.error(511,"查不到数据");
            }
    }


    /**
    * 前端保存
    */
    @RequestMapping("/add")
    public R add(@RequestBody FeijipiaoCommentbackEntity feijipiaoCommentback, HttpServletRequest request){
        logger.debug("add方法:,,Controller:{},,feijipiaoCommentback:{}",this.getClass().getName(),feijipiaoCommentback.toString());
        feijipiaoCommentback.setInsertTime(new Date());
        feijipiaoCommentback.setCreateTime(new Date());
        feijipiaoCommentbackService.insert(feijipiaoCommentback);
        return R.ok();
        }


}

FeijipiaoCollectionController.java

package com.controller;

import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;

import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;

/**
 * 飞机票收藏
 * 后端接口
 * @author
 * @email
*/
@RestController
@Controller
@RequestMapping("/feijipiaoCollection")
public class FeijipiaoCollectionController {
    private static final Logger logger = LoggerFactory.getLogger(FeijipiaoCollectionController.class);

    @Autowired
    private FeijipiaoCollectionService feijipiaoCollectionService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;

    //级联表service
    @Autowired
    private FeijipiaoService feijipiaoService;
    @Autowired
    private KehuService kehuService;



    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("客户".equals(role))
            params.put("kehuId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = feijipiaoCollectionService.queryPage(params);

        //字典表数据转换
        List<FeijipiaoCollectionView> list =(List<FeijipiaoCollectionView>)page.getList();
        for(FeijipiaoCollectionView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        FeijipiaoCollectionEntity feijipiaoCollection = feijipiaoCollectionService.selectById(id);
        if(feijipiaoCollection !=null){
            //entity转view
            FeijipiaoCollectionView view = new FeijipiaoCollectionView();
            BeanUtils.copyProperties( feijipiaoCollection , view );//把实体数据重构到view中

                //级联表
                FeijipiaoEntity feijipiao = feijipiaoService.selectById(feijipiaoCollection.getFeijipiaoId());
                if(feijipiao != null){
                    BeanUtils.copyProperties( feijipiao , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setFeijipiaoId(feijipiao.getId());
                }
                //级联表
                KehuEntity kehu = kehuService.selectById(feijipiaoCollection.getKehuId());
                if(kehu != null){
                    BeanUtils.copyProperties( kehu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setKehuId(kehu.getId());
                }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody FeijipiaoCollectionEntity feijipiaoCollection, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,feijipiaoCollection:{}",this.getClass().getName(),feijipiaoCollection.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永远不会进入");
        else if("客户".equals(role))
            feijipiaoCollection.setKehuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

        Wrapper<FeijipiaoCollectionEntity> queryWrapper = new EntityWrapper<FeijipiaoCollectionEntity>()
            .eq("feijipiao_id", feijipiaoCollection.getFeijipiaoId())
            .eq("kehu_id", feijipiaoCollection.getKehuId())
            .eq("feijipiao_collection_types", feijipiaoCollection.getFeijipiaoCollectionTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FeijipiaoCollectionEntity feijipiaoCollectionEntity = feijipiaoCollectionService.selectOne(queryWrapper);
        if(feijipiaoCollectionEntity==null){
            feijipiaoCollection.setInsertTime(new Date());
            feijipiaoCollection.setCreateTime(new Date());
            feijipiaoCollectionService.insert(feijipiaoCollection);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody FeijipiaoCollectionEntity feijipiaoCollection, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,feijipiaoCollection:{}",this.getClass().getName(),feijipiaoCollection.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("客户".equals(role))
//            feijipiaoCollection.setKehuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
        //根据字段查询是否有相同数据
        Wrapper<FeijipiaoCollectionEntity> queryWrapper = new EntityWrapper<FeijipiaoCollectionEntity>()
            .notIn("id",feijipiaoCollection.getId())
            .andNew()
            .eq("feijipiao_id", feijipiaoCollection.getFeijipiaoId())
            .eq("kehu_id", feijipiaoCollection.getKehuId())
            .eq("feijipiao_collection_types", feijipiaoCollection.getFeijipiaoCollectionTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FeijipiaoCollectionEntity feijipiaoCollectionEntity = feijipiaoCollectionService.selectOne(queryWrapper);
        if(feijipiaoCollectionEntity==null){
            feijipiaoCollectionService.updateById(feijipiaoCollection);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }



    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        feijipiaoCollectionService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }


    /**
     * 批量上传
     */
    @RequestMapping("/batchInsert")
    public R save( String fileName, HttpServletRequest request){
        logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
        Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            List<FeijipiaoCollectionEntity> feijipiaoCollectionList = new ArrayList<>();//上传的东西
            Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
            Date date = new Date();
            int lastIndexOf = fileName.lastIndexOf(".");
            if(lastIndexOf == -1){
                return R.error(511,"该文件没有后缀");
            }else{
                String suffix = fileName.substring(lastIndexOf);
                if(!".xls".equals(suffix)){
                    return R.error(511,"只支持后缀为xls的excel文件");
                }else{
                    URL resource = this.getClass().getClassLoader().getResource("../../upload/" + fileName);//获取文件路径
                    File file = new File(resource.getFile());
                    if(!file.exists()){
                        return R.error(511,"找不到上传文件,请联系管理员");
                    }else{
                        List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
                        dataList.remove(0);//删除第一行,因为第一行是提示
                        for(List<String> data:dataList){
                            //循环
                            FeijipiaoCollectionEntity feijipiaoCollectionEntity = new FeijipiaoCollectionEntity();
//                            feijipiaoCollectionEntity.setFeijipiaoId(Integer.valueOf(data.get(0)));   //飞机票 要改的
//                            feijipiaoCollectionEntity.setKehuId(Integer.valueOf(data.get(0)));   //客户 要改的
//                            feijipiaoCollectionEntity.setFeijipiaoCollectionTypes(Integer.valueOf(data.get(0)));   //类型 要改的
//                            feijipiaoCollectionEntity.setInsertTime(date);//时间
//                            feijipiaoCollectionEntity.setCreateTime(date);//时间
                            feijipiaoCollectionList.add(feijipiaoCollectionEntity);


                            //把要查询是否重复的字段放入map中
                        }

                        //查询是否重复
                        feijipiaoCollectionService.insertBatch(feijipiaoCollectionList);
                        return R.ok();
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            return R.error(511,"批量插入数据异常,请联系管理员");
        }
    }





    /**
    * 前端列表
    */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));

        // 没有指定排序字段就默认id倒序
        if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){
            params.put("orderBy","id");
        }
        PageUtils page = feijipiaoCollectionService.queryPage(params);

        //字典表数据转换
        List<FeijipiaoCollectionView> list =(List<FeijipiaoCollectionView>)page.getList();
        for(FeijipiaoCollectionView c:list)
            dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
        return R.ok().put("data", page);
    }

    /**
    * 前端详情
    */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        FeijipiaoCollectionEntity feijipiaoCollection = feijipiaoCollectionService.selectById(id);
            if(feijipiaoCollection !=null){


                //entity转view
                FeijipiaoCollectionView view = new FeijipiaoCollectionView();
                BeanUtils.copyProperties( feijipiaoCollection , view );//把实体数据重构到view中

                //级联表
                    FeijipiaoEntity feijipiao = feijipiaoService.selectById(feijipiaoCollection.getFeijipiaoId());
                if(feijipiao != null){
                    BeanUtils.copyProperties( feijipiao , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setFeijipiaoId(feijipiao.getId());
                }
                //级联表
                    KehuEntity kehu = kehuService.selectById(feijipiaoCollection.getKehuId());
                if(kehu != null){
                    BeanUtils.copyProperties( kehu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setKehuId(kehu.getId());
                }
                //修改对应字典表字段
                dictionaryService.dictionaryConvert(view, request);
                return R.ok().put("data", view);
            }else {
                return R.error(511,"查不到数据");
            }
    }


    /**
    * 前端保存
    */
    @RequestMapping("/add")
    public R add(@RequestBody FeijipiaoCollectionEntity feijipiaoCollection, HttpServletRequest request){
        logger.debug("add方法:,,Controller:{},,feijipiaoCollection:{}",this.getClass().getName(),feijipiaoCollection.toString());
        Wrapper<FeijipiaoCollectionEntity> queryWrapper = new EntityWrapper<FeijipiaoCollectionEntity>()
            .eq("feijipiao_id", feijipiaoCollection.getFeijipiaoId())
            .eq("kehu_id", feijipiaoCollection.getKehuId())
            .eq("feijipiao_collection_types", feijipiaoCollection.getFeijipiaoCollectionTypes())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FeijipiaoCollectionEntity feijipiaoCollectionEntity = feijipiaoCollectionService.selectOne(queryWrapper);
        if(feijipiaoCollectionEntity==null){
            feijipiaoCollection.setInsertTime(new Date());
            feijipiaoCollection.setCreateTime(new Date());
        feijipiaoCollectionService.insert(feijipiaoCollection);
            return R.ok();
        }else {
            return R.error(511,"您已经收藏过了");
        }
    }


}

FeijipiaoOrderServiceImpl.java
package com.service.impl;

import com.utils.StringUtil;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import com.utils.PageUtils;
import com.utils.Query;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import com.dao.FeijipiaoOrderDao;
import com.entity.FeijipiaoOrderEntity;
import com.service.FeijipiaoOrderService;
import com.entity.view.FeijipiaoOrderView;

/**
 * 飞机票购买订单 服务实现类
 */
@Service("feijipiaoOrderService")
@Transactional
public class FeijipiaoOrderServiceImpl extends ServiceImpl<FeijipiaoOrderDao, FeijipiaoOrderEntity> implements FeijipiaoOrderService {

    @Override
    public PageUtils queryPage(Map<String,Object> params) {
        if(params != null && (params.get("limit") == null || params.get("page") == null)){
            params.put("page","1");
            params.put("limit","10");
        }
        Page<FeijipiaoOrderView> page =new Query<FeijipiaoOrderView>(params).getPage();
        page.setRecords(baseMapper.selectListView(page,params));
        return new PageUtils(page);
    }


}

style.js
const style = {
	listStyle(){
		return {"searchBtnFontColor":"rgba(255, 255, 255, 1)","pagePosition":"2","inputFontSize":"14px","inputBorderRadius":"4px","tableBtnDelFontColor":"rgba(0, 0, 0, 1)","tableBtnIconPosition":"1","searchBtnHeight":"38px","inputIconColor":"#C0C4CC","searchBtnBorderRadius":"4px","tableStripe":false,"btnAdAllWarnFontColor":"rgba(0, 0, 0, 1)","tableBtnDelBgColor":"rgba(255, 255, 255, 1)","searchBtnIcon":"1","tableSize":"medium","searchBtnBorderStyle":"solid","tableSelection":true,"searchBtnBorderWidth":"0px","tableContentFontSize":"14px","searchBtnBgColor":"rgba(84, 88, 179, 1)","inputTitleSize":"14px","btnAdAllBorderColor":"rgba(87, 91, 183, 1)","pageJumper":true,"btnAdAllIconPosition":"1","searchBoxPosition":"1","tableBtnDetailFontColor":"rgba(0, 0, 0, 1)","tableBtnHeight":"30px","pagePager":true,"searchBtnBorderColor":"#DCDFE6","tableHeaderFontColor":"rgba(92, 98, 135, 1)","inputTitle":"1","tableBtnBorderRadius":"0px","btnAdAllFont":"1","btnAdAllDelFontColor":"rgba(0, 0, 0, 1)","tableBtnIcon":"1","btnAdAllHeight":"38px","btnAdAllWarnBgColor":"rgba(255, 255, 255, 1)","btnAdAllBorderWidth":"1px","tableStripeFontColor":"#606266","tableBtnBorderStyle":"none none solid none","inputHeight":"38px","btnAdAllBorderRadius":"4px","btnAdAllDelBgColor":"rgba(255, 255, 255, 1)","pagePrevNext":true,"btnAdAllAddBgColor":"rgba(255, 255, 255, 1)","searchBtnFont":"0","tableIndex":true,"btnAdAllIcon":"1","tableSortable":true,"pageSizes":true,"tableFit":true,"pageBtnBG":false,"searchBtnFontSize":"14px","tableBtnEditBgColor":"rgba(255, 255, 255, 1)","inputBorderWidth":"1px","inputFontPosition":"1","inputFontColor":"rgba(131, 138, 182, 1)","pageEachNum":10,"tableHeaderBgColor":"rgba(246, 246, 249, 1)","inputTitleColor":"rgba(131, 138, 182, 1)","btnAdAllBoxPosition":"1","tableBtnDetailBgColor":"rgba(255, 255, 255, 1)","inputIcon":"0","searchBtnIconPosition":"1","btnAdAllFontSize":"10px","inputBorderStyle":"solid","inputBgColor":"#fff","pageStyle":true,"pageTotal":true,"btnAdAllAddFontColor":"rgba(0, 0, 0, 1)","tableBtnFont":"1","tableContentFontColor":"#606266","inputBorderColor":"rgba(236, 236, 255, 1)","tableShowHeader":true,"tableBtnFontSize":"10px","tableBtnBorderColor":"#DCDFE6","inputIconPosition":"1","tableBorder":true,"btnAdAllBorderStyle":"solid","tableBtnBorderWidth":"1px","tableStripeBgColor":"#F5F7FA","tableBtnEditFontColor":"rgba(0, 0, 0, 1)","tableAlign":"center"}
	},
	addStyle(){
		return {"btnSaveFontColor":"#fff","selectFontSize":"14px","btnCancelBorderColor":"#DCDFE6","inputBorderRadius":"4px","inputFontSize":"14px","textareaBgColor":"#fff","btnSaveFontSize":"14px","textareaBorderRadius":"4px","uploadBgColor":"#fff","textareaBorderStyle":"solid","btnCancelWidth":"88px","textareaHeight":"120px","dateBgColor":"#fff","btnSaveBorderRadius":"4px","uploadLableFontSize":"14px","textareaBorderWidth":"1px","inputLableColor":"rgba(131, 138, 182, 1)","addEditBoxColor":"#fff","dateIconFontSize":"14px","btnSaveBgColor":"rgba(84, 88, 179, 1)","uploadIconFontColor":"#8c939d","textareaBorderColor":"rgba(236, 236, 255, 1)","btnCancelBgColor":"rgba(255, 255, 255, 1)","selectLableColor":"rgba(131, 138, 182, 1)","btnSaveBorderStyle":"solid","dateBorderWidth":"1px","dateLableFontSize":"14px","dateBorderRadius":"4px","btnCancelBorderStyle":"solid","selectLableFontSize":"14px","selectBorderStyle":"solid","selectIconFontColor":"rgba(236, 236, 255, 1)","btnCancelHeight":"44px","inputHeight":"38px","btnCancelFontColor":"rgba(0, 0, 0, 1)","dateBorderColor":"rgba(236, 236, 255, 1)","dateIconFontColor":"rgba(0, 0, 0, 1)","uploadBorderStyle":"dashed","dateBorderStyle":"solid","dateLableColor":"rgba(131, 138, 182, 1)","dateFontSize":"14px","inputBorderWidth":"1px","uploadIconFontSize":"28px","selectHeight":"38px","inputFontColor":"rgba(119, 122, 178, 1)","uploadHeight":"148px","textareaLableColor":"rgba(131, 138, 182, 1)","textareaLableFontSize":"14px","btnCancelFontSize":"14px","inputBorderStyle":"solid","btnCancelBorderRadius":"4px","inputBgColor":"rgba(255, 255, 255, 1)","inputLableFontSize":"14px","uploadLableColor":"rgba(131, 138, 182, 1)","uploadBorderRadius":"4px","btnSaveHeight":"44px","selectBgColor":"#fff","btnSaveWidth":"88px","selectIconFontSize":"14px","dateHeight":"38px","selectBorderColor":"rgba(236, 236, 255, 1)","inputBorderColor":"rgba(236, 236, 255, 1)","uploadBorderColor":"rgba(236, 236, 255, 1)","textareaFontColor":"rgba(119, 122, 178, 1)","selectBorderWidth":"1px","dateFontColor":"rgba(119, 122, 178, 1)","btnCancelBorderWidth":"0px","uploadBorderWidth":"2px","textareaFontSize":"14px","selectBorderRadius":"4px","selectFontColor":"rgba(119, 122, 178, 1)","btnSaveBorderColor":"#409EFF","btnSaveBorderWidth":"0px"}
	}
}
export default style;

声明

本博客适用于广泛的学术和教育用途,包括但不限于个人学习、开发设计,产品设计。仅供学习参考,旨在为读者提供深入理解和学术研究的材料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2174953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cpp::STL—string类的使用与理解(上)(8)

文章目录 前言一、string类对象的构造函数string()string(const char* s)string(size_t n, char c)string(const string& s)string(const string& str&#xff0c;size_t pos&#xff0c;size_t len npos) 二、string类对象的容量操作size与lengthcapacitycapacity返回…

将CSS OKLCH颜色转换为十六进制HEX颜色和十六进制整数格式

我查找了全网都查不到OKLCH&#xff08;&#xff09;方法是颜色转换方法&#xff0c;那今天小编就给大家分享我的方法&#xff0c;可能会有点点误差&#xff0c;但是大体不影响。 程序员必备宝典https://tmxkj.top/#/示例&#xff1a;oklch(0.253267 0.015896 252.418) 得到H…

Go基础学习08-并发安全型类型-通道(chan)深入研究

文章目录 chan基础使用和理解通道模型&#xff1a;单通道、双通道双向通道单向通道单向通道的作用 非缓冲通道 通道基本特性通道何时触发panicChannel和Select结合使用Select语句和通道的关系Select语句的分支选择规则有那些Select和Channel结合使用案例一Select和Channel结合使…

Java底层并发:线程、volatile

在Java的并发编程中&#xff0c;线程、volatile关键字、原子性、临界区以及DelayQueue是一些重要概念。理解这些内容对于编写高效且线程安全的程序至关重要。 1. 线程的基本概念 Java中的线程是程序执行的最小单位。Java提供了多种创建线程的方式&#xff0c;最常用的方式是继…

英特尔终于找到了Raptor Lake处理器崩溃与不稳定问题的根源

技术背景 在过去的几个月里&#xff0c;一些用户报告称他们的第13代和第14代Intel Core“Raptor Lake”处理器遇到了系统崩溃和不稳定的情况。这些问题最初在2024年7月底被英特尔识别出来&#xff0c;并且初步的诊断显示&#xff0c;这些问题与微码有关&#xff0c;该微码使CP…

【JavaEE】——各种“锁”大总结

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c; 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;乐观锁和悲观锁 1&#xff1a;乐观锁 2&#xff1a;悲观锁 3&#xff1a;总结 二&am…

人工智能实战用折线图解读产业GDP发展态势

内容提要 项目分析项目实战 一、项目分析 1、问题提出 我们拿到一大堆关于GDP的数据&#xff0c;如何从这些表面看起来杂乱无章的数据中解读出一些有价值的信息呢? 显然&#xff0c;如果能将这些数据以图形的方式展现出来&#xff0c;例如将这些数据值随时间&#xff08;…

备考中考的制胜法宝 —— 全国历年中考真题试卷大全

在中考这场重要的战役中&#xff0c;每一分都至关重要。为了帮助广大考生更好地备考&#xff0c;我们精心整理了这份全国历年中考真题试卷大全&#xff0c;旨在为大家提供最全面、最权威的备考资料。 文章目录 1. 全科覆盖&#xff0c;无遗漏2. 历年真题&#xff0c;权威可靠3.…

【微服务】springboot 实现动态修改接口返回值

目录 一、前言 二、动态修改接口返回结果实现方案总结 2.1 使用反射动态修改返回结果参数 2.1.1 认识反射 2.1.2 反射的作用 2.1.3 反射相关的类 2.1.4 反射实现接口参数动态修改实现思路 2.2 使用ControllerAdvice 注解动态修改返回结果参数​​​​​​​ 2.2.1 注解…

【C++算法】4.双指针_快乐数

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解&#xff1a; 题目链接&#xff1a; 202.快乐数 题目描述&#xff1a; 解法 根据题目来看&#xff0c;可能是无限循环&#xff0c;也可能是快乐数。因为就相当于下图&#xff1a; 无限循环可…

QT--基础

将默认提供的程序都注释上意义 0101.pro QT core gui #QT表示要引入的类库 core&#xff1a;核心库 gui&#xff1a;图形化界面库 #如果要使用其他库类中的相关函数&#xff0c;则需要加对应的库类后&#xff0c;才能使用 greaterThan(QT_MAJOR_VERSION, 4): QT wid…

AMD 矩阵核心

AMD matrix cores — ROCm Blogs 注意&#xff1a; 本文博客之前是 AMD lab notes 博客系列的一部分。 矩阵乘法是线性代数的一个基本方面&#xff0c;它在高性能计算&#xff08;HPC&#xff09;应用中是一个普遍的计算。自从 AMD 推出 CDNA 架构以来&#xff0c;广义矩阵乘法…

基于SpringBoot+Vue+MySQL的甜品店管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 在数字化浪潮的推动下&#xff0c;甜品店行业也面临着转型与升级的需求。传统的线下经营模式已难以满足现代消费者对于便捷、高效购物体验的追求。为了提升运营效率、优化顾客体验&#xff0c;我们设计了一款基于SpringBoot后端…

Django基础-创建新项目,各文件作用

学习Django的前置知识&#xff1a; python基本语法&#xff1a;需要掌握Python中的变量、循环、条件判断、函数等基本概念。面向对象编程&#xff08;OOP&#xff09;&#xff1a;Django的核心架构基于面向对象编程&#xff0c;许多功能&#xff08;如模型和视图&#xff09;依…

黑神话悟空小西天

游戏里我们一开始就出现一个很可爱的小和尚&#xff0c;当脚步声传来&#xff0c;小和尚化身为一尊弥勒佛&#xff0c;而这尊弥勒佛的大小和位置都在说&#xff0c;这里没有弥勒佛的位置。 随后天命人进入一片雪地&#xff0c;遇到了赤尻马猴&#xff0c;打跑赤尻马猴&#xff…

C++_unordered系列关联式容器(哈希)

unordered系列关联式容器&#xff0c;我们曾在C_map_set详解一文中浅浅的提了几句。今天我们来详细谈谈 本身在C11之前是没有unordered系列关联式容器的&#xff0c;unordered系列与普通的map、set的核心功能重叠度达到了90%&#xff0c;他们最大的不同就是底层结构的不同&…

AVL树(平衡二叉树)的介绍以及相关构建

欢迎光临 &#xff1a; 羑悻的小杀马特-CSDN博客 目录 一AVL树的介绍&#xff1a; 二AVL树的实现&#xff1a; 1结构框架&#xff1a; 2节点的插入&#xff1a; 旋转&#xff1a; 21左单旋&#xff1a; 2.1.1左单旋介绍及步骤&#xff1a; 2.1.2左单旋代码实…

【JavaSE系列】IO流

目录 前言 一、IO流概述 二、IO流体系结构 三、File相关的流 1. FileInputStream 2. FileOutputStream 3. FileReader 4. FileWriter 四、缓冲流 五、转换流 1. InputStreamReader 2. OutputStreamWriter 六、数据流 七、对象流 八、打印流 九、标准输入输出流…

C++学习9.28

1> 创建一个新项目&#xff0c;将默认提供的程序都注释上意义 por QT core gui #QT表示引入的类库 core:核心库例如IO操作在该库中 gui:图形化显示库 #如果要使用其他类库中的相关函数&#xff0c;就需要调用相关类库后&#xff0c;才能加以使用greaterThan(Q…

c++926

1.什么是虚函数&#xff1f;什么是纯虚函数&#xff1f; 虚函数&#xff1a;被virtual关键字修饰的成员函数&#xff0c;用于实现多态性&#xff0c;通过基类访问派生类的函数。纯虚函数&#xff1a;在虚函数后面添加0&#xff0c;只有声明而没有实现&#xff0c;需要派生类提…