后台优化

This commit is contained in:
2025-05-19 09:14:51 +08:00
parent 302acbc5ab
commit b6799b97d7
7 changed files with 859 additions and 2 deletions
@@ -21,6 +21,12 @@ class LocationController extends Crud
*/
protected $model = null;
/**
* 不需要鉴权的方法
* @var string[]
*/
protected $noNeedAuth = ['getAll'];
/**
* 构造函数
* @return void
@@ -241,6 +247,11 @@ class LocationController extends Crud
]);
}
// public function updateLogistics(Request $request): Response
// {
// return $this->update($request);
// }
/**
* 获取下拉选项接口
*/
@@ -145,6 +145,10 @@ class RuleController extends Crud
$permissions[] = $code;
}
// $permissions = ["app.admin.vehicle.select","app.admin.vehicle.detail"];
// $permissions[] = "app.admin.vehicle.select";
// $permissions[] = "app.admin.vehicle.detail";
// $permissions[] = "app.admin.vehicle.logistics";
// $permissions[] = "app.admin.vehicle.updateLogistics";
return $this->json(0, 'ok', $permissions);
}
@@ -34,7 +34,7 @@ class VehicleController extends Crud
* 不需要鉴权的方法
* @var string[]
*/
protected $noNeedAuth = ['detail', 'status'];
protected $noNeedAuth = ['detail', 'status', 'updateLogistics'];
protected $status = [
'zh-cn' => ['未知','待发车','在途(发往fbo港口)','抵达发货港口','在途(发往目的地仓库)','抵达目的地','售出'],
@@ -125,6 +125,66 @@ class VehicleController extends Crud
'translations' => $translations
]);
}
/**
* 浏览
* @return Response
*/
public function logistics(): Response
{
$lang = session('lang', 'zh-cn');
$translations = (array)require __DIR__ . '/../lang/' . $lang . '/vehicle.php';
$common = (array)require __DIR__ . '/../lang/' . $lang . '/common.php';
$translations = array_merge($common, $translations); // 确保 common.php 的翻译优先
// 添加默认翻译,确保所有语言都有基本翻译
$required_translations = [
'title' => $lang === 'zh-cn' ? '车辆管理' : 'Vehicle Management', // 确保title翻译存在
'brand' => $lang === 'zh-cn' ? '车辆品牌' : 'Vehicle Brand',
'brand_placeholder' => $lang === 'zh-cn' ? '请输入车辆品牌' : 'Please enter vehicle brand',
'model' => $lang === 'zh-cn' ? '车辆型号' : 'Vehicle Model',
'model_placeholder' => $lang === 'zh-cn' ? '请输入车辆型号' : 'Please enter vehicle model',
'vin' => 'VIN',
'vin_placeholder' => $lang === 'zh-cn' ? '请输入车架号' : 'Please enter VIN',
'status' => $lang === 'zh-cn' ? '车辆状态' : 'Status',
'status_placeholder' => $lang === 'zh-cn' ? '请选择状态' : 'Please select status',
'purchase_location' => $lang === 'zh-cn' ? '买车地点' : 'Purchase Location',
'purchase_location_placeholder' => $lang === 'zh-cn' ? '请输入买车地点' : 'Please enter purchase location',
'procedure_location' => $lang === 'zh-cn' ? '手续办理地' : 'Procedure Location',
'procedure_location_placeholder' => $lang === 'zh-cn' ? '请输入手续办理地' : 'Please enter procedure location',
'fbo_location' => 'FBO Location',
'fbo_location_placeholder' => $lang === 'zh-cn' ? '请选择FBO目的地' : 'Please select FBO location',
'current_location' => $lang === 'zh-cn' ? '车辆所在地' : 'Current Location',
'current_location_placeholder' => $lang === 'zh-cn' ? '请选择车辆所在地' : 'Please select current location',
'final_location' => $lang === 'zh-cn' ? '最终目的地' : 'Final Location',
'final_location_placeholder' => $lang === 'zh-cn' ? '请选择最终目的地' : 'Please select final location',
'departure_time' => $lang === 'zh-cn' ? 'FBO发车时间' : 'FBO Departure Time',
'departure_time_placeholder' => $lang === 'zh-cn' ? '请选择发车时间' : 'Please select departure time',
'arrival_time' => $lang === 'zh-cn' ? 'FBO到达时间' : 'FBO Arrival Time',
'arrival_time_placeholder' => $lang === 'zh-cn' ? '请选择到达时间' : 'Please select arrival time',
'shipping_cycle' => $lang === 'zh-cn' ? '运输周期' : 'Shipping Cycle',
'shipping_cycle_placeholder' => $lang === 'zh-cn' ? '请输入运输周期' : 'Please enter shipping cycle',
'img_url' => $lang === 'zh-cn' ? '图片' : 'Image',
'img_url_placeholder' => $lang === 'zh-cn' ? '请输入图片URL' : 'Please enter image URL',
'operation' => $lang === 'zh-cn' ? '操作' : 'Operation',
'refresh' => $lang === 'zh-cn' ? '刷新' : 'Refresh',
'filter' => $lang === 'zh-cn' ? '筛选' : 'Filter',
'print' => $lang === 'zh-cn' ? '打印' : 'Print',
'export' => $lang === 'zh-cn' ? '导出' : 'Export',
'id' => 'ID',
'created_at' => $lang === 'zh-cn' ? '创建时间' : 'Created At',
'updated_at' => $lang === 'zh-cn' ? '更新时间' : 'Updated At'
];
// 合并翻译,确保语言文件中的翻译优先
$translations = array_merge($required_translations, $translations);
return view('vehicle/logistics', [
'lang' => $lang,
'translations' => $translations
]);
}
/**
* 插入
@@ -314,6 +374,69 @@ class VehicleController extends Crud
'lang' => $lang,
'translations' => $translations
]);
} /**
* 更新
* @param Request $request
* @return Response
* @throws BusinessException
*/
public function updateLogistics(Request $request): Response
{
$id = $request->input('id');
$lang = session('lang', 'zh-cn');
$translations = (array)require __DIR__ . '/../lang/' . $lang . '/vehicle.php';
$common = (array)require __DIR__ . '/../lang/' . $lang . '/common.php';
$translations = array_merge($translations, $common);
// 只在中文时使用默认翻译
if ($lang === 'zh-cn') {
$required_translations = [
'brand' => '车辆品牌',
'brand_placeholder' => '请输入车辆品牌',
'model' => '车辆型号',
'model_placeholder' => '请输入车辆型号',
'vin' => '车架号',
'vin_placeholder' => '请输入车架号',
'status' => '车辆状态',
'status_placeholder' => '请选择状态',
'purchase_location' => '买车地点',
'purchase_location_placeholder' => '请输入买车地点',
'procedure_location' => '手续办理地',
'procedure_location_placeholder' => '请输入手续办理地',
'fbo_location' => 'FBO目的地',
'fbo_location_placeholder' => '请选择FBO目的地',
'current_location' => '车辆所在地',
'current_location_placeholder' => '请选择车辆所在地',
'final_location' => '最终目的地',
'final_location_placeholder' => '请选择最终目的地',
'departure_time' => 'FBO发车时间',
'departure_time_placeholder' => '请选择发车时间',
'arrival_time' => 'FBO到达时间',
'arrival_time_placeholder' => '请选择到达时间',
'shipping_cycle' => '运输周期',
'shipping_cycle_placeholder' => '请输入运输周期',
'img_url' => '图片',
'img_url_placeholder' => '请输入图片URL'
];
$translations = array_merge($required_translations, $translations);
}
// 如果是 POST 请求,处理数据保存和翻译
if ($request->method() === 'POST') {
$this->save($request);
}
$data = Vehicle::where('id', $id)->first();
if (!$data) {
return json(['code' => 1, 'msg' => $translations['data_not_found'] ?? '数据不存在']);
}
return view('vehicle/updateLogistics', [
'id' => $id,
'data' => $data,
'lang' => $lang,
'translations' => $translations
]);
}
/**