|
@@ -1,19 +1,31 @@
|
|
|
package com.quansu.heifengwuliu.fragment
|
|
|
|
|
|
import android.app.Activity
|
|
|
+import android.content.Context
|
|
|
import android.content.Intent
|
|
|
import android.graphics.Color
|
|
|
import android.graphics.Typeface
|
|
|
import android.os.Bundle
|
|
|
import android.view.LayoutInflater
|
|
|
import android.view.ViewGroup
|
|
|
+import android.widget.*
|
|
|
import androidx.fragment.app.Fragment
|
|
|
+import androidx.lifecycle.LifecycleOwner
|
|
|
+import androidx.lifecycle.Observer
|
|
|
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
|
|
|
+import com.qmuiteam.qmui.widget.popup.QMUIPopup
|
|
|
+import com.qmuiteam.qmui.widget.popup.QMUIPopups
|
|
|
import com.qmuiteam.qmui.widget.tab.QMUITab
|
|
|
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
|
|
|
import com.qmuiteam.qmui.widget.tab.QMUITabSegment
|
|
|
+import com.quansu.heifengwuliu.R
|
|
|
import com.quansu.heifengwuliu.activity.AddressActivity
|
|
|
import com.quansu.heifengwuliu.activity.AreaSelectActivity
|
|
|
import com.quansu.heifengwuliu.adapter.BaseFragmentPagerAdapter
|
|
@@ -22,6 +34,8 @@ import com.quansu.heifengwuliu.config.ConfigRx
|
|
|
import com.quansu.heifengwuliu.config.MIntentAction
|
|
|
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.utils.PopupUtils
|
|
|
import com.quansu.heifengwuliu.vmodel.OwnerSingleVModel
|
|
|
import com.yanzhenjie.permission.AndPermission
|
|
@@ -31,6 +45,8 @@ 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
|
|
|
|
|
|
/**
|
|
|
* 一装一卸
|
|
@@ -38,17 +54,32 @@ import com.ysnows.base.utils.UiSwitch
|
|
|
*on 2020/9/11
|
|
|
*/
|
|
|
class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBinding>() {
|
|
|
- var cats = emptyArray<String>()
|
|
|
+ var cats = ArrayList<String>()
|
|
|
private var type = 1// 1:/装货 2卸货
|
|
|
|
|
|
private var selectViewpage = 0
|
|
|
+ private var info_id="0"
|
|
|
+ var goodsTypeList= ArrayList<String>()
|
|
|
+ var numsTypeList = ArrayList<String>()
|
|
|
+
|
|
|
+
|
|
|
|
|
|
override fun init(savedInstanceState: Bundle?) {
|
|
|
super.init(savedInstanceState)
|
|
|
+ getData()
|
|
|
+
|
|
|
+ vm.info.observe(this, Observer {
|
|
|
+ //观察
|
|
|
+ goodsTypeList.addAll(it.goods_type)
|
|
|
+ numsTypeList.addAll(it.nums_type)
|
|
|
+ initTab(it)
|
|
|
+ })
|
|
|
|
|
|
- initTab()
|
|
|
initData()
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
override fun vmClass(): Class<OwnerSingleVModel> {
|
|
|
return OwnerSingleVModel::class.java
|
|
|
}
|
|
@@ -58,21 +89,95 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
|
|
|
binding.tvPublish.setOnClickListener {
|
|
|
//发布
|
|
|
|
|
|
+ // var mNormalPopup = QMUIPopups.popup(context, QMUIDisplayHelper.dp2px(getContext(), 250))
|
|
|
+
|
|
|
+ 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)
|
|
|
+ builder.background(R.attr.qmui_skin_support_popup_bg)
|
|
|
+ QMUISkinHelper.setSkinValue(frameLayout, builder)
|
|
|
+ frameLayout.radius = QMUIDisplayHelper.dp2px(context, 12)
|
|
|
+ val padding = QMUIDisplayHelper.dp2px(context, 20)
|
|
|
+ frameLayout.setPadding(padding, padding, padding, padding)
|
|
|
+
|
|
|
+ //自定义布局
|
|
|
+ val layoutInflater = requireContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
|
|
|
+ var layout = layoutInflater.inflate(R.layout.item_app, null)
|
|
|
+ val tv: TextView = layout.findViewById(R.id.label)
|
|
|
+ tv.text = "123344"
|
|
|
+ tv.setOnClickListener {
|
|
|
+ mNormalPopup.dismiss()
|
|
|
+ }
|
|
|
+ builder.release();
|
|
|
+
|
|
|
+ val size = QMUIDisplayHelper.dp2px(context, 200)
|
|
|
+ val lp: FrameLayout.LayoutParams = FrameLayout.LayoutParams(size, size)
|
|
|
+ frameLayout.addView(layout, lp)
|
|
|
+
|
|
|
+ mNormalPopup.addView(frameLayout)
|
|
|
+ mNormalPopup.onDismiss() {
|
|
|
+ toast("onDismiss")
|
|
|
+ }
|
|
|
+
|
|
|
+ mNormalPopup.dismissIfOutsideTouch(false)
|
|
|
+ mNormalPopup.animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
|
|
|
+ mNormalPopup.show(binding.tvPublish)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+ 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 ->
|
|
|
+
|
|
|
+ vm.unit.value=numsTypeList[i]
|
|
|
+
|
|
|
+ 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 {
|
|
|
+
|
|
|
+ }
|
|
|
+ .show(binding.llChoseUnits);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+ private fun getData(){
|
|
|
+ //获取信息
|
|
|
+ vm.getDataInfo(info_id);
|
|
|
|
|
|
- private fun initTab() {
|
|
|
+ }
|
|
|
|
|
|
- cats = arrayOf("1", "2", "3", "4", "5", "6", "11", "23", "18", "30", "33", "100", "101", "1003")
|
|
|
+
|
|
|
+ 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
|
|
|
for (cat in cats) {
|
|
|
-
|
|
|
var ownerImgFragment = OwnerImgFragment()
|
|
|
- ownerImgFragment.arguments = B().putString("img", "12233").ok()
|
|
|
+ ownerImgFragment.arguments = B().putString("img",info.car_type[index].type_img ).ok()
|
|
|
fragments.add(ownerImgFragment)
|
|
|
+ index++
|
|
|
}
|
|
|
val adapter = BaseFragmentPagerAdapter(childFragmentManager, fragments)
|
|
|
binding.qmViewPager.adapter = adapter
|
|
@@ -161,13 +266,15 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
|
|
|
}
|
|
|
binding.viewOut.llChoseAddress.setOnClickListener {
|
|
|
//地址薄 1
|
|
|
+ type = 1
|
|
|
UiSwitch.bundleRes(this, AddressActivity::class.java,
|
|
|
- B.with().putString("type", "0").ok(), MIntentAction.REQUEST_CODE_ONE)
|
|
|
+ B.with().putString("type", "1").ok(), MIntentAction.REQUEST_CODE_ONE)
|
|
|
}
|
|
|
binding.viewEnter.llChoseAddress.setOnClickListener {
|
|
|
//地址薄 2
|
|
|
+ type = 2
|
|
|
UiSwitch.bundleRes(this, AddressActivity::class.java,
|
|
|
- B.with().putString("type", "1").ok(), MIntentAction.REQUEST_CODE_ONE)
|
|
|
+ B.with().putString("type", "2").ok(), MIntentAction.REQUEST_CODE_ONE)
|
|
|
}
|
|
|
|
|
|
binding.viewEnter.tvCity.setOnClickListener {
|
|
@@ -206,23 +313,59 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
|
|
|
super.onActivityResult(requestCode, resultCode, data)
|
|
|
if (MIntentAction.REQUEST_CODE_TWO === requestCode && resultCode == Activity.RESULT_OK) {
|
|
|
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) {
|
|
|
+ binding.viewOut.tvCity.text = name
|
|
|
+ } else {
|
|
|
+ binding.viewEnter.tvCity.text = name
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if( MIntentAction.REQUEST_CODE_ONE==requestCode && resultCode == Activity.RESULT_OK){
|
|
|
+ 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")
|
|
|
+ var item=bundle.getSerializable("item") as AddressBean
|
|
|
+ //todo
|
|
|
if(type==1){
|
|
|
- binding.viewOut.tvCity.text=name
|
|
|
+ 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.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{
|
|
|
- binding.viewEnter.tvCity.text=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.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
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ return
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -276,7 +419,9 @@ class OwnerSingleFragment : MBFragment<OwnerSingleVModel, FragmentOwnersingleBin
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|