| | |
| | | import com.dayu.general.databinding.DialogCardRefundBinding |
| | | |
| | | /** |
| | | * |
| | | *卡片挂失对话框 |
| | | */ |
| | | class CardRefundDialog(context: Context) : Dialog(context) { |
| | | private var binding: DialogCardRefundBinding? = null |
| | | private var onConfirmListener: (( String, String) -> Unit)? = null |
| | | private var onConfirmListener: ((String, String, String, String, String) -> Unit)? = null |
| | | private var username: String? = null |
| | | private var cardNumber: String? = null |
| | | private var balance: String? = null |
| | |
| | | binding?.btnConfirm?.setOnClickListener { |
| | | val refundAmount = binding?.etRefundAmount?.text.toString() |
| | | val remark = binding?.etRemark?.text.toString() |
| | | |
| | | if (refundAmount.isEmpty()) { |
| | | // TODO: 显示错误提示 |
| | | return@setOnClickListener |
| | | |
| | | // 通过回调将数据传递给Activity处理 |
| | | username?.let { username -> |
| | | cardNumber?.let { cardNumber -> |
| | | balance?.let { balance -> |
| | | onConfirmListener?.invoke(username, cardNumber, balance, refundAmount, remark) |
| | | dismiss() |
| | | } |
| | | } |
| | | } |
| | | |
| | | onConfirmListener?.invoke(refundAmount, remark) |
| | | dismiss() |
| | | } |
| | | |
| | | // 如果有预设的用户信息,设置它们 |
| | |
| | | this.username = username |
| | | this.cardNumber = cardNumber |
| | | this.balance = balance |
| | | |
| | | |
| | | binding?.apply { |
| | | tvUsernameValue.text = username |
| | | tvCardNumberValue.text = cardNumber |
| | | etBalance.setText(balance+"元") |
| | | etBalance.setText(balance + "元") |
| | | } |
| | | } |
| | | |
| | | fun setOnConfirmListener(listener: ( String, String) -> Unit) { |
| | | /** |
| | | * 设置确认监听器 |
| | | * @param listener 回调函数,参数为:用户名、卡号、余额、退款金额、备注 |
| | | */ |
| | | fun setOnConfirmListener(listener: (String, String, String, String, String) -> Unit) { |
| | | onConfirmListener = listener |
| | | } |
| | | } |