From 62981ea357ba2fcd144ff04eddf21fd933689bc1 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Sat, 18 Dec 2021 13:40:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=A2=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OrderPackageController.php | 43 +++++++++++++++---- app/Admin/routes.php | 2 +- database/seeders/AdminPermissionSeeder.php | 18 ++++++++ 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/app/Admin/Controllers/OrderPackageController.php b/app/Admin/Controllers/OrderPackageController.php index eb96a0d7..537e5b37 100644 --- a/app/Admin/Controllers/OrderPackageController.php +++ b/app/Admin/Controllers/OrderPackageController.php @@ -4,7 +4,9 @@ namespace App\Admin\Controllers; use App\Admin\Renderable\PackageProductSimpleTable; use App\Admin\Repositories\OrderPackage; +use App\Exceptions\BizException; use App\Models\Order; +use App\Models\OrderPackage as OrderPackageModel; use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; @@ -36,8 +38,27 @@ class OrderPackageController extends AdminController $grid->column('shipping_company'); $grid->column('shipping_number'); $grid->column('is_failed')->bool(); - $grid->column('status'); - // $grid->column('remarks'); + $grid->column('status')->using([ + OrderPackageModel::STATUS_WAIT => '揽收', + OrderPackageModel::STATUS_ONTHEWAY =>'途中', + OrderPackageModel::STATUS_DISTRIBUTE=>'派送', + OrderPackageModel::STATUS_CHECK=>'签收', + OrderPackageModel::STATUS_QUESTION => '疑难', + OrderPackageModel::STATUS_REFUND => '退签', + OrderPackageModel::STATUS_REFUSE => '拒签', + OrderPackageModel::STATUS_OTHER => '其他', + OrderPackageModel::STATUS_AUTOCHECK => '自动签收', + ])->dot([ + OrderPackageModel::STATUS_REFUND =>'danger', + OrderPackageModel::STATUS_REFUSE =>'danger', + OrderPackageModel::STATUS_AUTOCHECK =>'success', + OrderPackageModel::STATUS_CHECK =>'success', + OrderPackageModel::STATUS_WAIT =>'primary', + OrderPackageModel::STATUS_ONTHEWAY =>'primary', + OrderPackageModel::STATUS_DISTRIBUTE=>'primary', + OrderPackageModel::STATUS_QUESTION =>'warning', + ]); + $grid->column('remarks'); $grid->column('created_at')->sortable(); // $grid->column('updated_at'); @@ -48,11 +69,10 @@ class OrderPackageController extends AdminController // $grid->disableCreateButton(false); // $grid->enableDialogCreate(); // } - //修改 - $grid->showQuickEditButton(Admin::user()->can('dcat.admin.order_packages.edit')); //删除以及自定义操作 $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(Admin::user()->cannot('dcat.admin.order_packages.destroy')); + $actions->disableQuickEdit(Admin::user()->cannot('dcat.admin.order_packages.edit')); }); /** 查询 **/ @@ -102,11 +122,7 @@ class OrderPackageController extends AdminController if ($order) { return [$order->id => $order->sn]; } - })->ajax(admin_route('api.orders'))->load('order_product_id', admin_route('api.order_products')); - $form->hasMany('pageProducts', function ($form) { - $form->select('order_product_id'); - $form->number('quantity')->min(0)->default(1); - }); + })->ajax(admin_route('api.orders'))->load('order_product_id', admin_route('api.order_products'))->disable(); $form->text('shipping_company'); $form->text('shipping_number'); @@ -116,4 +132,13 @@ class OrderPackageController extends AdminController $form->display('updated_at'); }); } + + public function destroy($id) + { + //如果有子分类或者分类下有文章则不允许删除 + if (!OrderPackageModel::findOrFail($id)?->is_failed) { + throw new BizException(__('无法删除未作废的货运单')); + } + return parent::destroy($id); + } } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index c9c7981d..c48b529c 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -96,7 +96,7 @@ Route::group([ ]); $router->resource('order-packages', 'OrderPackageController')->only([ - 'index', 'show', 'edit', 'update', 'destroy', + 'index', 'edit', 'update', 'destroy', ])->names('order_packages'); /** api接口 **/ diff --git a/database/seeders/AdminPermissionSeeder.php b/database/seeders/AdminPermissionSeeder.php index 2fbd38d0..59807541 100644 --- a/database/seeders/AdminPermissionSeeder.php +++ b/database/seeders/AdminPermissionSeeder.php @@ -188,6 +188,24 @@ class AdminPermissionSeeder extends Seeder 'name' =>'商品分区', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], + 'orders'=>[ + 'name' =>'订单管理', + 'curd' => ['index', 'show'], + 'children'=>[ + 'pay'=>['name' =>'支付订单'], + 'reduce'=>['name' =>'订单改价'], + 'remark'=>['name' =>'订单备注'], + 'consignee'=>['name' =>'修改地址'], + 'create_package'=>['name' =>'发货'], + ], + ], + 'order_packages'=>[ + 'name' =>'发货单', + 'curd' =>['index', 'edit', 'update', 'destroy'], + 'children' => [ + 'failed' => ['name' =>'作废'], + ], + ], ]; try { DB::begintransaction();