1
0
Fork 0

Compare commits

..

No commits in common. "4c3904f38f18f8954c67914225596526faa9365d" and "bd6fdcecdb0c07e1770db6ae9c5d8cbd616240cc" have entirely different histories.

10 changed files with 71 additions and 151 deletions

View File

@ -1,12 +0,0 @@
<?php
namespace App\Admin\Controllers;
use Illuminate\Http\Request;
use Slowlyo\OwlAdmin\Controllers\AdminController;
use App\Services\Admin\CropHarvestService;
class CropHarvestController extends AdminController
{
protected string $serviceName = CropHarvestService::class;
}

View File

@ -4,11 +4,7 @@ namespace App\Admin\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Slowlyo\OwlAdmin\Controllers\AdminController; use Slowlyo\OwlAdmin\Controllers\AdminController;
use Slowlyo\OwlAdmin\Renderers\DialogAction;
use Slowlyo\OwlAdmin\Renderers\Dialog;
use App\Services\Admin\CropPlantService; use App\Services\Admin\CropPlantService;
use App\Admin\Components;
use App\Models\RegionPlantLog;
class CropPlantController extends AdminController class CropPlantController extends AdminController
{ {
@ -27,80 +23,72 @@ class CropPlantController extends AdminController
$random1 = $randArr(); $random1 = $randArr();
$random2 = $randArr(); $random2 = $randArr();
$id = $request->id; return amisMake()->Grid()->columns([
$plant = RegionPlantLog::find($id); amisMake()->Wrapper()->sm(6)->body([
$page = $this->basePage()->body([ amisMake()->Panel()->title('基础详情')
amisMake()->Grid()->columns([ ->subFormMode('horizontal')
amisMake()->Wrapper()->sm(6)->body([ ->labelWidth(100)
amisMake()->Panel()->title('种植详情') ->className('Panel--success')
->subFormMode('horizontal') ->body([
->labelWidth(100) \amisMake()->TextControl()->static(true)->name('name')->label('名称')->value('试验田1'),
->body([ \amisMake()->TextControl()->static(true)->name('name1')->label('负责人')->value('负责人'),
\amisMake()->TextControl()->static(true)->name('plant_name')->label('作物名称')->value($plant->plant_name), \amisMake()->TextControl()->static(true)->name('area')->label('种植面积m²')->value(),
\amisMake()->TextControl()->static(true)->name('director')->label('负责人')->value($plant->director), \amisMake()->TextControl()->static(true)->name('time')->label('种植时间')->value('2023-03-01'),
\amisMake()->TextControl()->static(true)->name('area')->label('种植面积m²')->value($plant->area), ]),
\amisMake()->TextControl()->static(true)->name('start_at')->label('种植时间')->value($plant->start_at), amisMake()->Panel()->title('收割记录')
]), ->className('Panel--success')
amisMake()->Panel()->title('收获记录') ->body([
->body([ \amisMake()->Button()->className('absolute top-1 right-4')->actionType('dialog')->label('新增')->dialog([
DialogAction::make()->className('absolute top-1 right-4')->label(__('admin.create'))->dialog( "title"=> "收割记录",
Dialog::make()->title('收获记录')->body($this->harvestCreateForm($plant)) "body"=> [
), "type"=> "form",
\amisMake()->CRUDTable() "api"=> "",
->api(admin_url('crop-harvestes').'?_action=getData&plant_id='.$plant->id) "body"=> [
->title('') \amisMake()->TextControl()->label('负责人'),
->columns([ \amisMake()->TextControl()->label('收割面积'),
amisMake()->TableColumn()->name('name')->label('负责人'), \amisMake()->TextControl()->label('收割产量'),
amisMake()->TableColumn()->name('name1')->label('收获面积m²'), \amisMake()->DateControl()->label('收割时间'),
amisMake()->TableColumn()->name('area')->label('收获产量kg'), ]
amisMake()->TableColumn()->name('time1')->label('收获时间'), ]
]) ])->level('primary'),
]), \amisMake()->CRUDTable()->title('')
]), ->data([
amisMake()->Wrapper()->sm(6)->body([ 'items' => [
\amisMake()->grid()->columns([ [
\amisMake()->Form()->title('搜索条件')->mode('inline')->body([ 'name'=> '负责人',
\amisMake()->DateRangeControl()->label('时间范围'), 'name1'=> '100',
amis('submit')->label(__('admin.search'))->level('primary'), 'area'=> '100',
]), 'time1'=> '2023-03-21',
],
]
])->columns([
amisMake()->TableColumn()->name('name')->label('负责人'),
amisMake()->TableColumn()->name('name1')->label('收割面积'),
amisMake()->TableColumn()->name('area')->label('收割产量'),
amisMake()->TableColumn()->name('time1')->label('收割时间'),
])
]),
]),
amisMake()->Wrapper()->sm(6)->body([
\amisMake()->grid()->columns([
\amisMake()->Form()->title('搜索条件')->mode('inline')->body([
\amisMake()->DateRangeControl()->label('时间范围'),
amis('submit')->label(__('admin.search'))->level('primary'),
]), ]),
amisMake()->Card()->className('m-r')->body(
amisMake()->Chart()->config("{
title:{ text: '种植情况'},
tooltip: { trigger: 'axis' },
xAxis: { type: 'category', boundaryGap: false, data: ['2023-03-01', '2023-03-10', '2023-03-15', '2023-03-15', '2023-03-20', '2023-03-25', '2023-03-31'] },
yAxis: { type: 'value' },
grid:{ left: '7%', right:'3%', top: 60, bottom: 30, },
series: [
{ name:'面积', data: {$random2}, type: 'line', areaStyle: {}, smooth: true, symbol: 'none', },
{ name:'产量', data: {$random1}, type: 'line', areaStyle: {}, smooth: true, symbol: 'none', },
]}")
),
]), ]),
]) amisMake()->Card()->className('m-r')->body(
amisMake()->Chart()->config("{
title:{ text: '种植情况'},
tooltip: { trigger: 'axis' },
xAxis: { type: 'category', boundaryGap: false, data: ['2023-03-01', '2023-03-10', '2023-03-15', '2023-03-15', '2023-03-20', '2023-03-25', '2023-03-31'] },
yAxis: { type: 'value' },
grid:{ left: '7%', right:'3%', top: 60, bottom: 30, },
series: [
{ name:'面积', data: {$random2}, type: 'line', areaStyle: {}, smooth: true, symbol: 'none', },
{ name:'产量', data: {$random1}, type: 'line', areaStyle: {}, smooth: true, symbol: 'none', },
]}")
),
]),
]); ]);
return $page; }
}
public function harvestCreateForm(RegionPlantLog $plant = null) {
return amisMake()->Form()
->api([
'method'=>'post',
'url'=>admin_url('crop-harvestes'),
"data" => [
'plant_id'=>'${plant_id}',
'director'=>'${harbest_director}',
'area'=>'${harbest_area}',
'output'=>'${output}',
'harvest_at'=>'${harvest_at}',
],
])
->body([
\amisMake()->TextControl()->name('plant_id')->label('计划ID')->hidden(true)->value($plant?->id ?? 0),
\amisMake()->TextControl()->name('harbest_director')->label('负责人')->required(true),
Components::make()->decimalControl('harbest_area','收获面积m²')->required(true),
Components::make()->decimalControl('output','收获产量kg')->required(true),
\amisMake()->DateControl()->name('harvest_at')->format('YYYY-MM-DD HH:mm:ss')->label('收获时间')->required(true),
]);
}
} }

