# 在线增强JS和CSS
> 功能说明:对查询区域的条件控件作一些JS事件控制【**JS增强**】、CSS样式修改【**CSS增强**】。
[TOC]
## CSS增强
### 1.效果
> `查询按钮`的背景颜色改变

### 2.进入设计页面,在其他设置中点击增强配置

### 3.重点来了->为`查询按钮`设置样式
> 在css栏下编写样式代码,使`按钮背景颜色变成红色,边框也变成白色`

~~~
.jm-query-form .ivu-btn-primary{
background-color: red;
border-color: red;
}
~~~
### 4.注意事项
> 需要先找到按钮的原class即`.ivu-btn-primary`,然后加上表单顶层样式类`.jm-query-form`即可
> 如下图演示,先F12打开调试工具找到`元素(ELements)`,再定位

## JS增强示例
### 1、实现三级联动
本例通过JS增强实现三级联动效果,来讲解JS增强用法。
#### 1.1 效果展示

#### 1.2 设计步骤
> 进入数据集配置页面,控件类型设置为`自定义下拉框`,编码为`pca`

> 回到设计页面配置js增强

JS增强示例代码:
先定义一个init方法,在里面编写JS脚本。
~~~
function init(){
// 加载第1个下拉框数据
$http.metaGet('http://localhost:8080/jeecg-boot/ces/ai/customSelect').then(res=>{
let options = res.data;
this.updateSelectOptions('pca', 'pro', options)
})
// 监听第1个下拉框改变事件 加载第2个下拉框数据
/*
* pca为数据源的key,pro是数据源key为pca的字段
**/
this.onSearchFormChange('pca', 'pro', (value)=>{
let params = {params: {pid: value}}
$http.metaGet('http://localhost:8080/jeecg-boot/ces/ai/customSelect', params ).then(res=>{
let options = res.data;
this.updateSelectOptions('pca', 'city', options)
})
})
// 监听第2个下拉框改变事件 加载第3个下拉框数据
this.onSearchFormChange('pca', 'city', (value)=>{
let params = {params: {pid: value}}
$http.metaGet('http://localhost:8080/jeecg-boot/ces/ai/customSelect', params ).then(res=>{
let options = res.data;
this.updateSelectOptions('pca', 'area', options)
})
})
}
~~~
#### 1.3 功能说明
* 只能定义一个function,名称叫init
* 发起请求使用`$http.metaGet`,请求参数格式如:`let params = {params: {pid: value}}`
* 监听控件值改变,使用`this.onSearchFormChange`参数依次为: 数据集编码、字段名、回调事件,回调事件携带参数可获取到控件的值。*(这里只是说可以获取到控件的值,不一定是控件的值,也有可能是event对象)*
* 修改下拉框的选项:`this.updateSelectOptions`参数依次为:数据集编码、字段名、下拉选项数据
~~~
下拉选项数据格式为:
[{
value: '001',
text: '北京市'
},{
value: '002',
text: '天津市'
}]
~~~
* 接口最后返回的数据格式同上述下拉选项数据格式
* * *
### 2、实现修改查询表单初始值
#### 2.1 效果展示
> 通过`js`增强设置`sex`为女
> 
#### 2.2 设计步骤
> 进入数据集配置页面,编码为`de`,并设置`sex`的查询默认值为`男`

> 进入预览页面,查看数据显示效果

> 进入设计页面,配置js增强

~~~
// 增强代码
function init(){
this.updateSearchFormValue('de', 'sex', '女')
}
~~~
进入预览页面,再次查看数据显示效果

#### 2.3 功能说明
* 调用方法:**updateSearchFormValue**,该方法三个参数,说明如下:
| 参数 | 描述 |
| --- | --- |
| dbCode | 数据集编码,如上例中的test |
| fieldName | 数据集字段名称,如上例中的id |
| value | 查询初始值,如上例中的2 |
* 如果是数值的范围查询可以通过|拼接开始结束值

~~~
function init(){
this.updateSearchFormValue('dbCode', 'fieldName', '1|5')
}
~~~
* 如果是日期的范围查询,同上,只不过有个格式化需要配置,保证默认值的格式和配置的日期格式一致

~~~
function init(){
this.updateSearchFormValue('dbCode', 'fieldName', '2021-08-01|2021-08-23')
}
~~~
* * *
### 3、设置下拉单选默认值的第一项
#### 3.1 演示效果
> `sex`下拉框选中第一个`男`

#### 3.2 设计步骤
> 版本支持`version 1.4.0``date 20211020`
> 进入数据集配置页面,配置字段字典code、查询模式。【必须配置】

