Ver Fonte

cart 页面完成

wangmeng há 1 ano atrás
pai
commit
42a2aa39a0

+ 46 - 4
Asteria.xcodeproj/project.pbxproj

@@ -235,6 +235,8 @@
 		9A98E52A2B5A281600E8C5C1 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A98E5292B5A281600E8C5C1 /* QuartzCore.framework */; };
 		9A98E52A2B5A281600E8C5C1 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A98E5292B5A281600E8C5C1 /* QuartzCore.framework */; };
 		9A98E52C2B5A282800E8C5C1 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A98E52B2B5A282800E8C5C1 /* CoreText.framework */; };
 		9A98E52C2B5A282800E8C5C1 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A98E52B2B5A282800E8C5C1 /* CoreText.framework */; };
 		9AA0534A2B6E193D004B90BC /* Cart.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9AA053492B6E193D004B90BC /* Cart.xcassets */; };
 		9AA0534A2B6E193D004B90BC /* Cart.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9AA053492B6E193D004B90BC /* Cart.xcassets */; };
+		9AACEE922B7F137D00223466 /* MyCartPayTypeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AACEE912B7F137D00223466 /* MyCartPayTypeCell.m */; };
+		9AACEE952B7F473200223466 /* Cart_CheckoutC.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AACEE942B7F473200223466 /* Cart_CheckoutC.m */; };
 		9AC2CC222B3A673B005187BD /* ASGoodsDetailsVM.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AC2CC212B3A673B005187BD /* ASGoodsDetailsVM.m */; };
 		9AC2CC222B3A673B005187BD /* ASGoodsDetailsVM.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AC2CC212B3A673B005187BD /* ASGoodsDetailsVM.m */; };
 		9ACBEC212A14585300A8F97A /* CTMediator+ASTargerts.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ACBEC202A14585300A8F97A /* CTMediator+ASTargerts.m */; };
 		9ACBEC212A14585300A8F97A /* CTMediator+ASTargerts.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ACBEC202A14585300A8F97A /* CTMediator+ASTargerts.m */; };
 		9ACBEC252A14707400A8F97A /* AS_SignUpC.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ACBEC242A14707400A8F97A /* AS_SignUpC.m */; };
 		9ACBEC252A14707400A8F97A /* AS_SignUpC.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ACBEC242A14707400A8F97A /* AS_SignUpC.m */; };
@@ -295,6 +297,7 @@
 		9AEFA7DE2B649F4000AE1974 /* MyCarlTableV.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AEFA7DD2B649F3F00AE1974 /* MyCarlTableV.m */; };
 		9AEFA7DE2B649F4000AE1974 /* MyCarlTableV.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AEFA7DD2B649F3F00AE1974 /* MyCarlTableV.m */; };
 		9AF9085C2B397320008AC2D2 /* UIViewController+RY_configNet.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AF9085B2B397320008AC2D2 /* UIViewController+RY_configNet.m */; };
 		9AF9085C2B397320008AC2D2 /* UIViewController+RY_configNet.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AF9085B2B397320008AC2D2 /* UIViewController+RY_configNet.m */; };
 		9AF9085F2B3976F3008AC2D2 /* RYBaseVM.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AF9085E2B3976F3008AC2D2 /* RYBaseVM.m */; };
 		9AF9085F2B3976F3008AC2D2 /* RYBaseVM.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AF9085E2B3976F3008AC2D2 /* RYBaseVM.m */; };
+		9AFCDAC22B809C5B003D3573 /* CartCheckTableV.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AFCDAC12B809C5B003D3573 /* CartCheckTableV.m */; };
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXContainerItemProxy section */
 /* Begin PBXContainerItemProxy section */
