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 @@ + + + + - + + + @@ -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');