石慧云 4 лет назад
Родитель
Сommit
a67de4a724

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

@@ -99,6 +99,10 @@ class AddressAddActivity : MBActivity<AddressAddVModel, ActivityAddressaddBindin
 
 //        var provincename = bean.provincename
 
+        var name =bean.provincename+bean.cityname+bean.areaname
+
+        vm.setCityMapValue(bean.areacode, name)
+
         vm.setMapValue(bean.latitude,bean.longitude,bean.position)
 
 

+ 281 - 55
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerSingleFragment.kt

@@ -6,17 +6,20 @@ import android.content.Intent
 import android.graphics.Color
 import android.graphics.Typeface
 import android.os.Bundle
+import android.text.Editable
+import android.text.TextUtils
+import android.text.TextWatcher
 import android.view.LayoutInflater
 import android.view.ViewGroup
-import android.widget.*
+import android.widget.FrameLayout
+import android.widget.TextView
 import androidx.fragment.app.Fragment
-import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.Observer
+import com.google.gson.Gson
 import com.hwangjr.rxbus.annotation.Subscribe
 import com.hwangjr.rxbus.annotation.Tag
 import com.qmuiteam.qmui.layout.QMUIFrameLayout
 import com.qmuiteam.qmui.skin.QMUISkinHelper
-import com.qmuiteam.qmui.skin.QMUISkinManager
 import com.qmuiteam.qmui.skin.QMUISkinValueBuilder
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
 import com.qmuiteam.qmui.util.QMUIResHelper
@@ -36,6 +39,9 @@ import com.quansu.heifengwuliu.databinding.FragmentOwnersingleBinding
 import com.quansu.heifengwuliu.inte.ChoiceData
 import com.quansu.heifengwuliu.model.AddressBean
 import com.quansu.heifengwuliu.model.DataInfoBean
+import com.quansu.heifengwuliu.model.bean.ReceiveBean
+import com.quansu.heifengwuliu.model.bean.SendBean
+import com.quansu.heifengwuliu.utils.PopuListUtils
 import com.quansu.heifengwuliu.utils.PopupUtils
 import com.quansu.heifengwuliu.vmodel.OwnerSingleVModel
 import com.yanzhenjie.permission.AndPermission
@@ -45,8 +51,7 @@ import com.ysnows.base.model.PositionBean
 import com.ysnows.base.route.IGaode
 import com.ysnows.base.utils.B
 import com.ysnows.base.utils.UiSwitch
