GlzdxxModel.as 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  1. package com.jtgh.yjpt.model.jlrxxgl
  2. {
  3. import com.adobe.utils.StringUtil;
  4. import com.jtgh.yjpt.common.BusinessContext;
  5. import com.jtgh.yjpt.common.IModule;
  6. import com.jtgh.yjpt.common.PrintParam;
  7. import com.jtgh.yjpt.common.PrintTypes;
  8. import com.jtgh.yjpt.common.component.ui.DataGridColumn;
  9. import com.jtgh.yjpt.common.component.ui.Pager;
  10. import com.jtgh.yjpt.common.util.Constants;
  11. import com.jtgh.yjpt.common.util.PrintUtil;
  12. import com.jtgh.yjpt.common.util.Utils;
  13. import com.jtgh.yjpt.model.BaseModel;
  14. import com.jtgh.yjpt.view.jlrxxgl.GlzdxxEdit;
  15. import com.jtgh.yjpt.view.jlrxxgl.GlzdxxLayout;
  16. import com.jtgh.yjpt.view.jlrxxgl.GlzdxxView;
  17. import com.jtgh.yjpt.vo.common.CodeVo;
  18. import com.jtgh.yjpt.vo.common.SinglePageRequestVo;
  19. import com.jtgh.yjpt.vo.gkgq.GqVo;
  20. import com.jtgh.yjpt.vo.jlrxxgl.GlzdxxVo;
  21. import com.jtgh.yjpt.common.Global;
  22. import com.jtgh.yjpt.select.YesNoSelect;
  23. import flash.events.Event;
  24. import flash.events.MouseEvent;
  25. import flash.net.FileReference;
  26. import flash.net.URLRequest;
  27. import flash.net.URLRequestMethod;
  28. import flash.net.URLVariables;
  29. import mx.binding.utils.BindingUtils;
  30. import mx.collections.ArrayCollection;
  31. import mx.collections.ArrayList;
  32. import mx.controls.Alert;
  33. import mx.events.CloseEvent;
  34. import mx.formatters.DateFormatter;
  35. import mx.managers.CursorManager;
  36. import mx.rpc.events.ResultEvent;
  37. [Bindable]
  38. public class GlzdxxModel extends BaseModel
  39. {
  40. public var thisView:GlzdxxLayout;
  41. public var editView:GlzdxxEdit;
  42. public var pager:Pager;
  43. public var thisDataList:ArrayCollection;
  44. public var viewView:GlzdxxView;
  45. public function GlzdxxModel()
  46. {
  47. super(IModule.MODEL_003001);
  48. }
  49. /**********************
  50. * 此方法只能调用一次
  51. */
  52. public function doCreationComplete(view:GlzdxxLayout):void
  53. {
  54. var pageVo:SinglePageRequestVo = pager.pageVo;
  55. pageVo.direction = "desc";
  56. pageVo.sortField = "id";
  57. thisView = view;
  58. BindingUtils.bindProperty(thisView.dataGrid,"dataProvider",this,"thisDataList");
  59. thisView.dataGrid.addEventListener(MouseEvent.DOUBLE_CLICK,doView);
  60. thisView.add.addEventListener(MouseEvent.CLICK,doAdd);
  61. thisView.query.addEventListener(MouseEvent.CLICK,switchSearchBox);
  62. thisView.del.addEventListener(MouseEvent.CLICK,doDeleteHandler);
  63. thisView.edit.addEventListener(MouseEvent.CLICK,doEditHandler);
  64. //可编辑按钮显or隐 此页经营人和行政人员共用页面
  65. //超级管理员始终可以看到可编辑按钮,其他人员需判断按钮显隐
  66. if(Global.user.code != "admin"){
  67. var disableEdit:Boolean = false;
  68. disableEdit = (Global.JyrDisbleEdit==YesNoSelect.NO);
  69. //添加
  70. thisView.add.visible=disableEdit;
  71. thisView.add.includeInLayout = disableEdit;
  72. //删除
  73. thisView.del.visible = disableEdit;
  74. thisView.del.includeInLayout = disableEdit;
  75. //编辑
  76. thisView.edit.visible = disableEdit;
  77. thisView.edit.includeInLayout = disableEdit;
  78. //导入
  79. thisView.im.visible = (Global.deployMode == Constants.DEPLOY_MODE_1) && disableEdit;
  80. thisView.im.includeInLayout = (Global.deployMode == Constants.DEPLOY_MODE_1) && disableEdit;
  81. }
  82. doQuery(null);
  83. }
  84. /**
  85. * 开关查询框
  86. */
  87. private function switchSearchBox(event:MouseEvent):void{
  88. if(thisView.searchGroup.visible){
  89. thisView.searchGroup.visible=false;
  90. thisView.searchGroup.includeInLayout=false;
  91. }else{
  92. thisView.searchGroup.visible=true;
  93. thisView.searchGroup.includeInLayout=true;
  94. }
  95. }
  96. /**
  97. * 双击显示查看用户
  98. */
  99. public function doshow(obj:Object):void
  100. {
  101. var user:GlzdxxVo = thisView.dataGrid.selectedItem as GlzdxxVo;
  102. //判断该条记录是否已被删除
  103. Utils.callRemote("glzdxxController","isExist",function(r:ResultEvent):void{
  104. var result:BusinessContext=r.result as BusinessContext;
  105. var flag:Boolean=result.getAttribute("flag") as Boolean;
  106. if(flag==true){
  107. Utils.callRemote("glzdxxController","getUser",resultCallback,user.id);
  108. }else{
  109. Alert.show("该条记录已被删除!");
  110. doQuery(null);
  111. }
  112. },user.id);
  113. }
  114. /**
  115. * 查看用户详细
  116. */
  117. public function doView(event:MouseEvent):void
  118. {
  119. if(thisView.dataGrid.selectedItem==null){
  120. return;
  121. }
  122. //检查选中项
  123. if(thisView.dataGrid.selectedIndex==-1){
  124. Alert.show("请先选中一条记录", "提示");
  125. return;
  126. }
  127. viewView=new GlzdxxView();
  128. viewView.vo=thisView.dataGrid.selectedItem as GlzdxxVo;
  129. viewView.thisModel = this;
  130. Utils.popupWindow(resourceManager.getString("common","btn.view"),viewView,thisView);
  131. }
  132. /**
  133. * 回调函数,通过r.token.message["operation"]区分调用的方法名
  134. */
  135. public function resultCallback(r:ResultEvent):void
  136. {
  137. var doAction:String = r.token.message["operation"];
  138. var bc:BusinessContext=r.result as BusinessContext;
  139. //check error msgs
  140. if(Utils.checkMsgError(bc.msgs))
  141. {
  142. Alert.show(Utils.getFirstErrorMsg(bc.msgs).localeLabel,resourceManager.getString("common","errorTitle"));
  143. return;
  144. }
  145. if(doAction == "list")
  146. {
  147. thisDataList = bc.getAttribute("records") as ArrayCollection;
  148. var pageVo:SinglePageRequestVo = thisView.pager.pageVo;
  149. pageVo.totalCount = bc.getAttribute("totalCount") as int;
  150. return;
  151. }
  152. else if(doAction == "delete")
  153. {
  154. doQuery(null);
  155. return;
  156. }
  157. else if(doAction == "save")
  158. {
  159. var glzdxx:GlzdxxVo = new GlzdxxVo();
  160. glzdxx =bc.getAttribute("record") as GlzdxxVo;
  161. Utils.showInfoMessage("msg.success");
  162. editView.qymc.text = "";
  163. //editView.szgq.selectedIndex = 1;
  164. editView.szds.selectedIndex = 1;
  165. editView.szgqs.selectedIndex = 1;
  166. editView.zdmc.text = "";
  167. editView.zdfl.selectedIndex = 1;
  168. //editView.ylcjr.text = "请选择文件上传";
  169. editView.dispatchEvent(new CloseEvent(CloseEvent.CLOSE));
  170. doQuery(null);
  171. return;
  172. }
  173. }
  174. /**
  175. * 删除用户
  176. */
  177. public function doDeleteHandler(event:MouseEvent):void
  178. {
  179. //检查选中项
  180. if(thisView.dataGrid.selectedIndex==-1){
  181. Alert.show("请先选中一条记录", "提示");
  182. return;
  183. }
  184. Utils.doDelConfirm(function():void
  185. {
  186. Utils.callRemote("glzdxxController","delete",resultCallback,thisView.dataGrid.selectedItem);
  187. });
  188. }
  189. /**
  190. * 删除用户
  191. */
  192. /*public function doDel(user:GlzdxxVo):void
  193. {
  194. var param:GlzdxxVo =user;
  195. Utils.doDelConfirm(function():void
  196. {
  197. Utils.callRemote("glzdxxController","deleteUser", resultCallback, param);
  198. });
  199. }*/
  200. /**
  201. * 新增用户
  202. */
  203. public function doAdd(event:MouseEvent):void
  204. {
  205. editView=new GlzdxxEdit();
  206. editView.thisModel = this;
  207. editView.mode=Constants.mode_add;
  208. editView.functionId=Utils.getFunctionId(event.target);
  209. Utils.popupWindow(resourceManager.getString("common","btn.add"),editView,thisView,thisView.pager.doQuery,760,600);
  210. }
  211. /**
  212. * 编辑用户
  213. */
  214. public function doEditHandler(event:MouseEvent):void
  215. {
  216. editView=new GlzdxxEdit();
  217. editView.mode=Constants.mode_edit;
  218. //检查选中项
  219. if(thisView.dataGrid.selectedIndex==-1){
  220. Alert.show("请先选中一条记录", "提示");
  221. return;
  222. }
  223. // 获取选中项
  224. editView.vo= thisView.dataGrid.selectedItem as GlzdxxVo;
  225. //根据附件ID查询附件
  226. editView.thisModel = this;
  227. Utils.popupWindow(resourceManager.getString("common","btn.edit"),editView,thisView,thisView.pager.doQuery,760,600);
  228. }
  229. /**
  230. * 查询
  231. */
  232. public function doQuery(e:Event):void{
  233. thisView.pager.doQuery();
  234. }
  235. /**
  236. * 分页
  237. */
  238. public function pageQuery(pager:SinglePageRequestVo):void
  239. {
  240. //var bxdw:String = thisView.query_bxdw.text;
  241. //var szgq:String = thisView.query_szgq.selectedItem.id;
  242. //var zdfl:String = thisView.query_zdfl.selectedItem.id;
  243. //var szd:String = thisView.query_szds.selectedItem.id;
  244. //var szgq:String = thisView.query_szgqs.selectedItem.id;
  245. var glzdxx:GlzdxxVo = new GlzdxxVo();
  246. var szd:CodeVo = thisView.query_szds.selectedVO as CodeVo;
  247. if(null==szd||"NaN"==szd.id.toString()){szd=null;}
  248. var szgq:GqVo = thisView.query_szgqs.selectedVO as GqVo;
  249. var qymc:String=thisView.query_qymc.text;
  250. var zdfl:CodeVo=thisView.zdfl.selectedVO as CodeVo;
  251. var xdsjz:Date=thisView.xdsjz.dateTime;
  252. var xdsjq:Date=thisView.xdsjq.dateTime;
  253. var zdmc:String=StringUtil.trim(thisView.query_zdmc.text);
  254. Utils.callRemote("glzdxxController","list",resultCallback,pager,szd,szgq,qymc,Utils.getFunctionId(thisView),zdfl,xdsjq,xdsjz,zdmc);
  255. }
  256. public function doPopupClose(e:Event):void
  257. {
  258. Utils.doCloseConfirm(function():void{
  259. editView.dispatchEvent(new CloseEvent(CloseEvent.CLOSE));
  260. // PopUpManager.removePopUp(editView.parent as TitleWindow);
  261. });
  262. }
  263. public function doPrint():void
  264. {
  265. var szd:String;
  266. var gq:String;
  267. if(thisView.query_szds.selectedVO == null){
  268. szd ="0";
  269. }else{
  270. szd=new String((thisView.query_szds.selectedVO as CodeVo).id);
  271. }
  272. if(thisView.query_szgqs.selectedVO==null){
  273. gq ="0";
  274. }else{
  275. gq=new String((thisView.query_szgqs.selectedVO as GqVo).id);
  276. }
  277. var param:PrintParam=new PrintParam(PrintTypes.GLZDXXLIST);
  278. param.setParameter("szd",szd);
  279. param.setParameter("szgq",gq);
  280. param.setParameter("qymc",thisView.query_qymc.text);
  281. PrintUtil.doPrint(param);
  282. }
  283. public function doCloseThis():void
  284. {
  285. Alert.show(resourceManager.getString('common','save.success'),resourceManager.getString('common','tip'));
  286. editView.dispatchEvent(new CloseEvent(Event.CLOSE));
  287. doQuery(null);
  288. }
  289. /**
  290. * 导出
  291. */
  292. public function print():void{
  293. var gkjyr:String=thisView.query_qymc.text;
  294. var szd :CodeVo;
  295. szd = thisView.query_szds.selectedVO as CodeVo;
  296. var szgq:GqVo;
  297. szgq= thisView.query_szgqs.selectedVO as GqVo;
  298. var zdfl:CodeVo=thisView.zdfl.selectedVO as CodeVo;
  299. var xdsjz:Date=thisView.xdsjz.dateTime;
  300. var xdsjq:Date=thisView.xdsjq.dateTime;
  301. var zdmc:String=StringUtil.trim(thisView.query_zdmc.text);
  302. var fomaterDate:DateFormatter=new DateFormatter();
  303. fomaterDate.formatString="YYYY-MM-DD";
  304. var title:String="管理制度信息管理";
  305. var columns:ArrayList=thisView.dataGrid.columns as ArrayList;
  306. var headers:Array=new Array;
  307. for each(var column:DataGridColumn in columns.source){
  308. headers.push(column.headerText);
  309. }
  310. var params:URLVariables = new URLVariables();
  311. var param:Array=new Array;
  312. param.push(gkjyr);
  313. param.push(szd!=null?szd.id:null);
  314. param.push(szgq!=null?szgq.id:null)
  315. param.push(zdfl!=null?zdfl.id:null);
  316. param.push(xdsjq!=null?fomaterDate.format(xdsjq):null);
  317. param.push(xdsjz!=null?fomaterDate.format(xdsjz):null);
  318. param.push(Utils.getFunctionId(thisView));
  319. param.push(zdmc);
  320. params.title=title;
  321. params.headers=headers;
  322. params.controller="glzdxxController";
  323. params.method="print";
  324. params.param=param;
  325. var url:String = Utils.getBaseUrl()+"exportExcel.do";
  326. var request:URLRequest = new URLRequest(url);
  327. request.data = params;
  328. request.method = URLRequestMethod.POST;
  329. var file:FileReference = new FileReference();
  330. file.addEventListener(Event.COMPLETE, downloadCompleteHandler);
  331. file.addEventListener(Event.CANCEL, downloadCompleteHandler);
  332. file.download(request, title+".xls");
  333. CursorManager.setBusyCursor();
  334. }
  335. private function downloadCompleteHandler(event:Event):void {
  336. CursorManager.removeBusyCursor();
  337. }
  338. }
  339. }