@@ -743,6 +746,10 @@
 		9A98E5292B5A281600E8C5C1 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 		9A98E5292B5A281600E8C5C1 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 		9A98E52B2B5A282800E8C5C1 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
 		9A98E52B2B5A282800E8C5C1 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
 		9AA053492B6E193D004B90BC /* Cart.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Cart.xcassets; sourceTree = "<group>"; };
 		9AA053492B6E193D004B90BC /* Cart.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Cart.xcassets; sourceTree = "<group>"; };
+		9AACEE902B7F137D00223466 /* MyCartPayTypeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyCartPayTypeCell.h; sourceTree = "<group>"; };
+		9AACEE912B7F137D00223466 /* MyCartPayTypeCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyCartPayTypeCell.m; sourceTree = "<group>"; };
+		9AACEE932B7F473200223466 /* Cart_CheckoutC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Cart_CheckoutC.h; sourceTree = "<group>"; };
+		9AACEE942B7F473200223466 /* Cart_CheckoutC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Cart_CheckoutC.m; sourceTree = "<group>"; };
 		9AC2CC202B3A673B005187BD /* ASGoodsDetailsVM.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ASGoodsDetailsVM.h; sourceTree = "<group>"; };
 		9AC2CC202B3A673B005187BD /* ASGoodsDetailsVM.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ASGoodsDetailsVM.h; sourceTree = "<group>"; };
 		9AC2CC212B3A673B005187BD /* ASGoodsDetailsVM.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ASGoodsDetailsVM.m; sourceTree = "<group>"; };
 		9AC2CC212B3A673B005187BD /* ASGoodsDetailsVM.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ASGoodsDetailsVM.m; sourceTree = "<group>"; };
 		9ACBEC1F2A14585300A8F97A /* CTMediator+ASTargerts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CTMediator+ASTargerts.h"; sourceTree = "<group>"; };
 		9ACBEC1F2A14585300A8F97A /* CTMediator+ASTargerts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CTMediator+ASTargerts.h"; sourceTree = "<group>"; };
@@ -865,6 +872,8 @@
 		9AF9085B2B397320008AC2D2 /* UIViewController+RY_configNet.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+RY_configNet.m"; sourceTree = "<group>"; };
 		9AF9085B2B397320008AC2D2 /* UIViewController+RY_configNet.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+RY_configNet.m"; sourceTree = "<group>"; };
 		9AF9085D2B3976F3008AC2D2 /* RYBaseVM.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RYBaseVM.h; sourceTree = "<group>"; };
 		9AF9085D2B3976F3008AC2D2 /* RYBaseVM.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RYBaseVM.h; sourceTree = "<group>"; };
 		9AF9085E2B3976F3008AC2D2 /* RYBaseVM.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RYBaseVM.m; sourceTree = "<group>"; };
 		9AF9085E2B3976F3008AC2D2 /* RYBaseVM.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RYBaseVM.m; sourceTree = "<group>"; };
+		9AFCDAC02B809C5B003D3573 /* CartCheckTableV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CartCheckTableV.h; sourceTree = "<group>"; };
+		9AFCDAC12B809C5B003D3573 /* CartCheckTableV.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CartCheckTableV.m; sourceTree = "<group>"; };
 		F28014612B0095476AA5BC1B /* Pods-Asteria-NotificationServiceExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Asteria-NotificationServiceExtension.debug.xcconfig"; path = "Target Support Files/Pods-Asteria-NotificationServiceExtension/Pods-Asteria-NotificationServiceExtension.debug.xcconfig"; sourceTree = "<group>"; };
 		F28014612B0095476AA5BC1B /* Pods-Asteria-NotificationServiceExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Asteria-NotificationServiceExtension.debug.xcconfig"; path = "Target Support Files/Pods-Asteria-NotificationServiceExtension/Pods-Asteria-NotificationServiceExtension.debug.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 /* End PBXFileReference section */
 
 
