lmw
2023-05-12 f67802a41f9e01444d1115f34ecc6e1beb05fc3b
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
package com.fuban.user.ui.trip
 
import android.app.Activity
import android.content.Intent
import cn.sinata.xldutils.callPhone
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optInt
import cn.sinata.xldutils.utils.toTime
import com.fuban.user.FBApplication
import com.fuban.user.R
import com.fuban.user.network.HttpManager
import com.fuban.user.network.entity.DriverInfo
import com.fuban.user.network.request
import com.fuban.user.ui.TransparentStatusBarActivity
import kotlinx.android.synthetic.main.activity_target_order.*
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.startActivityForResult
 
class TargetOrderActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_target_order
 
    private val driver by lazy {
        intent.getParcelableExtra<DriverInfo>("driver")
    }
    private val type by lazy {
        intent.getIntExtra("type",0)
    }
    private var startName = ""
    private var startLat = 0.0
    private var startLon = 0.0
    private var endName = ""
    private var endLat = 0.0
    private var endLon = 0.0
 
    override fun initClick() {
        iv_call.setOnClickListener {
            callPhone(driver.phone)
        }
        tv_start.setOnClickListener {
            startActivityForResult<ChoosePositionActivity>(1)
        }
        tv_end.setOnClickListener {
            startActivityForResult<ChoosePositionActivity>(2,"isStart" to false)
        }
        tv_action.setOnClickListener {
            if (endName.isEmpty()){
                myToast("请选择目的地")
            }else{
                tv_action.isEnabled = false
                HttpManager.addTaxiOrder(endName,endLat,endLon,2,type,FBApplication.lat,FBApplication.lon, startName,
                    startLat,startLon,0,0, System.currentTimeMillis().toTime("yyyy-MM-dd HH:mm"),
                    driver.id,null,null,null,1,type).request(this,success = {_,data->
                    data?.let {
                        startActivity<TripActivity>("type" to type,"id" to it.optInt("id"))
                        setResult(Activity.RESULT_OK)
                        finish()
                    }
                },error = {_,_->
                    tv_action.isEnabled = true
                })
            }
        }
    }
 
    override fun initView() {
        title = "扫码叫车"
        startName = intent.getStringExtra("startName")
        startLat = intent.getDoubleExtra("startLat",0.0)
        startLon = intent.getDoubleExtra("startLon",0.0)
        tv_start.text = startName
        driver.run {
            iv_header_home.setImageURI(avatar)
            tv_name.text = "$name $licensePlate"
            tv_car_info.text = "$brand·$carColor"
            tv_score.text = String.format("%.1f",fraction)
            tv_count.text = String.format("%d单",orderNum)
            tv_action.isEnabled = state == 2
            tv_action.text = when(state){
                1->"该司机未上班请稍后在下单"
                3->"该司机正在服务请稍后在下单"
                else->"确定"
            }
        }
    }
 
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == Activity.RESULT_OK&&data!=null){
            when(requestCode){
                1->{
                    startLat = data.getDoubleExtra("lat", 0.0)
                    startLon = data.getDoubleExtra("lon", 0.0)
                    startName = data.getStringExtra("name")?:""
                    tv_start.text = startName
                }
                2->{
                    endLat = data.getDoubleExtra("lat", 0.0)
                    endLon = data.getDoubleExtra("lon", 0.0)
                    endName = data.getStringExtra("name")?:""
                    tv_end.text = endName
                }
            }
        }
    }
}