#按钮的Js处理 1. 按钮的图标使用返回的信息的iconPath来处理,排序依靠orderNum 2. url是按钮的路径。依然需要判断?后的参数(强烈不推荐)。然后和paramVOS(按钮的定义中的paramVOS属性)组合到一起作为按钮的参数(url的优先级大于paramVOS)。格式如jsPath#methodName?param=aaa¶m1=bbb。 - url的说明 |参数名字|参数说明|使用场景| |:--:|:--:|:--:| |jsPath|按钮所属的Js的路径|如果在layui.js或者再vciAlias.js定义了映射,则使用简称,否则使用全路径| |methodName|组件里的方法名字|如果在没有设置,则默认为doAction,即可能会配置为jsPath?param=aaa| |param和param1|参数|按照http的url格式定义,参数可能为空| 3. 前置和后置事件。分为js事件,b/s事件,服务端事件三种。 - 前后置事件的参数说明 |参数名字|参数说明|使用场景| |:--:|:--:|:--:| |beforeEvent|js的前置事件|经常用来做判断,比如能否发起流程,能否删除等等;它可能需要后台接口做配合;最好只是在js中判断时使用这个参数!!!切记不能在前置事件里不能表动数据库中数据,仅仅是查询和判断| |afterEvent|js的后置事件|一般只是刷新组件。最好不要处理数据,因为可能会造成数据的不完整性。| |beforeBSEvent|b/s的前置事件|作用与js的前置事件相同,但是可以不写js;一般对于复杂一些的判断,就建议使用这个。!!!如果是自定义的后台接口需要调用UIDataServiceI里的callPreEvent| |afterBSEvent|b/s的后置事件|作用与js的后置事件相同,但是可以不写js;可以处理新的数据,但是需要保证数据完整性.!!!如果是自定义的后台接口需要调用UIDataServiceI里的callPostEvent| |beforeServerEvent|服务端的前置事件|在主服务里处理的事件,有事务控制,可以随意操作数据.server端的前置事件需要加到主服务的运行环境中,一般不使用| |afterServerEvent|服务端的后置时间|在主服务里处理的事件,一般是多个业务功能有公共的处理部分是使用| |VciChangeDataBefore|b/s项目里的前置事件的注解,和beforeBSEvent的作用一样|不需要做配置,在这个注解所在的类上加VciChangeDataPlugin注解,这个方法的参数设置(BaseModelDTOList baseModelDTOList)即可| |VciChangeDataAfter|b/s项目里的后置事件的注解,afterBSEvent|不需要做配置,在这个注解所在的类上加VciChangeDataPlugin注解,这个方法的参数设置(Collection cbos)即可| 4. js里有前置事件和后置时间的情况下的处理 - 配置表达式。依然是遵循jsPath#methodName?param=aaa¶m1=bbb。如果是和按钮的js是一个,则jsPath可以设置为空,此时#和methodName不能为空.前置事件的默认方法为doBefore,后置事件的默认方法为doAfter - 调用的方式。前置事件调用时,将按钮的执行方法作为callback参数传递进去,前置事件里需要处理完成后,判断callback是否存在,存在则调用。后置时间也是作为按钮执行方法的callback参数传递进去。即这三个都是按照异步方式处理 - 参数的说明 |参数名字|参数说明|使用场景| |:--:|:--:|:--:| |params|配置的参数|就是配置里的paramVOS对象加上路径里?后的内容| |dataStore|选择的数据|当前组件中选择的数据,都一数组的形式传递| |componentVO|组件的配置信息|按钮所在的组件的配置信息| |thisUI|UI面板的对象|就是整个按钮所在的js的this指代对象| |sourceData|组件的来源数据|就是按钮所在组件的来源数据,比如现在是中心区,这个就是西区的选择数据| |thisButton|按钮的jquery用法的指代对象|在按钮的事件中获取的$(this)| |callback|回调方法|回调方法中,需要把除了callback的参数都放入其中| 5. js调用按钮的方式。传递的参数为options。其中包含以下的属性 |属性名字|属性说明|数据取值| |:--:|:--:|:--:| |params|配置的参数|就是配置里的paramVOS对象加上路径里?后的内容| |dataStore|选择的数据|当前组件中选择的数据,都一数组的形式传递| |componentVO|组件的配置信息|按钮所在的组件的配置信息| |thisUI|UI面板的对象|就是整个按钮所在的js的this指代对象| |sourceData|组件的来源数据|就是按钮所在组件的来源数据,比如现在是中心区,这个就是西区的选择数据| |thisButton|按钮的jquery用法的指代对象|在按钮的事件中获取的$(this)| 6. 按钮编写示例 ``` this.doAction = function (options) { if(!options){ $webUtil.showErrorMsg("按钮的传递信息不正确,请开发人员检查"); return false; } var that = this; webUtil.copyConfig(that, that.moduleKey); var params = $webUtil.paramLow(options.paramVOS); // options } ```