瀏覽代碼

1.货源信息详情。

石慧云 4 年之前
父節點
當前提交
05f308bc49
共有 38 個文件被更改,包括 895 次插入203 次删除
  1. 29 0
      app/proguard-rules.pro
  2. 2 0
      app/src/main/AndroidManifest.xml
  3. 104 0
      app/src/main/java/com/quansu/heifengwuliu/activity/AllCarActivity.kt
  4. 104 7
      app/src/main/java/com/quansu/heifengwuliu/activity/CollectionActivity.kt
  5. 4 0
      app/src/main/java/com/quansu/heifengwuliu/activity/SourceDetailsActivity.kt
  6. 2 2
      app/src/main/java/com/quansu/heifengwuliu/activity/TodosActivity.kt
  7. 44 7
      app/src/main/java/com/quansu/heifengwuliu/adapter/CarEnterAdapter.kt
  8. 12 4
      app/src/main/java/com/quansu/heifengwuliu/adapter/CollectionAdapter.kt
  9. 3 6
      app/src/main/java/com/quansu/heifengwuliu/config/ConfigRx.kt
  10. 2 0
      app/src/main/java/com/quansu/heifengwuliu/config/MIntentAction.kt
  11. 8 7
      app/src/main/java/com/quansu/heifengwuliu/fragment/AddressFragment.kt
  12. 70 12
      app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerMoreFragment.kt
  13. 76 1
      app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerSingleFragment.kt
  14. 28 3
      app/src/main/java/com/quansu/heifengwuliu/model/DataInfoBean.kt
  15. 16 0
      app/src/main/java/com/quansu/heifengwuliu/model/DriverBean.kt
  16. 6 1
      app/src/main/java/com/quansu/heifengwuliu/model/InfoListBean.kt
  17. 9 0
      app/src/main/java/com/quansu/heifengwuliu/model/SaveDriverBean.kt
  18. 3 0
      app/src/main/java/com/quansu/heifengwuliu/utils/PopupUtils.java
  19. 27 0
      app/src/main/java/com/quansu/heifengwuliu/utils/net/ApiService.kt
  20. 33 0
      app/src/main/java/com/quansu/heifengwuliu/vmodel/CollectionVModel.kt
  21. 6 2
      app/src/main/java/com/quansu/heifengwuliu/vmodel/MineVModel.kt
  22. 10 14
      app/src/main/java/com/quansu/heifengwuliu/vmodel/OwnerMoreVModel.kt
  23. 4 3
      app/src/main/java/com/quansu/heifengwuliu/vmodel/OwnerSingleVModel.kt
  24. 46 0
      app/src/main/java/com/quansu/heifengwuliu/widget/SearchView.kt
  25. 49 0
      app/src/main/java/com/quansu/heifengwuliu/widget/ShipmentHeadView.kt
  26. 13 2
      app/src/main/res/layout/activity_collection.xml
  27. 2 1
      app/src/main/res/layout/activity_sourcedetails.xml
  28. 4 71
      app/src/main/res/layout/fragment_address.xml
  29. 3 0
      app/src/main/res/layout/fragment_ownermore.xml
  30. 3 1
      app/src/main/res/layout/fragment_ownersingle.xml
  31. 33 21
      app/src/main/res/layout/item_collection.xml
  32. 3 2
      app/src/main/res/layout/item_order.xml
  33. 19 17
      app/src/main/res/layout/item_outcar.xml
  34. 97 0
      app/src/main/res/layout/widget_search.xml
  35. 5 3
      app/src/main/res/values/strings.xml
  36. 0 1
      common-build.gradle
  37. 1 0
      gaode/build.gradle
  38. 15 15
      gaode/proguard-rules.pro

+ 29 - 0
app/proguard-rules.pro

@@ -340,3 +340,32 @@
 -keep class com.tencent.mm.sdk.** {
     *;
 }
+
+#3D 地图 V5.0.0之前:
+-keep   class com.amap.api.maps.**{*;}
+-keep   class com.autonavi.amap.mapcore.*{*;}
+-keep   class com.amap.api.trace.**{*;}
+
+#    3D 地图 V5.0.0之后:
+-keep   class com.amap.api.maps.**{*;}
+-keep   class com.autonavi.**{*;}
+-keep   class com.amap.api.trace.**{*;}
+
+#    定位
+-keep class com.amap.api.location.**{*;}
+-keep class com.amap.api.fence.**{*;}
+-keep class com.loc.**{*;}
+-keep class com.autonavi.aps.amapapi.model.**{*;}
+
+#    搜索
+-keep   class com.amap.api.services.**{*;}
+
+#    2D地图
+-keep class com.amap.api.maps2d.**{*;}
+-keep class com.amap.api.mapcore2d.**{*;}
+
+#    导航
+-keep class com.amap.api.navi.**{*;}
+-keep class com.autonavi.**{*;}
+
+

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

@@ -87,6 +87,8 @@
         <activity android:name=".activity.AddressAddActivity"/>
         <activity android:name=".activity.AreaSelectActivity"/>
         <activity android:name=".activity.SourceDetailsActivity"/>
+        <activity android:name=".activity.AllCarActivity"/>
+
 
     </application >
 

+ 104 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/AllCarActivity.kt

@@ -0,0 +1,104 @@
+package com.quansu.heifengwuliu.activity
+
+import android.os.Bundle
+import android.text.TextUtils
+import android.view.View
+import android.view.inputmethod.EditorInfo
+import android.widget.TextView
+import com.google.gson.Gson
+import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.adapter.CollectionAdapter
+import com.quansu.heifengwuliu.base.MBRActivity
+import com.quansu.heifengwuliu.databinding.ActivityCollectionBinding
+import com.quansu.heifengwuliu.model.DriverBean
+import com.quansu.heifengwuliu.model.SaveDriverBean
+import com.quansu.heifengwuliu.utils.net.NetEngine
+import com.quansu.heifengwuliu.vmodel.CollectionVModel
+import com.ysnows.base.net.IResponse
+import io.reactivex.Observable
+
+class AllCarActivity : MBRActivity<CollectionVModel, CollectionAdapter, ActivityCollectionBinding>() {
+
+    var k:String=""
+
+    override fun initView(view: View?) {
+        super.initView(view)
+        binding.butSure.text="确定"
+    }
+
+
+    override fun initCreate(savedInstanceState: Bundle?) {
+        super.initCreate(savedInstanceState)
+        search()
+    }
+
+    override fun listeners() {
+        super.listeners()
+        binding.butSure.setOnClickListener {
+            var list=adapter().data as ArrayList<DriverBean>
+            if(null!=list&&list.size>0){
+                var choseList=ArrayList<SaveDriverBean>()
+                for(item in list){
+                    if(item.checked==1){
+                      var ben=  SaveDriverBean(item.uid,item.car_id)
+                        choseList.add(ben)
+                    }
+                }
+               if(choseList.size==0){
+                   toast("请选择车辆")
+                  return@setOnClickListener
+               }
+
+                var arr=Gson().toJson(choseList)
+                vm.setSaveDriver(arr)
+
+            }
+
+        }
+    }
+
+    private fun search(){
+        binding.search.getIvDelete()!!.setOnClickListener {
+            if (!TextUtils.isEmpty(binding.search.getEtName()!!.text.toString().trim { it <= ' ' })) {
+                binding.search.getEtName()!!.setText(null)
+                onRefresh()
+            } else {
+                toast( "已经删除搜索条件!")
+            }
+        }
+
+        binding.search.getEtName()!!.setOnEditorActionListener(TextView.OnEditorActionListener { textView, i, keyEvent ->
+            if (i == EditorInfo.IME_ACTION_SEARCH) {
+                k = binding.search.getEtName()!!.text.toString().trim()
+                onRefresh()
+                return@OnEditorActionListener true
+            }
+            false
+        })
+
+        binding.search.getTvSearch()!!.setOnClickListener { t ->
+            k = binding.search.getEtName()!!.text.toString().trim()
+            onRefresh()
+        }
+    }
+
+    override fun binding(): ActivityCollectionBinding {
+        return ActivityCollectionBinding.inflate(layoutInflater)
+    }
+
+
+    override fun initAdapter(): CollectionAdapter {
+        return CollectionAdapter("1")
+    }
+
+    override fun api(): Observable<out IResponse<*>> {
+        return NetEngine.service.allDriver(k, vm?.repository()?.autoPage()!!)
+    }
+
+    override fun title(): String? {
+        return getString(R.string.add_vehicle)
+    }
+    override fun vmClass(): Class<CollectionVModel> {
+        return CollectionVModel::class.java
+    }
+}

+ 104 - 7
app/src/main/java/com/quansu/heifengwuliu/activity/CollectionActivity.kt

