TechnicalincomelogController.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace app\admin\controller;
  3. use think\exception\ValidateException;
  4. use think\facade\Db;
  5. use app\model\OrderTimescard;
  6. use app\model\OrderGoods;
  7. class TechnicalincomelogController extends Base
  8. {
  9. /*
  10. * @Description 数据列表
  11. */
  12. function index()
  13. {
  14. $keyword = input('post.keyword', '', 'serach_in');
  15. $uuid = input('post.uuid', '', 'serach_in');
  16. $create_time = input('post.create_time', '', 'serach_in');
  17. $query = Db::name('technical_incomelog')
  18. ->alias('ti')
  19. ->join('order', 'ti.order_id = order.id')
  20. ->leftJoin('member', 'ti.buyer_id = member.id')
  21. ->join('technical', 'ti.uuid = technical.uuid')
  22. ->leftJoin('order_timescard', 'ti.order_id = order_timescard.order_id')
  23. ->field('ti.*, order.is_times, order.begin_time, order.end_time
  24. ,member.nickname,technical.title,order_timescard.timestype');
  25. $query->where('ti.weid', weid());
  26. if (!empty($uuid)) {
  27. $query->where('ti.uuid', $uuid);
  28. }
  29. if (!empty($keyword)) {
  30. $query->where('ti.order_num_alias|member.nickname|technical.title', 'like', '%' . $keyword . '%');
  31. }
  32. if (!empty($create_time)) {
  33. $query->where('ti.create_time', 'between', [strtotime($create_time[0]), strtotime($create_time[1])]);
  34. }
  35. $res = $query->order('ti.id desc')->paginate(getpage())->toArray();
  36. foreach ($res['data'] as &$vo) {
  37. if ($vo['is_times'] == 1) {
  38. $OrderTimescard = OrderTimescard::where('order_id', $vo['id'])->order('id asc')->select()->toArray();
  39. if ($OrderTimescard) {
  40. foreach ($OrderTimescard as $tcvo) {
  41. if ($tcvo['yue_date']) {
  42. if ($tcvo['timestype'] == 1) {
  43. if ($vo['yue_time']) {
  44. $vo['yue_time'] .= ';每月:' . $tcvo['yue_date'] . '号';
  45. } else {
  46. $vo['yue_time'] = '每月:' . $tcvo['yue_date'] . '号';
  47. }
  48. } else {
  49. if ($vo['yue_time']) {
  50. $vo['yue_time'] .= ';每周周:' . $tcvo['yue_date'];
  51. } else {
  52. $vo['yue_time'] = '每周周:' . $tcvo['yue_date'];
  53. }
  54. }
  55. }
  56. }
  57. }
  58. if (empty($vo['yue_time'])) {
  59. $vo['yue_time'] = '还没有预约时间';
  60. }
  61. } else {
  62. $vo['yue_time'] = time_format($vo['begin_time']) . ' 到 ' . date('H:i', $vo['end_time']);
  63. }
  64. $vo['orderGoods'] = OrderGoods::where('order_id', $vo['order_id'])->select();
  65. }
  66. $data['data'] = $res;
  67. return $this->json($data);
  68. }
  69. }