Переглянути джерело

1.图片上传适配android10.0。

石慧云 4 роки тому
батько
коміт
eb3d776721
31 змінених файлів з 476 додано та 45 видалено
  1. 1 0
      app/proguard-rules.pro
  2. 1 0
      app/src/main/AndroidManifest.xml
  3. 18 3
      app/src/main/java/com/quansu/heifengwuliu/activity/BankActivity.kt
  4. 17 4
      app/src/main/java/com/quansu/heifengwuliu/activity/ComVerityActivity.kt
  5. 26 0
      app/src/main/java/com/quansu/heifengwuliu/activity/InvoiceListActivity.kt
  6. 17 4
      app/src/main/java/com/quansu/heifengwuliu/activity/OpinionActivity.kt
  7. 21 3
      app/src/main/java/com/quansu/heifengwuliu/activity/PasswordActivity.kt
  8. 28 2
      app/src/main/java/com/quansu/heifengwuliu/activity/PersonalVerityActivity.kt
  9. 17 3
      app/src/main/java/com/quansu/heifengwuliu/activity/RechargeActivity.kt
  10. 3 2
      app/src/main/java/com/quansu/heifengwuliu/activity/SourceDetailsActivity.kt
  11. 17 3
      app/src/main/java/com/quansu/heifengwuliu/activity/VehicleInfoActivity.kt
  12. 17 3
      app/src/main/java/com/quansu/heifengwuliu/activity/WaybillDetailsActivity.kt
  13. 16 0
      app/src/main/java/com/quansu/heifengwuliu/adapter/InvoiceListAdapter.kt
  14. 31 0
      app/src/main/java/com/quansu/heifengwuliu/utils/FileUtils.java
  15. 24 1
      app/src/main/java/com/quansu/heifengwuliu/utils/LoadEngin.kt
  16. 1 1
      app/src/main/java/com/quansu/heifengwuliu/utils/OssUtils.kt
  17. 1 1
      app/src/main/java/com/quansu/heifengwuliu/vmodel/ComVerityVModel.kt
  18. 1 1
      app/src/main/java/com/quansu/heifengwuliu/vmodel/CommentListVModel.kt
  19. 37 0
      app/src/main/java/com/quansu/heifengwuliu/vmodel/InvoiceListVModel.kt
  20. 7 0
      app/src/main/java/com/quansu/heifengwuliu/vmodel/InvoiceVModel.kt
  21. 1 1
      app/src/main/java/com/quansu/heifengwuliu/vmodel/PersonalVerityVModel.kt
  22. 5 1
      app/src/main/java/com/quansu/heifengwuliu/vmodel/RegisterVModel.kt
  23. 15 4
      app/src/main/java/com/quansu/heifengwuliu/vmodel/SourceDetailsVModel.kt
  24. 1 1
      app/src/main/java/com/quansu/heifengwuliu/vmodel/VehicleInfoVModel.kt
  25. 1 0
      app/src/main/res/layout/activity_invoice.xml
  26. 119 0
      app/src/main/res/layout/activity_invoice_list.xml
  27. 2 1
      app/src/main/res/layout/activity_register.xml
  28. 19 0
      app/src/main/res/layout/activity_sourcedetails.xml
  29. 4 2
      app/src/main/res/layout/activity_waybilldetails.xml
  30. 5 3
      app/src/main/res/layout/fragment_ownersingle.xml
  31. 3 1
      base/src/main/java/com/ysnows/base/base/BRepository.kt

+ 1 - 0
app/proguard-rules.pro

@@ -384,4 +384,5 @@
 -keep public class com.project.mocha_patient.login.SignResponseData { private *; }
 # Application classes that will be serialized/deserialized over Gson
 -keep class com.quansu.heifengwuliu.model.** { *; }
+-keep class com.ysnows.base.model.** { *; }
 

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -105,6 +105,7 @@
         <activity android:name=".activity.RechargeActivity"/>
         <activity android:name=".activity.EachOtherActivity"/>
         <activity android:name=".activity.OpinionActivity"/>
+        <activity android:name=".activity.InvoiceListActivity"/>
 
 
     </application >