View File

@ -163,13 +163,13 @@ class CustomRegionController extends AdminController
->columns([ ->columns([
amisMake()->TableColumn()->name('plant_name')->label('名称'), amisMake()->TableColumn()->name('plant_name')->label('名称'),
amisMake()->TableColumn()->name('director')->label('负责人'), amisMake()->TableColumn()->name('director')->label('负责人'),
amisMake()->TableColumn()->name('area')->label('种植面积'), amisMake()->TableColumn()->name('area')->label('种植面积'),
amisMake()->TableColumn()->name('start_at')->label('种植时间'), amisMake()->TableColumn()->name('start_at')->label('种植时间'),
]) ])
->itemAction([ ->itemAction([
'type'=>'button', 'type'=>'button',
'actionType'=>'dialog', 'actionType'=>'dialog',
'dialog'=> \amisMake()->Dialog()->title('${plant_name}') 'dialog'=> \amisMake()->Dialog()->title('作物名称')
->size('full')->actions([])->body([ ->size('full')->actions([])->body([
\amisMake()->Tabs()->tabsMode('simple')->name('detailTab')->tabs([ \amisMake()->Tabs()->tabsMode('simple')->name('detailTab')->tabs([
[ [

View File

@ -79,7 +79,6 @@ Route::group([
//种植记录 //种植记录
$router->resource('crop-plants', \App\Admin\Controllers\CropPlantController::class)->only(['index','store', 'edit', 'update', 'destroy']); $router->resource('crop-plants', \App\Admin\Controllers\CropPlantController::class)->only(['index','store', 'edit', 'update', 'destroy']);
$router->resource('crop-harvestes', \App\Admin\Controllers\CropHarvestController::class)->only(['index','store', 'edit', 'update', 'destroy']);
$router->post('crop-plant-detail', '\App\Admin\Controllers\CropPlantController@plantDetail'); $router->post('crop-plant-detail', '\App\Admin\Controllers\CropPlantController@plantDetail');
$router->resource('system/settings', \App\Admin\Controllers\SettingController::class); $router->resource('system/settings', \App\Admin\Controllers\SettingController::class);

View File

@ -1,15 +0,0 @@
<?php
namespace App\Filters\Admin;
use EloquentFilter\ModelFilter;
class PlantHarvestLogFilter extends ModelFilter
{
/**
* 所属种植计划
*/
public function plant($plantId){
return $this->where('plant_id', $plantId);
}
}

View File

@ -1,22 +0,0 @@
<?php
namespace App\Filters\Admin;
use EloquentFilter\ModelFilter;
class RegionPlantLogFilter extends ModelFilter
{
/**
* 名称
*/
public function plantName($name){
return $this->where('plant_name', 'like', '%'.$name.'%');
}
/**
* 所属区域
*/
public function region($regionId){
return $this->where('region_id', $regionId);
}
}

View File

@ -2,10 +2,10 @@
namespace App\Models; namespace App\Models;
use EloquentFilter\Filterable; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class PlantHarvestLog extends Model class PlantHarvestLog extends Model
{ {
use Filterable; use HasFactory;
} }

View File

@ -2,10 +2,10 @@
namespace App\Models; namespace App\Models;
use EloquentFilter\Filterable; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class RegionPlantLog extends Model class RegionPlantLog extends Model
{ {
use Filterable; use HasFactory;
} }

View File

@ -1,14 +0,0 @@
<?php
namespace App\Services\Admin;
use App\Models\PlantHarvestLog;
/**
* @method PlantHarvestLog getModel()
* @method PlantHarvestLog|\Illuminate\Database\Query\Builder query()
*/
class CropHarvestService extends BaseService
{
protected string $modelName = PlantHarvestLog::class;
}

View File

@ -3,7 +3,6 @@
namespace App\Services\Admin; namespace App\Services\Admin;
use App\Models\RegionPlantLog; use App\Models\RegionPlantLog;
use App\Filters\Admin\RegionPlantFilter;
/** /**
* @method RegionPlantLog getModel() * @method RegionPlantLog getModel()
@ -12,7 +11,4 @@ use App\Filters\Admin\RegionPlantFilter;
class CropPlantService extends BaseService class CropPlantService extends BaseService
{ {
protected string $modelName = RegionPlantLog::class; protected string $modelName = RegionPlantLog::class;
protected string $modelFilterName = RegionPlantFilter::class;
} }