Grade.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\AdminBaseController;
  4. use app\common\model\GradeModel;
  5. use app\common\service\QrcodeService;
  6. class Grade extends AdminBaseController
  7. {
  8. /**
  9. * 列表
  10. */
  11. public function index()
  12. {
  13. $file_url = QrcodeService::getQrcode('grade_index', url('/mobile/grade/login'), 600);
  14. return view('', [
  15. 'is_final_list' => GradeModel::IS_FINAL,
  16. 'file_url' => $file_url,
  17. ]);
  18. }
  19. public function listGrade()
  20. {
  21. $map = $this->dealEqualInput(['is_final'], $this->dealLikeInput(['name', 'no', 'company']));
  22. $list = GradeModel::where($map)
  23. ->order(['rank' => 'asc'])
  24. ->limit(input('limit'))
  25. ->page(input('page'))
  26. ->append(['is_final_text'])
  27. ->select();
  28. $count = GradeModel::where($map)->count();
  29. if ($count == 0) {
  30. ajax_return(1, '未查询到数据');
  31. }
  32. list_return($list, $count);
  33. }
  34. public function delGrade()
  35. {
  36. $id_arr = input('id_arr/a');
  37. GradeModel::destroy($id_arr);
  38. ajax_return();
  39. }
  40. /**
  41. * 编辑
  42. */
  43. public function gradeForm()
  44. {
  45. $id = input('id/d, 0');
  46. $info = GradeModel::find($id);
  47. return view('', [
  48. 'info' => $info,
  49. 'is_final_list' => GradeModel::IS_FINAL,
  50. ]);
  51. }
  52. public function editGrade()
  53. {
  54. $data = input('post.');
  55. if (empty($data['id'])) {
  56. GradeModel::create($data);
  57. } else {
  58. GradeModel::update($data, ['id' => $data['id']]);
  59. }
  60. ajax_return();
  61. }
  62. /**
  63. * 用户导入
  64. */
  65. public function import()
  66. {
  67. return view('public/import', [
  68. 'url' => url('grade/importPost'),
  69. 'last_table' => 'lay-grade-index-table',
  70. 'template_file' => '/static/common/exl/grade.xls',
  71. ]);
  72. }
  73. /**
  74. * 用户导入提交
  75. */
  76. public function importPost()
  77. {
  78. $file_url = input('file_url/s', "");
  79. if (!file_exists($file_url)) {
  80. ajax_return(1, '文件不存在');
  81. }
  82. //初始化数据
  83. $data = ['no', 'name', 'company', 'theory_score', 'computer_score', 'total_score', 'rank', 'is_final'];
  84. $list = import_exl($file_url, $data, 1);
  85. if (empty($list)) {
  86. ajax_return(1, '请上传有数据的文件');
  87. }
  88. foreach ($list as &$v) {
  89. $v['total_score'] = $v['theory_score'] + $v['computer_score'];
  90. $v['name'] = str_replace(' ','',$v['name']);
  91. }
  92. unset($v);
  93. GradeModel::insertAll($list);
  94. ajax_return(0);
  95. }
  96. }