石慧云 4 lat temu
rodzic
commit
96cf4c5b67

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

@@ -119,6 +119,7 @@
         <activity android:name=".activity.InvoiceListActivity"/>
         <activity android:name=".activity.ForgetPasswordActivity"/>
         <activity android:name=".activity.ArticleDetailActivity"/>
+        <activity android:name=".activity.BuyInsureActivity"/>
 
 
     </application >

+ 45 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/BuyInsureActivity.kt

@@ -0,0 +1,45 @@
+package com.quansu.heifengwuliu.activity
+
+import android.os.Bundle
+import com.quansu.heifengwuliu.base.MBActivity
+import com.quansu.heifengwuliu.databinding.ActivityBuyInsureBinding
+import com.quansu.heifengwuliu.model.WaybillDetails
+import com.quansu.heifengwuliu.vmodel.BuyInsureVModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/10/22
+ * type:1还未购买保险
+ */
+class BuyInsureActivity: MBActivity<BuyInsureVModel, ActivityBuyInsureBinding>() {
+
+
+
+    override fun init(savedInstanceState: Bundle?) {
+        super.init(savedInstanceState)
+         vm.type.value=intent.extras!!.getInt("type")
+        if(vm.type.value==1){
+
+            vm.info.value= intent.extras!!.getSerializable("info") as WaybillDetails?
+            vm.schemeCode= vm.info.value!!.info.receive[vm.info.value!!.info.receive.size-1].goods_type.code
+            //访问被保人信息
+            vm.getInfo()
+            vm.getRate()
+
+        }
+
+    }
+
+    override fun vmClass(): Class<BuyInsureVModel> {
+        return BuyInsureVModel::class.java
+    }
+
+
+    override fun binding(): ActivityBuyInsureBinding {
+       return ActivityBuyInsureBinding.inflate(layoutInflater)
+    }
+
+    override fun title(): String? {
+        return "购买保险"
+    }
+}

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

@@ -31,6 +31,8 @@ import com.quansu.heifengwuliu.utils.OssUtils
 import com.quansu.heifengwuliu.utils.PopuTipsUtils
 import com.quansu.heifengwuliu.vmodel.WaybillDetailsVModel
 import com.ysnows.base.model.PositionBean
+import com.ysnows.base.utils.B
+import com.ysnows.base.utils.UiSwitch
 import com.ysnows.base.utils.UiUtils
 import java.util.*
 
