Grade.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\AdminBaseController;
  4. use app\common\model\GradeModel;
  5. use app\common\model\GradePartyModel;
  6. use app\common\service\QrcodeService;
  7. class Grade extends AdminBaseController
  8. {
  9. /**
  10. * 列表
  11. */
  12. public function index()
  13. {
  14. $file_url = QrcodeService::getQrcode('grade_index.png', url('/mobile/grade/login'), 600);
  15. return view('', [
  16. 'is_final_list' => GradeModel::IS_FINAL,
  17. 'file_url' => $file_url,
  18. ]);
  19. }
  20. public function listGrade()
  21. {
  22. $map = $this->dealEqualInput(['is_final'], $this->dealLikeInput(['name', 'no', 'company']));
  23. $list = GradeModel::where($map)
  24. ->order(['rank' => 'asc'])
  25. ->limit(input('limit'))
  26. ->page(input('page'))
  27. ->append(['is_final_text'])
  28. ->select();
  29. $count = GradeModel::where($map)->count();
  30. if ($count == 0) {
  31. ajax_return(1, '未查询到数据');
  32. }
  33. list_return($list, $count);
  34. }
  35. public function delGrade()
  36. {
  37. $id_arr = input('id_arr/a');
  38. GradeModel::destroy($id_arr);
  39. ajax_return();
  40. }
  41. /**
  42. * 编辑
  43. */
  44. public function gradeForm()
  45. {
  46. $id = input('id/d, 0');
  47. $info = GradeModel::find($id);
  48. return view('', [
  49. 'info' => $info,
  50. 'is_final_list' => GradeModel::IS_FINAL,
  51. ]);
  52. }
  53. public function editGrade()
  54. {
  55. $data = input('post.');
  56. if (empty($data['id'])) {
  57. GradeModel::create($data);
  58. } else {
  59. GradeModel::update($data, ['id' => $data['id']]);
  60. }
  61. ajax_return();
  62. }
  63. /**
  64. * 用户导入
  65. */
  66. public function import()
  67. {
  68. return view('public/import', [
  69. 'url' => url('grade/importPost'),
  70. 'last_table' => 'lay-grade-index-table',
  71. 'template_file' => '/static/common/exl/grade.xls',
  72. ]);
  73. }
  74. /**
  75. * 用户导入提交
  76. */
  77. public function importPost()
  78. {
  79. $file_url = input('file_url/s', "");
  80. if (!file_exists($file_url)) {
  81. ajax_return(1, '文件不存在');
  82. }
  83. //初始化数据
  84. $data = ['no', 'name', 'company', 'theory_score', 'computer_score', 'total_score', 'rank', 'is_final'];
  85. $list = import_exl($file_url, $data, 1);
  86. if (empty($list)) {
  87. ajax_return(1, '请上传有数据的文件');
  88. }
  89. foreach ($list as &$v) {
  90. $v['total_score'] = $v['theory_score'] + $v['computer_score'];
  91. $v['name'] = str_replace(' ','',$v['name']);
  92. }
  93. unset($v);
  94. GradeModel::insertAll($list);
  95. ajax_return(0);
  96. }
  97. /**
  98. * 党务列表
  99. */
  100. public function party()
  101. {
  102. $file_url = QrcodeService::getQrcode('grade_party.png', url('/mobile/grade_party/login'), 600);
  103. return view('', [
  104. 'file_url' => $file_url,
  105. ]);
  106. }
  107. public function listParty()
  108. {
  109. $map = $this->dealLikeInput(['name', 'mobile']);
  110. $list = GradePartyModel::where($map)
  111. ->limit(input('limit'))
  112. ->page(input('page'))
  113. ->select();
  114. $count = GradePartyModel::where($map)->count();
  115. if ($count == 0) {
  116. ajax_return(1, '未查询到数据');
  117. }
  118. list_return($list, $count);
  119. }
  120. public function delParty()
  121. {
  122. $id_arr = input('id_arr/a');
  123. GradePartyModel::destroy($id_arr);
  124. ajax_return();
  125. }
  126. /**
  127. * 编辑
  128. */
  129. public function partyForm()
  130. {
  131. $id = input('id/d, 0');
  132. $info = GradePartyModel::find($id);
  133. return view('', [
  134. 'info' => $info,
  135. ]);
  136. }
  137. public function editParty()
  138. {
  139. $data = input('post.');
  140. if (empty($data['id'])) {
  141. GradePartyModel::create($data);
  142. } else {
  143. GradePartyModel::update($data, ['id' => $data['id']]);
  144. }
  145. ajax_return();
  146. }
  147. /**
  148. * 用户导入
  149. */
  150. public function importParty()
  151. {
  152. return view('public/import', [
  153. 'url' => url('grade/importPartyPost'),
  154. 'last_table' => 'lay-grade-party-table',
  155. 'template_file' => '/static/common/exl/grade_party.xls',
  156. ]);
  157. }
  158. /**
  159. * 用户导入提交
  160. */
  161. public function importPartyPost()
  162. {
  163. $file_url = input('file_url/s', "");
  164. if (!file_exists($file_url)) {
  165. ajax_return(1, '文件不存在');
  166. }
  167. //初始化数据
  168. $data = ['no', 'name', 'mobile', 'score'];
  169. $list = import_exl($file_url, $data, 1);
  170. if (empty($list)) {
  171. ajax_return(1, '请上传有数据的文件');
  172. }
  173. GradePartyModel::insertAll($list);
  174. ajax_return(0);
  175. }
  176. }