InvoiceController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Models\Invoice;
  4. use App\Http\Requests\InvoiceSaveRequest;
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. /**
  8. * 开票管理 之前提的需求 基本没啥用了
  9. * Class InvoiceController
  10. * @package App\Http\Controllers\Admin
  11. */
  12. class InvoiceController extends Controller
  13. {
  14. public function index(Request $request)
  15. {
  16. if (!$request->ajax()) {
  17. return view('admin/invoice/index');
  18. }
  19. $builder = Invoice::query();
  20. if ($keyword = $request->input('keyword')) {
  21. $builder->where('title', 'like', '%' . $keyword . '%');
  22. }
  23. $records = $builder->orderByDesc('id')
  24. ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE);
  25. $items = $records->items();
  26. // array_walk($items, function ($item) {
  27. // $item->relate_site = $item->site->cn_title ?? '';
  28. // });
  29. return response()->json([
  30. 'rows' => $items,
  31. 'total' => $records->total()
  32. ]);
  33. }
  34. public function save(InvoiceSaveRequest $request, $id)
  35. {
  36. if (!$request->ajax()) {
  37. return view('admin/invoice/save', [
  38. 'data' => $id > 0 ? Invoice::query()->find($id) : null
  39. ]);
  40. }
  41. $validated = $request->validated();
  42. Invoice::query()->updateOrCreate(
  43. ['id' => $id],
  44. $validated
  45. );
  46. return response()->json(['message' => '操作成功']);
  47. }
  48. public function delete(Request $request)
  49. {
  50. $ids = $request->input('ids');
  51. Invoice::destroy($ids);
  52. return response()->json(['message' => '操作成功']);
  53. }
  54. public function photo(Request $request, $id)
  55. {
  56. $photo = $request->input('photo');
  57. $invoice = Invoice::query()->where(['id' => $id])->first();
  58. if (!$invoice) return response()->json(['message' => '数据不存在'], 400);
  59. $invoice->update(['photo' => $photo]);
  60. return response()->json(['message' => '操作成功']);
  61. }
  62. }