@@ -1,23 +1,117 @@
 package com.quansu.heifengwuliu.activity
 
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.text.TextUtils
 import android.view.View
+import android.view.inputmethod.EditorInfo
+import android.widget.TextView
+import com.google.gson.Gson
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.adapter.CollectionAdapter
 import com.quansu.heifengwuliu.base.MBRActivity
+import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.ActivityCollectionBinding
+import com.quansu.heifengwuliu.model.DriverBean
+import com.quansu.heifengwuliu.model.SaveDriverBean
 import com.quansu.heifengwuliu.utils.net.NetEngine
-import com.ysnows.base.base.BRRepository
-import com.ysnows.base.base.BRViewModel
+import com.quansu.heifengwuliu.vmodel.CollectionVModel
 import com.ysnows.base.net.IResponse
+import com.ysnows.base.utils.UiSwitch
 import io.reactivex.Observable
 
-class CollectionActivity : MBRActivity<BRViewModel<BRRepository>, CollectionAdapter, ActivityCollectionBinding>() {
+class CollectionActivity : MBRActivity<CollectionVModel, CollectionAdapter, ActivityCollectionBinding>() {
+
+    var k:String=""
+    var type="1"// 0 不显示选择按钮  1显示选择按钮
+
+
+    override fun __before() {
+        super.__before()
+        type= intent?.extras?.getString("type", "1").toString()
+    }
 
     override fun initView(view: View?) {
         super.initView(view)
-        titleBar()?.setRightText(getString(R.string.all_select))
+        titleBar()?.setRightText(getString(R.string.confirm))
+        titleBar()?.tvRight!!.setOnClickListener {
+            //确定
+            var list=adapter().data as ArrayList<DriverBean>
+            if(null!=list&&list.size>0){
+                var choseList=ArrayList<String>()
+                for(item in list){
+                    if(item.checked==1){
+                        choseList.add(item.sj_uid)
+                    }
+                }
+                if(choseList.size==0){
+                    toast("请选择司机")
+                    return@setOnClickListener
+                }
+
+//                var driver= Gson().toJson(choseList)
+
+                val intent = Intent()
+                var bundle=Bundle()
+                bundle.putSerializable("driver",choseList)
+                intent.putExtras(bundle)
+                setResult(Activity.RESULT_OK, intent)
+                finish()
+
+            }
+
+        }
+    }
+
+
+    override fun initCreate(savedInstanceState: Bundle?) {
+        super.initCreate(savedInstanceState)
+        search()
     }
 
+    override fun listeners() {
+        super.listeners()
+        binding.butSure.setOnClickListener{
+
+            UiSwitch.singleRes(this, AllCarActivity::class.java,
+                    MIntentAction.REQUEST_CODE_ONE)
+        }
+    }
+
+
+    private fun search(){
+        binding.search.getIvDelete()!!.setOnClickListener {
+            if (!TextUtils.isEmpty(binding.search.getEtName()!!.text.toString().trim { it <= ' ' })) {
+                binding.search.getEtName()!!.setText(null)
+                onRefresh()
+            } else {
+                toast( "已经删除搜索条件!")
+            }
+        }
+
+        binding.search.getEtName()!!.setOnEditorActionListener(TextView.OnEditorActionListener { textView, i, keyEvent ->
+            if (i == EditorInfo.IME_ACTION_SEARCH) {
+                k = binding.search.getEtName()!!.text.toString().trim()
+                onRefresh()
+                return@OnEditorActionListener true
+            }
+            false
+        })
+
+        binding.search.getTvSearch()!!.setOnClickListener { t ->
+            k = binding.search.getEtName()!!.text.toString().trim()
+            onRefresh()
+        }
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (MIntentAction.REQUEST_CODE_ONE == requestCode && resultCode == Activity.RESULT_OK) {
+            //刷新列表
+            onRefresh()
+        }
+    }
 
     override fun binding(): ActivityCollectionBinding {
         return ActivityCollectionBinding.inflate(layoutInflater)
@@ -25,14 +119,17 @@ class CollectionActivity : MBRActivity<BRViewModel<BRRepository>, CollectionAdap
 
 
     override fun initAdapter(): CollectionAdapter {
-        return CollectionAdapter()
+        return CollectionAdapter(type)
     }
 
     override fun api(): Observable<out IResponse<*>> {
-        return NetEngine.service.taskList("", vm?.repository()?.autoPage()!!)
+        return NetEngine.service.myDriver(k, vm?.repository()?.autoPage()!!)
     }
 
     override fun title(): String? {
         return getString(R.string.my_collection)
     }
-}
+    override fun vmClass(): Class<CollectionVModel> {
+        return CollectionVModel::class.java
+    }
+}

+ 4 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/SourceDetailsActivity.kt

@@ -2,6 +2,7 @@ package com.quansu.heifengwuliu.activity
 
 import android.os.Bundle
 import android.text.TextUtils
+import android.view.View
 import androidx.lifecycle.Observer
 import com.quansu.heifengwuliu.adapter.OrderInfoInadapter
 import com.quansu.heifengwuliu.adapter.OrderInfoadapter
@@ -26,6 +27,9 @@ class SourceDetailsActivity: MBActivity<SourceDetailsVModel, ActivitySourcedetai
         if(!TextUtils.isEmpty(info_id)) {
             vm.getInfo(info_id!!)
         }
+        if(type.equals("0")){
+            binding.butComeback.visibility= View.GONE
+        }
 
         vm.info.observe(this, Observer {
             //观察

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

@@ -11,7 +11,7 @@ import io.reactivex.Observable
 
 class TodosActivity : MBRActivity<TodoListVModel, TodosAdapter, ActivityTodosBinding>() {
     override fun title(): String {
-        return getStr(R.string.todo_list)!!
+        return getStr(R.string.my_collection)!!
     }
 
     override fun initAdapter(): TodosAdapter = TodosAdapter(vm)
@@ -27,4 +27,4 @@ class TodosActivity : MBRActivity<TodoListVModel, TodosAdapter, ActivityTodosBin
     override fun vmClass(): Class<TodoListVModel> {
         return TodoListVModel::class.java
     }
-}
+}

+ 44 - 7
app/src/main/java/com/quansu/heifengwuliu/adapter/CarEnterAdapter.kt

@@ -3,6 +3,7 @@ package com.quansu.heifengwuliu.adapter
 import android.text.Editable
 import android.text.TextUtils
 import android.text.TextWatcher
+import android.util.Log
 import android.view.View
 import android.widget.EditText
 import com.chad.library.adapter.base.viewholder.BaseDataBindingHolder
@@ -17,6 +18,7 @@ import com.quansu.heifengwuliu.inte.ChoiceListData
 import com.quansu.heifengwuliu.model.SelectData
 import com.quansu.heifengwuliu.model.bean.ReceiveBean
 import com.quansu.heifengwuliu.utils.PopuListUtils
+import com.quansu.heifengwuliu.utils.PopupUtils
 import com.quansu.heifengwuliu.vmodel.OwnerMoreVModel
 import com.ysnows.base.base.BAdapter
 import java.text.DecimalFormat
@@ -26,21 +28,43 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
     var goodsTypeList = ArrayList<SelectData>()
     var numsTypeList = ArrayList<String>()
 
+    var oldnumber=""
+    var oldprice=""
+    var oldtotal=""
+
     fun setData( list:ArrayList<SelectData>,unitlist:ArrayList<String>){
         this.goodsTypeList=list
         this.numsTypeList=unitlist
 
     }
     override fun convert(holder: BaseDataBindingHolder<ItemOutcarBinding>, item: ReceiveBean) {
+
+        holder.setIsRecyclable(false)
         holder.dataBinding?.item = item
         holder.dataBinding?.vm=vm
         holder.dataBinding?.position=holder.adapterPosition
+
+
         if(holder.adapterPosition==0){
             holder.dataBinding?.llDelete!!.visibility =  View.GONE
         }else{
             holder.dataBinding?.llDelete!!.visibility =  View.VISIBLE
         }
 
+
+        holder.dataBinding?.tvChoseTime!!.setOnClickListener {
+            //选择时间
+            PopupUtils.setChoseTime(context, object : ChoiceData {
+                override fun onRestuse(time: String?) {
+                    if (time != null) {
+                        holder.dataBinding?.tvChoseTime!!.text = time
+                        item.time=time
+                    }
+                }
+            })
+
+        }
+
         holder.dataBinding?.tvDelete!!.setOnClickListener {
 
             //删除
@@ -56,6 +80,7 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
                         var list=data as ArrayList<ReceiveBean>
                         list.removeAt(holder.adapterPosition)
                         notifyItemRemoved(holder.adapterPosition)
+                        RxBus.get().post(ConfigRx.SUM_AGAIN, "")
                         dialog.dismiss()
                     })
                     .show()
@@ -68,7 +93,9 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
                 override fun onRestuse(code: String?,name: String?) {
                     item.goods_type_name=name!!
                     item.goods_type=code!!
-                    notifyItemChanged(holder.adapterPosition)
+                    holder.dataBinding?.tvGoodsType!!.text=name
+
+                   // notifyItemChanged(holder.adapterPosition)
 
                 }
             })
