1
0

Task.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. namespace app\admin\controller;
  3. use think\Db;
  4. class Task extends Base
  5. {
  6. public function __construct()
  7. {
  8. parent::__construct();
  9. }
  10. // 任务列表
  11. public function data()
  12. {
  13. $param = input();
  14. $param['page'] = intval($param['page']) < 1 ? 1 : $param['page'];
  15. $param['limit'] = intval($param['limit']) < 1 ? $this->_pagesize : $param['limit'];
  16. $where = [];
  17. if (in_array($param['status'], ['0', '1'], true)) {
  18. $where['task_status'] = ['eq', $param['status']];
  19. }
  20. if (!empty($param['type'])) {
  21. $where['task_type'] = ['eq', intval($param['type'])];
  22. }
  23. if (!empty($param['wd'])) {
  24. $param['wd'] = htmlspecialchars(urldecode($param['wd']));
  25. $where['task_name|task_action'] = ['like', '%' . $param['wd'] . '%'];
  26. }
  27. $order = 'task_type asc, task_sort asc, task_id asc';
  28. $res = model('Task')->listData($where, $order, $param['page'], $param['limit']);
  29. $this->assign('list', $res['list']);
  30. $this->assign('total', $res['total']);
  31. $this->assign('page', $res['page']);
  32. $this->assign('limit', $res['limit']);
  33. $param['page'] = '{page}';
  34. $param['limit'] = '{limit}';
  35. $this->assign('param', $param);
  36. $this->assign('title', lang('task/admin_title'));
  37. return $this->fetch('admin@task/index');
  38. }
  39. // 任务编辑
  40. public function info()
  41. {
  42. if (request()->isPost()) {
  43. $param = input();
  44. $res = model('Task')->saveData($param);
  45. if ($res['code'] > 1) {
  46. return $this->error($res['msg']);
  47. }
  48. return $this->success($res['msg']);
  49. }
  50. $param = input();
  51. $info = [];
  52. if (!empty($param['id'])) {
  53. $where = [];
  54. $where['task_id'] = ['eq', $param['id']];
  55. $res = model('Task')->infoData($where);
  56. if ($res['code'] == 1) {
  57. $info = $res['info'];
  58. }
  59. }
  60. $this->assign('info', $info);
  61. $this->assign('title', lang('task/admin_title'));
  62. return $this->fetch('admin@task/info');
  63. }
  64. // 删除任务
  65. public function del()
  66. {
  67. $param = input();
  68. $ids = $param['ids'];
  69. if (!empty($ids)) {
  70. $where = [];
  71. $where['task_id'] = ['in', $ids];
  72. $res = model('Task')->delData($where);
  73. if ($res['code'] > 1) {
  74. return $this->error($res['msg']);
  75. }
  76. return $this->success($res['msg']);
  77. }
  78. return $this->error(lang('param_err'));
  79. }
  80. // 修改状态
  81. public function field()
  82. {
  83. $param = input();
  84. $ids = $param['ids'];
  85. $col = $param['col'];
  86. $val = $param['val'];
  87. if (!empty($ids) && in_array($col, ['task_status'])) {
  88. $where = [];
  89. $where['task_id'] = ['in', $ids];
  90. $res = model('Task')->fieldData($where, $col, $val);
  91. if ($res['code'] > 1) {
  92. return $this->error($res['msg']);
  93. }
  94. return $this->success($res['msg']);
  95. }
  96. return $this->error(lang('param_err'));
  97. }
  98. // 任务记录列表
  99. public function log()
  100. {
  101. $param = input();
  102. $param['page'] = intval($param['page']) < 1 ? 1 : $param['page'];
  103. $param['limit'] = intval($param['limit']) < 1 ? $this->_pagesize : $param['limit'];
  104. $where = [];
  105. if (!empty($param['uid'])) {
  106. $where['user_id'] = ['eq', intval($param['uid'])];
  107. }
  108. if (!empty($param['task_id'])) {
  109. $where['task_id'] = ['eq', intval($param['task_id'])];
  110. }
  111. if (in_array($param['status'], ['0', '1', '2'], true)) {
  112. $where['log_status'] = ['eq', $param['status']];
  113. }
  114. $order = 'log_id desc';
  115. $res = model('TaskLog')->listData($where, $order, $param['page'], $param['limit']);
  116. $this->assign('list', $res['list']);
  117. $this->assign('total', $res['total']);
  118. $this->assign('page', $res['page']);
  119. $this->assign('limit', $res['limit']);
  120. $param['page'] = '{page}';
  121. $param['limit'] = '{limit}';
  122. $this->assign('param', $param);
  123. $this->assign('title', lang('task/admin_log_title'));
  124. return $this->fetch('admin@task/log');
  125. }
  126. // 删除任务记录
  127. public function log_del()
  128. {
  129. $param = input();
  130. $ids = $param['ids'];
  131. $all = $param['all'];
  132. if (!empty($ids) || !empty($all)) {
  133. $where = [];
  134. $where['log_id'] = ['in', $ids];
  135. if ($all == 1) {
  136. $where['log_id'] = ['gt', 0];
  137. }
  138. $res = model('TaskLog')->delData($where);
  139. if ($res['code'] > 1) {
  140. return $this->error($res['msg']);
  141. }
  142. return $this->success($res['msg']);
  143. }
  144. return $this->error(lang('param_err'));
  145. }
  146. }