MyReport实践:为ERP系统添加打印功能
2016-03-10 20:52
260 查看
准备阶段
首先准备2个html页面分别集成myreport的预览和设计功能,作为预览页面和打印编辑页面。集成方式参考:Js与flash交互:在html页面中用js与MyReport插件交互打印相关API
加载数据和格式
页面初始化时,获取浏览器地址栏参数,然后加载配置文件,加载单据的数据和打印格式,调用OrderAPI.LoadPrintData方法。 private var _Params:UrlParams; private function Init():void { //… _Params = new UrlParams(url); if(!_Params.HasParam("uid")) { hlib.MsgUtil.ShowInfo("URL缺少uid参数!"); return; } if(!_Params.HasParam("mid")) { hlib.MsgUtil.ShowInfo("URL缺少mid参数!"); return; } if(!_Params.HasParam("action")) { hlib.MsgUtil.ShowInfo("URL缺少action参数!"); return; } if(!_Params.HasParam("code")) { hlib.MsgUtil.ShowInfo("URL缺少code参数!"); return; } var configLoader:UrlLoader = new UrlLoader(); configLoader.DisposeAfterLoad = true; configLoader.addEventListener(Event.COMPLETE, OnConfigLoadComplete); configLoader.Load("Config.xml"); } private function OnConfigLoadComplete(e:Event):void { var configLoader:UrlLoader = e.currentTargetas UrlLoader; var settings:XML = XML(configLoader.Data); common.net.APIUtil.Server = settings.ERPServicePath; if(!APIUtil.Server) { MsgUtil.ShowInfo("Config.xml缺少配置ERPServicePath!"); } OrderAPI.LoadPrintData(_Params.GetParam("mid"),_Params.GetParam("action"), _Params.GetParam("uid"),_Params.GetParam("code"), function(item:Object):void { var style:XML = null; if(item.PRINT_STYLE) style = new XML(item.PRINT_STYLE); delete item.PRINT_STYLE; var detail:Object = item.detail; delete item.detail; _Preview.Load(style,detail, item);//MyReport控件加载数据 }); }打印完成通知
监控MyReport控件的打印完成事件MyReportEvent.PRINT,向后台发送打印完成通知,调用OrderAPI.ReportPrintCompleted方法 private function OnMyReportEvent(e:MyReportEvent):void { if(e.type == MyReportEvent.PRINT) { OrderAPI.ReportPrintCompleted(_Params.GetParam("mid"),_Params.GetParam("action"), _Params.GetParam("uid"),_Params.GetParam("code"), new Date(), "", function(value:int):void { if(_Preview.ParameterData) _Preview.ParameterData.PRINT_COUNT = value; }); } }保存打印格式
监听MyReport设计控件的保存事件DesignEvent.S***E,向后台保存打印格式,调用OrderAPI.SavePrintStyle方法。 private function OnDesignEvent(e:DesignEvent):void { if(e.type == DesignEvent.S***E) { var content:String = _Design.GetSettingXML(); OrderAPI.SavePrintStyle(_Params.GetParam("mid"),_Params.GetParam("action"), _Params.GetParam("uid"),content, function(success:Boolean):void { hui.tooltip.ToolTipUtil.ShowToolTip("保存"); }); } }页面与后台服务器的接口交互
集成效果
在单据模块的工具栏增加打印相关按钮:打印、格式编辑、打印详情。点击【打印】按钮,在新页面显示打印预览。
点击【格式编辑】,在新页面显示打印编辑。
点击【打印详情】,弹出窗体显示打印详情列表。
相关链接MyReport演示、产品网站 相关文章MyReport专栏
相关文章推荐
- JAVA作业
- 【Struts2进阶】用Struts2搭建web项目
- YTU:C语言习题 n个数逆序
- 深度学习(一)
- Spring-Data-MongoDB保存对象的时候,如何不保存_class字段
- shell中的并且、和、或者
- ThinkPHP中通过I方法获取json数据的实现方法
- #128. 【NOI2015】软件包管理器
- CUDA: 高效访问24位RGB图像
- Xcode插件
- 3月10日 循环 嵌套 穷举 迭代
- 如何写一个FMDB帮助类?看看runtime吧
- 最简单的Windows程序设计
- C++string与int之间的相互转换
- POJ3687 Labeling Balls 特殊拓扑排序
- wamp的phpMyAdmin打不开
- #storm error(一)
- OpenCV中GPU模块的使用
- Software Testing 2nd Assignment
- windows下Java JNI测试Demo