Files
suixinkan_uikit/suixinkan/UI/Orders/OrderDialogControllers.swift

96 lines
4.0 KiB
Swift

//
// 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)
}
}