Commit 2b3ac039 by Angel MAS

seguimiento de ordenes

parent b0d9029a
...@@ -14,6 +14,7 @@ use Onestartup\Shop\Model\ProductShopInfo as ProductInfo; ...@@ -14,6 +14,7 @@ use Onestartup\Shop\Model\ProductShopInfo as ProductInfo;
use Onestartup\Shop\DataTables\ClientDataTable; use Onestartup\Shop\DataTables\ClientDataTable;
use Onestartup\Shop\DataTables\OrderDataTable; use Onestartup\Shop\DataTables\OrderDataTable;
use Onestartup\Shop\Model\SaleShop as Sale; use Onestartup\Shop\Model\SaleShop as Sale;
use Onestartup\Shop\Model\OrderTracking as Tracking;
class AdminProductController extends Controller class AdminProductController extends Controller
...@@ -312,4 +313,17 @@ class AdminProductController extends Controller ...@@ -312,4 +313,17 @@ class AdminProductController extends Controller
return redirect()->back()->with('message_success', 'Estatus actualizado correctamente'); return redirect()->back()->with('message_success', 'Estatus actualizado correctamente');
} }
public function trackingStore(Request $request, $id)
{
$sale = Sale::find($id);
$comment = new Tracking($request->all());
$comment->user_id = \Auth::user()->id;
$sale->tracking_sales()->save($comment);
return redirect()
->back()
->with('message_success', 'Información agregada correctamente');
}
} }
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateOrderTrackingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('order_trackings', function (Blueprint $table) {
$table->increments('id');
$table->string('type', 355);
$table->string('detail', 555);
$table->integer('sale_id')->unsigned();
$table->foreign('sale_id')->references('id')->on('sale_shops');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('order_trackings');
}
}
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class OrderTracking extends Model
{
protected $table = 'order_trackings';
protected $fillable = [
'type',
'detail',
'sale_id',
'user_id'
];
public function user()
{
return $this->belongsTo('App\User', 'user_id');
}
public function sale()
{
return $this->belongsTo('Onestartup\Shop\Model\SaleShop', 'sale_id');
}
}
...@@ -19,4 +19,9 @@ class SaleShop extends Model ...@@ -19,4 +19,9 @@ class SaleShop extends Model
{ {
return $this->hasMany('Onestartup\Shop\Model\DetailShop', 'sale_id'); return $this->hasMany('Onestartup\Shop\Model\DetailShop', 'sale_id');
} }
public function tracking_sales()
{
return $this->hasMany('Onestartup\Shop\Model\OrderTracking', 'sale_id');
}
} }
...@@ -61,6 +61,10 @@ Route::group(['middleware' => ['web', 'auth', 'is_admin']], function(){ ...@@ -61,6 +61,10 @@ Route::group(['middleware' => ['web', 'auth', 'is_admin']], function(){
'Onestartup\Shop\Controller\AdminProductController@updateStatusSale') 'Onestartup\Shop\Controller\AdminProductController@updateStatusSale')
->name('admin-shop-client.statussale'); ->name('admin-shop-client.statussale');
Route::post('admin/shop/client/sale/{id}/tracking',
'Onestartup\Shop\Controller\AdminProductController@trackingStore')
->name('admin-shop-client.trackingStore');
}); });
......
...@@ -49,8 +49,50 @@ setlocale(LC_MONETARY, 'en_US'); ...@@ -49,8 +49,50 @@ setlocale(LC_MONETARY, 'en_US');
<h6>Datos de facturación</h6> <h6>Datos de facturación</h6>
</div> </div>
<div class="row"> <div class="col-md-6">
<h6>Seguimiento</h6>
<h6>
Seguimiento
<span>
<a class="btn btn-xs btn-info" data-target="#add-comment" data-toggle="modal" href="javascript::void()" ui-target="#animate" ui-toggle-class="zoom">
Agregar seguimiento
</a>
</span>
</h6>
@if($sale->tracking_sales()->count() > 0)
<ul class="timeline">
@foreach( $sale->tracking_sales as $comment)
<li class="tl-item">
<div class="tl-wrap b-primary">
<span class="tl-date text-muted">{{$comment->created_at->format('d/m/Y')}}</span>
<div class="tl-content box-color text-color w-xl w-auto-xs">
<span class="arrow b-white left pull-top"></span>
<div class="text-lt p-x m-b-sm">
{{$comment->type}}
</div>
<div class="p-a b-t b-light">
{{$comment->detail}}
</div>
<div class="b-t b-light">
<i class="fa fa-user m-l" ></i>
{{$comment->user->name}}
</div>
</div>
</div>
</li>
@endforeach
</ul>
@else
<br>
<p>No se han agregado registros</p>
@endif
</div> </div>
</div> </div>
</div> </div>
...@@ -154,7 +196,7 @@ setlocale(LC_MONETARY, 'en_US'); ...@@ -154,7 +196,7 @@ setlocale(LC_MONETARY, 'en_US');
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade animate" data-backdrop="true" id="m-a-a"> <div class="modal fade animate" data-backdrop="true" id="m-a-a">
...@@ -199,4 +241,31 @@ setlocale(LC_MONETARY, 'en_US'); ...@@ -199,4 +241,31 @@ setlocale(LC_MONETARY, 'en_US');
</div> </div>
</div> </div>
<div class="modal fade animate" data-backdrop="true" id="add-comment">
<div class="modal-dialog" id="animate">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Agregar seguimiento</h5>
</div>
<div class="modal-body text-center p-lg">
{!! Form::open(['route'=> ['admin-shop-client.trackingStore', $sale->id],"method"=>"POST"]) !!}
<div class="form-group">
{!! Form::label('type', 'Tipo', ['class'=>'form-control-label']) !!}
{!! Form::select('type', ['Llamada'=>'Llamada','WhatsApp'=>'WhatsApp','SMS'=>'SMS','Email'=>'Email','Comentarios'=>'Comentarios'], null, ['class' => 'form-control select2', 'required'=>'required']) !!}
</div>
<div class="form-group">
{!! Form::label('detail', 'Detalle', ['class'=>'form-control-label']) !!}
{!! Form::text('detail', null, ['class' => 'form-control', 'required'=>'required']) !!}
</div>
<br>
{!! Form::submit('Agregar', ['class'=>'btn btn-danger btn-block']) !!}
{!! Form::close() !!}
</div>
</div>
</div>
</div>
@endsection @endsection
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment