18034727885
2026-09-18 1328a7b0b90825b1fd63bca8f7675e52df8b151d
app/src/main/java/com/igo/user/dialog/PayDialog.kt
@@ -18,6 +18,7 @@
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.visible
import com.igo.user.R
import com.igo.user.extension.extClearInvalidZero
import com.igo.user.ui.trip.ChooseCouponActivity
import com.igo.user.utils.Const
import com.igo.user.utils.showMoney
@@ -34,7 +35,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.Dialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
@@ -76,6 +77,10 @@
    private val isLogisticsDifference by lazy { //true 物流补差价
        arguments?.getBoolean("isLogistics",false)?:false
    }
    private val hideCoupon by lazy { // 是否隐藏优惠价
        arguments?.getBoolean("hideCoupon", false) ?: false
    }
    private var payWay = 3 //1=微信,2=支付宝,3=余额
    private var couponId = 0
    private var couponMoney = 0.0
@@ -96,7 +101,7 @@
        couponId = 0
        tv_money.text = money.showMoney(requireContext())
        group_coupon.visibility = if (isCancel||isLogisticsDifference) { //取消支付和物流差价没有优惠券
        group_coupon.visibility = if (isCancel||isLogisticsDifference||hideCoupon) { //取消支付和物流差价没有优惠券
            View.GONE
        } else {
            tv_coupon.text = getString(R.string.可用优惠券数量,coupon)
@@ -109,13 +114,13 @@
        }
        if (deductionAmount!=0.0){
            group_red.visible()
            val redMoney = getString(R.string.money_is,deductionAmount).replace(",",".")
            val redTotals = getString(R.string.money_is,redTotal).replace(",",".")
            val redMoney = getString(R.string.money_is,deductionAmount).replace(",",".").extClearInvalidZero()
            val redTotals = getString(R.string.money_is,redTotal).replace(",",".").extClearInvalidZero()
            val redBalance = getString(R.string.红包余额).format(redTotals)
            val s = getString(R.string.红包余额和可用红包抵扣).format(redBalance,redMoney)
            cb_red.text = SpanBuilder(s).bold(0,s.indexOf(redBalance)).bold(s.indexOf(redBalance)+redBalance.length,s.length)
                .size(s.indexOf(redBalance),s.indexOf(redBalance)+redBalance.length,12)
                .color(requireContext(),s.indexOf(redTotals),s.indexOf(redTotals)+redTotals.length,R.color.color_text_price).build()
                .color(requireContext(),s.indexOf(redTotals),s.indexOf(redTotals)+redTotals.length,cn.sinata.xldutils.R.color.color_text_price).build()
        }
        if (type == Const.OrderType.TYPE_CROSS_CITY||isCancel||isFrozen) //跨城支付有线下支付
            rb_offline.gone()
@@ -157,7 +162,7 @@
            cb_red.isChecked = false
            couponId = data.getIntExtra("id",0)
            couponMoney = data.getDoubleExtra("money", 0.0)
            tv_coupon.text = String.format("-%.2f", couponMoney)
            tv_coupon.text = String.format("-%.2f", couponMoney).extClearInvalidZero()
            tv_money.text = (money-couponMoney).showMoney(requireContext())
        }
    }