Workshop นี้เป็นส่วนหนึ่งของคอร์ส สอนทำระบบแจ้งซ่อมออนไลน์ Laravel
คอร์สเรียนออนไลน์ สอนทำระบบแจ้งซ่อม ราคา 999 บาท จะได้ Template ตั้งต้น สอนทำเต็มระบบ
- repair.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
@extends('layouts.master') @section('title') @lang('Repair') @endsection @section('content') @component('common-components.breadcrumb') @slot('pagetitle') Employee @endslot @slot('title') Repair @endslot @endcomponent <div class="row"> <div class="col-lg-12"> <div class="card"> <div class="card-body"> <div class="row mb-2"> <div class="col-md-6"> </div> <div class="col-md-6"> <div class="form-inline float-md-end mb-3"> <div class="search-box ms-2"> <div class="position-relative"> <form action="" id="search"> <input type="text" class="form-control rounded bg-light border-0" placeholder="Search..." id="search-input" name="search"> <i class="mdi mdi-magnify search-icon"></i> </form> </div> </div> </div> </div> </div> <!-- end row --> <div class="table-responsive mb-4"> <table class="table table-centered table-nowrap mb-0" id="userTable"> <thead> <tr> <th scope="col" style="width: 5%;">ID</th> <th scope="col" style="width: 10%;">ประเภทอุปกรณ์</th> <th scope="col" style="width: 10%;">ชื่ออุปกรณ์</th> <th scope="col" style="width: 10%;">หมายเลขเครื่อง</th> <th scope="col" style="width: 20%;">ผู้แจ้งซ่อม</th> <th scope="col" style="width: 20%;">สถานที่แจ้งซ่อม</th> <th scope="col" style="width: 10%;">วันที่แจ้งซ่อม</th> <th scope="col" style="width: 10%;">สถานะ</th> <th scope="col" style="width: 10%;">ช่างผู้ดำเนินการซ่อม</th> </tr> </thead> @foreach($data as $item) <tr> <td>{{ $item->id }}</td> <td>{{ $item->eq_name }}</td> <td>{{ $item->r_name }}</td> <td>{{ $item->r_serialnumber }}</td> <td>{{ $item->firstname }} {{ $item->lastname }}</td> <td>{{ $item->build_name }} ชั้น {{ $item->floor}} ห้อง {{ $item->room}}</td> <td>{{ $item->r_date ? \Carbon\Carbon::parse($item->r_date)->format('d/m/Y') : 'ไม่ระบุ' }}</td> <td>{{ $item->s_status }}</td> <td></td> </tr> @endforeach </table> </div> {!! $data->links('layouts.pagination') !!} </div> </div> </div> </div> <script src="{{ URL::asset('/assets/libs/sweetalert2/sweetalert2.min.js')}}"></script> <!-- end row --> @if (session('success')) <script> Swal.fire({ icon: 'success', title: 'สำเร็จ!', text: '{{ session('success') }}', timer: 1000, // แสดง 1 วินาที showConfirmButton: false }); $('#search-input').change(function(){ document.getElementById("search").submit(); }) </script> @endif @endsection @section('script') @endsection |
- form_reapir.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
@extends('layouts.master') @section('title') @lang('Repair') @endsection @section('content') @component('common-components.breadcrumb') @slot('pagetitle') Employee @endslot @slot('title') แบบฟอร์มแจ้งซ่อม @endslot @endcomponent <style> .form-control { border: 1px solid rgba(0, 0, 0, 0.073); } </style> <div class="row"> <div class="col-lg-12"> <div class="card"> <div class="card-body"> <form action="{{ url('employees/add') }}" method="POST"> @csrf <!-- Firstname and Lastname (read-only) --> <div class="row mb-3"> <div class="col-md-6"> <label for="full_name" class="form-label">ผู้แจ้งซ่อม</label> <input type="text" class="form-control" id="full_name" name="full_name" value="{{ $fullName }}" readonly> </div> </div> <div class="row mb-3"> <div class="col-md-3"> <label for="eq_id" class="form-label">ประเภทอุปกรณ์</label> <select class="form-select" id="eq_id" name="eq_id" required> <option value="" selected disabled>เลือกอุปกรณ์</option> @foreach($equipment as $eq) <option value="{{ $eq->id }}">{{ $eq->eq_name }}</option> @endforeach </select> </div> <div class="col-md-6"> <label for="r_name" class="form-label">ชื่ออุปกรณ์</label> <input type="text" class="form-control" id="r_name" name="r_name" required placeholder="เช่น MacBook Pro"> </div> <div class="col-md-3"> <label for="r_serialnumber" class="form-label">หมายเลขเครื่อง</label> <input type="text" class="form-control" id="r_serialnumber" name="r_serialnumber" required> </div> </div> <div class="row mb-3"> <div class="col-md-4"> <label for="r_detail" class="form-label">อาการ/สาเหตุ</label> <textarea class="form-control" id="r_detail" name="r_detail" rows="3" required></textarea> </div> <div class="col-md-3"> <label for="build_id" class="form-label">อาคาร/ตึก</label> <select class="form-select" id="build_id" name="build_id" required> <option value="" selected disabled>เลือกอาคาร/ตึก</option> @foreach($buildings as $building) <option value="{{ $building->id }}">{{ $building->build_name }}</option> @endforeach </select> </div> <div class="col-md-2"> <label for="floor" class="form-label">ชั้น</label> <input type="text" class="form-control" id="floor" name="floor"> </div> <div class="col-md-2"> <label for="room" class="form-label">ห้อง</label> <input type="text" class="form-control" id="room" name="room"> </div> </div> <div class="text-end"> <button type="submit" class="btn btn-primary">บันทึกข้อมูล</button> </div> </form> </div> </div> </div> </div> <!-- end row --> @endsection @section('script') <script> // Optional JavaScript for form enhancements can go here. </script> @endsection |
- RepairController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
<?php namespace App\Http\Controllers; use App\Models\Building; use App\Models\Equipment; use App\Models\Repair; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class RepairController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } public function index(Request $request) { $query = Repair::select( 'repair.*', 'users.firstname', 'users.lastname', 'equipment.eq_name', 'building.build_name', 'status.s_status' ) ->join('users', 'repair.u_id', '=', 'users.id') ->join('equipment', 'repair.eq_id', '=', 'equipment.id') ->join('building', 'repair.build_id', '=', 'building.id') ->join('status', 'repair.s_id', '=', 'status.id') ->orderBy('repair.id', 'DESC'); // ตรวจสอบว่ามีการค้นหาหรือไม่ if ($request->has('search') && $request->search != '') { $search = $request->search; $query->where(function ($q) use ($search) { $q->where('users.firstname', 'like', '%' . $search . '%') ->orWhere('users.lastname', 'like', '%' . $search . '%') ->orWhere('equipment.eq_name', 'like', '%' . $search . '%') ->orWhere('repair.r_name', 'like', '%' . $search . '%') ->orWhere('repair.r_serialnumber', 'like', '%' . $search . '%'); }); } $data = $query->paginate(10); return view('employees/repair', compact('data')); } public function form_add(Request $request) { $user = Auth::user(); $fullName = $user->firstname . ' ' . $user->lastname; $equipment = Equipment::all(); $buildings = Building::all(); return view('employees/add_repair', compact('fullName', 'equipment', 'buildings')); } public function add(Request $request) { // ดึงข้อมูลผู้ใช้งานที่ล็อกอิน $user = Auth::user(); Repair::create([ 'u_id' => $user->id, 'eq_id' => $request->eq_id, 'r_name' => $request->r_name, 'r_serialnumber' => $request->r_serialnumber, 'r_detail' => $request->r_detail, 'build_id' => $request->build_id, 'floor' => $request->floor, 'room' => $request->room, 's_id' => 1, 'head_id' => null, 'technician_id' => null, 'r_date' => now() ]); return redirect('employees/repair')->with('success', 'แจ้งซ่อมสำเร็จ!'); } } |
สนใจจ้างพัฒนาระบบ เขียนระบบ
ทำเว็บไซต์ รับสอนเขียนโปรแกรม
inbox มาที่เพจ หรือติดต่อ 098-373-8651
ช่องทางการชำระเงิน
เงินสด หรือ e-banking
ธนาคารกสิกรไทย
เลขบัญชี : 0951168564
ชื่อบัญชี : นายวัยวุฒิ ชุมเมืองปัก