OwnerSingleVModel.kt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.quansu.heifengwuliu.vmodel
  2. import android.app.Application
  3. import android.os.Bundle
  4. import androidx.lifecycle.MutableLiveData
  5. import com.quansu.heifengwuliu.activity.SourceDetailsActivity
  6. import com.quansu.heifengwuliu.model.DataInfoBean
  7. import com.quansu.heifengwuliu.model.InfoEditBean
  8. import com.quansu.heifengwuliu.utils.net.NetEngine
  9. import com.yanzhenjie.permission.AndPermission
  10. import com.yanzhenjie.permission.runtime.Permission
  11. import com.ysnows.base.base.BRepository
  12. import com.ysnows.base.base.BViewModel
  13. import com.ysnows.base.ccretrofit.CCRetrofit
  14. import com.ysnows.base.route.IGaode
  15. import com.ysnows.base.utils.UiSwitch
  16. open class OwnerSingleVModel(application: Application) : BViewModel<BRepository>(application) {
  17. var unit: MutableLiveData<String> = MutableLiveData(unitValues)
  18. var goodstype: MutableLiveData<String> = MutableLiveData()
  19. var insurance: MutableLiveData<String> = MutableLiveData()
  20. var isPush: MutableLiveData<Int> = MutableLiveData(isPushValue)
  21. var isAgree: MutableLiveData<Int> = MutableLiveData(isPushValue)
  22. val info: MutableLiveData<DataInfoBean> = MutableLiveData<DataInfoBean>()
  23. companion object {
  24. const val isPushValue = 1
  25. const val unitValues = "吨"
  26. }
  27. fun choseUnits() {
  28. //选择单车运量
  29. // QMUIBottomSheet.BottomListSheetBuilder(repository().context)
  30. // .addItem("吨")
  31. // .addItem("方")
  32. // .addItem("件")
  33. // .setOnSheetItemClickListener { dialog, itemView, position, tag ->
  34. //
  35. // when(position){
  36. // 0->unit.value="吨"
  37. // 1->unit.value="方"
  38. // 2->unit.value="件"
  39. // else ->unit.value=""
  40. // }
  41. // dialog.dismiss()
  42. //
  43. // }
  44. // .build()
  45. // .show()
  46. }
  47. fun getDataInfo(info_id:String){
  48. repository().rxLreq(NetEngine.service.infoGet(info_id))
  49. .doOnNext() {
  50. if (it.ok()) {
  51. info.value=it.data() as DataInfoBean
  52. }
  53. }
  54. .subscribe()
  55. }
  56. fun setReleaseSource(info_id:String,type_id:String,total:String,driver:String,
  57. nums:String,is_public:String,is_insurance:String,
  58. type:String,data:String,send:String,receive:String
  59. ){
  60. //todo:发布货源
  61. repository().rxLreq(NetEngine.service.infoEdit(info_id,type_id,total,driver,nums,is_public,is_insurance,type,
  62. data,send,receive))
  63. .doOnNext() {
  64. if (it.ok(true)) {
  65. var bean=it.data() as InfoEditBean
  66. UiSwitch.bundle(repository().context, SourceDetailsActivity::class.java, Bundle().apply {
  67. putString("info_id", bean.info_id)
  68. putInt("again", 0)
  69. })
  70. }
  71. }
  72. .subscribe()
  73. }
  74. fun locationMap() {
  75. //定位到当前位置
  76. AndPermission.with(repository().context)
  77. .runtime()
  78. .permission(Permission.ACCESS_COARSE_LOCATION,
  79. Permission.ACCESS_FINE_LOCATION,
  80. Permission.WRITE_EXTERNAL_STORAGE,
  81. Permission.READ_EXTERNAL_STORAGE,
  82. Permission.READ_PHONE_STATE
  83. )
  84. .onGranted { data ->
  85. CCRetrofit.instance()
  86. .with(repository().context)
  87. .create(IGaode::class.java)
  88. .currentLocation()
  89. .subscribe()
  90. }
  91. .start()
  92. }
  93. }