f3aebd3b84ec03228a668d1ff9676f9901cee8d0.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. var sidValue = [];
  2. var orgLongNum="";
  3. var sumType = "1";
  4. var colNames;
  5. var colModel;
  6. shr.defineClass("shr.customer.gtiit.rpt.facultyAbseceReporttoMorisList", shr.framework.List, {
  7. gridId: '#reportGrid',
  8. reportUipk : "com.kingdee.eas.facultyAbseceReporttoMorisList.list" ,
  9. rowNumPerPage : 30, // 设置默认分页30
  10. colModelData: null,
  11. isFirstTimeLoad: 0,
  12. initalizeDOM : function () {
  13. var that = this;
  14. shr.customer.gtiit.rpt.facultyAbseceReporttoMorisList.superClass.initalizeDOM.call(this);
  15. // 快速查询添加事件
  16. $('#searcher').shrSearchBar('option', {
  17. afterSearchClick: this.queryGridByEvent
  18. });
  19. $("#proposer").attr("maxlength","").attr("validate","");
  20. //快速过滤展开
  21. if($(".filter-containers").is(":hidden")){
  22. $("#filter-slideToggle").click();
  23. }
  24. }
  25. /**
  26. * 选择导航节点
  27. */
  28. ,queryGridByEvent: function(e) {
  29. var viewPage;
  30. var self=this;
  31. if (e.target) {
  32. viewPage = shr.getCurrentViewPage(e.target);
  33. } else {
  34. viewPage = shr.getCurrentViewPage(e);
  35. }
  36. // 将页码恢复为第1页
  37. $(viewPage.gridId).jqGrid('option', 'page', 1);
  38. viewPage.queryAction();
  39. },
  40. /**
  41. * 获得search查询条件
  42. */
  43. getSearchFilterItems: function() {
  44. var filter = $('#searcher').shrSearchBar('option', 'filterView');
  45. if (filter && filter.filterItems) {
  46. return filter.filterItems;
  47. }
  48. }
  49. ,queryAction : function () {
  50. var self = this;
  51. //search搜索
  52. var searchFilterItems = self.getSearchFilterItems();
  53. if( searchFilterItems == undefined)
  54. searchFilterItems = "" ;
  55. //快速过滤
  56. var fastFilterItems = self.getFastFilterItems();
  57. if(fastFilterItems == undefined){
  58. fastFilterItems = "";
  59. }
  60. if(fastFilterItems["add"] == ""){
  61. fastFilterItems["add"] = null;
  62. }
  63. //R20190625-2369保存方案后,其它条件设置的条件被清空
  64. //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
  65. var advancedFilterItems = self.getAdvancedFilterItems();
  66. if(advancedFilterItems != undefined){
  67. fastFilterItems["add"] = advancedFilterItems;
  68. }
  69. $("#reportGrid").jqGrid('setGridParam', {
  70. datatype : 'json',
  71. postData : {
  72. 'NewRearch' : 'newRearch',
  73. 'fastFilterItems' : $.toJSON(fastFilterItems),
  74. 'searchFilterItems' : searchFilterItems,
  75. 'sumType' : sumType,
  76. 'page' : 1
  77. },
  78. page : 0
  79. });
  80. self.doRenderDataGrid();
  81. },
  82. setColModelData: function (postData) {
  83. var self = this;
  84. self.remoteCall({
  85. method : "getGridColModel",
  86. async : false,
  87. param {"postData":postData},
  88. success : function (data) {
  89. colNames = data.colNames;
  90. colModel = data.colModel;
  91. }
  92. })
  93. },
  94. /**
  95. * 表格数据请求URL
  96. */
  97. getGridDataRequestURL : function () {
  98. var serviceId = shr.getUrlRequestParam("serviceId");
  99. return this.dynamicPage_url + "?method=getGridData" + "&uipk=" + this.reportUipk + '&serviceId='+encodeURIComponent(serviceId);
  100. },
  101. doRenderDataGrid : function () {
  102. var self = this, table = $("#reportGrid");
  103. var searchFilterItems = self.getSearchFilterItems();
  104. var fastFilterItems = self.getFastFilterItems();
  105. if( searchFilterItems == undefined)
  106. searchFilterItems = "" ;
  107. if( fastFilterItems == undefined)
  108. fastFilterItems = "" ;
  109. if(fastFilterItems["add"] == ""){
  110. fastFilterItems["add"] = null;
  111. }
  112. //R20190625-2369保存方案后,其它条件设置的条件被清空
  113. //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
  114. var advancedFilterItems = self.getAdvancedFilterItems();
  115. if(advancedFilterItems != undefined){
  116. fastFilterItems["add"] = advancedFilterItems;
  117. }
  118. postData = {
  119. 'searchFilterItems' : searchFilterItems,
  120. 'fastFilterItems' : $.toJSON(fastFilterItems),
  121. 'page1' : 1
  122. };
  123. self.setColModelData(postData);
  124. var url = self.getGridDataRequestURL();
  125. var options = {
  126. url : url ,
  127. datatype : "json",
  128. multiselect : true,
  129. rownumbers : false,
  130. colNames : colNames,
  131. colModel : colModel,
  132. rowNum : self.rowNumPerPage,
  133. // pager : '#gridPager1',
  134. mtype: 'POST',
  135. postData: postData ,
  136. // height : 'auto',
  137. height : '600px',
  138. // height : self.rowNumPerPage > 21 ? '600px' : 'auto',
  139. rowList : [30,45,60],
  140. recordpos : 'left',
  141. recordtext : '({0}-{1})/{2}',
  142. gridview : true,
  143. // pginput : true,
  144. shrinkToFit :colModel.length>10?false:true,
  145. viewrecords : true,
  146. //cellEdit:true,
  147. // cellsubmit:"clientArray" ,
  148. // sortname : "sumsql.fproposerid",
  149. //caption: "Frozen Header",
  150. customPager : '#gridPager1',
  151. pagerpos:"center",
  152. pginputpos:"right",
  153. pginput:true,
  154. synchTotal:"true",
  155. onSelectRow: function(id){
  156. jQuery('#reportGrid').jqGrid('editRow', id, false, function(){});
  157. sidValue.push(id);
  158. lastsel2 = id;
  159. $("#reportGrid").attr("sid", sidValue.join(","));
  160. }
  161. };
  162. options.loadComplete = function (data) {
  163. if($("#gridPager1").html() == "" && "true" == "true"){
  164. $("#reportGrid").setCustomPager("#gridPager1");
  165. }
  166. shr.setIframeHeight();
  167. $('#gridPager1_left').click(function(){
  168. $('.ui-pg-selbox').show();
  169. $('.ui-pg-selbox').css({"left":"-60px"})
  170. $(this).children('.ui-paging-info').hide();
  171. });
  172. $("#microToolbar").parent().hide()
  173. $("#gridPager1").parent().css({"position":"relative"})
  174. $("#gridPager1").addClass("shrPage").css({
  175. "position":"absolute",
  176. "top":"-25px",
  177. "right":"0px",
  178. "background":"#FFF"
  179. })
  180. shr.customer.gtiit.rpt.facultyAbseceReporttoMorisList.superClass.gridLoadComplete.call(this,data);
  181. };
  182. table.html();
  183. table.jqGrid(options);
  184. jQuery("#reportGrid").jqGrid(options).jqGrid("reloadGrid");
  185. jQuery('#reportGrid').jqGrid('setFrozenColumns');
  186. self.firstTime = 1;
  187. },
  188. handleMicroToolbarInfo : function () {
  189. var self = this;
  190. var html = "";
  191. html += "<div class='shrPage page-Title' >";
  192. html += "<span id='gripage' class='ui-paging-info' style='cursor: default;display: inline-block;font-size: 13px;padding: 2px 5px 0 0;'></span>";
  193. html += "<span id='prevId' style='vertical-align: text-top;cursor: pointer;' class='ui-icon ui-icon-seek-prev'></span>";
  194. html += "<span id='nextId' style='vertical-align: text-top;cursor: pointer;' class='ui-icon ui-icon-seek-next'></span></div>";
  195. $('#microToolbar').html("");
  196. $('#microToolbar').append(html);
  197. $("#gripage").on("click", self.selectRowNumPerPage);
  198. $("#prevId").on("click", self.prePage);
  199. $("#nextId").on("click", self.nextPage);
  200. //页码 (1-4)/4
  201. self.updatePageEnable();
  202. $("#gripage").text($("#gridPager1_left >div[dir='ltr']").text());
  203. $("#gridPager1").hide();
  204. var ids=jQuery("#reportGrid").jqGrid('getDataIDs');
  205. var rowdata=jQuery("#reportGrid").jqGrid('getRowData',ids[0]);
  206. shr.setIframeHeight();
  207. $("#reportGrid_frozen").parent().height('583px');
  208. },
  209. updatePageEnable:function () {
  210. var temp = $("#gridPager1_left >div[dir='ltr']").text();
  211. if (temp.substring(1, temp.indexOf('-')) == '1') {
  212. $("#prevId").addClass("ui-state-disabled");
  213. } else {
  214. $("#prevId").removeClass("ui-state-disabled");
  215. }
  216. if (parseInt(temp.substring(temp.indexOf('-') + 1, temp.indexOf(')'))) >= parseInt(temp.substring(temp.indexOf('/') + 1).replace(new RegExp(",","gm"),""))) {
  217. $("#nextId").addClass("ui-state-disabled");
  218. } else {
  219. $("#nextId").removeClass("ui-state-disabled");
  220. }
  221. },
  222. getCurPage:function(){
  223. //(1-4)/4
  224. var self = this,
  225. rowNum = self.rowNumPerPage;
  226. var temp = $("#gridPager1_left >div[dir='ltr']").text();
  227. var curPageNum = (parseInt(temp.substring(1, temp.indexOf('-')))-1)/rowNum+1;
  228. return curPageNum;
  229. },
  230. prePage : function () {
  231. $("#prev_gridPager1").trigger("click");
  232. shr.setIframeHeight();
  233. $("#gripage").text($("#gridPager1_left >div[dir='ltr']").text());
  234. },
  235. nextPage : function () {
  236. $("#next_gridPager1").trigger("click");
  237. shr.setIframeHeight();
  238. $("#gripage").text($("#gridPager1_left >div[dir='ltr']").text());
  239. },
  240. selectRowNumPerPage:function(){
  241. }
  242. ,
  243. exportToExcelAction : function () {
  244. openLoader
  245. var _self = this ;
  246. var url = _self.exportCommonParam();
  247. var fastFilterItems = _self.getFastFilterItems();
  248. if( fastFilterItems == undefined)
  249. fastFilterItems = "" ;
  250. if(fastFilterItems["add"] == ""){
  251. fastFilterItems["add"] = null;
  252. }
  253. var serviceId = shr.getUrlRequestParam("serviceId");
  254. url += '&serviceId='+encodeURIComponent(serviceId) + "&isAll=true";
  255. //document.location.href = url;
  256. var callback=function(psw){
  257. var params = _self.getExportAllParams();
  258. params.exportPrivteProtected = $.allEncrypt(psw);
  259. openLoader(1,jsBizMultLan.atsManager_attendanceResultSumList_i18n_28);
  260. shr.ajax({
  261. type:"post",
  262. url:url,
  263. data: $.extend(_self.assemExportData(),{exportPrivteProtected: psw} ),
  264. success:function(res){
  265. closeLoader();
  266. if(null != res && null != res.url){ //这里有可能返回空,所以这里要做飞空判断的,但是不知道这里的业务逻辑,所以这里要问常青和飞羽
  267. shr.redirect(res.url,"");
  268. }
  269. //document.location.href = url;
  270. },
  271. error : function(res){
  272. shr.showError({message: jsBizMultLan.atsManager_attendanceResultSumList_i18n_6});
  273. closeLoader();
  274. }
  275. });
  276. }
  277. if(_self.isNeedExportFilePassword('#exportToExcel')) {
  278. fieldSensitiveService.setExportPsw(callback);
  279. }else{
  280. callback();
  281. }
  282. },
  283. assemExportData:function(exportData){
  284. var _self = this ;
  285. var fastFilterItems = _self.getFastFilterItems();
  286. var advancedFilterItems = _self.getAdvancedFilterItems();
  287. if( fastFilterItems == undefined)
  288. fastFilterItems = "" ;
  289. if(fastFilterItems["add"] == ""){
  290. fastFilterItems["add"] = null;
  291. }
  292. if(advancedFilterItems != undefined){
  293. fastFilterItems["add"] = advancedFilterItems;
  294. }
  295. var postData = {fastFilterItems : $.toJSON(fastFilterItems)};
  296. exportData && (postData = $.extend(postData, exportData));
  297. return postData;
  298. },
  299. exportCommonParam : function(){
  300. var self = this;
  301. var url = shr.getContextPath() + shr.dynamicURL + "?method=exportToExcel";
  302. var uipk = "com.kingdee.eas.hr.ats.app.AttendanceResultSumList";
  303. var filterItems = self.getQuickFilterItems();
  304. var sorder = $('#reportGrid').jqGrid('getGridParam', 'sortorder') || "";
  305. var sordName = $('#reportGrid').jqGrid('getGridParam', 'sortname') || "";
  306. //标题
  307. url += "&title="+jsBizMultLan.atsManager_attendanceResultSumList_i18n_8;
  308. url = url + '&uipk=' + uipk + "&sidx=" + sordName+"&page=0"+"&sumType="+sumType + "&sord=" + sorder + "&transverse=1";
  309. //如果存在高级搜索的条件,则拼上条件。
  310. if(filterItems){
  311. url += "&searchFilterItems=" + encodeURIComponent(filterItems);
  312. }
  313. return url;
  314. },
  315. exportCurrentAction : function(){
  316. var Exchange_json=[];
  317. var _self = this;
  318. var exportData = {
  319. exportSelect:"yes",
  320. serviceId:shr.getUrlRequestParam("serviceId")
  321. };
  322. var selectedIds = $("#reportGrid").jqGrid("getSelectedRows");
  323. if (selectedIds.length > 0) {
  324. for (var i = 0, length = selectedIds.length; i < length; i++) {
  325. // personIds.push($("#reportGrid").jqGrid("getCell", selectedIds[i], "id"));
  326. var item = selectedIds[i];
  327. var data = $("#reportGrid").jqGrid("getRowData", item);
  328. var personId=data["personId"] ;
  329. var adminOrgUnit=data["adminOrgUnitId"] ;
  330. Exchange_json.push({'personId':personId,'adminOrgUnit':adminOrgUnit});
  331. }
  332. }
  333. if(Exchange_json.length > 0){
  334. exportData.PersonJson = $.toJSON(Exchange_json);
  335. }else{
  336. shr.showWarning({
  337. message: jsBizMultLan.atsManager_attendanceResultSumList_i18n_13
  338. });
  339. return false;
  340. }
  341. var callback=function(psw){
  342. var params = _self.getExportCurrentParams();
  343. params.exportPrivteProtected = $.allEncrypt(psw);
  344. openLoader(1,jsBizMultLan.atsManager_attendanceResultSumList_i18n_28);
  345. shr.ajax({
  346. type:"post",
  347. url:_self.exportCommonParam(),
  348. data: $.extend( _self.assemExportData(exportData),params ),
  349. success:function(res){
  350. closeLoader();
  351. //document.location.href = url;
  352. shr.redirect(res.url,"");
  353. },
  354. error : function(res){
  355. shr.showError({message: jsBizMultLan.atsManager_attendanceResultSumList_i18n_6});
  356. closeLoader();
  357. }
  358. });
  359. }
  360. if(_self.isNeedExportFilePassword('#exportCurrent')) {
  361. fieldSensitiveService.setExportPsw(callback);
  362. }else{
  363. callback();
  364. }
  365. },
  366. //导出选中参数,供领域获取
  367. getExportCurrentParams: function() {
  368. var _self = this;
  369. var isenableexcelpwd = $('#exportCurrent').attr('data-isenableexcelpwd');
  370. var fieldName = this.getExportFieldName();
  371. if(isenableexcelpwd == 'false') {
  372. if(window.isShrSensitiveRuleOpen) isenableexcelpwd = _self.isSensitiveGrid();
  373. }
  374. var ids = $("#reportGrid").jqGrid("getSelectedRows");
  375. var params = {
  376. supportQueryUuid: false,
  377. selectedData: ids,
  378. fieldName_key: fieldName,
  379. encryptKeys: 'exportPrivteProtected',
  380. isEnableExcelPwd: typeof(isenableexcelpwd) === 'undefined' ? 'false' : JSON.parse(isenableexcelpwd)
  381. }
  382. return params;
  383. },
  384. exportAllExcelAction:function(){
  385. var _self = this;
  386. var self = this, table = $("#reportGrid");
  387. var searchFilterItems = self.getSearchFilterItems();
  388. var fastFilterItems = self.getFastFilterItems();
  389. if( searchFilterItems == undefined)
  390. searchFilterItems = "" ;
  391. if( fastFilterItems == undefined)
  392. fastFilterItems = "" ;
  393. if(fastFilterItems["add"] == ""){
  394. fastFilterItems["add"] = null;
  395. }
  396. //R20190625-2369保存方案后,其它条件设置的条件被清空
  397. //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
  398. var advancedFilterItems = self.getAdvancedFilterItems();
  399. if(advancedFilterItems != undefined){
  400. fastFilterItems["add"] = advancedFilterItems;
  401. }
  402. var urlinner = shr.getContextPath() + shr.dynamicURL + "?fastFilterItems="+$.toJSON(fastFilterItems)+"&method=toExcel&handler=com.kingdee.shr.customer.gtiit.rpt.FacultyAbseceReporttoMorisListHandler"+"&uipk="+shr.getUrlRequestParam('uipk');
  403. //var urlinner = shr.getContextPath() + shr.dynamicURL + "?method=toExcel&handler=com.kingdee.shr.customer.gtiit.rpt.PersonRosterListHandler";
  404. //alert(urlinner);
  405. openLoader(1,"正在导出,请稍等...");
  406. var param2 = "";
  407. var test = shr.reloadUrlByPost(urlinner, param2, 'toExcel');
  408. closeLoader();
  409. /*
  410. _self.remoteCall({
  411. type: "post",
  412. async: false,
  413. method: "toExcel",
  414. param: {
  415. 'fastFilterItems' : $.toJSON(fastFilterItems)
  416. },
  417. });
  418. */
  419. }
  420. });