//
|
// YYCostDetailViewController.swift
|
// OKProject
|
//
|
// Created by alvin_y on 2020/7/21.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
|
/// 费用详情
|
class YYCostDetailViewController: YYViewController {
|
|
// /// 活动折扣
|
// @IBOutlet weak var label_activity: UILabel!
|
//
|
// /// 活动折扣
|
// @IBOutlet weak var view_activity: UIView!
|
//
|
// /// 等待费
|
// @IBOutlet weak var label_waiting: UILabel!
|
//
|
// /// 等待费
|
// @IBOutlet weak var label_waitingTitle: UILabel!
|
//
|
// /// 等待费
|
// @IBOutlet weak var view_waiting: UIView!
|
//
|
// /// 远途费
|
// @IBOutlet weak var label_long: UILabel!
|
//
|
// /// 远途费
|
// @IBOutlet weak var label_longTitle: UILabel!
|
//
|
// /// 远途费
|
// @IBOutlet weak var view_long: UIView!
|
//
|
// /// 里程费
|
// @IBOutlet weak var label_mileage: UILabel!
|
//
|
// /// 里程费
|
// @IBOutlet weak var label_mileageTitle: UILabel!
|
//
|
// /// 里程费
|
// @IBOutlet weak var view_mileage: UIView!
|
//
|
// /// 时长
|
// @IBOutlet weak var label_duration: UILabel!
|
//
|
// /// 时长
|
// @IBOutlet weak var label_durationTitle: UILabel!
|
//
|
// /// 时长
|
// @IBOutlet weak var view_duration: UIView!
|
//
|
// /// 起步价标题
|
// @IBOutlet weak var label_initialTitle: UILabel!
|
// /// 起步价
|
// @IBOutlet weak var label_initial: UILabel!
|
//
|
// /// 起步价
|
// @IBOutlet weak var view_initial: UIView!
|
// /// 打车费
|
// @IBOutlet weak var view_start: UIView!
|
// /// 小费
|
// @IBOutlet weak var label_tip: UILabel!
|
//
|
// /// 小费
|
// @IBOutlet weak var view_tip: UIView!
|
//
|
// /// 红包
|
// @IBOutlet weak var label_redEnvelope: UILabel!
|
//
|
// /// 红包
|
// @IBOutlet weak var view_redEnvelope: UIView!
|
//
|
// /// 优惠
|
// @IBOutlet weak var view_sale: UIView!
|
//
|
// /// 优惠
|
// @IBOutlet weak var label_sale: UILabel!
|
//
|
// /// 停车费
|
// @IBOutlet weak var view_parking: UIView!
|
//
|
// /// 过路费
|
// @IBOutlet weak var view_tolls: UIView!
|
|
/// 金额
|
@IBOutlet weak var label_money: UILabel!
|
|
/// 折扣
|
// @IBOutlet weak var label_discount: UILabel!
|
//
|
// /// 节日费
|
// @IBOutlet weak var holidayFeeL: UILabel!
|
// @IBOutlet weak var view_holiday: UIView!
|
//
|
// /// 打车卡
|
// @IBOutlet weak var taxiCardMoneyL: UILabel!
|
// @IBOutlet weak var view_taxiCardMoney: UIView!
|
// /// viewModel
|
var viewModel = YYCostDetailViewModel()
|
//
|
// /// 停车费
|
// @IBOutlet weak var label_parking: UILabel!
|
// /// 过路费
|
// @IBOutlet weak var label_tolls: UILabel!
|
// /// 折扣
|
// @IBOutlet weak var view_discount: UIView!
|
// /// 起步价
|
// @IBOutlet weak var label_start: UILabel!
|
|
@IBOutlet weak var tableView: UITableView!
|
@IBOutlet weak var tableViewHeiCons: NSLayoutConstraint!
|
private var items = [FreeModel]()
|
|
init(orderId: Int,orderType: OrderType) {
|
super.init(nibName: String(describing: YYCostDetailViewController.self), bundle: Bundle.main)
|
self.viewModel.orderId.accept(orderId)
|
self.viewModel.orderType.accept(orderType)
|
}
|
|
required init?(coder: NSCoder) {
|
fatalError("init(coder:) has not been implemented")
|
}
|
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
// self.view_tolls.isHidden = true
|
// self.view_waiting.isHidden = true
|
// self.view_activity.isHidden = true
|
// self.view_mileage.isHidden = true
|
// self.view_duration.isHidden = true
|
// self.view_long.isHidden = true
|
// self.view_discount.isHidden = true
|
// self.view_parking.isHidden = true
|
// self.view_sale.isHidden = true
|
// self.view_redEnvelope.isHidden = true
|
// self.view_tip.isHidden = true
|
// self.view_start.isHidden = true
|
// self.view_initial.isHidden = true
|
// self.view_holiday.isHidden = true
|
// self.view_holiday.isHidden = true
|
// self.view_taxiCardMoney.isHidden = true
|
|
tableView.delegate = self
|
tableView.dataSource = self
|
tableViewHeiCons.constant = 0
|
tableView.isScrollEnabled = false
|
tableView.separatorStyle = .none
|
tableView.register(UINib(nibName: "Common_SingleText_TCell", bundle: nil), forCellReuseIdentifier: "_Common_SingleText_TCell")
|
|
request()
|
}
|
|
//MARK: - UI
|
override func setupViews() {
|
super.setupViews()
|
navigationItem.title = "费用明细"
|
view.backgroundColor = #colorLiteral(red: 0.9529411765, green: 0.9568627451, blue: 0.9607843137, alpha: 1)
|
}
|
|
func request() {
|
|
viewModel.queryOrderInfo()
|
.subscribe(onNext: {[unowned self] (result) in
|
switch result{
|
case .success(let data):
|
guard let data = data else {return}
|
if data.state == 7{
|
self.label_money.text = String(format: "%.2f元", data.orderMoney)
|
}else{
|
self.label_money.text = String(format: "%.2f元", data.payMoney)
|
}
|
|
if data.startMoney > 0{
|
self.items.append(FreeModel(title: "起步价(\(String(format: "%.2f", data.startMileage)))公里", formatPrice: String(format: "%.2f元", data.startMoney), price: data.startMoney))
|
}
|
|
if data.durationMoney > 0{
|
self.items.append(FreeModel(title: "时长费(\(data.duration))分钟", formatPrice: String(format: "%.2f元", data.durationMoney), price: data.durationMoney))
|
}
|
|
if data.mileageMoney > 0{
|
self.items.append(FreeModel(title: "里程费(\(data.mileage))分钟", formatPrice: String(format: "%.2f元", data.mileageMoney), price: data.mileageMoney))
|
}
|
|
if data.waitMoney > 0{
|
self.items.append(FreeModel(title: "等待费", formatPrice: String(format: "%.2f元", data.waitMoney), price: data.waitMoney))
|
}
|
|
if data.longDistanceMoney > 0{
|
self.items.append(FreeModel(title: "远途费(\(String(format: "%.2f", data.longDistance)))公里", formatPrice: String(format: "%.2f元", data.longDistanceMoney), price: data.longDistanceMoney))
|
}
|
|
if data.travelMoney > 0{
|
self.items.append(FreeModel(title: "起步价", formatPrice: String(format: "%.2f元", data.travelMoney), price: data.travelMoney))
|
}
|
|
if data.roadTollMoney > 0{
|
self.items.append(FreeModel(title: "过路费", formatPrice: String(format: "%.2f元", data.roadTollMoney), price: data.roadTollMoney))
|
}
|
|
if data.discount > 0{
|
self.items.append(FreeModel(title: "折扣", formatPrice: String(format: "%.2f折", data.discount), price: data.discount))
|
}
|
|
if data.parkMoney > 0{
|
self.items.append(FreeModel(title: "停车费", formatPrice: String(format: "%.2f元", data.parkMoney), price: data.parkMoney))
|
}
|
|
if data.discountMoney > 0{
|
self.items.append(FreeModel(title: "折扣", formatPrice: String(format: "-%.2f元", data.discountMoney), price: -data.discountMoney))
|
}
|
|
if data.couponMoney > 0{
|
self.items.append(FreeModel(title: "优惠券", formatPrice: String(format: "-%.2f元", data.couponMoney), price: -data.couponMoney))
|
}
|
|
if data.holidayFee > 0{
|
self.items.append(FreeModel(title: "节日费", formatPrice: String(format: "%.2f元", data.holidayFee), price: data.holidayFee))
|
}
|
|
if data.taxiCardMoney > 0{
|
self.items.append(FreeModel(title: "打车卡", formatPrice: String(format: "-%.2f元", data.taxiCardMoney), price: -data.taxiCardMoney))
|
}
|
|
if data.redPacketMoney > 0{
|
self.items.append(FreeModel(title: "红包", formatPrice: String(format: "-%.2f元", data.redPacketMoney), price: -data.redPacketMoney))
|
}
|
|
if data.tipMoney > 0{
|
self.items.append(FreeModel(title: "小费", formatPrice: String(format: "%.2f元", data.tipMoney), price: data.tipMoney))
|
}
|
|
for item in data.orderAdditionalFeeWarpper {
|
if item.additionalFee > 0{
|
self.items.append(FreeModel(title: item.name, formatPrice: String(format: "%.2f元", item.additionalFee), price: item.additionalFee))
|
}
|
}
|
|
if viewModel.orderType.value == .travel{
|
self.items.append(FreeModel(title: "订单总金额", formatPrice: String(format: "%.2f元", data.orderMoney), price: data.orderMoney))
|
}
|
|
self.tableViewHeiCons.constant = 30.0 * Double(self.items.count)
|
self.tableView.reloadData()
|
|
// self.label_initialTitle.text = "起步价(\(String(format: "%.2f", data.startMileage)))公里"
|
// self.label_initial.text = String(format: "%.2f元", data.startMoney)
|
// self.label_duration.text = String(format: "%.2f元", data.durationMoney)
|
// self.label_durationTitle.text = "时长费(\(data.duration))分钟"
|
// self.label_mileageTitle.text = "里程费(\(data.mileage))分钟"
|
// self.label_mileage.text = String(format: "%.2f元", data.mileageMoney)
|
// self.label_waiting.text = String(format: "%.2f元", data.waitMoney)
|
// self.label_waitingTitle.text = "等待费"
|
// self.label_long.text = String(format: "%.2f元", data.longDistanceMoney)
|
// self.label_longTitle.text = "远途费(\(String(format: "%.2f", data.longDistance)))公里"
|
// self.label_start.text = String(format: "%.2f元", data.travelMoney)
|
// self.label_tolls.text = String(format: "%.2f元", data.roadTollMoney)
|
// self.label_activity.text = "\(data.discount)折"
|
// self.label_parking.text = String(format: "%.2f元", data.parkMoney)
|
// self.label_discount.text = String(format: "-%.2f元", data.discountMoney)
|
// self.label_sale.text = String(format: "-%.2f元", data.couponMoney)
|
// self.holidayFeeL.text = String(format: "%.2f元", data.holidayFee)
|
// self.taxiCardMoneyL.text = String(format: "-%.2f元", data.taxiCardMoney)
|
// self.label_redEnvelope.text = String(format: "-%.2f元", data.redPacketMoney)
|
// self.label_tip.text = String(format: "%.2f元", data.tipMoney)
|
// self.view_tolls.isHidden = data.roadTollMoney == 0
|
// self.view_waiting.isHidden = data.waitMoney == 0
|
// self.view_activity.isHidden = data.discount == 0
|
// self.view_mileage.isHidden = data.mileageMoney == 0
|
// self.view_duration.isHidden = data.durationMoney == 0
|
// self.view_long.isHidden = data.longDistanceMoney == 0
|
// self.view_discount.isHidden = data.discountMoney == 0
|
// self.view_parking.isHidden = data.parkMoney == 0
|
// self.view_sale.isHidden = data.couponMoney == 0
|
// self.view_redEnvelope.isHidden = data.redPacketMoney == 0
|
// self.view_tip.isHidden = data.tipMoney == 0
|
// self.view_start.isHidden = data.travelMoney == 0
|
// self.view_initial.isHidden = data.startMoney == 0
|
// self.view_holiday.isHidden = data.holidayFee == 0
|
// self.view_taxiCardMoney.isHidden = data.taxiCardMoney == 0
|
break
|
case .failure(let error):
|
YYAlertKit.display(message: error.localizedDescription)
|
break
|
}
|
})
|
.disposed(by: disposeBag)
|
}
|
}
|
|
extension YYCostDetailViewController:UITableViewDelegate{
|
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
|
return 30
|
}
|
}
|
|
extension YYCostDetailViewController:UITableViewDataSource{
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
let item = items[indexPath.row]
|
let cell = tableView.dequeueReusableCell(withIdentifier: "_Common_SingleText_TCell") as! Common_SingleText_TCell
|
cell.titleL.font = UIFont.systemFont(ofSize: 12)
|
cell.titleL.textColor = UIColor(hexString: "#000000")?.withAlphaComponent(0.79)
|
cell.subTitleL.font = UIFont.systemFont(ofSize: 12, weight: .medium)
|
cell.subTitleL.textColor = UIColor(hexString: "#333333")
|
cell.titleL.text = item.title
|
cell.subTitleL.text = item.formatPrice
|
cell.lineView.isHidden = true
|
return cell
|
}
|
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
return items.count
|
}
|
}
|
|
struct FreeModel {
|
var title = ""
|
var formatPrice = ""
|
var price:Double = 0
|
}
|