package com.igo.user.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import android.util.TypedValue
|
import android.widget.EditText
|
import android.widget.TextView
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.utils.LanguageUtil
|
import cn.sinata.xldutils.utils.isValidPhone
|
import cn.sinata.xldutils.utils.myToast
|
import com.igo.user.R
|
import com.igo.user.dialog.SingleWheelDialog
|
import com.igo.user.dialog.TipDialog
|
import com.igo.user.interfaces.StringCallback
|
import com.igo.user.network.HttpManager
|
import com.igo.user.network.entity.City
|
import com.igo.user.network.request
|
import com.igo.user.ui.TransparentStatusBarActivity
|
import com.igo.user.ui.login.AreaCodeActivity
|
import com.igo.user.utils.Const
|
import com.igo.user.utils.RealNameInputFilter
|
import org.jetbrains.anko.find
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.startActivityForResult
|
|
class CommitGoodsActivity:TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_commit_goods
|
|
private val id by lazy {
|
intent.getIntExtra("id",0)
|
}
|
private val province = arrayListOf<City>()
|
|
private val areaCode by lazy { find<TextView>(R.id.areaCode) }
|
|
private val tv_region by lazy { find<TextView>(R.id.tv_region) }
|
private val tv_action by lazy { find<TextView>(R.id.tv_action) }
|
private val et_name by lazy { find<EditText>(R.id.et_name) }
|
private val et_city by lazy { find<EditText>(R.id.et_city) }
|
private val et_district by lazy { find<EditText>(R.id.et_district) }
|
private val et_address by lazy { find<EditText>(R.id.et_address) }
|
private val et_phone by lazy { find<EditText>(R.id.et_phone) }
|
private val et_remark by lazy { find<EditText>(R.id.et_remark) }
|
|
override fun initClick() {
|
areaCode.setOnClickListener {
|
startActivityForResult<AreaCodeActivity>(10086)
|
}
|
tv_region.onClick {
|
if (province.isEmpty())
|
getRegion()
|
else{
|
val strings = arrayListOf<String>()
|
val dialog = SingleWheelDialog()
|
val language = LanguageUtil.getLanguage()
|
strings.addAll(province.map { if (language == Const.Language.ENGLISH) it.englishName else if (language == Const.Language.FRENCH) it.frenchName else it.chineseName })
|
dialog.arguments = bundleOf("data" to strings,"title" to getString(R.string.选择地区))
|
dialog.setCallback(object :StringCallback{
|
override fun onRlt(rlt: String) {
|
tv_region.text = rlt
|
}
|
})
|
dialog.show(supportFragmentManager,"region")
|
}
|
}
|
tv_action.onClick {
|
val name = et_name.text.toString()
|
if (name.isEmpty()){
|
myToast(getString(R.string.请输入收件人名称))
|
return@onClick
|
}
|
val region = tv_region.text.toString()
|
if (region.isEmpty()){
|
myToast(getString(R.string.请选择省份))
|
return@onClick
|
}
|
val city = et_city.text.toString()
|
if (city.isEmpty()){
|
myToast(getString(R.string.请输入城市))
|
return@onClick
|
}
|
val district = et_district.text.toString()
|
if (district.isEmpty()){
|
myToast(getString(R.string.请输入地区))
|
return@onClick
|
}
|
val address = et_address.text.toString()
|
if (address.isEmpty()){
|
myToast(getString(R.string.请输入详细兑换地址))
|
return@onClick
|
}
|
var phone = et_phone.text.toString()
|
if (!phone.isValidPhone()){
|
myToast(getString(R.string.请输入收件人电话))
|
return@onClick
|
}
|
phone = areaCode.text.toString().replace("+","") + phone
|
|
val remark = et_remark.text.toString()
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to getString(R.string.是否确认兑换))
|
tipDialog.setCallback(object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
HttpManager.addIntegralOrder("${address},${district},${city},${region}",name,phone,id,remark)
|
.request(this@CommitGoodsActivity,false, {_,_->
|
setResult(Activity.RESULT_OK)
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to getString(R.string.兑换成功),"ok" to getString(R.string.确定1),"isAlert" to true)
|
tipDialog.setDismissCallback(object :TipDialog.OnDismiss{
|
override fun onDismiss() {
|
finish()
|
}
|
})
|
tipDialog.show(supportFragmentManager,"suc")
|
}){_,msg->
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to msg,"isAlert" to true)
|
tipDialog.show(supportFragmentManager,"failed")
|
}
|
}
|
|
override fun onCancel() {
|
}
|
})
|
tipDialog.show(supportFragmentManager,"tip")
|
}
|
}
|
|
private fun getRegion() {
|
showDialog()
|
HttpManager.queryRegions().request(this) { _, data ->
|
province.clear()
|
province.addAll(data ?: arrayListOf())
|
val strings = arrayListOf<String>()
|
val language = LanguageUtil.getLanguage()
|
strings.addAll(province.map { if (language == Const.Language.ENGLISH) it.englishName else if (language == Const.Language.FRENCH) it.frenchName else it.chineseName })
|
val dialog = SingleWheelDialog()
|
dialog.arguments = bundleOf("data" to strings, "title" to getString(R.string.选择地区))
|
dialog.setCallback(object : StringCallback {
|
override fun onRlt(rlt: String) {
|
tv_region.text = rlt
|
}
|
})
|
dialog.show(supportFragmentManager, "region")
|
}
|
}
|
|
override fun initView() {
|
title = getString(R.string.收件人信息)
|
et_name.filters = arrayOf(RealNameInputFilter())
|
et_city.filters = arrayOf(RealNameInputFilter())
|
et_district.filters = arrayOf(RealNameInputFilter())
|
val language = LanguageUtil.getLanguage()
|
et_name.setTextSize(TypedValue.COMPLEX_UNIT_SP,if (language == Const.Language.CHINESE) 14f else 11f)
|
et_phone.setTextSize(TypedValue.COMPLEX_UNIT_SP,if (language == Const.Language.CHINESE) 14f else 11f)
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (requestCode == 1) {
|
tv_region.text = data?.getStringExtra("name")
|
} else if (resultCode == Activity.RESULT_OK && requestCode == 10086) {
|
data?.getStringExtra("code")?.let {
|
areaCode.text = it
|
}
|
}
|
}
|
}
|