declarationList.js 16 KB

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