create order
This commit is contained in:
@@ -211,10 +211,15 @@ class ApiConstants {
|
||||
// Order Endpoints
|
||||
// ============================================================================
|
||||
|
||||
/// Create new order
|
||||
/// POST /orders
|
||||
/// Body: { "items": [...], "deliveryAddress": {...}, "paymentMethod": "..." }
|
||||
static const String createOrder = '/orders';
|
||||
/// Get order status list (requires sid and csrf_token)
|
||||
/// POST /api/method/building_material.building_material.api.sales_order.get_order_status_list
|
||||
/// Returns: { "message": [{ "status": "...", "label": "...", "color": "...", "index": 0 }] }
|
||||
static const String getOrderStatusList = '/building_material.building_material.api.sales_order.get_order_status_list';
|
||||
|
||||
/// Create new order (requires sid and csrf_token)
|
||||
/// POST /api/method/building_material.building_material.api.sales_order.save
|
||||
/// Body: { "transaction_date": "...", "delivery_date": "...", "items": [...], ... }
|
||||
static const String createOrder = '/building_material.building_material.api.sales_order.save';
|
||||
|
||||
/// Get user's orders
|
||||
/// GET /orders?status={status}&page={page}&limit={limit}
|
||||
|
||||
@@ -32,6 +32,7 @@ import 'package:worker/features/main/presentation/pages/main_scaffold.dart';
|
||||
import 'package:worker/features/news/presentation/pages/news_detail_page.dart';
|
||||
import 'package:worker/features/news/presentation/pages/news_list_page.dart';
|
||||
import 'package:worker/features/orders/presentation/pages/order_detail_page.dart';
|
||||
import 'package:worker/features/orders/presentation/pages/order_success_page.dart';
|
||||
import 'package:worker/features/orders/presentation/pages/orders_page.dart';
|
||||
import 'package:worker/features/orders/presentation/pages/payment_detail_page.dart';
|
||||
import 'package:worker/features/orders/presentation/pages/payment_qr_page.dart';
|
||||
@@ -327,6 +328,29 @@ final routerProvider = Provider<GoRouter>((ref) {
|
||||
},
|
||||
),
|
||||
|
||||
// Order Success Route
|
||||
GoRoute(
|
||||
path: RouteNames.orderSuccess,
|
||||
name: RouteNames.orderSuccess,
|
||||
pageBuilder: (context, state) {
|
||||
final orderNumber = state.uri.queryParameters['orderNumber'] ?? '';
|
||||
final totalStr = state.uri.queryParameters['total'];
|
||||
final total = totalStr != null ? double.tryParse(totalStr) : null;
|
||||
final paymentMethod = state.uri.queryParameters['paymentMethod'];
|
||||
final isNegotiationStr = state.uri.queryParameters['isNegotiation'];
|
||||
final isNegotiation = isNegotiationStr == 'true';
|
||||
return MaterialPage(
|
||||
key: state.pageKey,
|
||||
child: OrderSuccessPage(
|
||||
orderNumber: orderNumber,
|
||||
total: total,
|
||||
paymentMethod: paymentMethod,
|
||||
isNegotiation: isNegotiation,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
// Quotes Route
|
||||
GoRoute(
|
||||
path: RouteNames.quotes,
|
||||
|
||||
Reference in New Issue
Block a user