Previous.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\AdminBaseController;
  4. use app\common\model\PreviousModel;
  5. use app\common\model\PreviousYearModel;
  6. use app\common\validate\PreviousValidate;
  7. use think\exception\ValidateException;
  8. class Previous extends AdminBaseController
  9. {
  10. /**
  11. * 列表
  12. */
  13. public function index()
  14. {
  15. $year_list = PreviousYearModel::order(['priority' => 'desc'])->select();
  16. return view('', [
  17. 'year_list' => $year_list,
  18. 'status_list' => PreviousModel::STATUS,
  19. 'month_list' => PreviousModel::MONTH,
  20. ]);
  21. }
  22. public function listPrevious()
  23. {
  24. $map = $this->dealEqualInput(['status', 'month']);
  25. $list = PreviousModel::with(['previous_year'])
  26. ->where($map)
  27. ->order(['priority' => 'desc', 'id' => 'desc'])
  28. ->limit(input('limit'))
  29. ->page(input('page'))
  30. ->append(['status_text', 'month_text'])
  31. ->select();
  32. $count = PreviousModel::where($map)->count();
  33. if ($count == 0) {
  34. ajax_return(1, '未查询到数据');
  35. }
  36. list_return($list, $count);
  37. }
  38. public function delPrevious()
  39. {
  40. $id_arr = input('id_arr/a');
  41. PreviousModel::destroy($id_arr);
  42. ajax_return();
  43. }
  44. /**
  45. * 编辑
  46. */
  47. public function previousForm()
  48. {
  49. $id = input('id/d', 0);
  50. $info = PreviousModel::find($id);
  51. $year_list = PreviousYearModel::order(['priority' => 'desc'])->select();
  52. return view('', [
  53. 'info' => $info,
  54. 'year_list' => $year_list,
  55. 'status_list' => PreviousModel::STATUS,
  56. 'month_list' => PreviousModel::MONTH,
  57. ]);
  58. }
  59. public function editPrevious()
  60. {
  61. $data = input('post.');
  62. try {
  63. validate(PreviousValidate::class)->check($data);
  64. } catch (ValidateException $e) {
  65. ajax_return(1, $e->getError());
  66. }
  67. if (empty($data['id'])) {
  68. PreviousModel::create($data);
  69. } else {
  70. PreviousModel::update($data, ['id' => $data['id']]);
  71. }
  72. ajax_return();
  73. }
  74. /**
  75. * 往期回顾年份
  76. */
  77. public function year()
  78. {
  79. return view('');
  80. }
  81. public function listYear()
  82. {
  83. $list = PreviousYearModel::order(['priority' => 'desc'])
  84. ->limit(input('limit'))
  85. ->page(input('page'))
  86. ->select();
  87. $count = PreviousModel::count();
  88. if ($count == 0) {
  89. ajax_return(1, '未查询到数据');
  90. }
  91. list_return($list, $count);
  92. }
  93. public function yearForm()
  94. {
  95. $id = input('id/d', 0);
  96. $info = PreviousYearModel::find($id);
  97. return view('', [
  98. 'info' => $info,
  99. ]);
  100. }
  101. public function editYear()
  102. {
  103. $data = input('post.');
  104. if (empty($data['id'])) {
  105. PreviousYearModel::create($data);
  106. } else {
  107. PreviousYearModel::update($data, ['id' => $data['id']]);
  108. }
  109. ajax_return();
  110. }
  111. public function delYear()
  112. {
  113. $id = input('id/d', 0);
  114. $check = PreviousModel::where('year_id', $id)->find();
  115. if (!empty($check)) {
  116. ajax_return(1, '该年份下有往期回顾,无法删除,请先删除往期回顾!');
  117. }
  118. PreviousYearModel::destroy($id);
  119. ajax_return();
  120. }
  121. }