From 9ea6d58df71830ddc3e4ba70e802aff0fb84a9a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=B8=96=E7=95=8C?= <642747453@qq.com> Date: Mon, 3 Apr 2023 21:42:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20#10000=20=E8=AE=A2=E5=8D=95=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Filters/BusinessOrderFilter.php | 27 ++++++++++++- .../Business/BusinessOrderController.php | 7 +++- app/Models/BusinessOrder.php | 40 ++++++++++++++++++- database/seeds/MenusTableSeeder.php | 1 + .../frontend/src/views/plat/orderList.vue | 31 +++++++------- routes/api.php | 2 +- 6 files changed, 90 insertions(+), 18 deletions(-) diff --git a/app/Filters/BusinessOrderFilter.php b/app/Filters/BusinessOrderFilter.php index 38f7722..071442c 100644 --- a/app/Filters/BusinessOrderFilter.php +++ b/app/Filters/BusinessOrderFilter.php @@ -11,6 +11,31 @@ class BusinessOrderFilter extends Filters protected function shopId($value) { - return $this->builder->where('shop_id', '=', trim($value)); + return $this->builder->where('shop_id', '=', $value); + } + + protected function activityNo($value) + { + return $this->builder->where('activity_no', '=', $value); + } + + protected function shippingStatus($value) + { + return $this->builder->where('shipping_status', '=', $value); + } + + protected function isSupplier($value) + { + return $this->builder->where('is_supplier', '=', $value); + } + + protected function cancelStatus($value) + { + return $this->builder->where('cancel_status', '=', $value); + } + + protected function afterSalesStatus($value) + { + return $this->builder->where('after_sales_status', '=', $value); } } diff --git a/app/Http/Controllers/Business/BusinessOrderController.php b/app/Http/Controllers/Business/BusinessOrderController.php index b444c9f..95ce0d6 100644 --- a/app/Http/Controllers/Business/BusinessOrderController.php +++ b/app/Http/Controllers/Business/BusinessOrderController.php @@ -14,8 +14,13 @@ class BusinessOrderController extends Controller public function index(Request $request) { $businessOrders = BusinessOrder::query() + ->where('shop_id', '<>', 8) + ->with([ + 'shop:id,name', + 'items:id,business_order_id,goods_name,goods_number' + ]) + ->orderByDesc('confirm_at') ->filter() - ->with(['shop:id,name']) ->paginate($request->get('per_page')); return BusinessOrderResource::collection($businessOrders); diff --git a/app/Models/BusinessOrder.php b/app/Models/BusinessOrder.php index 16bd1df..411014d 100644 --- a/app/Models/BusinessOrder.php +++ b/app/Models/BusinessOrder.php @@ -10,7 +10,12 @@ class BusinessOrder extends Model public $fieldSearchable = [ 'participate_no', - 'shop_id' + 'shop_id', + 'activity_no', + 'shipping_status', + 'is_supplier', + 'cancel_status', + 'after_sales_status', ]; protected $fillable = [ @@ -50,6 +55,39 @@ class BusinessOrder extends Model 'order_sn', ]; + public function getConfirmAtAttribute($value) + { + return date('Y-m-d H:i:s', $value / 1000); + } + + public function getShippingStatusAttribute($value) + { + $map = ['未发货', '已发货', '部分发货']; + + return $map[$value]; + } + + public function getIsSupplierAttribute($value) + { + $map = ['帮忙团订单', '自卖团订单']; + + return $map[$value]; + } + + public function getCancelStatusAttribute($value) + { + $map = ['未取消', '已取消']; + + return $map[$value]; + } + + public function getAfterSalesStatusAttribute($value) + { + $map = ['未售后', '有售后']; + + return $map[$value]; + } + public function items() { return $this->hasMany(BusinessOrderItem::class, 'business_order_id'); diff --git a/database/seeds/MenusTableSeeder.php b/database/seeds/MenusTableSeeder.php index ee294e3..8449e7c 100644 --- a/database/seeds/MenusTableSeeder.php +++ b/database/seeds/MenusTableSeeder.php @@ -18,6 +18,7 @@ class MenusTableSeeder extends Seeder ['parent_id' => $id, 'code' => 'GOODS_LIST', 'name' => '商品列表', 'seq' => 0], ['parent_id' => $id, 'code' => 'GOODS_TYPE', 'name' => '商品种类', 'seq' => 1], ['parent_id' => $id, 'code' => 'GOODS_BRAND', 'name' => '商品品牌', 'seq' => 2], + ['parent_id' => $id, 'code' => 'GOODS_SKU_LOCATION', 'name' => '商品货架', 'seq' => 3], ]); // 店铺管理 DB::table('menus')->insertGetId(['parent_id' => 0, 'code' => 'SHOP_MANAGE', 'name' => '店铺管理', 'seq' => 10]); diff --git a/resources/frontend/src/views/plat/orderList.vue b/resources/frontend/src/views/plat/orderList.vue index 96d4ba0..73e53cd 100644 --- a/resources/frontend/src/views/plat/orderList.vue +++ b/resources/frontend/src/views/plat/orderList.vue @@ -11,7 +11,8 @@ - + @@ -25,16 +26,11 @@ - - - - - - + - - + + @@ -69,8 +65,17 @@ + + + + - + + + {{ item.goods_name }}*{{ item.goods_number }} + + + @@ -95,8 +100,7 @@ export default { shop_id: "", activity_no: "", shipping_status: "", - confirm_at: "", - is_help: "", + is_supplier: "", cancel_status: "", after_sales_status: "", }, @@ -163,8 +167,7 @@ export default { shop_id: "", activity_no: "", shipping_status: "", - confirm_at: "", - is_help: "", + is_supplier: "", cancel_status: "", after_sales_status: "", }; diff --git a/routes/api.php b/routes/api.php index 2cd54b1..14a50a0 100644 --- a/routes/api.php +++ b/routes/api.php @@ -48,7 +48,7 @@ Route::middleware(['auth:api', 'check.permissions'])->group(function () { ]]); // 平台 Route::resource('plat_goods', 'Business\BusinessGoodsSkusController', ['only' => ['index', 'update', 'destroy']]); - Route::get('plat_orders', [BusinessOrderController::class, 'index'])->name('plat_orders.index'); + Route::get('plat_orders', [BusinessOrderController::class, 'index'])->name('plat.orders.index'); Route::get('plat_orders/export', [BusinessOrderController::class, 'exportOrderBlank'])->name('plat.orders.export'); Route::get('plat_group_activity/{shopId}', [BusinessOrderController::class, 'groupActivity'])->name('plat.activity.list'); Route::post('plat/sync/{id}/stock', [BusinessGoodsSkusController::class, 'syncStock'])->name('plat.sync.stock');