PlatformPreResignList.js 8.5 KB

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