160 lines
6.2 KiB
PHP
160 lines
6.2 KiB
PHP
<?php
|
|
|
|
namespace Romanah\Gokbakja\Components;
|
|
|
|
use Cms\Classes\ComponentBase;
|
|
use Romanah\Gokbakja\Models\Production as ProductionModel;
|
|
use Romanah\Gokbakja\Models\PivotProduction as PivotProductionModel;
|
|
use Romanah\Gokbakja\Models\Order as OrderModel;
|
|
use Romanah\Gokbakja\Models\Shipping as ShippingModel;
|
|
use Redirect;
|
|
use Carbon\Carbon;
|
|
use Flash;
|
|
use DB;
|
|
|
|
class Order extends ComponentBase
|
|
{
|
|
|
|
|
|
public function componentDetails()
|
|
{
|
|
return [
|
|
'name' => 'Order',
|
|
'description' => 'Order settings'
|
|
];
|
|
}
|
|
|
|
|
|
|
|
public function onRender(){
|
|
|
|
$html_data = '';
|
|
|
|
$orderDatas = OrderModel::with(["client", "shipping"])->orderBy('id', 'DESC')->get();
|
|
|
|
for ($x = 0; $x < count($orderDatas); $x++) {
|
|
$html_data .= '<tr>
|
|
<td style="font-weight: bold;">'.($x+1).'</td>
|
|
<td><a href="/order-detail/'.$orderDatas[$x]->id.'" style="font-weight: bold;">Sargyt #'.$orderDatas[$x]->id.'</a></td>
|
|
<td><a href="/order-detail/'.$orderDatas[$x]->id.'" style="font-weight: bold;">'.$orderDatas[$x]->client->name.'</a></td>
|
|
<td>'.$orderDatas[$x]->client->country.'</td>
|
|
<td>'.number_format($orderDatas[$x]->amount).' kg</td>
|
|
<td><span class="badge badge-soft-success"
|
|
style="font-size: 14px;">'.number_format($orderDatas[$x]->price).' $</span>
|
|
</td>
|
|
<td><a href="#" class="badge badge-soft-'.($orderDatas[$x]->shipping->status == 'not_loaded' ? 'danger' : 'primary' ).'" style="font-size: 14px;">'.($orderDatas[$x]->shipping->status == 'not_loaded' ? 'Ýüklenmedik' : 'Ýüklenýär' ).'</a>
|
|
</td>
|
|
<td>'.$orderDatas[$x]->created_at->format('d.m.Y').'</td>
|
|
<td>'.$orderDatas[$x]->note.'</td>
|
|
</tr>';
|
|
|
|
}
|
|
|
|
|
|
return $html_data;
|
|
}
|
|
|
|
// data-request="onModalSet" data-request-data="orderId: '.$orderDatas[$x]->id.', header: \''.$orderDatas[$x]->client->name.'\'" data-bs-toggle="modal" data-bs-target=".bs-example-modal-sm-1"
|
|
|
|
public function onModalSet(){
|
|
|
|
$data = post();
|
|
|
|
$html_data = '<div class="modal-header">
|
|
<h5 class="modal-title" id="mySmallModalLabel">'.$data["header"].'</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"
|
|
aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form data-request="" method="POST" data-request-flash>
|
|
<input type="number" step="0.01" pattern="/^-?\d+\.?\d*$/"
|
|
onKeyPress="if(this.value.length==4) return false;"
|
|
name="product}" class="form-control"
|
|
placeholder="%"
|
|
value="qqqq">
|
|
|
|
<button type="submit"
|
|
class="btn btn-primary waves-effect waves-light"
|
|
style="margin-top: 15px;width: 100%;">Üýtget</button>
|
|
</form>
|
|
</div>';
|
|
|
|
return [
|
|
'#modal-form' => $html_data,
|
|
];
|
|
|
|
}
|
|
|
|
|
|
public function onCreateOrder()
|
|
{
|
|
$currentDate = Carbon::now()->timezone('UTC +05:00');
|
|
|
|
$currentDateFormat = $currentDate->format('Y-m-d');
|
|
|
|
$data = post();
|
|
|
|
|
|
|
|
|
|
$createOrder = new OrderModel();
|
|
$createOrder->client_id = $data["client_id"];
|
|
$createOrder->amount = $data["amount"];
|
|
$createOrder->price = $data["price"];
|
|
$createOrder->note = $data["note"];
|
|
$createOrder->shipping_id = 0;
|
|
$createOrder->save();
|
|
|
|
$createShipping = new ShippingModel();
|
|
$createShipping->order_id = $createOrder->id;
|
|
$createShipping->status = 'not_loaded';
|
|
$createShipping->employee_id = 0;
|
|
$createShipping->place_now = "Aşgabat";
|
|
$createShipping->loaded_amount = 0;
|
|
$createShipping->note = "";
|
|
$createShipping->save();
|
|
|
|
|
|
$createOrder->shipping_id = $createShipping->id;
|
|
$createOrder->save();
|
|
|
|
$html_data = '';
|
|
|
|
$orderDatas = OrderModel::with(["client", "shipping"])->orderBy('id', 'DESC')->get();
|
|
|
|
for ($x = 0; $x < count($orderDatas); $x++) {
|
|
// dd($orderDatas[$x]->shipping->status);
|
|
$html_data .= '<tr>
|
|
<td style="font-weight: bold;">'.($x+1).'</td>
|
|
<td><a href="/order-detail/'.$orderDatas[$x]->id.'" style="font-weight: bold;">Sargyt #'.$orderDatas[$x]->id.'</a></td>
|
|
<td><a href="#" style="font-weight: bold;">'.$orderDatas[$x]->client->name.'</a></td>
|
|
<td>'.$orderDatas[$x]->client->country.'</td>
|
|
<td>'.number_format($orderDatas[$x]->amount).' kg</td>
|
|
<td><span class="badge badge-soft-success"
|
|
style="font-size: 14px;">'.number_format($orderDatas[$x]->price).' $</span>
|
|
</td>
|
|
<td><a href="#" class="badge badge-soft-'.($orderDatas[$x]->shipping->status == 'not_loaded' ? 'danger' : 'primary' ).'" style="font-size: 14px;">'.($orderDatas[$x]->shipping->status == 'not_loaded' ? 'Ýüklenmedik' : 'Ýüklenýär' ).'</a>
|
|
</td>
|
|
<td>'.$orderDatas[$x]->created_at->format('d.m.Y').'</td>
|
|
<td>'.$orderDatas[$x]->note.'</td>
|
|
</tr>';
|
|
|
|
|
|
}
|
|
|
|
if($createOrder){
|
|
|
|
Flash::success("Sargyt Ustunlikli Goşuldy");
|
|
return [
|
|
'#order_datas' => $html_data,
|
|
];
|
|
}else{
|
|
return Flash::error("Yalnyshlyk bar!!");
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|