From 875eed679ef8b80d32bc8795145d0755e5845ae5 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Fri, 20 May 2022 16:32:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 11 +-- .../Controllers/Store/OrderController.php | 21 ++++- .../Controllers/Store/ProductController.php | 43 +++++++--- .../Controllers/Store/StockController.php | 53 +++++++++++- .../Controllers/Store/StoreController.php | 86 ++++++++++--------- app/Admin/Controllers/UserVipController.php | 6 +- app/Admin/Controllers/VipController.php | 13 +-- app/Admin/Forms/UserEditAgent.php | 2 +- app/Admin/Middleware/Permissions.php | 2 +- app/Admin/routes.php | 22 ++--- app/Models/Admin/Administrator.php | 5 ++ .../2021_12_03_135905_create_vips_table.php | 1 + ...05_20_131910_add_exipired_to_user_vips.php | 32 ------- database/seeders/AdminPermissionSeeder.php | 33 +++++-- resources/lang/zh_CN/agent.php | 2 +- resources/lang/zh_CN/store-product.php | 1 + 16 files changed, 202 insertions(+), 131 deletions(-) delete mode 100644 database/migrations/2022_05_20_131910_add_exipired_to_user_vips.php diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 9c8fa148..d3e7be6a 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -32,20 +32,15 @@ class AgentController extends AdminController /** 操作 **/ //新增 - if (Admin::user()->can('dcat.admin.vips.create')) { + if (Admin::user()->can('dcat.admin.agent.create')) { $grid->disableCreateButton(false); $grid->enableDialogCreate(); } //修改 - $grid->showQuickEditButton(Admin::user()->can('dcat.admin.vips.edit')); + $grid->showQuickEditButton(Admin::user()->can('dcat.admin.agent.edit')); //删除以及自定义操作 $grid->actions(function (Grid\Displayers\Actions $actions) { - $actions->disableDelete(Admin::user()->cannot('dcat.admin.vips.destroy')); - }); - - $grid->filter(function (Grid\Filter $filter) { - $filter->panel(false); - $filter->like('name')->width(3); + $actions->disableDelete(Admin::user()->cannot('dcat.admin.agent.destroy')); }); }); } diff --git a/app/Admin/Controllers/Store/OrderController.php b/app/Admin/Controllers/Store/OrderController.php index ab31e6f5..0acd26c9 100644 --- a/app/Admin/Controllers/Store/OrderController.php +++ b/app/Admin/Controllers/Store/OrderController.php @@ -31,9 +31,18 @@ class OrderController extends AdminController protected function grid() { - $grid = new Grid(Order::with(['user', 'inviter'])); - $grid->model()->whereNotNull('inviter_id')->orderBy('created_at', 'desc'); + $grid = new Grid(Order::with(['user', 'inviter', 'store'])); + $user = Admin::user(); + $canAdmin = $this->canAdmin(); + if (!$canAdmin) { + $stores = $user->stores->pluck('id'); + $grid->model()->whereIn('store_id', $stores); + } + + $grid->model()->whereNotNull('store_id')->orderBy('created_at', 'desc'); + + $grid->column('store.title', '门店'); $grid->column('sn')->copyable(); $grid->column('user.phone')->copyable(); $grid->column('inviter.phone')->copyable(); @@ -48,10 +57,11 @@ class OrderController extends AdminController $grid->column('pay_at'); $grid->column('created_at'); - $grid->showViewButton(); + $grid->showViewButton($user->can('dcat.admin.store.order.show')); $grid->filter(function (Grid\Filter $filter) { $filter->panel(); + $filter->equal('store_id', '门店')->select('api/store')->width(3); $filter->like('sn')->width(3); $filter->like('user.phone')->width(3); $filter->like('inviter.phone')->width(3); @@ -143,4 +153,9 @@ class OrderController extends AdminController return $grid; } + + protected function canAdmin() + { + return Admin::user()->isRole('administrator'); + } } diff --git a/app/Admin/Controllers/Store/ProductController.php b/app/Admin/Controllers/Store/ProductController.php index e368fe50..aa370b86 100644 --- a/app/Admin/Controllers/Store/ProductController.php +++ b/app/Admin/Controllers/Store/ProductController.php @@ -2,7 +2,7 @@ namespace App\Admin\Controllers\Store; -use Dcat\Admin\{Form, Grid}; +use Dcat\Admin\{Form, Grid, Admin}; use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Models\Administrator; use App\Models\{ProductCategory, ProductSku}; @@ -14,7 +14,18 @@ class ProductController extends AdminController public function listByStore() { - $list = StoreProductSku::with(['productSku'])->where('store_id', request('q'))->get(); + $user = Admin::user(); + $canAdmin = $this->canAdmin(); + + $query = StoreProductSku::with(['productSku']); + if ($canAdmin) { + $query->where('store_id', request('q')); + } else { + $stores = $user->stores->pluck('id'); + $query->whereIn('store_id', $stores); + } + + $list = $query->get(); $data = []; foreach($list as $item) { array_push($data, ['id' => $item->productSku->id, 'text' => $item->productSku->name]); @@ -24,34 +35,37 @@ class ProductController extends AdminController protected function grid() { - $grid = new Grid(StoreProductSku::with(['store', 'productSku.category'])); + $grid = new Grid(StoreProductSku::with(['store', 'productSku'])); + $user = Admin::user(); + $canAdmin = $this->canAdmin(); + if (!$canAdmin) { + $stores = $user->stores->pluck('id'); + $grid->model()->whereIn('store_id', $stores); + } $grid->model()->orderBy('id', 'desc'); $grid->column('id', 'ID'); $grid->column('store.title', '店铺'); - $grid->column('productSku.category.name', '分类'); $grid->column('productSku.name', '名称'); + $grid->column('productSku.specs', '规格')->label(); $grid->column('productSku.cost_price', '成本价')->display(function ($value) { - return bcdiv($value, 100, 2);; + return bcdiv($value, 100, 2); }); $grid->column('productSku.sell_price', '销售价')->display(function ($value) { return bcdiv($value, 100, 2);; }); $grid->column('amount', '库存')->sortable(); - $grid->column('productSku.specs', '规格')->label(); $grid->column('status', '状态')->switch(); $grid->paginate(10); - $grid->showCreateButton(); + $grid->showCreateButton($user->can('dcat.admin.store.product.create')); $grid->enableDialogCreate(); - $grid->showDeleteButton(); - // $grid->showRowSelector(); + $grid->showDeleteButton($user->can('dcat.admin.store.product.destroy')); $grid->filter(function (Grid\Filter $filter) { $filter->panel(); - $filter->equal('store_id')->select(Store::pluck('title', 'id'))->width(3); - $filter->equal('productSku.category_id', '分类')->select(ProductCategory::withDepth()->having('depth', '=', 2)->pluck('name', 'id'))->width(3); + $filter->equal('store_id')->select('api/store')->width(3); $filter->like('productSku.name', '名称')->width(3); }); return $grid; @@ -62,7 +76,7 @@ class ProductController extends AdminController $form = Form::make(StoreProductSku::with(['productSku'])); $form->select('store_id')->options(Store::pluck('title', 'id')); $form->select('product_sku_id')->options(ProductSku::class)->ajax('api/product-skus'); - $form->switch('status')->default(1); + $form->switch('status', '状态')->default(1); $form->saving(function (Form $form) { if ($form->isCreating()) { $store_id = $form->input('store_id'); @@ -74,4 +88,9 @@ class ProductController extends AdminController }); return $form; } + + protected function canAdmin() + { + return Admin::user()->isRole('administrator'); + } } diff --git a/app/Admin/Controllers/Store/StockController.php b/app/Admin/Controllers/Store/StockController.php index 978d778f..a30adca7 100644 --- a/app/Admin/Controllers/Store/StockController.php +++ b/app/Admin/Controllers/Store/StockController.php @@ -3,7 +3,7 @@ namespace App\Admin\Controllers\Store; use App\Models\Store\{Store, StockLog, ProductSku}; -use Dcat\Admin\{Form, Grid, Admin}; +use Dcat\Admin\{Form, Grid, Admin, Show}; use Dcat\Admin\Http\Controllers\AdminController; class StockController extends AdminController @@ -13,6 +13,13 @@ class StockController extends AdminController { $grid = new Grid(StockLog::with(['store', 'productSku', 'tag'])); + $user = Admin::user(); + $canAdmin = $this->canAdmin(); + if (!$canAdmin) { + $stores = $user->stores->pluck('id'); + $grid->model()->whereIn('store_id', $stores); + } + $grid->model()->orderBy('created_at', 'desc'); $grid->column('store.title', '门店'); @@ -34,10 +41,11 @@ class StockController extends AdminController $grid->column('remarks', '备注'); $grid->column('created_at', '操作时间'); - $grid->disableActions(); - $grid->showCreateButton(); + $grid->showCreateButton($user->can('dcat.admin.store.stock.create')); $grid->enableDialogCreate(); + $grid->showViewButton($user->can('dcat.admin.store.stock.show')); + $grid->filter(function (Grid\Filter $filter) { $filter->panel(); $filter->equal('store_id')->select(Store::pluck('title', 'id'))->width(3); @@ -50,7 +58,7 @@ class StockController extends AdminController { $form = Form::make(new StockLog()); $form->select('tag_id')->options(StockLog::tags()->pluck('name', 'id'))->required(); - $form->select('store_id')->options(Store::pluck('title', 'id'))->required()->load('product_sku_id', 'store/product-by-store'); + $form->select('store_id')->options(Store::pluck('title', 'id'))->required()->load('product_sku_id', 'api/product-by-store'); $form->select('product_sku_id')->required(); $form->number('amount')->help('正数为增加, 负数为减少')->default(0)->required(); $form->text('remarks'); @@ -89,4 +97,41 @@ class StockController extends AdminController }); return $form; } + + protected function detail($id) + { + $show = Show::make($id, StockLog::with(['store', 'productSku', 'tag'])); + $show->field('store.title', '门店'); + $show->field('product_sku.name', '商品'); + $show->field('product_sku.specs', '商品规格')->label(); + $show->field('tag.name', '类目'); + $show->field('amount')->as(function ($value) { + return ''.$value.''; + })->escape(false); + $show->field('balance'); + $show->field('operator', '操作人')->as(function () { + $v = $this->operator; + if ($v instanceof \App\Models\Admin\Administrator) { + return $v->name . '管理员'; + } else if ($v instanceof \App\Models\User) { + return $v->phone . '员工'; + } + + return '未知身份'; + })->escape(false); + $show->field('remarks', '备注'); + $show->field('created_at', '操作时间'); + + $show->panel()->tools(function ($tools) { + $tools->disableEdit(); + $tools->disableDelete(); + }); + + return $show; + } + + protected function canAdmin() + { + return Admin::user()->isRole('administrator'); + } } diff --git a/app/Admin/Controllers/Store/StoreController.php b/app/Admin/Controllers/Store/StoreController.php index c314d41b..a1e3cf19 100644 --- a/app/Admin/Controllers/Store/StoreController.php +++ b/app/Admin/Controllers/Store/StoreController.php @@ -3,12 +3,9 @@ namespace App\Admin\Controllers\Store; use App\Models\Store\{Store, ProductSku, Administrator as StoreAdministrator, StockLog}; -use Dcat\Admin\Form; -use Dcat\Admin\Grid; -use Dcat\Admin\Show; +use Dcat\Admin\{Form, Grid, Show, Admin}; use Dcat\Admin\Http\Controllers\AdminController; use Carbon\Carbon; -use Dcat\Admin\Admin; use Illuminate\Support\Facades\DB; use App\Models\Admin\Administrator; use Dcat\Admin\Layout\Row; @@ -22,38 +19,57 @@ class StoreController extends AdminController return $content->title('总览'); } - protected function grid() + public function list() { - $query = Store::query(); + $q = request('q'); + $query = Store::where('title', 'like', '%'.$q.'%'); + $user = Admin::user(); $canAdmin = $this->canAdmin(); if (!$canAdmin) { - $ids = DB::table('store_admin_users')->where('administrator_id', $user->id)->pluck('store_id'); - $query = $query->whereIn('id', $ids); + $stores = $user->stores; + $query->whereIn('id', $stores->pluck('id')); } - return Grid::make($query, function (Grid $grid) use ($canAdmin) { - - $grid->model()->sort(); + return $query->select(['id', 'title as text'])->get(); + } - $grid->column('id'); - $grid->column('title'); - $grid->column('image')->image('', 100, 100); - $grid->column('status')->switch(); - $grid->column('sort')->editable(); - $grid->column('created_at'); - - $grid->disableCreateButton(!$canAdmin); - $grid->enableDialogCreate(); - $grid->showViewButton(); - $grid->showQuickEditButton(); - $grid->showDeleteButton($canAdmin); + protected function grid() + { + $grid = Grid::make(new Store()); - $grid->filter(function (Grid\Filter $filter) { - $filter->panel(); - $filter->like('title')->width(3); - }); + $user = Admin::user(); + $canAdmin = $this->canAdmin(); + if (!$canAdmin) { + $stores = $user->stores; + $grid->model()->whereIn('id', $stores->pluck('id')); + } + + $grid->model()->sort(); + + $grid->column('id'); + $grid->column('title'); + $grid->column('image')->image('', 100, 100); + $grid->column('status')->switch(); + $grid->column('sort')->editable(); + $grid->column('created_at'); + + $grid->disableCreateButton(!$canAdmin); + $grid->enableDialogCreate(); + + $grid->showViewButton($user->can('dcat.admin.store.list.show')); + + $grid->showQuickEditButton($user->can('dcat.admin.store.list.edit')); + + $grid->showDeleteButton($canAdmin); + + $grid->filter(function (Grid\Filter $filter) { + $filter->panel(); + $filter->like('title')->width(3); }); + + return $grid; + } /** @@ -65,6 +81,10 @@ class StoreController extends AdminController */ protected function detail($id) { + if (!$this->canAdmin()) { + $user = Admin::user(); + $user->stores()->findOrFail($id); + } $show = Show::make($id, new Store(), function (Show $show) { $show->field('id'); @@ -76,18 +96,6 @@ class StoreController extends AdminController $show->field('created_at'); }); return $show; - // $row = new Row(); - // $row->column(5, $show); - - // $tab = Tab::make()->withCard(); - // $tab->add('商品', Card::make($this->gridProduct($id))); - // $tab->add('库存', Card::make($this->gridStock($id))); - // if ($canAdmin) { - // $tab->add('管理员', Card::make($this->gridAdmin($id))); - // } - - // $row->column(7, $tab); - // return $row; } /** diff --git a/app/Admin/Controllers/UserVipController.php b/app/Admin/Controllers/UserVipController.php index a53c8aae..02df5f92 100644 --- a/app/Admin/Controllers/UserVipController.php +++ b/app/Admin/Controllers/UserVipController.php @@ -49,14 +49,16 @@ class UserVipController extends AdminController */ protected function detail($id) { - return Show::make($id, UserVip::with(['user', 'vip', 'pay']), function (Show $show) { + return Show::make($id, UserVip::with(['user', 'pay']), function (Show $show) { $show->field('id'); $show->field('user.phone', '用户'); - $show->field('vip.name', '会员卡'); + $show->field('name', '会员卡'); $show->field('times')->as(function ($v) { return data_get($v, 'text'); }); $show->field('success_time'); + $show->field('expired'); + $show->field('gift', '赠品')->view('admin.vip.gift'); $show->field('pay.pay_sn', '订单号'); $show->field('pay.pay_way', '支付方式')->as(function ($value) { diff --git a/app/Admin/Controllers/VipController.php b/app/Admin/Controllers/VipController.php index d119461a..1a32fabd 100644 --- a/app/Admin/Controllers/VipController.php +++ b/app/Admin/Controllers/VipController.php @@ -32,17 +32,12 @@ class VipController extends AdminController $grid->disableViewButton(false); //新增 - $grid->showCreateButton(Admin::user()->can('dcat.admin.vips.create')); + $grid->showCreateButton(Admin::user()->can('dcat.admin.vip.create')); //修改 - $grid->showEditButton(Admin::user()->can('dcat.admin.vips.edit')); + $grid->showEditButton(Admin::user()->can('dcat.admin.vip.edit')); //删除以及自定义操作 $grid->actions(function (Grid\Displayers\Actions $actions) { - $actions->disableDelete(Admin::user()->cannot('dcat.admin.vips.destroy')); - }); - - $grid->filter(function (Grid\Filter $filter) { - $filter->panel(false); - $filter->like('name')->width(3); + $actions->disableDelete(Admin::user()->cannot('dcat.admin.vip.destroy')); }); }); } @@ -92,7 +87,7 @@ class VipController extends AdminController $form->switch('status')->default(1); $form->textarea('description'); $form->embeds('gift', function ($form) { - $form->multipleSelect('coupon')->options(Coupon::pluck('name', 'id')); + $form->multipleSelect('coupon')->options(Coupon::class)->ajax('api/coupons'); }); }); } diff --git a/app/Admin/Forms/UserEditAgent.php b/app/Admin/Forms/UserEditAgent.php index 0b880c46..d44e7b02 100644 --- a/app/Admin/Forms/UserEditAgent.php +++ b/app/Admin/Forms/UserEditAgent.php @@ -20,7 +20,7 @@ class UserEditAgent extends Form implements LazyRenderable */ protected function authorize($user): bool { - return $user->can('dcat.admin.users.edit_vip'); + return $user->can('dcat.admin.users.agent'); } /** diff --git a/app/Admin/Middleware/Permissions.php b/app/Admin/Middleware/Permissions.php index 18c1466f..357ad4aa 100644 --- a/app/Admin/Middleware/Permissions.php +++ b/app/Admin/Middleware/Permissions.php @@ -33,7 +33,7 @@ class Permissions } admin_exit( - Content::make()->withError(trans('admin.deny')) + Content::make()->withError(trans('admin.deny') . '----' . $routeName) ); } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 3c8b7a2d..8a8409d1 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -169,23 +169,23 @@ Route::group([ $router->get('api/order-products', 'OrderController@orderProducts')->name('api.order_products'); $router->get('api/users', 'UserController@users')->name('api.users'); $router->get('api/bargain-activities', 'BargainActivityController@activities')->name('api.bargain_activities'); + $router->get('api/product-by-store', 'Store\ProductController@listByStore')->name('api.store_product'); + $router->get('api/store', 'Store\StoreController@list')->name('api.store'); /** 调试接口 **/ // $router->get('test', 'HomeController@test'); - $router->get('store/product-by-store', 'Store\ProductController@listByStore'); - $router->get('store/info', 'Store\StoreController@info'); - $router->resource('store/list', 'Store\StoreController'); - $router->resource('store/product', 'Store\ProductController'); - $router->resource('store/stock', 'Store\StockController'); - $router->resource('store/order', 'Store\OrderController')->only(['index', 'show']); - $router->resource('store/user', 'Store\UserController'); - // $router->resource('store/{store_id}/admin', 'Store\AdministratorController'); + $router->get('store/info', 'Store\StoreController@info')->name('store.info'); + $router->resource('store/list', 'Store\StoreController')->names('store'); + $router->resource('store/product', 'Store\ProductController')->names('store.product'); + $router->resource('store/user', 'Store\UserController')->only(['index'])->names('store.user'); + $router->resource('store/order', 'Store\OrderController')->only(['index', 'show'])->names('store.order'); + $router->resource('store/stock', 'Store\StockController')->only(['index', 'create', 'store', 'show'])->names('store.stock'); $router->resource('profit', 'OrderProfitController'); - $router->resource('agent', 'AgentController'); + $router->resource('agent', 'AgentController')->names('agent'); - $router->resource('user-vip', 'UserVipController')->only(['index', 'show']); - $router->resource('vip', 'VipController'); + $router->resource('user-vip', 'UserVipController')->only(['index', 'show'])->names('user_vip'); + $router->resource('vip', 'VipController')->names('vip'); }); diff --git a/app/Models/Admin/Administrator.php b/app/Models/Admin/Administrator.php index b9f05894..796c1929 100644 --- a/app/Models/Admin/Administrator.php +++ b/app/Models/Admin/Administrator.php @@ -74,4 +74,9 @@ class Administrator extends DcatAdministrator } return $reduced <= ($this->orderReduceRange->max*100); } + + public function stores() + { + return $this->belongsToMany(\App\Models\Store\Store::class, 'store_administrators', 'administrator_id', 'store_id'); + } } diff --git a/database/migrations/2021_12_03_135905_create_vips_table.php b/database/migrations/2021_12_03_135905_create_vips_table.php index 6a9b1fe9..aa15e11c 100644 --- a/database/migrations/2021_12_03_135905_create_vips_table.php +++ b/database/migrations/2021_12_03_135905_create_vips_table.php @@ -34,6 +34,7 @@ class CreateVipsTable extends Migration $table->text('gift')->nullable()->comment('赠品'); $table->tinyInteger('status')->default(0)->comment('状态(0: 待支付, 1: 支付成功)'); $table->timestamp('success_time')->nullable()->comment('购买时间'); + $table->timestamp('expired')->nullable()->comment('购买后的会员有效期'); $table->timestamps(); }); } diff --git a/database/migrations/2022_05_20_131910_add_exipired_to_user_vips.php b/database/migrations/2022_05_20_131910_add_exipired_to_user_vips.php deleted file mode 100644 index 6cbf763f..00000000 --- a/database/migrations/2022_05_20_131910_add_exipired_to_user_vips.php +++ /dev/null @@ -1,32 +0,0 @@ -timestamp('expired')->nullable()->comment('购买后的会员有效期'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('user_vips', function (Blueprint $table) { - $table->dropColumn(['expired']); - }); - } -} diff --git a/database/seeders/AdminPermissionSeeder.php b/database/seeders/AdminPermissionSeeder.php index 78bbd0e8..2dd26ff0 100644 --- a/database/seeders/AdminPermissionSeeder.php +++ b/database/seeders/AdminPermissionSeeder.php @@ -62,6 +62,8 @@ class AdminPermissionSeeder extends Seeder 'api.orders'=>['name'=>'订单'], 'api.order_products'=>['name'=>'订单商品'], 'api.users'=>['name'=>'用户'], + 'api.store_product' => ['name' => '查询店铺商品'], + 'api.store' => ['name' => '查询店铺'], ], ], 'home'=>[ @@ -74,7 +76,7 @@ class AdminPermissionSeeder extends Seeder ], ], 'users'=>[ - 'name'=>'会员管理', + 'name'=>'用户管理', 'curd'=>['index', 'show', 'create', 'store', 'destroy'], 'children'=>[ 'disable' =>['name'=>'禁用'], @@ -87,6 +89,18 @@ class AdminPermissionSeeder extends Seeder 'agent'=>['name'=>'设置代理'], ], ], + 'agent' => [ + 'name' => '代理等级设置', + 'curd' => ['index', 'show', 'create', 'store', 'destroy'], + ], + 'vip' => [ + 'name' => '会员卡管理', + 'curd' => ['index', 'show', 'create', 'store', 'destroy'], + ], + 'user_vip' => [ + 'name' => '会员卡购买记录', + 'curd' => ['index', 'show'], + ], 'article_categories' =>[ 'name'=>'文章分类', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], @@ -307,12 +321,15 @@ class AdminPermissionSeeder extends Seeder ], ], 'store' => [ - 'name' => '店铺管理', - 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], - ], - 'vip' => [ - 'name' => '代理等级管理', - 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], + 'name' => '门店管理', + 'children' => [ + 'info' => ['name' => '总览'], + 'list' => ['name' => '信息管理', 'curd' => true], + 'product' => ['name' => '商品管理', 'curd' => true], + 'user' => ['name' => '员工业绩', 'curd' => ['index']], + 'order' => ['name' => '订单管理', 'curd' => ['index', 'show']], + 'stock' => ['name' => '库存管理', 'curd' => ['index', 'create', 'store', 'show']], + ], ], 'profit' => [ 'name' => '提成管理', @@ -387,7 +404,7 @@ class AdminPermissionSeeder extends Seeder } } if (count($permission['children']) > 0) { - $_key = $permission['curd'] ? ($key ? $key.'.'.$slug : $slug) : $key; + $_key = (isset($permission['curd']) && $permission['curd']) ? ($key ? $key.'.'.$slug : $slug) : $key; $this->createPermissionData($permission['children'], $_key ?? $slug, $pper->id); } } diff --git a/resources/lang/zh_CN/agent.php b/resources/lang/zh_CN/agent.php index d7bd1f49..9dc2e9d7 100644 --- a/resources/lang/zh_CN/agent.php +++ b/resources/lang/zh_CN/agent.php @@ -3,7 +3,7 @@ return [ 'labels' => [ 'Agent' => '代理等级', - 'agents' => '代理等级', + 'agent' => '代理等级', ], 'fields' => [ 'name' => '等级名称', diff --git a/resources/lang/zh_CN/store-product.php b/resources/lang/zh_CN/store-product.php index 18bcfa28..fa66c247 100644 --- a/resources/lang/zh_CN/store-product.php +++ b/resources/lang/zh_CN/store-product.php @@ -9,6 +9,7 @@ return [ 'fields' => [ 'store_id' => '门店', 'product_sku_id' => '商品', + 'status' => '状态', ], 'options' => [ ],