package com.fuban.user.ui.logistics
|
|
import android.app.Activity
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.utils.isValidPhone
|
import cn.sinata.xldutils.utils.myToast
|
import com.fuban.user.BuildConfig
|
import com.fuban.user.R
|
import com.fuban.user.dialog.RegionDialog
|
import com.fuban.user.network.HttpManager
|
import com.fuban.user.network.entity.City
|
import com.fuban.user.network.request
|
import com.fuban.user.ui.TransparentStatusBarActivity
|
import kotlinx.android.synthetic.main.activity_receiver.*
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
|
class ReceiverActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_receiver
|
|
private val province = arrayListOf<City>()
|
private var provinceIndex = 0
|
private var cityIndex = 0
|
private var regionIndex = 0
|
|
override fun initClick() {
|
tv_region.onClick {
|
if (province.isEmpty())
|
getRegion()
|
else{
|
val regionDialog = RegionDialog()
|
regionDialog.arguments = bundleOf("province" to province,"provinceIndex" to provinceIndex,
|
"cityIndex" to cityIndex,"regionIndex" to regionIndex)
|
regionDialog.setCallback(object :RegionDialog.OnOkClick{
|
override fun onOk(region: String, provinceIndex: Int, cityIndex: Int, regionIndex: Int) {
|
tv_region.text = region
|
this@ReceiverActivity.provinceIndex = provinceIndex
|
this@ReceiverActivity.cityIndex = cityIndex
|
this@ReceiverActivity.regionIndex = regionIndex
|
}
|
})
|
regionDialog.show(supportFragmentManager,"region")
|
}
|
}
|
|
tv_action.onClick {
|
val name = et_name.text.toString()
|
if (name.isEmpty()){
|
myToast("请填写姓名")
|
return@onClick
|
}
|
val phone = et_phone.text.toString()
|
if (!phone.isValidPhone()){
|
myToast("请填写正确的手机号")
|
return@onClick
|
}
|
val region = tv_region.text.toString()
|
if (region.isEmpty()){
|
myToast("请选择地区")
|
return@onClick
|
}
|
val address = et_address.text.toString()
|
if (address.isEmpty()){
|
myToast("请填写详细地址")
|
return@onClick
|
}
|
setResult(Activity.RESULT_OK,intent.putExtra("name",name).putExtra("phone",phone)
|
.putExtra("region",region).putExtra("address",address).putExtra("provinceIndex",provinceIndex)
|
.putExtra("cityIndex",cityIndex).putExtra("regionIndex",regionIndex))
|
finish()
|
}
|
}
|
|
override fun initView() {
|
et_name.setText(intent.getStringExtra("name"))
|
et_phone.setText(intent.getStringExtra("phone"))
|
tv_region.text = intent.getStringExtra("region")
|
et_address.setText(intent.getStringExtra("address"))
|
provinceIndex = intent.getIntExtra("provinceIndex",0)
|
cityIndex = intent.getIntExtra("cityIndex",0)
|
regionIndex = intent.getIntExtra("regionIndex",0)
|
|
if (BuildConfig.DEBUG&&et_name.text.isEmpty()){
|
et_name.setText("测试")
|
et_phone.setText("18588888888")
|
tv_region.text = "四川省成都市青羊区"
|
et_address.setText("天府广场")
|
}
|
}
|
|
private fun getRegion(){
|
showDialog()
|
HttpManager.queryRegions().request(this){_,data->
|
province.clear()
|
province.addAll(data?: arrayListOf())
|
val dialog = RegionDialog()
|
dialog.arguments = bundleOf("province" to province,"provinceIndex" to provinceIndex,
|
"cityIndex" to cityIndex,"regionIndex" to regionIndex)
|
dialog.setCallback(object :RegionDialog.OnOkClick{
|
override fun onOk(region: String, provinceIndex: Int, cityIndex: Int, regionIndex: Int) {
|
tv_region.text = region
|
this@ReceiverActivity.provinceIndex = provinceIndex
|
this@ReceiverActivity.cityIndex = cityIndex
|
this@ReceiverActivity.regionIndex = regionIndex
|
}
|
})
|
dialog.show(supportFragmentManager,"region")
|
}
|
}
|
}
|