@@ -1371,6 +1380,7 @@
 				8127ADD82B11930300464D27 /* NetTools */,
 				8127ADD82B11930300464D27 /* NetTools */,
 				9A8DD8CC2A0B9E0C00573324 /* Assets */,
 				9A8DD8CC2A0B9E0C00573324 /* Assets */,
 				9AD364CE2A05EC4500452C7A /* Tabber */,
 				9AD364CE2A05EC4500452C7A /* Tabber */,
+				9AACEE8E2B7F12DB00223466 /* Common */,
 				9AD364CC2A05EBE800452C7A /* Fuction */,
 				9AD364CC2A05EBE800452C7A /* Fuction */,
 				8172449D29F3B2ED005FA9C9 /* AppDelegate.h */,
 				8172449D29F3B2ED005FA9C9 /* AppDelegate.h */,
 				8172449E29F3B2ED005FA9C9 /* AppDelegate.m */,
 				8172449E29F3B2ED005FA9C9 /* AppDelegate.m */,
@@ -1740,6 +1750,8 @@
 				9A8BED322B6B86A20080DA36 /* MyCartCouponCell.m */,
 				9A8BED322B6B86A20080DA36 /* MyCartCouponCell.m */,
 				9AE3674B2B6CDDE50068F10B /* MyCartGrandTotalCell.h */,
 				9AE3674B2B6CDDE50068F10B /* MyCartGrandTotalCell.h */,
 				9AE3674C2B6CDDE50068F10B /* MyCartGrandTotalCell.m */,
 				9AE3674C2B6CDDE50068F10B /* MyCartGrandTotalCell.m */,
+				9AACEE902B7F137D00223466 /* MyCartPayTypeCell.h */,
+				9AACEE912B7F137D00223466 /* MyCartPayTypeCell.m */,
 			);
 			);
 			path = Cell;
 			path = Cell;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -1873,8 +1885,6 @@
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
 				9A3F5CB32B3BF71A00DDB6A7 /* Assets */,
 				9A3F5CB32B3BF71A00DDB6A7 /* Assets */,
-				9A3F5CAD2B3BC11000DDB6A7 /* AlertMyCartDeleteV.h */,
-				9A3F5CAE2B3BC11000DDB6A7 /* AlertMyCartDeleteV.m */,
 				9AF908592B396BD1008AC2D2 /* RYNetWork */,
 				9AF908592B396BD1008AC2D2 /* RYNetWork */,
 			);
 			);
 			path = Base;
 			path = Base;
@@ -1945,6 +1955,7 @@
 		9A78E0112B6388F500CA4E32 /* Cart */ = {
 		9A78E0112B6388F500CA4E32 /* Cart */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				9AFCDABF2B809C29003D3573 /* Checkout */,
 				9A2415B62B677DC000A6E903 /* Target */,
 				9A2415B62B677DC000A6E903 /* Target */,
 				9A2415B52B6770D700A6E903 /* Cell */,
 				9A2415B52B6770D700A6E903 /* Cell */,
 				9AEFA7DB2B649EF700AE1974 /* V */,
 				9AEFA7DB2B649EF700AE1974 /* V */,
@@ -1952,6 +1963,8 @@
 				9A78E0152B63910A00CA4E32 /* VM */,
 				9A78E0152B63910A00CA4E32 /* VM */,
 				9A78E0122B6389FC00CA4E32 /* Cart_MyCartC.h */,
 				9A78E0122B6389FC00CA4E32 /* Cart_MyCartC.h */,
 				9A78E0132B6389FC00CA4E32 /* Cart_MyCartC.m */,
 				9A78E0132B6389FC00CA4E32 /* Cart_MyCartC.m */,
+				9AACEE932B7F473200223466 /* Cart_CheckoutC.h */,
+				9AACEE942B7F473200223466 /* Cart_CheckoutC.m */,
 				9AA053492B6E193D004B90BC /* Cart.xcassets */,
 				9AA053492B6E193D004B90BC /* Cart.xcassets */,
 			);
 			);
 			path = Cart;
 			path = Cart;
