diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b467e84..efe7ad6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -122,6 +122,12 @@
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
+
+
(),
addressId = it.getString(AppConfig.ID,"")
}
-
-// var datas = mutableListOf(
-// AddressBean(),
-// AddressBean(),
-// AddressBean()
-// )
-// binding.recycler.run {
-// layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false)
-// addItemDecoration(
-// RecycleViewDivider(
-// LinearLayout.VERTICAL,
-// ConvertUtils.dp2px(14.0f),
-// Color.TRANSPARENT
-// )
-// )
-// adapter = SendGoodsAdapter()
-// adapter as SendGoodsAdapter
-// }.submitList(datas)
-
binding.run {
tvSSQ.setOnClickListener(OnLimitClickHelper(this@AddressEditOrAddActivity))
tvClear.setOnClickListener {
diff --git a/app/src/main/java/com/dhsd/glowner/ui/address/AddressOnlyEditActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/AddressOnlyEditActivity.kt
new file mode 100644
index 0000000..52c9727
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/ui/address/AddressOnlyEditActivity.kt
@@ -0,0 +1,218 @@
+package com.dhsd.glowner.ui.address
+
+import BaseObserver
+import DataManager
+import RxHttpCallBack
+import android.app.Activity
+import android.content.Intent
+import android.graphics.Color
+import android.os.Bundle
+import android.text.TextUtils
+import android.view.View
+import android.widget.LinearLayout
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.widget.addTextChangedListener
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.dahe.gldriver.base.AppConfig
+import com.dahe.glex.bean.WayBillBean
+import com.dahe.mylibrary.base.BaseActivity
+import com.dahe.mylibrary.net.CommonResponseBean
+import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider
+import com.dahe.mylibrary.utils.ActivityUtils
+import com.dahe.mylibrary.utils.ConvertUtils
+import com.dahe.mylibrary.utils.PickerUtils
+import com.dahe.mylibrary.utils.ToastUtils
+import com.dahe.mylibrary.weight.SwitchView
+import com.dhsd.glowner.R
+import com.dhsd.glowner.adapter.SendGoodsAdapter
+import com.dhsd.glowner.bean.AddressBean
+import com.dhsd.glowner.bean.PostAddressBean
+import com.dhsd.glowner.databinding.ActivityAddressEditBinding
+import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity
+import com.dhsd.glowner.utils.OnLimitClickHelper
+import com.dhsd.glowner.utils.OnLimitClickListener
+import com.google.gson.Gson
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
+import io.reactivex.rxjava3.schedulers.Schedulers
+
+/**
+ * @ClassName AddresEditActivity
+ * @Author john
+ * @Date 2024/2/4 10:44
+ * @Description 新增装卸货地址或编辑->不保存数据库
+ */
+class AddressOnlyEditActivity : BaseActivity(),
+ OnLimitClickListener {
+ private lateinit var addressBean: AddressBean
+
+ private val launcher =
+ registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+ if (result.resultCode == AppCompatActivity.RESULT_OK) {
+ result.data?.extras?.let {
+ val postBean = it.getString(AppConfig.BEAN)
+ if (postBean != null) {
+ val inAddressBean = Gson().fromJson(postBean, PostAddressBean::class.java)
+ val inAreaCode = inAddressBean.areaCode
+ inAddressBean.run {
+ provinceCode = inAreaCode.subSequence(0, 3).toString().plus("000")
+ cityCode = inAreaCode.subSequence(0, 4).toString().plus("00")
+ }
+
+ addressBean?.run {
+ addressDetail = inAddressBean.addressDetail
+ areaCode = inAddressBean.areaCode
+ area = inAddressBean.area
+ city = inAddressBean.city
+ province = inAddressBean.province
+ provinceCode = inAddressBean.provinceCode
+ cityCode = inAddressBean.cityCode
+ contactPerson = inAddressBean.contactPerson
+ contactNumber = inAddressBean.contactNumber
+ idCard = inAddressBean.idCard
+ }
+
+ initViewByData(addressBean)
+ }
+ }
+ }
+ }
+
+
+ override fun initView(savedInstanceState: Bundle?) {
+ setStatusBarColor(R.color.white)
+ setTitleBar("地址信息", { finish() }, true, "地图选点") {
+ launcher.launch(Intent(mContext, ChoiceAddressByMapActivity::class.java))
+ }
+
+ intent.extras?.let {
+ val string = it.getString(AppConfig.BEAN, "")
+ addressBean = Gson().fromJson(string, AddressBean::class.java)
+ if (::addressBean.isInitialized&&!TextUtils.isEmpty(addressBean.addressDetail)){
+ initViewByData(addressBean)
+ }
+ }
+
+ binding.run {
+ tvSSQ.setOnClickListener(OnLimitClickHelper(this@AddressOnlyEditActivity))
+ tvClear.setOnClickListener {
+ etAddressDetail.setText("")
+ if (::addressBean.isInitialized && addressBean.addressDetail.isNotEmpty()) {
+ addressBean.addressDetail = ""
+ }
+ }
+ btnOk.setOnClickListener(OnLimitClickHelper(this@AddressOnlyEditActivity))
+
+ etAddressDetail.addTextChangedListener { text ->
+// if (text?.length != 0) {
+// val inputquery = InputtipsQuery(text, "")
+// val inputTips = Inputtips(this, inputquery)
+// }
+ }
+
+ mySwitch.setOnStateChangedListener2 {
+ changeAddressType(it)
+ }
+
+ }
+
+
+ }
+
+ override fun onClick(view: View?) {
+ super.onClick(view)
+ when (view?.id) {
+ R.id.tvSSQ -> {
+ PickerUtils.getInstance().showAddress(
+ this
+ ) { province, city, county ->
+ binding.tvSSQ.text = """${province.name}-${city.name}-${county.name}"""
+ }
+ }
+
+ R.id.btnOk -> {
+ submit()
+ }
+ }
+ }
+
+ override fun initDate() {
+ }
+
+
+ /**
+ * 新增或编辑地址信息
+ *
+ */
+ private fun submit() {
+
+ if (!::addressBean.isInitialized || addressBean.province.isEmpty()) {
+ showToast("请选择省市区")
+ return
+ }
+ if (addressBean.addressDetail.isEmpty()) {
+ showToast("请输入详细地址")
+ return
+ }
+ if (binding.etName.text.isEmpty() || binding.etPhone.text.isEmpty() || binding.etCom.text.isEmpty() || binding.etComNum.text.isEmpty()) {
+ showToast("请完善联系人信息")
+ return
+ }
+
+ addressBean.run {
+ binding.run {
+ contactPerson = etName.text.toString()
+ contactNumber = etPhone.text.toString()
+ userType = if (mySwitch.isOpened) "1" else "0"
+ companyName = etCom.text.toString()
+ companyCode = etComNum.text.toString()
+ }
+ }
+
+ setResult(Activity.RESULT_OK,Intent().apply {
+ putExtras(Bundle().apply {
+ putString(AppConfig.BEAN, Gson().toJson(addressBean))
+ })
+ })
+ finish()
+ }
+
+ private fun changeAddressType(isCom: Boolean) {
+ if (isCom) {
+ binding.run {
+ etCom.hint = "公司名称"
+ etComNum.hint = "社会统一代码"
+ }
+ } else {
+ binding.run {
+ etCom.hint = "货主名称"
+ etComNum.hint = "身份证号"
+ }
+ }
+ }
+
+
+ /**
+ * 渲染页面
+ * @param data PostAddressBean
+ */
+ private fun initViewByData(data: AddressBean?) {
+ data?.run {
+ binding.run {
+ binding.run {
+ tvSSQ.text =
+ """${data.province}-${data.city}-${data.area}"""
+ etAddressDetail.setText(data.addressDetail)
+ etName.setText(data.contactPerson)
+ etPhone.setText(data.contactNumber)
+ etCom.setText(data.companyName)
+ etComNum.setText(if (data.userType == "1") data.companyCode else data.idCard)
+ etComNum.hint = if (data.userType == "1") "社会统一代码" else "身份证号"
+ mySwitch.isOpened = data.userType == "1"
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/ui/address/ChoiceAddressByMapActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/ChoiceAddressByMapActivity.kt
index 5dc1ec5..e6d2276 100644
--- a/app/src/main/java/com/dhsd/glowner/ui/address/ChoiceAddressByMapActivity.kt
+++ b/app/src/main/java/com/dhsd/glowner/ui/address/ChoiceAddressByMapActivity.kt
@@ -2,6 +2,7 @@ package com.dhsd.glowner.ui.address
import android.content.Intent
import android.os.Bundle
+import android.text.TextUtils
import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.addTextChangedListener
import androidx.recyclerview.widget.LinearLayoutManager
@@ -68,9 +69,11 @@ class ChoiceAddressByMapActivity : BaseActivity() {
isMul = it.getBoolean(AppConfig.IS_MUL, false)
}
setStatusBarColor(R.color.white)
- setTitleBar( if (isMul) "一装多卸" else "普通装货", true)
+ setTitleBar(if (isMul) "一装多卸" else "普通装货", true)
binding.run {
llAdd.visibility = if (isMul) View.VISIBLE else View.GONE
@@ -264,7 +266,19 @@ class SendGoodsActivity : BaseActivity() {
adapter as SendGoodsAdapter
}.apply {
isStateViewEnable = true
- setOnItemClickListener { adapter, view, position ->
+
+ addOnItemChildClickListener(R.id.llContent) { adapter, _, position ->
+ ActivityUtils.startActivityForResult(
+ this@SendGoodsActivity,
+ AddressOnlyEditActivity::class.java,
+ Bundle().apply {
+ putString(AppConfig.BEAN, Gson().toJson(adapter.items[position]))
+ },
+ position
+ )
+ }
+
+ addOnItemChildClickListener(R.id.tvSelAddress) { _, _, position ->
ActivityUtils.startActivityForResult(
this@SendGoodsActivity,
AddressListActivity::class.java,
@@ -275,6 +289,8 @@ class SendGoodsActivity : BaseActivity() {
addOnItemChildClickListener(R.id.tvDel) { adapter, _, position ->
adapter.removeAt(position)
}
+
+
}
adapter.submitList(datas)
}
diff --git a/app/src/main/res/layout/item_send_goods.xml b/app/src/main/res/layout/item_send_goods.xml
index b46e0f9..ecfef01 100644
--- a/app/src/main/res/layout/item_send_goods.xml
+++ b/app/src/main/res/layout/item_send_goods.xml
@@ -25,6 +25,7 @@
android:padding="@dimen/dp_11">