cron.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. /**
  2. * 每周期
  3. */
  4. function everyTime(dom) {
  5. var item = $("input[name=v_" + dom.name + "]");
  6. item.val("*");
  7. item.change();
  8. }
  9. /**
  10. * 不指定
  11. */
  12. function unAppoint(dom) {
  13. var name = dom.name;
  14. var val = "?";
  15. if (name == "year")
  16. val = "";
  17. var item = $("input[name=v_" + name + "]");
  18. item.val(val);
  19. item.change();
  20. }
  21. function appoint(dom) {
  22. }
  23. /**
  24. * 周期
  25. */
  26. function cycle(dom) {
  27. var name = dom.name;
  28. var ns = $(dom).parent().find(".numberspinner");
  29. var start = ns.eq(0).numberspinner("getValue");
  30. var end = ns.eq(1).numberspinner("getValue");
  31. var item = $("input[name=v_" + name + "]");
  32. item.val(start + "-" + end);
  33. item.change();
  34. }
  35. /**
  36. * 从开始
  37. */
  38. function startOn(dom) {
  39. var name = dom.name;
  40. var ns = $(dom).parent().find(".numberspinner");
  41. var start = ns.eq(0).numberspinner("getValue");
  42. var end = ns.eq(1).numberspinner("getValue");
  43. var item = $("input[name=v_" + name + "]");
  44. item.val(start + "/" + end);
  45. item.change();
  46. }
  47. function lastDay(dom){
  48. var item = $("input[name=v_" + dom.name + "]");
  49. item.val("L");
  50. item.change();
  51. }
  52. function weekOfDay(dom){
  53. var name = dom.name;
  54. var ns = $(dom).parent().find(".numberspinner");
  55. var start = ns.eq(0).numberspinner("getValue");
  56. var end = ns.eq(1).numberspinner("getValue");
  57. var item = $("input[name=v_" + name + "]");
  58. item.val(start + "#" + end);
  59. item.change();
  60. }
  61. function lastWeek(dom){
  62. var item = $("input[name=v_" + dom.name + "]");
  63. var ns = $(dom).parent().find(".numberspinner");
  64. var start = ns.eq(0).numberspinner("getValue");
  65. item.val(start+"L");
  66. item.change();
  67. }
  68. function workDay(dom) {
  69. var name = dom.name;
  70. var ns = $(dom).parent().find(".numberspinner");
  71. var start = ns.eq(0).numberspinner("getValue");
  72. var item = $("input[name=v_" + name + "]");
  73. item.val(start + "W");
  74. item.change();
  75. }
  76. $(function() {
  77. $(".numberspinner").numberspinner({
  78. onChange:function(){
  79. $(this).closest("div.line").children().eq(0).click();
  80. }
  81. });
  82. var vals = $("input[name^='v_']");
  83. var cron = $("#cron");
  84. vals.change(function() {
  85. var item = [];
  86. vals.each(function() {
  87. item.push(this.value);
  88. });
  89. //修复表达式错误BUG,如果后一项不为* 那么前一项肯定不为为*,要不然就成了每秒执行了
  90. //获取当前选中tab
  91. var currentIndex = 0;
  92. $(".tabs>li").each(function (i, item) {
  93. if($(item).hasClass("tabs-selected")){
  94. currentIndex =i;
  95. return false;
  96. }
  97. });
  98. //当前选中项之前的如果为*,则都设置成0
  99. for (var i = currentIndex; i >= 1; i--) {
  100. if (item[i] != "*" && item[i - 1] == "*") {
  101. item[i - 1] = "0";
  102. }
  103. }
  104. //当前选中项之后的如果不为*则都设置成*
  105. if (item[currentIndex] == "*") {
  106. for (var i = currentIndex + 1; i < item.length; i++) {
  107. if (i == 5) {
  108. item[i] = "?";
  109. } else {
  110. item[i] = "*";
  111. }
  112. }
  113. }
  114. cron.val(item.join(" ")).change();
  115. });
  116. cron.change(function () {
  117. btnFan();
  118. //设置最近五次运行时间
  119. $.ajax({
  120. type: 'get',
  121. url: "CalcRunTime.ashx",
  122. dataType: "json",
  123. data: { "CronExpression": $("#cron").val() },
  124. success: function (data) {
  125. if (data && data.length == 5) {
  126. var strHTML = "<ul>";
  127. for (var i = 0; i < data.length; i++) {
  128. strHTML += "<li>" + data[i] + "</li>";
  129. }
  130. strHTML +="</ul>"
  131. $("#runTime").html(strHTML);
  132. } else {
  133. $("#runTime").html("");
  134. }
  135. }
  136. });
  137. });
  138. var secondList = $(".secondList").children();
  139. $("#sencond_appoint").click(function(){
  140. if (this.checked) {
  141. if ($(secondList).filter(":checked").length == 0) {
  142. $(secondList.eq(0)).attr("checked", true);
  143. }
  144. secondList.eq(0).change();
  145. }
  146. });
  147. secondList.change(function() {
  148. var sencond_appoint = $("#sencond_appoint").prop("checked");
  149. if (sencond_appoint) {
  150. var vals = [];
  151. secondList.each(function() {
  152. if (this.checked) {
  153. vals.push(this.value);
  154. }
  155. });
  156. var val = "?";
  157. if (vals.length > 0 && vals.length < 59) {
  158. val = vals.join(",");
  159. }else if(vals.length == 59){
  160. val = "*";
  161. }
  162. var item = $("input[name=v_second]");
  163. item.val(val);
  164. item.change();
  165. }
  166. });
  167. var minList = $(".minList").children();
  168. $("#min_appoint").click(function(){
  169. if (this.checked) {
  170. if ($(minList).filter(":checked").length == 0) {
  171. $(minList.eq(0)).attr("checked", true);
  172. }
  173. minList.eq(0).change();
  174. }
  175. });
  176. minList.change(function() {
  177. var min_appoint = $("#min_appoint").prop("checked");
  178. if (min_appoint) {
  179. var vals = [];
  180. minList.each(function() {
  181. if (this.checked) {
  182. vals.push(this.value);
  183. }
  184. });
  185. var val = "?";
  186. if (vals.length > 0 && vals.length < 59) {
  187. val = vals.join(",");
  188. }else if(vals.length == 59){
  189. val = "*";
  190. }
  191. var item = $("input[name=v_min]");
  192. item.val(val);
  193. item.change();
  194. }
  195. });
  196. var hourList = $(".hourList").children();
  197. $("#hour_appoint").click(function(){
  198. if (this.checked) {
  199. if ($(hourList).filter(":checked").length == 0) {
  200. $(hourList.eq(0)).attr("checked", true);
  201. }
  202. hourList.eq(0).change();
  203. }
  204. });
  205. hourList.change(function() {
  206. var hour_appoint = $("#hour_appoint").prop("checked");
  207. if (hour_appoint) {
  208. var vals = [];
  209. hourList.each(function() {
  210. if (this.checked) {
  211. vals.push(this.value);
  212. }
  213. });
  214. var val = "?";
  215. if (vals.length > 0 && vals.length < 24) {
  216. val = vals.join(",");
  217. }else if(vals.length == 24){
  218. val = "*";
  219. }
  220. var item = $("input[name=v_hour]");
  221. item.val(val);
  222. item.change();
  223. }
  224. });
  225. var dayList = $(".dayList").children();
  226. $("#day_appoint").click(function(){
  227. if (this.checked) {
  228. if ($(dayList).filter(":checked").length == 0) {
  229. $(dayList.eq(0)).attr("checked", true);
  230. }
  231. dayList.eq(0).change();
  232. }
  233. });
  234. dayList.change(function() {
  235. var day_appoint = $("#day_appoint").prop("checked");
  236. if (day_appoint) {
  237. var vals = [];
  238. dayList.each(function() {
  239. if (this.checked) {
  240. vals.push(this.value);
  241. }
  242. });
  243. var val = "?";
  244. if (vals.length > 0 && vals.length < 31) {
  245. val = vals.join(",");
  246. }else if(vals.length == 31){
  247. val = "*";
  248. }
  249. var item = $("input[name=v_day]");
  250. item.val(val);
  251. item.change();
  252. }
  253. });
  254. var mouthList = $(".mouthList").children();
  255. $("#mouth_appoint").click(function(){
  256. if (this.checked) {
  257. if ($(mouthList).filter(":checked").length == 0) {
  258. $(mouthList.eq(0)).attr("checked", true);
  259. }
  260. mouthList.eq(0).change();
  261. }
  262. });
  263. mouthList.change(function() {
  264. var mouth_appoint = $("#mouth_appoint").prop("checked");
  265. if (mouth_appoint) {
  266. var vals = [];
  267. mouthList.each(function() {
  268. if (this.checked) {
  269. vals.push(this.value);
  270. }
  271. });
  272. var val = "?";
  273. if (vals.length > 0 && vals.length < 12) {
  274. val = vals.join(",");
  275. }else if(vals.length == 12){
  276. val = "*";
  277. }
  278. var item = $("input[name=v_mouth]");
  279. item.val(val);
  280. item.change();
  281. }
  282. });
  283. var weekList = $(".weekList").children();
  284. $("#week_appoint").click(function(){
  285. if (this.checked) {
  286. if ($(weekList).filter(":checked").length == 0) {
  287. $(weekList.eq(0)).attr("checked", true);
  288. }
  289. weekList.eq(0).change();
  290. }
  291. });
  292. weekList.change(function() {
  293. var week_appoint = $("#week_appoint").prop("checked");
  294. if (week_appoint) {
  295. var vals = [];
  296. weekList.each(function() {
  297. if (this.checked) {
  298. vals.push(this.value);
  299. }
  300. });
  301. var val = "?";
  302. if (vals.length > 0 && vals.length < 7) {
  303. val = vals.join(",");
  304. }else if(vals.length == 7){
  305. val = "*";
  306. }
  307. var item = $("input[name=v_week]");
  308. item.val(val);
  309. item.change();
  310. }
  311. });
  312. });