@@ -1993,6 +2006,25 @@
 			path = Base;
 			path = Base;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
+		9AACEE8E2B7F12DB00223466 /* Common */ = {
+			isa = PBXGroup;
+			children = (
+				9AACEE8F2B7F12FF00223466 /* V */,
+			);
+			path = Common;
+			sourceTree = "<group>";
+		};
+		9AACEE8F2B7F12FF00223466 /* V */ = {
+			isa = PBXGroup;
+			children = (
+				9A3F5CAD2B3BC11000DDB6A7 /* AlertMyCartDeleteV.h */,
+				9A3F5CAE2B3BC11000DDB6A7 /* AlertMyCartDeleteV.m */,
+				9A3F5CA92B3BBEAB00DDB6A7 /* GoodsDetailsPayV.h */,
+				9A3F5CAA2B3BBEAB00DDB6A7 /* GoodsDetailsPayV.m */,
+			);
+			path = V;
+			sourceTree = "<group>";
+		};
 		9ACBEC1E2A1457E800A8F97A /* CTMediatoaTargets */ = {
 		9ACBEC1E2A1457E800A8F97A /* CTMediatoaTargets */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
@@ -2196,8 +2228,6 @@
 				9A3F5CB62B3BF90100DDB6A7 /* GoodsDetailsIntroduceV.h */,
 				9A3F5CB62B3BF90100DDB6A7 /* GoodsDetailsIntroduceV.h */,
 				9A3F5CB72B3BF90100DDB6A7 /* GoodsDetailsIntroduceV.m */,
 				9A3F5CB72B3BF90100DDB6A7 /* GoodsDetailsIntroduceV.m */,
 				9AD3459F2A08D55D005CA070 /* Banner */,
 				9AD3459F2A08D55D005CA070 /* Banner */,
-				9A3F5CA92B3BBEAB00DDB6A7 /* GoodsDetailsPayV.h */,
-				9A3F5CAA2B3BBEAB00DDB6A7 /* GoodsDetailsPayV.m */,
 				9A3F5CB92B3C192000DDB6A7 /* GoodsDetailsBottomV.h */,
 				9A3F5CB92B3C192000DDB6A7 /* GoodsDetailsBottomV.h */,
 				9A3F5CBA2B3C192000DDB6A7 /* GoodsDetailsBottomV.m */,
 				9A3F5CBA2B3C192000DDB6A7 /* GoodsDetailsBottomV.m */,
 			);
 			);
@@ -2310,6 +2340,15 @@
 			path = RYNetWork;
 			path = RYNetWork;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
+		9AFCDABF2B809C29003D3573 /* Checkout */ = {
+			isa = PBXGroup;
+			children = (
+				9AFCDAC02B809C5B003D3573 /* CartCheckTableV.h */,
+				9AFCDAC12B809C5B003D3573 /* CartCheckTableV.m */,
+			);
+			path = Checkout;
+			sourceTree = "<group>";
+		};
 		AD6FCC75A25F3F751CF2E2EB /* Pods */ = {
 		AD6FCC75A25F3F751CF2E2EB /* Pods */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
@@ -2562,6 +2601,7 @@
 				81E73EC02B1AC49D00C10938 /* ASPointsViewModel.m in Sources */,
 				81E73EC02B1AC49D00C10938 /* ASPointsViewModel.m in Sources */,
 				9A3F5CAF2B3BC11000DDB6A7 /* AlertMyCartDeleteV.m in Sources */,
 				9A3F5CAF2B3BC11000DDB6A7 /* AlertMyCartDeleteV.m in Sources */,
 				81717C912A3BE39C00648139 /* ASProductSortFilterView.m in Sources */,
 				81717C912A3BE39C00648139 /* ASProductSortFilterView.m in Sources */,
+				9AACEE952B7F473200223466 /* Cart_CheckoutC.m in Sources */,
 				81C7962E2A539F4D003083B8 /* ASMessageListCell.m in Sources */,
 				81C7962E2A539F4D003083B8 /* ASMessageListCell.m in Sources */,
 				81717D382A3D322700648139 /* KWNoHisWordsCell.m in Sources */,
 				81717D382A3D322700648139 /* KWNoHisWordsCell.m in Sources */,
 				9A2415BF2B678A1100A6E903 /* QtyCountV.m in Sources */,
 				9A2415BF2B678A1100A6E903 /* QtyCountV.m in Sources */,
@@ -2592,6 +2632,7 @@
 				9A3F5CAB2B3BBEAB00DDB6A7 /* GoodsDetailsPayV.m in Sources */,
 				9A3F5CAB2B3BBEAB00DDB6A7 /* GoodsDetailsPayV.m in Sources */,
 				81C796242A4FD63A003083B8 /* ASVipCouponsViewController.m in Sources */,
 				81C796242A4FD63A003083B8 /* ASVipCouponsViewController.m in Sources */,
 				9AEFA7DE2B649F4000AE1974 /* MyCarlTableV.m in Sources */,
 				9AEFA7DE2B649F4000AE1974 /* MyCarlTableV.m in Sources */,
+				9AFCDAC22B809C5B003D3573 /* CartCheckTableV.m in Sources */,
 				9AC2CC222B3A673B005187BD /* ASGoodsDetailsVM.m in Sources */,
 				9AC2CC222B3A673B005187BD /* ASGoodsDetailsVM.m in Sources */,
 				816020252A2F1C9E00E4A8F1 /* ASHomeMainListModel.m in Sources */,
 				816020252A2F1C9E00E4A8F1 /* ASHomeMainListModel.m in Sources */,
 				81717CA82A3C0AAA00648139 /* KWProductListFilterModel.m in Sources */,
 				81717CA82A3C0AAA00648139 /* KWProductListFilterModel.m in Sources */,
@@ -2704,6 +2745,7 @@
 				81EC47692A33073100516573 /* ASHomeNewInProductItemView.m in Sources */,
 				81EC47692A33073100516573 /* ASHomeNewInProductItemView.m in Sources */,
 				81717D212A3C4AE000648139 /* KWSearchSubTypeTableView.m in Sources */,
 				81717D212A3C4AE000648139 /* KWSearchSubTypeTableView.m in Sources */,
 				9A5F52952B5F59EA007D3791 /* GoosSizeSelectCell.m in Sources */,
 				9A5F52952B5F59EA007D3791 /* GoosSizeSelectCell.m in Sources */,
+				9AACEE922B7F137D00223466 /* MyCartPayTypeCell.m in Sources */,
 				9AD3461D2A08D6F0005CA070 /* GoodsInformationM.m in Sources */,
 				9AD3461D2A08D6F0005CA070 /* GoodsInformationM.m in Sources */,
 				9A1247972A1B0A2800126226 /* AS_ForgotC.m in Sources */,
 				9A1247972A1B0A2800126226 /* AS_ForgotC.m in Sources */,
 				812021182B1467410026B8B5 /* ASUserModel.m in Sources */,
 				812021182B1467410026B8B5 /* ASUserModel.m in Sources */,

Asteria/Base/AlertMyCartDeleteV.h → Asteria/Common/V/AlertMyCartDeleteV.h


Asteria/Base/AlertMyCartDeleteV.m → Asteria/Common/V/AlertMyCartDeleteV.m


Asteria/Fuction/Goods/V/GoodsDetailsPayV.h → Asteria/Common/V/GoodsDetailsPayV.h


Asteria/Fuction/Goods/V/GoodsDetailsPayV.m → Asteria/Common/V/GoodsDetailsPayV.m


+ 17 - 0
Asteria/Fuction/Cart/Cart_CheckoutC.h

@@ -0,0 +1,17 @@
+//
+//  Cart_CheckoutC.h
+//  Asteria
+//
+//  Created by 王猛 on 2024/2/16.
+//
+
+#import <WMBase/WMBase.h>
+#import "CartTotalsM.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface Cart_CheckoutC : UCMBaseC
+@property (nonatomic, strong) CartTotalsM *totalsM;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 33 - 0
Asteria/Fuction/Cart/Cart_CheckoutC.m

@@ -0,0 +1,33 @@
+//
+//  Cart_CheckoutC.m
+//  Asteria
+//
+//  Created by 王猛 on 2024/2/16.
+//
+
+#import "Cart_CheckoutC.h"
+#import "CartCheckTableV.h"
+
+@interface Cart_CheckoutC ()
+@property (nonatomic, strong) CartCheckTableV *TableV;
+@end
+
+@implementation Cart_CheckoutC
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    self.title = @"Checkout";
+}
+
+- (void)initSubviews {
+    [super initSubviews];
+    IPhoneXHeigh
+    [self setupTableV:[CartCheckTableV class] Frame:CGRectMake(0, securitytop_Y , KScreenWidth, security_H)];
+}
+
+
+#pragma mark - **************** reqNet ****************
+
+
+
+@end

+ 35 - 2
Asteria/Fuction/Cart/Cart_MyCartC.m

@@ -8,6 +8,7 @@
 #import "Cart_MyCartC.h"
 #import "Cart_MyCartC.h"
 #import "CartVM.h"
 #import "CartVM.h"
 #import "MyCarlTableV.h"
 #import "MyCarlTableV.h"
+#import "Cart_CheckoutC.h"
 @interface Cart_MyCartC ()<RY_baseVMprotocol>
 @interface Cart_MyCartC ()<RY_baseVMprotocol>
 @property (nonatomic, strong) CartVM *VM;
 @property (nonatomic, strong) CartVM *VM;
 @property (nonatomic, strong) UIView *topBgV;
 @property (nonatomic, strong) UIView *topBgV;
@@ -18,7 +19,7 @@
 @property (nonatomic, strong) CartTotalsM *totalsM;
 @property (nonatomic, strong) CartTotalsM *totalsM;
 @property (nonatomic, strong) MyCartCouponCellData *couponCellM;
 @property (nonatomic, strong) MyCartCouponCellData *couponCellM;
 @property (nonatomic, strong) MyCartGrandTotalCellData *totalCellM;
 @property (nonatomic, strong) MyCartGrandTotalCellData *totalCellM;
-
+@property (nonatomic, strong) UIButton *postBtn;
 @end
 @end
 
 
 @implementation Cart_MyCartC
 @implementation Cart_MyCartC
@@ -47,9 +48,14 @@
         make.right.mas_equalTo(-20);
         make.right.mas_equalTo(-20);
         make.centerY.equalTo(self.topBgV);
         make.centerY.equalTo(self.topBgV);
     }];
     }];
+    
     IPhoneXHeigh
     IPhoneXHeigh
-    [self setupTableV:[MyCarlTableV class] Frame:CGRectMake(0, CGRectGetMaxY(self.topBgV.frame), KScreenWidth, KScreenHeight-securityBottom_H - 65- CGRectGetMaxY(self.topBgV.frame))];
+    [self setupTableV:[MyCarlTableV class] Frame:CGRectMake(0, CGRectGetMaxY(self.topBgV.frame), KScreenWidth, KScreenHeight-securityBottom_H - 65- CGRectGetMaxY(self.topBgV.frame)-self.postBtn.mj_h)];
     self.TableV.backgroundColor = [UIColor colorWithHexString:@"#F8F8F8"];
     self.TableV.backgroundColor = [UIColor colorWithHexString:@"#F8F8F8"];
+    
+    [self.view addSubview:self.postBtn];
+    self.postBtn.mj_y = CGRectGetMaxY(self.TableV.frame);
+
 }
 }
 
 
 
 