@@ -107,6 +109,7 @@ class WaybillDetailsActivity : MBActivity<WaybillDetailsVModel, ActivityWaybilld
 
     override fun listeners() {
         super.listeners()
+
         binding.imgCollect.onClick {
 
             if (vm.info.value!!.driver.is_collect == 0) {

+ 1 - 0
app/src/main/java/com/quansu/heifengwuliu/config/MIntentAction.kt

@@ -8,6 +8,7 @@ object MIntentAction {
     const val REQUEST_CODE_IMG = 10088
     const val REQUEST_CODE_CAMERA = 10088
     const val REQUEST_CODE_COMMENT = 10089
+    const val REQUEST_CHOSE_INSURE = 10090
 
 
 

+ 3 - 0
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerSingleFragment.kt

@@ -155,6 +155,9 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
                 override fun onRestuse(code: String?, name: String?) {
                     vm.insurance.value = name
                     is_insurance = code!!.toInt()
+                    if(is_insurance==1){
+
+                    }
 
                 }
             })

+ 12 - 0
app/src/main/java/com/quansu/heifengwuliu/inte/ChoseData.kt

@@ -0,0 +1,12 @@
+package com.quansu.heifengwuliu.inte
+
+import com.quansu.heifengwuliu.model.InsurancePlan
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/13
+ */
+interface ChoseData {
+    fun onRestuse(item: InsurancePlan?)
+
+}

+ 25 - 24
app/src/main/java/com/quansu/heifengwuliu/model/DataInfoBean.kt

@@ -1,6 +1,7 @@
 package com.quansu.heifengwuliu.model
 
 import com.ysnows.base.inter.IModel
+import java.io.Serializable
 
 /**
  *Created by shihuiyun
@@ -17,25 +18,25 @@ data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<St
                          var company: CompanyBean,
                         var user_order:UserOrderBean
 
-        ) : IModel {
+        ) : IModel,Serializable {
 
 
 
     data class DefaultSdendBean(var addr_id:String,var uid:String ,var lat:String,var lng:String,
     var province:ProvinceBean,var city:CityBean,var area:AreaBean,var address:String,var name:String,
-    var mobile:String,var type:String,var is_default:String,var create_time:String,var update_time:String):IModel{
-        data class ProvinceBean(var name:String,var code:String):IModel{}
-        data class CityBean(var name:String,var code:String):IModel{}
-        data class AreaBean(var name:String,var code:String):IModel{}
+    var mobile:String,var type:String,var is_default:String,var create_time:String,var update_time:String):IModel,Serializable{
+        data class ProvinceBean(var name:String,var code:String):IModel,Serializable{}
+        data class CityBean(var name:String,var code:String):IModel,Serializable{}
+        data class AreaBean(var name:String,var code:String):IModel,Serializable{}
 
     }
     data class DefaultReceiveBean(var addr_id:String, var uid:String, var lat:String, var lng:String,
                                   var province: ProvinceBean, var city: CityBean, var area: AreaBean, var address:String, var name:String,
-                                  var mobile:String, var type:String, var is_default:String, var create_time:String, var update_time:String):IModel{
+                                  var mobile:String, var type:String, var is_default:String, var create_time:String, var update_time:String):IModel,Serializable{
 
-        data class ProvinceBean(var name:String,var code:String):IModel{}
-        data class CityBean(var name:String,var code:String):IModel{}
-        data class AreaBean(var name:String,var code:String):IModel{}
+        data class ProvinceBean(var name:String,var code:String):IModel,Serializable{}
+        data class CityBean(var name:String,var code:String):IModel,Serializable{}
+        data class AreaBean(var name:String,var code:String):IModel,Serializable{}
 
     }
 
@@ -45,7 +46,7 @@ data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<St
                            var width:String,var height:String,var length:String,
                            var volume:String
 
-    ) : IModel {
+    ) : IModel ,Serializable{
 
     }
 
@@ -63,36 +64,36 @@ data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<St
                          var receive: List<ReceiveBean>,
                          var type_info: TypeInfoBean,var car_nums:String,
                          var qrcode:String
-    ) : IModel {
+    ) : IModel ,Serializable{
 
 
         data class TypeInfoBean(var type_id: String, var type_name: String,  var length: String,
 
-                                ): IModel{
+                                ): IModel,Serializable{
         }
         data class ReceiveBean(var data_id: String, var info_id: String, var lat: String,
                                var lng: String, var address: String, var name: String, var mobile: String, var goods: String,
                                var goods_type: GoodsTypeBean, var nums: String, var nums_type: NumsTypeBean, var price: String, var total: String,
                                var time: String, var type: String, var create_time: String, var update_time: String, var delete_time: String,
                                var province: ProvinceBean, var city: CityBean, var area: AreaBean
-        ) : IModel {
-            data class ProvinceBean(var name: String, var code: String) : IModel {
+        ) : IModel ,Serializable{
+            data class ProvinceBean(var name: String, var code: String) : IModel ,Serializable{
 
             }
 
-            data class CityBean(var name: String, var code: String) : IModel {
+            data class CityBean(var name: String, var code: String) : IModel,Serializable {
 
             }
 
-            data class AreaBean(var name: String, var code: String) : IModel {
+            data class AreaBean(var name: String, var code: String) : IModel,Serializable {
 
             }
 
-            data class GoodsTypeBean(var name: String, var code: String) : IModel {
+            data class GoodsTypeBean(var name: String, var code: String) : IModel ,Serializable{
 
             }
 
-            data class NumsTypeBean(var name: String, var code: String) : IModel {
+            data class NumsTypeBean(var name: String, var code: String) : IModel ,Serializable{
 
             }
 
@@ -103,17 +104,17 @@ data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<St
                             var lng: String, var address: String, var name: String, var mobile: String,
                             var time: String, var type: String,
                             var province: ProvinceBean, var city: CityBean, var area: AreaBean
-        ) : IModel {
+        ) : IModel ,Serializable{
 
-            data class ProvinceBean(var name: String, var code: String) : IModel {
+            data class ProvinceBean(var name: String, var code: String) : IModel ,Serializable{
 
             }
 
-            data class CityBean(var name: String, var code: String) : IModel {
+            data class CityBean(var name: String, var code: String) : IModel,Serializable {
 
             }
 
-            data class AreaBean(var name: String, var code: String) : IModel {
+            data class AreaBean(var name: String, var code: String) : IModel ,Serializable{
 
             }
 
@@ -124,13 +125,13 @@ data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<St
 
     data class CompanyBean(var company_name: String,var info_nums: String,var name: String,
                            var mobile: String,var good: String,var hpl: String,var avatar:String
-    ):IModel{
+    ):IModel,Serializable{
 
     }
 
     data class UserOrderBean(var order_id:String,var order_sn:String,
                              var order_state:Int,var money:String
-    ):IModel{
+    ):IModel,Serializable{
 
     }
 }

+ 17 - 0
app/src/main/java/com/quansu/heifengwuliu/model/InsurancePlan.kt

@@ -0,0 +1,17 @@
+package com.quansu.heifengwuliu.model
+
+import com.ysnows.base.inter.IModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/10/22
+ */
+data class InsurancePlan(var productCode:String,var schemeCode:String,
+                         var schemeName:String,var rate:String,
+                         var premium:String,var deductible:String,
+                         var deductibleFee:String,var schemeType:String,
+                         var minPremium:String,var maxAmount:String,
+                         var flag:String,var isDefalutScheme:String,
+                         var minAmount:String
+):IModel {
+}

+ 15 - 0
app/src/main/java/com/quansu/heifengwuliu/model/PremiumTrial.kt

@@ -0,0 +1,15 @@
+package com.quansu.heifengwuliu.model
+
+import com.ysnows.base.inter.IModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/10/22
+ */
+data class PremiumTrial(var channelId:String,var productCode:String,
+                        var amount:String,var schemeCode:String,
+                        var payMoney:String,var priceFormat:String,
+                        var payMoneyActual:String
+
+):IModel {
+}

+ 18 - 17
app/src/main/java/com/quansu/heifengwuliu/model/WaybillDetails.kt

@@ -1,39 +1,40 @@
 package com.quansu.heifengwuliu.model
 
 import com.ysnows.base.inter.IModel
+import java.io.Serializable
 
 /**
  *Created by shihuiyun
  *on 2020/9/24
  */
-data class WaybillDetails(var order: OrderBean,var info:DataInfoBean.OrderBean,
-                          var company:CompanyBean,
-                          var driver:DriverBean,var eva:EvaBean): IModel {
+data class WaybillDetails(var order: OrderBean, var info: DataInfoBean.OrderBean,
+                          var company: CompanyBean,
+                          var driver: DriverBean, var eva: EvaBean) : IModel ,Serializable{
 
 
-
-    data class OrderBean(var order_id: String, var order_sn: String,var order_state: Int, var uid: String,
-                         var info_id: String, var info_uid: String,var money: String, var t_img: List<String>,var t_nums: String,
-                         var nat_numsme: String, var zf_time: String,var pj_time: String, var create_time: String,
+    data class OrderBean(var order_id: String, var order_sn: String, var order_state: Int, var uid: String,
+                         var info_id: String, var info_uid: String, var money: String, var t_img: List<String>, var t_nums: String,
+                         var nat_numsme: String, var zf_time: String, var pj_time: String, var create_time: String,
                          var sd_time: String
-    ):IModel{
+    ) : IModel ,Serializable{
 
     }
 
-    data class DriverBean(var uid: String,var name: String, var avatar: String,
-                          var car_cate: String,var car_long: String,var car_id:String,
-                          var mobile: String, var number: String, var is_collect: Int):IModel{}
+    data class DriverBean(var uid: String, var name: String, var avatar: String,
+                          var car_cate: String, var car_long: String, var car_id: String,
+                          var mobile: String, var number: String, var is_collect: Int) : IModel ,Serializable{}
 
 
-    data class EvaBean(var my_eva:MyEvaBean,var other_eva:OtherEvaBean):IModel{
+    data class EvaBean(var my_eva: MyEvaBean, var other_eva: OtherEvaBean) : IModel,Serializable {
 
-        data class MyEvaBean(var score:Int,var content:String):IModel{}
-        data class OtherEvaBean(var score:Int,var content:String):IModel{}
+        data class MyEvaBean(var score: Int, var content: String) : IModel ,Serializable{}
+        data class OtherEvaBean(var score: Int, var content: String) : IModel ,Serializable{}
 
     }
-    data class CompanyBean(var company_name:String,var info_nums:String,var name:String,
-                           var mobile:String,var good:String,var hpl:String,var avatar:String
-    ):IModel{
+
+    data class CompanyBean(var company_name: String, var info_nums: String, var name: String,
+                           var mobile: String, var good: String, var hpl: String, var avatar: String
+    ) : IModel,Serializable {
 
     }
 }

+ 34 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/PopuBottomUtils.kt

@@ -8,6 +8,8 @@ import com.qmuiteam.qmui.skin.QMUISkinManager
 import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder
 import com.quansu.heifengwuliu.inte.ChoiceData
 import com.quansu.heifengwuliu.inte.ChoiceListData
+import com.quansu.heifengwuliu.inte.ChoseData
+import com.quansu.heifengwuliu.model.InsurancePlan
 import com.quansu.heifengwuliu.model.SelectData
 import java.util.ArrayList
 
@@ -61,4 +63,36 @@ object PopuBottomUtils {
         }
         builder.build().show()
     }
+
+
+
+    fun showListChose(context: Context,
+                       list: List<InsurancePlan>, chose: ChoseData
+    ) {
+
+        var data = ArrayList<String>()
+        for (item in list) {
+            data.add(item.schemeName)
+        }
+
+        val builder = BottomListSheetBuilder(context)
+        builder.setGravityCenter(true)
+                .setSkinManager(QMUISkinManager.defaultInstance(context))
+                .setTitle("请选择")
+                .setAddCancelBtn(true)
+                .setAllowDrag(false)
+                .setNeedRightMark(false)
+                .setOnSheetItemClickListener { dialog, itemView, position, tag ->
+                    chose?.onRestuse(list[position])
+                    dialog.dismiss()
+                }
+
+        for (item in data) {
+            builder.addItem(item)
+        }
+        builder.build().show()
+    }
+
+
+
 }

+ 36 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/PopuListUtils.kt

@@ -14,6 +14,8 @@ import com.qmuiteam.qmui.widget.popup.QMUIPopups
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.inte.ChoiceData
 import com.quansu.heifengwuliu.inte.ChoiceListData
+import com.quansu.heifengwuliu.inte.ChoseData
+import com.quansu.heifengwuliu.model.InsurancePlan
 import com.quansu.heifengwuliu.model.SelectData
 import java.text.SimpleDateFormat
 import java.util.*
@@ -83,6 +85,40 @@ object PopuListUtils {
     }
 
 
+
+    fun showQMUIPopup(context: Context, view: View, list: List<InsurancePlan>, choseData: ChoseData) {
+        var mNormalPopup: QMUIPopup? = null
+
+        var data = ArrayList<String>()
+        for (item in list) {
+            data.add(item.schemeName)
+        }
+        val adapter: ArrayAdapter<*> = ArrayAdapter<Any?>(context, R.layout.simple_list_item, data as List<String>)
+        val onItemClickListener = AdapterView.OnItemClickListener { adapterView, view, i, l ->
+
+            choseData?.onRestuse(list[i])
+
+            mNormalPopup?.dismiss()
+        }
+        mNormalPopup = QMUIPopups.listPopup(context,
+                QMUIDisplayHelper.dp2px(context, 250),
+                QMUIDisplayHelper.dp2px(context, 300),
+                adapter,
+                onItemClickListener)
+                .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
+                .preferredDirection(QMUIPopup.DIRECTION_TOP)
+                .shadow(true)
+                .offsetYIfTop(QMUIDisplayHelper.dp2px(context, 5))
+                .skinManager(QMUISkinManager.defaultInstance(context))
+                .onDismiss {
+
+                }
+                .show(view)
+    }
+
+
+
+
     fun setChoseTime(context: Context?, choiceData: ChoiceData?) {
         val startDate = Calendar.getInstance()
         startDate[1980, 0] = 23

+ 86 - 51
app/src/main/java/com/quansu/heifengwuliu/utils/net/ApiService.kt

@@ -21,8 +21,6 @@ interface ApiService {
     fun alipayPreOrder(@Field("vip_level") vip_level: Int): Observable<Resp<String>>
 
 
-
-
     @POST("bac")
     @FormUrlEncoded
     fun bac(@Field("settings") settings: String?, @Field("funcs") funcsJson: String?, @Field("searchs") searchJson: String?, @Field("gesture") gestureJson: String?): Observable<Resp<String>>
@@ -248,11 +246,11 @@ interface ApiService {
     @GET("api/info/infoList")
     suspend fun infoList(
             @Query("k") k: String?,
-            @Query("sp") sp: String?,@Query("sc") sc: String?,@Query("sa") sa: String?,
-            @Query("rp") rp: String?,@Query("rc") rc: String?,@Query("ra") ra: String?,
-            @Query("type_id") type_id: String?,@Query("s_time1") s_time1: String?,@Query("s_time2") s_time2: String?,
-            @Query("r_time1") r_time1: String?,@Query("r_time2") r_time2: String?,@Query("price1") price1: String?,
-            @Query("price2") price2: String?,@Query("sort") sort: String?,@Query("asc") asc: String?,
+            @Query("sp") sp: String?, @Query("sc") sc: String?, @Query("sa") sa: String?,
+            @Query("rp") rp: String?, @Query("rc") rc: String?, @Query("ra") ra: String?,
+            @Query("type_id") type_id: String?, @Query("s_time1") s_time1: String?, @Query("s_time2") s_time2: String?,
+            @Query("r_time1") r_time1: String?, @Query("r_time2") r_time2: String?, @Query("price1") price1: String?,
+            @Query("price2") price2: String?, @Query("sort") sort: String?, @Query("asc") asc: String?,
 
             @Query("info_state") info_state: String?,
             @Query("goods_type") goods_type: String?,
@@ -272,7 +270,7 @@ interface ApiService {
      * @return
      */
     @GET("api/driver/allDriver")
-    suspend  fun allDriver(@Query("k") k: String?, @Query("p") p: Int): Resp<List<DriverBean>>
+    suspend fun allDriver(@Query("k") k: String?, @Query("p") p: Int): Resp<List<DriverBean>>
 
     /**
      * 常用司机-添加收藏
@@ -319,7 +317,7 @@ interface ApiService {
     @POST("api/user/setCompany")
     @FormUrlEncoded
     fun setCompany(@Field("license_img") license_img: String?, @Field("license_sn") license_sn: String?,
-                   @Field("company_name") company_name: String?,@Field("company_addr")company_addr:String?
+                   @Field("company_name") company_name: String?, @Field("company_addr") company_addr: String?
     ): Observable<Resp<Any>>
 
 
@@ -360,8 +358,6 @@ interface ApiService {
     fun setPwd(@FieldMap params: HashMap<String, String>): Observable<Resp<Any>>
 
 
-
-
     /**
      * 编辑发票抬头
      * @return
@@ -397,11 +393,11 @@ interface ApiService {
      */
     @GET("api/order/infoList")
     suspend fun infoListDriver(@Query("k") k: String?,
-                               @Query("sp") sp: String?,@Query("sc") sc: String?,@Query("sa") sa: String?,
-                               @Query("rp") rp: String?,@Query("rc") rc: String?,@Query("ra") ra: String?,
-                               @Query("type_id") type_id: String?,@Query("s_time1") s_time1: String?,@Query("s_time2") s_time2: String?,
-                               @Query("r_time1") r_time1: String?,@Query("r_time2") r_time2: String?,@Query("price1") price1: String?,
-                               @Query("price2") price2: String?,@Query("sort") sort: String?,@Query("asc") asc: String?,
+                               @Query("sp") sp: String?, @Query("sc") sc: String?, @Query("sa") sa: String?,
+                               @Query("rp") rp: String?, @Query("rc") rc: String?, @Query("ra") ra: String?,
+                               @Query("type_id") type_id: String?, @Query("s_time1") s_time1: String?, @Query("s_time2") s_time2: String?,
+                               @Query("r_time1") r_time1: String?, @Query("r_time2") r_time2: String?, @Query("price1") price1: String?,
+                               @Query("price2") price2: String?, @Query("sort") sort: String?, @Query("asc") asc: String?,
                                @Query("goods_type") goods_type: String?,
                                @Query("p") p: Int): Resp<List<InfoListBean>>
 
@@ -437,11 +433,11 @@ interface ApiService {
     @GET("api/order/myList")
     suspend fun myList(
             @Query("k") k: String?,
-            @Query("sp") sp: String?,@Query("sc") sc: String?,@Query("sa") sa: String?,
-            @Query("rp") rp: String?,@Query("rc") rc: String?,@Query("ra") ra: String?,
-            @Query("type_id") type_id: String?,@Query("s_time1") s_time1: String?,@Query("s_time2") s_time2: String?,
-            @Query("r_time1") r_time1: String?,@Query("r_time2") r_time2: String?,@Query("price1") price1: String?,
-            @Query("price2") price2: String?,@Query("sort") sort: String?,@Query("asc") asc: String?,
+            @Query("sp") sp: String?, @Query("sc") sc: String?, @Query("sa") sa: String?,
+            @Query("rp") rp: String?, @Query("rc") rc: String?, @Query("ra") ra: String?,
+            @Query("type_id") type_id: String?, @Query("s_time1") s_time1: String?, @Query("s_time2") s_time2: String?,
+            @Query("r_time1") r_time1: String?, @Query("r_time2") r_time2: String?, @Query("price1") price1: String?,
+            @Query("price2") price2: String?, @Query("sort") sort: String?, @Query("asc") asc: String?,
 
             @Query("order_state") order_state: String?,
             @Query("goods_type") goods_type: String?,
@@ -510,11 +506,11 @@ interface ApiService {
      */
     @GET("api/amount/amountList")
     suspend fun amountList(
-                           @Query("status") status: String,
-                           @Query("type") type: String,
-                           @Query("time_start") time_start: String,
-                           @Query("time_end") time_end: String,
-                           @Query("p") p: Int): Resp<List<AmountList>>
+            @Query("status") status: String,
+            @Query("type") type: String,
+            @Query("time_start") time_start: String,
+            @Query("time_end") time_end: String,
+            @Query("p") p: Int): Resp<List<AmountList>>
 
     /**
      * 资金提现-资金
@@ -572,8 +568,7 @@ interface ApiService {
      */
     @POST("api/info/carPay")
     @FormUrlEncoded
-    fun carPay(@Field("money") money: String?,@Field("order_id") order_id: String?, @Field("pay_pwd") pay_pwd: String?): Observable<Resp<Any>>
-
+    fun carPay(@Field("money") money: String?, @Field("order_id") order_id: String?, @Field("pay_pwd") pay_pwd: String?): Observable<Resp<Any>>
 
 
     /**
@@ -583,18 +578,16 @@ interface ApiService {
     @POST("api/info/eva")
     @FormUrlEncoded
     fun eva(@Field("order_id") order_id: String?, @Field("score") score: String?,
-                    @Field("content") content: String?
+            @Field("content") content: String?
     ): Observable<Resp<Any>>
 
 
-
     /**
      * 订单评论
      * @return
      */
     @GET("api/info/orderEva")
-    suspend fun orderEva(@Query("order_id") order_id: String?,@Query("p") p: Int): Resp<List<OrderEva>>
-
+    suspend fun orderEva(@Query("order_id") order_id: String?, @Query("p") p: Int): Resp<List<OrderEva>>
 
 
     /**
@@ -602,7 +595,7 @@ interface ApiService {
      * @return
      */
     @GET("api/evaluate/evaCount")
-    suspend fun evaCount( @Query("p") p: Int): Resp<AmountCount>
+    suspend fun evaCount(@Query("p") p: Int): Resp<AmountCount>
 
 
     /**
@@ -610,7 +603,7 @@ interface ApiService {
      * @return
      */
     @GET("api/evaluate/evaList")
-   suspend fun evaList(@Query("p") p: Int): Resp<List<OrderEva>>
+    suspend fun evaList(@Query("p") p: Int): Resp<List<OrderEva>>
 
 
     /**
@@ -629,7 +622,6 @@ interface ApiService {
     suspend fun allOwn(@Query("k") k: String, @Query("p") p: Int): Resp<List<Own>>
 
 
-
     /**
      * 添加收藏-货主
      * @return
@@ -645,12 +637,11 @@ interface ApiService {
     @POST("api/guestbook/guestEdit")
     @FormUrlEncoded
     suspend fun guestEdit(@Field("fk_id") fk_id: String?, @Field("title") title: String?,
-            @Field("content") content: String?, @Field("mobile") mobile: String?,
-                  @Field("image") image: String?,  @Field("type") type: String?
+                          @Field("content") content: String?, @Field("mobile") mobile: String?,
+                          @Field("image") image: String?, @Field("type") type: String?
     ): Resp<Any>
 
 
-
     /**
      * 列表-消息
      * @return
@@ -659,7 +650,6 @@ interface ApiService {
     suspend fun msgList(@Query("p") p: Int): Resp<List<MsgList>>
 
 
-
     /**
      * 修改资料
      * @return
@@ -669,7 +659,6 @@ interface ApiService {
     suspend fun setProfile(@Field("avatar") avatar: String?, @Field("name") name: String?): Resp<Any>
 
 
-
     /**
      * 待开票列表-发票
      * @return
@@ -685,7 +674,7 @@ interface ApiService {
      * @return
      */
     @GET("api/invoice/invoiceTotal")
-    suspend fun invoiceTotal(@Query("time") time: String,@Query("p") p: Int): Resp<InvoiceTotal>
+    suspend fun invoiceTotal(@Query("time") time: String, @Query("p") p: Int): Resp<InvoiceTotal>
 
 
     /**
@@ -698,15 +687,13 @@ interface ApiService {
     suspend fun getPassword(@Field("mobile") mobile: String?): Resp<Any>
 
 
-
     /**
      * 重置密码
      * @return
      */
     @POST("api/index/setPassword")
     @FormUrlEncoded
-    suspend  fun setPassword(@Field("newPw") newPw: String?, @Field("code") code: String?): Resp<Any>
-
+    suspend fun setPassword(@Field("newPw") newPw: String?, @Field("code") code: String?): Resp<Any>
 
 
     /**
@@ -719,7 +706,6 @@ interface ApiService {
     ): Resp<Any>
 
 
-
     /**
      * 文章详情
      * @return
@@ -742,11 +728,10 @@ interface ApiService {
      */
     @GET("api/amount/amountLine")
     suspend fun amountLine(@Query("start_time") start_time: String?,
-                           @Query("end_time") end_time: String?,@Query("k") k: String?
+                           @Query("end_time") end_time: String?, @Query("k") k: String?
     ): Resp<IconData>
 
 
-
     /**
      *凭证编辑 -司机端
      * @return
@@ -756,7 +741,6 @@ interface ApiService {
     suspend fun setImg(@FieldMap params: HashMap<String, String>): Resp<Any>
 
 
-
     /**
      * 消息详情
      * @return
@@ -765,8 +749,6 @@ interface ApiService {
     suspend fun msgGet(@Query("id") id: String?): Resp<MsgGet>
 
 
-
-
     /**
      * 获取验证码-修改支付密码
      *
@@ -793,7 +775,6 @@ interface ApiService {
     suspend fun wxBind(@Query("code") code: String?): Resp<Bind>
 
 
-
     /**
      * 消息-已读
      * @return
@@ -802,5 +783,59 @@ interface ApiService {
     suspend fun msgRead(@Query("arr") arr: String?): Resp<Any>
 
 
+    /**
+     * 应付保费试算
+     * @return
+     */
+    @FormUrlEncoded
+    @POST("api/baoxian/premiumTrial")
+    suspend fun premiumTrial(@Field("amount") amount: String?, @Field("schemeCode") schemeCode: String?): Resp<PremiumTrial>
+
+    /**
+     * 投保方案
+     * @return
+     */
+    @POST("api/baoxian/insurancePlan")
+    suspend fun insurancePlan(): Resp<List<InsurancePlan>>
+
+
+    /**
+     * 投保接口
+     * @return
+     */
+    @FormUrlEncoded
+    @POST("api/baoxian/insure")
+    suspend fun insure(@FieldMap params: HashMap<String, String>): Resp<List<Any>>
+
+
+    /**
+     * 投保接口
+     * @return
+     */
+    @FormUrlEncoded
+    @POST("api/baoxian/insure")
+    suspend fun insure(@Field("order_id") order_id: String,
+                       @Field("amount") amount: String,
+                       @Field("payMoney") payMoney: String,
+                       @Field("schemeCode") schemeCode: String,
+                       @Field("start_areaName") start_areaName: String,
+                       @Field("start_areaCode") start_areaCode: String,
+                       @Field("finish_areaName") finish_areaName: String,
+                       @Field("finish_areaCode") finish_areaCode: String,
+
+                       @Field("transfer_areaName[]") transfer_areaName: List<String>,
+                       @Field("transfer_areaCode[]") transfer_areaCode: List<String>,
+
+//                       @Body transfer_areaName: List<String>,
+//                       @Body transfer_areaCode:List<String>,
+                       @Field("goodsName") goodsName: String,
+                       @Field("name") name: String,
+                       @Field("personnelType") personnelType: String,
+                       @Field("certificateType") certificateType: String,
+                       @Field("certificateNo") certificateNo: String,
+                       @Field("mobile") mobile: String,
+                       @Field("licensePlateNo") licensePlateNo: String,
+                       @Field("licensePlateType") licensePlateType: String,
+       ): Resp<List<Any>>
 
 }

+ 284 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/BuyInsureVModel.kt

@@ -0,0 +1,284 @@
+package com.quansu.heifengwuliu.vmodel
+
+import android.app.Activity
+import android.app.Application
+import android.content.Intent
+import android.text.TextUtils
+import android.util.Log
+import android.widget.LinearLayout
+import androidx.databinding.Bindable
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.viewModelScope
+import com.google.gson.Gson
+import com.quansu.heifengwuliu.BR
+import com.quansu.heifengwuliu.inte.ChoiceListData
+import com.quansu.heifengwuliu.inte.ChoseData
+import com.quansu.heifengwuliu.model.InsurancePlan
+import com.quansu.heifengwuliu.model.User
+import com.quansu.heifengwuliu.model.WaybillDetails
+import com.quansu.heifengwuliu.utils.PopuBottomUtils
+import com.quansu.heifengwuliu.utils.PopuListUtils
+import com.quansu.heifengwuliu.utils.net.NetEngine
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+import kotlinx.coroutines.launch
+import java.util.HashMap
+
+class BuyInsureVModel(application: Application) : BViewModel<BRepository>(application) {
+
+    val type: MutableLiveData<Int> = MutableLiveData<Int>()//type:1还未购买保险
+
+    val info: MutableLiveData<WaybillDetails> = MutableLiveData<WaybillDetails>()//还未购买保险,从详情传过来
+
+    //保险费率
+    val schemeName: MutableLiveData<String> = MutableLiveData<String>()
+    val schemeCodeName: MutableLiveData<String> = MutableLiveData<String>()
+    var schemeCode: String = ""
+    var maxAmount: String = ""
+    val minAmount: MutableLiveData<String> = MutableLiveData<String>()
+
+
+    var list: List<InsurancePlan>? = null
+
+
+    var payMoney: String = ""//保费金额-上传接口的
+
+    val priceFormat: MutableLiveData<String> = MutableLiveData<String>()//保费金额-展示的
+
+
+    @Bindable
+    var name: String? = null
+        set(value) {
+            field = value
+            notifyPropertyChanged(BR.name)
+        }
+
+    @Bindable
+    var number: String? = null
+        set(value) {
+            field = value
+            notifyPropertyChanged(BR.number)
+        }
+
+
+    @Bindable
+    var phone: String? = null
+        set(value) {
+            field = value
+            notifyPropertyChanged(BR.phone)
+        }
+
+
+    @Bindable
+    var money: String? = null
+        set(value) {
+            field = value
+            notifyPropertyChanged(BR.money)
+        }
+
+    fun getInfo() {//被保人信息
+        name = User.get()!!.name
+        phone = User.get()!!.mobile
+
+        //获取企业统一信用代码
+        repository().rxPreq(NetEngine.service.getInfo("3"))
+                .doOnNext {
+                    if (it.ok()) {
+                        var bean = it.data()
+                        if (null != bean) {
+                            number = bean.license_sn
+                        }
+
+                    }
+                }
+                .subscribe()
+
+    }
+
+
+    fun sumMoney() {//计算保费
+
+        if (TextUtils.isEmpty(schemeCode)) {
+            toast("请选择货物类型")
+            return
+        }
+        if (TextUtils.isEmpty(money)) {
+            toast("请先输入保额")
+            return
+        }
+        if (money!!.toDouble() < minAmount.value!!.toDouble()) {
+
+            toast("保额最小${minAmount.value}")
+            return
+        }
+        if (money!!.toDouble() > maxAmount.toDouble()) {
+
+            toast("保额最大$maxAmount")
+            return
+        }
+
+        getInsureMoney()
+    }
+
+    fun getInsureMoney() {
+
+
+        viewModelScope.launch {
+            var it = repository().lreq { NetEngine.service.premiumTrial(money, schemeCode) }
+
+            if (it.ok(true)) {
+
+                payMoney = it.datas!!.payMoney
+                priceFormat.value = it.datas!!.priceFormat
+
+            }
+        }
+
+    }
+
+
+    fun getRate() {//保险费率
+
+        viewModelScope.launch {
+            var it = repository().lreq { NetEngine.service.insurancePlan() }
+
+            if (it.ok()) {
+                list = it.datas
+            }
+        }
+
+    }
+
+
+    fun choseType() {//选择类型
+
+        if (null == list) {
+            toast("无法选择")
+            return
+        }
+
+        PopuBottomUtils.showListChose(repository().context!!, list!!, object : ChoseData {
+            override fun onRestuse(item: InsurancePlan?) {
+                schemeName.value = item!!.schemeName
+                schemeCodeName.value = item!!.rate
+                schemeCode = item.schemeCode
+                maxAmount = item.maxAmount
+                minAmount.value = item.minAmount
+                money = item.minAmount//默认
+
+            }
+        })
+
+    }
+
+    fun putInsure() {
+        if (TextUtils.isEmpty(name)) {
+            toast("请输入被保人姓名")
+            return
+        }
+        if (TextUtils.isEmpty(number)) {
+            toast("请输入企业统一信用代码")
+            return
+        }
+
+        if (TextUtils.isEmpty(phone)) {
+            toast("手机号")
+            return
+        }
+
+        if (TextUtils.isEmpty(schemeCode)) {
+            toast("请选择货物类型")
+            return
+        }
+
+        if (TextUtils.isEmpty(money)) {
+            toast("请输入投保金额")
+            return
+        }
+        if (TextUtils.isEmpty(payMoney)) {
+            toast("请计算保费")
+            return
+        }
+
+//        var map = HashMap<String, String>()
+//        map["order_id"] = info.value!!.order.order_id
+//        map["amount"] = money!!
+//        map["payMoney"] = payMoney!!
+//        map["schemeCode"] = schemeCode!!
+//        map["start_areaName"] = info.value!!.info.send[info.value!!.info.send.size - 1].city.name
+//        map["start_areaCode"] = info.value!!.info.send[info.value!!.info.send.size - 1].city.code
+//        map["finish_areaName"] = info.value!!.info.receive[info.value!!.info.receive.size - 1].city.name
+//        map["finish_areaCode"] = info.value!!.info.receive[info.value!!.info.receive.size - 1].city.code
+
+        var areaName = ArrayList<String>()
+        var areaCode = ArrayList<String>()
+        if (info.value!!.info.receive.size > 1) {
+            for ((position, item) in info.value!!.info.receive.withIndex()) {
+                if (position < info.value!!.info.receive.size - 1) {
+                    areaName.add(item.city.name)
+                    areaCode.add(item.city.code)
+                }
+            }
+        }
+
+//        map["transfer_areaName"] = Gson().toJson(areaName)
+//        map["transfer_areaCode"] = Gson().toJson(areaCode)
+//
+//        map["goodsName"] = info.value!!.info.receive[info.value!!.info.receive.size - 1].goods
+//
+//        map["name"] = name!!
+//        map["personnelType"] = "0"
+//        map["certificateType"] = "41"
+//        map["certificateNo"] = number!!
+//        map["mobile"] = phone!!
+//        map["licensePlateNo"] = info.value!!.driver.number
+//        map["licensePlateType"] = "01"
+//
+
+  //      Log.e("-shy-", "map=" + Gson().toJson(map))
+
+
+        viewModelScope.launch {
+
+
+//            var it= repository().lreq { NetEngine.service.insure(map) }
+//
+//            if(it.ok(true)){
+//
+//                val intent = Intent()
+//                var con = repository().context as Activity
+//                con.setResult(Activity.RESULT_OK, intent)
+//                con.finish()
+//            }
+
+
+            var it = repository().lreq { NetEngine.service.insure(info.value!!.order.order_id,money!!,
+                    payMoney!!, schemeCode!!,   info.value!!.info.send[info.value!!.info.send.size - 1].city.name,
+                    info.value!!.info.send[info.value!!.info.send.size - 1].city.code,
+                    info.value!!.info.receive[info.value!!.info.receive.size - 1].city.name,
+                    info.value!!.info.receive[info.value!!.info.receive.size - 1].city.code,
+                    areaName,  areaCode,
+                    info.value!!.info.receive[info.value!!.info.receive.size - 1].goods,
+                    name!!,"0","41",
+                    number!!,phone!!,
+                    info.value!!.driver.number,"01"
+            ) }
+
+            if (it.ok(true)) {
+
+                val intent = Intent()
+                var con = repository().context as Activity
+                con.setResult(Activity.RESULT_OK, intent)
+                con.finish()
+            }
+
+        }
+
+
+    }
+
+
+}
+
+
+

+ 15 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/WaybillDetailsVModel.kt

@@ -29,6 +29,7 @@ import com.qmuiteam.qmui.widget.popup.QMUIPopups
 import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
 import com.quansu.heifengwuliu.BR
 import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.activity.BuyInsureActivity
 import com.quansu.heifengwuliu.activity.EachOtherActivity
 import com.quansu.heifengwuliu.activity.EvaluateActivity
 import com.quansu.heifengwuliu.activity.PasswordActivity
@@ -46,6 +47,7 @@ import com.ysnows.base.base.BViewModel
 import com.ysnows.base.ccretrofit.CCRetrofit
 import com.ysnows.base.model.PositionBean
 import com.ysnows.base.route.IGaode
+import com.ysnows.base.utils.B
 import com.ysnows.base.utils.UiSwitch
 import kotlinx.coroutines.launch
 import java.io.IOException
@@ -706,6 +708,19 @@ open class WaybillDetailsVModel(application: Application) : BViewModel<BReposito
     }
 
 
+
+    fun toBuy(){
+        UiSwitch.bundleRes(repository().context as Activity,
+                BuyInsureActivity::class.java,
+                B.with().putInt("type", 1)
+                        .putSR("info",info.value)
+                        .ok(),
+                MIntentAction.REQUEST_CHOSE_INSURE)
+    }
+
+
+
+
 }
 
 

BIN
app/src/main/res/drawable-xxhdpi/ic_insure_back.webp


+ 573 - 0
app/src/main/res/layout/activity_buy_insure.xml

@@ -0,0 +1,573 @@
+<?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>
+        <import type="android.view.View" />
+        <import type="com.quansu.heifengwuliu.BuildConfig" />
+
+        <variable
+            name="vm"
+            type="com.quansu.heifengwuliu.vmodel.BuyInsureVModel" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#F5F5F5"
+        android:orientation="vertical">
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+
+            <ScrollView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:scrollbars="none">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:orientation="vertical">
+
+
+                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="17dp"
+                        android:layout_marginTop="12dp"
+                        android:layout_marginEnd="16dp"
+                        android:orientation="vertical"
+                        android:paddingStart="11dp"
+                        android:paddingEnd="8dp"
+                        app:qmui_backgroundColor="@color/white"
+                        app:qmui_borderColor="@color/white"
+                        app:qmui_radius="@dimen/dp_4">
+
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="19dp"
+                            android:text="投保人信息"
+                            android:textColor="#26292F"
+                            android:textSize="15sp" />
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="14dp"
+                            android:layout_marginBottom="20dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="投保人"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:textColor="#26292F"
+                                android:textSize="14sp"
+                                android:text="山东鑫运必达物流科技有限责任公司" />
+
+
+                        </LinearLayout>
+
+
+                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="17dp"
+                        android:layout_marginTop="12dp"
+                        android:layout_marginEnd="16dp"
+                        android:orientation="vertical"
+                        android:paddingStart="11dp"
+                        android:paddingEnd="8dp"
+                        app:qmui_backgroundColor="@color/white"
+                        app:qmui_borderColor="@color/white"
+                        app:qmui_radius="@dimen/dp_4">
+
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="19dp"
+                            android:text="被保人信息"
+                            android:textColor="#26292F"
+                            android:textSize="15sp" />
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp"
+                            android:gravity="center"
+                            android:orientation="horizontal">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="姓名"
+                                android:textColor="@color/text_title"
+                                android:textSize="@dimen/sp_16">
+
+                            </TextView>
+
+                            <EditText
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginStart="@dimen/dp_10"
+                                android:layout_weight="1"
+                                android:background="@null"
+                                android:text="@={vm.name}"
+                                android:gravity="center_vertical|right"
+                                android:hint="请输入被保人姓名"
+                                android:textColor="@color/text_title"
+                                android:textColorHint="#979899"
+                                android:textSize="@dimen/sp_13"></EditText>
+
+
+                        </LinearLayout>
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp"
+
+                            android:gravity="center"
+                            android:orientation="horizontal">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="企业统一信用代码"
+                                android:textColor="@color/text_title"
+                                android:textSize="@dimen/sp_16">
+
+                            </TextView>
+
+                            <EditText
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginStart="@dimen/dp_10"
+                                android:layout_weight="1"
+                                android:background="@null"
+                                android:text="@={vm.number}"
+                                android:gravity="center_vertical|right"
+                                android:hint="请输入企业统一信用代码"
+                                android:textColor="@color/text_title"
+                                android:textColorHint="#979899"
+                                android:textSize="@dimen/sp_13"></EditText>
+
+
+                        </LinearLayout>
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp"
+                            android:layout_marginBottom="19dp"
+                            android:gravity="center"
+                            android:orientation="horizontal">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="手机号"
+                                android:textColor="@color/text_title"
+                                android:textSize="@dimen/sp_16">
+
+                            </TextView>
+
+                            <EditText
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginStart="@dimen/dp_10"
+                                android:layout_weight="1"
+                                android:background="@null"
+                                android:text="@={vm.phone}"
+                                android:gravity="center_vertical|right"
+                                android:hint="请输入手机号"
+                                android:inputType="phone"
+                                android:textColor="@color/text_title"
+                                android:textColorHint="#979899"
+                                android:textSize="@dimen/sp_13"></EditText>
+
+
+                        </LinearLayout>
+
+
+                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="17dp"
+                        android:layout_marginTop="12dp"
+                        android:layout_marginEnd="16dp"
+                        android:orientation="vertical"
+                        android:paddingStart="11dp"
+                        android:paddingEnd="8dp"
+                        app:qmui_backgroundColor="@color/white"
+                        app:qmui_borderColor="@color/white"
+                        app:qmui_radius="@dimen/dp_4">
+
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="19dp"
+                            android:text="车辆信息"
+                            android:textColor="#26292F"
+                            android:textSize="15sp" />
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="14dp"
+                            android:layout_marginBottom="20dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="车牌号"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:textColor="#26292F"
+                                android:text="@{vm.info.driver.number}"
+                                android:textSize="14sp"
+                                tools:text="鲁Q99999" />
+
+
+                        </LinearLayout>
+
+
+                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="17dp"
+                        android:layout_marginTop="12dp"
+                        android:layout_marginEnd="16dp"
+                        android:orientation="vertical"
+                        android:paddingStart="11dp"
+                        android:paddingEnd="8dp"
+                        app:qmui_backgroundColor="@color/white"
+                        app:qmui_borderColor="@color/white"
+                        app:qmui_radius="@dimen/dp_4">
+
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="19dp"
+                            android:text="货物信息"
+                            android:textColor="#26292F"
+                            android:textSize="15sp" />
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="货物名称"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:textColor="#26292F"
+                                android:textSize="14sp"
+                                android:text="@{vm.info.info.receive[vm.info.info.receive.size()-1].goods}"
+                                tools:text="水泥" />
+
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:onClick="@{v->vm.choseType()}"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="货物类型"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:gravity="right"
+                                android:text="@{vm.schemeName}"
+                                android:textColor="#26292F"
+                                android:textSize="14sp"
+                                tools:text="水泥" />
+
+                            <ImageView
+                                android:layout_width="8dp"
+                                android:layout_height="13dp"
+                                android:layout_marginStart="4dp"
+                                android:src="@drawable/ic_insure_back" />
+
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="保险费率"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:textColor="#26292F"
+                                android:text="@{vm.schemeCodeName}"
+                                android:textSize="14sp"
+                                tools:text="水泥" />
+
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="起运地"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:textColor="#26292F"
+                                android:textSize="14sp"
+                                android:text="@{vm.info.info.send[vm.info.info.send.size()-1].province.name+vm.info.info.send[vm.info.info.send.size()-1].city.name+vm.info.info.send[vm.info.info.send.size()-1].area.name+vm.info.info.send[vm.info.info.send.size()-1].address}"
+                                tools:text="水泥" />
+
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp"
+                            android:layout_marginBottom="19dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="目的地"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:text="@{vm.info.info.receive[vm.info.info.receive.size()-1].province.name+vm.info.info.receive[vm.info.info.receive.size()-1].city.name+vm.info.info.receive[vm.info.info.receive.size()-1].area.name+vm.info.info.receive[vm.info.info.receive.size()-1].address}"
+                                android:textColor="#26292F"
+                                android:textSize="14sp"
+                                tools:text="水泥" />
+
+
+                        </LinearLayout>
+
+
+                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="17dp"
+                        android:layout_marginTop="12dp"
+                        android:layout_marginEnd="16dp"
+                        android:orientation="vertical"
+                        android:paddingStart="11dp"
+                        android:paddingEnd="8dp"
+                        app:qmui_backgroundColor="@color/white"
+                        app:qmui_borderColor="@color/white"
+                        app:qmui_radius="@dimen/dp_4">
+
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="19dp"
+                            android:text="保险计算器"
+                            android:textColor="#26292F"
+                            android:textSize="15sp" />
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="保额"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+
+                            <EditText
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginStart="@dimen/dp_10"
+                                android:layout_weight="1"
+                                android:background="@null"
+                                android:gravity="center_vertical|right"
+                                android:hint="@{@string/insure_tips+vm.minAmount}"
+                                android:text="@={vm.money}"
+                                android:textColor="@color/text_title"
+                                android:textColorHint="#979899"
+                                android:textSize="@dimen/sp_13"></EditText>
+
+
+                            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                                android:layout_width="68dp"
+                                android:layout_height="26dp"
+                                android:layout_marginStart="8dp"
+                                android:text="计算保费"
+                                android:textColor="#F6C553"
+                                android:onClick="@{v->vm.sumMoney()}"
+                                android:textSize="14sp"
+                                app:qmui_backgroundColor="#FDF9F1"
+                                app:qmui_borderColor="#F5BF41"
+                                app:qmui_borderWidth="1dp"
+                                app:qmui_radius="2dp" />
+
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="13dp"
+                            android:layout_marginBottom="20dp">
+
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="保费金额"
+                                android:textColor="#26292F"
+                                android:textSize="14sp" />
+
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:textColor="#26292F"
+                                android:textSize="14sp"
+                                android:text="@{vm.priceFormat}"
+                                tools:text="300元" />
+
+
+                        </LinearLayout>
+
+                    </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="80dp"/>
+                </LinearLayout>
+            </ScrollView>
+
+
+            <FrameLayout
+                android:layout_width="match_parent"
+                android:layout_marginStart="16dp"
+                android:layout_gravity="bottom"
+                android:layout_marginEnd="15dp"
+                android:visibility="@{vm.type==1?View.VISIBLE:View.GONE}"
+                android:onClick="@{v->vm.putInsure()}"
+                android:layout_height="wrap_content">
+                <ImageView
+                    android:layout_width="match_parent"
+                    android:layout_height="71dp"
+                    android:src="@drawable/ic_details_grab" />
+
+                <TextView
+                    android:id="@+id/tv_tips"
+                    android:layout_width="wrap_content"
+                    android:layout_gravity="center"
+                    android:text="立即投保"
+                    android:textColor="@color/white"
+                    android:textSize="16sp"
+                    android:layout_height="wrap_content">
+
+                </TextView>
+
+            </FrameLayout>
+
+
+
+        </FrameLayout>
+    </LinearLayout>
+</layout>

+ 30 - 16
app/src/main/res/layout/activity_waybilldetails.xml

@@ -354,23 +354,37 @@
                                         android:textSize="@dimen/sp_13"
                                         tools:text="鲁QAA888"></TextView>
 
-                                    <TextView
-                                        android:layout_width="wrap_content"
-                                        android:layout_height="wrap_content"
-                                        android:layout_marginStart="@dimen/dp_10"
-                                        android:layout_marginEnd="@dimen/dp_10"
-                                        android:text="/"
-                                        android:textColor="#979899"
-                                        android:textSize="@dimen/sp_13"></TextView>
 
-                                    <TextView
-                                        android:layout_width="0dp"
-                                        android:layout_height="wrap_content"
-                                        android:layout_weight="1"
-                                        android:text="@{vm.info.driver.car_long}"
-                                        android:textColor="#979899"
-                                        android:textSize="@dimen/sp_13"
-                                        tools:text="平板车 13米"></TextView>
+                                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="26dp"
+                                        android:layout_marginStart="2dp"
+                                        android:paddingStart="10dp"
+                                        android:paddingEnd="10dp"
+                                        android:text="购买保险"
+                                        android:textColor="#F6C553"
+                                        android:onClick="@{v->vm.toBuy()}"
+                                        android:textSize="14sp"
+                                        app:qmui_backgroundColor="#FDF9F1"
+                                        app:qmui_borderColor="#F5BF41"
+                                        app:qmui_borderWidth="1dp"
+                                        app:qmui_radius="2dp" />
+
+
+                                    <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                                        android:layout_width="81dp"
+                                        android:layout_height="26dp"
+                                        android:layout_marginStart="2dp"
+                                        android:paddingStart="10dp"
+                                        android:paddingEnd="10dp"
+                                        android:text="购买保险"
+                                        android:visibility="gone"
+                                        android:textColor="#9E9E9E"
+                                        android:textSize="14sp"
+                                        app:qmui_backgroundColor="#EBEBEB"
+                                        app:qmui_borderColor="#A0A0A0"
+                                        app:qmui_borderWidth="1dp"
+                                        app:qmui_radius="2dp" />
 
 
                                 </LinearLayout>

+ 4 - 1
app/src/main/res/layout/fragment_ownersingle.xml

@@ -405,6 +405,9 @@
                         </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
 
 
+
+
+
                         <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
@@ -621,7 +624,7 @@
                 android:onClick="@{v->vm.interceptClick()}"
                 android:orientation="vertical"
                 android:visibility="@{vm.isDialogShow?View.VISIBLE:View.GONE}"
-               >
+                >
 
                 <LinearLayout
                     android:layout_width="match_parent"

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -515,6 +515,7 @@ Api 已达到使用限制
     <string name="vehicle">辆</string>
     <string name="apply_for_invoice">申请开票</string>
     <string name="order_information">订单信息</string>
+    <string name="insure_tips">请输入保额最小</string>
 
 
 </resources >