133 lines
3.2 KiB
PHP
133 lines
3.2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace plugin\admin\app\controller;
|
||
|
|
|
||
|
|
use plugin\admin\app\model\Location;
|
||
|
|
use support\Request;
|
||
|
|
use support\Response;
|
||
|
|
use plugin\admin\app\model\Vehicle;
|
||
|
|
use plugin\admin\app\controller\Crud;
|
||
|
|
use support\exception\BusinessException;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 车辆信息
|
||
|
|
*/
|
||
|
|
class VehicleController extends Crud
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* 不需要登录的方法
|
||
|
|
* @var string[]
|
||
|
|
*/
|
||
|
|
protected $noNeedLogin = ['detail'];
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 不需要鉴权的方法
|
||
|
|
* @var string[]
|
||
|
|
*/
|
||
|
|
protected $noNeedAuth = ['detail'];
|
||
|
|
|
||
|
|
protected $status = ['未知','待发车','在途(发往fbo港口)','抵达发货港口','在途(发往目的地仓库)','抵达仓库','售出'];
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var Vehicle
|
||
|
|
*/
|
||
|
|
protected $model = null;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 构造函数
|
||
|
|
* @return void
|
||
|
|
*/
|
||
|
|
public function __construct()
|
||
|
|
{
|
||
|
|
$this->model = new Vehicle;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 浏览
|
||
|
|
* @return Response
|
||
|
|
*/
|
||
|
|
public function index(): Response
|
||
|
|
{
|
||
|
|
return view('vehicle/index');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 插入
|
||
|
|
* @param Request $request
|
||
|
|
* @return Response
|
||
|
|
* @throws BusinessException
|
||
|
|
*/
|
||
|
|
public function insert(Request $request): Response
|
||
|
|
{
|
||
|
|
if ($request->method() === 'POST') {
|
||
|
|
return parent::insert($request);
|
||
|
|
}
|
||
|
|
return view('vehicle/insert');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 更新
|
||
|
|
* @param Request $request
|
||
|
|
* @return Response
|
||
|
|
* @throws BusinessException
|
||
|
|
*/
|
||
|
|
public function update(Request $request): Response
|
||
|
|
{
|
||
|
|
if ($request->method() === 'POST') {
|
||
|
|
return parent::update($request);
|
||
|
|
}
|
||
|
|
return view('vehicle/update');
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 详情
|
||
|
|
* @param Request $request
|
||
|
|
* @return Response
|
||
|
|
* @throws BusinessException
|
||
|
|
*/
|
||
|
|
public function detail(Request $request): Response
|
||
|
|
{
|
||
|
|
return view('vehicle/detail');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 查询
|
||
|
|
* @param Request $request
|
||
|
|
* @return Response
|
||
|
|
* @throws BusinessException
|
||
|
|
*/
|
||
|
|
/* public function list(Request $request)
|
||
|
|
{
|
||
|
|
[$where, $format, $limit, $field, $order] = $this->selectInput($request);
|
||
|
|
return json($where);
|
||
|
|
$query = $this->doSelect($where, $field, $order);
|
||
|
|
$data = $this->doFormat($query, $format, $limit);
|
||
|
|
// foreach ($data['data'] as &$value) {
|
||
|
|
// $value['locations'] = Location::find($value['locations_id'])->name;
|
||
|
|
// }
|
||
|
|
// $data = json_decode(json_encode($data), true);
|
||
|
|
return $data;
|
||
|
|
}*/
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 查询后置处理,添加位置信息
|
||
|
|
* @param mixed $items
|
||
|
|
* @return mixed
|
||
|
|
*/
|
||
|
|
protected function afterQuery($items)
|
||
|
|
{
|
||
|
|
foreach ($items as &$item) {
|
||
|
|
$location = Location::find($item->locations_id);
|
||
|
|
$item->status = $this->status[$item->status]??$this->status[0];
|
||
|
|
$item->location_name = $location ? $location->name : '';
|
||
|
|
$final_location = Location::find($item->final_locations_id);
|
||
|
|
$item->final_location_name = $final_location ? $final_location->name : '';
|
||
|
|
$fbo_location = Location::find($item->fbo_locations_id);
|
||
|
|
$item->fbo_location_name = $fbo_location ? $fbo_location->name : '';
|
||
|
|
}
|
||
|
|
return $items;
|
||
|
|
}
|
||
|
|
}
|