Commit 3976280f authored by 高洋's avatar 高洋

Track 14 files into repository.

- untracked assets/excelImport.png
- untracked assets/redis-dir.jpg
- untracked assets/redis-sentinel.jpg
- untracked assets/redis01.png
- untracked assets/redis02.png
- removed docx4j.md
- removed jad.md
- modified 前端组件/hlsCombobox.md
- removed 前端组件/hlsDataSource
- modified 前端组件/hlsDatePicker.md
- modified 前端组件/hlsMaskedTextBox.md
- untracked 框架功能描述/docx4j.md
- untracked 框架功能描述/jad.md
- modified 融租易开发手册.md

Auto commit by GitBook Editor
parent 32c74bd1
## Excel文件批量导出
本系统支持Excel文件导出排队处理,支持超大数据量,能实时查询文件生成情况,支持取消导出。
#### 使用方法
1. 在代码中注入Excel导出Service
```java
@AutoWired
private ExcelExportServiceImpl excelService;
```
2. 在自己的controller中调用方法
```java
excelService.saveExportInfo(sqlId,iRequest,config,rowMaxNumber);
```
| 参数名 | 类型 | 描述 |
| :--: | :--: | :--: |
| sqlId | String | mybatis对应的数据库查询语句的ID |
| iRequest | IRequest | 带有上下文信息的reuqest对象 |
| config | ExportConfig | 包含Excel各列信息的对象,由前台传递json对象转换而来 |
| rowMaxNumber | int | 生成Excel的最大行数,可使用重载方法,不包含次参数默认为1,000,000 |
3. 运行Excel导出程序(获取该程序,请联系部门相关负责人)
```shell
java -jar hel-batch-parent.jar &
```
4. Excel导出情况查询
用户若是为管理员身份,则查询全部人的导出情况,否则只显示当前用户的导出数据
```java
excelService.queryExportInfo(status, iRequest);
```
| 参数名 | 类型 | 描述 |
| :--: | :--: | :--: |
| status | String | 指定Excel导出的状态,该参数可为空查询全部状态数据<br><ll><li>new->等待</li><li>generating->文件导出中</li><li>finished->导出完成</li><li>failed-> 导出失败</li></ll> |
| iRequest | IRequest | 带有上下文信息的reuqest对象 |
5. 下载已完成的Excel文件
```java
excel.downloadExcel(filePath, fileName, request, response);
```
| 参数名 | 类型 | 描述 |
| :--: | :--: | :--: |
| filePath | String | 需要下载的文件的路径 |
| fileName | String | 想要保存的文件的名称 |
| request | HttpServletRequest | 用户的请求对象 |
| response | HttpServletResponse | 用户的响应对象 |
**下载前,需要检查config.properties文件中的export.offerUrl配置项是否配置正确,且为hel-batch-parent.jar提供的文件下载url**
\ No newline at end of file
# hlsCombobox标签 # hlsCombobox标签(下拉框)
ComboBox下拉列表组件,通常数据源以code - meaning形式出现,用户操作的是meaning,实际保存的是code。 ComboBox下拉列表组件,通常数据源以code - meaning形式出现,用户操作的是meaning,实际保存的是code。
...@@ -20,52 +20,24 @@ ComboBox下拉列表组件,通常数据源以code - meaning形式出现,用 ...@@ -20,52 +20,24 @@ ComboBox下拉列表组件,通常数据源以code - meaning形式出现,用
``` ```
### **主要属性** ### **主要属性**
属性名 | 类型 属性名 | 类型 | 说明 |
-------- | --- --- | --- | --- |
id | String id | String | id |
promptColspan | String promptColspan | String | 提示语句需要占几列 |
promptClassName | String promptClassName | String | 提示语句类名,默认不填 |
promptImage | String promptImage | String | 提示前面的文字图形,默认不填 |
prompt | String prompt | String | 提示信息 |
colspan | String colspan | String | 所占列数 |
hlsClassName | String hlsClassName | String | 类名,默认不填 |
animation | Boolean dataSource | DataSource | 数据源 |
autoBind | Boolean dataTextField | String | 返回的显示描述字段 |
autoWidth | Boolean dataValueField| String | 绑定的英文字段 |
cascadeFrom| String enable | Boolean | 是否可编辑,true为可编辑,false不可编辑 |
cascadeFromField | String placeholder | String | 占位符 |
clearButton| Boolean template| Function| 渲染函数 |
dataSource | DataSource change| Function | 数据变化时触发的函数 |
dataTextField | String
dataValueField| String
delay | Number
enable | Boolean
enforceMinLength| Boolean
filter | String
fixedGroupTemplate| String \| Function
footerTemplate| String \| Function
groupTemplate| String \| Function
height| Number
highlightFirst| Boolean
ignoreCase| Boolean
index| Number
minLength| Number
noDataTemplate| String \| Function
placeholder | String
suggest| Boolean
headerTemplate| String \| Function
template| String \| Function
text| String
value| String
valuePrimitive| Boolean
virtual| Boolean
change| Function
close| Function
dataBound | Function
filtering| Function
open| Function
select| Function
cascade| Function
> 属性用法请参考KendoUI文档 [http://docs.telerik.com/kendo-ui/api/javascript/ui/combobox](http://docs.telerik.com/kendo-ui/api/javascript/ui/combobox) > 属性用法请参考KendoUI文档 [http://docs.telerik.com/kendo-ui/api/javascript/ui/combobox](http://docs.telerik.com/kendo-ui/api/javascript/ui/combobox)
......
# hlsDatePicker标签 # hlsDatePicker标签
日期选择器(不包含时分秒) 日期选择器(不包含时分秒)
xml配置 xml配置
```xml ```xml
<!--基本用法--> <!--基本用法-->
<h:hlsDatePicker id="hlsDatePickerId" bind="enabled:isEnabled,value:data.value" placeholder="hlsDatePicker"/> <h:hlsDatePicker id="hlsDatePickerId" bind="enabled:isEnabled,value:data.value" placeholder="hlsDatePicker"/>
``` ```
### **主要属性** ### **主要属性**
属性名 | 类型 属性名 | 类型 | 说明 |
-------- | ----- -------- | -----| --- |
promptColspan | Integer promptColspan | Integer | 描述字段所占列数 |
promptClassName | String promptClassName | String| 描述的样式名称 |
promptImage | String prompt | String| 描述 |
prompt | String colspan | Integer | datePicker所占列数 |
colspan | Integer hlsClassName | String | 样式名称 |
hlsClassName | String animation | Boolean | 动画 |
animation | Boolean format| String | 格式化 |
ARIATemplate| String max| String | 最大时间 |
culture | String min| String | 最小时间 |
depth| String value | String | 值 |
footer| String & Function name | String | name属性 |
format| String bind | Function | 绑定数据 |
max| String required | Boolean | 必输 |
min| String change | Function | chang事件 |
start| String placeholder | String | 占位符 |
value | String timeFormat |String| 时间格式化 |
name | String > **提示:** 属性用法请参考kendoui API文档 http://docs.telerik.com/kendo-ui/api/javascript/ui/datetimepicker
bind | Function
required | Boolean
change | Function ### **用法示例**
close| Function
open | Function ```javascript
placeholder | String //注意是写在script标签内的
interval |Integer var viewModel = kendo.observable({
timeFormat |String data:{},
> **提示:** 属性用法请参考kendoui API文档 http://docs.telerik.com/kendo-ui/api/javascript/ui/datetimepicker isEnabled:true
});
### **用法示例** function open(){
//...
```javascript }
//注意是写在script标签内的
var viewModel = kendo.observable({ function change(e){
data:{}, //...
isEnabled:true }
});
```
function open(){
//... ```xml
} <h:hlsDatePicker id="hlsDatePickerId"bind="enabled: isEnabled,value:data.value"
style="width:200px;"
function change(e){ max="2016-6-6"
//... placeholder="hlsDatePicker"
} open="open"
required="true"
``` change="change"
prompt="日期选择器:"
```xml />
<h:hlsDatePicker id="hlsDatePickerId"bind="enabled: isEnabled,value:data.value"
style="width:200px;"
max="2016-6-6" id:可写可不写;
placeholder="hlsDatePicker" bind:属性里面包含配置两个选项:
open="open" (1)enabled配置日期选择器是否可以编辑,值为Boolean类型的变量,在viewModel里面配置。
required="true" (2)value配置日期选择器与变量关联,默认是在ViewModel下面的变量;
change="change" max:可选择日期的上限值;
prompt="日期选择器:" style可改变该控件的样式;
/> open:点击控件调用的方法;
change:选择日期之后的事件;
prompt:为控件添加一个label,该属性一般和<h:hlsForm><h:hlsHBox>一起使用;
id:可写可不写; ```
bind:属性里面包含配置两个选项:
(1)enabled配置日期选择器是否可以编辑,值为Boolean类型的变量,在viewModel里面配置。
(2)value配置日期选择器与变量关联,默认是在ViewModel下面的变量;
max:可选择日期的上限值; > **提示:**
style可改变该控件的样式;
open:点击控件调用的方法; > - 上述所有属性直接添加在标签内即可,(**[属性名] = "..."**),对于既是**String**类型又是**Function**类型的属性,只需要加**fn:**前缀区分即可,(**fn:函数名**)
change:选择日期之后的事件; > - 对于**max min**等本该是**时间类型**的属性,改为日期字符串,且连接符号为"**-**"
prompt:为控件添加一个label,该属性一般和<h:hlsForm><h:hlsHBox>一起使用;
```
> **提示:**
> - 上述所有属性直接添加在标签内即可,(**[属性名] = "..."**),对于既是**String**类型又是**Function**类型的属性,只需要加**fn:**前缀区分即可,(**fn:函数名**)
> - 对于**max min**等本该是**时间类型**的属性,改为日期字符串,且连接符号为"**-**"
## hlsMaskedTextBox ## hlsMaskedTextBox(文本框)
格式框 格式框
##### xml配置 ##### xml配置
```xml ```xml
<!--h:为命名空间,必须要加的;maskedTextBox为组件名;id可写可不写--> <!--h:为命名空间,必须要加的;maskedTextBox为组件名;id可写可不写-->
<h:hlsMaskedTextBox id="hlsMaskedTextBox"/> <h:hlsMaskedTextBox id="hlsMaskedTextBox"/>
``` ```
#### **一般属性** #### **一般属性**
> **提示:** > **提示:**
> >
> * 属性用法请参考kendoui API文档的maskedTextBox:[http:\/\/docs.telerik.com\/kendo-ui\/api\/javascript\/ui\/maskedtextbox](http://docs.telerik.com/kendo-ui/api/javascript/ui/maskedtextbox) > * 属性用法请参考kendoui API文档的maskedTextBox:[http:\/\/docs.telerik.com\/kendo-ui\/api\/javascript\/ui\/maskedtextbox](http://docs.telerik.com/kendo-ui/api/javascript/ui/maskedtextbox)
| 属性名 | 类型 | | 属性名 | 类型 | 说明 |
| --- | --- | | --- | --- | --- |
| clearPromptChar | Boolean | | id | String | 唯一英文标识 |
| culture | String | | promptColspan | number | 该数字将会与col-sm-?进行拼接,替代问号,生成对应bootstrap的css样式,渲染描述的样式 |
| mask | String | | promptClassName | String | 描述的样式名称,会将对应的样式添加到描述中 |
| promptChar | String | | promptImage | String | 描述前面的一个文本图像,在设置为必填的时候会出现一个红色的* |
| unmaskOnPost | Boolean | | prompt | String | 中文描述 || colspan| number | 该数字会与col-sm-?进行拼接,替代问号,生成对应bootStrap的css样式,渲染文本框的样式 |
| value | String | | hlsClassName | String | 标签的样式名称 |
| change | Function | | placeholder | String | 占位符 |
| caseLetter | String | | bind | expressions | 绑定数据 |
| clearButton | Boolean |
| placeholder | String |
| bind | Function | 用法示例:
| required | Boolean |
```xml
用法示例: <h:hlsMaskedTextBox id="hlsMaskedTextBox" required="true" placeholder="hlsMaskedTextBox" />
```
```xml
<h:hlsMaskedTextBox id="hlsMaskedTextBox" required="true" placeholder="hlsMaskedTextBox" /> > **提示:**
``` >
> * 上述所有属性直接添加在标签内即可,(**\[\*\***属性名\]**\*\* = "..."**)
> **提示:**
> #### **子标签**
> * 上述所有属性直接添加在标签内即可,(**\[\*\***属性名\]**\*\* = "..."**)
| 属性名 | 类型 |
#### **子标签** | --- | --- |
| rules | Object |
| 属性名 | 类型 |
| --- | --- | ```javascript
| rules | Object | function rules(){
//...
```javascript }
function rules(){ ```
//...
} ```xml
``` <h:hlsMaskedTextBox id="hlsMaskedtTextBox" placeholder="hlsMaskedTextBox" prompt="hlsMaskedTextBox"
bind="model" bind="enabled: isEnabled, value:data.textBox">
```xml
<h:hlsMaskedTextBox id="hlsMaskedtTextBox"> </h:hlsMaskedTextBox>
<h:rules "~"="/[+-]/" "^"="fn:rules"/> ```
</h:hlsMaskedTextBox>
``` > **提示**:
>
> **提示**: > * 遇到**object**类型 就向下添加子标签,当遇到普通类型时,就添加到当前的标签上。
>
> * 遇到**object**类型 就向下添加子标签,当遇到普通类型时,就添加到当前的标签上。
## 合同文本生成 ## 合同文本生成
合同文本生成允许用户定义不同内容的合同模板,通过各项数据配置,对其中的文字、表格、水印以及批注等内容进行修改。 合同文本生成允许用户定义不同内容的合同模板,通过各项数据配置,对其中的文字、表格、水印以及批注等内容进行修改。
1. 进入合同模板定义功能 1. 进入合同模板定义功能
先在表格中定义好模板的代码、名称、用途、类型以及说明等信息进行保存。 先在表格中定义好模板的代码、名称、用途、类型以及说明等信息进行保存。
| 字段名 | 说明 | | 字段名 | 说明 |
| :--: | :--: | | :--: | :--: |
| 模板代码 | 模板的唯一标示,不可重复 | | 模板代码 | 模板的唯一标示,不可重复 |
| 模板名称 | 用于标识一个文件模板 | | 模板名称 | 用于标识一个文件模板 |
| 模板用途 | 暂时只有*合同文本*一种用途 | | 模板用途 | 暂时只有*合同文本*一种用途 |
| 模板类型 | | | 模板类型 | |
| 说明 | 文件模板的说明 | | 说明 | 文件模板的说明 |
| 参数集 | 参与该模板生成时,所需要使用到的参数 | | 参数集 | 参与该模板生成时,所需要使用到的参数 |
![合同模板定义功能](/assets/tempDefine.png) ![合同模板定义功能](/assets/tempDefine.png)
2. 上传合同模板 2. 上传合同模板
通过合同模板定义功能表格中的**模板上传**功能,将预先设计好的模板上传到服务器。**该功能只支持2007版本以上的,docx后缀的word文档** 通过合同模板定义功能表格中的**模板上传**功能,将预先设计好的模板上传到服务器。**该功能只支持2007版本以上的,docx后缀的word文档**
![合同模板上传](/assets/tempUpload.png) ![合同模板上传](/assets/tempUpload.png)
3. 定义合同模板参数 3. 定义合同模板参数
通过合同模板定义功能表格中**参数集**设置,将需要与合同模板关联的参数进行设置。 通过合同模板定义功能表格中**参数集**设置,将需要与合同模板关联的参数进行设置。
![合同模板参数集设置](/assets/paramSet.png) ![合同模板参数集设置](/assets/paramSet.png)
- 若是有在已有的参数列表中没有需要的使用参数设置,则可以在参数集配置中手动添加 - 若是有在已有的参数列表中没有需要的使用参数设置,则可以在参数集配置中手动添加
- 参数定义中的字段说明 - 参数定义中的字段说明
> | 字段名 | 说明 | > | 字段名 | 说明 |
> | :--: | :--: | > | :--: | :--: |
> | 书签代码 | 书签的唯一标识,需要和模板文件中定义的书签名称一致 | > | 书签代码 | 书签的唯一标识,需要和模板文件中定义的书签名称一致 |
> | 书签描述 | 对该书签的文字描述 | > | 书签描述 | 对该书签的文字描述 |
> | 书签类型 | 书签类型目前有:文本、表单、表单域、横向表单四种 <ul><li>文本类型对应的是替换后为文档中普通文本 </li><li>表单类型对应着word文档中一个表格的数据,表格的每一列的配置信息都是在列配置中完成</li><li>表单域对应word文档中一个文本域\窗体域,最终的替换结果会显示在文本域的位置</li><li>横向表单对应的是替换的文档中,书签所对应的是文档中一整块内容,内容中可能包含了多个书签,每个书签的名称在列配置中进行配置,最后根据结果生成多块结构类似的文本</ul> | > | 书签类型 | 书签类型目前有:文本、表单、表单域、横向表单四种 <ul><li>文本类型对应的是替换后为文档中普通文本 </li><li>表单类型对应着word文档中一个表格的数据,表格的每一列的配置信息都是在列配置中完成</li><li>表单域对应word文档中一个文本域\窗体域,最终的替换结果会显示在文本域的位置</li><li>横向表单对应的是替换的文档中,书签所对应的是文档中一整块内容,内容中可能包含了多个书签,每个书签的名称在列配置中进行配置,最后根据结果生成多块结构类似的文本</ul> |
> | 数据源 | 选择该参数的值来源,配置该项之后可不用配置SQL | > | 数据源 | 选择该参数的值来源,配置该项之后可不用配置SQL |
> | SQL | 从数据库进行数据查询使用的SQL语句 | > | SQL | 从数据库进行数据查询使用的SQL语句 |
> | 列配置 | 只有在书签类型为表单或横向表单时,才可以进行配置 | > | 列配置 | 只有在书签类型为表单或横向表单时,才可以进行配置 |
> | 字体型号 | 生成的文本使用的字体类型 | > | 字体型号 | 生成的文本使用的字体类型 |
> | 字体大小 | 生成的文本使用的字体大小 | > | 字体大小 | 生成的文本使用的字体大小 |
> | 下划线 | 生成的文本使用的下划线类型:无、单下划线、双下划线 | > | 下划线 | 生成的文本使用的下划线类型:无、单下划线、双下划线 |
> | 是否加粗 | 生成的文本是否需要加粗 | > | 是否加粗 | 生成的文本是否需要加粗 |
![合同模板参数定义](/assets/paramDefine.png) ![合同模板参数定义](/assets/paramDefine.png)
4. 去生成最终的合同文本 4. 去生成最终的合同文本
生成合同文本时在合同状态为**新建**时才可以生成合同文本 生成合同文本时在合同状态为**新建**时才可以生成合同文本
![合同文本生成入口](/assets/docxGenEntry.png) ![合同文本生成入口](/assets/docxGenEntry.png)
![合同文本生成](/assets/docxGen.png) ![合同文本生成](/assets/docxGen.png)
\ No newline at end of file
## Excel文件导入
使用poi解析xml方式进行导入,只支持单表导入。
数据库批量导入默认batch为100.
支持多sheet导入,sheet1从第三行开始读取数据,其他sheet页从第一行导入数据。
使用方法:
1. Excel文件上传
```javascript
$("#files").kendoUpload({
async: {
saveUrl: "${base.contextPath}/hls/excel/import?${_csrf.parameterName}=${_csrf.token}&templateCode=HLS_FIN_STATEMENT_LN",
removeUrl: "remove"
},
showFileList: false,
upload: onUpload,
success: onSuccess
});
```
| 参数名 | 描述 |
| :--: | :--: |
| _csrf.token | 防跨域token |
| templateCode | 作为模块标识,会出现先在fnd_interface_header中,供后续业务逻辑进行处理 |
2. 处理数据
经过第一步的文件上传,后台会在fnd_interface_header表中生成一条数据,其中包含了传递的templateCode参数作为code,并且,在fnd_interface_lines表中按照顺序,将Excel文件中的每一行数据保存为一条数据,数据的第一列保存在attributes_1上,依次类推。
![ExcelImport](/assets/excelImport.png)
## Excel文件批量导出
本系统支持Excel文件导出排队处理,支持超大数据量,能实时查询文件生成情况,支持取消导出。
#### 前端使用方法
调用js方法
```javascript
Hel.exportExcel=function(opts){
var contextPath =opts.contextPath,
id=opts.id,
view_model=opts.viewModel,
viewModelData=opts.viewModelData,
controller_name = opts.controller,
fileName = opts.fileName,
temp_div_id=opts.tempDivId,
dataSourceId = opts.dataSourceId,
_csrf_token = opts._csrf_token;
```
| 参数名 | 描述 |
| :--: | :--: |
| contextPath | 项目的url路径 |
| id | 页面上grid的id |
| view_model | grid绑定的model数据模型 |
| viewModelData | model模型中的数据 |
| controller_name | 后端控制器名称 |
| fileName | excel文件名 |
| temp_div_id | 临时div的id |
| dataSourceId | 数据源id |
| _csrf_token | 防跨域的token |
#### 后端使用方法
1. 在代码中注入Excel导出Service
```java
@AutoWired
private ExcelExportServiceImpl excelService;
```
2. 在自己的controller中调用方法
```java
excelService.saveExportInfo(sqlId,iRequest,config,rowMaxNumber);
```
| 参数名 | 类型 | 描述 |
| :--: | :--: | :--: |
| sqlId | String | mybatis对应的数据库查询语句的ID |
| iRequest | IRequest | 带有上下文信息的reuqest对象 |
| config | ExportConfig | 包含Excel各列信息的对象,由前台传递json对象转换而来 |
| rowMaxNumber | int | 生成Excel的最大行数,可使用重载方法,不包含次参数默认为1,000,000 |
3. 运行Excel导出程序(获取该程序,请联系部门相关负责人)
```shell
java -jar hel-batch-parent.jar &
```
4. Excel导出情况查询
用户若是为管理员身份,则查询全部人的导出情况,否则只显示当前用户的导出数据
```java
excelService.queryExportInfo(status, iRequest);
```
| 参数名 | 类型 | 描述 |
| :--: | :--: | :--: |
| status | String | 指定Excel导出的状态,该参数可为空查询全部状态数据<br><ul><li>new->等待</li><li>generating->文件导出中</li><li>finished->导出完成</li><li>failed-> 导出失败</li></ul> |
| iRequest | IRequest | 带有上下文信息的reuqest对象 |
5. 下载已完成的Excel文件
```java
excel.downloadExcel(filePath, fileName, request, response);
```
| 参数名 | 类型 | 描述 |
| :--: | :--: | :--: |
| filePath | String | 需要下载的文件的路径 |
| fileName | String | 想要保存的文件的名称 |
| request | HttpServletRequest | 用户的请求对象 |
| response | HttpServletResponse | 用户的响应对象 |
**下载前,需要检查config.properties文件中的export.offerUrl配置项是否配置正确,且为hel-batch-parent.jar提供的文件下载url**
\ No newline at end of file
# 融租易开发手册 # 融租易开发手册
* [GitBook使用](/gitbook.md) * [GitBook使用](/gitbook.md)
--- ---
* I. 开发环境准备 * I. 开发环境准备
* [1.1 Git 使用](/git-guide.md "git指令") * [1.1 Git 使用](/git-guide.md "git指令")
* [1.2 Maven 使用](/maven.md "maven使用") * [1.2 Maven 使用](/maven.md "maven使用")
* [1.3 开发环境搭建](/project-create.md) * [1.3 开发环境搭建](/project-create.md)
* [1.4 更新项目的HEL依赖版本](/project-update.md) * [1.4 更新项目的HEL依赖版本](/project-update.md)
* [1.5 Liquibase](/liquibase-use.md) * [1.5 Liquibase](/liquibase-use.md)
* II. 项目开发规范 * II. 项目开发规范
* [2.1 项目开发规范](/codeStyle.md#backEndDev) * [2.1 项目开发规范](/codeStyle.md#backEndDev)
* [2.2 编码规范](/codeStyle.md#backEndName) * [2.2 编码规范](/codeStyle.md#backEndName)
* 2.3 Checkstyle * 2.3 Checkstyle
* III. 后端开发 * III. 后端开发
* [3.1 后端开发说明(1.0)](/后端开发/dev-flow.md) * [3.1 后端开发说明(1.0)](/后端开发/dev-flow.md)
* [3.2 用户安全策略](/后端开发/user-security-strategy.md) * [3.2 用户安全策略](/后端开发/user-security-strategy.md)
* [3.3 审计](/后端开发/audit.md) * [3.3 审计](/后端开发/audit.md)
* [3.4 锁机制](/后端开发/lock.md) * [3.4 锁机制](/后端开发/lock.md)
* [3.5 日志管理](/后端开发/elk.md) * [3.5 日志管理](/后端开发/elk.md)
* [3.6 代码生成器](/后端开发/code-generator.md) * [3.6 代码生成器](/后端开发/code-generator.md)
* [3.7 跨域访问](/后端开发/3.24-cors.md) * [3.7 跨域访问](/后端开发/3.24-cors.md)
* IV. 前端JavaScript开发 * IV. 前端JavaScript开发
* [4.1 前端开发说明 \(1.0\)](/front-kendoui.md) * [4.1 前端开发说明 \(1.0\)](/front-kendoui.md)
* [4.2 字段级通用方法](/common-field-javascript.md) * [4.2 字段级通用方法](/common-field-javascript.md)
* [4.3 窗口级通用方法](/common-window-javascript.md) * [4.3 窗口级通用方法](/common-window-javascript.md)
* [4.4 锁屏和解屏通用方法](/common-mask-javascript.md) * [4.4 锁屏和解屏通用方法](/common-mask-javascript.md)
* V. 前端UI开发 * V. 前端UI开发
* [5.1 hlsCombobox(下拉框)](/前端组件/hlsCombobox.md) * [5.1 hlsCombobox(下拉框)](/前端组件/hlsCombobox.md)
* [5.2 hlsDataSource](/前端组件/hlsDataSource.md) * [5.2 hlsDataSource](/前端组件/hlsDataSource.md)
* [5.3 hlsMaskedTextBox](/前端组件/hlsMaskedTextBox.md) * [5.3 hlsMaskedTextBox](/前端组件/hlsMaskedTextBox.md)
* [5.4 hlsPage](/前端组件/hlsPage.md) * [5.4 hlsPage](/前端组件/hlsPage.md)
* [5.5 hlsTextArea](/前端组件/hlsTextArea.md) * [5.5 hlsTextArea](/前端组件/hlsTextArea.md)
* [5.6 hlsTlEdit](/前端组件/hlsTlEdit.md) * [5.6 hlsTlEdit](/前端组件/hlsTlEdit.md)
* [5.7 hlsDatePicker](/前端组件/hlsDatePicker.md) * [5.7 hlsDatePicker](/前端组件/hlsDatePicker.md)
* [5.8 hlsDateTimePicker](/前端组件/HlsDateTimePicker.md) * [5.8 hlsDateTimePicker](/前端组件/HlsDateTimePicker.md)
* [5.9 hlsLov](/前端组件/HlsLov.md) * [5.9 hlsLov](/前端组件/HlsLov.md)
* [5.10 hlsToolBar](/前端组件/HlsToolBar.md) * [5.10 hlsToolBar](/前端组件/HlsToolBar.md)
* [5.11 TabStrip](/前端组件/TabStrip.md) * [5.11 TabStrip](/前端组件/TabStrip.md)
* [5.12 hlsForm](/前端组件/hlsForm.md) * [5.12 hlsForm](/前端组件/hlsForm.md)
* [5.13 hlsCombobox](/前端组件/HlsCombobox.md) * [5.13 hlsCombobox](/前端组件/HlsCombobox.md)
* [5.14 hlsCheckBox](/前端组件/HlsCheckBox.md) * [5.14 hlsCheckBox](/前端组件/HlsCheckBox.md)
* [5.15 Grid](/前端组件/Grid.md) * [5.15 Grid](/前端组件/Grid.md)
* [5.16 DataSource](/前端组件/DataSource.md) * [5.16 DataSource](/前端组件/DataSource.md)
* [5.17 hlsGridBox](/前端组件/hlsGridBox.md) * [5.17 hlsGridBox](/前端组件/hlsGridBox.md)
* [5.18 NumericTextBx](/前端组件/NumericTextBox.md) * [5.18 NumericTextBx](/前端组件/NumericTextBox.md)
* [5.19 HlsNavigationBar](/前端组件/HlsNavigationBar.md) * [5.19 HlsNavigationBar](/前端组件/HlsNavigationBar.md)
* VI. 框架功能描述 * VI. 框架功能描述
* [6.1 计划任务](/框架功能描述/计划任务.md) * [6.1 计划任务](/框架功能描述/计划任务.md)
* [6.2 RabbitMq消息队列](/后端开发/RabbitMq消息队列.md) * [6.2 RabbitMq消息队列](/后端开发/RabbitMq消息队列.md)
* [6.3 应用服务部署(tomcat/weblogic)](/框架功能描述/deployment.md) * [6.3 应用服务部署(tomcat/weblogic)](/框架功能描述/deployment.md)
* [6.4 合同文本生成](/docx4j.md) * [6.4 合同文本生成](/框架功能描述/docx4j.md)
* [6.5 Excel导入导出](/框架功能描述/jad.md)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment