PlatformPreResignList.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. /**
  2. * 员工预离职列表
  3. */
  4. var gridId = '#grid';
  5. shr.defineClass("shr.batchAffair.PlatformPreResignList", shr.framework.List, {
  6. initalizeDOM: function() {
  7. shr.batchAffair.PlatformPreResignList.superClass.initalizeDOM.call(this);
  8. },
  9. getNewDataAction: function() {
  10. var _self = this;
  11. // openLoader(1,"正在更新,请稍等...");
  12. var url = shr.getContextPath() + "/dynamic.do?method=getNewData&uipk=" + jsBinder.uipk;
  13. shr.remoteCall({
  14. url: url,
  15. type: 'POST',
  16. success: function(response) {
  17. shr.showInfo({
  18. message: "最新名单获取成功",
  19. hideAfter: 5
  20. });
  21. _self.reloadGrid();
  22. }
  23. });
  24. // closeLoader();
  25. },
  26. /**
  27. * 生成单人离职单
  28. */
  29. effectSingleEmpResignBillAction: function() {
  30. var _self = this;
  31. if ($("#grid").jqGrid("getSelectedRows").length == 0) {
  32. shr.showWarning({
  33. message: "请先选中表格中的数据!"
  34. });
  35. return;
  36. }
  37. var billId = _self.getSelectedIds();
  38. _self.remoteCall({
  39. method: 'createResign',
  40. param: {
  41. billId: billId
  42. },
  43. success: function(reponse) {
  44. if(reponse && reponse.code == 200){
  45. shr.showInfo({
  46. message: '执行成功,请在离职流程跟踪查看生成的数据!'
  47. });
  48. }else{
  49. shr.showError({
  50. message: "执行错误!"
  51. });
  52. }
  53. }
  54. });
  55. },
  56. //批量维护
  57. batchMaintainAction: function() {
  58. //当前列表没有数据时,弹出提示语,不出现弹出框
  59. var gridData = $("#grid").jqGrid("getRowData");
  60. if (!gridData.length) {
  61. shr.showInfo({
  62. message: '当前列表没有数据!'
  63. });
  64. return;
  65. }
  66. var selectedIds = this.getSelectedIds();
  67. if (!selectedIds || selectedIds.length == 0) {
  68. shr.showError({
  69. message: "请先选中表格中的数据!"
  70. });
  71. return;
  72. }
  73. var self = this,
  74. _propfield_data = [{
  75. value: 'applyDate',
  76. alias: '提出离职日期',
  77. type: 'Date'
  78. },
  79. {
  80. value: 'preResignDate',
  81. alias: '预离职日期',
  82. type: 'Date'
  83. },
  84. {
  85. value: 'preResignType',
  86. alias: '预离职状态',
  87. type: 'F7',
  88. f7uipk: 'com.kingdee.eas.hr.emp.app.PreResignType.FastFilter.F7',
  89. f7value: '',
  90. f7valText: '',
  91. f7title: '预离职状态'
  92. },
  93. {
  94. value: 'variationReason',
  95. alias: '预离职原因',
  96. type: 'F7',
  97. f7uipk: 'com.kingdee.eas.hr.base.app.VariationReason.FastFilter.F7',
  98. f7value: '',
  99. f7valText: '',
  100. f7title: '预离职原因',
  101. f7filter: tempfilter
  102. }];
  103. //维护字段
  104. var data = {};
  105. data.propfield_data = _propfield_data;
  106. data.maintainEntityName = "com.kingdee.eas.hr.customextend.PlatformPreResign";
  107. data.objectName_FieldName = "person.name";
  108. data.executeHandler = "com.kingdee.shr.batchAffair.web.handler.EmpBatchPlatformPreResignListHandler";
  109. employeeBatchMaintainProp.initBatchMaintainOperate(self, data);
  110. },
  111. bathPreResignByExcelAction: function() {
  112. var curIOModelString = "com.kingdee.eas.hr.customextend.PlatformPreResign";
  113. var customData = tempfilter;
  114. this.doImportData("bathPreResignByExcel", {
  115. tempfilter: tempfilter
  116. });
  117. },
  118. // 单据撤回
  119. abortBillAction: function() {
  120. var _self = this,
  121. compareBillStateTxt = ['未审批', '审批中', '审批不通过'],
  122. compareBillStateVal = [1, 2, 4] ;
  123. if (_self.beforeAbortBill2(compareBillStateVal)) {
  124. _self.doAbortBill();
  125. }
  126. },
  127. doAbortBill: function() {
  128. var self = this,
  129. billId = self.getSelectedIds();
  130. shr.showConfirm('撤回单据后,单据状态将变成 \'未提交\' 状态,确认撤回?',
  131. function() {
  132. self.remoteCall({
  133. method: 'abortBill',
  134. param: {
  135. billId: billId
  136. },
  137. success: function(reponse) {
  138. shr.showInfo({
  139. message: '单据撤回成功。'
  140. });
  141. self.reloadGrid();
  142. }
  143. });
  144. });
  145. },
  146. // 单据删除
  147. doDelete: function(selectedIds) {
  148. var _self = this;
  149. var url = shr.getContextPath() + "/dynamic.do?method=delete&uipk=" + jsBinder.uipk;
  150. shr.showConfirm('您确认要删除吗?',
  151. function() {
  152. top.Messenger().hideAll();
  153. shr.remoteCall({
  154. url: url,
  155. type: 'POST',
  156. param: {
  157. billId: selectedIds,
  158. logModel: shr.toJSON($("#grid").jqGrid("getSelectedRowsData"))
  159. },
  160. success: function(response) {
  161. shr.showInfo({
  162. message: "成功清除预离职信息",
  163. hideAfter: 5
  164. });
  165. _self.reloadGrid();
  166. }
  167. });
  168. });
  169. },
  170. /**
  171. * 描述:删除操作
  172. */
  173. deleteRecord: function(selectedIds) {
  174. var _self = this,
  175. compareBillStateVal = [0] ;
  176. if (_self.beforeAbortBill2(compareBillStateVal)) {
  177. _self.doDelete(selectedIds);
  178. }
  179. },
  180. beforeAbortBill: function() {
  181. var billId = $("#grid").jqGrid("getSelectedRows");
  182. if (!billId || billId.length == 0) {
  183. shr.showWarning({
  184. message: '请先选中表格中的数据!'
  185. });
  186. return false;
  187. }
  188. else if (billId.length > 1) {
  189. shr.showInfo({
  190. message: '请选中一行。'
  191. });
  192. return false;
  193. }
  194. return true;
  195. },
  196. getGridCellValue: function(colName) {
  197. var self = this,
  198. rowid = self.getSelectedIds(),
  199. $grid = $(self.gridId);
  200. return $grid.jqGrid("getCell", rowid, colName);
  201. },
  202. getGridCellValue2:function(rowid,colName ){
  203. var self = this;
  204. var $grid = $(self.gridId);
  205. var colVal = $grid.jqGrid('getCell', rowid, colName);
  206. if (colVal !== '' && colVal != undefined) {
  207. return colVal
  208. }
  209. return "";
  210. },
  211. beforeAbortBill2: function(compareBillStateVal) {
  212. var self = this;
  213. var billId = $("#grid").jqGrid("getSelectedRows");
  214. if (!billId || billId.length == 0) {
  215. shr.showWarning({
  216. message: '请先选中表格中的数据!'
  217. });
  218. return false;
  219. }
  220. for(var i = 0; billId.length>i;i++){
  221. var thisId = billId[i];
  222. var billState = Number (self.getGridCellValue2(thisId,'billState'));
  223. var personName = self.getGridCellValue2(thisId, "person.name");
  224. if( $.inArray( billState,compareBillStateVal ) == -1 ){
  225. shr.showWarning({
  226. message: personName + '的数据状态不匹配,请不能执行此操作!'
  227. });
  228. return false;
  229. }
  230. }
  231. return true;
  232. },
  233. // 单据反审核
  234. untiCheckAction: function() {
  235. var _self = this,
  236. compareBillStateVal = [3],
  237. billState = '';
  238. if (_self.beforeAbortBill()) {
  239. billState = _self.getGridCellValue('billState');
  240. if ($.inArray(billState, compareBillStateVal) != -1) {
  241. _self.doAntiApproval();
  242. } else {
  243. shr.showWarning({
  244. message: '只有单据状态为【审批通过】的单据,才能被反审批'
  245. });
  246. }
  247. }
  248. },
  249. doAntiApproval: function() {
  250. var self = this,
  251. billId = self.getSelectedIds();
  252. shr.showConfirm('反审批单据后,单据状态将变成 \'未提交\' 状态,确认反审批?',
  253. function() {
  254. self.remoteCall({
  255. method: 'untiCheck',
  256. param: {
  257. billId: billId
  258. },
  259. success: function(reponse) {
  260. shr.showInfo({
  261. message: '单据反审批成功。'
  262. });
  263. self.reloadGrid();
  264. }
  265. });
  266. });
  267. },
  268. //exportToExcelAction:function(){
  269. //
  270. // shr.batchAffair.EmpBatchPreResignList.superClass.exportToExcelAction.call(this);
  271. //},
  272. });