diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b832d6..a535150 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,6 +69,8 @@
+
+
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b832d6..a535150 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,6 +69,8 @@
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index fcacf35..286992f 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -9,9 +9,11 @@
import com.casic.xz.meterage.extensions.showEmptyPage
import com.casic.xz.meterage.model.EntrustListModel
import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.view.search.SearchEntrustActivity
import com.casic.xz.meterage.vm.EntrustViewModel
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -61,7 +63,7 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
searchImageView.setOnClickListener {
-// navigatePageTo()
+ navigatePageTo()
}
addImageView.setOnClickListener {
@@ -112,8 +114,8 @@
"",
"",
"",
- "0",
- "0",
+ "",
+ "",
arrayOf(),
pageIndex
)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b832d6..a535150 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,6 +69,8 @@
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index fcacf35..286992f 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -9,9 +9,11 @@
import com.casic.xz.meterage.extensions.showEmptyPage
import com.casic.xz.meterage.model.EntrustListModel
import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.view.search.SearchEntrustActivity
import com.casic.xz.meterage.vm.EntrustViewModel
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -61,7 +63,7 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
searchImageView.setOnClickListener {
-// navigatePageTo()
+ navigatePageTo()
}
addImageView.setOnClickListener {
@@ -112,8 +114,8 @@
"",
"",
"",
- "0",
- "0",
+ "",
+ "",
arrayOf(),
pageIndex
)
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
new file mode 100644
index 0000000..d8d28dc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
@@ -0,0 +1,43 @@
+package com.casic.xz.meterage.view.search
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import kotlinx.android.synthetic.main.activity_search_entrust.*
+import kotlinx.android.synthetic.main.include_search_input_title.*
+
+/**
+ * 搜索委托书需求
+ * */
+class SearchEntrustActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ searchTextView.setOnClickListener {
+ navigatePageTo(inputView.text.toString())
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ inputView.hint = "查询委托书编号"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ //TODO 流式布局显示查询记录Tag?
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b832d6..a535150 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,6 +69,8 @@
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index fcacf35..286992f 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -9,9 +9,11 @@
import com.casic.xz.meterage.extensions.showEmptyPage
import com.casic.xz.meterage.model.EntrustListModel
import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.view.search.SearchEntrustActivity
import com.casic.xz.meterage.vm.EntrustViewModel
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -61,7 +63,7 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
searchImageView.setOnClickListener {
-// navigatePageTo()
+ navigatePageTo()
}
addImageView.setOnClickListener {
@@ -112,8 +114,8 @@
"",
"",
"",
- "0",
- "0",
+ "",
+ "",
arrayOf(),
pageIndex
)
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
new file mode 100644
index 0000000..d8d28dc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
@@ -0,0 +1,43 @@
+package com.casic.xz.meterage.view.search
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import kotlinx.android.synthetic.main.activity_search_entrust.*
+import kotlinx.android.synthetic.main.include_search_input_title.*
+
+/**
+ * 搜索委托书需求
+ * */
+class SearchEntrustActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ searchTextView.setOnClickListener {
+ navigatePageTo(inputView.text.toString())
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ inputView.hint = "查询委托书编号"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ //TODO 流式布局显示查询记录Tag?
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
new file mode 100644
index 0000000..8c0d597
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
@@ -0,0 +1,156 @@
+package com.casic.xz.meterage.view.search
+
+import android.os.Handler
+import androidx.lifecycle.ViewModelProvider
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.EntrustAdapter
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.extensions.showEmptyPage
+import com.casic.xz.meterage.model.EntrustListModel
+import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.vm.EntrustViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+import com.pengxh.kt.lite.vm.LoadState
+import kotlinx.android.synthetic.main.activity_search_entrust_reasult.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_empty_view.*
+
+class SearchEntrustResultActivity : KotlinBaseActivity() {
+
+ private lateinit var param: String
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var entrustViewModel: EntrustViewModel
+ private lateinit var entrustAdapter: EntrustAdapter
+ private var dataBeans: MutableList = ArrayList()
+ private var pageIndex = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+
+ override fun initData() {
+ param = intent.getStringExtra(Constant.INTENT_PARAM)!!
+
+ weakReferenceHandler = WeakReferenceHandler(callback)
+ entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java]
+ entrustViewModel.entrustList.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ dataBeans.clear()
+ dataBeans = dataRows
+ entrustLayout.finishRefresh()
+ isRefresh = false
+ }
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ dataBeans.addAll(dataRows)
+ entrustLayout.finishLoadMore()
+ isLoadMore = false
+ }
+ else -> {
+ dataBeans = dataRows
+ }
+ }
+ weakReferenceHandler.sendEmptyMessage(2023022401)
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ entrustLayout.setOnRefreshListener {
+ isRefresh = true
+ //刷新之后页码重置
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ entrustLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ pageIndex++
+ getEntrustListByPage()
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust_reasult
+
+ override fun observeRequestState() {
+ entrustViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ titleView.text = "查询结果"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ private fun getEntrustListByPage() {
+ entrustViewModel.getEntrustList(
+ "",
+ "",
+ "",
+ param,
+ "",
+ "",
+ "",
+ "",
+ arrayOf(),
+ pageIndex
+ )
+ }
+
+ private val callback = Handler.Callback {
+ when (it.what) {
+ 2023022401 -> {
+ if (isRefresh || isLoadMore) {
+ entrustAdapter.notifyDataSetChanged()
+ } else {
+ if (dataBeans.size == 0) {
+ emptyView!!.showEmptyPage("无新的委托需求") {
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+ } else {
+ emptyView!!.hide()
+ entrustAdapter = EntrustAdapter(this, dataBeans)
+ entrustRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ entrustRecyclerView.adapter = entrustAdapter
+ entrustAdapter.setOnItemClickListener(object :
+ EntrustAdapter.OnItemClickListener {
+ override fun onStateViewClicked(position: Int) {
+ val rowsModel = dataBeans[position]
+// navigatePageTo(rowsModel.id)
+ }
+
+ override fun onPhoneViewClicked(position: Int) {
+
+ }
+ })
+ }
+ }
+ }
+ }
+ true
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b832d6..a535150 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,6 +69,8 @@
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index fcacf35..286992f 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -9,9 +9,11 @@
import com.casic.xz.meterage.extensions.showEmptyPage
import com.casic.xz.meterage.model.EntrustListModel
import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.view.search.SearchEntrustActivity
import com.casic.xz.meterage.vm.EntrustViewModel
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -61,7 +63,7 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
searchImageView.setOnClickListener {
-// navigatePageTo()
+ navigatePageTo()
}
addImageView.setOnClickListener {
@@ -112,8 +114,8 @@
"",
"",
"",
- "0",
- "0",
+ "",
+ "",
arrayOf(),
pageIndex
)
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
new file mode 100644
index 0000000..d8d28dc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
@@ -0,0 +1,43 @@
+package com.casic.xz.meterage.view.search
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import kotlinx.android.synthetic.main.activity_search_entrust.*
+import kotlinx.android.synthetic.main.include_search_input_title.*
+
+/**
+ * 搜索委托书需求
+ * */
+class SearchEntrustActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ searchTextView.setOnClickListener {
+ navigatePageTo(inputView.text.toString())
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ inputView.hint = "查询委托书编号"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ //TODO 流式布局显示查询记录Tag?
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
new file mode 100644
index 0000000..8c0d597
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
@@ -0,0 +1,156 @@
+package com.casic.xz.meterage.view.search
+
+import android.os.Handler
+import androidx.lifecycle.ViewModelProvider
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.EntrustAdapter
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.extensions.showEmptyPage
+import com.casic.xz.meterage.model.EntrustListModel
+import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.vm.EntrustViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+import com.pengxh.kt.lite.vm.LoadState
+import kotlinx.android.synthetic.main.activity_search_entrust_reasult.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_empty_view.*
+
+class SearchEntrustResultActivity : KotlinBaseActivity() {
+
+ private lateinit var param: String
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var entrustViewModel: EntrustViewModel
+ private lateinit var entrustAdapter: EntrustAdapter
+ private var dataBeans: MutableList = ArrayList()
+ private var pageIndex = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+
+ override fun initData() {
+ param = intent.getStringExtra(Constant.INTENT_PARAM)!!
+
+ weakReferenceHandler = WeakReferenceHandler(callback)
+ entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java]
+ entrustViewModel.entrustList.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ dataBeans.clear()
+ dataBeans = dataRows
+ entrustLayout.finishRefresh()
+ isRefresh = false
+ }
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ dataBeans.addAll(dataRows)
+ entrustLayout.finishLoadMore()
+ isLoadMore = false
+ }
+ else -> {
+ dataBeans = dataRows
+ }
+ }
+ weakReferenceHandler.sendEmptyMessage(2023022401)
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ entrustLayout.setOnRefreshListener {
+ isRefresh = true
+ //刷新之后页码重置
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ entrustLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ pageIndex++
+ getEntrustListByPage()
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust_reasult
+
+ override fun observeRequestState() {
+ entrustViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ titleView.text = "查询结果"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ private fun getEntrustListByPage() {
+ entrustViewModel.getEntrustList(
+ "",
+ "",
+ "",
+ param,
+ "",
+ "",
+ "",
+ "",
+ arrayOf(),
+ pageIndex
+ )
+ }
+
+ private val callback = Handler.Callback {
+ when (it.what) {
+ 2023022401 -> {
+ if (isRefresh || isLoadMore) {
+ entrustAdapter.notifyDataSetChanged()
+ } else {
+ if (dataBeans.size == 0) {
+ emptyView!!.showEmptyPage("无新的委托需求") {
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+ } else {
+ emptyView!!.hide()
+ entrustAdapter = EntrustAdapter(this, dataBeans)
+ entrustRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ entrustRecyclerView.adapter = entrustAdapter
+ entrustAdapter.setOnItemClickListener(object :
+ EntrustAdapter.OnItemClickListener {
+ override fun onStateViewClicked(position: Int) {
+ val rowsModel = dataBeans[position]
+// navigatePageTo(rowsModel.id)
+ }
+
+ override fun onPhoneViewClicked(position: Int) {
+
+ }
+ })
+ }
+ }
+ }
+ }
+ true
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 52cdec6..c0f5b9a 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -24,7 +24,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
- android:layout_toStartOf="@id/addImageView"
+ android:layout_toStartOf="@id/searchImageView"
android:layout_toEndOf="@id/leftBackView"
android:fontFamily="sans-serif-medium"
android:gravity="center"
@@ -34,20 +34,20 @@
android:textSize="@dimen/sp_16" />
+ android:src="@drawable/ic_plus" />
+ android:src="@drawable/ic_search" />
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index fcacf35..286992f 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -9,9 +9,11 @@
import com.casic.xz.meterage.extensions.showEmptyPage
import com.casic.xz.meterage.model.EntrustListModel
import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.view.search.SearchEntrustActivity
import com.casic.xz.meterage.vm.EntrustViewModel
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -61,7 +63,7 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
searchImageView.setOnClickListener {
-// navigatePageTo()
+ navigatePageTo()
}
addImageView.setOnClickListener {
@@ -112,8 +114,8 @@
"",
"",
"",
- "0",
- "0",
+ "",
+ "",
arrayOf(),
pageIndex
)
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
new file mode 100644
index 0000000..d8d28dc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
@@ -0,0 +1,43 @@
+package com.casic.xz.meterage.view.search
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import kotlinx.android.synthetic.main.activity_search_entrust.*
+import kotlinx.android.synthetic.main.include_search_input_title.*
+
+/**
+ * 搜索委托书需求
+ * */
+class SearchEntrustActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ searchTextView.setOnClickListener {
+ navigatePageTo(inputView.text.toString())
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ inputView.hint = "查询委托书编号"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ //TODO 流式布局显示查询记录Tag?
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
new file mode 100644
index 0000000..8c0d597
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
@@ -0,0 +1,156 @@
+package com.casic.xz.meterage.view.search
+
+import android.os.Handler
+import androidx.lifecycle.ViewModelProvider
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.EntrustAdapter
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.extensions.showEmptyPage
+import com.casic.xz.meterage.model.EntrustListModel
+import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.vm.EntrustViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+import com.pengxh.kt.lite.vm.LoadState
+import kotlinx.android.synthetic.main.activity_search_entrust_reasult.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_empty_view.*
+
+class SearchEntrustResultActivity : KotlinBaseActivity() {
+
+ private lateinit var param: String
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var entrustViewModel: EntrustViewModel
+ private lateinit var entrustAdapter: EntrustAdapter
+ private var dataBeans: MutableList = ArrayList()
+ private var pageIndex = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+
+ override fun initData() {
+ param = intent.getStringExtra(Constant.INTENT_PARAM)!!
+
+ weakReferenceHandler = WeakReferenceHandler(callback)
+ entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java]
+ entrustViewModel.entrustList.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ dataBeans.clear()
+ dataBeans = dataRows
+ entrustLayout.finishRefresh()
+ isRefresh = false
+ }
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ dataBeans.addAll(dataRows)
+ entrustLayout.finishLoadMore()
+ isLoadMore = false
+ }
+ else -> {
+ dataBeans = dataRows
+ }
+ }
+ weakReferenceHandler.sendEmptyMessage(2023022401)
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ entrustLayout.setOnRefreshListener {
+ isRefresh = true
+ //刷新之后页码重置
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ entrustLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ pageIndex++
+ getEntrustListByPage()
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust_reasult
+
+ override fun observeRequestState() {
+ entrustViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ titleView.text = "查询结果"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ private fun getEntrustListByPage() {
+ entrustViewModel.getEntrustList(
+ "",
+ "",
+ "",
+ param,
+ "",
+ "",
+ "",
+ "",
+ arrayOf(),
+ pageIndex
+ )
+ }
+
+ private val callback = Handler.Callback {
+ when (it.what) {
+ 2023022401 -> {
+ if (isRefresh || isLoadMore) {
+ entrustAdapter.notifyDataSetChanged()
+ } else {
+ if (dataBeans.size == 0) {
+ emptyView!!.showEmptyPage("无新的委托需求") {
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+ } else {
+ emptyView!!.hide()
+ entrustAdapter = EntrustAdapter(this, dataBeans)
+ entrustRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ entrustRecyclerView.adapter = entrustAdapter
+ entrustAdapter.setOnItemClickListener(object :
+ EntrustAdapter.OnItemClickListener {
+ override fun onStateViewClicked(position: Int) {
+ val rowsModel = dataBeans[position]
+// navigatePageTo(rowsModel.id)
+ }
+
+ override fun onPhoneViewClicked(position: Int) {
+
+ }
+ })
+ }
+ }
+ }
+ }
+ true
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 52cdec6..c0f5b9a 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -24,7 +24,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
- android:layout_toStartOf="@id/addImageView"
+ android:layout_toStartOf="@id/searchImageView"
android:layout_toEndOf="@id/leftBackView"
android:fontFamily="sans-serif-medium"
android:gravity="center"
@@ -34,20 +34,20 @@
android:textSize="@dimen/sp_16" />
+ android:src="@drawable/ic_plus" />
+ android:src="@drawable/ic_search" />
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b832d6..a535150 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,6 +69,8 @@
+
+
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
@@ -45,7 +47,11 @@
//绑定事件
holder.entrustStateView.setOnClickListener {
- listener?.onStateViewClicked(position)
+ if (rowsBean.status == "1" || rowsBean.status == "3") {
+ "当前状态不可编辑".show(context)
+ } else {
+ listener?.onStateViewClicked(position)
+ }
}
holder.customerPhoneView.setOnClickListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index fcacf35..286992f 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -9,9 +9,11 @@
import com.casic.xz.meterage.extensions.showEmptyPage
import com.casic.xz.meterage.model.EntrustListModel
import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.view.search.SearchEntrustActivity
import com.casic.xz.meterage.vm.EntrustViewModel
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -61,7 +63,7 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
searchImageView.setOnClickListener {
-// navigatePageTo()
+ navigatePageTo()
}
addImageView.setOnClickListener {
@@ -112,8 +114,8 @@
"",
"",
"",
- "0",
- "0",
+ "",
+ "",
arrayOf(),
pageIndex
)
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
new file mode 100644
index 0000000..d8d28dc
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustActivity.kt
@@ -0,0 +1,43 @@
+package com.casic.xz.meterage.view.search
+
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import kotlinx.android.synthetic.main.activity_search_entrust.*
+import kotlinx.android.synthetic.main.include_search_input_title.*
+
+/**
+ * 搜索委托书需求
+ * */
+class SearchEntrustActivity : KotlinBaseActivity() {
+
+ override fun initData() {
+
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+ searchTextView.setOnClickListener {
+ navigatePageTo(inputView.text.toString())
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ inputView.hint = "查询委托书编号"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ //TODO 流式布局显示查询记录Tag?
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
new file mode 100644
index 0000000..8c0d597
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEntrustResultActivity.kt
@@ -0,0 +1,156 @@
+package com.casic.xz.meterage.view.search
+
+import android.os.Handler
+import androidx.lifecycle.ViewModelProvider
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.EntrustAdapter
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.extensions.showEmptyPage
+import com.casic.xz.meterage.model.EntrustListModel
+import com.casic.xz.meterage.utils.LoadingDialogHub
+import com.casic.xz.meterage.vm.EntrustViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+import com.pengxh.kt.lite.vm.LoadState
+import kotlinx.android.synthetic.main.activity_search_entrust_reasult.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_empty_view.*
+
+class SearchEntrustResultActivity : KotlinBaseActivity() {
+
+ private lateinit var param: String
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var entrustViewModel: EntrustViewModel
+ private lateinit var entrustAdapter: EntrustAdapter
+ private var dataBeans: MutableList = ArrayList()
+ private var pageIndex = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+
+ override fun initData() {
+ param = intent.getStringExtra(Constant.INTENT_PARAM)!!
+
+ weakReferenceHandler = WeakReferenceHandler(callback)
+ entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java]
+ entrustViewModel.entrustList.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ dataBeans.clear()
+ dataBeans = dataRows
+ entrustLayout.finishRefresh()
+ isRefresh = false
+ }
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ dataBeans.addAll(dataRows)
+ entrustLayout.finishLoadMore()
+ isLoadMore = false
+ }
+ else -> {
+ dataBeans = dataRows
+ }
+ }
+ weakReferenceHandler.sendEmptyMessage(2023022401)
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ entrustLayout.setOnRefreshListener {
+ isRefresh = true
+ //刷新之后页码重置
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ entrustLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ pageIndex++
+ getEntrustListByPage()
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_search_entrust_reasult
+
+ override fun observeRequestState() {
+ entrustViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ initLayoutImmersionBar(rootView)
+ titleView.text = "查询结果"
+ }
+
+ override fun onResume() {
+ super.onResume()
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+
+ private fun getEntrustListByPage() {
+ entrustViewModel.getEntrustList(
+ "",
+ "",
+ "",
+ param,
+ "",
+ "",
+ "",
+ "",
+ arrayOf(),
+ pageIndex
+ )
+ }
+
+ private val callback = Handler.Callback {
+ when (it.what) {
+ 2023022401 -> {
+ if (isRefresh || isLoadMore) {
+ entrustAdapter.notifyDataSetChanged()
+ } else {
+ if (dataBeans.size == 0) {
+ emptyView!!.showEmptyPage("无新的委托需求") {
+ pageIndex = 1
+ getEntrustListByPage()
+ }
+ } else {
+ emptyView!!.hide()
+ entrustAdapter = EntrustAdapter(this, dataBeans)
+ entrustRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ entrustRecyclerView.adapter = entrustAdapter
+ entrustAdapter.setOnItemClickListener(object :
+ EntrustAdapter.OnItemClickListener {
+ override fun onStateViewClicked(position: Int) {
+ val rowsModel = dataBeans[position]
+// navigatePageTo(rowsModel.id)
+ }
+
+ override fun onPhoneViewClicked(position: Int) {
+
+ }
+ })
+ }
+ }
+ }
+ }
+ true
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 52cdec6..c0f5b9a 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -24,7 +24,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
- android:layout_toStartOf="@id/addImageView"
+ android:layout_toStartOf="@id/searchImageView"
android:layout_toEndOf="@id/leftBackView"
android:fontFamily="sans-serif-medium"
android:gravity="center"
@@ -34,20 +34,20 @@
android:textSize="@dimen/sp_16" />
+ android:src="@drawable/ic_plus" />
+ android:src="@drawable/ic_search" />
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_search_entrust_reasult.xml b/app/src/main/res/layout/activity_search_entrust_reasult.xml
new file mode 100644
index 0000000..0a53bb2
--- /dev/null
+++ b/app/src/main/res/layout/activity_search_entrust_reasult.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file