Browse Source

Merge branch 'develop' into feature/nanxinlin

南鑫林 5 years ago
parent
commit
c78a008b9e

+ 20 - 8
RainbowPlanet/RainbowPlanet/Modules/MineModule/EditExpressAddress/View/EditExpressAddressTableViewCell.swift

@@ -83,14 +83,7 @@ class EditExpressAddressTableViewCell: UITableViewCell {
         editTextView.isScrollEnabled = false
         editTextView.textContainer.lineFragmentPadding = 0
         editTextView.textContainerInset = .zero
-        editTextView.rx.text.orEmpty.changed.subscribe(onNext: {
-            [weak self] (text) in
-            self?.editTextView.text = String(text.prefix(150)) as String
-            if let editTextViewClosure = self?.editTextViewClosure {
-                editTextViewClosure(self?.editTextView.text ?? "",(self?.indexPath!)!)
-            }
-            
-        }).disposed(by: disposeBag)
+        editTextView.delegate = self
         return editTextView
     }()
     
@@ -124,3 +117,22 @@ class EditExpressAddressTableViewCell: UITableViewCell {
     }
 
 }
+
+extension EditExpressAddressTableViewCell: UITextViewDelegate {
+    
+    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
+        if textView == editTextView {
+            var fullStr = textView.text ?? ""
+            if textView.text?.count ?? 0 > 180 {
+                fullStr = String(fullStr.prefix(150)) as String
+                textView.text = fullStr
+            }
+            
+            if let editTextViewClosure = self.editTextViewClosure {
+                editTextViewClosure(self.editTextView.text ?? "",(self.indexPath!))
+            }
+        }
+        return true
+    }
+    
+}

+ 20 - 8
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderApplyRefund/View/OrderApplyRefundNoteInfoCell.swift

@@ -78,15 +78,27 @@ class OrderApplyRefundNoteInfoCell: UITableViewCell {
         noteTextView.placeholder = "如需部分商品退款请备注退款商品的名称和数量,如订单疑问可通过“我的”联系社长哦"
         noteTextView.placeholderTextColor = k999999Color
         noteTextView.isScrollEnabled = false
-        noteTextView.rx.text.orEmpty.changed.subscribe(onNext: {
-            [weak self] (text) in
-            self?.noteTextView.text = String(text.prefix(150)) as String
-
-            if let noteTextViewClosure = self?.noteTextViewClosure {
-                noteTextViewClosure(self?.noteTextView.text ?? "")
-            }
-        }).disposed(by: disposeBag)
+        noteTextView.delegate = self
         return noteTextView
     }()
     
 }
+
+extension OrderApplyRefundNoteInfoCell: UITextViewDelegate {
+    
+    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
+        if textView == noteTextView {
+            var fullStr = textView.text ?? ""
+            if textView.text?.count ?? 0 > 180 {
+                fullStr = String(fullStr.prefix(150)) as String
+                textView.text = fullStr
+            }
+            
+            if let noteTextViewClosure = self.noteTextViewClosure {
+                noteTextViewClosure(self.noteTextView.text ?? "")
+            }
+        }
+        return true
+    }
+    
+}

+ 5 - 0
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderApplyRefund/ViewController/OrderApplyRefundController.swift

@@ -311,6 +311,11 @@ extension OrderApplyRefundController {
             return
         }
         
+        if refundNote.count > 150 {
+            SwiftProgressHUD.shared().showText("退款原因最多可输入150个字符,请重新编辑", textAlignment: .left)
+            return
+        }
+        
         // 子订单id参数
         var subIdArr: Array<Int> = []
         for productMdl in productArr ?? [] {

+ 20 - 7
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderComment/View/OrderCommentTableViewCell.swift

@@ -160,13 +160,7 @@ class OrderCommentTableViewCell: UITableViewCell {
         cmtTextView.font = kRegularFont14
         cmtTextView.placeholder = "输入商品评价..."
         cmtTextView.placeholderTextColor = k999999Color
-        cmtTextView.rx.text.orEmpty.changed.subscribe(onNext: {
-            [weak self] (text) in
-            self?.cmtTextView.text = String(text.prefix(150)) as String
-            if let commentTextViewClosure = self?.commentTextViewClosure {
-                commentTextViewClosure(self?.cmtTextView.text ?? "")
-            }
-        }).disposed(by: disposeBag)
+        cmtTextView.delegate = self
         return cmtTextView
     }()
     
@@ -268,3 +262,22 @@ extension OrderCommentTableViewCell: UICollectionViewDelegateFlowLayout,UICollec
     }
     
 }
+
+extension OrderCommentTableViewCell: UITextViewDelegate {
+    
+    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
+        if textView == cmtTextView {
+            var fullStr = textView.text ?? ""
+            if textView.text?.count ?? 0 > 180 {
+                fullStr = String(fullStr.prefix(150)) as String
+                textView.text = fullStr
+            }
+            
+            if let commentTextViewClosure = self.commentTextViewClosure {
+                commentTextViewClosure(self.cmtTextView.text ?? "")
+            }
+        }
+        return true
+    }
+    
+}

