Browse Source

1.添加gson混淆。

石慧云 4 years ago
parent
commit
d09486899a
22 changed files with 780 additions and 39 deletions
  1. 7 0
      app/proguard-rules.pro
  2. 1 0
      app/src/main/AndroidManifest.xml
  3. 38 0
      app/src/main/java/com/quansu/heifengwuliu/activity/EachOtherActivity.kt
  4. 11 0
      app/src/main/java/com/quansu/heifengwuliu/activity/EvaluateActivity.kt
  5. 11 0
      app/src/main/java/com/quansu/heifengwuliu/activity/WaybillDetailsActivity.kt
  6. 19 0
      app/src/main/java/com/quansu/heifengwuliu/adapter/EachOtherAdapter.kt
  7. 2 0
      app/src/main/java/com/quansu/heifengwuliu/config/MIntentAction.kt
  8. 4 0
      app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerSingleFragment.kt
  9. 2 2
      app/src/main/java/com/quansu/heifengwuliu/fragment/WayBillFragment.kt
  10. 12 0
      app/src/main/java/com/quansu/heifengwuliu/model/OrderEva.kt
  11. 9 2
      app/src/main/java/com/quansu/heifengwuliu/model/WaybillDetails.kt
  12. 33 0
      app/src/main/java/com/quansu/heifengwuliu/utils/net/ApiService.kt
  13. 29 0
      app/src/main/java/com/quansu/heifengwuliu/vmodel/EachOtherVModel.kt
  14. 105 0
      app/src/main/java/com/quansu/heifengwuliu/vmodel/EvaluateVModel.kt
  15. 169 17
      app/src/main/java/com/quansu/heifengwuliu/vmodel/WaybillDetailsVModel.kt
  16. 35 0
      app/src/main/res/layout/activity_each_other.xml
  17. 69 18
      app/src/main/res/layout/activity_evaluate.xml
  18. 2 0
      app/src/main/res/layout/fragment_ownersingle.xml
  19. 100 0
      app/src/main/res/layout/item_apy_car.xml
  20. 115 0
      app/src/main/res/layout/item_each_other.xml
  21. 2 0
      app/src/main/res/values/colors.xml
  22. 5 0
      app/src/main/res/values/strings.xml

+ 7 - 0
app/proguard-rules.pro

@@ -378,3 +378,10 @@
 #Okio
 -dontwarn org.codehaus.mojo.animal_sniffer.*
 
+##---------------Begin: proguard configuration for Gson  ----------
+-keep public class com.google.gson.**
+-keep public class com.google.gson.** {public private protected *;}
+-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.** { *; }
+

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

@@ -103,6 +103,7 @@
         <activity android:name=".activity.AllOwnerActivity"/>
         <activity android:name=".activity.CommentListActivity"/>
         <activity android:name=".activity.RechargeActivity"/>
+        <activity android:name=".activity.EachOtherActivity"/>
 
 
     </application >

+ 38 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/EachOtherActivity.kt

@@ -0,0 +1,38 @@
+package com.quansu.heifengwuliu.activity
+
+import android.os.Bundle
+import com.quansu.heifengwuliu.adapter.EachOtherAdapter
+import com.quansu.heifengwuliu.base.MBRActivity
+import com.quansu.heifengwuliu.databinding.ActivityEachOtherBinding
+import com.quansu.heifengwuliu.vmodel.EachOtherVModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/24
+ * MBActivity<EachOtherVModel, ActivityEachOtherBinding>()
+ */
+class EachOtherActivity: MBRActivity<EachOtherVModel, EachOtherAdapter, ActivityEachOtherBinding>() {
+
+
+    override fun initCreate(savedInstanceState: Bundle?) {
+        super.initCreate(savedInstanceState)
+        vm.order_id= intent?.extras?.getString("order_id", "")!!
+
+    }
+
+    override fun binding(): ActivityEachOtherBinding {
+       return ActivityEachOtherBinding.inflate(layoutInflater)
+    }
+
+    override fun vmClass(): Class<EachOtherVModel> {
+        return EachOtherVModel::class.java
+    }
+
+    override fun title(): String? {
+        return "评价"
+    }
+
+    override fun initAdapter(): EachOtherAdapter {
+        return EachOtherAdapter(vm)
+    }
+}

+ 11 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/EvaluateActivity.kt

@@ -1,5 +1,6 @@
 package com.quansu.heifengwuliu.activity
 
+import android.os.Bundle
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.databinding.ActivityEvaluateBinding
 import com.quansu.heifengwuliu.vmodel.EvaluateVModel
