SalaryAdjustmentRoToColumnQueryList.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  1. shr.defineClass("shr.salaryAdjustmentRoToColumnQueryList",shr.framework.List, {
  2. reportUipk : "com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBill.billList",
  3. rowNumPerPage : 20,
  4. gridId: '#reportGrid',
  5. colModelData: null,
  6. isFirstTimeLoad: true ,
  7. initalizeDOM : function() {
  8. shr.salaryAdjustmentRoToColumnQueryList.superClass.initalizeDOM.call(this);
  9. var self = this;
  10. $("#addNew").remove();
  11. $("#delete").remove();
  12. $('#operationDialog').hide();
  13. this.initalSearch();
  14. //定时监听 adminOrg的值 用于关闭dialog
  15. var tValue = $('#closeDialogFlag').attr("value");
  16. setInterval(function(){
  17. if(tValue !=$('#closeDialogFlag').attr("value")){
  18. //这里写自己的业务逻辑代码
  19. $("#iframe1").dialog('close');
  20. //tValue = "0";
  21. $('#closeDialogFlag').attr("value","0");
  22. }
  23. },200);
  24. // 快速查询添加事件
  25. $('#searcher').shrSearchBar('option', {
  26. afterSearchClick: this.queryGridByEvent
  27. });
  28. //快速过滤展开
  29. if($(".filter-containers").is(":hidden")){
  30. $("#filter-slideToggle").click();
  31. }
  32. },
  33. //设置高级查询
  34. initalSearch : function(){
  35. $('#grid-toolbar').children().eq(1).append('<div id="searcher" class="pull-right"/>');
  36. var searcherFields = [];
  37. searcherFields[0] = {columnName:"name",label:"员工姓名"};
  38. searcherFields[1] = {columnName:"number",label:"员工编码"};
  39. /* searcherFields[2] = {columnName:"legalPerson",label:"法人"};
  40. searcherFields[3] = {columnName:"salaryAdjustReason",label:"调薪原因"};*/
  41. var options = {
  42. gridId: "grid",
  43. // uipk: "com.kingdee.eas.hr.ats.app.AttenceResult.list",
  44. // query: "" ,
  45. fields :searcherFields
  46. // propertiesUrl: shr.getContextPath()+'/dynamic.do?uipk=com.kingdee.eas.hr.ats.app.AttenceResult.list&method=getProperField'
  47. };
  48. $("#searcher").shrSearchBar(options);
  49. //设置其默认的过滤方案
  50. // var filter = $("#searcher").shrSearchBar('option', 'filterView');
  51. // if ($.isEmptyObject(filter)) {
  52. // // 如果filter为空
  53. // if (!$.isEmptyObject($("#searcher").shrSearchBar('option', 'defaultViewId'))) {
  54. // // 加载默认过滤方案触发表格取数
  55. // $("#searcher").shrSearchBar('chooseDefaultView');
  56. // }
  57. // }
  58. } ,
  59. queryGridByEvent: function(e) {
  60. var viewPage;
  61. var self=this;
  62. if (e.target) {
  63. viewPage = shr.getCurrentViewPage(e.target);
  64. } else {
  65. viewPage = shr.getCurrentViewPage(e);
  66. }
  67. viewPage.queryAction();
  68. }
  69. /**
  70. * 获得search查询条件
  71. */
  72. ,getSearchFilterItems: function() {
  73. var filter = $('#searcher').shrSearchBar('option', 'filterView');
  74. if (filter && filter.filterItems) {
  75. return filter.filterItems;
  76. }
  77. },
  78. /**
  79. * 查询表格
  80. */
  81. queryGrid: function() {
  82. var _self = this;
  83. var $grid = $(this.gridId);
  84. _self.setFastFilterMap();
  85. this.setGridTreeParam();
  86. this.setGridCustomParam();
  87. this.setBotpFilterItems($grid);
  88. this.queryFastFilterGrid();
  89. // selector
  90. var selector = this.getSelector();
  91. if (typeof selector !== 'undefined') {
  92. $grid.setGridParam({ selector: selector });
  93. }
  94. // filter
  95. var filterItems = this.getFilterItems();
  96. $grid.jqGrid("option", "filterItems", filterItems);
  97. // fastFilter
  98. var fastFilterItems = this.getFastFilterItems();
  99. if (fastFilterItems) {
  100. $grid.jqGrid("option", "fastFilterItems", JSON.stringifyOnce(fastFilterItems));
  101. }
  102. //seniorFilter
  103. var advancedFilter = this.getAdvancedFilterItems();
  104. if(_self.fastFilterMap && _self.fastFilterMap.fastFilterItems && _self.isReturn){
  105. advancedFilter = _self.fastFilterMap.fastFilterItems.advancedFilter;
  106. }
  107. if(advancedFilter){
  108. $grid.jqGrid("option", "advancedFilter", JSON.stringify(advancedFilter));
  109. }else{
  110. $grid.jqGrid("option", "advancedFilter", null);
  111. }
  112. // sorter
  113. var sorterItems = this.getSorterItems();
  114. if (sorterItems) {
  115. $grid.jqGrid("option", "sorterItems", sorterItems);
  116. }
  117. var keyField = this.getBillIdFieldName();
  118. if (keyField) {
  119. $grid.jqGrid("option", "keyField", keyField);
  120. }
  121. // 修改为通过URL取数
  122. if(!_self.isFirstLoadData){
  123. $grid.jqGrid('setGridParam', {datatype:'local'});
  124. $grid.bind("jqGridLoadComplete", function(e, datas){
  125. $grid.jqGrid('showNoRecords');
  126. });
  127. _self.isFirstLoadData = true;
  128. }else{
  129. $grid.jqGrid('setGridParam', {datatype:'json'});
  130. }
  131. // reload
  132. $grid.jqGrid("reloadGrid");
  133. var filtertype = 'normal';
  134. var filterValue = filterItems;
  135. if(this.getQuickFilterItems()){
  136. filtertype = 'QuickFilter';
  137. filterValue = this.getQuickFilterItems();
  138. }
  139. if(this.getCustomFilterItems()){
  140. filtertype = 'CustomFilter';
  141. filterValue = this.getCustomFilterItems();
  142. }
  143. var text = {id:this.uipk,text:this.title,filtertype:filtertype,filter:filterValue};
  144. var value = {type:2,msg:text};
  145. shr.operateLogger(value);
  146. },
  147. queryGridByEvent: function(e) {
  148. var viewPage;
  149. var self=this;
  150. if (e.target) {
  151. viewPage = shr.getCurrentViewPage(e.target);
  152. } else {
  153. viewPage = shr.getCurrentViewPage(e);
  154. }
  155. // 将页码恢复为第1页
  156. $(viewPage.gridId).jqGrid('option', 'page', 1);
  157. viewPage.queryAction();
  158. },
  159. queryAction : function () {
  160. var self = this;
  161. //快速过滤,过滤字段(精确):内部管理员工、考勤业务组织、行政组织、时间范围
  162. var fastFilterItems = self.getFastFilterItems();
  163. //search搜索框过滤,过滤字段(模糊):员工编码、员工姓名
  164. var searchFilterItems = self.getSearchFilterItems();
  165. if( fastFilterItems == undefined)
  166. fastFilterItems = "";
  167. if( searchFilterItems == undefined)
  168. searchFilterItems = "";
  169. if(fastFilterItems["add"] == "")
  170. fastFilterItems["add"] = null;
  171. if(fastFilterItems.SMT_adminOrg.values==''){
  172. shr.showWarning({
  173. message: "请选择行政组织"
  174. });
  175. return;
  176. }
  177. if(fastFilterItems.SMT_hROrgUnit.values==''){
  178. shr.showWarning({
  179. message: "请选择发薪业务组织"
  180. });
  181. return;
  182. }
  183. if(fastFilterItems.applyDate.values==''){
  184. shr.showWarning({
  185. message: "请选择薪资期间"
  186. });
  187. return;
  188. }
  189. if(fastFilterItems.applyDate.values.startDate==''){
  190. shr.showWarning({
  191. message: "请选择开始薪资期间"
  192. });
  193. return;
  194. }
  195. if(fastFilterItems.applyDate.values.endDate==''){
  196. shr.showWarning({
  197. message: "请选择结束薪资期间"
  198. });
  199. return;
  200. }
  201. if(fastFilterItems.CMP_submitscheme.values==''){
  202. shr.showWarning({
  203. message: "请选择定调薪查询方案"
  204. });
  205. return;
  206. }
  207. //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
  208. var advancedFilterItems = self.getAdvancedFilterItems();
  209. if(advancedFilterItems != undefined){
  210. fastFilterItems["add"] = advancedFilterItems;
  211. }
  212. $("#reportGrid").jqGrid('setGridParam', {
  213. datatype : 'json',
  214. postData : {
  215. 'fastFilterItems' : encodeURIComponent($.toJSON(fastFilterItems)),
  216. 'searchFilterItems' :encodeURIComponent(searchFilterItems),
  217. 'page1' : 1 //??
  218. },
  219. page : 0
  220. });
  221. // $("#reportGrid").trigger("reloadGrid");
  222. self.renderDataGrid(fastFilterItems);
  223. },
  224. renderDataGrid : function (fastFilterItems) {
  225. var self = this,
  226. serviceId = shr.getUrlRequestParam("serviceId");
  227. //submitSchemeId = $submitscheme.data('id');
  228. self.remoteCall({
  229. method : "getGridColModel",
  230. param : {
  231. serviceId: serviceId,
  232. fastFilterItems:encodeURIComponent($.toJSON(fastFilterItems))
  233. // submitSchemeId: submitSchemeId
  234. },
  235. success : function (reponse) {
  236. self.colModelData = reponse;
  237. self.doRenderDataGrid(reponse);
  238. }
  239. });
  240. },
  241. doRenderDataGrid : function () {
  242. var self = this;
  243. var reponse = self.colModelData;
  244. $("#gbox_reportGrid").remove();//强制清除grid容器的html,这个标签在渲染表格后由jqgrid创建的表格最外层标签
  245. $("#reportGrid").remove();
  246. $("#gridPager1").remove();
  247. $("#adv-div-container").after('<div id="gridPager1"></div><table id="reportGrid"></table>');
  248. table = $("#reportGrid");
  249. var fastFilterItems = self.getFastFilterItems();
  250. //search搜索框过滤,
  251. var searchFilterItems = self.getSearchFilterItems();
  252. if( fastFilterItems == undefined)
  253. fastFilterItems = "";
  254. if( searchFilterItems == undefined)
  255. searchFilterItems = "";
  256. if(fastFilterItems["add"] == "")
  257. fastFilterItems["add"] = null;
  258. var advancedFilterItems = self.getAdvancedFilterItems();
  259. if(advancedFilterItems != undefined){
  260. fastFilterItems["add"] = advancedFilterItems;
  261. }
  262. var postData = {
  263. 'fastFilterItems' : encodeURIComponent($.toJSON(fastFilterItems)),
  264. 'searchFilterItems' :encodeURIComponent(searchFilterItems),
  265. 'page1' : 1
  266. };
  267. var url = self.getGridDataRequestURL();
  268. var colNames = reponse.colNames;
  269. var colModel = reponse.colModel;
  270. var defaultSortname = reponse.defaultSortname,
  271. options = {
  272. url : url ,
  273. datatype : "json",
  274. mtype: "POST",
  275. multiselect : true,
  276. rownumbers : false,
  277. colNames : colNames,
  278. colModel : colModel,
  279. rowNum : self.rowNumPerPage,
  280. // pager : '#gridPager1',
  281. postData: postData ,
  282. // height : 'auto',
  283. height : self.rowNumPerPage > 21 ? '590px' : 'auto' ,
  284. rowList : [20,40,60],
  285. recordpos : 'left',
  286. recordtext : '({0}-{1})/{2}',
  287. gridview : true,
  288. shrinkToFit :reponse.colModel.length>10?false:true,
  289. viewrecords : true,
  290. sortname : defaultSortname,
  291. //caption: "Frozen Header",
  292. customPager : '#gridPager1',
  293. pagerpos:"center",
  294. pginputpos:"right",
  295. pginput:true,
  296. synchTotal:false,
  297. onSelectRow: function(id){
  298. // onSelectRow : function(id){
  299. //屏蔽编辑功能
  300. // jQuery('#reportGrid').jqGrid('editRow', id, false, function(){ });
  301. if(sidValue.length == 0)
  302. {
  303. sidValue.push(id);
  304. lastsel2 = id;
  305. $("#reportGrid").attr("sid", sidValue.join(","));
  306. }else{
  307. var tempId=true;
  308. for(var idArr=0;idArr< sidValue.length;idArr++) {
  309. // var idArr=sidValue.split(",");
  310. if(sidValue[idArr] == id) {
  311. tempId=false;
  312. }
  313. }
  314. if(tempId){
  315. sidValue.push(id);
  316. lastsel2 = id;
  317. $("#reportGrid").attr("sid", sidValue.join(","));
  318. }
  319. }
  320. },
  321. editurl: this.dynamicPage_url+ "?method=editRowData"+"&uipk=" + this.reportUipk
  322. };
  323. options.loadComplete = function (data) {
  324. if($("#gridPager1").html() == "" && "true" == "true"){
  325. $("#reportGrid").setCustomPager("#gridPager1");
  326. }
  327. if (!$("#gridPager1")[0]) {
  328. var pagerDiv = '<div id="gridPager1"></div>';
  329. if ($('.editGrid-toolbar')[0]) {
  330. $('.editGrid-toolbar').after(pagerDiv);
  331. } else {
  332. //$('#entry_cont').prepend(pagerDiv);
  333. }
  334. $("#reportGrid").setCustomPager("#gridPager1");
  335. }
  336. shr.setIframeHeight();
  337. $('#gridPager1_left').click(function(){
  338. $('.ui-pg-selbox').show();
  339. //$('.ui-pg-selbox').css({"left":"-40px"})
  340. $(this).children('.ui-paging-info').hide();
  341. });
  342. $("#microToolbar").parent().hide()
  343. //$("#gridPager1").parent().css({"position":"relative"})
  344. $("#gbox_reportGrid").css("margin-top","40px");
  345. $("#gridPager1").addClass("shrPage").css({
  346. "position":"absolute",
  347. "top":"35px",
  348. "right":"0px",
  349. "background":"#FFF"
  350. })
  351. // self.handleMicroToolbarInfo();
  352. filterItems1 = "" ;
  353. //jQuery('#reportGrid').jqGrid('setFrozenColumns');
  354. shr.salaryAdjustmentRoToColumnQueryList.superClass.gridLoadComplete.call(this,data);
  355. $('.frozen-div').css("top","0");
  356. $('.frozen-bdiv').css("top","41px");
  357. };
  358. // clear table
  359. table.html();
  360. table.jqGrid(options).jqGrid("reloadGrid");
  361. //if(self.isFirstTimeLoad){
  362. //jQuery('#reportGrid').jqGrid('setFrozenColumns');//只有第一次才设置冻结列
  363. //}
  364. self.isFirstTimeLoad = false;
  365. },
  366. getGridDataRequestURL : function () {
  367. return this.dynamicPage_url
  368. + "?method=getGridData"
  369. + "&uipk=" + this.reportUipk;
  370. },
  371. /**
  372. * 导出选中
  373. */
  374. exportSelectAction:function(){
  375. var self = this;
  376. var fieldName = this.getExportFieldName();
  377. var rowIds = $(this.gridId).getDataIDs();
  378. var sid = $("#reportGrid").jqGrid("getSelectedRows");
  379. var Exchange_json = [];
  380. for (var i = 0;i<sid.length; i++) {
  381. var item = sid[i];
  382. var data = $("#reportGrid").jqGrid("getRowData", item);
  383. Exchange_json.push(data);
  384. }
  385. var entrysIdStr = '';
  386. for(var i = 0;i< Exchange_json.length;i++){
  387. if(i<Exchange_json.length-1){
  388. entrysIdStr = entrysIdStr + Exchange_json[i].fid+ ",";
  389. }else {
  390. entrysIdStr = entrysIdStr+ Exchange_json[i].fid;
  391. }
  392. }
  393. if (rowIds) {
  394. //获取搜索框内容
  395. //快速过滤,过滤字段(精确):内部管理员工、考勤业务组织、行政组织、时间范围
  396. var fastFilterItems = self.getFastFilterItems();
  397. //search搜索框过滤,过滤字段(模糊):员工编码、员工姓名
  398. var searchFilterItems = self.getSearchFilterItems();
  399. if( fastFilterItems == undefined)
  400. fastFilterItems = "";
  401. if( searchFilterItems == undefined)
  402. searchFilterItems = "";
  403. if(fastFilterItems["add"] == "")
  404. fastFilterItems["add"] = null;
  405. //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
  406. var advancedFilterItems = self.getAdvancedFilterItems();
  407. if(advancedFilterItems != undefined){
  408. fastFilterItems["add"] = advancedFilterItems;
  409. }
  410. var handler = this.getExportHandler();
  411. var param = {
  412. serviceId: shr.getServiceId(),
  413. fastFilterItems : encodeURIComponent($.toJSON(fastFilterItems)),
  414. searchFilterItems :encodeURIComponent(searchFilterItems),
  415. method: "exportAll",
  416. uipk : this.uipk,
  417. handler: handler,
  418. entrysIdStr: entrysIdStr
  419. }
  420. url = self.dynamicPage_url;
  421. document.location.href = shr.appendParam(url,param);
  422. } else {
  423. shr.showWarning({
  424. message: jsBizMultLan.atsManager_attendanceRecordList_i18n_0
  425. });
  426. }
  427. },
  428. //导出全部
  429. exportAllAction : function(){
  430. var self = this;
  431. //获取搜索框内容
  432. //快速过滤,过滤字段(精确):内部管理员工、考勤业务组织、行政组织、时间范围
  433. var fastFilterItems = self.getFastFilterItems();
  434. //search搜索框过滤,过滤字段(模糊):员工编码、员工姓名
  435. var searchFilterItems = self.getSearchFilterItems();
  436. if( fastFilterItems == undefined)
  437. fastFilterItems = "";
  438. if( searchFilterItems == undefined)
  439. searchFilterItems = "";
  440. if(fastFilterItems["add"] == "")
  441. fastFilterItems["add"] = null;
  442. //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
  443. var advancedFilterItems = self.getAdvancedFilterItems();
  444. if(advancedFilterItems != undefined){
  445. fastFilterItems["add"] = advancedFilterItems;
  446. }
  447. var handler = this.getExportHandler();
  448. var param = {
  449. serviceId: shr.getServiceId(),
  450. fastFilterItems : encodeURIComponent($.toJSON(fastFilterItems)),
  451. searchFilterItems :encodeURIComponent(searchFilterItems),
  452. method: "exportAll",
  453. uipk : this.uipk,
  454. handler: handler
  455. }
  456. var self = this,
  457. url = self.dynamicPage_url;
  458. document.location.href = shr.appendParam(url,param);
  459. },
  460. getExportHandler: function(){
  461. return "com.kingdee.shr.compensation.web.handler.integrate.SalaryAdjustmentRowToColumnQueryList";
  462. },
  463. });