schedule.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. $(function () {
  2. $("#jqGrid").Grid({
  3. url: '../sys/schedule/list',
  4. rownumWidth:60,
  5. colModel: [
  6. {label: '任务ID', name: 'jobId', width: 60, key: true},
  7. {label: 'bean名称', name: 'beanName', width: 100},
  8. {label: '方法名称', name: 'methodName', width: 100},
  9. {label: '参数', name: 'params', width: 100},
  10. {label: 'cron表达式 ', name: 'cronExpression', width: 100},
  11. {label: '备注 ', name: 'remark', width: 100},
  12. {
  13. label: '状态', name: 'status', width: 60, formatter: function (value, options, row) {
  14. return value === 0 ?
  15. '<span class="label label-success">正常</span>' :
  16. '<span class="label label-danger">暂停</span>';
  17. }
  18. }
  19. ]
  20. });
  21. });
  22. var vm = new Vue({
  23. el: '#rrapp',
  24. data: {
  25. q: {
  26. beanName: null
  27. },
  28. showList: true,
  29. title: null,
  30. schedule: {},
  31. ruleValidate: {
  32. beanName: [
  33. {required: true, message: 'bean名称不能为空', trigger: 'blur'}
  34. ],
  35. methodName: [
  36. {required: true, message: '方法名称不能为空', trigger: 'blur'}
  37. ],
  38. cronExpression: [
  39. {required: true, message: 'cron表达式不能为空', trigger: 'blur'}
  40. ]
  41. }
  42. },
  43. methods: {
  44. query: function () {
  45. vm.reload();
  46. },
  47. add: function () {
  48. vm.showList = false;
  49. vm.title = "新增";
  50. vm.schedule = {};
  51. },
  52. update: function () {
  53. var jobId = getSelectedRow("#jqGrid");
  54. if (jobId == null) {
  55. return;
  56. }
  57. Ajax.request({
  58. url: "../sys/schedule/info/" + jobId,
  59. async: true,
  60. successCallback: function (r) {
  61. vm.showList = false;
  62. vm.title = "修改";
  63. vm.schedule = r.schedule;
  64. }
  65. });
  66. },
  67. saveOrUpdate: function (event) {
  68. var url = vm.schedule.jobId == null ? "../sys/schedule/save" : "../sys/schedule/update";
  69. Ajax.request({
  70. url: url,
  71. params: JSON.stringify(vm.schedule),
  72. contentType: "application/json",
  73. type: 'POST',
  74. successCallback: function () {
  75. alert('操作成功', function (index) {
  76. vm.reload();
  77. });
  78. }
  79. });
  80. },
  81. del: function (event) {
  82. var jobIds = getSelectedRows("#jqGrid");
  83. if (jobIds == null) {
  84. return;
  85. }
  86. confirm('确定要删除选中的记录?', function () {
  87. Ajax.request({
  88. url: "../sys/schedule/delete",
  89. params: JSON.stringify(jobIds),
  90. contentType: "application/json",
  91. type: 'POST',
  92. successCallback: function () {
  93. alert('操作成功', function (index) {
  94. vm.reload();
  95. });
  96. }
  97. });
  98. });
  99. },
  100. pause: function (event) {
  101. var jobIds = getSelectedRows("#jqGrid");
  102. if (jobIds == null) {
  103. return;
  104. }
  105. confirm('确定要暂停选中的记录?', function () {
  106. Ajax.request({
  107. url: "../sys/schedule/pause",
  108. params: JSON.stringify(jobIds),
  109. contentType: "application/json",
  110. type: 'POST',
  111. successCallback: function () {
  112. alert('操作成功', function (index) {
  113. vm.reload();
  114. });
  115. }
  116. });
  117. });
  118. },
  119. resume: function (event) {
  120. var jobIds = getSelectedRows("#jqGrid");
  121. if (jobIds == null) {
  122. return;
  123. }
  124. confirm('确定要恢复选中的记录?', function () {
  125. Ajax.request({
  126. url: "../sys/schedule/resume",
  127. params: JSON.stringify(jobIds),
  128. contentType: "application/json",
  129. type: 'POST',
  130. successCallback: function () {
  131. alert('操作成功', function (index) {
  132. vm.reload();
  133. });
  134. }
  135. });
  136. });
  137. },
  138. runOnce: function (event) {
  139. var jobIds = getSelectedRows("#jqGrid");
  140. if (jobIds == null) {
  141. return;
  142. }
  143. confirm('确定要立即执行选中的记录?', function () {
  144. Ajax.request({
  145. url: "../sys/schedule/run",
  146. params: JSON.stringify(jobIds),
  147. contentType: "application/json",
  148. type: 'POST',
  149. successCallback: function () {
  150. alert('操作成功', function (index) {
  151. vm.reload();
  152. });
  153. }
  154. });
  155. });
  156. },
  157. reload: function (event) {
  158. vm.showList = true;
  159. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  160. $("#jqGrid").jqGrid('setGridParam', {
  161. postData: {'beanName': vm.q.beanName},
  162. page: page
  163. }).trigger("reloadGrid");
  164. },
  165. handleSubmit: function (name) {
  166. handleSubmitValidate(this, name, function () {
  167. vm.saveOrUpdate()
  168. });
  169. },
  170. handleReset: function (name) {
  171. handleResetForm(this, name);
  172. }
  173. }
  174. });