首页 > 解决方案 > 如何修复 fullCalendar Laravel PHP,该页面只能看到白色和导航栏。怎么修?

问题描述

我已经很久没有像这样解决这个问题了。也许你可以帮助解决这个问题?

我把控制器上的所有东西都修好了,一切都很好。但只显示白色背景和导航。如何在那里修复它?

文件夹 eventos/index.blade.php

 @extends('layouts.main')

@section('content')
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="stylesheet" href="{{asset('public/fullcalendar/core/main.css')}}"> 
<link rel="stylesheet" href="{{asset('public/fullcalendar/daygrid/main.css')}}"> 
<link rel="stylesheet" href="{{asset('public/fullcalendar/list/main.css')}}"> 
<link rel="stylesheet" href="{{asset('public/fullcalendar/timegrid/main.css')}}"> 

<script src="{{asset('public/fullcalendar/core/main.js')}}" defer> </script>
<script src="{{asset('public/fullcalendar/interaction/main.js')}}"defer> </script>
<script src="{{asset('public/fullcalendar/daygrid/main.js')}}"defer> </script>
<script src="{{asset('public/fullcalendar/list/main.js')}}"defer> </script>

<script src="{{asset('public/fullcalendar/timegrid/main.js')}}"defer> </script>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

<script>

document.addEventListener('DOMContentLoaded', function() {
  var calendarEl = document.getElementById('calendar');

  var calendar = new FullCalendar.Calendar(calendarEl, {
    plugins: [ 'dayGrid', 'interaction' ],

    header:{
        left:'prev,next today',
        center:'title',
        right:'dayGridMonth,dayGridWeek'
    },

    dateClick:function(info){

        limitFormat();

        $('#txtData').val(info.dateStr);

        $('#btnAgree').prop("disabled", false);
        $('#btnEdit').prop("disabled", true);
        $('#btnDelete').prop("disabled", true);

        $('#exampleModal').modal();
        //console.log(info);

       // calendar.addEvent({title:"Bandymas x", date:info.dateStr});
    },

    eventClick:function(info){

        $('#btnAgree').prop("disabled", true);
        $('#btnEdit').prop("disabled", false);
        $('#btnDelete').prop("disabled", false);



        console.log(info);
        console.log(info.event.title);
        console.log(info.event.start);

        console.log(info.event.end);
        console.log(info.event.textColor);
        console.log(info.event.backgroundColor);

        console.log(info.event.extendedProps.descripcion);

       // $('#txtID').val(info.event.id);
        //$('#txtTitle').val(info.event.title);

       // mes = (info.event.start.getMonth()+1);
       // dia = (info.event.start.getDate());
        //anio = (info.event.start.getFullYear());

       // mes=(mes<10)?"0"+mes:mes;
       // dia=(dia<10)?"0"+dia:dia;

       // hora = (info.event.start.getHours()+":"+info.event.start.getMinutes());



       // $('#txtData').val(anio+"-"+mes+"-"+dia);
       // $('#txtHour').val(hora);
       // $('#txtColor').val(info.event.backgroundColor);

       // $('#txtDescripcion').val(info.event.extendedProps.descripcion);



        $('#exampleModal').modal();
    },

    /*events:[
        {
            title:"Bandymas 1",
            start:"2020-10-03",
            descripcion:"LKD"
        },{
            title:"Bandymas 2",
            start:"2020-10-07",
            end:"2020-10-13",
            color:"#FFCCAA",
            textColor:"#000000",
            descripcion:"LKD"
        }
    ] */

    events:"{{ url('/eventos/show') }}"
    
  });

  calendar.setOption('locale','Lt');

  calendar.render();

  
  $('#btnAgree').click(function(){

ObjEvento=recolectarDatosGUI("POST");

EnviarInformacion('', ObjEvento);
});

$('#btnDelete').click(function(){

ObjEvento=recolectarDatosGUI("DELETE");

EnviarInformacion('/'+$('#txtID').val(), ObjEvento);
});

$('#btnEdit').click(function(){

ObjEvento=recolectarDatosGUI("PATCH");

EnviarInformacion('/'+$('#txtID').val(),ObjEvento);
});

  

});




  function recolectarDatosGUI(method){

    dataEvent={
        id: $('#txtID').val(),
        title:$('#txtTitle').val(),
        descripcion:$('#txtDescripcion').val(),
        color:$('#txtColor').val(),
        textcolor:$('#txtForColor').val(),
        start:$('#txtData').val()+" "+$('#txtHour').val(),
        end:$('#txtData').val()+" "+$('#txtHour').val(),
        _token: '{!! csrf_token() !!}',
        '_method':method
    }
    return(dataEvent);
  }

    

    function EnviarInformacion(accion,objEvento){
        $.ajax(
            {
            type:"POST",
            url:"{{ url('/eventos') }}"+accion,
            data:objEvento,
            success:function(msg){ 

                console.log(msg);
                $('#exampleModal').modal('toggle');
                calendar.refetchEvents();
                
                
                ;},
           // error:function(){
                //alert("Error...");
           // }
            }
        );
    }

    function limitFormat(){
        $('#txtID').val("");
        $('#txtTitle').val("");


        $('#txtData').val("");
        $('#txtHour').val("");
        $('#txtColor').val("");

        $('#txtDescripcion').val("");
    }   


