Worder.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. <?php
  2. namespace app\worker\controller;
  3. use think\facade\Session;
  4. use app\worker\BaseController;
  5. use app\common\model\Worder as WorderModel;
  6. use app\common\model\WorderCate as WorderCateModel;
  7. use app\common\model\WorderLog as WorderLogModel;
  8. use app\common\model\Worker as WorkerModel;
  9. use app\common\model\Param as ParamModel;
  10. use app\common\model\User as UserModel;
  11. use app\common\model\UserIntegral as UserIntegralModel;
  12. class Worder extends BaseController
  13. {
  14. // 我的报名记录
  15. public function myLogList()
  16. {
  17. return view('worder/myloglist',[]);
  18. }
  19. public function delMyLog()
  20. {
  21. $workerid = $this->access_worker['id'];
  22. $idarr = input('idarr/a');
  23. $log = WorderLogModel::where(['getworkerid'=>$workerid])->whereIn('id',$idarr)->select();
  24. $result = $log->delete();
  25. if ($result){
  26. exit(json_encode(array(
  27. 'code' => 0,
  28. 'msg' => ""
  29. )));
  30. }
  31. exit(json_encode(array(
  32. 'code' => 1,
  33. 'msg' => "删除失败,请稍后重试"
  34. )));
  35. }
  36. public function listMyLog()
  37. {
  38. $workerid = $this->access_worker['id'];
  39. $limit = input('limit/d',20);
  40. $page = input('page/d',1);
  41. $map = array();
  42. $map[] = ['getworkerid', '=', $workerid];
  43. $list = WorderLogModel::with(['setWorker','getWorker','worder'])->where($map)->order('id','DESC')->limit($limit)->page($page)->append(['worder'=>['status_text']])->select();
  44. $count = WorderLogModel::where($map)->count();
  45. if ($count==0){
  46. exit(json_encode(array(
  47. 'code' => 1,
  48. 'msg' => "未查询到数据"
  49. )));
  50. }
  51. exit(json_encode(array(
  52. 'code' => 0,
  53. 'msg' => "",
  54. 'count' => $count,
  55. 'data' => $list
  56. )));
  57. }
  58. // 报名记录
  59. public function logList()
  60. {
  61. $workerid = $this->access_worker['id'];
  62. $worderlist = WorderModel::where(['workerid'=>$workerid])->field('id,title')->order(['id'=>'desc'])->select();
  63. return view('worder/loglist',[
  64. 'worderlist' => $worderlist
  65. ]);
  66. }
  67. public function delLog()
  68. {
  69. $workerid = $this->access_worker['id'];
  70. $idarr = input('idarr/a');
  71. $log = WorderLogModel::where(['setworkerid'=>$workerid])->whereIn('id',$idarr)->select();
  72. $result = $log->delete();
  73. if ($result){
  74. exit(json_encode(array(
  75. 'code' => 0,
  76. 'msg' => ""
  77. )));
  78. }
  79. exit(json_encode(array(
  80. 'code' => 1,
  81. 'msg' => "删除失败,请稍后重试"
  82. )));
  83. }
  84. public function listLog()
  85. {
  86. $workerid = $this->access_worker['id'];
  87. $limit = input('limit/d',20);
  88. $page = input('page/d',1);
  89. $map = array();
  90. $map[] = ['setworkerid', '=', $workerid];
  91. $worderid = input('worderid/d',0);
  92. if (!empty($worderid)){
  93. $map[] = ['worderid', '=', $worderid];
  94. }
  95. $list = WorderLogModel::with(['setWorker','getWorker','worder'])->where($map)->order('id','DESC')->limit($limit)->page($page)->select();
  96. $count = WorderLogModel::where($map)->count();
  97. if ($count==0){
  98. exit(json_encode(array(
  99. 'code' => 1,
  100. 'msg' => "未查询到数据"
  101. )));
  102. }
  103. exit(json_encode(array(
  104. 'code' => 0,
  105. 'msg' => "",
  106. 'count' => $count,
  107. 'data' => $list
  108. )));
  109. }
  110. public function exportLog()
  111. {
  112. $workerid = $this->access_worker['id'];
  113. $map = array();
  114. $map[] = ['setworkerid', '=', $workerid];
  115. $worderid = input('worderid/d',0);
  116. if (!empty($worderid)){
  117. $map[] = ['worderid', '=', $worderid];
  118. }
  119. $xlsData = WorderLogModel::with(['setWorker','getWorker','worder'])->where($map)->order('id','DESC')->select()->toArray();
  120. $xlsCell = array(
  121. array('id','表ID'),
  122. array('worder.title','订单标题'),
  123. array('getWorker.title','接单公司'),
  124. array('getWorker.realname','负责人'),
  125. array('getWorker.mobile','负责人电话'),
  126. array('createtime','接单时间'),
  127. );
  128. export_excel("订单接单记录",$xlsCell,$xlsData);
  129. }
  130. // 订单信息
  131. public function worderList()
  132. {
  133. $param = ParamModel::where(1)->findOrEmpty();
  134. return view('worder/worderlist',[
  135. 'param' => $param
  136. ]);
  137. }
  138. public function worderForm()
  139. {
  140. $worker = $this->access_worker;
  141. $id = input('id/d, 0');
  142. $worder = WorderModel::findOrEmpty($id);
  143. $workerlist = WorkerModel::order(['id'=>'desc'])->select();
  144. $catelist = WorderCateModel::order(['priority'=>'desc','id'=>'desc'])->select();
  145. return view('worder/worderform',[
  146. 'catelist' => $catelist,
  147. 'worker' => $worker,
  148. 'workerlist' => $workerlist,
  149. 'worder' => $worder
  150. ]);
  151. }
  152. public function editWorder()
  153. {
  154. $workerid = $this->access_worker['id'];
  155. $worker = WorkerModel::findOrEmpty($workerid);
  156. $user = UserModel::findOrEmpty($this->access_worker['userid']);
  157. if ( $user->isEmpty() ){
  158. exit(json_encode(array(
  159. 'code' => 1,
  160. 'msg' => "用户信息不存在"
  161. )));
  162. }
  163. $param = ParamModel::where(1)->findOrEmpty();
  164. $id = input('id/d', 0);
  165. $data = [
  166. 'cateid' => input('cateid/d', 0),
  167. 'workerid' => $workerid,
  168. 'title' => input('title/s', ""),
  169. 'tags' => input('tags/a', array()),
  170. 'otype' => input('otype/s', ""),
  171. 'wagall' => input('wagall/s', ""),
  172. 'telephone' => input('telephone/s', ""),
  173. 'province' => input('province/s', ""),
  174. 'city' => input('city/s', ""),
  175. 'district' => input('district/s', ""),
  176. 'jobdetails' => input('jobdetails/s', ""),
  177. 'coodetails' => input('coodetails/s', ""),
  178. 'status' => input('status/d', 0),
  179. 'priority' => input('priority/d', 0),
  180. 'updatetime' => input('updatetime/s', ""),
  181. 'createtime' => input('createtime/s', ""),
  182. 'volume' => input('volume/d', 0)
  183. ];
  184. if (empty($id)){
  185. if ($user->integral < $param->addworder){
  186. page_result(1, "每次发布订单信息需要扣除".$param->addworder."积分,你当前积分不足。");
  187. }
  188. $data['priority'] = 0;
  189. $data['updatetime'] = date("Y-m-d H:i:s");
  190. $data['createtime'] = date("Y-m-d H:i:s");
  191. $data['volume'] = 0;
  192. $worder = WorderModel::create($data);
  193. $intdata = array(
  194. 'userid' => $user->id,
  195. 'title' => "发布订单信息扣除",
  196. 'intvalue' => 0 - $param->addworder,
  197. 'intmoney' => 0.00,
  198. 'onlycontent' => "",
  199. 'remark' => input('title/s', ""),
  200. 'itype' => 5,
  201. 'createtime' => date("Y-m-d H:i:s"),
  202. 'yeartime' => date("Y"),
  203. 'monthtime' => date("Ym")
  204. );
  205. UserIntegralModel::create($intdata);
  206. $integral = intval($user->integral) - intval($param->addworder);
  207. $user->save([
  208. 'integral' => $integral
  209. ]);
  210. }else{
  211. $worder = WorderModel::find($id);
  212. WorderLogModel::update([ 'setworkerid' => input('workerid/d', 0) ],['worderid'=>$worder->id]);
  213. $worder->save($data);
  214. }
  215. exit(json_encode(array(
  216. 'code' => 0
  217. )));
  218. }
  219. public function fieldWorder()
  220. {
  221. $workerid = $this->access_worker['id'];
  222. $id = input('id/d',0);
  223. $worder = WorderModel::where(['workerid'=>$workerid])->findOrEmpty($id);
  224. if ($worder->isEmpty()){
  225. exit(json_encode(array(
  226. 'code' => 1,
  227. 'msg' => "信息不存在"
  228. )));
  229. }else{
  230. $worder->save([
  231. input('field/s') => input('value')
  232. ]);
  233. }
  234. exit(json_encode(array(
  235. 'code' => 0
  236. )));
  237. }
  238. public function delWorder()
  239. {
  240. $workerid = $this->access_worker['id'];
  241. $idarr = input('idarr/a');
  242. $worder = WorderModel::where(['workerid'=>$workerid])->whereIn('id',$idarr)->select();
  243. WorderLogModel::where(['workerid'=>$workerid])->whereIn('worderid',$idarr)->delete();
  244. $result = $worder->delete();
  245. if ($result){
  246. exit(json_encode(array(
  247. 'code' => 0,
  248. 'msg' => ""
  249. )));
  250. }
  251. exit(json_encode(array(
  252. 'code' => 1,
  253. 'msg' => "删除失败,请稍后重试"
  254. )));
  255. }
  256. public function listWorder()
  257. {
  258. $workerid = $this->access_worker['id'];
  259. $limit = input('limit/d',20);
  260. $page = input('page/d',1);
  261. $map = array();
  262. $map[] = ['workerid', '=', $workerid];
  263. $keywords = input('keywords/s', "");
  264. if (!empty($keywords)){
  265. $map[] =['title', 'like', '%'.$keywords.'%'];
  266. }
  267. $status = input('status/d');
  268. if (!empty($status)){
  269. $map[] = ['status', '=', $status];
  270. }
  271. $list = WorderModel::with(['worker','worderCate'])->withCount(['worderLog'])->where($map)->order(['priority'=>'desc','updatetime'=>'desc','id'=>'desc',])->limit($limit)->page($page)->append(['status_text'])->select();
  272. $count = WorderModel::where($map)->count();
  273. if ($count==0){
  274. exit(json_encode(array(
  275. 'code' => 1,
  276. 'msg' => "未查询到数据"
  277. )));
  278. }
  279. exit(json_encode(array(
  280. 'code' => 0,
  281. 'msg' => "",
  282. 'count' => $count,
  283. 'data' => $list
  284. )));
  285. }
  286. }