+ 18 - 3
app/src/main/java/com/quansu/heifengwuliu/activity/BankActivity.kt

@@ -4,11 +4,13 @@ import android.app.Activity
 import android.content.Intent
 import android.os.Bundle
 import android.util.Log
+import androidx.core.net.toUri
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityBankBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.vmodel.BankVModel
 import java.util.ArrayList
@@ -46,8 +48,14 @@ class BankActivity : MBActivity<BankVModel, ActivityBankBinding>(), OnUploadCall
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+                }else{
+                    list.add(selectList[0].path)
                 }
 
                 OssUtils(this,vm)
@@ -62,7 +70,14 @@ class BankActivity : MBActivity<BankVModel, ActivityBankBinding>(), OnUploadCall
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("bank", list, this)
 

+ 17 - 4
app/src/main/java/com/quansu/heifengwuliu/activity/ComVerityActivity.kt

@@ -3,12 +3,14 @@ package com.quansu.heifengwuliu.activity
 import android.app.Activity
 import android.content.Intent
 import android.os.Bundle
+import androidx.core.net.toUri
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityComVerifyBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.vmodel.ComVerityVModel
 import java.util.ArrayList
@@ -44,10 +46,14 @@ class ComVerityActivity : MBActivity<ComVerityVModel, ActivityComVerifyBinding>(
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
-                }
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
 
+                }else{
+                    list.add(selectList[0].path)
+                }
                 OssUtils(this, vm)
                         .setUpLoad("company", list, this)
 
@@ -60,7 +66,14 @@ class ComVerityActivity : MBActivity<ComVerityVModel, ActivityComVerifyBinding>(
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("company", list, this)
 

+ 26 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/InvoiceListActivity.kt

@@ -0,0 +1,26 @@
+package com.quansu.heifengwuliu.activity
+
+import com.quansu.heifengwuliu.adapter.InvoiceListAdapter
+import com.quansu.heifengwuliu.base.MBRActivity
+import com.quansu.heifengwuliu.databinding.ActivityInvoiceListBinding
+import com.quansu.heifengwuliu.vmodel.InvoiceListVModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/25
+ */
+class InvoiceListActivity: MBRActivity<InvoiceListVModel, InvoiceListAdapter, ActivityInvoiceListBinding>() {
+
+
+    override fun binding(): ActivityInvoiceListBinding {
+        return ActivityInvoiceListBinding.inflate(layoutInflater)
+    }
+
+    override fun initAdapter(): InvoiceListAdapter {
+        return InvoiceListAdapter()
+    }
+
+    override fun vmClass(): Class<InvoiceListVModel> {
+        return InvoiceListVModel::class.java
+    }
+}

+ 17 - 4
app/src/main/java/com/quansu/heifengwuliu/activity/OpinionActivity.kt

@@ -2,11 +2,13 @@ package com.quansu.heifengwuliu.activity
 
 import android.app.Activity
 import android.content.Intent
+import androidx.core.net.toUri
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityOpinionBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.vmodel.OpinionVModel
 import java.util.ArrayList
@@ -48,10 +50,14 @@ class OpinionActivity : MBActivity<OpinionVModel, ActivityOpinionBinding>(), OnU
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
-                }
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
 
+                }else{
+                    list.add(selectList[0].path)
+                }
                 OssUtils(this, vm)
                         .setUpLoad("idcard", list, this)
 
@@ -64,7 +70,14 @@ class OpinionActivity : MBActivity<OpinionVModel, ActivityOpinionBinding>(), OnU
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("idcard", list, this)
 

+ 21 - 3
app/src/main/java/com/quansu/heifengwuliu/activity/PasswordActivity.kt

@@ -5,12 +5,14 @@ import android.content.Intent
 import android.os.Bundle
 import android.os.Handler
 import android.util.Log
+import androidx.core.net.toUri
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityPasswordBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.view.PasswordView
 import com.quansu.heifengwuliu.view.PasswordView.PasswordListener