-import kotlinx.android.synthetic.main.item_address.view.*
-import java.security.acl.Owner
+import java.text.DecimalFormat
 
 /**
  * 一装一卸
@@ -58,10 +63,33 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
     private var type = 1// 1:/装货 2卸货
 
     private var selectViewpage = 0
-    private var info_id="0"
-    var goodsTypeList= ArrayList<String>()
+    var goodsTypeList = ArrayList<String>()
     var numsTypeList = ArrayList<String>()
 
+    var insurance = ArrayList<String>()
+
+    var is_agree = 1//默认 已阅读运输协议
+    var is_public = 1//默认 发布到货源大厅
+    var is_insurance = 0//默认  不够买保险
+
+
+    //出
+    var lat_out: String = ""
+    var lng_out: String = ""
+    var province_out: String = ""
+    var city_out: String = ""
+    var area_out: String = ""
+    var time_out: String = ""
+
+    //入
+    var lat_in: String = ""
+    var lng_in: String = ""
+    var province_in: String = ""
+    var city_in: String = ""
+    var area_in: String = ""
+    var time_in: String = ""
+
+    var info_id:String="0"
 
 
     override fun init(savedInstanceState: Bundle?) {
@@ -88,10 +116,13 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
         super.listeners()
         binding.tvPublish.setOnClickListener {
             //发布
+            judgeValue()
+
+            return@setOnClickListener
 
-           // var mNormalPopup = QMUIPopups.popup(context, QMUIDisplayHelper.dp2px(getContext(), 250))
+            // var mNormalPopup = QMUIPopups.popup(context, QMUIDisplayHelper.dp2px(getContext(), 250))
 
-            var mNormalPopup=QMUIPopups.fullScreenPopup(context)
+            var mNormalPopup = QMUIPopups.fullScreenPopup(context)
             val builder: QMUISkinValueBuilder = QMUISkinValueBuilder.acquire()
             val frameLayout = QMUIFrameLayout(context)
             frameLayout.background = QMUIResHelper.getAttrDrawable(context, R.attr.qmui_skin_support_popup_bg)
@@ -125,57 +156,225 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
             mNormalPopup.show(binding.tvPublish)
 
 
+        }
+
+        binding.llChoseUnits.setOnClickListener {
+
+            PopuListUtils.showQMUIPopup(context(), binding.llChoseUnits, numsTypeList, object : ChoiceData {
+                override fun onRestuse(name: String?) {
+                    vm.unit.value = name
+                }
+            })
+        }
+
+
+        binding.llGoodsType.setOnClickListener {
+            PopuListUtils.showQMUIPopup(context(), binding.llGoodsType, goodsTypeList, object : ChoiceData {
+                override fun onRestuse(name: String?) {
+                    vm.goodstype.value = name
+                }
+            })
+        }
+
+        binding.llIsInsurance.setOnClickListener {
+
+            PopuListUtils.showQMUIPopup(context(), binding.llGoodsType, insurance, object : ChoiceData {
+                override fun onRestuse(name: String?) {
+                    vm.insurance.value = name
+                    is_insurance = if (name.equals("是")) 1 else 0
+
+                }
+            })
+        }
+        binding.llAgree.setOnClickListener {
 
+            is_agree = if (is_agree == 1) 0 else 1
+            vm.isAgree.value = is_agree
         }
 
-        binding.llChoseUnits.setOnClickListener{
-            var mNormalPopup: QMUIPopup? =null
-            val adapter: ArrayAdapter<*> = ArrayAdapter<Any?>(repository().context,  android.R.layout.simple_list_item_1, numsTypeList as List<String>)
-            val onItemClickListener = AdapterView.OnItemClickListener { adapterView, view, i, l ->
+        binding.llPublic.setOnClickListener {
 
-                vm.unit.value=numsTypeList[i]
+            is_public = if (is_public == 1) 0 else 1
+            vm.isPush.value = is_public
+
+        }
+
+
+        binding.etSingCarNums.addTextChangedListener(object : TextWatcher {
+            override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
+            override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
+            override fun afterTextChanged(editable: Editable) {
+                var nums = editable.toString().trim()
+                if (TextUtils.isEmpty(nums)) {
+                    nums = "0"
+                }
+                sumTotal(1, nums)
 
-                mNormalPopup?.dismiss()
             }
-            mNormalPopup= QMUIPopups.listPopup(repository().context,
-                    QMUIDisplayHelper.dp2px(repository().context, 250),
-                    QMUIDisplayHelper.dp2px(repository().context, 300),
-                    adapter,
-                    onItemClickListener)
-                    .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
-                    .preferredDirection(QMUIPopup.DIRECTION_TOP)
-                    .shadow(true)
-                    .offsetYIfTop(QMUIDisplayHelper.dp2px(repository().context, 5))
-                    .skinManager(QMUISkinManager.defaultInstance(repository().context))
-                    .onDismiss {
+        })
+
+        binding.etSingCarPrice.addTextChangedListener(object : TextWatcher {
+            override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
+            override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
+            override fun afterTextChanged(editable: Editable) {
+                var price = editable.toString().trim()
+                if (TextUtils.isEmpty(price)) {
+                    price = "0"
+                }
+                sumTotal(2, price)
+
+            }
+        })
+
+
+    }
+
+
+    private fun judgeValue() {
+        if (TextUtils.isEmpty(province_out)) {
+            toast("请选择装货地址!")
+            return
 
-                    }
-                    .show(binding.llChoseUnits);
         }
+        var name_out = binding.viewOut.etName.text.toString().trim()
+        if (TextUtils.isEmpty(name_out)) {
+            toast("请输入发货人!")
+            return
+        }
+        var mobile_out = binding.viewOut.etPhone.text.toString().trim()
+        if (TextUtils.isEmpty(mobile_out)) {
+            toast("请输入发货人电话!")
+            return
+        }
+        if (TextUtils.isEmpty(time_out)) {
+            toast("请输入装货时间")
+            return
+        }
+
+        var address_out = binding.viewOut.etDetailedAddress.text.toString().trim()
+
+        var sendBean = SendBean(lat_out, lng_out, province_out, city_out, address_out, address_out, name_out, mobile_out, time_out, "0")
+
+
+        if (TextUtils.isEmpty(province_in)) {
+            toast("请选择卸货地址!")
+            return
+
+        }
+        var name_in = binding.viewEnter.etName.text.toString().trim()
+        if (TextUtils.isEmpty(name_in)) {
+            toast("请输入卸货人!")
+            return
+        }
+        var mobile_in = binding.viewEnter.etPhone.text.toString().trim()
+        if (TextUtils.isEmpty(mobile_in)) {
+            toast("请输入卸货人电话!")
+            return
+        }
+        if (TextUtils.isEmpty(time_in)) {
+            toast("请输入卸货时间")
+            return
+        }
+
+        if (TextUtils.isEmpty(vm.goodstype.value.toString())) {
+            toast("请选择货物类型")
+            return
+        }
+        if (TextUtils.isEmpty(vm.unit.value.toString())) {
+            toast("请选择单车运量单位")
+            return
+        }
+
+        var nums = binding.etSingCarNums.text.toString().trim()
+
+        if (TextUtils.isEmpty(vm.unit.value.toString())) {
+            toast("请输入单车运量数量")
+            return
+        }
+        var price = binding.etSingCarPrice.text.toString().trim()
+        var total = binding.etSingCarTotal.text.toString().trim()
+        if (TextUtils.isEmpty(vm.unit.value.toString())) {
+            toast("请输入总金额")
+            return
+        }
+        if (TextUtils.isEmpty(time_in)) {
+            toast("请输入卸货时间")
+            return
+        }
+        var address_in = binding.viewEnter.etDetailedAddress.text.toString().trim()
+
+        var receiveBean = ReceiveBean(lat_in, lng_in, province_in, city_in, address_in, address_in, name_in, mobile_in, time_in, "1",
+                "", vm.goodstype.value.toString(), nums, vm.unit.value.toString(), price, total
+        )
+
+        if (is_agree==0) {
+            toast("请阅读并同意《平台运输协议》")
+            return
+        }
+        var carnums=binding.etCarNums.text.toString()
+        if(TextUtils.isEmpty(carnums)){
+            toast("请输入所需车辆数量")
+            return
+        }
+        var data=binding.etData.text.toString()
+        var send= Gson().toJson(sendBean)
+        var receive= Gson().toJson(receiveBean)
+
+        vm.setReleaseSource(info_id,total,"",carnums,is_public.toString(),is_insurance.toString(),"1",
+               data,send,receive)
+
+    }
+
+
+    /**
+     * type:1单车运量 2单价
+     * value:输入的值
+     * @return
+     */
+    private fun sumTotal(type: Int, value: String) {
+        var df = DecimalFormat("0.00")
+        var total = "0"
+        if (type == 1) {//数量
+            var price = binding.etSingCarPrice.text.toString().trim()
+            if (TextUtils.isEmpty(price)) {
+                price = "0"
+            }
+            total = df.format(value.toDouble() * price.toDouble())
+        } else {//价格
+            var nums = binding.etSingCarNums.text.toString().trim()
+            if (TextUtils.isEmpty(nums)) {
+                nums = "0"
+            }
+            var df = DecimalFormat("0.00");
+            total = df.format(nums.toDouble() * value.toDouble())
+
+        }
+        binding.etSingCarTotal.setText(total)
 
 
     }
 
