jquery.lightLemon.pageScope
# 简述:页对象 - v1.0.0
## 参数与方法
### 实例化变量 - 没有修饰符 变量名, 实例化后直接调用, 相当于外部变量
|变量名|描述|修饰符|默认值|描述|
|-|-|-|-|-|
|lightPageScope|页对象|全局|this|代表本对象中所有资源|
### 私有变量 - 私有变量 - var 变量名
### 公有变量 - this.变量名/类名.变量名
|变量名|描述|默认值|类型|
|-|-|-|-|
|dataTable|数据表格|$('#dataTable')|table|
|api_dataTable|数据 API|$('#dataTable').api|jquery|
|form|表单|$('#form')|form|
|api_form|表单 API|$('#form').api|jquery|
|queryCondition|查询条件框|$('#queryCondition')|div|
|queryParamName|查询参数名|$('#queryParamName')|input|
|queryParamValue|查询参数值|$('#queryParamValue')|input|
|btnCondition|条件按钮|$('#btnCondition')|button|
|btnAdd|添加按钮|$('#btnAdd')|button|
|btnEdit|编辑按钮|$('#btnEdit')|button|
|btnDelete|删除按钮|$('#btnDelete')|button|
|btnRead|只读按钮|$('#btnRead')|button|
|btnExpExcel|导出按钮|$('#btnExpExcel')|button|
|btnSave|保存按钮|$('#btnSave')|button|
|btnQuery|查询按钮|$('#btnQuery')|button|
|btnClose|关闭按钮|$('#btnClose')|button|
|btnPrint|打印按钮|$('#btnPrint')|button|
|btnGroupCmd|操作按钮组|$('.btn-group-cmd')|div|
|btnGroupQuery|查询按钮组|$('.btn-group-query')|div|
|btnGroupAnn|标注按钮组|$('.btn-group-ann')|div|
|lightContentView|View 内容|$('.lightContent-view')|div|
|lightContentViewHeader|View Head 内容|$('.lightContent-view-header')|div|
|lightContentViewBody|View Body 内容|$('.lightContent-view-body')|div|
|lightContentEdit|Edit 内容|$('.lightContent-edit')|div|
|lightContentEditHeader|Edit Head 内容|$('.lightContent-edit-header')|div|
|lightContentEditBody|Edit Body 内容|$('.lightContent-edit-body')|div|
|ACT|操作符|MODS.EMPTY|string|
|dataBase|数据源|null|string|
|tableDal|数据链路|null|string|
|data|页面数据|null|json|
|isMonitorAjax|是否对于 ajax 请求进行loading监视|true|bool|
|modalIndex|弹出框索引|-1|int|
|modalArea|弹出框域|['60%', 'auto']|array|
|customUrl_edit|编辑页 URL|null|string|
|customUrl_read|只读页 URL|null|string|
|customUrl_print|打印页 URL|null|string|
|pageShowAnimate|页显示时动画|fadeInRight|string|
|pageHideAnimate|页隐藏时动画|fadeOutRight|string|
### 实例化方法
### 私有方法 - var 方法名
### 公有方法 - this.方法名/类名.方法名
|方法名|描述|参数|执行内容|
|-|-|-|-|
|loadView|加载 View 页内容|settings, 可覆盖 {dataTable, queryCondition, queryParamName, queryParamValue, btnCondition, btnAdd, btnEdit, btnDelete, btnExpExcel, btnSave, btnQuery, btnClose, btnGroupCmd, btnGroupQuery, btnGroupAnn, lightContentView, lightContentViewHeader, lightContentViewBody, lightContentBody, lightContentEditHeader, lightContentEditBody, lightContentView_lightSelect, lightContentView_lightData, lightContentView_lightDateTime, lightContentView_lightDateMultiple, lightContentView_lightDateTimeMultiple, beforeLoadCallback, afterLoadCallback}|1.拓展参数; 2.执行 beforeLoadCallback, 返回 false 则不执行; 3.监控页面中每个 ajax 请求来加载 loading, 通过 isMonitorAjax 来控制是否监控; 4.加载自定义组件 light-select、light-date、light-dateTime、light-date-multiple、light-datetime-multiple; 5.取消所有 input 的 autocomplete, 指定显示的除外; 6.根据展示样式进行调整; 7. 绑定 lightContentViewBody、lightContentEditBody 滚动条; 8.加载操作级权限; 9. 执行 afterLoadCallback |
|customInitView|初始化 View||提供外部重写|
|customDestroyView|销毁 View||提供外部重写|
|queryData|查询数据||提供外部重写|
|loadEdit|加载 Edit 页内容|settings, 可覆盖 {form, lightContentEditBodyContent_lightSelect, lightContentEditBodyContent_lightDate, lightContentEditBodyContent_lightDateTime, lightContentEditBodyContent_lightDateMultiple, lightContentEditBodyContent_lightDateTimeMultiple, beforeLoadCallback, afterLoadCallback}|1.拓展参数; 2.执行 beforeLoadCallback, 返回 false 则不执行; 3.加载自定义组件 light-select、light-date、light-dateTime、light-date-multiple、light-datetime-multiple; 4.取消所有 input 的 autocomplete, 指定显示的除外; 5. 执行 afterLoadCallback|
|customInitEdit|初始化 Edit||提供外部重写|
|customDestroyEdit|销毁 Edit||提供外部重写|
|closeEdit|关闭 Edit||提供外部重写|
|customSaveData|保存数据||提供外部重写|
|customExtendQueryParam|扩展查询参数||提供外部重写|
|queryData|查询数据|||
|registViewEvent|注册事件|expExcelParamData, 导出Excel参数; paramCmdEvents, 可覆盖 {beforeAddEvent, beforeEditEvent, beforeDeleteEvent, beforeCloseEvent, beforeReadEvent, afterAddEvent, afterEditEvent, afterDeleteEvent, afterReadEvent}; paramBtnEvents, 可覆盖 {btnConditionEvent, btnQueryEvent, btnAddEvent, btnEditEvent, btnSaveEvent, btnReadEvent, btnDeleteEvent, btnExpExcelEvent, btnCloseEvent, btnPrintEvent}||
## 使用方法
1. View 页中拓展 pageScope, 对页面中的变量及方法进行拓展和重写.
1-1. 重写 customInitView, 其中调用 loadView, 实例化 dataTable 赋值给 api_dataTable, 调用 registViewEvent .
1-2. 重写 customDestroyView, 其中调用 插件 销毁方法
1-3. 重写 customExtendQeryParam, 返回本页中其他查询参数对象
2. 调用 pageScope.customInitView, 进行页面加载
3. Edit 页中扩展 pageScope, 对页面中的变量及方法进行拓展的重写.
3-1. 重写 customInitEdit, 其中调用 loadEdit, 实例化 form 赋值给 api_form.
3-2. 重写 customDestroyEdit, 其中调用 插件 销毁方法
3-3. 重写 customSaveData, 重写保存数据方法
## Demo
### View.js
```
//# sourceURL=QX00001View.js
/*
系统 - 系统字典
Created By Light on 2020-09-01
*/
$(function(){
// 页面扩展
$.extend(true, pageScope, {
// 自定义url
customUrl_edit: '',
customUrl_read: '',
customUrl_print: '',
// 自义定初始化 View
customInitView: function(){
pageScope.loadView();
pageScope.api_dataTable = pageScope.dataTable.lightDataTable({
});
pageScope.registViewEvent();
},
// 自定义销毁 View
customDestroyView: function(){
pageScope.api_dataTable.destroy();
},
// 自定义扩展查询参数
customExtendQueryParam: function(){
}
});
// 初始化页面
pageScope.customInitView();
})
```
Edit.js
```
//# sourceURL=QX00001Edit.js
/*
系统 - 系统字典
Created By Light on 2020-09-02
*/
$(function(){
// 页面扩展
$.extend(true, pageScope, {
customInitEdit: function(){
pageScope.loadEdit();
pageScope.api_form = pageScope.form.lightForm({
});
},
customDestroyEdit: function(){
},
customSaveData: function(){
}
});
// 初始化页面
pageScope.customInitEdit();
})
```