Outjob.php 6.4 KB

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