|
|
@@ -48,6 +48,9 @@ class FarmLandController extends AdminController
|
|
|
$grid->column('position', '位置')->sortable();
|
|
|
$helper->columnLandType();
|
|
|
$helper->columnLandStatus();
|
|
|
+ $grid->column('has_crop', '是否有作物')->display(function ($value) {
|
|
|
+ return $value ? '有作物' : '无作物';
|
|
|
+ });
|
|
|
|
|
|
// 关联显示种子状态
|
|
|
$grid->column('crop.seed_id', '种子ID')->display(function ($seedId) {
|
|
|
@@ -100,6 +103,7 @@ class FarmLandController extends AdminController
|
|
|
$filter->equal('position', '位置');
|
|
|
$filterHelper->equalLandType();
|
|
|
$filterHelper->equalLandStatus();
|
|
|
+ $filter->equal('has_crop', '是否有作物')->select([0 => '无作物', 1 => '有作物']);
|
|
|
$filter->equal('crop.seed_id', '种子ID');
|
|
|
$filter->equal('crop.growth_stage', '生长阶段')->select(\App\Module\Farm\Enums\GROWTH_STAGE::getAll());
|
|
|
$filterHelper->betweenDatetime('created_at', '创建时间');
|
|
|
@@ -152,6 +156,9 @@ class FarmLandController extends AdminController
|
|
|
|
|
|
// 直接使用select方法而不是selectOptionCast,避免枚举类型转换问题
|
|
|
$form->select('status', '状态')->options(\App\Module\Farm\Enums\LAND_STATUS::getValueDescription());
|
|
|
+ $form->display('has_crop', '是否有作物')->with(function ($value) {
|
|
|
+ return $value ? '有作物' : '无作物';
|
|
|
+ });
|
|
|
|
|
|
$form->display('created_at', '创建时间');
|
|
|
$form->display('updated_at', '更新时间');
|
|
|
@@ -162,6 +169,10 @@ class FarmLandController extends AdminController
|
|
|
if ($form->status !== null) {
|
|
|
$form->status = (int)$form->status;
|
|
|
}
|
|
|
+
|
|
|
+ // 根据状态自动更新has_crop字段
|
|
|
+ $status = (int)$form->status;
|
|
|
+ $form->has_crop = in_array($status, [1, 2, 3, 4]) ? 1 : 0;
|
|
|
});
|
|
|
});
|
|
|
}
|