实现订单 Tab 并接入扫码核销流程
This commit is contained in:
95
suixinkan/UI/Orders/OrderDialogControllers.swift
Normal file
95
suixinkan/UI/Orders/OrderDialogControllers.swift
Normal file
@ -0,0 +1,95 @@
|
||||
//
|
||||
// OrderDialogControllers.swift
|
||||
// suixinkan
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
enum OrderRefundAlertController {
|
||||
static func present(
|
||||
from presenter: UIViewController,
|
||||
order: OrderEntity,
|
||||
onConfirm: @escaping (OrderRefundRequest) -> Void
|
||||
) {
|
||||
let alert = UIAlertController(title: "订单退款", message: order.orderNumber, preferredStyle: .alert)
|
||||
alert.addTextField { $0.placeholder = "退款金额"; $0.text = order.actualPayAmount }
|
||||
alert.addTextField { $0.placeholder = "退款原因" }
|
||||
alert.addAction(UIAlertAction(title: "取消", style: .cancel))
|
||||
alert.addAction(UIAlertAction(title: "确认退款", style: .destructive) { _ in
|
||||
let amount = alert.textFields?.first?.text ?? order.actualPayAmount
|
||||
let reason = alert.textFields?.last?.text ?? ""
|
||||
onConfirm(OrderRefundRequest(orderNumber: order.orderNumber, refundType: 1, refundAmount: amount, refundReason: reason))
|
||||
})
|
||||
presenter.present(alert, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
enum DepositOrderRefundAlertController {
|
||||
static func present(
|
||||
from presenter: UIViewController,
|
||||
orderNumber: String,
|
||||
amount: String,
|
||||
refundType: Int,
|
||||
onConfirm: @escaping (String, String) -> Void
|
||||
) {
|
||||
let title = refundType == 3 ? "部分退款" : "全额退款"
|
||||
let alert = UIAlertController(title: title, message: orderNumber, preferredStyle: .alert)
|
||||
alert.addTextField { $0.placeholder = "退款金额"; $0.text = amount }
|
||||
alert.addTextField { $0.placeholder = "退款原因" }
|
||||
alert.addAction(UIAlertAction(title: "取消", style: .cancel))
|
||||
alert.addAction(UIAlertAction(title: "确认", style: .destructive) { _ in
|
||||
let refundAmount = alert.textFields?.first?.text ?? amount
|
||||
let reason = alert.textFields?.last?.text ?? ""
|
||||
onConfirm(refundAmount, reason)
|
||||
})
|
||||
presenter.present(alert, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
enum OrderSignInAlertController {
|
||||
static func present(from presenter: UIViewController, response: OrderSignInResponse) {
|
||||
let message = """
|
||||
项目:\(response.projectName)
|
||||
景区:\(response.scenicName)
|
||||
金额:¥\(response.orderAmount)
|
||||
手机号:\(response.userPhone)
|
||||
"""
|
||||
let alert = UIAlertController(title: response.checkIn ? "签到成功" : "核销结果", message: message, preferredStyle: .alert)
|
||||
alert.addAction(UIAlertAction(title: "确定", style: .default))
|
||||
presenter.present(alert, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
enum WriteOffResultAlertController {
|
||||
static func present(from presenter: UIViewController, response: WriteOffOrderResponse) {
|
||||
let message = """
|
||||
项目:\(response.projectName)
|
||||
景区:\(response.scenicName)
|
||||
金额:¥\(response.orderAmount)
|
||||
手机号:\(response.userPhone)
|
||||
"""
|
||||
let alert = UIAlertController(title: response.orderVerify ? "核销成功" : "核销结果", message: message, preferredStyle: .alert)
|
||||
alert.addAction(UIAlertAction(title: "确定", style: .default))
|
||||
presenter.present(alert, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
enum SendGiftAlertController {
|
||||
static func present(
|
||||
from presenter: UIViewController,
|
||||
photoNum: Int,
|
||||
videoNum: Int,
|
||||
onConfirm: @escaping (Int, Int) -> Void
|
||||
) {
|
||||
let alert = UIAlertController(title: "赠送修图", message: nil, preferredStyle: .alert)
|
||||
alert.addTextField { $0.placeholder = "赠送照片数"; $0.keyboardType = .numberPad; $0.text = "\(photoNum)" }
|
||||
alert.addTextField { $0.placeholder = "赠送视频数"; $0.keyboardType = .numberPad; $0.text = "\(videoNum)" }
|
||||
alert.addAction(UIAlertAction(title: "取消", style: .cancel))
|
||||
alert.addAction(UIAlertAction(title: "确认", style: .default) { _ in
|
||||
let photo = Int(alert.textFields?.first?.text ?? "0") ?? 0
|
||||
let video = Int(alert.textFields?.last?.text ?? "0") ?? 0
|
||||
onConfirm(photo, video)
|
||||
})
|
||||
presenter.present(alert, animated: true)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user