sbd-npm 1.4.5 → 1.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/status.js +119 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sbd-npm",
3
- "version": "1.4.5",
3
+ "version": "1.4.7",
4
4
  "description": "Stock Big Data",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/status.js CHANGED
@@ -3,6 +3,8 @@ $(function () {
3
3
  let Status = {
4
4
 
5
5
  tab_token: "status_nav",
6
+ task_status: 0,
7
+ task_timer_id: 0,
6
8
  data: {},
7
9
 
8
10
  fetch_data: function () {
@@ -33,6 +35,9 @@ $(function () {
33
35
  case "environment":
34
36
  Status.handle_environment();
35
37
  break;
38
+ case "task":
39
+ Status.handle_task();
40
+ break;
36
41
  case "tool":
37
42
  Status.handle_tool();
38
43
  break;
@@ -385,6 +390,120 @@ $(function () {
385
390
  });
386
391
  },
387
392
 
393
+ handle_task: function () {
394
+ if (!document.getElementById("task_content")) {
395
+ let ht_html =[];
396
+ ht_html.push('<div class="page-header" style="margin-top: 15px; text-align: center;">');
397
+ ht_html.push('<div class="form-inline">');
398
+ ht_html.push('<div class="form-group">');
399
+ ht_html.push('<input data-toggle="tooltip" data-placement="top" title="要执行的任务内容" placeholder="要执行的任务内容" value="" type="text" class="form-control" id="task_content" autocomplete="off" />');
400
+ ht_html.push('</div>&nbsp;');
401
+ ht_html.push('<button class="btn btn-default" id="task_add">添加任务</button>');
402
+ ht_html.push('<input type="checkbox" id="is_refresh_task"> 定时刷新数据');
403
+ ht_html.push('&nbsp;<span id="task_tips"></span>');
404
+ ht_html.push('</div>');
405
+ ht_html.push('<form class="form-horizontal" style="margin-top: 10px;">');
406
+ ht_html.push('<div class="form-group" id="task_result_zone"></div>');
407
+ ht_html.push('</form>');
408
+ ht_html.push('</div>');
409
+ $("#task_div").html(ht_html.join(""));
410
+ $("#task_add").click(function() {
411
+ let task_content = $("#task_content").val();
412
+ if (task_content) {
413
+ $("#task_content").prop('disabled', true);
414
+ $("#task_add").prop('disabled', true);
415
+ Util.show_loading();
416
+ $("#task_tips").html("");
417
+ Util.post(location.pathname, {active_div: "task_add", "task_content": task_content}, function (j) {
418
+ if (j["code"] && j["code"] === 1) {
419
+ Status.task_status = 1;
420
+ $("#task_add").html('任务处理中...').removeClass("btn-default").addClass("btn-warning");
421
+ if (!document.getElementById("task_result")) {
422
+ $("#task_result_zone").html('<textarea rows="20" id="task_result" class="form-control"></textarea>');
423
+ }
424
+ $("#task_result").val("任务 `" + task_content + "` 处理中...");
425
+ if ($("#is_refresh_task").prop("checked")) {
426
+ Status.task_timer_id = setTimeout(function () {
427
+ Status.fetch_task_data();
428
+ }, 3456);
429
+ }
430
+ } else {
431
+ Status.task_status = 0;
432
+ if (j["code"] && j["code"] === 2) {
433
+ $("#task_tips").html("<b class='text-danger'>已添加新任务在处理中!</b>");
434
+ } else if (j["code"] && j["code"] === 3) {
435
+ $("#task_tips").html("<b class='text-danger'>有任务在执行中!</b>");
436
+ } else {
437
+ $("#task_tips").html("<b class='text-danger'>参数异常!</b>");
438
+ }
439
+ $("#task_content").prop('disabled', false);
440
+ $("#task_add").prop('disabled', false);
441
+ }
442
+ Util.hide_tips();
443
+ });
444
+ } else {
445
+ $("#task_tips").html("<b class='text-danger'>任务内容不能为空!</b>");
446
+ }
447
+ return false;
448
+ });
449
+ $("#is_refresh_task").click(function() {
450
+ if (Status.task_status > 0) {
451
+ clearTimeout(Status.task_timer_id);
452
+ if ($("#is_refresh_task").prop("checked")) {
453
+ Status.fetch_task_data();
454
+ }
455
+ }
456
+ });
457
+ }
458
+ Status.fetch_task_data();
459
+ },
460
+
461
+ fetch_task_data: function() {
462
+ Util.post(location.pathname, {active_div: localStorage[Status.tab_token]}, function (j) {
463
+ if (j["code"] && j["code"] > 1 && j["content"]) {
464
+ let ta_obj = $("#task_add");
465
+ let tc_obj = $("#task_content");
466
+ tc_obj.val(j["content"]);
467
+ if (j["code"] === 4) {
468
+ if (Status.task_status > 0) {
469
+ clearTimeout(Status.task_timer_id);
470
+ }
471
+ Status.task_status = 0;
472
+ ta_obj.html('添加任务').prop('disabled', false).removeClass("btn-warning").addClass("btn-default");
473
+ tc_obj.prop('disabled', false);
474
+ $("#task_tips").html("<b class='text-success'>任务 `" + j["content"] + "` 已经完成!</b>");
475
+ } else {
476
+ Status.task_status = 1;
477
+ ta_obj.html('任务处理中...').prop('disabled', true).removeClass("btn-default").addClass("btn-warning");
478
+ tc_obj.prop('disabled', true);
479
+ if ($("#is_refresh_task").prop("checked")) {
480
+ Status.task_timer_id = setTimeout(function () {
481
+ Status.fetch_task_data();
482
+ }, 3456);
483
+ }
484
+ }
485
+ if (!document.getElementById("task_result")) {
486
+ $("#task_result_zone").html('<textarea rows="20" id="task_result" class="form-control"></textarea>');
487
+ }
488
+ let tr_obj = $("#task_result");
489
+ if (j["result"]) {
490
+ tr_obj.val(j["result"]);
491
+ tr_obj.scrollTop(tr_obj[0].scrollHeight);
492
+ } else {
493
+ if (j["code"] !== 4) {
494
+ tr_obj.val("任务 `" + j["content"] + "` 处理中...");
495
+ }
496
+ }
497
+ } else {
498
+ if (Status.task_status > 0) {
499
+ clearTimeout(Status.task_timer_id);
500
+ }
501
+ Status.task_status = 0;
502
+ }
503
+ Util.hide_tips();
504
+ });
505
+ },
506
+
388
507
  handle_tool: function () {
389
508
  let t_obj = $("#timestamp");
390
509
  let t_val = t_obj.val();