+ 10 - 46
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderComment/ViewController/OrderCommentController.swift

@@ -175,28 +175,18 @@ extension OrderCommentController : UITableViewDelegate, UITableViewDataSource {
 extension OrderCommentController {
     // 提交评价
     func commitProductComment() {
-        print("\n0----开始上传流程")
-        uploadAllImages(totalTimes: 0)
+        // 1-校验长度
+        for (_, productMdl) in (productArr?.enumerated())! {
+            if productMdl.comment.count > 150 {
+                SwiftProgressHUD.shared().showText("订单评价最多可输入150个字符,请重新编辑商品评价", textAlignment: .left)
+                return
+            }
+        }
         
-//        var times: Int = productArr?.count ?? 0
-        // 上传全部商品图片
-//        for (idx, productMdl) in (productArr?.enumerated())! {
-//            let curImageArr = productArr![idx].imageArr
-//
-//            if curImageArr.isEmpty {
-//                times -= 1
-//                productMdl.imageArrUrl = []
-//                if times == 0 {
-//                    self.productAddCommentApi()
-//                    return
-//                } else {
-//                    continue
-//                }
-//            }
-//
-//            uploadSectionImages(productMdl: productMdl, curImageArr: curImageArr, totalTimes: 0)
         
-            
+        // 2-上传图片流程
+        uploadAllImages(totalTimes: 0)
+        
             
             // 多图上传Api
 //            SwiftMoyaNetWorkServiceConfig.shared().configUploadMultiImgApi(imageArray: curImageArr) { (imgUrlArr) -> (Void) in
@@ -209,9 +199,6 @@ extension OrderCommentController {
 //                    self.productAddCommentApi()
 //                }
 //            }
-            
-//        }
-        
     }
     
     func uploadAllImages(totalTimes: Int) {
@@ -254,31 +241,8 @@ extension OrderCommentController {
         }
     }
     
-    func uploadImages() {
-        // 上传全部商品图片
-        for (idx, productMdl) in (productArr?.enumerated())! {
-            let curImageArr = productArr![idx].imageArr
-            
-            if curImageArr.isEmpty {
-                continue
-            }
-            
-            let sema = DispatchSemaphore(value: 0)
-            // 多图上传Api
-            SwiftMoyaNetWorkServiceConfig.shared().configUploadMultiImgApi(imageArray: curImageArr) { (imgUrlArr) -> (Void) in
-                productMdl.imageArrUrl = imgUrlArr as! Array<String>
-                NXLLog("----signal\(idx)")
-                sema.signal()
-            }
-            //异步调用返回前,就会一直阻塞在这
-            NXLLog("----wait\(idx)")
-            sema.wait()
-        }
-    }
-    
     func productAddCommentApi() {
         print("3----评价流程")
-//        return
         
         let paraMdl = OrderCommentParameterModel()
         paraMdl.purchase_id = orderDetailModel?.id

+ 9 - 0
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartOrderPayView.swift

@@ -122,6 +122,15 @@ class ShoppingCartOrderPayView: BaseView {
         let accountView = OrderPayAcountView()
         accountView.commitOrderBlock = {
             [weak self] in
+            // 1-校验长度
+            for (_, productListMdl) in (self?.proListModelArr?.enumerated())! {
+                if productListMdl.buyerNotes?.count ?? 0 > 50 {
+                    SwiftProgressHUD.shared().showText("买家留言最多可输入50个字符,请重新编辑商品留言", textAlignment: .left)
+                    return
+                }
+            }
+            
+            // 2-拼接参数模型
             let paraMdl = OrderCreateParameterModel()
             paraMdl.money = self!.totalProductPrice
             paraMdl.selShopListArr = self?.proListModelArr

+ 20 - 8
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderFooter.swift

@@ -99,14 +99,7 @@ class ShoppingCartPayOrderFooter: BaseView {
         msgTextField.clearButtonMode = .whileEditing
         msgTextField.sizeToFit()
         msgTextField.tintColor = kFFA42FColor
-        
-        msgTextField.rx.text.orEmpty.changed.subscribe(onNext: { [weak self] (text) in
-            self?.msgTextField.text = String(text.prefix(50)) as String
-            if let buyerNoteBlock = self?.buyerNoteBlock {
-                buyerNoteBlock(self?.msgTextField.text ?? "")
-            }
-            
-        }).disposed(by: disposeBag)
+        msgTextField.delegate = self
         return msgTextField
     }()
     
@@ -127,3 +120,22 @@ class ShoppingCartPayOrderFooter: BaseView {
     }()
     
 }
+
+extension ShoppingCartPayOrderFooter: UITextFieldDelegate {
+    
+    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
+        if textField == msgTextField {
+            var fullStr = textField.text ?? ""
+            if textField.text?.count ?? 0 > 80 {
+                fullStr = String(fullStr.prefix(50)) as String
+                textField.text = fullStr
+            }
+                        
+            if let buyerNoteBlock = self.buyerNoteBlock {
+                buyerNoteBlock(self.msgTextField.text ?? "")
+            }
+        }
+        return true
+    }
+    
+}