浏览代码

订单详情页,页面字段展示不正确

南鑫林 5 年之前
父节点
当前提交
7e22a8c9cf

+ 4 - 0
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -297,6 +297,7 @@
 		A7D46090227617D200A5A54E /* SQLModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D4608F227617D200A5A54E /* SQLModel.swift */; };
 		A7D46092227619CD00A5A54E /* BaiduToCityFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D46091227619CC00A5A54E /* BaiduToCityFactory.swift */; };
 		A7DC467F22783A47001F3EFC /* EditExpressAddressTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DC467E22783A47001F3EFC /* EditExpressAddressTableViewCell.swift */; };
+		A7DF50D622A4E8B400998908 /* OrderDetailProductTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DF50D522A4E8B400998908 /* OrderDetailProductTableViewCell.swift */; };
 		A7FF1555228AC27600A85748 /* ProductAllCommentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FF1554228AC27600A85748 /* ProductAllCommentView.swift */; };
 		A7FF1557228AC3E800A85748 /* ProductAllCommentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FF1556228AC3E800A85748 /* ProductAllCommentViewController.swift */; };
 		A7FF1560228C693D00A85748 /* OrderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FF155F228C693D00A85748 /* OrderViewController.swift */; };
@@ -699,6 +700,7 @@
 		A7D4608F227617D200A5A54E /* SQLModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SQLModel.swift; sourceTree = "<group>"; };
 		A7D46091227619CC00A5A54E /* BaiduToCityFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaiduToCityFactory.swift; sourceTree = "<group>"; };
 		A7DC467E22783A47001F3EFC /* EditExpressAddressTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditExpressAddressTableViewCell.swift; sourceTree = "<group>"; };
+		A7DF50D522A4E8B400998908 /* OrderDetailProductTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderDetailProductTableViewCell.swift; sourceTree = "<group>"; };
 		A7E03A30F40582782EC5DA89 /* Pods_RainbowPlanetTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RainbowPlanetTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		A7FF1554228AC27600A85748 /* ProductAllCommentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductAllCommentView.swift; sourceTree = "<group>"; };
 		A7FF1556228AC3E800A85748 /* ProductAllCommentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductAllCommentViewController.swift; sourceTree = "<group>"; };
@@ -2825,6 +2827,7 @@
 				A7FF1584228C847300A85748 /* OrderDetailContactAddressTableViewCell.swift */,
 				A7FF1582228C843700A85748 /* OrderDetailExpressSelfMentionTableViewCell.swift */,
 				A7FF1586228C851100A85748 /* OrderDetailInfoTableViewCell.swift */,
+				A7DF50D522A4E8B400998908 /* OrderDetailProductTableViewCell.swift */,
 				A7FF1588228C854900A85748 /* OrderDetailBottomView.swift */,
 			);
 			path = View;
@@ -3386,6 +3389,7 @@
 				A7D46092227619CD00A5A54E /* BaiduToCityFactory.swift in Sources */,
 				A71AA51C227219EF008FF1A5 /* EditExpressAddressView.swift in Sources */,
 				BDAA40FB228E9CC300CF841D /* OrderApplyRefundNoteInfoCell.swift in Sources */,
+				A7DF50D622A4E8B400998908 /* OrderDetailProductTableViewCell.swift in Sources */,
 				A7CC751122715AE3003C4F38 /* MessageDetailesTimeView.swift in Sources */,
 				A73911AD229CD62F0033177E /* AlamofireReachabilityManager.swift in Sources */,
 				A7BB684F2268DCEC00AB07A2 /* SelfRecommendationViewController.swift in Sources */,

+ 8 - 11
RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/View/OrderDeliveryModeTableViewCell.swift

@@ -53,23 +53,20 @@ class OrderDeliveryModeTableViewCell: UITableViewCell {
         addressLabel.textColor = kfe352bColor
         addressLabel.font = kRegularFont13
         addressLabel.numberOfLines = 0
-        addressLabel.text = "自提地址:碑林区建设西路新城南门柜机"
         return addressLabel
     }()
     
     var orderModel: OrderModel? {
         didSet {
-            if orderModel?.deliverType == 1 { //自提
-                if orderModel?.feedbackStatus == 0 { //未维权
-                    switch orderModel?.status {
-                    case 1,2,3,4,7: //待发货/待收货/配送中/待自提/已关闭
-                       addressLabel.text = "自提地址:\(orderModel?.address ?? "")"
-                    default: //待付款/已自提/已完成
-                        break
-                    }
-                }else {//1-退款处理中/2-退款完成/3-拒绝退款
-                    
+            if orderModel?.feedbackStatus == 0 { //未维权
+                switch orderModel?.status {
+                case 1,2,3,4,5,7: //待发货/待收货/配送中/待自提/已自提/已关闭
+                   addressLabel.text = "自提地址:\(orderModel?.address ?? "")"
+                default: //待付款/已自提/已完成
+                    break
                 }
+            }else {//1-退款处理中/2-退款完成/3-拒绝退款
+                
             }
         }
     }

+ 7 - 1
RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/View/OrderShopAndStatusTableViewCell.swift

@@ -61,7 +61,6 @@ class OrderShopAndStatusTableViewCell: UITableViewCell {
     
     private lazy var shopButton: UIButton = {
         let shopButton = UIButton(type: UIButton.ButtonType.custom)
-        shopButton.setTitle("彩虹星球专营", for: UIControl.State.normal)
         shopButton.setTitleColor(k333333Color, for: UIControl.State.normal)
         shopButton.titleLabel?.font = kRegularFont14
         shopButton.setImage(kImage(name: "my_arrows_unfold"), for: UIControl.State.normal)
@@ -133,4 +132,11 @@ class OrderShopAndStatusTableViewCell: UITableViewCell {
             }
         }
     }
+    
+    var orderDetailModel: OrderModel? {
+        didSet {
+            shopButton.setTitle(orderDetailModel?.shopName ?? "", for: UIControl.State.normal)
+            shopButton.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.right, imageTitleSpace: 5)
+        }
+    }
 }

+ 128 - 72
RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/ViewController/OrderListViewController.swift

@@ -116,22 +116,22 @@ extension OrderListViewController : UITableViewDelegate, UITableViewDataSource {
                 if orderModel.feedbackStatus == 0 { //未维权
                     switch orderModel.status {
                     case 0: //待付款
-                        return 5 + (orderModel.detail?.count ?? 0)
+                        return 4 + (orderModel.detail?.count ?? 0)
                     case 1: //待发货
-                        return 5 + (orderModel.detail?.count ?? 0)
+                        return 4 + (orderModel.detail?.count ?? 0)
                     case 3: //配送中
-                        return 5 + (orderModel.detail?.count ?? 0)
+                        return 4 + (orderModel.detail?.count ?? 0)
                     case 4: //待自提
-                        return 5 + (orderModel.detail?.count ?? 0)
+                        return 4 + (orderModel.detail?.count ?? 0)
                     case 5: //已自提
-                        return 5 + (orderModel.detail?.count ?? 0)
+                        return 4 + (orderModel.detail?.count ?? 0)
                     case 7: //已关闭
-                        return 5 + (orderModel.detail?.count ?? 0)
+                        return 4 + (orderModel.detail?.count ?? 0)
                     default:
                         return 0
                     }
                 }else {
-                    return 5 + (orderModel.detail?.count ?? 0)
+                    return 4 + (orderModel.detail?.count ?? 0)
                 }
                
             case 2: //快递
@@ -164,59 +164,94 @@ extension OrderListViewController : UITableViewDelegate, UITableViewDataSource {
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         let orderModel = orderModelArray[indexPath.section]
         let details = orderModel.detail
-        switch indexPath.row {
-        case 0:
-            let cell = OrderShopAndStatusTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.orderModel = orderModel
-            return cell
-        case 1:
-            let cell = OrderDeliveryModeAndTimeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.orderModel = orderModel
-            return cell
-        case details!.count + 2:
-            let cell = OrderFreightTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.orderModel = orderModel
-            return cell
-        case details!.count + 3:
-            let cell = OrderTotalAmountTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.orderModel = orderModel
-            return cell
-        case details!.count + 4:
-            let orderModel = orderModel
-            if  orderModel.deliverType == 1 {
-                switch orderModel.status {
-                case 0,5:
-                    let cell = OrderDeliveryModeAndButtonTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                    cell.orderModel = orderModel
-                    cell.setButtonBlock = {
-                    [weak self] (button,orderModel) in
-                    self?.setButton(button: button,orderModel:orderModel)
-
-                    }
-                    return cell
-                case 1,3,4:
-                if orderModel.feedbackStatus == 0 {
-                    let cell = OrderDeliveryModeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                    cell.orderModel = orderModel
-                    return cell
-                }else {
-                    let cell = OrderDeliveryModeAndButtonTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                    cell.orderModel = orderModel
-                    cell.setButtonBlock = {
-                        [weak self] (button,orderModel) in
-                        self?.setButton(button: button,orderModel:orderModel)
+        
+        if  orderModel.deliverType == 1 { //自提
+            switch indexPath.row {
+            case 0:
+                let cell = OrderShopAndStatusTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case 1:
+                let cell = OrderDeliveryModeAndTimeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case details!.count + 2:
+                let cell = OrderTotalAmountTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case details!.count + 3:
+                    switch orderModel.status {
+                    case 0:
+                        let cell = OrderDeliveryModeAndButtonTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                        cell.orderModel = orderModel
+                        cell.setButtonBlock = {
+                            [weak self] (button,orderModel) in
+                            self?.setButton(button: button,orderModel:orderModel)
+                            
+                        }
+                        return cell
+                    case 5:
+                        if orderModel.isComment == 0 {
+                            let cell = OrderDeliveryModeAndButtonTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                            cell.orderModel = orderModel
+                            cell.setButtonBlock = {
+                                [weak self] (button,orderModel) in
+                                self?.setButton(button: button,orderModel:orderModel)
+                                
+                            }
+                            return cell
+                        }else {
+                            let cell = OrderDeliveryModeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                            cell.orderModel = orderModel
+                            return cell
+                        }
+                        
+                    case 1,3,4:
+                        if orderModel.feedbackStatus == 0 {
+                            let cell = OrderDeliveryModeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                            cell.orderModel = orderModel
+                            return cell
+                        }else {
+                            let cell = OrderDeliveryModeAndButtonTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                            cell.orderModel = orderModel
+                            cell.setButtonBlock = {
+                                [weak self] (button,orderModel) in
+                                self?.setButton(button: button,orderModel:orderModel)
+                            }
+                            return cell
+                        }
+                    case 7:
+                        let cell = OrderDeliveryModeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                        cell.orderModel = orderModel
+                        return cell
+                    default:
+                        return UITableViewCell()
                     }
-                    return cell
-                }
-                case 7:
-                    let cell = OrderDeliveryModeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                    cell.orderModel = orderModel
-                    return cell
-                default:
-                    return UITableViewCell()
-                }
-
-            }else if orderModel.deliverType == 2 {
+            default:
+                let cell = OrderProductTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModelDetailModel = details?[indexPath.row - 2]
+                return cell
+            }
+        }else  if  orderModel.deliverType == 2 { //快递
+            switch indexPath.row {
+            case 0:
+                let cell = OrderShopAndStatusTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case 1:
+                let cell = OrderDeliveryModeAndTimeTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case details!.count + 2:
+                let cell = OrderFreightTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case details!.count + 3:
+                let cell = OrderTotalAmountTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModel = orderModel
+                return cell
+            case details!.count + 4:
+                let orderModel = orderModel
                 switch orderModel.status {
                 case 0,2,6:
                     let cell = OrderButtonTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
@@ -224,7 +259,7 @@ extension OrderListViewController : UITableViewDelegate, UITableViewDataSource {
                     cell.setButtonBlock = {
                         [weak self] (button,orderModel) in
                         self?.setButton(button: button,orderModel:orderModel)
-
+                        
                     }
                     return cell
                 case 1:
@@ -236,16 +271,19 @@ extension OrderListViewController : UITableViewDelegate, UITableViewDataSource {
                             self?.setButton(button: button,orderModel:orderModel)
                         }
                         return cell
+                    }else {
+                        return UITableViewCell()
                     }
                 default:
                     return UITableViewCell()
                 }
+            default:
+                let cell = OrderProductTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                cell.orderModelDetailModel = details?[indexPath.row - 2]
+                return cell
             }
+        }else {
             return UITableViewCell()
-        default:
-            let cell = OrderProductTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.orderModelDetailModel = details?[indexPath.row - 2]
-            return cell
         }
     }
     
@@ -260,7 +298,13 @@ extension OrderListViewController : UITableViewDelegate, UITableViewDataSource {
         case details!.count + 2:
             return 40
         case details!.count + 3:
-            return 40
+            if orderModel.deliverType == 1 { //自提
+                return UITableView.automaticDimension
+            }else if orderModel.deliverType == 2 { //快递
+                return 40
+            }else {
+                return 0
+            }
         case details!.count + 4:
             return UITableView.automaticDimension
         default:
@@ -272,14 +316,26 @@ extension OrderListViewController : UITableViewDelegate, UITableViewDataSource {
         
         let orderModel = orderModelArray[indexPath.section]
         let details = orderModel.detail
-        switch indexPath.row {
-        case details!.count + 4:
-            break
-        default:
-            if let didSelectBlock = didSelectBlock {
-                didSelectBlock(orderModel)
+        if orderModel.deliverType == 1 { //自提
+            switch indexPath.row {
+            case details!.count + 3:
+                break
+            default:
+                if let didSelectBlock = didSelectBlock {
+                    didSelectBlock(orderModel)
+                }
+                break
+            }
+        }else if orderModel.deliverType == 2 { //快递
+            switch indexPath.row {
+            case details!.count + 4:
+                break
+            default:
+                if let didSelectBlock = didSelectBlock {
+                    didSelectBlock(orderModel)
+                }
+                break
             }
-            break
         }
         
     }

+ 147 - 0
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderDetail/View/OrderDetailProductTableViewCell.swift

@@ -0,0 +1,147 @@
+//
+//  OrderDetailProductTableViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/6/3.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class OrderDetailProductTableViewCell: UITableViewCell {
+
+
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> OrderDetailProductTableViewCell {
+        let ID = "OrderDetailProductTableViewCell"
+        tableView.register(OrderDetailProductTableViewCell.self, forCellReuseIdentifier: ID)
+        let cell : OrderDetailProductTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! OrderDetailProductTableViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    
+    //MRAK: - 设置View
+    private func setupViews() {
+        self.selectionStyle = .none
+        addSubview(productImageView)
+        addSubview(titleLabel)
+        addSubview(timeLabel)
+        addSubview(skuLabel)
+        addSubview(priceLabel)
+        addSubview(numberLabel)
+        addSubview(lineLabel)
+    }
+    
+    private func setupLayouts() {
+        productImageView.snp.makeConstraints { (make) in
+            make.left.equalTo(14)
+            make.centerY.equalToSuperview()
+            make.size.equalTo(92)
+        }
+        
+        titleLabel.snp.makeConstraints { (make) in
+            make.left.equalTo(productImageView.snp.right).offset(12)
+            make.top.equalTo(20)
+            make.right.equalTo(priceLabel.snp.left).offset(-12)
+            make.height.equalTo(20)
+        }
+        timeLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp.bottom).offset(8)
+            make.left.equalTo(titleLabel)
+            make.height.equalTo(17)
+        }
+        skuLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(timeLabel.snp.bottom).offset(8)
+            make.left.equalTo(titleLabel)
+            make.height.equalTo(17)
+        }
+        numberLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(skuLabel.snp.bottom).offset(8)
+            make.left.equalTo(skuLabel)
+        }
+        priceLabel.snp.makeConstraints { (make) in
+            make.centerY.equalTo(numberLabel)
+            make.right.equalTo(-14)
+        }
+        lineLabel.snp.makeConstraints { (make) in
+            make.bottom.equalToSuperview()
+            make.height.equalTo(1)
+            make.left.equalTo(14)
+            make.right.equalTo(-14)
+        }
+    }
+    
+    private lazy var productImageView: UIImageView = {
+        let productImageView = UIImageView()
+        productImageView.image = kImage(name: "pic_preload")
+        return productImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kBoldFont14
+        return titleLabel
+    }()
+    
+    private lazy var timeLabel: UILabel = {
+        let timeLabel = UILabel()
+        timeLabel.textColor = k666666Color
+        timeLabel.font = kRegularFont12
+        return timeLabel
+    }()
+    
+    private lazy var skuLabel: UILabel = {
+        let skuLabel = UILabel()
+        skuLabel.textColor = k999999Color
+        skuLabel.font = kRegularFont12
+        return skuLabel
+    }()
+    
+    private lazy var priceLabel: UILabel = {
+        let priceLabel = UILabel()
+        priceLabel.textColor = k333333Color
+        priceLabel.font = kRegularFont14
+        return priceLabel
+    }()
+    
+    private lazy var numberLabel: UILabel = {
+        let numberLabel = UILabel()
+        numberLabel.textColor = k999999Color
+        numberLabel.font = kRegularFont12
+        return numberLabel
+    }()
+    
+    private lazy var lineLabel: UILabel = {
+        let lineLabel = UILabel()
+        lineLabel.backgroundColor = kf5f5f5Color
+        return lineLabel
+    }()
+    
+    var orderModelDetailModel: OrderModelDetailModel? {
+        didSet {
+            productImageView.kf.setImage(with: kURLImage(name: orderModelDetailModel?.productImg ?? "pic_preload"), placeholder: kImage(name: "pic_preload"))
+            titleLabel.text = orderModelDetailModel?.productName
+            timeLabel.text = "预计配送时间:\(orderModelDetailModel?.receiveTime ?? "")"
+            skuLabel.text = "规格:\(orderModelDetailModel?.skuName ?? "")"
+            priceLabel.text = "\(priceConversion(price: orderModelDetailModel?.productPrice ?? 0))"
+            numberLabel.text = "x\(orderModelDetailModel?.amount ?? 0)"
+        }
+    }
+
+}

+ 21 - 8
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderDetail/ViewController/OrderDetailViewController.swift

@@ -103,7 +103,7 @@ class OrderDetailViewController: BaseViewController {
             self?.contents[2] = self?.orderDetailModel?.paidAt ?? ""
             if self?.orderDetailModel?.payType == "weixin" {
                 self?.contents[3] = "微信"
-            }else if self?.orderDetailModel?.payType == "ali" {
+            }else if self?.orderDetailModel?.payType == "alipay" {
                 self?.contents[3] = "支付宝"
             }
             self?.contents[4] = self?.orderDetailModel?.remark ?? ""
@@ -203,7 +203,13 @@ extension OrderDetailViewController : UITableViewDelegate, UITableViewDataSource
             if self.orderDetailModel?.detail?.isEmpty ?? true {
                 return 0
             }else {
-                return 3 + (self.orderDetailModel?.detail?.count ?? 0)
+                if self.orderDetailModel?.deliverType == 1 { //自提
+                    return 2 + (self.orderDetailModel?.detail?.count ?? 0)
+
+                }else { // 快递
+                    return 3 + (self.orderDetailModel?.detail?.count ?? 0)
+
+                }
             }
         case 3:
             switch self.orderDetailModel?.status {
@@ -239,19 +245,26 @@ extension OrderDetailViewController : UITableViewDelegate, UITableViewDataSource
             switch indexPath.row {
             case 0:
                 let cell = OrderShopAndStatusTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                cell.orderModel = self.orderDetailModel
+                cell.orderDetailModel = self.orderDetailModel
                 return cell
             case detail!.count + 1:
-                let cell = OrderFreightTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                cell.orderModel = self.orderDetailModel
-                return cell
+                if self.orderDetailModel?.deliverType == 1 { //自提
+                    let cell = OrderTotalAmountTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.orderModel = self.orderDetailModel
+                    return cell
+                    
+                }else { // 快递
+                    let cell = OrderFreightTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.orderModel = self.orderDetailModel
+                    return cell
+                }
             case detail!.count + 2:
                 let cell = OrderTotalAmountTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                 cell.orderModel = self.orderDetailModel
                 return cell
             default:
                 let detail = self.orderDetailModel?.detail
-                let cell = OrderProductTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                let cell = OrderDetailProductTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                 cell.orderModelDetailModel = detail?[indexPath.row - 1]
                 return cell
             }
@@ -307,7 +320,7 @@ extension OrderDetailViewController : UITableViewDelegate, UITableViewDataSource
             case (detail?.isEmpty ?? true) ? 1 : detail!.count + 2:
                 return UITableView.automaticDimension
             default:
-                return 108
+                return 120
             }
         case 3:
             return 33.5

+ 5 - 2
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallBanner/ShoppingMallBannerFSPagerViewCell.swift

@@ -42,14 +42,17 @@ class ShoppingMallBannerFSPagerViewCell: FSPagerViewCell {
     
     private func setupLayouts() {
         bgImageView.snp.makeConstraints { (make) in
-            make.edges.equalToSuperview()
+            make.top.bottom.equalToSuperview()
+            make.left.equalToSuperview().offset(14)
+            make.right.equalToSuperview().offset(-14)
         }
-        
     }
     
     private lazy var bgImageView: UIImageView = {
         let bgImageView = UIImageView()
         bgImageView.isUserInteractionEnabled = true
+        bgImageView.cornerRadius = 4
+        bgImageView.masksToBounds = true
         return bgImageView
     }()
     

+ 43 - 16
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallBanner/ShoppingMallBannerTableViewCell.swift

@@ -11,18 +11,6 @@ import FSPagerView
 
 class ShoppingMallBannerTableViewCell: UITableViewCell {
     
-    override var frame: CGRect {
-        get {
-            return super.frame
-        }
-        set {
-            var frame = newValue
-            frame.origin.x += 14 * kScaleWidth
-            frame.size.width -= 14 * kScaleWidth * 2
-            super.frame = frame
-        }
-    }
-    
     var cmsRuleModels : Array<CMSRuleModel>? {
         didSet {
             if !(cmsRuleModels?.isEmpty ?? true) {
@@ -31,6 +19,26 @@ class ShoppingMallBannerTableViewCell: UITableViewCell {
                 }else{
                     pagerView.isInfinite = false
                 }
+                
+                let pageControlWidth = CGFloat((cmsRuleModels?.count)!) * kScaleValue(value: 8) +  CGFloat((cmsRuleModels?.count)! - 1) * kScaleValue(value: 8)
+                
+                pageControl.snp.remakeConstraints { (make) in
+                    make.bottom.equalTo(-8)
+                    make.height.equalTo(8)
+                    make.centerX.equalToSuperview()
+                    make.width.equalTo(pageControlWidth)
+                }
+                pageControl.numberOfPages = (cmsRuleModels?.count)!
+                if  pageControl.numberOfPages > 1 {
+                    pageControl.isHidden = false
+                    pagerView.automaticSlidingInterval = 3.0
+                    pagerView.isInfinite = true
+                }else {
+                    pageControl.isHidden = true
+                    pagerView.automaticSlidingInterval = 0.0
+                    pagerView.isInfinite = false
+                }
+                
                 pagerView.reloadData()
             }
         }
@@ -64,6 +72,7 @@ class ShoppingMallBannerTableViewCell: UITableViewCell {
         self.selectionStyle = .none
         backgroundColor = kf7f8faColor
         addSubview(pagerView)
+        addSubview(pageControl)
     }
     
     private func setupLayouts() {
@@ -74,15 +83,25 @@ class ShoppingMallBannerTableViewCell: UITableViewCell {
     
     private lazy var pagerView: FSPagerView = {
         let pagerView = FSPagerView(frame: CGRect.zero)
+        pagerView.backgroundColor = kf7f8faColor
         pagerView.delegate = self
         pagerView.dataSource = self
         pagerView.scrollDirection = .horizontal
-        pagerView.automaticSlidingInterval = 0.0
-        pagerView.isInfinite = true
-        pagerView.cornerRadius = 4
-        pagerView.masksToBounds = true
         return pagerView
     }()
+    
+    private lazy var pageControl: NXLPageControl = {
+        let pageControl = NXLPageControl()
+        pageControl.pointSize = CGSize.init(width: kScaleValue(value: 8), height: 8)
+        pageControl.currentWidthMultiple = 1//当前点的宽度为其他点的4倍
+        pageControl.localPointSpace = 8
+        pageControl.currentColor = kFFA42FColor
+        pageControl.otherColor = UIColor(white: 0, alpha: 0.2)
+        pageControl.clickPoint { [weak self] (index) in
+            
+        }
+        return pageControl
+    }()
 
 }
 
@@ -108,4 +127,12 @@ extension ShoppingMallBannerTableViewCell:FSPagerViewDataSource,FSPagerViewDeleg
         
     }
     
+    func pagerViewWillEndDragging(_ pagerView: FSPagerView, targetIndex: Int) {
+        self.pageControl.currentPage = targetIndex
+    }
+    
+    func pagerViewDidEndScrollAnimation(_ pagerView: FSPagerView) {
+        self.pageControl.currentPage = pagerView.currentIndex
+    }
+    
 }

+ 1 - 0
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/SwiftMoyaNetWorkManager.swift

@@ -407,6 +407,7 @@ extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Respo
     
     // MARK: 泛型返回对象
     func mapObject<T: BaseMappable>(_ type: T.Type) -> Single<T?> {
+
         return flatMap { response -> Single<T?> in
             do {
                 let json = try JSON(response.mapJSON())