</script>

@if(\Session::has('success'))
    <div class="alter alter-danger">
        <p>{{\Session::get('success')}}</p>
    </div>
@endif

<div class="container">
<div id="calendar"></div>
</div>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Informacion</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>

        <form method="POST" action="{{action ('EventosController@store')}}">
            {{ csrf_field() }}

        <div class="modal-body">

        <div class="d-none">
            ID:
          <input type="text" name="txtID" id="txtID">
          <br>

          </div>
            <div class="form-row"> 
            <div class="form-group col-md-8">
           <label> Data:</label>
          <input type="text" name="txtData" id="txtData">
            </div>
            
          

                <div class="form-group col-md-8">
                <label>Pavadinimas:</label>
          <input type="text" class="form-control" name="txtTitle" id="txtTitle">
                </div>

                <div class="form-group col-md-8">
                <label>Valanda:</label>
          <input type="text" class="form-control" name="txtHour" id="txtHour">
                </div>
          
                <div class="form-group col-md-12">
               <label> Aprašymas:</label>
          <textarea name="txtDescripcion" class="form-control" id="txtDescripcion" cols="30" rows="3"></textarea>
                </div>
        
                <div class="form-group col-md-6">
                <label>Teksto spalva:</label>
          <input type="color" class="form-control" name="txtForColor" id="txtForColor">
                </div>
          
                <div class="form-group col-md-6">
                <label>Kategorija:</label>
          <input type="color" class="form-control" name="txtColor" id="txtColor">
                </div>
            
          
            </div>

           
        </div>
        <div class="modal-footer">
            <button id="btnAgree" class="btn btn-success" >Pridėti</button>
            <button id="btnEdit" class="btn btn-warning">Taisyti</button>
            <button id="btnDelete" class="btn btn-danger">Ištrinti</button>
            <button id="btnCancel" data-dismiss="modal" class="btn btn-default">Atšaukti</button>
        </div>
        </form>
      </div>
    </div>
  </div>
@endsection

事件控制器.php

<?php

namespace App\Http\Controllers;
use App\evento;
use Illuminate\Http\Request;

