b9c16df0a4c784f35cd7650427a33e874687dc8e.svn-base 15 KB

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