@@ -10,6 +11,16 @@ import com.quansu.heifengwuliu.vmodel.EvaluateVModel
  */
 class EvaluateActivity: MBActivity<EvaluateVModel, ActivityEvaluateBinding>(){
 
+
+    override fun initCreate(savedInstanceState: Bundle?) {
+        super.initCreate(savedInstanceState)
+        vm.order_id= intent?.extras?.getString("order_id", "")!!
+        vm.url.value= intent?.extras?.getString("url", "")!!
+        vm.sn.value= intent?.extras?.getString("sn", "")!!
+        vm.time.value= intent?.extras?.getString("time", "")!!
+
+    }
+
     override fun binding(): ActivityEvaluateBinding {
         return ActivityEvaluateBinding.inflate(layoutInflater)
     }

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

@@ -32,6 +32,8 @@ class WaybillDetailsActivity : MBActivity<WaybillDetailsVModel, ActivityWaybilld
 
     override fun initCreate(savedInstanceState: Bundle?) {
         super.initCreate(savedInstanceState)
+        vm.ll=binding.ll
+
         vm.type.value=type
         var order_id = intent?.extras?.getString("order_id", "")
 
@@ -114,6 +116,15 @@ class WaybillDetailsActivity : MBActivity<WaybillDetailsVModel, ActivityWaybilld
             return
         }
 
+        if (requestCode == MIntentAction.REQUEST_CODE_COMMENT) {//评论
+
+            vm.changeComment()
+        }
+
+
+
+
+
     }
 
 

+ 19 - 0
app/src/main/java/com/quansu/heifengwuliu/adapter/EachOtherAdapter.kt

@@ -0,0 +1,19 @@
+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.ItemEachOtherBinding
+import com.quansu.heifengwuliu.model.AmountList
+import com.quansu.heifengwuliu.model.OrderEva
+import com.quansu.heifengwuliu.vmodel.EachOtherVModel
+import com.ysnows.base.base.BAdapter
+
+class EachOtherAdapter(var vm: EachOtherVModel) : BAdapter<OrderEva, BaseDataBindingHolder<ItemEachOtherBinding>>(R.layout.item_each_other) {
+    override fun convert(holder: BaseDataBindingHolder<ItemEachOtherBinding>, item: OrderEva) {
+
+        holder.dataBinding?.vm=vm
+        holder.dataBinding?.item = item
+
+    }
+}

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

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

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

@@ -6,6 +6,7 @@ import android.os.Bundle
 import android.text.Editable
 import android.text.TextUtils
 import android.text.TextWatcher
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import androidx.lifecycle.Observer
@@ -312,6 +313,9 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
         var driver=Gson().toJson(driverList)
 
+        Log.e("-shy-", "send=: "+send )
+        Log.e("-shy-", "receive=: "+receive )
+
         vm.setReleaseSource(info_id,type_id,total,driver,carnums,is_public.toString(),is_insurance.toString(),"1",
                data,send,receive)
 

+ 2 - 2
app/src/main/java/com/quansu/heifengwuliu/fragment/WayBillFragment.kt

@@ -55,13 +55,13 @@ class WayBillFragment : MBTabFragment<BViewModel<BRepository>, FragmentWaybillBi
 
             }
             3 -> {
-                ownerFragment.arguments = B().putString("info_state", "40").ok()
+                ownerFragment.arguments = B().putString("info_state", "100").ok()
                 return ownerFragment
 
             }
             4 -> {
                 var ownerFragment = OrderListFragment()
-                ownerFragment.arguments = B().putString("info_state", "100").ok()
+                ownerFragment.arguments = B().putString("info_state", "40").ok()
                 return ownerFragment
 
             }

+ 12 - 0
app/src/main/java/com/quansu/heifengwuliu/model/OrderEva.kt

@@ -0,0 +1,12 @@
+package com.quansu.heifengwuliu.model
+
+import com.ysnows.base.inter.IModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/24
+ */
+data class OrderEva(var eva_id:String,var uid:String,var info_id:String,
+                    var order_id:String,var content:String,var score:Int,
+                    var create_time:String,var update_time:String): IModel {
+}

+ 9 - 2
app/src/main/java/com/quansu/heifengwuliu/model/WaybillDetails.kt

@@ -6,8 +6,7 @@ import com.ysnows.base.inter.IModel
  *Created by shihuiyun
  *on 2020/9/24
  */