@@ -80,7 +107,7 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
             PopuListUtils.showQMUIPopup(context, holder.dataBinding?.llChoseUnits!!, numsTypeList, object : ChoiceData {
                 override fun onRestuse(name: String?) {
                     item.nums_type=name!!
-                    notifyItemChanged(holder.adapterPosition)
+                    holder.dataBinding?.tvChoseUnits!!.text=name
                 }
             })
 
@@ -93,6 +120,11 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
                 if (TextUtils.isEmpty(nums)) {
                     nums = "0"
                 }
+                if(!TextUtils.isEmpty(oldnumber)&& oldnumber == nums){
+                    return
+                }
+                oldnumber=nums
+                item.nums=nums
                 sumTotal(item,1, nums,
                         holder.dataBinding?.etSingCarNums!!,holder.dataBinding?.etSingCarPrice!!,holder.dataBinding?.etSingCarTotal!!)
 
@@ -106,6 +138,12 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
                 if (TextUtils.isEmpty(price)) {
                     price = "0"
                 }
+
+                if(!TextUtils.isEmpty(oldprice)&& oldprice == price){
+                    return
+                }
+                oldprice=price
+                item.price=price
                 sumTotal(item,2, price, holder.dataBinding?.etSingCarNums!!,holder.dataBinding?.etSingCarPrice!!,holder.dataBinding?.etSingCarTotal!!)
 
 
@@ -119,6 +157,10 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
                 if (TextUtils.isEmpty(total)) {
                     total = "0"
                 }
+                if(!TextUtils.isEmpty(oldtotal)&& oldtotal == total){
+                    return
+                }
+                oldtotal=total
                 item.total=total
 
                 RxBus.get().post(ConfigRx.SUM_AGAIN, "")
@@ -170,11 +212,6 @@ class CarEnterAdapter(val vm: OwnerMoreVModel) : BAdapter<ReceiveBean, BaseDataB
 
 
 
-
-
-
-
-
     }
 
 

+ 12 - 4
app/src/main/java/com/quansu/heifengwuliu/adapter/CollectionAdapter.kt

@@ -1,13 +1,21 @@
 package com.quansu.heifengwuliu.adapter
 
+import android.view.View
 import com.chad.library.adapter.base.viewholder.BaseDataBindingHolder
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.databinding.ItemCollectionBinding
-import com.quansu.heifengwuliu.model.Vehicle
+import com.quansu.heifengwuliu.model.DriverBean
 import com.ysnows.base.base.BAdapter
 
-class CollectionAdapter : BAdapter<Vehicle, BaseDataBindingHolder<ItemCollectionBinding>>(R.layout.item_collection) {
-    override fun convert(holder: BaseDataBindingHolder<ItemCollectionBinding>, item: Vehicle) {
+class CollectionAdapter(val type:String) : BAdapter<DriverBean, BaseDataBindingHolder<ItemCollectionBinding>>(R.layout.item_collection) {
+    override fun convert(holder: BaseDataBindingHolder<ItemCollectionBinding>, item: DriverBean) {
         holder.dataBinding?.item = item
+        if(type=="0"){
+            holder.dataBinding?.imgCheck!!.visibility=View.GONE
+        }
+        holder.dataBinding?.imgCheck!!.setOnClickListener {
+            if(item.checked==0) item.checked=1 else item.checked=0
+            notifyItemChanged(holder.adapterPosition)
+        }
     }
-}
+}

+ 3 - 6
app/src/main/java/com/quansu/heifengwuliu/config/ConfigRx.kt

@@ -2,15 +2,9 @@ package com.quansu.heifengwuliu.config
 
 object ConfigRx {
 
-    const val LOGOUT: String="LOGOUT"
     const val LOGIN: String="LOGIN"
     const val ROUND_SEARCH_BAR_CHANGED: String = "ROUND_SEARCH_BAR_CHANGED"
-    const val ROUND_SEARCH_BAR_ITEM_ADDED: String = "ROUND_SEARCH_BAR_ITEM_ADDED"
 
-    const val SEARCH_BAR_CHANGED: String = "SEARCH_BAR_CHANGED"
-    const val SEARCH_BAR_ITEM_ADDED: String = "SEARCH_BAR_ITEM_ADDED"
-
-    const val DEFAULT_SEARCH_CHANGED: String = "DEFAULT_SEARCH_CHANGED"
 
     const val ADD_ONELOGIN = "ADD_ONELOGIN" //一键登录
 
@@ -22,4 +16,7 @@ object ConfigRx {
 
     const val SUM_AGAIN = "SUM_AGAIN" //计算一装多卸的总和
 
+    const val CHOSE_CAR = "CHOSE_CAR" //选择车辆
+
+
 }

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

@@ -4,6 +4,8 @@ object MIntentAction {
     const val ACTION_UPDATE_APP_WIDGET: String = "action_update_app_widget"
     const val REQUEST_CODE_ONE = 10086
     const val REQUEST_CODE_TWO = 10087
+    const val REQUEST_CODE_THREE = 10088
+
 
 
 }

+ 8 - 7
app/src/main/java/com/quansu/heifengwuliu/fragment/AddressFragment.kt

@@ -21,6 +21,7 @@ import com.ysnows.base.net.IResponse
 import com.ysnows.base.utils.B
 import com.ysnows.base.utils.UiSwitch
 import io.reactivex.Observable
+import kotlinx.android.synthetic.main.widget_search.view.*
 import java.util.*
 
 //发货 -卸货地址
@@ -68,26 +69,26 @@ class AddressFragment : MBRFragment<AddressVModel, AddressAdapter, FragmentAddre
            }
        }
 
