lmw
2023-06-16 03972ad1d3ce6ffe0be0395c0a4d5dcb4474031f
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
package com.kuanzhai.user.ui.mine
 
import android.app.Activity
import android.content.Intent
import android.view.View
import androidx.core.os.bundleOf
import cn.sinata.xldutils.clickDelay
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.isValidEmail
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.visible
import com.google.gson.Gson
import com.kuanzhai.user.R
import com.kuanzhai.user.dialog.SingleWheelDialog
import com.kuanzhai.user.interfaces.StringCallback
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.entity.ParamTicketOrder
import com.kuanzhai.user.network.request
import com.kuanzhai.user.ui.TransparentStatusBarActivity
import kotlinx.android.synthetic.main.activity_make_ticket.*
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.startActivityForResult
 
class MakeTicketActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_make_ticket
 
    private val list by lazy { intent.getParcelableArrayListExtra<ParamTicketOrder>("order") }
    private var type = 2 //开票类型(1=个人发票,2=单位发票)
 
    private var address:String? = null
    private var bank:String? = null
    private var remark:String? = null
 
    override fun initClick() {
        tv_type.clickDelay {
            val singleWheelDialog = SingleWheelDialog()
            singleWheelDialog.arguments = bundleOf("data" to arrayListOf("企业单位","个人/非企业单位"))
            singleWheelDialog.setCallback(object :StringCallback{
                override fun onRlt(rlt: String) {
                    tv_type.text = rlt
                    type = if (rlt == "企业单位"){
                        ll_code.visible()
                        line.visible()
                        2
                    } else{
                        ll_code.gone()
                        line.gone()
                        1
                    }
                }
            })
            singleWheelDialog.show(supportFragmentManager,"type")
        }
        tv_more.setOnClickListener {
            startActivityForResult<TicketMoreActivity>(1,"address" to address,"remark" to remark,"bank" to bank)
        }
        tv_action.clickDelay {
            val title = et_title.text.toString()
            if (title.isEmpty()){
                myToast("请填写发票抬头")
                return@clickDelay
            }
            val code = et_code.text.toString()
            if (type == 2&&code.isEmpty()){
                myToast("请填写税号")
                return@clickDelay
            }
            val mail = et_mail.text.toString()
            if (mail.isEmpty()){
                myToast("请填写电子邮件")
                return@clickDelay
            }
            if (!mail.isValidEmail()){
                myToast("邮箱格式不对")
                return@clickDelay
            }
            tv_action.isEnabled = false
            HttpManager.invoicing(type,Gson().toJson(list),title,mail,address, remark, bank, code).request(this,success = {_,_->
                myToast("提交成功")
                setResult(Activity.RESULT_OK)
                startActivity<TicketRecordActivity>()
            }){_,_->
                tv_action.isEnabled = true
            }
        }
    }
 
    override fun initView() {
        title = "开具电子发票"
        titleBar.addRightButton("历史开票",onClickListener = View.OnClickListener {
            startActivity<TicketRecordActivity>()
        })
        tv_money.text = "%.2f元".format(intent.getDoubleExtra("money",0.0))
 
    }
 
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == Activity.RESULT_OK&&data!=null){
            address = data.getStringExtra("address")
            bank = data.getStringExtra("bank")
            remark = data.getStringExtra("remark")
            if (address.isNullOrEmpty()&&bank.isNullOrEmpty()&&remark.isNullOrEmpty())
                tv_more.text = ""
            else
                tv_more.text = "已填"
        }
    }
}