123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- //
- // OrderRefunddetailsViewController.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/5/16.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- enum OrderRefunddetailsVCType {
- case order
- case orderDetail
- case orderApplyRefund
- }
- class OrderRefunddetailsViewController: BaseViewController {
-
- var titles = ["退款编号","申请时间","订单状态","退款原因","退款金额"]
- var contents = ["","","","",""]
-
- var refundNo : String?
- var orderStatus : Int?
- var orderRefundDetailModel : OrderRefundDetailModel?
- var orderRefunddetailsVCType : OrderRefunddetailsVCType?
-
- typealias CancelCloSure = () -> Void?
- var cancelCloSure : CancelCloSure?
- override func viewDidLoad() {
- super.viewDidLoad()
- setupViews()
- setupLayouts()
- setupData()
- }
-
- override func setupViews() {
- navigationBar.title = "退款详情"
- navigationBar.onClickLeftButton = {
- [weak self] in
- if self?.orderRefunddetailsVCType == .order {
- self?.navigationController?.popViewController(animated: true)
- }else if self?.orderRefunddetailsVCType == .orderDetail {
- self?.navigationController?.popViewController(animated: true)
- }else if self?.orderRefunddetailsVCType == .orderApplyRefund {
- NotificationCenter.default.post(name: NSNotification.Name(rawValue: "OrderApplyRefund"), object: nil)
- if let cancelCloSure = self?.cancelCloSure {
- cancelCloSure()
- }
- self?.navigationController?.popToClass(type: OrderDetailViewController.self)
- }
- }
- view.addSubview(tableView)
- }
-
- override func setupLayouts() {
- tableView.snp.makeConstraints { (make) in
- make.bottom.right.left.equalToSuperview()
- make.top.equalTo(kNavBarTotalHeight)
- }
- }
-
- lazy var tableView: UITableView = {
- let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
- tableView.separatorStyle = .none
- tableView.backgroundColor = kf7f8faColor
- tableView.dataSource = self
- tableView.delegate = self
- tableView.estimatedRowHeight = 0.000001
- tableView.estimatedSectionFooterHeight = 0.000001
- tableView.estimatedSectionHeaderHeight = 0.000001
- return tableView
- }()
-
- override func setupData() {
- if self.orderStatus == 1 {
- self.contents[2] = "待发货"
- }
- if self.orderStatus == 2 {
- self.contents[2] = "待收货"
- }
- if self.orderStatus == 3 {
- self.contents[2] = "配送中"
- }
- if self.orderStatus == 4 {
- self.contents[2] = "待自提"
- }
-
- tableView.addHeaderWithHeader(withBeginRefresh: true, animation: false) {
- [weak self] (page) in
- self?.orderPurchaseRefundDetail()
- }
-
- }
-
- func orderPurchaseRefundDetail() {
- SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseRefundDetailApi(refundNo: refundNo ?? "") { [weak self] (orderRefundDetailModel) -> (Void) in
- self?.orderRefundDetailModel = orderRefundDetailModel as? OrderRefundDetailModel
-
- self?.contents[0] = self?.orderRefundDetailModel?.refundNo ?? ""
- self?.contents[1] = self?.orderRefundDetailModel?.createdAt ?? ""
- self?.contents[3] = self?.orderRefundDetailModel?.refundReason ?? ""
- self?.contents[4] = "\(priceConversionNone(price: self?.orderRefundDetailModel?.showRefundPrice ?? 0))元"
- self?.tableView.reloadData()
- }
- }
-
- }
- extension OrderRefunddetailsViewController : UITableViewDelegate, UITableViewDataSource {
- func numberOfSections(in tableView: UITableView) -> Int {
- return 2
- }
-
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- switch section {
- case 0:
- if orderRefundDetailModel?.status == 3 {
- return 1
- }
- return 2
- default:
- return titles.count
- }
- }
-
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- switch indexPath.section {
- case 0:
- if indexPath.row == 0 {
- let cell = OrderRefunddetailsStatusTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
- cell.orderRefundDetailModel = orderRefundDetailModel
- return cell
- }else {
- let cell = OrderRefunddetailsTipsTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
- cell.orderRefundDetailModel = orderRefundDetailModel
- return cell
- }
- default:
- let cell = OrderDetailInfoTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
- cell.titles = titles
- cell.refundContents = contents
- return cell
- }
- }
-
-
- func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
- switch indexPath.section {
- case 0:
- if indexPath.row == 0 {
- return 109
- }else {
- return UITableView.automaticDimension
- }
- default:
- return 33
- }
- }
-
- func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
- return 10
- }
-
- func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
- return nil
- }
-
- func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
- return 0
- }
-
- func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
- return nil
- }
- }
|