-        binding.ivDelete.setOnClickListener {
-            if (!TextUtils.isEmpty(binding.etName.text.toString().trim { it <= ' ' })) {
-                binding.etName.text = null
+        binding.search.getIvDelete()!!.setOnClickListener {
+            if (!TextUtils.isEmpty(binding.search.getEtName()!!.text.toString().trim { it <= ' ' })) {
+                binding.search.getEtName()!!.setText(null)
                 onRefresh()
             } else {
                 toast( "已经删除搜索条件!")
             }
         }
 
-        binding.etName.setOnEditorActionListener(OnEditorActionListener { textView, i, keyEvent ->
+        binding.search.getEtName()!!.setOnEditorActionListener(OnEditorActionListener { textView, i, keyEvent ->
             if (i == EditorInfo.IME_ACTION_SEARCH) {
-                k = binding.etName.text.toString().trim()
+                k = binding.search.getEtName()!!.text.toString().trim()
                 onRefresh()
                 return@OnEditorActionListener true
             }
             false
         })
 
-        binding.tvSearch.setOnClickListener { t ->
-            k = binding.etName.text.toString().trim()
+        binding.search.getTvSearch()!!.setOnClickListener { t ->
+            k = binding.search.getEtName()!!.text.toString().trim()
             onRefresh()
         }
 

+ 70 - 12
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerMoreFragment.kt

@@ -4,21 +4,26 @@ import android.app.Activity
 import android.content.Intent
 import android.os.Bundle
 import android.text.TextUtils
+import android.util.Log
 import android.view.LayoutInflater
+import android.view.View
 import android.view.ViewGroup
+import android.widget.EditText
+import android.widget.LinearLayout
 import androidx.lifecycle.Observer
 import com.google.gson.Gson
 import com.hwangjr.rxbus.annotation.Subscribe
 import com.hwangjr.rxbus.annotation.Tag
+import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.activity.AddressActivity
 import com.quansu.heifengwuliu.activity.AreaSelectActivity
+import com.quansu.heifengwuliu.activity.CollectionActivity
 import com.quansu.heifengwuliu.adapter.CarEnterAdapter
 import com.quansu.heifengwuliu.base.MBFragment
 import com.quansu.heifengwuliu.config.ConfigRx
 import com.quansu.heifengwuliu.config.MIntentAction
 import com.quansu.heifengwuliu.databinding.FragmentOwnermoreBinding
 import com.quansu.heifengwuliu.inte.ChoiceData
-import com.quansu.heifengwuliu.inte.ChoiceListData
 import com.quansu.heifengwuliu.model.AddressBean
 import com.quansu.heifengwuliu.model.DataInfoBean
 import com.quansu.heifengwuliu.model.SelectData
@@ -27,11 +32,7 @@ import com.quansu.heifengwuliu.model.bean.SendBean
 import com.quansu.heifengwuliu.utils.PopuListUtils
 import com.quansu.heifengwuliu.utils.PopupUtils
 import com.quansu.heifengwuliu.vmodel.OwnerMoreVModel
-import com.yanzhenjie.permission.AndPermission
-import com.yanzhenjie.permission.runtime.Permission
-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 java.text.DecimalFormat
@@ -68,11 +69,15 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
     var area_out: String = ""
     var time_out: String = ""
 
+    //常用司机
+    var driverList=ArrayList<String>()
+
 
 
 
     override fun init(savedInstanceState: Bundle?) {
         super.init(savedInstanceState)
+
         vm.initData(this)
         getData()
         vm.info.observe(this, Observer {
@@ -125,10 +130,21 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
             judgeValue()
         }
 
+        binding.llDriver.setOnClickListener {
+            //指定常用司机
+            UiSwitch.singleRes(this, CollectionActivity::class.java, MIntentAction.REQUEST_CODE_THREE)
+
+        }
 
     }
 
     private fun judgeValue() {
+
+        var type_id=binding.viewHead.type_id
+        if(TextUtils.isEmpty(type_id)){
+            toast("请选择车型!")
+            return
+        }
         if (TextUtils.isEmpty(province_out)) {
             toast("请选择装货地址!")
             return
@@ -212,8 +228,10 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
        // var total = binding.etSingCarTotal.text.toString().trim()
 
         var df = DecimalFormat("0.00")
+        var driver=Gson().toJson(driverList)
+
 
-        vm.setReleaseSource(info_id,df.format(total),"",carnums,is_public.toString(),is_insurance.toString(),"2",
+        vm.setReleaseSource(info_id,type_id,df.format(total),driver,carnums,is_public.toString(),is_insurance.toString(),"2",
                 data,send,receive)
 
 
@@ -232,6 +250,22 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
 
     private fun initTab(info: DataInfoBean) {
         binding.viewHead.setHeadData(info,childFragmentManager)
+
+        //设置默认装货地址-卸货地址
+        if(null!=info.default_send){
+            binding.viewHead.getTvCity()!!.text = info.default_send.province.name + info.default_send.city.name + info.default_send.area.name
+            binding.viewHead.getEtDetailedAddress()!!.setText(info.default_send.address)
+            binding.viewHead.getTvChoseTime()!!.text = info.default_send.create_time
+            binding.viewHead.getEtName()!!.setText(info.default_send.name)
+            binding.viewHead.getEtPhone()!!.setText(info.default_send.mobile)
+            lat_out = info.default_send.lat.toString()
+            lng_out = info.default_send.lng.toString()
+            area_out = info.default_send.area!!.code.toString()
+            province_out = info.default_send.province!!.code.toString()
+            city_out = info.default_send.city!!.code.toString()
+            time_out = info.default_send.create_time.toString()
+        }
+
         binding.viewHead.getImgNext()!!.setOnClickListener {
 
 
@@ -349,12 +383,9 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
                     list[vm.position].area=bundle.getString("area_code")
                     list[vm.position].province=bundle.getString("province_code")
                     list[vm.position].city=bundle.getString("city_code")
-                    list[vm.position].name=name
-
                     list[vm.position].pca=name
-
-
                     adapter!!.notifyItemChanged(vm.position)
+
                 }
 
             }
@@ -402,8 +433,6 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
                     adapter!!.notifyItemChanged(vm.position)
 
 
-
-
 //
 //
                 }
@@ -414,6 +443,22 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
 
         }
 
+        if (MIntentAction.REQUEST_CODE_THREE == requestCode && resultCode == Activity.RESULT_OK){
+            //常用司机
+            val bundle = data!!.extras
+            if (null != bundle) {
+                driverList.clear()
+
+                var  arr=bundle.getSerializable("driver") as ArrayList<String>
+                driverList.addAll(arr)
+                binding.tvDriver.text="已指定"+driverList.size+"人"
+
+            }
+
+            return
+        }
+
+
     }
 
     override val isRxbus: Boolean
@@ -426,6 +471,9 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
         if (vm.type == 2) {
 
             var list=adapter!!.data as ArrayList<ReceiveBean>
+
+            Log.e("-shy-", "position= "+vm.position )
+
             list[vm.position].area= bean.areacode
             list[vm.position].province=bean.areacode.substring(0, 2) + "0000"
             list[vm.position].city=bean.areacode.substring(0, 4) + "00"
@@ -435,6 +483,8 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
             list[vm.position].pca=bean.provincename + bean.cityname + bean.areaname
             adapter!!.notifyItemChanged(vm.position)
 
+
+
         } else {
 
             lat_out = bean.latitude
@@ -451,6 +501,8 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
     @Subscribe(tags = [Tag(ConfigRx.SUM_AGAIN)])
     fun setSumAgain(type:String) {
         //重新计算总和
+
+        //重新计算总和
         var list=adapter!!.data as ArrayList<ReceiveBean>
         var df = DecimalFormat("0.00");
         var total:Double = 0.00
@@ -458,10 +510,16 @@ class OwnerMoreFragment : MBFragment<OwnerMoreVModel, FragmentOwnermoreBinding>(
             if(TextUtils.isEmpty(item.total)){
                 item.total="0"
             }
+            Log.e("-shy-", "item.total=: "+item.total )
             total += item.total.toDouble()
+
         }
         binding.tvTotalMoney.text = df.format(total)
 
+
+        Log.e("-shy-", "list="+Gson().toJson(list))
+
+
     }
 
 

+ 76 - 1
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerSingleFragment.kt

@@ -10,10 +10,12 @@ import android.view.LayoutInflater
 import android.view.ViewGroup
 import androidx.lifecycle.Observer
 import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
 import com.hwangjr.rxbus.annotation.Subscribe
 import com.hwangjr.rxbus.annotation.Tag
 import com.quansu.heifengwuliu.activity.AddressActivity
 import com.quansu.heifengwuliu.activity.AreaSelectActivity
+import com.quansu.heifengwuliu.activity.CollectionActivity
 import com.quansu.heifengwuliu.base.MBFragment
 import com.quansu.heifengwuliu.config.ConfigRx
 import com.quansu.heifengwuliu.config.MIntentAction
@@ -73,6 +75,8 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
     var info_id:String="0"
     var goods_type_code="0"
+    //常用司机
+    var driverList=ArrayList<String>()
 
 
 
@@ -177,6 +181,13 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
             }
         })
 
+        binding.llDriver.setOnClickListener {
+            //指定常用司机
+            UiSwitch.singleRes(this, CollectionActivity::class.java, MIntentAction.REQUEST_CODE_THREE)
+
+        }
+
+
 
     }
 
@@ -190,6 +201,13 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 //
 //        return
 
+        var type_id=binding.viewHead.type_id
+        if(TextUtils.isEmpty(type_id)){
+            toast("请选择车型!")
+            return
+        }
+
+
         if (TextUtils.isEmpty(province_out)) {
             toast("请选择装货地址!")
             return
@@ -290,8 +308,9 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
         var receive= Gson().toJson(receiveList)
 
+        var driver=Gson().toJson(driverList)
 
-        vm.setReleaseSource(info_id,total,"",carnums,is_public.toString(),is_insurance.toString(),"1",
+        vm.setReleaseSource(info_id,type_id,total,driver,carnums,is_public.toString(),is_insurance.toString(),"1",
                data,send,receive)
 
     }
@@ -336,6 +355,37 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
 
         binding.viewHead.setHeadData(info,childFragmentManager)
+        if(null!=info.car_type&& info.car_type.isNotEmpty()) {
+            binding.etSingCarNums.setText(info.car_type[0].weight)
+        }
+        //设置默认装货地址-卸货地址
+        if(null!=info.default_send){
+            binding.viewHead.getTvCity()!!.text = info.default_send.province.name + info.default_send.city.name + info.default_send.area.name
+            binding.viewHead.getEtDetailedAddress()!!.setText(info.default_send.address)
+            binding.viewHead.getTvChoseTime()!!.text = info.default_send.create_time
+            binding.viewHead.getEtName()!!.setText(info.default_send.name)
+            binding.viewHead.getEtPhone()!!.setText(info.default_send.mobile)
+            lat_out = info.default_send.lat.toString()
+            lng_out = info.default_send.lng.toString()
+            area_out = info.default_send.area!!.code.toString()
+            province_out = info.default_send.province!!.code.toString()
+            city_out = info.default_send.city!!.code.toString()
+            time_out = info.default_send.create_time.toString()
+        }
+        if(null!=info.default_receive){
+
+            binding.viewEnter.getTvCity()!!.text = info.default_receive.province?.name + info.default_receive.city?.name + info.default_receive.area?.name
+            binding.viewEnter.getEtDetailedAddress()!!.setText(info.default_receive.address)
+            binding.viewEnter.getTvChoseTime()!!.text = info.default_receive.create_time
+            binding.viewEnter.getEtName()!!.setText(info.default_receive.name)
+            binding.viewEnter.getEtPhone()!!.setText(info.default_receive.mobile)
+            lat_in = info.default_receive.lat.toString()
+            lng_in = info.default_receive.lng.toString()
+            area_in = info.default_receive.area!!.code.toString()
+            province_in = info.default_receive.province!!.code.toString()
+            city_in = info.default_receive.city!!.code.toString()
+            time_in = info.default_receive.create_time.toString()
+        }
 
         binding.viewHead.getImgNext()!!.setOnClickListener {
 
@@ -503,6 +553,25 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
         }
 
+
+        if (MIntentAction.REQUEST_CODE_THREE == requestCode && resultCode == Activity.RESULT_OK){
+            //常用司机
+            val bundle = data!!.extras
+            if (null != bundle) {
+                driverList.clear()
+
+               var  arr=bundle.getSerializable("driver") as ArrayList<String>
+                driverList.addAll(arr)
+                binding.tvDriver.text="已指定"+driverList.size+"人"
+
+            }
+
+            return
+        }
+
+
+
+
     }
 
 
@@ -570,6 +639,12 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
     }
 
+    @Subscribe(tags = [Tag(ConfigRx.CHOSE_CAR)])
+    fun choseCar(weight: String) {
+        //切换车辆
+        binding.etSingCarNums.setText(weight)
+    }
+
 
 }
 

+ 28 - 3
app/src/main/java/com/quansu/heifengwuliu/model/DataInfoBean.kt

@@ -1,5 +1,6 @@
 package com.quansu.heifengwuliu.model
 
+import com.google.gson.annotations.SerializedName
 import com.ysnows.base.inter.IModel
 
 /**
@@ -8,14 +9,33 @@ import com.ysnows.base.inter.IModel
  * 订单状态 info_state:10->待支付  20->待接单  30->进行中 40-> 已完成  100->已取消
  */
 data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<String>,
-                        var car_type: List<CarTypeBean>, var order: OrderBean) : IModel {
+                        var car_type: List<CarTypeBean>, var order: OrderBean,var default_send:DefaultSdendBean,
+                      var default_receive:DefaultReceiveBean) : IModel {
 
 
 
+    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{}
+
+    }
+    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{
+
+        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 CarTypeBean(var type_id: String, var type_name: String,
-                           var type_icon: String, var type_img: String) : IModel {
+                           var type_icon: String, var type_img: String,var weight:String) : IModel {
 
     }
 
@@ -28,9 +48,14 @@ data class DataInfoBean(var goods_type: List<SelectData>, var nums_type: List<St
                          var data: String, var pay_time: String,
                          var create_time: String, var update_time: String,
                          var delete_time: String, var send: List<SendBean>,
-                         var receive: List<ReceiveBean>) : IModel {
+                         var receive: List<ReceiveBean>,
+                         var type_info: TypeInfoBean) : IModel {
 
 
+        data class TypeInfoBean(var type_id: String, var type_name: String, @SerializedName("long") var longx: String,
+
+                                ): IModel{
+        }
         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,

+ 16 - 0
app/src/main/java/com/quansu/heifengwuliu/model/DriverBean.kt

@@ -0,0 +1,16 @@
+package com.quansu.heifengwuliu.model
+
+import com.ysnows.base.inter.IModel
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/16
+ * 添加收藏的时候 用 sj_uid+ car_id
+ *
+ * 选择的时候 sj_uid
+ */
+class DriverBean( val driver_id: String?, val sj_uid:String,val uid: String?, val avatar: String?,
+                  val name: String?, val mobile: String?, val car_id: String?,
+                  val number: String?, val car_cate: String?,
+                  var checked: Int = 0): IModel {
+}

+ 6 - 1
app/src/main/java/com/quansu/heifengwuliu/model/InfoListBean.kt

@@ -1,5 +1,6 @@
 package com.quansu.heifengwuliu.model
 
+import com.google.gson.annotations.SerializedName
 import com.ysnows.base.inter.IModel
 
 /**
@@ -16,8 +17,12 @@ data class InfoListBean(var info_id: String, var info_state: Int,
                         var data: String, var pay_time: String,
                         var create_time: String, var update_time: String,
                         var delete_time: String, var send: List<SendBean>,
-                        var receive: List<ReceiveBean>) : IModel {
+                        var receive: List<ReceiveBean>,var type_info:TypeInfoBean) : IModel {
 
+    data class TypeInfoBean(var type_id: String,var type_name: String, @SerializedName("long") var longx: String,
+
+    ): IModel{
+    }
 
     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,

+ 9 - 0
app/src/main/java/com/quansu/heifengwuliu/model/SaveDriverBean.kt

@@ -0,0 +1,9 @@
+package com.quansu.heifengwuliu.model
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/16
+ */
+class SaveDriverBean( val sj_uid: String?,
+                      val car_id: String?) {
+}

+ 3 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/PopupUtils.java

@@ -28,6 +28,9 @@ public class PopupUtils {
         startDate.set(1980, 0, 23);
 
         Calendar endDate = Calendar.getInstance();
+        endDate.set(2020, 12, 31);
+
+//        Calendar endDate = Calendar.getInstance();//当前时间
 
         TimePickerView timePickerView = new TimePickerBuilder(context, new OnTimeSelectListener() {
             @Override

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

@@ -200,6 +200,7 @@ interface ApiService {
     @POST("api/info/infoEdit")
     @FormUrlEncoded
     fun infoEdit(@Field("info_id") info_id: String?,
+                 @Field("type_id") type_id: String?,
                  @Field("total") total: String?,
                  @Field("driver") driver: String?,
                  @Field("nums") nums: String?,
@@ -237,5 +238,31 @@ interface ApiService {
     fun infoList(@Query("info_state") info_state: String?, @Query("p") p: Int): Observable<Response<ArrayList<InfoListBean>>>
 
 
+    /**
+     * 常用司机
+     * @return
+     */
+    @GET("api/driver/myDriver")
+    fun myDriver(@Query("k") k: String?, @Query("p") p: Int): Observable<Response<ArrayList<DriverBean>>>
+
+
+    /**
+     * 所有司机
+     * @return
+     */
+    @GET("api/driver/allDriver")
+    fun allDriver(@Query("k") k: String?, @Query("p") p: Int): Observable<Response<ArrayList<DriverBean>>>
+
+    /**
+     * 常用司机-添加收藏
+     * @return
+     */
+    @POST("api/driver/setDriver")
+    @FormUrlEncoded
+    fun setDriver(@Field("arr") arr: String): Observable<Response<Any>>
+
+
+
+
 
 }

+ 33 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/CollectionVModel.kt

@@ -0,0 +1,33 @@
+package com.quansu.heifengwuliu.vmodel
+
+import android.app.Activity
+import android.content.Intent
+import com.quansu.heifengwuliu.utils.net.NetEngine
+import com.ysnows.base.base.BRRepository
+import com.ysnows.base.base.BRViewModel
+
+class CollectionVModel : BRViewModel<BRRepository>() {
+
+
+    fun setSaveDriver(arr:String){
+        //添加司机
+
+        repository()
+                .lreq(NetEngine.service.setDriver(arr))
+                .doOnNext {
+                    if (it.ok(true)) {
+                        val intent = Intent()
+                        var con = repository().context as Activity
+                        con.setResult(Activity.RESULT_OK, intent)
+                        con.finish()
+                    }
+                }
+                .subscribe()
+    }
+
+
+
+
+
+
+}

+ 6 - 2
app/src/main/java/com/quansu/heifengwuliu/vmodel/MineVModel.kt

@@ -1,5 +1,6 @@
 package com.quansu.heifengwuliu.vmodel
 
+import android.os.Bundle
 import androidx.lifecycle.MutableLiveData
 import com.quansu.heifengwuliu.activity.*
 import com.quansu.heifengwuliu.model.User
@@ -12,7 +13,7 @@ import com.ysnows.base.utils.DialUtils
  *on 2020/9/10
  */
 open class MineVModel : BViewModel<MineRepository>() {
-    val user: MutableLiveData<User> = MutableLiveData(User.get())
+    val user: MutableLiveData<User?> = MutableLiveData(User.get())
 
     fun goSettings() {
         single(SettingsActivity::class.java)
@@ -31,7 +32,10 @@ open class MineVModel : BViewModel<MineRepository>() {
     }
 
     fun goCollection() {
-        single(CollectionActivity::class.java)
+//        single(CollectionActivity::class.java)
+        bundle(CollectionActivity::class.java, Bundle().apply {
+            putString("type", "0") })
+
     }
 
     fun goPersonalVerify() {

+ 10 - 14
app/src/main/java/com/quansu/heifengwuliu/vmodel/OwnerMoreVModel.kt

@@ -1,6 +1,7 @@
 package com.quansu.heifengwuliu.vmodel
 
 import android.os.Bundle
+import android.text.TextUtils
 import android.widget.TextView
 import androidx.lifecycle.MutableLiveData
 import com.quansu.heifengwuliu.activity.AddressActivity
@@ -11,6 +12,7 @@ import com.quansu.heifengwuliu.fragment.OwnerMoreFragment
 import com.quansu.heifengwuliu.inte.ChoiceData
 import com.quansu.heifengwuliu.model.DataInfoBean
 import com.quansu.heifengwuliu.model.InfoEditBean
+import com.quansu.heifengwuliu.model.bean.ReceiveBean
 import com.quansu.heifengwuliu.utils.PopupUtils
 import com.quansu.heifengwuliu.utils.net.NetEngine
 import com.yanzhenjie.permission.AndPermission
@@ -67,13 +69,13 @@ open class OwnerMoreVModel : BViewModel<BRepository>() {
 
 
 
-    fun setReleaseSource(info_id:String,total:String,driver:String,
+    fun setReleaseSource(info_id:String,type_id:String,total:String,driver:String,
                          nums:String,is_public:String,is_insurance:String,
                          type:String,data:String,send:String,receive:String
     ){
         //todo:发布货源
 
-        repository().lreq(NetEngine.service.infoEdit(info_id,total,driver,nums,is_public,is_insurance,type,
+        repository().lreq(NetEngine.service.infoEdit(info_id,type_id,total,driver,nums,is_public,is_insurance,type,
         data,send,receive))
                 .doOnNext() {
                     if (it.ok()) {
@@ -117,18 +119,6 @@ open class OwnerMoreVModel : BViewModel<BRepository>() {
 
     }
 
-    fun choseTime(position:Int){
-        this.position=position
-        PopupUtils.setChoseTime(repository().context, object : ChoiceData {
-            override fun onRestuse(time: String?) {
-                if (time != null) {
-                   //todo:
-                }
-            }
-        })
-
-    }
-
 
 
 
@@ -154,5 +144,11 @@ open class OwnerMoreVModel : BViewModel<BRepository>() {
     }
 
 
+    fun getContext(text:String):String{
+
+        return if(TextUtils.isEmpty(text)) "" else text
+    }
+
+
 
 }

+ 4 - 3
app/src/main/java/com/quansu/heifengwuliu/vmodel/OwnerSingleVModel.kt

@@ -13,7 +13,7 @@ import com.ysnows.base.utils.UiSwitch
 
 open class OwnerSingleVModel : BViewModel<BRepository>() {
 
-    var unit: MutableLiveData<String> = MutableLiveData()
+    var unit: MutableLiveData<String> = MutableLiveData(unitValues)
     var goodstype: MutableLiveData<String> = MutableLiveData()
 
     var insurance: MutableLiveData<String> = MutableLiveData()
@@ -28,6 +28,7 @@ open class OwnerSingleVModel : BViewModel<BRepository>() {
 
         const val isPushValue = 1
 
+        const val unitValues = "吨"
     }
 
 
@@ -71,13 +72,13 @@ open class OwnerSingleVModel : BViewModel<BRepository>() {
 
 
 
-    fun setReleaseSource(info_id:String,total:String,driver:String,
+    fun setReleaseSource(info_id:String,type_id:String,total:String,driver:String,
                          nums:String,is_public:String,is_insurance:String,
                          type:String,data:String,send:String,receive:String
     ){
         //todo:发布货源
 
-        repository().lreq(NetEngine.service.infoEdit(info_id,total,driver,nums,is_public,is_insurance,type,
+        repository().lreq(NetEngine.service.infoEdit(info_id,type_id,total,driver,nums,is_public,is_insurance,type,
         data,send,receive))
                 .doOnNext() {
                     if (it.ok()) {

+ 46 - 0
app/src/main/java/com/quansu/heifengwuliu/widget/SearchView.kt

@@ -0,0 +1,46 @@
+package com.quansu.heifengwuliu.widget
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.widget.EditText
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.databinding.DataBindingUtil
+import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.databinding.WidgetSearchBinding
+import com.ysnows.base.view.BView
+import com.ysnows.base.view.BaseView
+
+/**
+ * 搜索的布局
+ *Created by shihuiyun
+ *on 2020/9/16
+ */
+class SearchView(context: Context, attrs: AttributeSet) :BaseLinearLayout(context,attrs) {
+    private var binding: WidgetSearchBinding? = null
+    private var view: BView? = null
+    init {
+        init(context)
+
+    }
+    private fun init(context: Context) {
+        if (context is BaseView) {
+            view = context as BView
+        }
+        binding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.widget_search, this, true)
+    }
+
+    fun getEtName(): EditText? {
+        return binding!!.etName
+    }
+
+    fun getIvDelete(): ImageView? {
+        return binding!!.ivDelete
+    }
+
+    fun getTvSearch(): TextView? {
+        return binding!!.tvSearch
+
+    }
+}

+ 49 - 0
app/src/main/java/com/quansu/heifengwuliu/widget/ShipmentHeadView.kt

@@ -12,6 +12,7 @@ import android.widget.TextView
 import androidx.databinding.DataBindingUtil
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentManager
+import com.hwangjr.rxbus.RxBus
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
 import com.qmuiteam.qmui.widget.QMUIViewPager
 import com.qmuiteam.qmui.widget.tab.QMUITab
@@ -19,6 +20,7 @@ import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
 import com.qmuiteam.qmui.widget.tab.QMUITabSegment
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.adapter.BaseFragmentPagerAdapter
+import com.quansu.heifengwuliu.config.ConfigRx
 import com.quansu.heifengwuliu.databinding.WidgetShipmentheadBinding
 import com.quansu.heifengwuliu.fragment.OwnerImgFragment
 import com.quansu.heifengwuliu.model.DataInfoBean
@@ -37,6 +39,8 @@ class ShipmentHeadView(context: Context, attrs: AttributeSet) :BaseLinearLayout(
     private var view: BView? = null
     var cats = ArrayList<String>()
 
+    //车型
+    var type_id=""
 
     init {
         init(context)
@@ -64,6 +68,9 @@ class ShipmentHeadView(context: Context, attrs: AttributeSet) :BaseLinearLayout(
                 cats.add(item.type_name)
             }
         }
+        //默认第一个
+        type_id=info.car_type[0].type_id
+
         //设置viewpager
         val fragments = ArrayList<Fragment>()
         var index = 0
@@ -109,6 +116,48 @@ class ShipmentHeadView(context: Context, attrs: AttributeSet) :BaseLinearLayout(
         }
         binding!!.tabs.setupWithViewPager(binding!!.qmViewPager, false)
 
+
+        binding!!.tabs.addOnTabSelectedListener(object : QMUITabSegment.OnTabSelectedListener {
+            //mTabSegment选项被选中的监听
+            /**
+             * 当某个 Tab 被选中时会触发
+             *
+             * @param index 被选中的 Tab 下标
+             */
+            override fun onTabSelected(index: Int) {
+                type_id=info.car_type[index].type_id
+
+                RxBus.get().post(ConfigRx.CHOSE_CAR, info.car_type[index].weight)
+
+            }
+
+            /**
+             * 当某个 Tab 被取消选中时会触发
+             *
+             * @param index 被取消选中的 Tab 下标
+             */
+            override fun onTabUnselected(index: Int) {}
+
+            /**
+             * 当某个 Tab 处于被选中状态下再次被点击时会触发
+             *
+             * @param index 被再次点击的 Tab 下标
+             */
+            override fun onTabReselected(index: Int) {
+                type_id=info.car_type[index].type_id
+
+                RxBus.get().post(ConfigRx.CHOSE_CAR, info.car_type[index].weight)
+
+            }
+
+            /**
+             * 当某个 Tab 被双击时会触发
+             *
+             * @param index 被双击的 Tab 下标
+             */
+            override fun onDoubleTap(index: Int) {}
+        })
+
     }
 
 

+ 13 - 2
app/src/main/res/layout/activity_collection.xml

@@ -4,7 +4,9 @@
     xmlns:tools="http://schemas.android.com/tools" >
 
     <data >
-
+        <variable
+            name="vm"
+            type="com.quansu.heifengwuliu.vmodel.CollectionVModel" />
     </data >
 
     <LinearLayout
@@ -12,6 +14,14 @@
         android:layout_height="match_parent"
         android:orientation="vertical" >
 
+        <com.quansu.heifengwuliu.widget.SearchView
+            android:id="@+id/search"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+        </com.quansu.heifengwuliu.widget.SearchView>
+
+
         <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent" >
@@ -32,6 +42,7 @@
             </androidx.swiperefreshlayout.widget.SwipeRefreshLayout >
 
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                android:id="@+id/but_sure"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/dp_40"
                 android:layout_gravity="bottom"
@@ -44,4 +55,4 @@
 
     </LinearLayout >
 
-</layout >
+</layout >

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

@@ -184,12 +184,12 @@
                         android:text="车型车长:"></TextView>
 
                     <TextView
-
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:layout_weight="1"
                         android:textColor="@color/text_title"
                         android:textSize="@dimen/sp_15"
+                        android:text="@{vm.info.order.type_info.type_name+@string/spot+vm.info.order.type_info.longx+@string/rice}"
                         tools:text="电话:1835399999"></TextView>
 
 
@@ -320,6 +320,7 @@
             </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton>
 
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+                android:id="@+id/but_comeback"
                 android:layout_width="120dp"
                 android:layout_height="@dimen/dp_40"
                 android:layout_marginStart="@dimen/dp_15"

+ 4 - 71
app/src/main/res/layout/fragment_address.xml

@@ -12,80 +12,13 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-        <LinearLayout
+        <com.quansu.heifengwuliu.widget.SearchView
+            android:id="@+id/search"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="18dp"
-            android:layout_marginTop="12dp"
-            android:layout_marginRight="18dp"
-            android:layout_marginBottom="18dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
-                android:layout_width="0dp"
-                android:layout_height="40dp"
-                android:layout_weight="1"
-                android:focusable="true"
-                android:focusableInTouchMode="true"
-                android:gravity="center_vertical"
-                android:orientation="horizontal"
-                android:paddingLeft="10dp"
-                android:paddingRight="10dp"
-                app:qmui_backgroundColor="@color/white"
-                app:qmui_borderColor="#BEBEBE"
-                app:qmui_borderWidth="@dimen/dp_1"
-                app:qmui_radius="@dimen/dp_4">
-
-
-                <ImageView
-                    android:layout_width="13dp"
-                    android:layout_height="13dp"
-                    android:src="@drawable/stock_serch">
-
-                </ImageView>
-
-
-                <EditText
-                    android:id="@+id/et_name"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_marginLeft="15dp"
-                    android:layout_weight="1"
-                    android:background="@null"
-                    android:gravity="center_vertical"
-                    android:hint="请输入要搜索的内容"
-                    android:textColor="#2F2F31"
-                    android:textColorHint="#929390"
-                    android:textSize="14sp"></EditText>
-
-
-                <ImageView
-                    android:id="@+id/iv_delete"
-                    android:layout_width="14dp"
-                    android:layout_height="14dp"
-                    android:layout_marginLeft="10dp"
-                    android:src="@drawable/stock_delete">
-
-                </ImageView>
-
-
-            </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
-
-
-            <TextView
-                android:id="@+id/tv_search"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="18dp"
-                android:gravity="center|left"
-                android:text="搜索"
-                android:textColor="#3274F6"
-                android:textSize="15sp">
+            android:layout_height="wrap_content">
 
-            </TextView>
+        </com.quansu.heifengwuliu.widget.SearchView>
 
-        </LinearLayout>
 
 
         <FrameLayout

+ 3 - 0
app/src/main/res/layout/fragment_ownermore.xml

@@ -192,6 +192,8 @@
                     android:background="#C2C2C2" />
 
                 <LinearLayout
+                    android:id="@+id/ll_driver"
+
                     android:layout_width="match_parent"
                     android:layout_height="40dp"
                     android:gravity="center"
@@ -207,6 +209,7 @@
                     </TextView>
 
                     <TextView
+                        android:id="@+id/tv_driver"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:layout_marginStart="@dimen/dp_10"

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

@@ -83,7 +83,7 @@
                             android:layout_weight="1"
                             android:background="@null"
                             android:gravity="center_vertical|right"
-                            android:hint="请输入详细地址"
+                            android:hint="请输入货物名称"
                             android:textColor="#101010"
                             android:textColorHint="#BBBBBB"
                             android:textSize="@dimen/sp_15"></EditText>
@@ -311,6 +311,7 @@
                         android:background="#C2C2C2" />
 
                     <LinearLayout
+                        android:id="@+id/ll_driver"
                         android:layout_width="match_parent"
                         android:layout_height="40dp"
                         android:gravity="center"
@@ -326,6 +327,7 @@
                         </TextView>
 
                         <TextView
+                            android:id="@+id/tv_driver"
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_marginStart="@dimen/dp_10"

+ 33 - 21
app/src/main/res/layout/item_collection.xml

@@ -6,7 +6,7 @@
 
         <variable
             name="item"
-            type="com.quansu.heifengwuliu.model.Vehicle" />
+            type="com.quansu.heifengwuliu.model.DriverBean" />
 
     </data >
 
@@ -15,27 +15,44 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
         android:paddingLeft="@dimen/dp_10"
-        android:paddingTop="@dimen/dp_10"
+        android:background="#ffffff"
+        android:paddingTop="@dimen/dp_20"
+        android:paddingBottom="@dimen/dp_20"
+        android:layout_marginBottom="@dimen/dp_10"
         android:paddingRight="@dimen/dp_10" >
 
+
         <ImageView
             android:id="@+id/img_check"
-            android:layout_width="15dp"
-            android:layout_height="15dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:padding="10dp"
             android:layout_centerVertical="true"
-            android:padding="@dimen/dp_13"
-            android:src="@drawable/uncomplete" />
+            android:src="@{item.checked==0?@drawable/select_off:@drawable/select_on}"
+            >
+
+        </ImageView>
+
+<!--        <ImageView-->
+<!--            android:id="@+id/img_check"-->
+<!--            android:layout_width="15dp"-->
+<!--            android:layout_height="15dp"-->
+<!--            android:layout_centerVertical="true"-->
+<!--            android:src="@{item.checked==0?@drawable/select_off:@drawable/select_on}"-->
+<!--             />-->
 
         <ImageView
             android:id="@+id/img_icon"
-            android:layout_width="45dp"
-            android:layout_height="45dp"
+            android:layout_width="50dp"
+            android:layout_height="50dp"
             android:layout_centerVertical="true"
             android:layout_toEndOf="@id/img_check"
             android:padding="@dimen/dp_13"
-            android:src="@{item.checked==0?@drawable/uncomplete:@drawable/complete}"
-            tools:src="@mipmap/ic_launcher" />
+            android:background="@mipmap/ic_launcher"
+            app:url="@{item.avatar}"
+             />
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -57,7 +74,7 @@
                     android:layout_weight="1"
                     android:ellipsize="end"
                     android:maxLines="1"
-                    android:text="@{item.title}"
+                    android:text="@{item.name}"
                     android:textColor="@{item.checked==1?@color/text_hint:@color/text_black}"
                     android:textSize="@dimen/sp_16"
                     tools:text="@string/app_name" />
@@ -68,7 +85,7 @@
                     android:layout_height="wrap_content"
                     android:ellipsize="end"
                     android:maxLines="1"
-                    android:text="@{item.title}"
+                    android:text="@{item.mobile}"
                     android:textColor="@{item.checked==1?@color/text_hint:@color/text_black}"
                     android:textSize="@dimen/sp_16"
                     tools:text="@string/app_name" />
@@ -80,18 +97,13 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/dp_2"
-                android:text="@{item.create_time}"
+                android:text="@{item.number+item.car_cate}"
+
                 android:textColor="@{item.checked==1?@color/text_hint:@color/text_black}"
                 tools:text="@string/app_name" />
 
         </LinearLayout >
 
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:layout_alignParentBottom="true"
-            android:layout_marginLeft="@dimen/dp_20"
-            android:layout_marginTop="@dimen/dp_10"
-            android:background="@color/llGray" />
+
     </RelativeLayout >
-</layout >
+</layout >

+ 3 - 2
app/src/main/res/layout/item_order.xml

@@ -120,7 +120,8 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/dp_10"
-                android:text="平板货车 · 13米"
+
+                android:text="@{item.type_info.type_name +@string/spot+item.type_info.longx+@string/rice}"
                 app:layout_constraintBottom_toBottomOf="@id/img_vehicle"
                 app:layout_constraintStart_toEndOf="@id/img_vehicle"
                 app:layout_constraintTop_toTopOf="@id/img_vehicle" />
@@ -140,7 +141,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/dp_10"
-                android:text="@{item.receive[0].goods+item.receive[0].nums+item.receive[0].nums_type.name}"
+                android:text="@{item.receive[0].goods+@string/spot+item.receive[0].nums+item.receive[0].nums_type.name+@string/space+@string/total_img+item.receive[0].total}"
                 app:layout_constraintBottom_toBottomOf="@id/img_goods"
                 app:layout_constraintStart_toEndOf="@id/img_goods"
                 app:layout_constraintTop_toTopOf="@id/img_goods" />

+ 19 - 17
app/src/main/res/layout/item_outcar.xml

@@ -17,6 +17,9 @@
             name="position"
             type="Integer" />
 
+
+
+
     </data >
 
     <LinearLayout
@@ -128,7 +131,7 @@
                     android:layout_marginStart="35dp"
                     android:layout_weight="1"
                     android:background="@null"
-                    android:text="@{item.address}"
+                    android:text="@{vm.getContext(item.address)}"
                     android:hint="请输入详细地址"
                     android:textColor="#101010"
                     android:textColorHint="#BBBBBB"
@@ -161,16 +164,15 @@
 
 
             <TextView
-                android:id="@+id/tv_chose_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="35dp"
-                android:layout_marginTop="@dimen/dp_10"
-                android:text="@{item.time}"
-                android:onClick="@{v->vm.choseTime(position)}"
-                android:hint="点击选择卸货时间"
-                android:textColor="#5E5C5C"
-                android:textSize="@dimen/sp_15"></TextView>
+            android:id="@+id/tv_chose_time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="35dp"
+            android:layout_marginTop="@dimen/dp_10"
+            android:text="@{item.time}"
+            android:hint="点击选择卸货时间"
+            android:textColor="#5E5C5C"
+            android:textSize="@dimen/sp_15"></TextView>
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -203,7 +205,7 @@
                         android:layout_height="match_parent"
                         android:background="@null"
                         android:hint="姓名"
-                        android:text="@{item.name}"
+                        android:text="@{vm.getContext(item.name)}"
                         android:textColor="#101010"
                         android:textColorHint="#BBBBBB"
                         android:textSize="@dimen/sp_15">
@@ -235,7 +237,7 @@
                         android:background="@null"
                         android:hint="电话"
                         android:textColor="#101010"
-                        android:text="@{item.mobile}"
+                        android:text="@{vm.getContext(item.mobile)}"
                         android:textColorHint="#BBBBBB"
                         android:textSize="@dimen/sp_15">
 
@@ -271,7 +273,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginStart="@dimen/dp_10"
                     android:layout_weight="1"
-                    android:text="@{item.goods}"
+                    android:text="@{vm.getContext(item.goods)}"
                     android:background="@null"
                     android:gravity="center_vertical|right"
                     android:hint="请输入货物名"
@@ -348,7 +350,7 @@
                     android:gravity="center_vertical|right"
                     android:inputType="number|numberDecimal"
                     android:hint="请输入单车运输数量"
-                    android:text="@{item.nums}"
+                    android:text="@{vm.getContext(item.nums)}"
                     android:textColor="#101010"
                     android:textColorHint="#BBBBBB"
                     android:textSize="@dimen/sp_15"></EditText>
@@ -404,7 +406,7 @@
                     android:paddingEnd="@dimen/dp_10"
                     android:layout_weight="1"
                     android:background="@null"
-                    android:text="@{item.price}"
+                    android:text="@{vm.getContext(item.price)}"
                     android:gravity="center_vertical|right"
                     android:hint="请输入单价"
                     android:textColor="#101010"
@@ -440,7 +442,7 @@
                     android:gravity="center_vertical|right"
                     android:hint="请输入总金额"
                     android:paddingEnd="@dimen/dp_10"
-                    android:text="@{item.total}"
+                    android:text="@{vm.getContext(item.total)}"
                     android:textColor="#101010"
                     android:textColorHint="#BBBBBB"
                     android:textSize="@dimen/sp_15"></EditText>

+ 97 - 0
app/src/main/res/layout/widget_search.xml

@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <data >
+
+    </data >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="18dp"
+            android:layout_marginTop="12dp"
+            android:layout_marginRight="18dp"
+            android:layout_marginBottom="18dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                android:layout_width="0dp"
+                android:layout_height="40dp"
+                android:layout_weight="1"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:gravity="center_vertical"
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingRight="10dp"
+                app:qmui_backgroundColor="@color/white"
+                app:qmui_borderColor="#BEBEBE"
+                app:qmui_borderWidth="@dimen/dp_1"
+                app:qmui_radius="@dimen/dp_4">
+
+
+                <ImageView
+                    android:layout_width="13dp"
+                    android:layout_height="13dp"
+                    android:src="@drawable/stock_serch">
+
+                </ImageView>
+
+
+                <EditText
+                    android:id="@+id/et_name"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="15dp"
+                    android:layout_weight="1"
+                    android:background="@null"
+                    android:gravity="center_vertical"
+                    android:hint="请输入要搜索的内容"
+                    android:textColor="#2F2F31"
+                    android:textColorHint="#929390"
+                    android:textSize="14sp"></EditText>
+
+
+                <ImageView
+                    android:id="@+id/iv_delete"
+                    android:layout_width="14dp"
+                    android:layout_height="14dp"
+                    android:layout_marginLeft="10dp"
+                    android:src="@drawable/stock_delete">
+
+                </ImageView>
+
+
+            </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+            <TextView
+                android:id="@+id/tv_search"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="18dp"
+                android:gravity="center|left"
+                android:text="搜索"
+                android:textColor="#3274F6"
+                android:textSize="15sp">
+
+            </TextView>
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+
+</layout >
+
+
+

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

@@ -1,6 +1,5 @@
 <resources >
-    <string name="app_name" >黑蜂物流</string >
-
+    <string name="app_name" >鑫运必达</string >
     <string name="abc_action_bar_home_description" >Navigate home</string >
     <string name="abc_action_bar_home_description_format" >%1$s, %2$s</string >
     <string name="abc_action_bar_home_subtitle_description_format" >%1$s, %2$s, %3$s</string >
@@ -446,7 +445,10 @@ Api 已达到使用限制
     <string name="filter" >筛选</string >
     <string name="chose_city" >选择省份</string >
     <string name="total_img" >¥</string >
-    <string name="spot" >.</string >
+    <string name="spot" > · </string >
+    <string name="space" >  </string >
+    <string name="rice" >米</string >
+
 
 
 </resources >

+ 0 - 1
common-build.gradle

@@ -1,4 +1,3 @@
-apply plugin: 'kotlin-android-extensions'
 apply plugin: 'kotlin-android'
 apply plugin: 'kotlin-android-extensions'
 apply plugin: 'kotlin-kapt'

+ 1 - 0
gaode/build.gradle

@@ -48,6 +48,7 @@ dependencies {
     implementation 'com.amap.api:location:latest.integration' //定位功能
     implementation 'com.amap.api:search:latest.integration' //搜索功能
     implementation 'com.amap.api:3dmap:latest.integration'//3D地图
+
     implementation 'com.githang:status-bar-compat:0.7'
     //2D地图
    // implementation 'com.amap.api:map2d:latest.integration'

+ 15 - 15
gaode/proguard-rules.pro

@@ -20,28 +20,28 @@
 # hide the original source file name.
 #-renamesourcefileattribute SourceFile
 #3D 地图 V5.0.0之前:
-    -keep   class com.amap.api.maps.**{*;}
-    -keep   class com.autonavi.amap.mapcore.*{*;}
-    -keep   class com.amap.api.trace.**{*;}
+-keep   class com.amap.api.maps.**{*;}
+-keep   class com.autonavi.amap.mapcore.*{*;}
+-keep   class com.amap.api.trace.**{*;}
 
 #    3D 地图 V5.0.0之后:
-    -keep   class com.amap.api.maps.**{*;}
-    -keep   class com.autonavi.**{*;}
-    -keep   class com.amap.api.trace.**{*;}
+-keep   class com.amap.api.maps.**{*;}
+-keep   class com.autonavi.**{*;}
+-keep   class com.amap.api.trace.**{*;}
 
 #    定位
-    -keep class com.amap.api.location.**{*;}
-    -keep class com.amap.api.fence.**{*;}
-    -keep class com.loc.**{*;}
-    -keep class com.autonavi.aps.amapapi.model.**{*;}
+-keep class com.amap.api.location.**{*;}
+-keep class com.amap.api.fence.**{*;}
+-keep class com.loc.**{*;}
+-keep class com.autonavi.aps.amapapi.model.**{*;}
 
 #    搜索
-    -keep   class com.amap.api.services.**{*;}
+-keep   class com.amap.api.services.**{*;}
 
 #    2D地图
-    -keep class com.amap.api.maps2d.**{*;}
-    -keep class com.amap.api.mapcore2d.**{*;}
+-keep class com.amap.api.maps2d.**{*;}
+-keep class com.amap.api.mapcore2d.**{*;}
 
 #    导航
-    -keep class com.amap.api.navi.**{*;}
-    -keep class com.autonavi.**{*;}
+-keep class com.amap.api.navi.**{*;}
+-keep class com.autonavi.**{*;}