LadingBillController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Models\LadingBill;
  4. use App\Http\Models\Site;
  5. use App\Http\Requests\LadingBillSaveRequest;
  6. use Illuminate\Http\Request;
  7. use App\Http\Controllers\Controller;
  8. use Illuminate\Support\Facades\Auth;
  9. /**
  10. * 提单 之前提的需求 基本没啥用了
  11. * Class LadingBillController
  12. * @package App\Http\Controllers\Admin
  13. */
  14. class LadingBillController extends Controller
  15. {
  16. /**
  17. * 提单列表
  18. * @param Request $request
  19. * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
  20. */
  21. public function index(Request $request)
  22. {
  23. if (!$request->ajax()) {
  24. return view('admin/lading_bill/index');
  25. }
  26. $builder = LadingBill::query()->with(['site', 'user']);
  27. if ($keyword = $request->input('keyword')) {
  28. $builder->where('title', 'like', '%' . $keyword . '%');
  29. }
  30. $records = $builder->orderByDesc('id')
  31. ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE);
  32. $items = $records->items();
  33. array_walk($items, function ($item) {
  34. $item->relate_site = $item->site->cn_title ?? '';
  35. $item->username = $item->user->username ?? '';
  36. });
  37. return response()->json([
  38. 'rows' => $items,
  39. 'total' => $records->total()
  40. ]);
  41. }
  42. public function audit(Request $request)
  43. {
  44. $ids = $request->input('ids');
  45. $auditStatus = $request->input('auditStatus');
  46. LadingBill::query()->whereIn('id', $ids)->update(['audit' => $auditStatus]);
  47. return response()->json(['message' => '操作成功']);
  48. }
  49. /**
  50. * 添加 与 编辑
  51. * @param LadingBillSaveRequest $request
  52. * @param $id
  53. * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
  54. */
  55. public function save(LadingBillSaveRequest $request, $id)
  56. {
  57. if (!$request->ajax()) {
  58. return view('admin/lading_bill/save', [
  59. 'data' => $id > 0 ? LadingBill::query()->find($id) : null,
  60. 'sites' => Site::query()->select(['id', 'cn_title'])->get()
  61. ]);
  62. }
  63. $validated = $request->validated();
  64. if ($id == 0) { //添加
  65. $validated['user_id'] = Auth::id();
  66. $validated['is_settle'] = 0; //未结算
  67. }
  68. LadingBill::query()->updateOrCreate(
  69. ['id' => $id],
  70. $validated
  71. );
  72. return response()->json(['message' => '操作成功']);
  73. }
  74. /**
  75. * 删除
  76. * @param Request $request
  77. * @return \Illuminate\Http\JsonResponse
  78. */
  79. public function delete(Request $request)
  80. {
  81. $ids = $request->input('ids');
  82. LadingBill::destroy($ids);
  83. return response()->json(['message' => '操作成功']);
  84. }
  85. }