Outjob.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\BaseController;
  4. use app\common\model\AgentMarket as AgentMarketModel;
  5. use app\common\model\OutRecruit as OutRecruitModel;
  6. use app\common\model\OutRecruitReport as OutRecruitReportModel;
  7. use think\facade\Request;
  8. class Outjob extends BaseController
  9. {
  10. /**
  11. * 招聘信息
  12. */
  13. public function index()
  14. {
  15. if (Request::isAjax()) {
  16. $limit = input('limit/d', 20);
  17. $page = input('page/d', 1);
  18. $map = [];
  19. $keywords = input('keywords/s', "");
  20. if (!empty($keywords)) {
  21. $map[] = ['title', 'like', '%' . $keywords . '%'];
  22. }
  23. $status = input('status/d');
  24. if (!empty($status)) {
  25. $map[] = ['status', '=', $status];
  26. }
  27. $list = OutRecruitModel::where($map)
  28. ->order(['priority' => 'desc', 'id' => 'desc'])
  29. ->limit($limit)
  30. ->page($page)
  31. ->append(['status_text'])
  32. ->select();
  33. $count = OutRecruitModel::where($map)->count();
  34. if ($count == 0) {
  35. exit(json_encode([
  36. 'code' => 1,
  37. 'msg' => "未查询到数据",
  38. ]));
  39. }
  40. exit(json_encode([
  41. 'code' => 0,
  42. 'msg' => "",
  43. 'count' => $count,
  44. 'data' => $list,
  45. ]));
  46. } else {
  47. return view('outjob/index');
  48. }
  49. }
  50. public function recruitform()
  51. {
  52. $id = input('id/d, 0');
  53. $recruit = OutRecruitModel::findOrEmpty($id);
  54. return view('outjob/recruitform', [
  55. 'recruit' => $recruit,
  56. ]);
  57. }
  58. public function editrecruit()
  59. {
  60. $id = input('id/d', 0);
  61. $data = [
  62. 'title' => input('title/s', ""),
  63. 'company_name' => input('company_name/s', ""),
  64. 'num' => input('num/d', 1),
  65. 'province' => input('province/s', ""),
  66. 'city' => input('city/s', ""),
  67. 'district' => input('district/s', ""),
  68. 'address' => input('address/s', ""),
  69. 'agegroup' => input('agegroup/s', ""),
  70. 'tags' => input('tags/a', []),
  71. 'requirement' => input('requirement/s', ""),
  72. 'comdetails' => input('comdetails/s', ""),
  73. 'picall' => input('picall/a', []),
  74. 'salary' => input('salary/s', ""),
  75. 'telephone' => input('telephone/s', ""),
  76. 'remark' => input('remark/s', ""),
  77. 'status' => input('status/d', 1),
  78. 'priority' => input('priority/d', 255),
  79. 'volume' => input('volume/d', 0),
  80. 'market_content' => input('market_content/s', ""),
  81. 'is_bargain' => input('is_bargain/d', 1),
  82. 'updatetime' => time(),
  83. ];
  84. if (empty($id)) {
  85. $data['createtime'] = time();
  86. OutRecruitModel::create($data);
  87. } else {
  88. OutRecruitModel::update($data, ['id' => $id]);
  89. }
  90. exit(json_encode([
  91. 'code' => 0,
  92. ]));
  93. }
  94. public function delrecruit()
  95. {
  96. $id = input('id/d');
  97. $res = OutRecruitReportModel::where('recruit_id', $id)->find();
  98. if (!empty($res)) {
  99. exit(json_encode([
  100. 'code' => 1,
  101. 'msg' => "已有报备记录,无法删除",
  102. ]));
  103. }
  104. OutRecruitModel::destroy($id);
  105. exit(json_encode([
  106. 'code' => 0,
  107. ]));
  108. }
  109. public function report()
  110. {
  111. $id = input('id/d', 0);
  112. if (Request::isAjax()) {
  113. $limit = input('limit/d', 20);
  114. $page = input('page/d', 1);
  115. $map = [
  116. ['recruit_id', '=', $id],
  117. ];
  118. $status = input('status/d');
  119. if (!empty($status)) {
  120. $map[] = ['status', '=', $status];
  121. }
  122. $list = OutRecruitReportModel::with(['broker'])
  123. ->where($map)
  124. ->order(['createtime' => 'desc'])
  125. ->limit($limit)
  126. ->page($page)
  127. ->append(['status_text'])
  128. ->select();
  129. $count = OutRecruitReportModel::where($map)->count();
  130. if ($count == 0) {
  131. exit(json_encode([
  132. 'code' => 1,
  133. 'msg' => "未查询到数据",
  134. ]));
  135. }
  136. exit(json_encode([
  137. 'code' => 0,
  138. 'msg' => "",
  139. 'count' => $count,
  140. 'data' => $list,
  141. ]));
  142. } else {
  143. return view('outjob/report', ['id' => $id]);
  144. }
  145. }
  146. public function dealreport()
  147. {
  148. $id = input('id/d', 0);
  149. if (Request::isAjax()) {
  150. $data = [
  151. 'status' => input('status/d', 1),
  152. 'retremark' => input('retremark/s', ''),
  153. ];
  154. OutRecruitReportModel::update($data, ['id' => $id]);
  155. exit(json_encode([
  156. 'code' => 0,
  157. ]));
  158. } else {
  159. $report = OutRecruitReportModel::find($id);
  160. return view('outjob/dealreport', ['report' => $report]);
  161. }
  162. }
  163. public function market()
  164. {
  165. if (Request::isAjax()) {
  166. $limit = input('limit/d', 20);
  167. $page = input('page/d', 1);
  168. $list = AgentMarketModel::limit($limit)
  169. ->page($page)
  170. ->append(['is_bargain_text'])
  171. ->select();
  172. $count = AgentMarketModel::count();
  173. if ($count == 0) {
  174. exit(json_encode([
  175. 'code' => 1,
  176. 'msg' => "未查询到数据",
  177. ]));
  178. }
  179. exit(json_encode([
  180. 'code' => 0,
  181. 'msg' => "",
  182. 'count' => $count,
  183. 'data' => $list,
  184. ]));
  185. } else {
  186. return view('outjob/market');
  187. }
  188. }
  189. }