Demand.php 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777
  1. <?php
  2. namespace app\worker\controller;
  3. use app\worker\BaseController;
  4. use app\common\model\Param as ParamModel;
  5. use app\common\model\Demand as DemandModel;
  6. use app\common\model\DemandOther as DemandOtherModel;
  7. use app\common\model\DemandCate as DemandCateModel;
  8. use app\common\model\DemandLog as DemandLogModel;
  9. use app\common\model\User as UserModel;
  10. use app\common\model\UserIntegral as UserIntegralModel;
  11. use app\common\validate\Demand as DemandValidate;
  12. use think\exception\ValidateException;
  13. use think\facade\Session;
  14. use think\facade\Db;
  15. use think\facade\Request;
  16. class Demand extends BaseController
  17. {
  18. // 我的报名记录
  19. public function logList()
  20. {
  21. $workerid = $this->access_worker['id'];
  22. $workerid = 89;
  23. $data = Db::name("demand_log")
  24. ->alias('a')
  25. ->field('c.ftitle,b.title,a.id,a.gworkerid,a.demandid')
  26. ->where('a.workerid', $workerid)
  27. ->join('demand b', 'a.demandid = b.id', 'LEFT')
  28. ->join('worker c', 'a.gworkerid = c.id', 'LEFT')
  29. ->select()
  30. ->toArray();
  31. $gworker_data = assoc_unique($data, 'gworkerid');
  32. $demand_data = assoc_unique($data, 'demandid');
  33. return view('demand/loglist', [
  34. 'gworker_data' => $gworker_data,
  35. 'demand_data' => $demand_data,
  36. ]);
  37. }
  38. public function delLog()
  39. {
  40. $idarr = input('idarr/a');
  41. $workerid = $this->access_worker['id'];
  42. $workerid = 89;
  43. $res = Db::name('demand_log')
  44. ->where('workerid', $workerid)
  45. ->whereIn('id', $idarr)
  46. ->update(['del_status' => (int)2]);
  47. if ($res) {
  48. exit(json_encode([
  49. 'code' => 0,
  50. 'msg' => "",
  51. ]));
  52. }
  53. exit(json_encode([
  54. 'code' => 1,
  55. 'msg' => "删除失败,请稍后重试",
  56. ]));
  57. }
  58. public function fieldLog()
  59. {
  60. $id = input('id/d', 0);
  61. $log = DemandLogModel::findOrEmpty($id);
  62. if ($log->isEmpty()) {
  63. exit(json_encode([
  64. 'code' => 1,
  65. 'msg' => "信息不存在",
  66. ]));
  67. } else {
  68. $log->save([
  69. input('field/s') => input('value'),
  70. ]);
  71. }
  72. exit(json_encode([
  73. 'code' => 0,
  74. ]));
  75. }
  76. public function listLog()
  77. {
  78. $limit = input('limit/d', 20);
  79. $page = input('page/d', 1);
  80. $map = [];
  81. $gworkerid = input('gworkerid/d');
  82. $demandid = input('demandid/d');
  83. $workerid = $this->access_worker['id'];
  84. $workerid = 89;
  85. $map[] = ['workerid', '=', $workerid];
  86. $map[] = ['del_status', '=', 1];
  87. if (!empty($gworkerid)) {
  88. $map[] = ['gworkerid', '=', $gworkerid];
  89. }
  90. if (!empty($demandid)) {
  91. $map[] = ['demandid', '=', $demandid];
  92. }
  93. $list = DemandLogModel::with(['gworker', 'worker', 'demand'])->where($map)->order('id', 'DESC')->limit($limit)->page($page)->select();
  94. $count = DemandLogModel::where($map)->count();
  95. if ($count == 0) {
  96. exit(json_encode([
  97. 'code' => 1,
  98. 'msg' => "未查询到数据",
  99. ]));
  100. }
  101. exit(json_encode([
  102. 'code' => 0,
  103. 'msg' => "",
  104. 'count' => $count,
  105. 'data' => $list,
  106. ]));
  107. }
  108. public function exportLog()
  109. {
  110. $map = [];
  111. $workerdemandarr = explode(",", input('workerdemand/s'));
  112. $workerid = isset($workerdemandarr[0]) ? $workerdemandarr[0] : 0;
  113. $demandid = isset($workerdemandarr[1]) ? $workerdemandarr[1] : 0;
  114. if (!empty($workerid)) {
  115. $map[] = ['workerid', '=', $workerid];
  116. }
  117. if (!empty($demandid)) {
  118. $map[] = ['demandid', '=', $demandid];
  119. }
  120. $xlsData = DemandLogModel::with(['gworker', 'worker', 'demand'])->where($map)->order('id', 'DESC')->select()->toArray();
  121. $xlsCell = [
  122. ['id', '表ID'],
  123. ['gworker.title', '接单公司名称'],
  124. ['gworker.realname', '接单公司联系人姓名'],
  125. ['gworker.mobile', '接单公司联系人手机号'],
  126. ['worker.title', '发单公司'],
  127. ['demand.title', '订单标题'],
  128. ['createtime', '接单时间'],
  129. ];
  130. export_excel("接单报名记录", $xlsCell, $xlsData);
  131. }
  132. // 企业招聘
  133. public function demandList()
  134. {
  135. if (Request::isAjax()) {
  136. $limit = input('limit/d', 20);
  137. $page = input('page/d', 1);
  138. $map = [];
  139. $workerid = $this->access_worker['id'];
  140. $map[] = ['workerid', '=', $workerid];
  141. $keywords = input('keywords/s', "");
  142. if (!empty($keywords)) {
  143. $map[] = ['title', 'like', '%' . $keywords . '%'];
  144. }
  145. $cateid = input('cateid/d', 0);
  146. if (!empty($cateid)) {
  147. $map[] = ['cateid', '=', $cateid];
  148. }
  149. $wtype = input('wtype/d');
  150. if (!empty($wtype)) {
  151. $map[] = ['wtype', '=', $wtype];
  152. }
  153. $ftype = input('ftype/d');
  154. if (!empty($ftype)) {
  155. $map[] = ['ftype', '=', $ftype];
  156. }
  157. $status = input('status/d');
  158. if (!empty($status)) {
  159. $map[] = ['status', '=', $status];
  160. } else {
  161. $map[] = ['status', '<', 6];
  162. }
  163. $isfree = input('isfree/d', 0);
  164. if (!empty($isfree)) {
  165. $map[] = ['isfree', '=', $isfree];
  166. }
  167. $list = DemandModel::with(['worker', 'demandCate'])
  168. ->withCount(['demandLog'])
  169. ->where($map)
  170. ->order(['priority' => 'desc', 'id' => 'desc',])
  171. ->limit($limit)
  172. ->page($page)
  173. ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
  174. ->select();
  175. $count = DemandModel::where($map)->count();
  176. if ($count == 0) {
  177. exit(json_encode([
  178. 'code' => 1,
  179. 'msg' => "未查询到数据",
  180. ]));
  181. }
  182. exit(json_encode([
  183. 'code' => 0,
  184. 'msg' => "",
  185. 'count' => $count,
  186. 'data' => $list,
  187. ]));
  188. } else {
  189. $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
  190. $param = ParamModel::where(1)->findOrEmpty();
  191. $access_worker = Session::get('access_worker');
  192. $is_released = 1;
  193. if ($access_worker['status'] == 1) {
  194. $is_released = is_released($access_worker['id']);
  195. }
  196. return view('demand/demandlist', [
  197. 'param' => $param,
  198. 'catelist' => $catelist,
  199. 'wtype' => $access_worker['wtype'],
  200. 'is_released' => $is_released['code'],
  201. ]);
  202. }
  203. }
  204. public function demandForm()
  205. {
  206. $worker_data = Session::get('access_worker');
  207. $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
  208. return view('demand/demandform', [
  209. 'catelist' => $catelist,
  210. 'title' => $worker_data['title'],
  211. ]);
  212. }
  213. public function demandFormWyd()
  214. {
  215. $worker_data = Session::get('access_worker');
  216. $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
  217. return view('demand/demandformwyd', [
  218. 'catelist' => $catelist,
  219. 'title' => $worker_data['title'],
  220. ]);
  221. }
  222. //修改订单状态
  223. public function editDemandStatus()
  224. {
  225. $id = input('id/d', 0);
  226. $workerid = $this->access_worker['id'];
  227. if (Request::isAjax()) {
  228. $status = input('status/d', 0);
  229. $res = Db::name("demand")
  230. ->where('workerid', $workerid)
  231. ->where('id', $id)
  232. ->update(['status' => $status]);
  233. if ($res) {
  234. exit(json_encode([
  235. 'code' => 0,
  236. ]));
  237. }
  238. } else {
  239. $data = Db::name('demand')
  240. ->field('id,workerid,title,status')
  241. ->where('workerid', $workerid)
  242. ->where('id', $id)
  243. ->find();
  244. if ($data['status'] == 1) {
  245. $data['status_text'] = '待修改';
  246. } elseif ($data['status'] == 2) {
  247. $data['status_text'] = '待审核';
  248. } elseif ($data['status'] == 3) {
  249. $data['status_text'] = '已上架';
  250. } elseif ($data['status'] == 4) {
  251. $data['status_text'] = '已停招';
  252. } elseif ($data['status'] == 5) {
  253. $data['status_text'] = '已下架';
  254. } elseif ($data['status'] == 6) {
  255. $data['status_text'] = '已删除';
  256. }
  257. return view('demand/editdemandstatus', [
  258. 'data' => $data,
  259. ]);
  260. }
  261. }
  262. public function editDemand()
  263. {
  264. $id = input('id/d', 0);
  265. $workerid = $this->access_worker['id'];
  266. $user = UserModel::findOrEmpty($this->access_worker['userid']);
  267. $param = ParamModel::where(1)->findOrEmpty();
  268. if ($user->isEmpty()) {
  269. exit(json_encode([
  270. 'code' => 1,
  271. 'msg' => "用户信息不存在",
  272. ]));
  273. }
  274. $wtype = input('wtype/d', 1);
  275. $type = input('type/d', 1);
  276. $zwagall = $wtype == 1 ? input('zwagall/s', "") : '';
  277. $data = [
  278. 'workerid' => $workerid,
  279. 'title' => input('title/s', ""),
  280. 'num' => input('num/d', 1),
  281. 'cateid' => input('cateid/d', 0),
  282. 'province' => input('province/s', ""),
  283. 'city' => input('city/s', ""),
  284. 'district' => input('district/s', ""),
  285. 'agegroup' => input('agegroup/s', ""),
  286. 'tags' => input('tags/a', []),
  287. 'enddate' => input('enddate/s', ""),
  288. 'requirement' => input('requirement/s', ""),
  289. 'comdetails' => input('comdetails/s', ""),
  290. 'picall' => input('picall/a', []),
  291. 'wtype' => $wtype,
  292. 'type' => $type,
  293. 'bwagall' => input('bwagall/s', ""),
  294. 'zwagall' => $zwagall,
  295. 'ftype' => input('ftype/d', 1),
  296. 'fwagall' => input('fwagall/s', ""),
  297. 'telephone' => input('telephone/s', ""),
  298. 'remark' => input('remark/s', ""),
  299. 'isfree' => 1,
  300. ];
  301. try {
  302. validate(DemandValidate::class)->check($data);
  303. } catch (ValidateException $e) {
  304. exit(json_encode([
  305. 'code' => 1,
  306. 'msg' => $e->getError(),
  307. ]));
  308. }
  309. if (empty($id)) {
  310. if ($this->access_worker['status'] == 1) {
  311. $is_released = is_released($workerid);
  312. if ($is_released['code'] == 1001) {
  313. return $is_released;
  314. }
  315. } else {
  316. if ($user->integral < $param->adddemand) {
  317. page_result1(1, "每次发布订单信息需要扣除" . $param->adddemand . "积分,你当前积分不足。");
  318. }
  319. }
  320. $data['video'] = input('new_video/s', "");
  321. $data['updatetime'] = time();
  322. $data['createtime'] = time();
  323. $data['status'] = (int)2;
  324. $data['volume'] = 0;
  325. $data['telearr'] = [];
  326. $demand = DemandModel::create($data);
  327. $intdata = [
  328. 'userid' => $user->id,
  329. 'title' => "发布订单信息扣除",
  330. 'intvalue' => 0 - $param->adddemand,
  331. 'intmoney' => 0.00,
  332. 'onlycontent' => "",
  333. 'remark' => input('title/s', ""),
  334. 'itype' => 4,
  335. 'createtime' => date("Y-m-d H:i:s"),
  336. 'yeartime' => date("Y"),
  337. 'monthtime' => date("Ym"),
  338. ];
  339. UserIntegralModel::create($intdata);
  340. $integral = intval($user->integral) - intval($param->adddemand);
  341. $user->save([
  342. 'integral' => $integral,
  343. ]);
  344. } else {
  345. $old_video = input('old_video/s', '');
  346. $new_video = input('new_video/s', '');
  347. if (!empty($new_video)) {
  348. $data['video'] = $new_video;
  349. } else {
  350. if (!empty($old_video)) {
  351. $data['video'] = $old_video;
  352. }
  353. }
  354. $data['createtime'] = time();
  355. $data['status'] = input('status/d', 0);
  356. $demand = DemandModel::find($id);
  357. DemandLogModel::update(['workerid' => input('workerid/d', 0)], ['demandid' => $demand->id]);
  358. $demand->save($data);
  359. }
  360. exit(json_encode([
  361. 'code' => 0,
  362. ]));
  363. }
  364. public function editdemandformWyd()
  365. {
  366. $id = input('id/d', 0);
  367. $workerid = $this->access_worker['id'];
  368. $user = UserModel::findOrEmpty($this->access_worker['userid']);
  369. $param = ParamModel::where(1)->findOrEmpty();
  370. if ($user->isEmpty()) {
  371. exit(json_encode([
  372. 'code' => 1,
  373. 'msg' => "用户信息不存在",
  374. ]));
  375. }
  376. $wtype = input('wtype/d', 1);
  377. $zwagall = $wtype == 1 ? input('zwagall/s', "") : '';
  378. $data = [
  379. 'workerid' => $workerid,
  380. 'title' => input('title/s', ""),
  381. 'cateid' => input('cateid/d', 0),
  382. 'province' => input('province/s', ""),
  383. 'city' => input('city/s', ""),
  384. 'district' => input('district/s', ""),
  385. 'agegroup' => input('agegroup/s', ""),
  386. 'tags' => input('tags/a', []),
  387. 'enddate' => input('enddate/s', ""),
  388. 'requirement' => input('requirement/s', ""),
  389. 'comdetails' => input('comdetails/s', ""),
  390. 'wtype' => $wtype,
  391. 'bwagall' => input('bwagall/s', ""),
  392. 'zwagall' => $zwagall,
  393. 'ftype' => input('ftype/d', 1),
  394. 'fwagall' => input('fwagall/s', ""),
  395. 'telephone' => input('telephone/s', ""),
  396. 'remark' => input('remark/s', ""),
  397. 'isfree' => 2,
  398. ];
  399. try {
  400. validate(DemandValidate::class)->check($data);
  401. } catch (ValidateException $e) {
  402. exit(json_encode([
  403. 'code' => 1,
  404. 'msg' => $e->getError(),
  405. ]));
  406. }
  407. if (empty($id)) {
  408. if ($this->access_worker['status'] == 1) {
  409. $is_released = is_released($workerid);
  410. if ($is_released['code'] == 1001) {
  411. return $is_released;
  412. }
  413. } else {
  414. if ($user->integral < $param->adddemandwyd) {
  415. page_result1(1, "每次发布悬赏单需要扣除" . $param->adddemandwyd . "积分,你当前积分不足。");
  416. }
  417. }
  418. $data['video'] = input('new_video/s', "");
  419. $data['updatetime'] = time();
  420. $data['createtime'] = time();
  421. $data['status'] = (int)2;
  422. $data['volume'] = 0;
  423. $data['telearr'] = [];
  424. $demand = DemandModel::create($data);
  425. $intdata = [
  426. 'userid' => $user->id,
  427. 'title' => "发布悬赏单扣除",
  428. 'intvalue' => 0 - $param->adddemandwyd,
  429. 'intmoney' => 0.00,
  430. 'onlycontent' => "",
  431. 'remark' => input('title/s', ""),
  432. 'itype' => 4,
  433. 'createtime' => date("Y-m-d H:i:s"),
  434. 'yeartime' => date("Y"),
  435. 'monthtime' => date("Ym"),
  436. ];
  437. UserIntegralModel::create($intdata);
  438. $integral = intval($user->integral) - intval($param->adddemandwyd);
  439. $user->save([
  440. 'integral' => $integral,
  441. ]);
  442. } else {
  443. $data['updatetime'] = time();
  444. $data['status'] = input('status/d', 0);
  445. $old_video = input('old_video/s', '');
  446. $new_video = input('new_video/s', '');
  447. if (!empty($new_video)) {
  448. $data['video'] = $new_video;
  449. } else {
  450. if (!empty($old_video)) {
  451. $data['video'] = $old_video;
  452. }
  453. }
  454. $demand = DemandModel::find($id);
  455. DemandLogModel::update(['workerid' => input('workerid/d', 0)], ['demandid' => $demand->id]);
  456. $demand->save($data);
  457. }
  458. exit(json_encode([
  459. 'code' => 0,
  460. ]));
  461. }
  462. public function fieldDemand()
  463. {
  464. $id = input('id/d', 0);
  465. $demand = DemandModel::findOrEmpty($id);
  466. if ($demand->isEmpty()) {
  467. exit(json_encode([
  468. 'code' => 1,
  469. 'msg' => "信息不存在",
  470. ]));
  471. } else {
  472. $demand->save([
  473. 'telephone' => input('value'),
  474. ]);
  475. }
  476. exit(json_encode([
  477. 'code' => 0,
  478. ]));
  479. }
  480. public function delDemand()
  481. {
  482. $workerid = $this->access_worker['id'];
  483. $idarr = input('idarr/a');
  484. $res = Db::name('demand')
  485. ->where(['workerid' => $workerid])
  486. ->whereIn('id', $idarr)
  487. ->update(['status' => 6]);
  488. if ($res) {
  489. exit(json_encode([
  490. 'code' => 0,
  491. 'msg' => "",
  492. ]));
  493. }
  494. exit(json_encode([
  495. 'code' => 1,
  496. 'msg' => "删除失败,请稍后重试",
  497. ]));
  498. }
  499. public function listDemand()
  500. {
  501. $limit = input('limit/d', 20);
  502. $page = input('page/d', 1);
  503. $map = [];
  504. $keywords = input('keywords/s', "");
  505. if (!empty($keywords)) {
  506. $map[] = ['title', 'like', '%' . $keywords . '%'];
  507. }
  508. $workerid = input('workerid/d', 0);
  509. if (!empty($workerid)) {
  510. $map[] = ['workerid', '=', $workerid];
  511. }
  512. $cateid = input('cateid/d', 0);
  513. if (!empty($cateid)) {
  514. $map[] = ['cateid', '=', $cateid];
  515. }
  516. $wtype = input('wtype/d');
  517. if (!empty($wtype)) {
  518. $map[] = ['wtype', '=', $wtype];
  519. }
  520. $ftype = input('ftype/d');
  521. if (!empty($ftype)) {
  522. $map[] = ['ftype', '=', $ftype];
  523. }
  524. $status = input('status/d');
  525. if (!empty($status)) {
  526. $map[] = ['status', '=', $status];
  527. }
  528. $isfree = input('isfree/d', 0);
  529. if (!empty($isfree)) {
  530. $map[] = ['isfree', '=', $isfree];
  531. }
  532. $list = DemandModel::with(['worker', 'demandCate'])
  533. ->withCount(['demandLog'])
  534. ->where($map)
  535. ->order(['priority' => 'desc', 'id' => 'desc',])
  536. ->limit($limit)
  537. ->page($page)
  538. ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
  539. ->select();
  540. $count = DemandModel::where($map)->count();
  541. if ($count == 0) {
  542. exit(json_encode([
  543. 'code' => 1,
  544. 'msg' => "未查询到数据",
  545. ]));
  546. }
  547. exit(json_encode([
  548. 'code' => 0,
  549. 'msg' => "",
  550. 'count' => $count,
  551. 'data' => $list,
  552. ]));
  553. }
  554. // 企业招聘
  555. public function otherList()
  556. {
  557. if (Request::isAjax()) {
  558. $limit = input('limit/d', 20);
  559. $page = input('page/d', 1);
  560. $map = [];
  561. $workerid = $this->access_worker['id'];
  562. $map[] = ['workerid', '=', $workerid];
  563. $title = input('title/s', "");
  564. if (!empty($title)) {
  565. $map[] = ['title', 'like', '%' . $title . '%'];
  566. }
  567. $keywords = input('keywords/s', "");
  568. if (!empty($keywords)) {
  569. $map[] = ['company_name|company_contact|company_mobile', 'like', '%' . $keywords . '%'];
  570. }
  571. $cateid = input('cateid/d', 0);
  572. if (!empty($cateid)) {
  573. $map[] = ['cateid', '=', $cateid];
  574. }
  575. $wtype = input('wtype/d');
  576. if (!empty($wtype)) {
  577. $map[] = ['wtype', '=', $wtype];
  578. }
  579. $ftype = input('ftype/d');
  580. if (!empty($ftype)) {
  581. $map[] = ['ftype', '=', $ftype];
  582. }
  583. $status = input('status/d');
  584. if (!empty($status)) {
  585. $map[] = ['status', '=', $status];
  586. } else {
  587. $map[] = ['status', '<', 6];
  588. }
  589. $isfree = input('isfree/d', 0);
  590. if (!empty($isfree)) {
  591. $map[] = ['isfree', '=', $isfree];
  592. }
  593. $list = DemandOtherModel::with(['worker', 'demandCate'])
  594. ->where($map)
  595. ->order(['priority' => 'desc', 'id' => 'desc',])
  596. ->limit($limit)
  597. ->page($page)
  598. ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
  599. ->select();
  600. $count = DemandOtherModel::where($map)->count();
  601. if ($count == 0) {
  602. exit(json_encode([
  603. 'code' => 1,
  604. 'msg' => "未查询到数据",
  605. ]));
  606. }
  607. exit(json_encode([
  608. 'code' => 0,
  609. 'msg' => "",
  610. 'count' => $count,
  611. 'data' => $list,
  612. ]));
  613. } else {
  614. $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
  615. $param = ParamModel::where(1)->findOrEmpty();
  616. $access_worker = Session::get('access_worker');
  617. return view('demand/otherlist', [
  618. 'param' => $param,
  619. 'catelist' => $catelist,
  620. 'wtype' => $access_worker['wtype'],
  621. ]);
  622. }
  623. }
  624. public function otherForm()
  625. {
  626. $worker_data = Session::get('access_worker');
  627. $id = input('id/d, 0');
  628. $demand = DemandOtherModel::where('workerid', $worker_data['id'])->findOrEmpty($id);
  629. $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
  630. return view('demand/otherform', [
  631. 'catelist' => $catelist,
  632. 'demand' => $demand,
  633. 'title' => $worker_data['title'],
  634. ]);
  635. }
  636. public function editOther()
  637. {
  638. $worker_data = Session::get('access_worker');
  639. $id = input('id/d', 0);
  640. $wtype = input('wtype/d', 1);
  641. $type = input('type/d', 1);
  642. $zwagall = $wtype == 1 ? input('zwagall/s', "") : '';
  643. $data = [
  644. 'workerid' => input('workerid/d', 0),
  645. 'title' => input('title/s', ""),
  646. 'cateid' => input('cateid/d', 0),
  647. 'province' => input('province/s', ""),
  648. 'city' => input('city/s', ""),
  649. 'district' => input('district/s', ""),
  650. 'agegroup' => input('agegroup/s', ""),
  651. 'tags' => input('tags/a', []),
  652. 'enddate' => input('enddate/s', ""),
  653. 'requirement' => input('requirement/s', ""),
  654. 'comdetails' => input('comdetails/s', ""),
  655. 'type' => $type,
  656. 'wtype' => $wtype,
  657. 'bwagall' => input('bwagall/s', ""),
  658. 'zwagall' => $zwagall,
  659. 'ftype' => input('ftype/d', 1),
  660. 'fwagall' => input('fwagall/s', ""),
  661. 'telephone' => input('telephone/s', ""),
  662. 'remark' => input('remark/s', ""),
  663. 'status' => input('status/d', 1),
  664. 'isfree' => input('isfree/d', 1),
  665. 'priority' => input('priority/d', 0),
  666. 'updatetime' => input('updatetime/s', ""),
  667. 'createtime' => input('createtime/s', ""),
  668. 'volume' => input('volume/d', 0),
  669. 'company_name' => input('remark/s', ""),
  670. 'company_contact' => input('remark/s', ""),
  671. 'company_mobile' => input('remark/s', ""),
  672. ];
  673. try {
  674. validate(DemandValidate::class)->check($data);
  675. } catch (ValidateException $e) {
  676. exit(json_encode([
  677. 'code' => 1,
  678. 'msg' => $e->getError(),
  679. ]));
  680. }
  681. if (empty($id)) {
  682. $data['workerid'] = $worker_data['id'];
  683. $data['telearr'] = [];
  684. $data['video'] = input('new_video/s', "");
  685. DemandOtherModel::create($data);
  686. } else {
  687. $old_video = input('old_video/s', '');
  688. $new_video = input('new_video/s', '');
  689. if (!empty($new_video)) {
  690. $data['video'] = $new_video;
  691. } else {
  692. if (!empty($old_video)) {
  693. $data['video'] = $old_video;
  694. }
  695. }
  696. $demand = DemandOtherModel::find($id);
  697. $demand->save($data);
  698. }
  699. exit(json_encode([
  700. 'code' => 0,
  701. ]));
  702. }
  703. }