@@ -142,6 +148,11 @@
             self.totalCellM.currency_symbol = model.currency_symbol;
             self.totalCellM.currency_symbol = model.currency_symbol;
             [self.TableV.infodata addObject:self.totalCellM];
             [self.TableV.infodata addObject:self.totalCellM];
             
             
+            MyCartPayTypeCellData *data = [[MyCartPayTypeCellData alloc]init];
+            data.final_prices_f = [model.subtotal floatValue];
+            data.currency_symbol = model.currency_symbol;
+            [self.TableV.infodata addObject:data];
+            
             [self.TableV reloadData];
             [self.TableV reloadData];
         }
         }
     }else if ([mark isEqualToString:Cart_cartsMineItems_Post]
     }else if ([mark isEqualToString:Cart_cartsMineItems_Post]
@@ -165,6 +176,12 @@
     }
     }
 }
 }
 
 
+-(void)handle_postEvent:(UIButton *)btn{
+    Cart_CheckoutC *vc = [[Cart_CheckoutC alloc]init];
+    vc.totalsM = self.totalsM;
+    [[Current_normalTool topViewController].navigationController pushViewController:vc animated:YES];
+}
+
 #pragma mark - **************** lazy ****************
 #pragma mark - **************** lazy ****************
 
 
 -(UIView *)topBgV{
 -(UIView *)topBgV{
@@ -210,4 +227,20 @@
     return _totalCellM;
     return _totalCellM;
 }
 }
 
 
+- (UIButton *)postBtn {
+    if (!_postBtn) {
+        _postBtn = [UIButton buttonWithType:UIButtonTypeCustom];
+        _postBtn.layer.cornerRadius = 4;
+        _postBtn.clipsToBounds = YES;
+        IPhoneXHeigh
+        _postBtn.frame = CGRectMake(10, 0, KScreenWidth-20, 45);
+        _postBtn.backgroundColor = [UIColor colorWithHexString:@"#000000"];
+        [_postBtn setTitleColor:[UIColor colorWithHexString:@"#FFFFFF"] forState:UIControlStateNormal];
+        _postBtn.titleLabel.font = [UIFont fontWithName:Rob_Regular size:16];
+        [_postBtn setTitle:@"POST COMMENT" forState:UIControlStateNormal];
+        [_postBtn addTarget:self action:@selector(handle_postEvent:) forControlEvents:UIControlEventTouchUpInside];
+     }
+    return _postBtn;
+}
+
 @end
 @end

+ 23 - 0
Asteria/Fuction/Cart/Cell/MyCartPayTypeCell.h

@@ -0,0 +1,23 @@
+//
+//  MyCartPayTypeCell.h
+//  Asteria
+//
+//  Created by 王猛 on 2024/2/16.
+//
+
+#import <WMBase/WMBase.h>
+#import "GoodsDetailsPayV.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MyCartPayTypeCellData : NSObject
+@property (nonatomic, strong) NSString *currency_symbol;
+@property (nonatomic, assign) CGFloat final_prices_f;
+@property (nonatomic, strong) NSMutableArray *paytypeAry;
+
+@end
+@interface MyCartPayTypeCell : TT_BaseCell
+@property (nonatomic, strong) GoodsDetailsPayV *payV;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 48 - 0
Asteria/Fuction/Cart/Cell/MyCartPayTypeCell.m