-    private fun getData(){
+
+    private fun getData() {
         //获取信息
         vm.getDataInfo(info_id);
 
     }
 
 
-    private fun initTab(info:DataInfoBean) {
-        if(null!=info.car_type){
-            for(item in info.car_type){
+    private fun initTab(info: DataInfoBean) {
+        if (null != info.car_type) {
+            for (item in info.car_type) {
                 cats.add(item.type_name)
             }
         }
 
         //设置viewpager
         val fragments = ArrayList<Fragment>()
-        var index=0
+        var index = 0
         for (cat in cats) {
             var ownerImgFragment = OwnerImgFragment()
-            ownerImgFragment.arguments = B().putString("img",info.car_type[index].type_img ).ok()
+            ownerImgFragment.arguments = B().putString("img", info.car_type[index].type_img).ok()
             fragments.add(ownerImgFragment)
             index++
         }
@@ -250,6 +449,10 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
 
     private fun initData() {
 
+
+        insurance.add("是")
+        insurance.add("否")
+
         //卸货信息
         binding.viewEnter.tvCity.setHint("请选择卸货地址")
         binding.viewEnter.llChoseMap.setOnClickListener {
@@ -291,16 +494,20 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
         binding.viewEnter.tvChoseTime.setOnClickListener {
             //选择时间
             PopupUtils.setChoseTime(context, binding.viewEnter.tvChoseTime, object : ChoiceData {
-                override fun onRestuse(id: String?) {
-
+                override fun onRestuse(time: String?) {
+                    if (time != null) {
+                        time_in = time
+                    }
                 }
             })
         }
 
         binding.viewOut.tvChoseTime.setOnClickListener {
             PopupUtils.setChoseTime(context, binding.viewOut.tvChoseTime, object : ChoiceData {
-                override fun onRestuse(id: String?) {
-
+                override fun onRestuse(time: String?) {
+                    if (time != null) {
+                        time_out = time
+                    }
                 }
             })
         }
@@ -315,46 +522,52 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
             val bundle = data!!.extras
             if (null != bundle) {
                 var name = bundle.getString("name")
-                var province_code = bundle.getString("province_code")
-                var city_code = bundle.getString("city_code")
-                var area_code = bundle.getString("area_code")
                 if (type == 1) {
+
+                    area_out = bundle.getString("area_code")
+                    province_out = bundle.getString("province_code")
+                    city_out = bundle.getString("city_code")
+
                     binding.viewOut.tvCity.text = name
                 } else {
+                    area_in = bundle.getString("area_code")
+                    province_in = bundle.getString("province_code")
+                    city_in = bundle.getString("city_code")
+
                     binding.viewEnter.tvCity.text = name
                 }
 
             }
-           return
+            return
 
         }
 
-        if( MIntentAction.REQUEST_CODE_ONE==requestCode && resultCode == Activity.RESULT_OK){
+        if (MIntentAction.REQUEST_CODE_ONE == requestCode && resultCode == Activity.RESULT_OK) {
             val bundle = data!!.extras
-            if(null!=bundle){
-                var item=bundle.getSerializable("item") as AddressBean
+            if (null != bundle) {
+                var item = bundle.getSerializable("item") as AddressBean
                 //todo
-                if(type==1){
-                    binding.viewOut.tvCity.text=item.province?.name+ item.city?.name+item.area?.name
+                if (type == 1) {
+                    binding.viewOut.tvCity.text = item.province?.name + item.city?.name + item.area?.name
                     binding.viewOut.etDetailedAddress.setText(item.address)
-                    binding.viewOut.tvChoseTime.text=item.create_time
+                    binding.viewOut.tvChoseTime.text = item.create_time
                     binding.viewOut.etName.setText(item.name)
                     binding.viewOut.etPhone.setText(item.mobile)
 
                     var province_code = item.province?.code
                     var city_code = item.city?.code
-                    var area_code =item.area?.code
-                }else{
+                    var area_code = item.area?.code
+                } else {
 
-                    binding.viewEnter.tvCity.text=item.province?.name+ item.city?.name+item.area?.name
+                    binding.viewEnter.tvCity.text = item.province?.name + item.city?.name + item.area?.name
                     binding.viewEnter.etDetailedAddress.setText(item.address)
-                    binding.viewEnter.tvChoseTime.text=item.create_time
+                    binding.viewEnter.tvChoseTime.text = item.create_time
                     binding.viewEnter.etName.setText(item.name)
                     binding.viewEnter.etPhone.setText(item.mobile)
 
                     var province_code = item.province?.code
                     var city_code = item.city?.code
-                    var area_code =item.area?.code
+                    var area_code = item.area?.code
 
                 }
 
@@ -365,7 +578,6 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
         }
 
 
-
     }
 
 
@@ -411,15 +623,29 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
         var latitude = bean.latitude
         var longitude = bean.longitude
         if (type == 2) {
+
+            lat_in = bean.latitude
+            lng_in = bean.longitude
+            area_in = bean.areacode
+            province_in = bean.areacode.substring(0, 2) + "0000"
+            city_in = bean.areacode.substring(0, 4) + "00"
+
             binding.viewEnter.etDetailedAddress.setText(bean.position)
             binding.viewEnter.tvCity.text = bean.provincename + bean.cityname + bean.areaname
         } else {
+
+            lat_out = bean.latitude
+            lng_out = bean.longitude
+            area_out = bean.areacode
+            province_out = bean.areacode.substring(0, 2) + "0000"
+            city_out = bean.areacode.substring(0, 4) + "00"
+
+
             binding.viewOut.etDetailedAddress.setText(bean.position)
             binding.viewOut.tvCity.text = bean.provincename + bean.cityname + bean.areaname
         }
 
 
-
     }
 
 

+ 13 - 0
app/src/main/java/com/quansu/heifengwuliu/model/bean/ReceiveBean.kt

@@ -0,0 +1,13 @@
+package com.quansu.heifengwuliu.model.bean
+
+/**
+ * 发布货源
+ *Created by shihuiyun
+ *on 2020/9/14
+ */
+data class ReceiveBean (var lat: String, var lng: String, var province: String, var city:String,
+                        var area:String, var address:String, var name:String, var mobile:String,
+                        var time:String,var type:String,
+                        var goods:String,var goods_type:String,var nums:String,
+                        var nums_type:String,var price:String,var total:String){
+}

+ 10 - 0
app/src/main/java/com/quansu/heifengwuliu/model/bean/SendBean.kt

@@ -0,0 +1,10 @@
+package com.quansu.heifengwuliu.model.bean
+
+/**
+ * 发布货源
+ *Created by shihuiyun
+ *on 2020/9/14
+ */
+data class SendBean (var lat: String, var lng: String,var province: String,var city:String,
+var area:String,var address:String,var name:String ,var mobile:String,var time:String,var type:String){
+}

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

@@ -0,0 +1,47 @@
+package com.quansu.heifengwuliu.utils
+
+import android.content.Context
+import android.view.View
+import android.widget.AdapterView
+import android.widget.ArrayAdapter
+import com.qmuiteam.qmui.skin.QMUISkinManager
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+import com.qmuiteam.qmui.widget.popup.QMUIPopup
+import com.qmuiteam.qmui.widget.popup.QMUIPopups
+import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.inte.ChoiceData
+
+/**
+ *Created by shihuiyun
+ *on 2020/9/14
+ */
+object PopuListUtils{
+
+    fun showQMUIPopup(context:Context, view: View, data: ArrayList<String>, choseData: ChoiceData){
+        var mNormalPopup: QMUIPopup? =null
+        val adapter: ArrayAdapter<*> = ArrayAdapter<Any?>(context,  R.layout.simple_list_item, data as List<String>)
+        val onItemClickListener = AdapterView.OnItemClickListener { adapterView, view, i, l ->
+
+            if(null!=choseData) {
+                choseData.onRestuse(data[i])
+            }
+
+            mNormalPopup?.dismiss()
+        }
+        mNormalPopup= QMUIPopups.listPopup(context,
+                QMUIDisplayHelper.dp2px(context, 250),
+                QMUIDisplayHelper.dp2px(context, 300),
+                adapter,
+                onItemClickListener)
+                .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
+                .preferredDirection(QMUIPopup.DIRECTION_TOP)
+                .shadow(true)
+                .offsetYIfTop(QMUIDisplayHelper.dp2px(context, 5))
+                .skinManager(QMUISkinManager.defaultInstance(context))
+                .onDismiss {
+
+                }
+                .show(view)
+    }
+
+}

+ 11 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/AddressAddVModel.kt

@@ -58,6 +58,17 @@ open class AddressAddVModel : BViewModel<BRepository>() {
 
     }
 
+    fun setCityMapValue( area_code: String, name: String) {
+
+        area = area_code
+        cityname.value = name
+        //371312区   370000省  371300市
+        province = area.substring(0,2)+"0000"
+        city = area.substring(0,4)+"00"
+
+
+    }
+
 
     @Bindable
     open var name: String? = null

+ 27 - 0
app/src/main/java/com/quansu/heifengwuliu/vmodel/OwnerSingleVModel.kt

@@ -10,9 +10,23 @@ import com.ysnows.base.base.BViewModel
 open class OwnerSingleVModel : BViewModel<BRepository>() {
 
     var unit: MutableLiveData<String> = MutableLiveData()
+    var goodstype: MutableLiveData<String> = MutableLiveData()
+
+    var insurance: MutableLiveData<String> = MutableLiveData()
+
+    var isPush: MutableLiveData<Int> = MutableLiveData(isPushValue)
+    var isAgree: MutableLiveData<Int> = MutableLiveData(isPushValue)
+
     val info: MutableLiveData<DataInfoBean> = MutableLiveData<DataInfoBean>()
 
 
+    companion object {
+
+        const val isPushValue = 1
+
+    }
+
+
     fun choseUnits() {
         //选择单车运量
 
@@ -49,8 +63,21 @@ open class OwnerSingleVModel : BViewModel<BRepository>() {
                 .subscribe()
 
 
+    }
+
+
+
+    fun setReleaseSource(info_id:String,total:String,driver:String,
+                         nums:String,is_public:String,is_insurance:String,
+                         type:String,data:String,send:String,receive:String
+    ){
+        //todo:发布货源
+
 
     }
 
 
+
+
+
 }

BIN
app/src/main/res/drawable-xxhdpi/ic_chose_off.png


BIN
app/src/main/res/drawable-xxhdpi/ic_chose_on.png


+ 23 - 11
app/src/main/res/layout/fragment_ownersingle.xml

@@ -2,7 +2,6 @@
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools">
-
     <data>
 
         <variable
@@ -17,11 +16,6 @@
         android:background="@color/white"
         android:orientation="vertical">
 
-<!--        <ScrollView-->
-<!--            android:layout_width="match_parent"-->
-<!--            android:layout_height="match_parent"-->
-<!--            android:scrollbars="none">-->
-
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -35,7 +29,6 @@
                     android:gravity="center_vertical"
                     android:orientation="horizontal">
 
-
                     <com.qmuiteam.qmui.widget.tab.QMUITabSegment
                         android:id="@+id/tabs"
                         android:layout_width="0dp"
@@ -157,6 +150,7 @@
                     </LinearLayout>
 
                     <LinearLayout
+                        android:id="@+id/ll_goods_type"
                         android:layout_width="match_parent"
                         android:layout_height="40dp"
                         android:gravity="center"
@@ -179,11 +173,13 @@
                             android:layout_weight="1"
                             android:gravity="center_vertical|right"
                             android:hint="请选择货物类型"
+                            android:text="@{vm.goodstype}"
                             android:textColor="#101010"
                             android:textColorHint="#BBBBBB"
                             android:textSize="@dimen/sp_15"></TextView>
 
 
+
                         <ImageView
                             style="@style/mine_arrow_right"
                             android:src="@drawable/mine_right" />
@@ -208,15 +204,16 @@
                         </TextView>
 
                         <EditText
+                            android:id="@+id/et_sing_car_nums"
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_marginStart="@dimen/dp_10"
                             android:layout_weight="1"
                             android:background="@null"
                             android:gravity="center_vertical|right"
+                            android:inputType="number|numberDecimal"
                             android:hint="请输入单车运输数量"
                             android:textColor="#101010"
-                            android:text="@{vm.unit}"
                             android:textColorHint="#BBBBBB"
                             android:textSize="@dimen/sp_15"></EditText>
 
@@ -234,6 +231,8 @@
                                 android:layout_marginStart="@dimen/dp_10"
                                 android:layout_marginEnd="@dimen/dp_10"
                                 android:hint="请选择单位"
+                                android:gravity="right"
+                                android:text="@{vm.unit}"
                                 android:textColor="#101010"
                                 android:textColorHint="#BBBBBB"
                                 android:textSize="@dimen/sp_15"></TextView>
@@ -261,6 +260,7 @@
                         </TextView>
 
                         <EditText
+                            android:id="@+id/et_sing_car_price"
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_marginStart="@dimen/dp_10"
@@ -292,6 +292,7 @@
                         </TextView>
 
                         <EditText
+                            android:id="@+id/et_sing_car_total"
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_marginStart="@dimen/dp_10"
@@ -326,6 +327,7 @@
                     app:qmui_radius="@dimen/dp_2">
 
                     <LinearLayout
+                        android:id="@+id/ll_is_insurance"
                         android:layout_width="match_parent"
                         android:layout_height="40dp"
                         android:gravity="center"
@@ -348,6 +350,7 @@
                             android:layout_weight="1"
                             android:gravity="center_vertical|right"
                             android:hint="请选择"
+                            android:text="@{vm.insurance}"
                             android:textColor="#101010"
                             android:textColorHint="#BBBBBB"
                             android:textSize="@dimen/sp_15"></TextView>
@@ -439,6 +442,7 @@
                         app:qmui_radius="@dimen/dp_2">
 
                         <EditText
+                            android:id="@+id/et_data"
                             android:layout_width="match_parent"
                             android:layout_height="match_parent"
                             android:background="@null"
@@ -456,6 +460,7 @@
 
 
                 <LinearLayout
+                    android:id="@+id/ll_agree"
                     android:layout_width="match_parent"
                     android:layout_height="40dp"
                     android:layout_marginStart="@dimen/dp_12"
@@ -465,10 +470,12 @@
                     android:orientation="horizontal">
 
                     <ImageView
+                        android:id="@+id/iv_agree"
                         android:layout_width="20dp"
                         android:layout_height="20dp"
                         android:layout_marginEnd="@dimen/dp_10"
-                        android:src="@drawable/ic_math" />
+                        android:src="@{vm.isAgree==0?@drawable/ic_chose_off:@drawable/ic_chose_on,default=@drawable/ic_chose_on}"
+                        />
 
                     <TextView
                         android:layout_width="wrap_content"
@@ -492,6 +499,7 @@
                 </LinearLayout>
 
                 <LinearLayout
+                    android:id="@+id/ll_public"
                     android:layout_width="match_parent"
                     android:layout_height="40dp"
                     android:layout_marginStart="@dimen/dp_12"
@@ -500,10 +508,13 @@
                     android:orientation="horizontal">
 
                     <ImageView
+                        android:id="@+id/iv_public"
                         android:layout_width="20dp"
                         android:layout_height="20dp"
                         android:layout_marginEnd="@dimen/dp_10"
-                        android:src="@drawable/ic_math" />
+                        android:src="@{vm.isPush==0?@drawable/ic_chose_off:@drawable/ic_chose_on,default=@drawable/ic_chose_on}"
+                        />
+
 
                     <TextView
                         android:layout_width="wrap_content"
@@ -545,12 +556,14 @@
                         android:gravity="center">
 
                         <EditText
+                            android:id="@+id/et_car_nums"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:background="@null"
                             android:gravity="center"
                             android:hint="请输入所需车辆数目"
                             android:textColor="#101010"
+                            android:text="1"
                             android:textColorHint="#BBBBBB"
                             android:textSize="@dimen/sp_15"></EditText>
 
@@ -579,6 +592,5 @@
 
 
             </LinearLayout>
-<!--        </ScrollView>-->
     </LinearLayout>
 </layout>

+ 10 - 0
app/src/main/res/layout/simple_list_item.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/text1"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:textAppearance="?android:attr/textAppearanceListItemSmall"
+    android:gravity="center"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall" />

+ 9 - 1
base/src/main/java/com/ysnows/base/model/PositionBean.java

@@ -13,14 +13,22 @@ public class PositionBean {
     public String cityname;
     public String areaname;
 
+    public String areacode;
+
+
 
     public PositionBean(String position, String latitude, String longitude,
-                        String provincename, String cityname, String areaname ) {
+                        String provincename, String cityname, String areaname ,
+                        String areacode) {
         this.position = position;
         this.latitude = latitude;
         this.longitude = longitude;
         this.provincename=provincename;
         this.cityname=cityname;
         this.areaname=areaname;
+
+        this.areacode=areacode;
+
+
     }
 }

+ 4 - 1
gaode/src/main/java/com/quansu/gaode/activity/GaodeActivity.java

@@ -603,7 +603,10 @@ public class GaodeActivity extends AppCompatActivity implements LocationSource,
                 if(isChose){
 
                     PositionBean positionBean = new PositionBean(chosepoiItem.getTitle(),
-                    String.valueOf(lat),  String.valueOf(lng), result.getRegeocodeAddress().getProvince(), result.getRegeocodeAddress().getCity(), result.getRegeocodeAddress().getDistrict());
+                    String.valueOf(lat),  String.valueOf(lng), result.getRegeocodeAddress().getProvince(), result.getRegeocodeAddress().getCity(),
+                            result.getRegeocodeAddress().getDistrict(),
+                             result.getRegeocodeAddress().getAdCode()
+                    );
 
                     String address = result.getRegeocodeAddress().getProvince() +
                             result.getRegeocodeAddress().getCity() +