package com.kuanzhai.user.ui.charter
|
|
import android.app.Activity
|
import android.content.Intent
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.callPhone
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.utils.isValidPhone
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.utils.optString
|
import com.kuanzhai.user.KuanzhaiApplication
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.dialog.AlertDialog
|
import com.kuanzhai.user.dialog.SingleWheelDialog
|
import com.kuanzhai.user.interfaces.StringCallback
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.requestByF
|
import com.kuanzhai.user.ui.H5Activity
|
import com.kuanzhai.user.ui.MainActivity
|
import kotlinx.android.synthetic.main.fragment_charter.*
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.support.v4.startActivity
|
|
class CharterFragment:BaseFragment() {
|
override fun contentViewId() = R.layout.fragment_charter
|
|
private var carTypeId = 0 //车型
|
private var min = 0 //最低价
|
private var max = 0 //最高价
|
|
private val days = arrayListOf("一天","两天","三天","四天","五天","六天","七天")
|
private var day = 0
|
private val mainActivity by lazy {
|
activity as MainActivity
|
}
|
private val singleWheelDialog by lazy {
|
val d = SingleWheelDialog()
|
d.arguments = bundleOf("title" to "选择用车时长","data" to days)
|
d.setCallback(object :StringCallback{
|
override fun onRlt(rlt: String) {
|
tv_duration.text = rlt
|
day = days.indexOf(rlt)+1
|
calculate()
|
}
|
})
|
d
|
}
|
|
private val successDialog by lazy {
|
val alertDialog = AlertDialog()
|
alertDialog.arguments = bundleOf("msg" to "提交成功!我们将根据您的需求,与您取得联系,请您保持手机的畅通。")
|
alertDialog.setDismissCallback(object :AlertDialog.OnDismiss{
|
override fun onDismiss() {
|
clearData()
|
}
|
})
|
alertDialog
|
}
|
|
|
override fun onFirstVisibleToUser() {
|
|
getPhone()
|
tv_rule.onClick { getRule() }
|
|
|
tv_duration.onClick {
|
if (!singleWheelDialog.isAdded)
|
singleWheelDialog.show(fragmentManager!!,"count")
|
}
|
|
tv_action.onClick {
|
if (mainActivity.checkLogin()){
|
|
if (day == 0){
|
myToast("请选择用车时长")
|
return@onClick
|
}
|
if (carTypeId == 0){
|
myToast("请选择车型")
|
return@onClick
|
}
|
|
|
}
|
}
|
}
|
|
private fun getPhone(){
|
HttpManager.queryPhones(KuanzhaiApplication.chooseCityCode).requestByF(this){ _, data->
|
data?.filter { it.type == 3 }?.forEach {
|
tv_phone.text = "旅游包车调度电话:%s".format(it.phone)
|
tv_phone.onClick {_->
|
callPhone(it.phone)
|
}
|
}
|
}
|
}
|
|
private fun getRule(){
|
HttpManager.getH5(14).requestByF(this){_,data->
|
data?.let {
|
tv_rule.setOnClickListener {_->
|
startActivity<H5Activity>("title" to "包车规则","url" to it.optString("content"))
|
}
|
}
|
}
|
}
|
|
/**
|
* 计算价格
|
*/
|
private fun calculate(){
|
if (carTypeId!=0&&day!=0){
|
tv_price.text = "预计价:¥%d-¥%d".format(min*day,max*day)
|
}
|
}
|
|
private fun clearData(){
|
|
tv_price.text = ""
|
day = 0
|
carTypeId = 0
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK&&data!=null){
|
|
}
|
}
|
}
|