> 进入设计页面,配置js增强
> 
~~~
function init(){
let ops = this.getSelectOptions('de', 'sex');
if(ops && ops.length>0){
this.updateSearchFormValue('de', 'sex', ops[0].value)
}
}
~~~
#### 3.3 功能说明
* 调用方法:**getSelectOptions**,该方法两个参数,说明如下:
| 参数 | 描述 |
| --- | --- |
| dbCode | 数据集编码,如上例中的test |
| fieldName | 数据集字段名称,如上例中的name |
* 调用方法:**updateSearchFormValue**,该方法三个参数,说明如下:
| 参数 | 描述 |
| --- | --- |
| dbCode | 数据集编码,如上例中的test |
| fieldName | 数据集字段名称,如上例中的name |
| value | 查询初始值,如上例中的ops\[0\].value |
- 安装步骤
- 1.nacos配置文件
- 2.容器部署
- 3. 初始化数据库
- 操作手册
- 一、基础操作
- 1. 鉴权
- 2. 创建报表
- 3. 编辑报表
- 4. 背景设置
- 5. 复制、粘贴、剪切
- 6. 行操作
- 7. 添加数据源
- 8. 报表数据集
- 8.1 SQL数据集配置
- 8.2 API数据集配置
- 8.3 JavaBean数据集
- 8.4 对象数据集配置
- 8.5 集合数据集配置
- 8.6 JSON数据集配置
- 8.7 sql数据源解析失败弹窗
- 8.8 存储过程
- 8.9 Redis数据集
- 8.10 MongoDB数据集
- 9. 插入数据
- 10. 数据格式化设置
- 11. 数据字典配置
- 12. 导入报表
- 13. 导出报表
- 14. 分页设置
- 15. 报表集成
- 16. 分享报表
- 17.报表模版库
- 18.数据源查询默认值配置
- 19.自定义分页条数
- 20.报表定时保存配置
- 21.补全空白行
- 22.预览页工具条设置
- 23.动态合并格
- 二、打印设计
- 1.打印设置规则_重要
- 2. 打印区域设置
- 3. 打印清晰度设置
- 4. 打印机样式设置
- 5. 套打怎样设置
- 6. 带背景打印
- 三、数据报表设计
- 1. 分组
- 1.1 纵向分组(相邻合并)
- 1.2 横向分组(相邻合并)
- 1.3 横向动态列分组
- 1.4 横向纵向组合动态列分组
- 1.5 横向分组小计
- 1.6 分组内合计
- 1.7 纵向分组小计
- 1.8 常用分组示例
- 1.9 分组数据排序设置
- 2.查询条件
- 2.1 API查询条件配置
- 2.2 API查询条件为时间
- 2.3 API自定义查询条件
- 2.4 SQL配置查询条件
- 2.5 API接口后台接收参数说明
- 2.6 API范围查询
- 3.条形码/二维码
- 3.1 二维码配置说明
- 3.2 条形码配置说明
- 3.3 条形码和二维码改值
- 4.交叉报表
- 5.明细报表
- 6.主子报表
- 6.1 主子表API数据源(新)
- 6.2 主子表SQL数据源(新)
- 7.联动钻取
- 7.1 报表联动(新)
- 7.2 报表钻取(新)
- 7.3 报表钻取带条件用法
- 7.4 图表钻取带条件用法
- 7.5 报表联动图表带条件用法
- 7.6 图表联动图表带条件用法
- 7.7 钻取联动条件规则
- 8.组件交互清单
- 9.循环块设置
- 10.分栏设置
- 11.分版设置
- 12.多表头复杂报表
- 四、表达式函数
- 1. 数据集表达式
- 2. 单元格表达式
- 3. 统计函数
- 4. 行号函数
- 5. 日期函数
- 6. 数学函数
- 7. 字符串函数
- 8. 条件表达式
- 9. 颜色表达式
- 10. 判断函数
- 11. 函数库列表(高级)
- 12. 基本运算符(高级)
- 13. 自定义报表函数
- 五、报表查询配置
- 1. 报表参数配置
- 2. 报表查询配置
- 3. 查询控件类型
- 4. 查询控件默认值
- 5. 时间控件设置说明
- 6. 时间控件默认值设置
- 7. SQL中条件表达式
- 8. 查询控件下拉树
- 9. 范围查询设置默认值
- 10. JS增强和CSS增强
- 11. 技巧说明
- 12. 参数公用示例
- 六、图形报表设计
- 1. 基本配置
- 1.1 图表背景设置
- 1.2 图表动态刷新
- 1.3 图表之间的联动
- 2. 柱形图配置
- 2.1 数据源配置
- 2.1.1 单数据源配置
- 2.1.2 多数据源配置
- 3. 折线图配置
- 3.1 数据源配置
- 3.1.1 单数据源配置
- 3.1.2 多数据源配置
- 4. 饼图配置
- 4.1 数据源配置
- 5. 折柱图配置
- 5.1 数据源配置
- 6. 散点图配置
- 6.1 普通散点图数据源配置
- 6.2 气泡散点图数据源配置
- 7. 漏斗图配置
- 7.1 数据源配置
- 8. 象形图配置
- 8.1 数据源配置
- 9. 地图配置
- 9.1 地图区配置
- 9.2 数据源配置
- 10. 仪表盘配置
- 10.1 数据源配置
- 11. 雷达图配置
- 11.1 数据源配置
- 12. 关系图配置
- 12.1 数据源配置
- 七、其他
- 1. sql数据集 in查询
- 2. 联动/钻取配置说明
- 3. 数据集字段字典配置
- 4. 传参渲染到报表上
- 5. 钻取、联动条件用法
- 6. 导出图片支持背景导出
- 7. 模板示例补充表
- 快速入门
- 1. 整体页面布局介绍
- 2. SQL数据源报表制作
- 3. SQL数据源报表带参制作
- 4. API数据源报表制作
- 5. API数据源报表带参制作
- JDEasyWorkflow