@@ -128,8 +130,17 @@ class PasswordActivity : MBActivity<PasswordVModel, ActivityPasswordBinding>(),
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
+//                for (path in selectList) {
+//                    list.add(path.path)
+//                }
+
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+                }else{
+                    list.add(selectList[0].path)
                 }
 
                 OssUtils(this, vm)
@@ -144,7 +155,14 @@ class PasswordActivity : MBActivity<PasswordVModel, ActivityPasswordBinding>(),
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("avatar", list, this)
 

+ 28 - 2
app/src/main/java/com/quansu/heifengwuliu/activity/PersonalVerityActivity.kt

@@ -1,14 +1,18 @@
 package com.quansu.heifengwuliu.activity
 
 import android.app.Activity
+import android.content.ContentResolver
 import android.content.Intent
 import android.os.Bundle
+import android.util.Log
+import androidx.core.net.toUri
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityPersonalVerifyBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.vmodel.PersonalVerityVModel
 import java.util.*
@@ -16,6 +20,7 @@ import java.util.*
 class PersonalVerityActivity : MBActivity<PersonalVerityVModel, ActivityPersonalVerifyBinding>(), OnUploadCallback<String> {
 
 
+
     override fun init(savedInstanceState: Bundle?) {
         super.init(savedInstanceState)
         vm.getInfo()
@@ -45,7 +50,18 @@ class PersonalVerityActivity : MBActivity<PersonalVerityVModel, ActivityPersonal
             val list = ArrayList<String>()
             if (null != selectList) {
                 for (path in selectList) {
-                    list.add(path.path)
+
+                    if(path.path.contains("content://")){
+
+                        val cr = this.contentResolver
+
+                        list.add( FileUtils.getFilePathFromContentUri(path.path.toUri(),cr))
+
+                    }else{
+                        list.add(path.path)
+                    }
+
+
                 }
 
                 OssUtils(this, vm)
@@ -60,7 +76,17 @@ class PersonalVerityActivity : MBActivity<PersonalVerityVModel, ActivityPersonal
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
+
             OssUtils(this, vm)
                     .setUpLoad("idcard", list, this)
 

+ 17 - 3
app/src/main/java/com/quansu/heifengwuliu/activity/RechargeActivity.kt

@@ -3,11 +3,13 @@ package com.quansu.heifengwuliu.activity
 import android.app.Activity
 import android.content.Intent
 import android.os.Bundle
+import androidx.core.net.toUri
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityRechargeBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.vmodel.RechargeVModel
 import java.util.ArrayList
@@ -49,8 +51,13 @@ class RechargeActivity: MBActivity<RechargeVModel, ActivityRechargeBinding>(), O
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+                }else{
+                    list.add(selectList[0].path)
                 }
 
                 OssUtils(this, vm)
@@ -65,7 +72,14 @@ class RechargeActivity: MBActivity<RechargeVModel, ActivityRechargeBinding>(), O
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("recharge", list, this)
 

+ 3 - 2
app/src/main/java/com/quansu/heifengwuliu/activity/SourceDetailsActivity.kt

@@ -20,6 +20,7 @@ class SourceDetailsActivity: MBActivity<SourceDetailsVModel, ActivitySourcedetai
 
     override fun init(savedInstanceState: Bundle?) {
         super.init(savedInstanceState)
+        vm.ll=vm.ll
         vm.again= intent?.extras?.getInt("again", 0)!!
 
         var info_id=intent?.extras?.getString("info_id", "")
@@ -32,8 +33,8 @@ class SourceDetailsActivity: MBActivity<SourceDetailsVModel, ActivitySourcedetai
         vm.info.observe(this, Observer {
             //观察
             initViewPager(vm.info.value!!)
-            if(vm.info.value!!.order.info_state==10) {//弹支付框
-                vm.showPayDialog(info_id!!, binding.ll)
+            if(vm.info.value!!.order.info_state==10&&vm.again==0) {//弹支付框
+                vm.showPayDialog(info_id!!)
             }
 
 

+ 17 - 3
app/src/main/java/com/quansu/heifengwuliu/activity/VehicleInfoActivity.kt

@@ -3,6 +3,7 @@ package com.quansu.heifengwuliu.activity
 import android.app.Activity
 import android.content.Intent
 import android.os.Bundle
+import androidx.core.net.toUri
 import androidx.lifecycle.Observer
 import com.luck.picture.lib.PictureSelector
 import com.qmuiteam.qmui.kotlin.onClick
@@ -12,6 +13,7 @@ import com.quansu.heifengwuliu.databinding.ActivityVehicleInfoBinding
 import com.quansu.heifengwuliu.inte.ChoiceListData
 import com.quansu.heifengwuliu.inte.OnUploadCallback
 import com.quansu.heifengwuliu.model.SelectData
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.utils.PopuListUtils
 import com.quansu.heifengwuliu.vmodel.VehicleInfoVModel
@@ -153,8 +155,13 @@ class VehicleInfoActivity: MBActivity<VehicleInfoVModel, ActivityVehicleInfoBind
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+                }else{
+                    list.add(selectList[0].path)
                 }
 
                 OssUtils(this, vm)
@@ -169,7 +176,14 @@ class VehicleInfoActivity: MBActivity<VehicleInfoVModel, ActivityVehicleInfoBind
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("car", list, this)
 

+ 17 - 3
app/src/main/java/com/quansu/heifengwuliu/activity/WaybillDetailsActivity.kt

@@ -3,6 +3,7 @@ package com.quansu.heifengwuliu.activity
 import android.app.Activity
 import android.content.Intent
 import android.os.Bundle
+import androidx.core.net.toUri
 import androidx.lifecycle.Observer
 import com.luck.picture.lib.PictureSelector
 import com.quansu.heifengwuliu.adapter.OrderInfoInadapter
@@ -12,6 +13,7 @@ import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityWaybilldetailsBinding
 import com.quansu.heifengwuliu.inte.OnUploadCallback
 import com.quansu.heifengwuliu.model.WaybillDetails
+import com.quansu.heifengwuliu.utils.FileUtils
 import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.vmodel.WaybillDetailsVModel
 import java.util.*
@@ -95,8 +97,13 @@ class WaybillDetailsActivity : MBActivity<WaybillDetailsVModel, ActivityWaybilld
             val selectList = PictureSelector.obtainMultipleResult(data)
             val list = ArrayList<String>()
             if (null != selectList) {
-                for (path in selectList) {
-                    list.add(path.path)
+                if(selectList[0].path.contains("content://")){
+
+                    val cr = this.contentResolver
+                    list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+                }else{
+                    list.add(selectList[0].path)
                 }
 
                 OssUtils(this, vm)
@@ -111,7 +118,14 @@ class WaybillDetailsActivity : MBActivity<WaybillDetailsVModel, ActivityWaybilld
             //拍照
             val selectList = PictureSelector.obtainMultipleResult(data) ?: return
             val list = ArrayList<String>()
-            list.add(selectList[0].path)
+            if(selectList[0].path.contains("content://")){
+
+                val cr = this.contentResolver
+                list.add( FileUtils.getFilePathFromContentUri(selectList[0].path.toUri(),cr))
+
+            }else{
+                list.add(selectList[0].path)
+            }
             OssUtils(this, vm)
                     .setUpLoad("order", list, this)
 

+ 16 - 0
app/src/main/java/com/quansu/heifengwuliu/adapter/InvoiceListAdapter.kt

@@ -0,0 +1,16 @@
+package com.quansu.heifengwuliu.adapter
+
+import com.chad.library.adapter.base.viewholder.BaseDataBindingHolder
+import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.databinding.ItemBillBinding
+import com.quansu.heifengwuliu.databinding.ItemCommentListBinding
+import com.quansu.heifengwuliu.model.AmountList
+import com.quansu.heifengwuliu.model.OrderEva
+import com.ysnows.base.base.BAdapter
+
+class InvoiceListAdapter() : BAdapter<OrderEva, BaseDataBindingHolder<ItemCommentListBinding>>(R.layout.item_comment_list) {
+    override fun convert(holder: BaseDataBindingHolder<ItemCommentListBinding>, item: OrderEva) {
+        holder.dataBinding?.item = item
+
+    }
+}

+ 31 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/FileUtils.java

@@ -0,0 +1,31 @@
+package com.quansu.heifengwuliu.utils;
+
+import android.content.ContentResolver;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.MediaStore;
+
+/**
+ * Created by shihuiyun
+ * on 2020/9/25
+ */
+public class FileUtils {
+
+    public static String getFilePathFromContentUri(Uri selectedVideoUri,
+                                                   ContentResolver contentResolver) {
+        String filePath;
+        String[] filePathColumn = {MediaStore.MediaColumns.DATA};
+
+        Cursor cursor = contentResolver.query(selectedVideoUri, filePathColumn, null, null, null);
+//      也可用下面的方法拿到cursor
+//      Cursor cursor = this.context.managedQuery(selectedVideoUri, filePathColumn, null, null, null);
+
+        cursor.moveToFirst();
+
+        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
+        filePath = cursor.getString(columnIndex);
+        cursor.close();
+        return filePath;
+    }
+
+}

+ 24 - 1
app/src/main/java/com/quansu/heifengwuliu/utils/LoadEngin.kt

@@ -1,6 +1,7 @@
 package com.quansu.heifengwuliu.utils
 
 import android.content.Context
+import android.util.Log
 import android.widget.ImageView
 import coil.load
 import coil.transform.CircleCropTransformation
@@ -19,26 +20,48 @@ import java.io.File
 
     override fun loadImage(context: Context, url: String, imageView: ImageView) {
         imageView.load(url)
+        Log.e("-shy-", "url1=: "+url )
+
     }
 
     override fun loadImage(context: Context, url: String, imageView: ImageView, longImageView: SubsamplingScaleImageView?, callback: OnImageCompleteCallback?) {
         imageView.load(url)
+        Log.e("-shy-", "url2=: "+url )
+
     }
 
     override fun loadImage(context: Context, url: String, imageView: ImageView, longImageView: SubsamplingScaleImageView?) {
         imageView.load(url)
+        Log.e("-shy-", "url3=: "+url )
+
+
     }
 
     override fun loadAsGifImage(context: Context, url: String, imageView: ImageView) {
         imageView.load(url)
+        Log.e("-shy-", "url4=: "+url )
+
     }
 
     override fun loadGridImage(context: Context, url: String, imageView: ImageView) {
-        imageView.load(File(url))
+        Log.e("-shy-", "url5=: "+url )
+        if(url.contains("content://")){
+            imageView.load(url) {
+                crossfade(true)
+                placeholder(R.drawable.picture_image_placeholder)
+                transformations(CircleCropTransformation())
+            }
+
+        }else{
+            imageView.load(File(url))
+
+        }
+
     }
 
     override fun loadFolderImage(context: Context, url: String, imageView: ImageView) {
 
+        Log.e("-shy-", "url6=: "+url )
         imageView.load(url) {
             crossfade(true)
             placeholder(R.drawable.picture_image_placeholder)

+ 1 - 1
app/src/main/java/com/quansu/heifengwuliu/utils/OssUtils.kt

@@ -105,7 +105,7 @@ class OssUtils(var bView: BView, val vm: BViewModel<*>) {
                     arr[i] = keyType
                     requestCall.execute(object : StringCallback() {
                         override fun onError(call: Call, e: Exception, id: Int) {
-                            bView.toast(bView.getStr(R.string.upload_pic_fail))
+                            bView.toast(bView.getStr(R.string.upload_pic_fail)+e)
                             Log.e("-shy-", "onError: $e")
                             size[0]--
                             if (size[0] <= 0) {

+ 1 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/ComVerityVModel.kt

@@ -66,7 +66,7 @@ class ComVerityVModel(application: Application) : BViewModel<ComVerifyRepository
 
     fun getInfo() {
         //获取个人信息
-        repository().rxLreq(NetEngine.service.getInfo("3"))
+        repository().rxPreq(NetEngine.service.getInfo("3"))
                 .doOnNext {
                     if (it.ok(true)) {
                         var bean = it.data()

+ 1 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/CommentListVModel.kt

@@ -19,7 +19,7 @@ class CommentListVModel(application: Application) : BRViewModel<BRRepository>(ap
 
 
     fun getTotalInfo()=viewModelScope.launch {
-            val resp = repository().lreq { NetEngine.service.evaCount(repository().autoPage()) }
+            val resp = repository().preq { NetEngine.service.evaCount(repository().autoPage()) }
             if (resp.ok(false)) {
                 info.value = resp.data()
             }

+ 37 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/InvoiceListVModel.kt

@@ -0,0 +1,37 @@
+package com.quansu.heifengwuliu.vmodel
+
+
+import android.app.Application
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.viewModelScope
+import com.quansu.heifengwuliu.model.AmountCount
+import com.quansu.heifengwuliu.model.DataInfoBean
+import com.quansu.heifengwuliu.utils.net.NetEngine
+import com.ysnows.base.base.BRRepository
+import com.ysnows.base.base.BRViewModel
+import com.ysnows.base.net.IResp
+import io.reactivex.Observable
+import kotlinx.coroutines.launch
+
+class InvoiceListVModel(application: Application) : BRViewModel<BRRepository>(application) {
+
+    val info: MutableLiveData<AmountCount> = MutableLiveData<AmountCount>()
+
+
+    fun getTotalInfo()=viewModelScope.launch {
+            val resp = repository().preq { NetEngine.service.evaCount(repository().autoPage()) }
+            if (resp.ok(false)) {
+                info.value = resp.data()
+            }
+    }
+
+    override fun apiFunc(): suspend () -> IResp<*> {
+        return { NetEngine.service.evaList(repository().page) }
+    }
+
+
+//    override fun api(): Observable<out IResponse<*>> {
+//        return NetEngine.service.evaList(repository().autoPage())
+//    }
+
+}

+ 7 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/InvoiceVModel.kt

@@ -39,5 +39,12 @@ class InvoiceVModel(application: Application) : BRViewModel<BRRepository>(applic
         return {NetEngine.service.invoiceList(repository().page)}
     }
 
+    fun goInvoice(){
+        //申请开票
+
+
+
+    }
+
 
 }

+ 1 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/PersonalVerityVModel.kt

@@ -86,7 +86,7 @@ class PersonalVerityVModel(application: Application) : BViewModel<PersonalVerify
 
     fun getInfo(){
         //获取个人信息
-        repository().rxLreq(NetEngine.service.getInfo("1"))
+        repository().rxPreq(NetEngine.service.getInfo("1"))
                 .doOnNext {
                     if (it.ok(false)) {
                         var bean=it.data()

+ 5 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/RegisterVModel.kt

@@ -82,7 +82,7 @@ open class RegisterVModel(application: Application) : BViewModel<RegisterReposit
             toast(R.string.please_input_code)
             return
         }
-        if (!showType.value!!) {
+        if (showType.value!!) {
             toast("请勾选已阅读并同意《平台服务协议》")
             return
         }
@@ -181,6 +181,10 @@ open class RegisterVModel(application: Application) : BViewModel<RegisterReposit
     override fun createRepository(): RegisterRepository {
         return RegisterRepository()
     }
+
+    fun goOnChose(){
+        showType.value=!showType.value!!
+    }
 }
 
 

+ 15 - 4
app/src/main/java/com/quansu/heifengwuliu/vmodel/SourceDetailsVModel.kt

@@ -47,6 +47,8 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
     //1:需要复制信息再来一单 0直接关闭就行
     var again: Int = 0
 
+    var ll: LinearLayout? =null
+
 
     @Bindable
     var number: String? = null
@@ -57,7 +59,7 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
 
     fun getInfo(info_id: String) {
 
-        repository().rxLreq(NetEngine.service.infoGet(info_id))
+        repository().rxPreq(NetEngine.service.infoGet(info_id))
                 .doOnNext() {
                     if (it.ok()) {
 
@@ -80,7 +82,7 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
                 .subscribe()
     }
 
-    fun showPayDialog(info_id: String, view: LinearLayout) {
+    fun showPayDialog(info_id: String) {
         var mNormalPopup = QMUIPopups.fullScreenPopup(repository().context)
         val builder: QMUISkinValueBuilder = QMUISkinValueBuilder.acquire()
         val frameLayout = QMUIFrameLayout(repository().context)
@@ -118,7 +120,6 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
 
         })
 
-
         butCancel.setOnClickListener {
             mNormalPopup.dismiss()
         }
@@ -136,7 +137,7 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
 
         mNormalPopup.dismissIfOutsideTouch(false)
         mNormalPopup.animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
-        mNormalPopup.show(view)
+        mNormalPopup.show(ll)
 
     }
 
@@ -158,6 +159,8 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
 
     fun anotherOne() {
         //再来一单
+
+        toast("信息已填好,可以发布了")
         if (again == 0) {
             var con = repository().context as Activity
             con.finish()
@@ -183,6 +186,14 @@ open class SourceDetailsVModel(application: Application) : BViewModel<BRepositor
     }
 
 
+    fun  isShowPaylBut(info_state: Int): Boolean {
+        //支付按钮
+
+        return info_state == 10 && again==1
+
+    }
+
+
     fun isShowCancelBut(info_state: Int): Boolean {
         //取消按钮
 

+ 1 - 1
app/src/main/java/com/quansu/heifengwuliu/vmodel/VehicleInfoVModel.kt

@@ -223,7 +223,7 @@ class VehicleInfoVModel(application: Application) : BViewModel<BRepository>(appl
 
 
     fun getInfo() {
-        repository().rxLreq(NetEngine.service.getInfo("2"))
+        repository().rxPreq(NetEngine.service.getInfo("2"))
                 .doOnNext {
                     if (it.ok(false)) {
                         var bean = it.data() as InfoBean

+ 1 - 0
app/src/main/res/layout/activity_invoice.xml

@@ -72,6 +72,7 @@
                   app:qmui_backgroundColor="#FFBB00"
                   android:text="申请开票"
                   app:qmui_borderColor="#FFBB00"
+                  android:onClick="@{v->vm.goInvoice()}"
                   android:textSize="14sp"
                   android:textColor="@color/white"
                   android:layout_marginEnd="12dp"

+ 119 - 0
app/src/main/res/layout/activity_invoice_list.xml

@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <data>
+
+        <variable
+            name="vm"
+            type="com.quansu.heifengwuliu.vmodel.CommentListVModel" />
+    </data>
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_bg"
+        android:orientation="vertical">
+
+        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+            android:layout_width="match_parent"
+            android:orientation="vertical"
+            android:layout_marginStart="17dp"
+            android:layout_marginEnd="16dp"
+            android:layout_marginTop="12dp"
+            android:layout_marginBottom="12dp"
+            android:paddingStart="12dp"
+            android:paddingTop="11dp"
+            app:qmui_radius="4dp"
+            app:qmui_backgroundColor="@color/white"
+            app:qmui_borderColor="@color/white"
+            android:layout_height="80dp">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:orientation="horizontal"
+                android:layout_height="wrap_content">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:text="共计"
+                    android:textSize="16sp"
+                    android:textColor="#3D3F4E"
+                    android:layout_height="wrap_content"/>
+                <TextView
+                    android:layout_width="wrap_content"
+                    tools:text="48"
+                    android:text="@{vm.info.total}"
+                    android:textSize="16sp"
+                    android:textColor="#3D3F4E"
+                    android:layout_height="wrap_content"/>
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:text="条评论"
+                    android:textSize="16sp"
+                    android:textColor="#3D3F4E"
+                    android:layout_height="wrap_content"/>
+
+
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:orientation="horizontal"
+                android:layout_marginTop="12dp"
+                android:gravity="center_vertical"
+                android:layout_height="wrap_content">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:text="平均评分"
+                    android:textSize="14sp"
+                    android:textColor="#3D3F4E"
+                    android:layout_height="wrap_content"/>
+                <ImageView
+                    android:layout_width="13dp"
+                     android:layout_height="14dp"
+                    android:textSize="16sp"
+                    android:src="@drawable/ic_star_on"
+                    android:layout_marginStart="5dp"
+                  />
+                <TextView
+                    android:layout_width="wrap_content"
+                    tools:text="4.9分"
+                    android:text="@{vm.info.avg+@string/branch}"
+                    android:textSize="12sp"
+                    android:layout_marginStart="3dp"
+                    android:textColor="#939393"
+                    android:layout_height="wrap_content"/>
+
+
+            </LinearLayout>
+
+
+
+        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+
+
+        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recycler_view"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
+                tools:listitem="@layout/item_comment_list" />
+
+        </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+
+
+    </LinearLayout>
+
+</layout>

+ 2 - 1
app/src/main/res/layout/activity_register.xml

@@ -242,11 +242,12 @@
             android:orientation="horizontal"
             android:layout_marginTop="14dp"
             android:layout_marginStart="45dp"
+            android:onClick="@{v->vm.goOnChose()}"
             android:layout_height="wrap_content">
 
             <ImageView
                 android:layout_width="16dp"
-                android:src="@{!vm.showType ? @drawable/chose_on:@drawable/chose_off }"
+                android:src="@{vm.showType ? @drawable/chose_on:@drawable/chose_off }"
                 android:layout_height="16dp"/>
 
             <TextView

+ 19 - 0
app/src/main/res/layout/activity_sourcedetails.xml

@@ -401,6 +401,25 @@
             </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton>
 
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                android:id="@+id/but_pay"
+                android:layout_width="120dp"
+                android:layout_height="@dimen/dp_40"
+                android:layout_marginStart="@dimen/dp_10"
+                android:onClick="@{v->vm.showPayDialog(vm.info.order.info_id)}"
+                android:text="去支付"
+                android:textColor="@color/white"
+                android:textSize="16sp"
+                android:visibility="@{vm.isShowPaylBut(vm.info.order.info_state)?View.VISIBLE:View.GONE}"
+                app:qmui_backgroundColor="#FF6029"
+                app:qmui_borderColor="#FF6029"
+                app:qmui_radius="25dp">
+
+            </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton>
+
+
+
+
+            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
                 android:id="@+id/but_driver"
                 android:layout_width="120dp"
                 android:layout_height="@dimen/dp_40"

+ 4 - 2
app/src/main/res/layout/activity_waybilldetails.xml

@@ -160,7 +160,8 @@
 
                         <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                             android:layout_width="match_parent"
-                            android:layout_height="76dp"
+                            android:layout_height="wrap_content"
+                            android:minHeight="76dp"
                             android:layout_marginStart="17dp"
                             android:layout_marginTop="12dp"
                             android:layout_marginEnd="16dp"
@@ -276,7 +277,8 @@
 
                         <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                             android:layout_width="match_parent"
-                            android:layout_height="76dp"
+                            android:layout_height="wrap_content"
+                            android:minHeight="76dp"
                             android:layout_marginStart="17dp"
                             android:layout_marginTop="12dp"
                             android:layout_marginEnd="16dp"

+ 5 - 3
app/src/main/res/layout/fragment_ownersingle.xml

@@ -426,9 +426,10 @@
                         <EditText
                             android:id="@+id/et_data"
                             android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
+                            android:layout_height="match_parent"
                             android:background="@null"
                             android:hint="请输入备注信息"
+                            android:gravity="top"
                             android:textColor="@color/text_title"
                             android:textColorHint="#979899"
                             android:textSize="@dimen/sp_13">
@@ -540,8 +541,9 @@
 
                         <EditText
                             android:id="@+id/et_car_nums"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
+                            android:layout_width="0dp"
+                            android:layout_weight="1"
+                            android:layout_height="match_parent"
                             android:background="@null"
                             android:gravity="center"
                             android:hint="请输入所需车辆数目"

+ 3 - 1
base/src/main/java/com/ysnows/base/base/BRepository.kt

@@ -95,7 +95,9 @@ open class BRepository : IRepository {
                                 if (pageReq) {
                                     bView.loadService?.showCallback(ToLoginCallback::class.java)
                                 }
-                                bView.processCodeOffline()
+                                bView.toLogin()
+
+                               // bView.processCodeOffline()
                             } else {
                                 if (pageReq) {
                                     bView.loadService?.showSuccess()