class EventosController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
        return view("eventos.index");
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        return view("eventos.index");
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
        $datosEvento=request()->except(['_token','_method']);

        $this->validate($request,[
            'txtID' => 'required',
            'txtData' => 'required',
            'txtTitle' => 'required',
            'txtHour' => 'required',
            'txtDescripcion' => 'required',
            'txtColor' => 'required',
            'txtForColor' => 'required'
        ]);

        $emps = new evento;

        $emps->id = $request->input('txtID');
        $emps->start = $request->input('txtData');
        $emps->end = $request->input('txtData');
        $emps->title = $request->input('txtTitle');
        $emps->descripcion = $request->input('txtDescripcion');
        $emps->color = $request->input('txtColor');
        $emps->textColor = $request->input('txtForColor');
        
        $emps->save();

        return redirect()->route('eventos.index')->with('success', 'Data Inserted');
        
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
        $data['eventos']=evento::all();
        return response()->json($data['eventos']);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        $datosEvento=request()->except(['_token','_method']);
        $resquesto=evento::where('id','=',$id)->update($datosEvento);
        return response()->json($resquesto);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
        $eventos=evento::FindOrFail($id);
        evento::destroy($id);
        return response()->json($id);
    }
}

网页.php

<?php

use App\Http\Controllers\EventosController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/


Auth::routes();

    Route::get('/', 'EventosController@index') ;

    Route::resource('eventos', 'EventosController');


Route::get('login/{lang?}', 'Auth\LoginController@showLoginForm')->name('login')->middleware(['XSS']);
Route::get('register/{lang?}', 'Auth\RegisterController@showRegistrationForm')->name('register')->middleware(['XSS']);
Route::get('password/reset/lang/{lang?}', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request2')->middleware(['XSS']);



Route::prefix('client')->as('client.')->group(function() {
    Route::get('login/{lang?}', 'Auth\LoginController@showClientLoginForm')->name('login')->middleware(['XSS']);
    Route::post('login', 'Auth\LoginController@clientLogin')->name('login')->middleware(['XSS']);
    Route::post('logout', 'ClientController@clientLogout')->name('logout')->middleware(['auth:client','XSS']);

    Route::get('/my-account',['as' => 'users.my.account','uses' =>'UserController@account'])->middleware(['auth:client','XSS']);
    Route::post('/my-account',['as' => 'update.account','uses' =>'UserController@update'])->middleware(['auth:client','XSS']);
    Route::post('/my-account/password',['as' => 'update.password','uses' =>'UserController@updatePassword'])->middleware(['auth:client','XSS']);
    Route::post('/my-account/billing',['as' => 'update.billing','uses' =>'ClientController@updateBilling'])->middleware(['auth:client','XSS']);
    Route::delete('/my-account',['as' => 'delete.avatar','uses' =>'UserController@deleteAvatar'])->middleware(['auth:client','XSS']);

    // project
    Route::get('/{slug}/projects',['as' => 'projects.index','uses' =>'ProjectController@index'])->middleware(['auth:client','XSS']);
    Route::get('/{slug}/projects/{id}',['as' => 'projects.show','uses' =>'ProjectController@show'])->middleware(['auth:client','XSS']);
    Route::get('/{slug}/projects/milestone/{id}',['as' => 'projects.milestone','uses' =>'ProjectController@milestone'])->middleware(['auth:client','XSS']);
    Route::post('/{slug}/projects/milestone/{id}',['as' => 'projects.milestone.store','uses' =>'ProjectController@milestoneStore'])->middleware(['auth:client','XSS']);
    Route::get('/{slug}/projects/milestone/{id}/show',['as' => 'projects.milestone.show','uses' =>'ProjectController@milestoneShow'])->middleware(['auth:client','XSS']);
    Route::get('/{slug}/projects/milestone/{id}/edit',['as' => 'projects.milestone.edit','uses' =>'ProjectController@milestoneEdit'])->middleware(['auth:client','XSS']);
    Route::put('/{slug}/projects/milestone/{id}',['as' => 'projects.milestone.update','uses' =>'ProjectController@milestoneUpdate'])->middleware(['auth:client','XSS']);
    Route::delete('/{slug}/projects/milestone/{id}',['as' => 'projects.milestone.destroy','uses' =>'ProjectController@milestoneDestroy'])->middleware(['auth:client','XSS']);
    Route::get('/{slug}/projects/{id}/file/{fid}',['as' => 'projects.file.download','uses' =>'ProjectController@fileDownload'])->middleware(['auth:client','XSS']);

结果:

在此处输入图像描述

标签: phplaravelfullcalendar

解决方案


推荐阅读