-data class WaybillDetails(var order: OrderBean,var info:DataInfoBean.OrderBean,var driver:DriverBean): IModel {
-
+data class WaybillDetails(var order: OrderBean,var info:DataInfoBean.OrderBean,var driver:DriverBean,var eva:EvaBean): IModel {
 
 
 
@@ -19,4 +18,12 @@ data class WaybillDetails(var order: OrderBean,var info:DataInfoBean.OrderBean,v
 
     data class DriverBean(var uid: String,var name: String, var avatar: String,
                           var mobile: String, var number: String, var is_collect: Int):IModel{}
+
+
+    data class EvaBean(var my_eva:MyEvaBean,var other_eva:OtherEvaBean):IModel{
+
+        data class MyEvaBean(var score:Int,var content:String):IModel{}
+        data class OtherEvaBean(var score:Int,var content:String):IModel{}
+
+    }
 }

+ 33 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/net/ApiService.kt

@@ -542,4 +542,37 @@ interface ApiService {
 
 
 
+    /**
+     * 支付车主-货主
+     * @return
+     */
+    @POST("api/info/carPay")
+    @FormUrlEncoded
+    fun carPay(@Field("money") money: String?,@Field("order_id") order_id: String?, @Field("pay_pwd") pay_pwd: String?): Observable<Response<Any>>
+
+
+
+    /**
+     * 评论
+     * @return
+     */
+    @POST("api/info/eva")
+    @FormUrlEncoded
+    fun eva(@Field("order_id") order_id: String?, @Field("score") score: String?,
+                    @Field("content") content: String?
+    ): Observable<Response<Any>>
+
+
+
+    /**
+     * 订单评论
+     * @return
+     */
+    @GET("api/info/orderEva")
+    fun orderEva(@Query("order_id") order_id: String?,@Query("p") p: Int): Observable<Response<List<OrderEva>>>
+
+
+
+
+
 }

+ 29 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/EachOtherVModel.kt

@@ -0,0 +1,29 @@
+package com.quansu.heifengwuliu.vmodel
+
+import com.quansu.heifengwuliu.model.User
+import com.quansu.heifengwuliu.utils.net.NetEngine
+import com.ysnows.base.base.BRRepository
+import com.ysnows.base.base.BRViewModel
+import com.ysnows.base.net.IResponse
+import io.reactivex.Observable
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/22
+ */
+class EachOtherVModel: BRViewModel<BRRepository>() {
+
+    var order_id=""
+    var user=User.get()
+
+    override fun api(): Observable<out IResponse<*>> {
+        return NetEngine.service.orderEva(order_id,repository().autoPage())
+    }
+
+
+    fun isSelf(uid:String):Boolean{//是自己的
+        return uid == user!!.uid
+
+    }
+
+}

+ 105 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/EvaluateVModel.kt

@@ -1,7 +1,13 @@
 package com.quansu.heifengwuliu.vmodel
 
+import android.app.Activity
+import android.content.Intent
+import android.text.TextUtils
+import android.widget.Toast
 import androidx.databinding.Bindable
+import androidx.lifecycle.MutableLiveData
 import com.quansu.heifengwuliu.BR
+import com.quansu.heifengwuliu.utils.net.NetEngine
 import com.ysnows.base.base.BRepository
 import com.ysnows.base.base.BViewModel
 
@@ -11,10 +17,109 @@ import com.ysnows.base.base.BViewModel
  */
 class EvaluateVModel: BViewModel<BRepository>() {
 
+    var isShow: MutableLiveData<Boolean> = MutableLiveData(true)
+
+    var url: MutableLiveData<String> = MutableLiveData()
+    var sn: MutableLiveData<String> = MutableLiveData()
+    var time: MutableLiveData<String> = MutableLiveData()
+
+    var branch : MutableLiveData<Int> = MutableLiveData(0)//0-5
+
+
+    var order_id=""
+    var choseOn1=MutableLiveData(false)
+    var choseOn2=MutableLiveData(false)
+    var choseOn3=MutableLiveData(false)
+    var choseOn4=MutableLiveData(false)
+    var choseOn5=MutableLiveData(false)
+
     @Bindable
     var name: String? = null
         set(value) {
             field = value
             notifyPropertyChanged(BR.name)
         }
+
+
+    fun toSubmit(){
+        //发布
+
+        if(TextUtils.isEmpty(name)){
+            toast("请输入评论")
+            return
+
+        }
+
+        if(branch.value==0){
+            toast("请给对方打星,至少一星")
+            return
+        }
+
+        repository().lreq(NetEngine.service.eva(order_id,branch.value.toString(),name))
+                .doOnNext {
+                    if (it.ok(true)) {
+
+                        val intent = Intent()
+                        var con = repository().context as Activity
+                        con.setResult(Activity.RESULT_OK, intent)
+                        con.finish()
+
+                    }
+                }
+                .subscribe()
+
+    }
+
+    fun toStars(type:Int){
+        when(type){
+            1->{
+                if(!choseOn1.value!!){
+                    branch.value= branch.value!! +1
+                }else{
+                    branch.value= branch.value!! -1
+                }
+                choseOn1.value=!choseOn1.value!!
+            }
+            2->{
+                if(!choseOn2.value!!){
+                    branch.value= branch.value!! +1
+                }else{
+                    branch.value= branch.value!! -1
+                }
+                choseOn2.value=!choseOn2.value!!
+
+            }
+            3->{
+                if(!choseOn3.value!!){
+                    branch.value= branch.value!! +1
+                }else{
+                    branch.value= branch.value!! -1
+                }
+                choseOn3.value=!choseOn3.value!!
+            }
+            4->{
+                if(!choseOn4.value!!){
+                    branch.value= branch.value!! +1
+                }else{
+                    branch.value= branch.value!! -1
+                }
+                choseOn4.value=!choseOn4.value!!
+            }
+            5->{
+                if(!choseOn5.value!!){
+                    branch.value= branch.value!! +1
+                }else{
+                    branch.value= branch.value!! -1
+                }
+                choseOn5.value=!choseOn5.value!!
+            }
+        }
+
+    }
+
+
+
+
+
+
 }

+ 169 - 17
app/src/main/java/com/quansu/heifengwuliu/vmodel/WaybillDetailsVModel.kt

@@ -8,21 +8,19 @@ import android.content.Intent
 import android.net.Uri
 import android.os.Bundle
 import android.text.TextUtils
-import android.util.Log
+import android.text.TextWatcher
 import android.view.LayoutInflater
+import android.widget.EditText
 import android.widget.FrameLayout
 import android.widget.ImageView
 import android.widget.LinearLayout
-import android.widget.TextView
 import androidx.databinding.Bindable
 import androidx.lifecycle.MutableLiveData
 import com.google.gson.Gson
 import com.hwangjr.rxbus.RxBus
 import com.qmuiteam.qmui.layout.QMUIFrameLayout
-import com.qmuiteam.qmui.skin.QMUISkinHelper
 import com.qmuiteam.qmui.skin.QMUISkinValueBuilder
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
-import com.qmuiteam.qmui.util.QMUIResHelper
 import com.qmuiteam.qmui.widget.dialog.QMUIDialog
 import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
 import com.qmuiteam.qmui.widget.popup.QMUIPopup
@@ -30,10 +28,9 @@ 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.EachOtherActivity
 import com.quansu.heifengwuliu.activity.EvaluateActivity
-import com.quansu.heifengwuliu.activity.VehicleListActivity
-import com.quansu.heifengwuliu.config.ConfigRx
-import com.quansu.heifengwuliu.model.DataInfoBean
+import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.model.WaybillDetails
 import com.quansu.heifengwuliu.utils.ChosePhotoUtils
 import com.quansu.heifengwuliu.utils.net.NetEngine
@@ -43,7 +40,9 @@ import com.yanzhenjie.permission.AndPermission
 import com.ysnows.base.base.BRepository
 import com.ysnows.base.base.BViewModel
 import com.ysnows.base.utils.UiSwitch
-import java.util.HashMap
+import com.ysnows.base.utils.UiUtils
+import com.ysnows.base.view.BView
+import java.util.*
 
 
 /*
@@ -66,6 +65,7 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
 
     val isButShow: MutableLiveData<Boolean> = MutableLiveData<Boolean>(true)
 
+    var ll: LinearLayout? =null
 
 
 
@@ -91,7 +91,14 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
                                 10->tvTitle.value="运输轨迹"
                                 20->tvTitle.value="运输轨迹"
                                 30->tvTitle.value="去结算"
-                                40->tvTitle.value= "待评价"
+                                40->{
+                                    if(null!=info.value!!.eva.my_eva){
+                                        order_state=50
+                                        tvTitle.value = "查看评价"
+                                    }else {
+                                        tvTitle.value = "待评价"
+                                    }
+                                }
                                 50->tvTitle.value="查看评价"
                             }
 
@@ -112,7 +119,14 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
                             when(info.value!!.order.order_state){
                                 10->tvTitle.value="开始送货"
                                 20->tvTitle.value="已送达"
-                                40->tvTitle.value="待评价"
+                                40->{
+                                    if(null!=info.value!!.eva.my_eva){
+                                        order_state=50
+                                        tvTitle.value = "查看评价"
+                                    }else {
+                                        tvTitle.value = "待评价"
+                                    }
+                                }
                                 50->tvTitle.value="查看评价"
                             }
 
@@ -129,7 +143,7 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
 
     fun toStartShip(order_id:String){
 
-        if(type.value==0) {
+        if(type.value==0) {//货主端
             //0->全部 10->待取货 20->运输中 30->待结算 40->待评价 50->已完成
 //        10->tvTitle.value="运输轨迹"
 //        20->tvTitle.value="运输轨迹"
@@ -146,16 +160,35 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
             if (order_state == 30) {
 
 
+                showPayDialog(order_id)
+
+
+
                 return
             }
 
             if (order_state == 40) {
+                //货主给司机评价
+
+                UiSwitch.bundleRes(repository().context as Activity, EvaluateActivity::class.java, Bundle().apply {
+                    putString("order_id",order_id)
+                    putString("url", info.value!!.driver.avatar)
+                    putString("sn", info.value!!.order.order_sn)
+                    putString("time", info.value!!.order.create_time)
+                }, MIntentAction.REQUEST_CODE_COMMENT)
+
 
 
                 return
             }
             if (order_state == 50) {
+                //查看评价
+               UiSwitch.bundle(repository().context, EachOtherActivity::class.java,
+                Bundle().apply {
+                    putString("order_id",order_id)
 
+                  }
+                )
 
                 return
             }
@@ -183,22 +216,26 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
             }
             if(order_state==40){//待评价--司机对货主的评价
 
-                UiSwitch.bundle(repository().context, EvaluateActivity::class.java, Bundle().apply {
+                UiSwitch.bundleRes(repository().context as Activity, EvaluateActivity::class.java, Bundle().apply {
                     putString("order_id",order_id)
-                })
+                    putString("url", "")
+                    putString("sn", info.value!!.order.order_sn)
+                    putString("time", info.value!!.order.create_time)
+                },MIntentAction.REQUEST_CODE_COMMENT)
 
 
             }
 
             if(order_state==50){//查看评价
 
-
+                UiSwitch.bundle(repository().context, EachOtherActivity::class.java,
+                        Bundle().apply {
+                            putString("order_id",order_id)
+                        }
+                )
             }
 
 
-
-
-
         }
 
 
@@ -314,4 +351,119 @@ open class WaybillDetailsVModel : BViewModel<BRepository>() {
 
 
 
+    fun showPayDialog(order_id: String){
+        var mNormalPopup = QMUIPopups.fullScreenPopup(repository().context)
+        val builder: QMUISkinValueBuilder = QMUISkinValueBuilder.acquire()
+        val frameLayout = QMUIFrameLayout(repository().context)
+
+        //自定义布局
+        val layoutInflater = repository().context?.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
+        var layout = layoutInflater.inflate(R.layout.item_apy_car, null)
+        val butCancel: ImageView = layout.findViewById(R.id.iv_close)
+        val etMoney: EditText = layout.findViewById(R.id.et_money)
+
+        val butSure: QMUIRoundButton =layout.findViewById(R.id.but_sure)
+
+        val payPwdEditText: PasswordView = layout.findViewById(R.id.ppet)
+        var password=""
+
+
+        payPwdEditText.setPasswordListener(object : PasswordView.PasswordListener {
+            override fun keyEnterPress(pwd: String?, isComplete: Boolean) {
+                password= pwd!!
+                if(!TextUtils.isEmpty(password)&&password.length==6){
+                    var money=etMoney.text.toString().trim()
+                    if(TextUtils.isEmpty(money)){
+                        toast("请输入支付金额")
+                        return
+                    }
+                    getInfoPay(money,order_id,password)
+                    mNormalPopup.dismiss()
+                }
+
+            }
+            override fun passwordChange(changeText: String?) {
+            }
+
+            override fun passwordComplete(pwd: String?) {
+                password=pwd!!
+                if(!TextUtils.isEmpty(password)&&password.length==6){
+
+                    var money=etMoney.text.toString().trim()
+                    if(TextUtils.isEmpty(money)){
+                        toast("请输入支付金额")
+                        return
+                    }
+                    getInfoPay(money,order_id,password)
+                    mNormalPopup.dismiss()
+                }
+            }
+
+        })
+
+
+        butSure.setOnClickListener {
+            var money=etMoney.text.toString().trim()
+            if(TextUtils.isEmpty(money)){
+                toast("请输入支付金额")
+                return@setOnClickListener
+            }
+
+            if(!TextUtils.isEmpty(password)&&password.length==6){
+                getInfoPay(money,order_id,password)
+                mNormalPopup.dismiss()
+            }else{
+                toast("请输入支付密码")
+                return@setOnClickListener
+            }
+
+
+        }
+        butCancel.setOnClickListener {
+            mNormalPopup.dismiss()
+        }
+        builder.release();
+
+        val size= QMUIDisplayHelper.getScreenWidth(repository().context)
+
+        val lp: FrameLayout.LayoutParams = FrameLayout.LayoutParams(size,
+                FrameLayout.LayoutParams.WRAP_CONTENT)
+        frameLayout.addView(layout, lp)
+
+        mNormalPopup.addView(frameLayout)
+        mNormalPopup.onDismiss() {
+        }
+
+        mNormalPopup.dismissIfOutsideTouch(false)
+        mNormalPopup.animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
+        mNormalPopup.show(ll)
+
+    }
+
+
+    fun getInfoPay(money:String,order_id: String,pay_pwd:String) {
+        repository().lreq(NetEngine.service.carPay(money,order_id,pay_pwd))
+                .doOnNext() {
+                    if (it.ok(true)) {
+                        order_state=40
+                        tvTitle.value= "待评价"
+                    }
+
+                }
+                .subscribe()
+    }
+
+    fun changeComment(){//发表完评论改变状态
+        order_state=50
+        tvTitle.value="查看评价"
+
     }
+
+
+
+}
+
+
+
+
+

+ 35 - 0
app/src/main/res/layout/activity_each_other.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <data >
+
+        <variable
+            name="vm"
+            type="com.quansu.heifengwuliu.vmodel.EachOtherVModel" />
+    </data >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_bg"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        xmlns:tools="http://schemas.android.com/tools"
+        android:orientation="vertical" >
+        <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_each_other" />
+
+        </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+
+
+
+    </LinearLayout >
+</layout >

+ 69 - 18
app/src/main/res/layout/activity_evaluate.xml

@@ -1,16 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<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" />
+
         <variable
             name="vm"
             type="com.quansu.heifengwuliu.vmodel.EvaluateVModel" />
 
     </data>
 
-    <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
-        xmlns:tools="http://schemas.android.com/tools"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@color/color_bg"
@@ -39,7 +42,8 @@
                 <ImageView
                     android:layout_width="40dp"
                     android:layout_height="40dp"
-                    android:src="@drawable/bg_need_error" />
+                    android:src="@drawable/bg_need_error"
+                    app:url="@{vm.url}" />
 
                 <LinearLayout
                     android:layout_width="match_parent"
@@ -50,6 +54,7 @@
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:text="@{@string/order_number+vm.sn}"
                         android:textColor="@color/text_title"
                         android:textSize="14sp"
                         tools:text="订单编号:29837453657846" />
@@ -58,6 +63,7 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="5dp"
+                        android:text="@{vm.time}"
                         android:textColor="#A7A7B4"
                         android:textSize="12sp"
                         tools:text="2020-09-15 12:30:20" />
@@ -137,35 +143,48 @@
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
-                    android:layout_marginEnd="43dp"
                     android:layout_marginStart="17dp"
+                    android:layout_marginEnd="10dp"
                     android:layout_weight="1">
-                    
+
                     <ImageView
                         android:layout_width="18dp"
-                        android:src="@drawable/ic_star_on"
+                        android:layout_height="match_parent"
                         android:layout_marginEnd="23dp"
-                        android:layout_height="18dp"/>
+                        android:onClick="@{v->vm.toStars(1)}"
+                        android:src="@{vm.choseOn1?@drawable/ic_star_on:@drawable/ic_star_off}"
+                        tools:src="@drawable/ic_star_off" />
 
                     <ImageView
                         android:layout_width="18dp"
-                        android:src="@drawable/ic_star_on"
+                        android:layout_height="18dp"
                         android:layout_marginEnd="23dp"
-                        android:layout_height="18dp"/>
+                        android:onClick="@{v->vm.toStars(2)}"
+                        android:src="@{vm.choseOn2?@drawable/ic_star_on:@drawable/ic_star_off}"
+                        tools:src="@drawable/ic_star_off" />
+
                     <ImageView
                         android:layout_width="18dp"
-                        android:src="@drawable/ic_star_off"
+                        android:layout_height="18dp"
                         android:layout_marginEnd="23dp"
-                        android:layout_height="18dp"/>
+                        android:onClick="@{v->vm.toStars(3)}"
+                        android:src="@{vm.choseOn3?@drawable/ic_star_on:@drawable/ic_star_off}"
+                        tools:src="@drawable/ic_star_off" />
+
                     <ImageView
                         android:layout_width="18dp"
-                        android:src="@drawable/ic_star_off"
+                        android:layout_height="18dp"
                         android:layout_marginEnd="23dp"
-                        android:layout_height="18dp"/>
+                        android:onClick="@{v->vm.toStars(4)}"
+                        android:src="@{vm.choseOn4?@drawable/ic_star_on:@drawable/ic_star_off}"
+                        tools:src="@drawable/ic_star_off" />
+
                     <ImageView
                         android:layout_width="18dp"
-                        android:src="@drawable/ic_star_off"
-                        android:layout_height="18dp"/>
+                        android:layout_height="18dp"
+                        android:onClick="@{v->vm.toStars(5)}"
+                        android:src="@{vm.choseOn5?@drawable/ic_star_on:@drawable/ic_star_off}"
+                        tools:src="@drawable/ic_star_off" />
 
 
                 </LinearLayout>
@@ -173,9 +192,10 @@
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:text="2.0分"
+                    android:text="@{vm.branch+@string/branch}"
                     android:textColor="#878889"
-                    android:textSize="12sp" />
+                    android:textSize="12sp"
+                    tools:text="2.0分" />
 
 
             </LinearLayout>
@@ -184,5 +204,36 @@
         </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
 
 
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="16dp"
+            android:layout_marginTop="13dp"
+            android:layout_marginEnd="@dimen/dp_16"
+            android:onClick="@{v->vm.toSubmit()}"
+            android:visibility="@{vm.isShow?View.VISIBLE :View.GONE}">
+
+            <ImageView
+                android:layout_width="match_parent"
+                android:layout_height="106dp"
+                android:src="@drawable/ic_details_grab" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="发布"
+                android:textColor="@color/white"
+                android:textSize="16sp">
+
+            </TextView>
+
+        </FrameLayout>
+
     </LinearLayout>
 </layout>

+ 2 - 0
app/src/main/res/layout/fragment_ownersingle.xml

@@ -233,6 +233,7 @@
                             android:layout_marginStart="@dimen/dp_10"
                             android:layout_weight="1"
                             android:background="@null"
+                            android:inputType="number|numberDecimal"
                             android:gravity="center_vertical|right"
                             android:hint="请输入单价"
                             android:textColor="@color/text_title"
@@ -270,6 +271,7 @@
                             android:layout_height="wrap_content"
                             android:layout_marginStart="@dimen/dp_10"
                             android:layout_weight="1"
+                            android:inputType="number|numberDecimal"
                             android:background="@null"
                             android:gravity="center_vertical|right"
                             android:hint="请输入总金额"

+ 100 - 0
app/src/main/res/layout/item_apy_car.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:orientation="vertical">
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="@dimen/dp_10">
+        
+        <ImageView
+            android:id="@+id/iv_close"
+            android:layout_width="26dp"
+            android:src="@drawable/ic_dialog_close"
+            android:layout_gravity="right"
+            android:layout_marginEnd="27dp"
+            android:layout_height="26dp"/>
+
+
+        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="270dp"
+            android:layout_marginStart="27dp"
+            android:layout_marginEnd="27dp"
+            android:layout_marginTop="12dp"
+            app:qmui_radius="8dp"
+            android:gravity="center_horizontal"
+            app:qmui_backgroundColor="@color/white"
+            app:qmui_borderColor="@color/white"
+            android:orientation="vertical">
+
+
+            <TextView
+                android:id="@+id/tv_title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="46dp"
+                android:textSize="18sp"
+                android:textStyle="bold"
+                android:text="输入支付密码"
+                android:textColor="#000000" />
+
+
+            <EditText
+                android:id="@+id/et_money"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="20dp"
+                android:textSize="40sp"
+                android:textStyle="bold"
+                android:background="@null"
+                android:textColorHint="#636465"
+                android:hint="输入支付金额"
+                android:inputType="number|numberDecimal"
+                android:textColor="#000000" />
+
+            <com.quansu.heifengwuliu.view.PasswordView
+                android:id="@+id/ppet"
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:layout_below="@+id/tv_title"
+                android:layout_centerInParent="true"
+                android:layout_marginStart="25dp"
+                android:layout_marginEnd="25dp"
+                android:layout_marginTop="32dp"
+                app:cipherEnable="true"
+                app:passwordLength="6"
+                app:borderColor="#979797"
+                app:smode="underline">
+
+            </com.quansu.heifengwuliu.view.PasswordView>
+
+
+
+            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                android:id="@+id/but_sure"
+                android:layout_width="120dp"
+                app:qmui_backgroundColor="#FFBC00"
+                app:qmui_borderColor="#FFBC00"
+                android:text="确定"
+                android:textColor="@color/white"
+                android:textSize="@dimen/sp_15"
+                android:layout_marginTop="@dimen/dp_20"
+                android:layout_height="35dp"/>
+
+
+        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+    </LinearLayout>
+
+
+</LinearLayout>

+ 115 - 0
app/src/main/res/layout/item_each_other.xml

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools" >
+
+    <data >
+
+        <variable
+            name="vm"
+            type="com.quansu.heifengwuliu.vmodel.EachOtherVModel" />
+        <variable
+            name="item"
+            type="com.quansu.heifengwuliu.model.OrderEva" />
+
+    </data >
+
+    <LinearLayout
+        android:id="@+id/rl_todo"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingLeft="12dp"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        android:paddingRight="13dp" >
+
+        <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+            android:layout_width="match_parent"
+            android:layout_marginStart="17dp"
+            android:layout_marginEnd="16dp"
+            android:layout_marginTop="12dp"
+            app:qmui_borderColor="@{vm.isSelf(item.uid)?@color/yellow_one:@color/white}"
+            app:qmui_backgroundColor="@{vm.isSelf(item.uid)?@color/yellow_one:@color/white}"
+            app:qmui_radius="4dp"
+            android:paddingStart="12dp"
+            android:orientation="vertical"
+            android:paddingEnd="10dp"
+            android:layout_height="wrap_content">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:orientation="horizontal"
+                android:layout_marginTop="18dp"
+                android:gravity="center_vertical|right"
+                android:layout_height="wrap_content">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
+                    tools:text="@string/about_me"
+                    android:text="@{vm.isSelf(item.uid)?@string/me_about:@string/about_me}"
+                    android:textSize="14sp"
+                    android:textColor="#3D3F4E"
+                    android:layout_height="wrap_content"/>
+
+                <ImageView
+                    android:layout_width="13dp"
+                    android:src="@drawable/ic_star_on"
+                    android:layout_marginEnd="3dp"
+                    android:layout_height="13dp"/>
+                <ImageView
+                    android:layout_width="13dp"
+                    android:src="@drawable/ic_star_on"
+                    android:layout_marginEnd="3dp"
+                    android:layout_height="13dp"/>
+                <ImageView
+                    android:layout_width="13dp"
+                    android:src="@drawable/ic_star_on"
+                    android:layout_marginEnd="3dp"
+                    android:layout_height="13dp"/>
+                <ImageView
+                    android:layout_width="13dp"
+                    android:src="@drawable/ic_star_on"
+                    android:layout_marginEnd="3dp"
+                    android:layout_height="13dp"/>
+                <ImageView
+                    android:layout_width="13dp"
+                    android:src="@drawable/ic_star_on"
+                    android:layout_marginEnd="9dp"
+                    android:layout_height="13dp"/>
+                <TextView
+                    android:layout_width="wrap_content"
+                    tools:text="5分"
+                    android:text="@{item.score+@string/branch}"
+                    android:textSize="12sp"
+                    android:textColor="#939393"
+                    android:layout_height="wrap_content"/>
+
+
+            </LinearLayout>
+
+            <TextView
+                android:layout_width="wrap_content"
+                tools:text="2020-09-15 12:30:20"
+                android:text="@{item.create_time}"
+                android:textSize="12sp"
+                android:textColor="#A7A7B4"
+                android:layout_marginTop="3dp"
+                android:layout_height="wrap_content"/>
+            <TextView
+                android:layout_width="match_parent"
+                tools:text="很专业服务很周到,速度也很快,喜欢~"
+                android:textSize="14sp"
+                android:textColor="#3D3F4E"
+                android:text="@{item.content}"
+                android:layout_marginTop="15dp"
+                android:layout_marginBottom="22dp"
+                android:layout_height="wrap_content"/>
+
+
+        </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+
+
+    </LinearLayout >
+</layout >

+ 2 - 0
app/src/main/res/values/colors.xml

@@ -212,5 +212,7 @@
     <color name="tv_subtitle" >#666666</color >
     <color name="tv_title" >#333333</color >
     <color name="bg_button_red" >#FF4F66</color >
+    <color name="yellow_one">#FFF9E9</color>
+
 
 </resources >

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

@@ -495,6 +495,11 @@ Api 已达到使用限制
     <string name="comma">,</string>
     <string name="cargo_volume">载货体积:</string>
     <string name="receiving_vehicle">接单车辆</string>
+    <string name="order_number">订单编号:</string>
+    <string name="branch">分</string>
+    <string name="about_me">他对我的评价</string>
+    <string name="me_about">我对他的评价</string>
+
 
 
 </resources >