diff --git a/app/Admin/Controllers/ProductController.php b/app/Admin/Controllers/ProductController.php index 2fd83d6..ca57abd 100644 --- a/app/Admin/Controllers/ProductController.php +++ b/app/Admin/Controllers/ProductController.php @@ -10,7 +10,9 @@ use App\Models\AgentProduct; use App\Models\AgentProductItem; use App\Models\Category; use App\Models\Supplier; +use Dcat\Admin\Admin; use Dcat\Admin\Form; +use Dcat\Admin\Form\NestedForm; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; @@ -122,6 +124,78 @@ class ProductController extends AdminController ->required(); $form->editor('know'); $form->editor('content'); + $form->mobile('verify_mobile')->required(); + + $form->radio('type', '产品类型') + ->options(admin_trans('product.options.publish_type'))->disable($form->isEditing()) + ->default(current(admin_trans('product.options.publish_type'))) + ->when(0, function (Form $form) { //旅游线路 + if ($form->isEditing() && $form->model()->type != 0) { + return; + } + $form->table('extends.field_0_project', '包含项目', function (NestedForm $table) { + $table->text('name', '字段1'); + $table->text('num', '字段2'); + $table->text('price', '字段3'); + })->help('第一行数据默认是表头,如:项目名称、数量、额外费用'); + + $form->dateRange('extends.field_0_date.start', 'extends.field_0_date.end', '行程时间'); + })->when(1, function (Form $form) { //酒店 + if ($form->isEditing() && $form->model()->type != 1) { + return; + } + $default = [ + ['tag' => '行李寄存'], ['tag' => '24小时前台'], ['tag' => '前台保险柜'], ['tag' => '唤醒服务'], + ['tag' => '早餐'], ['tag' => '送餐服务'], ['tag' => '电梯'], ['tag' => '空调'], + ['tag' => '新风系统'], ['tag' => '24小时热水'], ['tag' => '吹风机'], ['tag' => '加湿器'], + ['tag' => '自动售货机'], ['tag' => '健身房'], ['tag' => '桌球室'], ['tag' => '洗衣服务'] + ]; + $form->table('extends.field_1_tags', '酒店设施', function (NestedForm $table) { + $table->text('tag', '包含项目')->placeholder('如:24小时热水、干洗服务等'); + })->value($default)->help('首次创建时,系统会默认填充基本服务,请根据本酒店情况进行删减或新增'); + + $form->text('extends.field_1_name', '酒店名'); + $form->text('extends.field_1_address', '地址'); + $form->map('extends.field_1_latitude', 'extends.field_1_longitude', '位置'); + })->when(2, function (Form $form) { //景区 + if ($form->isEditing() && $form->model()->type != 2) { + return; + } + $form->table('extends.field_2_open_time', '开放时间', function (NestedForm $table) { + $table->text('node', '字段1')->placeholder('如:周一至周五'); + $table->text('summer', '字段2')->placeholder('如:08:00~19:00'); + $table->text('winter', '字段3')->placeholder('如:08:00~18:00'); + })->help('第一行数据默认是表头,如:项目名称、数量、额外费用'); + + $form->table('extends.field_2_project', '包含项目', function (NestedForm $table) { + $table->text('name', '字段1'); + $table->text('num', '字段2'); + $table->text('price', '字段3'); + })->help('第一行数据默认是表头,如:项目名称、数量、额外费用'); + + $form->text('extends.field_2_name', '景区名'); + $form->text('extends.field_2_address', '地址'); + $form->map('extends.field_2_latitude', 'extends.field_2_longitude', '位置'); + })->when(3, function (Form $form) { //餐厅 + if ($form->isEditing() && $form->model()->type != 3) { + return; + } + $form->table('extends.field_3_open_time', '开放时间', function (NestedForm $table) { + $table->text('week', '字段1')->placeholder('如:周一至周五'); + $table->text('section', '字段2')->placeholder('如:上午/下午'); + $table->text('time', '字段3')->placeholder('如:08:00~18:00'); + })->help('第一行数据默认是表头,如:项目名称、数量、额外费用'); + + $form->table('extends.field_3_package', '包含套餐', function (NestedForm $table) { + $table->text('name', '字段1')->placeholder('如:清蒸鱿鱼'); + $table->text('num', '字段2')->placeholder('如:1条'); + $table->text('price', '字段3')->placeholder('如:99元'); + })->help('第一行数据默认是表头,如:项目名称、数量、额外费用'); + + $form->text('extends.field_3_name', '餐厅名'); + $form->text('extends.field_3_address', '地址'); + $form->map('extends.field_3_latitude', 'extends.field_3_longitude', '位置'); + }); })->saving(function (Form $form) { //不允许编辑的字段 if ($form->isEditing()) {