@@ -0,0 +1,48 @@
+//
+//  MyCartPayTypeCell.m
+//  Asteria
+//
+//  Created by 王猛 on 2024/2/16.
+//
+
+#import "MyCartPayTypeCell.h"
+@implementation MyCartPayTypeCellData
+@end
+@implementation MyCartPayTypeCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+- (void)setupSubviewS{
+    self.contentView.backgroundColor = [UIColor colorWithHexString:@"#F8F8F8"];
+    [self.contentView addSubview:self.payV];
+    [self.payV mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(78);
+        make.edges.equalTo(self.contentView).insets(UIEdgeInsetsMake(10, 10, 10, 10));
+    }];
+    
+}
+- (void)configData:(id)Data{
+    MyCartPayTypeCellData *model = (MyCartPayTypeCellData *)Data;
+    self.payV.titleLab.text = [NSString stringWithFormat:@"Pay in 4 interest-free payments of %@%.2f with",model.currency_symbol,model.final_prices_f/4];
+    
+}
+-(GoodsDetailsPayV *)payV{
+    if(!_payV){
+        _payV = [[GoodsDetailsPayV alloc]initWithFrame:CGRectMake(10, 0, KScreenWidth-20, 78)];
+        _payV.backgroundColor = [UIColor colorWithHexString:@"#FFFFFF"];
+        _payV.layer.cornerRadius = 4;
+        _payV.clipsToBounds = YES;
+    }
+    return _payV;
+}
+
+@end

+ 19 - 0
Asteria/Fuction/Cart/Checkout/CartCheckTableV.h

@@ -0,0 +1,19 @@
+//
+//  CartCheckTableV.h
+//  Asteria
+//
+//  Created by 王猛 on 2024/2/17.
+//
+
+#import <WMBase/WMBase.h>
+#import "CartTotalsM.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface CartCheckTableV : TT_BaseTableV
+@property (nonatomic, assign) BOOL isFlod;
+@property (nonatomic,strong) CartTotalsM *totalsM;
+@end
+
+
+
+NS_ASSUME_NONNULL_END

+ 12 - 0
Asteria/Fuction/Cart/Checkout/CartCheckTableV.m

@@ -0,0 +1,12 @@
+//
+//  CartCheckTableV.m
+//  Asteria
+//
+//  Created by 王猛 on 2024/2/17.
+//
+
+#import "CartCheckTableV.h"
+
+@implementation CartCheckTableV
+
+@end

+ 1 - 0
Asteria/Fuction/Cart/V/MyCarlTableV.h

@@ -11,6 +11,7 @@
 #import "MyCartGrandTotalCell.h"
 #import "MyCartGrandTotalCell.h"
 #import "GoodsSizePayMentCell.h"
 #import "GoodsSizePayMentCell.h"
 #import "MyCartGrandTotalCell.h"
 #import "MyCartGrandTotalCell.h"
+#import "MyCartPayTypeCell.h"
 NS_ASSUME_NONNULL_BEGIN
 NS_ASSUME_NONNULL_BEGIN
 
 
 @interface MyCarlTableV : TT_BaseTableV
 @interface MyCarlTableV : TT_BaseTableV

+ 4 - 0
Asteria/Fuction/Cart/V/MyCarlTableV.m

@@ -37,6 +37,10 @@
             [self generaltriggermethodType:type data:Data];
             [self generaltriggermethodType:type data:Data];
         };
         };
         return cell;
         return cell;
+    }else if([objectM isKindOfClass:[MyCartPayTypeCellData class]]){
+        MyCartPayTypeCell *cell = [MyCartPayTypeCell cellWithTableView:tableView CellClass:[MyCartPayTypeCell class]];
+        [cell configData:(MyCartPayTypeCellData *)objectM];
+        return cell;
     }
     }
     return  nil;
     return  nil;
 }
 }

+ 3 - 0
Asteria/Fuction/Cart/VM/CartVM.h

@@ -18,6 +18,9 @@
 //删除购物车优惠券
 //删除购物车优惠券
 #define DEL_cartsMineCoupons BaseRequestrUrl(@"carts/mine/coupons")
 #define DEL_cartsMineCoupons BaseRequestrUrl(@"carts/mine/coupons")
 
 
+///购物车
+
+
 
 
 NS_ASSUME_NONNULL_BEGIN
 NS_ASSUME_NONNULL_BEGIN