baseCRUD()->tableLayout('fixed') ->headerToolbar([ $this->createButton(), ...$this->baseHeaderToolBar(), ]) ->filter($this->baseFilter()->body([ amis()->GroupControl()->mode('horizontal')->body([ amis()->TextControl('sku', __('admin.products.sku')) ->placeholder(__('admin.products.sku')), amis()->TextControl('name', __('admin.products.name')) ->placeholder(__('admin.products.name')), ]), ])) ->columns([ amis()->TableColumn('name', __('admin.products.name'))->width('300px'), amis()->TableColumn('sku', __('admin.sku'))->sortable(true), amis()->TableColumn('category.name', __('admin.products.category')), amis()->TableColumn('cover', __('admin.products.cover'))->type('image')->height('50px')->width('50px')->enlargeAble(true), amis()->TableColumn('is_sale', __('admin.products.is_sale'))->type('switch'), amis()->TableColumn('is_recommend', __('admin.products.is_recommend'))->type('switch'), amis()->Operation()->label(__('admin.actions'))->buttons([ $this->rowEditButton(), $this->rowDeleteButton(), ]) ]); return $this->baseList($crud); } public function form(): Form { return $this->baseForm()->panelClassName('px-0')->body([ amis()->Tabs()->tabsMode('line')->tabs([ //基础信息 amis()->Tab()->title(__('admin.products.tab1'))->body([ amis()->Grid()->columns([ amis()->Wrapper()->body([ amis()->TextControl('name', __('admin.products.name'))->required(true), Components::make()->parentControl(admin_url('api/product_categories/tree-list'), 'category_id', __('admin.products.category')), amis()->TextControl('spu', __('admin.products.spu'))->description('*未填写则自动生成唯一spu'), amis()->TextareaControl('sub_title', __('admin.products.sub_title'))->minRows(5), Components::make()->sortControl('virtual_sales', __('admin.products.virtual_sales')), Components::make()->sortControl('stocks', __('admin.products.stocks'))->description('*已销售过的商品无法直接编辑库存,需前往商品库存中操作。'), Components::make()->decimalControl('price', __('admin.products.price')), amis()->SwitchControl('is_sale', __('admin.products.is_sale'))->value(false), amis()->SwitchControl('is_show', __('admin.products.is_show'))->value(false), ])->md(4), amis()->Wrapper()->body([ Components::make()->imageControl('photos', __('admin.products.photos'))->multiple(true)->draggable(true)->required(true), Components::make()->cropImageControl('cover', __('admin.products.cover'))->description('*若不选择上传,则默认为相册第一张'), Components::make()->sortControl('sort', __('admin.products.sort')), amis()->SwitchControl('is_recommend', __('admin.products.is_recommend'))->value(false), amis()->SwitchControl('is_hot', __('admin.products.is_hot'))->value(false), amis()->SwitchControl('is_new', __('admin.products.is_new'))->value(false), ])->md(8) ]), ]), //详情,信息 amis()->Tab()->title(__('admin.products.tab2'))->body([ //详情,基础信息,运费模板,属性标签, amis()->Grid()->columns([ amis()->Wrapper()->body([ Components::make()->keywordsTagControl('t_ids', __('admin.products.tags'), 'product_tag'), amis()->SelectControl('shipping_tmp_id', __('admin.products.shipping_tmp_id'))->required(true), amis()->InputKV()->name('base_info')->label('参数信息')->keyPlaceholder('属性')->valuePlaceholder('值'), ])->md(4), amis()->Wrapper()->body([ Components::make()->fuEditorControl('description', __('admin.products.description')), ])->md(8), ]), ]), //多属性商品 amis()->Tab()->title(__('admin.products.tab3'))->body([ ]) ]) ]); } public function detail(): Form { return $this->baseDetail()->body([]); } }