From dca26e9da27f84c607b0883fd68d173aebcb4de6 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Tue, 27 Sep 2022 11:17:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/zh_CN/goods.php | 4 ++-- src/Action/GridImportGoods.php | 21 +++++++++++++++++++ src/Form/Goods/ImportForm.php | 29 +++++++++++++++++++++++++++ src/Http/Admin/GoodsController.php | 6 +++++- src/Http/Admin/GoodsSkuController.php | 9 +++++---- 5 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 src/Action/GridImportGoods.php create mode 100644 src/Form/Goods/ImportForm.php diff --git a/lang/zh_CN/goods.php b/lang/zh_CN/goods.php index d124dd8..aa3cf41 100644 --- a/lang/zh_CN/goods.php +++ b/lang/zh_CN/goods.php @@ -25,9 +25,9 @@ return [ 'brand' => [ 'name' => '品牌', ], - 'type_id' => '类别', + 'type_id' => '类型', 'type' => [ - 'name' => '类别', + 'name' => '类型', ], 'name' => '名称', 'goods_sn' => '编号', diff --git a/src/Action/GridImportGoods.php b/src/Action/GridImportGoods.php new file mode 100644 index 0000000..ca388df --- /dev/null +++ b/src/Action/GridImportGoods.php @@ -0,0 +1,21 @@ +lg() + ->body(ImportForm::make()) + ->title($this->title) + ->button(''); + } +} diff --git a/src/Form/Goods/ImportForm.php b/src/Form/Goods/ImportForm.php new file mode 100644 index 0000000..6f8841a --- /dev/null +++ b/src/Form/Goods/ImportForm.php @@ -0,0 +1,29 @@ + false, 'submit' => true, 'back' => false]; + + public function handle(array $input) + { + $disk = Storage::disk('public'); + Excel::import($disk->path($input['file']))->headings(false)->first()->chunk(500, function (SheetCollection $collection) { + $rows = $collection->toArray(); + // dd($rows); + }); + + return $this->response()->success('导入成功'); + } + + public function form() + { + $this->file('file')->autoUpload()->uniqueName()->move('goods/import')->accept('xlsx,xls')->disk('public'); + } +} diff --git a/src/Http/Admin/GoodsController.php b/src/Http/Admin/GoodsController.php index f70c07f..f7417ae 100644 --- a/src/Http/Admin/GoodsController.php +++ b/src/Http/Admin/GoodsController.php @@ -12,9 +12,9 @@ use Dcat\Admin\Layout\Content; use Dcat\Admin\Layout\Row; use Dcat\Admin\Show; use Dcat\Admin\Show\Tools; -use Dcat\Admin\Widgets\Card; use Illuminate\Http\Request; use Illuminate\Validation\Rule; +use Peidikeji\Goods\Action\GridImportGoods; use Peidikeji\Goods\Action\RowGoodsSale; use Peidikeji\Goods\Form\Goods\AttrForm; use Peidikeji\Goods\Form\Goods\PartForm; @@ -93,6 +93,7 @@ class GoodsController extends AdminController protected function grid() { return Grid::make(Goods::with(['category', 'brand', 'type', 'skus']), function (Grid $grid) { + $grid->export(); $grid->model()->sort(); $grid->selector(function (Selector $selector) { @@ -165,6 +166,7 @@ class GoodsController extends AdminController $actions->delete($user->can('dcat.admin.goods.destroy') && ! $row->on_sale); }); + $grid->tools(new GridImportGoods()); }); } @@ -270,6 +272,8 @@ class GoodsController extends AdminController $form->disableCreatingCheck(); $form->disableViewCheck(); $form->disableEditingCheck(); + $form->disableDeleteButton(); + $form->disableViewButton(); $form->creating(function (Form $form) { if (! $form->goods_sn) { diff --git a/src/Http/Admin/GoodsSkuController.php b/src/Http/Admin/GoodsSkuController.php index 6bd67f6..b65b202 100644 --- a/src/Http/Admin/GoodsSkuController.php +++ b/src/Http/Admin/GoodsSkuController.php @@ -58,9 +58,10 @@ class GoodsSkuController extends Controller } $user = Admin::user(); - $grid->showCreateButton($user->can('dcat.admin.goods_sku.create')); - $grid->showDeleteButton($user->can('dcat.admin.goods_sku.destroy')); - $grid->showEditButton($user->can('dcat.admin.goods_sku.edit')); + $grid->showCreateButton(!$goods->on_sale && $user->can('dcat.admin.goods_sku.create')); + $grid->showDeleteButton(!$goods->on_sale && $user->can('dcat.admin.goods_sku.destroy')); + $grid->showEditButton(!$goods->on_sale && $user->can('dcat.admin.goods_sku.edit')); + $grid->showViewButton($user->can('dcat.admin.goods_sku.show')); }); return $content @@ -177,7 +178,7 @@ class GoodsSkuController extends Controller if ($goods->spec) { $form->checkbox('name_append', '')->options([1 => '是否在名称上面追加属性值']); } - $form->number('price')->min(0)->default($goods->price); + $form->currency('price')->symbol('¥')->default($goods->price); if ($goods->spec) { $form->checkbox('price_append', '')->options([1 => '是否在价格上面追加属性的加价'])->default([1]); }