lmw
2023-06-20 7e4a923b472a1ffb9d6deeb80302551ba4178ca3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package com.fanghua.driver.ui.pub
 
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.gone
import cn.sinata.xldutils.utils.visible
import com.fanghua.driver.R
import com.fanghua.driver.base.MyBaseActivity
import com.fanghua.driver.bean.City
import com.fanghua.driver.bean.CityBean
import com.fanghua.driver.bean.StringListBean
import com.fanghua.driver.bean.RegionBean
import com.fanghua.driver.dialog.CityDialog
import com.fanghua.driver.dialog.RegionDialog
import com.fanghua.driver.netUtls.Api
import com.fanghua.driver.netUtls.callNet
import com.fanghua.driver.netUtls.getMapByAny
import kotlinx.android.synthetic.main.activity_register.*
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
 
class RegisterActivity : MyBaseActivity() {
    override fun setContentView() {
        setContentView(R.layout.activity_register)
    }
 
    private var region = ""
    private var regionCode = ""
 
    override fun initView() {
        setTitleText("司机注册")
        getDescribe()
    }
 
    override fun setOnclick() {
        tv_more.setOnClickListener {
            (0 until ll_1.childCount).forEach {
                ll_1.getChildAt(it).visible()
            }
            tv_more.gone()
        }
 
        tv_city.clickDelay {
            getCities()
        }
 
        tv_region.clickDelay {
            getRegion()
        }
 
        tv_action.clickDelay {
            if (region.isEmpty())
                toast("请选择服务区域")
            else{
                startActivity<FastRegisterActivity>("region" to region,"regionCode" to regionCode)
            }
        }
    }
 
 
    private var province = arrayListOf<City>()
    private var provinceIndex = 0
    private var cityIndex = 0
    private fun getCities(){
        callNet(Api.queryCityList, HashMap()) {
            var bean = gson.fromJson<CityBean>(it,CityBean::class.java)
            if (bean.code == 200){
                if (bean.resultUtil.code == 10000){
                    province.clear()
                    province.addAll(bean.resultUtil.data)
                    val cityDialog = CityDialog()
                    cityDialog.arguments = bundleOf("province" to province,"cityIndex" to cityIndex,"provinceIndex" to provinceIndex)
                    cityDialog.setCallback(object :CityDialog.OnOkClick{
                        override fun onOk(region: String, provinceIndex: Int, cityIndex: Int) {
                            tv_city.text = region
                            this@RegisterActivity.provinceIndex = provinceIndex
                            this@RegisterActivity.cityIndex = cityIndex
                        }
                    })
                    cityDialog.show(supportFragmentManager,"city")
                }else{
                    toast(bean.resultUtil.msg)
                }
            }else{
                toast(bean.message)
            }
        }
    }
 
    private var regionIndex = 0
    private fun getRegion(){
        var map = getMapByAny()
        map["cityCode"] = province[provinceIndex].sublevel[cityIndex].code
        callNet(Api.queryOpenDistrict, map) {
            var bean = gson.fromJson<RegionBean>(it,RegionBean::class.java)
            if (bean.code == 200){
                if (bean.resultUtil.code == 10000){
                    val cityDialog = RegionDialog()
                    cityDialog.arguments = bundleOf("region" to bean.resultUtil.data,"regionIndex" to regionIndex)
                    cityDialog.setCallback(object :RegionDialog.OnOkClick{
                        override fun onOk(region: String, regionIndex: Int) {
                            this@RegisterActivity.region = region
                            tv_region.text = region
                            this@RegisterActivity.regionIndex = regionIndex
                            regionCode = bean.resultUtil.data[regionIndex].code
                        }
                    })
                    cityDialog.show(supportFragmentManager,"city")
                }else{
                    toast(bean.resultUtil.msg)
                }
            }else{
                toast(bean.message)
            }
        }
    }
 
    private fun getDescribe(){
        callNet(Api.queryJoiningRequirements, getMapByAny()){
            var bean = gson.fromJson<StringListBean>(it,StringListBean::class.java)
            if (bean.resultUtil.code == 10000){
                bean.resultUtil.data.forEachIndexed { index, s ->
                    val inflate = layoutInflater.inflate(R.layout.item_register, null) as TextView
                    inflate.text = s
                    ll_1.addView(inflate,ll_1.childCount-1)
                    if (index>3)
                        inflate.gone()
                }
                if (ll_1.childCount<=6){
                    tv_more.gone()
                }
            }
        }
    }
}