diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
index 725b743..6984d40 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
@@ -26,7 +26,6 @@
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.DeviceType
import com.casic.br.operationsite.utils.RuntimeCache
-import com.casic.br.operationsite.view.check.DisclosureActivity
import com.casic.br.operationsite.vm.DeviceViewModel
import com.casic.br.operationsite.vm.LoginViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -367,10 +366,6 @@
}
override fun initEvent() {
- binding.floatingActionButton.setOnClickListener {
- navigatePageTo()
- }
-
binding.alarmTextView.setOnClickListener {
navigatePageTo()
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
index 725b743..6984d40 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
@@ -26,7 +26,6 @@
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.DeviceType
import com.casic.br.operationsite.utils.RuntimeCache
-import com.casic.br.operationsite.view.check.DisclosureActivity
import com.casic.br.operationsite.vm.DeviceViewModel
import com.casic.br.operationsite.vm.LoginViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -367,10 +366,6 @@
}
override fun initEvent() {
- binding.floatingActionButton.setOnClickListener {
- navigatePageTo()
- }
-
binding.alarmTextView.setOnClickListener {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
new file mode 100644
index 0000000..f8a0217
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
@@ -0,0 +1,155 @@
+package com.casic.br.operationsite.view
+
+import android.graphics.Color
+import android.os.Bundle
+import android.os.Handler
+import android.os.Message
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityWorkTaskBinding
+import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.casic.br.operationsite.model.WorkSiteListModel
+import com.casic.br.operationsite.utils.RuntimeCache
+import com.casic.br.operationsite.view.check.DisclosureActivity
+import com.casic.br.operationsite.vm.WorkSiteViewModel
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+
+class WorkTaskActivity : KotlinBaseActivity(), Handler.Callback {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var workingListAdapter: NormalRecyclerAdapter
+ private lateinit var workSiteViewModel: WorkSiteViewModel
+ private var dataBeans: MutableList = ArrayList()
+ private var page = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+ private var keywords = ""
+
+ override fun initEvent() {
+ binding.refreshLayout.setOnRefreshListener {
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ binding.refreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ page++
+ getProjectListByPage()
+ }
+ }
+
+ private fun getProjectListByPage() {
+ workSiteViewModel.getProjectListByPage(this, keywords, "1", page)
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ weakReferenceHandler = WeakReferenceHandler(this)
+ workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
+ getProjectListByPage()
+ workSiteViewModel.worksiteModel.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ workingListAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ workingListAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2022071101)
+ }
+ }
+ }
+ }
+ }
+
+ override fun handleMessage(msg: Message): Boolean {
+ if (msg.what == 2022071101) {
+ workingListAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_working_rv, dataBeans
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ if (item.imageUrl.isNullOrBlank()) {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, R.mipmap.ic_launcher
+ )
+ } else {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, item.imageUrl.combineImagePath()
+ )
+ }
+ viewHolder.setText(R.id.workTitleView, item.workTitle)
+ .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}")
+ .setText(
+ R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}"
+ )
+ .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}")
+ }
+ }
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(1, Color.LTGRAY)
+ )
+ binding.recyclerView.adapter = workingListAdapter
+ workingListAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(
+ position: Int, t: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ RuntimeCache.projectId = t.id
+ navigatePageTo()
+ }
+ })
+ }
+ return true
+ }
+
+ override fun initViewBinding(): ActivityWorkTaskBinding {
+ return ActivityWorkTaskBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ workSiteViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleInclude.searchTextView.setOnClickListener {
+ keywords = binding.titleInclude.searchInputView.text.toString()
+
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
index 725b743..6984d40 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
@@ -26,7 +26,6 @@
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.DeviceType
import com.casic.br.operationsite.utils.RuntimeCache
-import com.casic.br.operationsite.view.check.DisclosureActivity
import com.casic.br.operationsite.vm.DeviceViewModel
import com.casic.br.operationsite.vm.LoginViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -367,10 +366,6 @@
}
override fun initEvent() {
- binding.floatingActionButton.setOnClickListener {
- navigatePageTo()
- }
-
binding.alarmTextView.setOnClickListener {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
new file mode 100644
index 0000000..f8a0217
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
@@ -0,0 +1,155 @@
+package com.casic.br.operationsite.view
+
+import android.graphics.Color
+import android.os.Bundle
+import android.os.Handler
+import android.os.Message
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityWorkTaskBinding
+import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.casic.br.operationsite.model.WorkSiteListModel
+import com.casic.br.operationsite.utils.RuntimeCache
+import com.casic.br.operationsite.view.check.DisclosureActivity
+import com.casic.br.operationsite.vm.WorkSiteViewModel
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+
+class WorkTaskActivity : KotlinBaseActivity(), Handler.Callback {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var workingListAdapter: NormalRecyclerAdapter
+ private lateinit var workSiteViewModel: WorkSiteViewModel
+ private var dataBeans: MutableList = ArrayList()
+ private var page = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+ private var keywords = ""
+
+ override fun initEvent() {
+ binding.refreshLayout.setOnRefreshListener {
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ binding.refreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ page++
+ getProjectListByPage()
+ }
+ }
+
+ private fun getProjectListByPage() {
+ workSiteViewModel.getProjectListByPage(this, keywords, "1", page)
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ weakReferenceHandler = WeakReferenceHandler(this)
+ workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
+ getProjectListByPage()
+ workSiteViewModel.worksiteModel.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ workingListAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ workingListAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2022071101)
+ }
+ }
+ }
+ }
+ }
+
+ override fun handleMessage(msg: Message): Boolean {
+ if (msg.what == 2022071101) {
+ workingListAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_working_rv, dataBeans
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ if (item.imageUrl.isNullOrBlank()) {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, R.mipmap.ic_launcher
+ )
+ } else {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, item.imageUrl.combineImagePath()
+ )
+ }
+ viewHolder.setText(R.id.workTitleView, item.workTitle)
+ .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}")
+ .setText(
+ R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}"
+ )
+ .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}")
+ }
+ }
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(1, Color.LTGRAY)
+ )
+ binding.recyclerView.adapter = workingListAdapter
+ workingListAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(
+ position: Int, t: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ RuntimeCache.projectId = t.id
+ navigatePageTo()
+ }
+ })
+ }
+ return true
+ }
+
+ override fun initViewBinding(): ActivityWorkTaskBinding {
+ return ActivityWorkTaskBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ workSiteViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleInclude.searchTextView.setOnClickListener {
+ keywords = binding.titleInclude.searchInputView.text.toString()
+
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
index dda7b12..b795ff0 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
@@ -16,7 +16,7 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.casic.br.operationsite.utils.RuntimeCache
import com.casic.br.operationsite.view.BigImageActivity
-import com.casic.br.operationsite.view.MainActivity
+import com.casic.br.operationsite.view.WorkTaskActivity
import com.casic.br.operationsite.vm.AlarmViewModel
import com.casic.br.operationsite.vm.ConstructionCheckViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -112,7 +112,8 @@
ActivityStackManager.finishActivity(DisclosureActivity::class.java)
ActivityStackManager.finishActivity(EnvironmentActivity::class.java)
ActivityStackManager.finishActivity(SuppliesActivity::class.java)
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
index 725b743..6984d40 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
@@ -26,7 +26,6 @@
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.DeviceType
import com.casic.br.operationsite.utils.RuntimeCache
-import com.casic.br.operationsite.view.check.DisclosureActivity
import com.casic.br.operationsite.vm.DeviceViewModel
import com.casic.br.operationsite.vm.LoginViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -367,10 +366,6 @@
}
override fun initEvent() {
- binding.floatingActionButton.setOnClickListener {
- navigatePageTo()
- }
-
binding.alarmTextView.setOnClickListener {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
new file mode 100644
index 0000000..f8a0217
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
@@ -0,0 +1,155 @@
+package com.casic.br.operationsite.view
+
+import android.graphics.Color
+import android.os.Bundle
+import android.os.Handler
+import android.os.Message
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityWorkTaskBinding
+import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.casic.br.operationsite.model.WorkSiteListModel
+import com.casic.br.operationsite.utils.RuntimeCache
+import com.casic.br.operationsite.view.check.DisclosureActivity
+import com.casic.br.operationsite.vm.WorkSiteViewModel
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+
+class WorkTaskActivity : KotlinBaseActivity(), Handler.Callback {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var workingListAdapter: NormalRecyclerAdapter
+ private lateinit var workSiteViewModel: WorkSiteViewModel
+ private var dataBeans: MutableList = ArrayList()
+ private var page = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+ private var keywords = ""
+
+ override fun initEvent() {
+ binding.refreshLayout.setOnRefreshListener {
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ binding.refreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ page++
+ getProjectListByPage()
+ }
+ }
+
+ private fun getProjectListByPage() {
+ workSiteViewModel.getProjectListByPage(this, keywords, "1", page)
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ weakReferenceHandler = WeakReferenceHandler(this)
+ workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
+ getProjectListByPage()
+ workSiteViewModel.worksiteModel.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ workingListAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ workingListAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2022071101)
+ }
+ }
+ }
+ }
+ }
+
+ override fun handleMessage(msg: Message): Boolean {
+ if (msg.what == 2022071101) {
+ workingListAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_working_rv, dataBeans
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ if (item.imageUrl.isNullOrBlank()) {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, R.mipmap.ic_launcher
+ )
+ } else {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, item.imageUrl.combineImagePath()
+ )
+ }
+ viewHolder.setText(R.id.workTitleView, item.workTitle)
+ .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}")
+ .setText(
+ R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}"
+ )
+ .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}")
+ }
+ }
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(1, Color.LTGRAY)
+ )
+ binding.recyclerView.adapter = workingListAdapter
+ workingListAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(
+ position: Int, t: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ RuntimeCache.projectId = t.id
+ navigatePageTo()
+ }
+ })
+ }
+ return true
+ }
+
+ override fun initViewBinding(): ActivityWorkTaskBinding {
+ return ActivityWorkTaskBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ workSiteViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleInclude.searchTextView.setOnClickListener {
+ keywords = binding.titleInclude.searchInputView.text.toString()
+
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
index dda7b12..b795ff0 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
@@ -16,7 +16,7 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.casic.br.operationsite.utils.RuntimeCache
import com.casic.br.operationsite.view.BigImageActivity
-import com.casic.br.operationsite.view.MainActivity
+import com.casic.br.operationsite.view.WorkTaskActivity
import com.casic.br.operationsite.vm.AlarmViewModel
import com.casic.br.operationsite.vm.ConstructionCheckViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -112,7 +112,8 @@
ActivityStackManager.finishActivity(DisclosureActivity::class.java)
ActivityStackManager.finishActivity(EnvironmentActivity::class.java)
ActivityStackManager.finishActivity(SuppliesActivity::class.java)
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt b/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
index 47d29c9..df7bdc5 100644
--- a/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
+++ b/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
@@ -30,15 +30,18 @@
fun getProjectListByPage(
context: Context, keywords: String, state: String, page: Int
) = launch({
+ loadState.value = LoadState.Loading
val response = RetrofitServiceManager.getProjectListByPage(keywords, state, page)
when (response.getResponseCode()) {
200 -> {
worksiteModel.value = gson.fromJson(
response, object : TypeToken() {}.type
)
+ loadState.value = LoadState.Success
}
else -> {
+ loadState.value = LoadState.Fail
response.getResponseMessage().show(context)
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7bce4f3..643f1e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,6 +64,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
index 725b743..6984d40 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
@@ -26,7 +26,6 @@
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.DeviceType
import com.casic.br.operationsite.utils.RuntimeCache
-import com.casic.br.operationsite.view.check.DisclosureActivity
import com.casic.br.operationsite.vm.DeviceViewModel
import com.casic.br.operationsite.vm.LoginViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -367,10 +366,6 @@
}
override fun initEvent() {
- binding.floatingActionButton.setOnClickListener {
- navigatePageTo()
- }
-
binding.alarmTextView.setOnClickListener {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
new file mode 100644
index 0000000..f8a0217
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
@@ -0,0 +1,155 @@
+package com.casic.br.operationsite.view
+
+import android.graphics.Color
+import android.os.Bundle
+import android.os.Handler
+import android.os.Message
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityWorkTaskBinding
+import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.casic.br.operationsite.model.WorkSiteListModel
+import com.casic.br.operationsite.utils.RuntimeCache
+import com.casic.br.operationsite.view.check.DisclosureActivity
+import com.casic.br.operationsite.vm.WorkSiteViewModel
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+
+class WorkTaskActivity : KotlinBaseActivity(), Handler.Callback {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var workingListAdapter: NormalRecyclerAdapter
+ private lateinit var workSiteViewModel: WorkSiteViewModel
+ private var dataBeans: MutableList = ArrayList()
+ private var page = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+ private var keywords = ""
+
+ override fun initEvent() {
+ binding.refreshLayout.setOnRefreshListener {
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ binding.refreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ page++
+ getProjectListByPage()
+ }
+ }
+
+ private fun getProjectListByPage() {
+ workSiteViewModel.getProjectListByPage(this, keywords, "1", page)
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ weakReferenceHandler = WeakReferenceHandler(this)
+ workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
+ getProjectListByPage()
+ workSiteViewModel.worksiteModel.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ workingListAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ workingListAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2022071101)
+ }
+ }
+ }
+ }
+ }
+
+ override fun handleMessage(msg: Message): Boolean {
+ if (msg.what == 2022071101) {
+ workingListAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_working_rv, dataBeans
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ if (item.imageUrl.isNullOrBlank()) {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, R.mipmap.ic_launcher
+ )
+ } else {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, item.imageUrl.combineImagePath()
+ )
+ }
+ viewHolder.setText(R.id.workTitleView, item.workTitle)
+ .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}")
+ .setText(
+ R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}"
+ )
+ .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}")
+ }
+ }
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(1, Color.LTGRAY)
+ )
+ binding.recyclerView.adapter = workingListAdapter
+ workingListAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(
+ position: Int, t: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ RuntimeCache.projectId = t.id
+ navigatePageTo()
+ }
+ })
+ }
+ return true
+ }
+
+ override fun initViewBinding(): ActivityWorkTaskBinding {
+ return ActivityWorkTaskBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ workSiteViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleInclude.searchTextView.setOnClickListener {
+ keywords = binding.titleInclude.searchInputView.text.toString()
+
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
index dda7b12..b795ff0 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
@@ -16,7 +16,7 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.casic.br.operationsite.utils.RuntimeCache
import com.casic.br.operationsite.view.BigImageActivity
-import com.casic.br.operationsite.view.MainActivity
+import com.casic.br.operationsite.view.WorkTaskActivity
import com.casic.br.operationsite.vm.AlarmViewModel
import com.casic.br.operationsite.vm.ConstructionCheckViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -112,7 +112,8 @@
ActivityStackManager.finishActivity(DisclosureActivity::class.java)
ActivityStackManager.finishActivity(EnvironmentActivity::class.java)
ActivityStackManager.finishActivity(SuppliesActivity::class.java)
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt b/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
index 47d29c9..df7bdc5 100644
--- a/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
+++ b/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
@@ -30,15 +30,18 @@
fun getProjectListByPage(
context: Context, keywords: String, state: String, page: Int
) = launch({
+ loadState.value = LoadState.Loading
val response = RetrofitServiceManager.getProjectListByPage(keywords, state, page)
when (response.getResponseCode()) {
200 -> {
worksiteModel.value = gson.fromJson(
response, object : TypeToken() {}.type
)
+ loadState.value = LoadState.Success
}
else -> {
+ loadState.value = LoadState.Fail
response.getResponseMessage().show(context)
}
}
diff --git a/app/src/main/res/layout/activity_site_tab.xml b/app/src/main/res/layout/activity_site_tab.xml
index 8053288..a10df43 100644
--- a/app/src/main/res/layout/activity_site_tab.xml
+++ b/app/src/main/res/layout/activity_site_tab.xml
@@ -94,29 +94,11 @@
-
-
-
-
-
-
+ android:layout_weight="1" />
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 641f3ed..7f0366b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -94,7 +94,8 @@
* */
userDetailViewModel.getUserDetail()
//验证成功登录
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
index b078b76..a717e31 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/SplashScreenActivity.kt
@@ -45,7 +45,8 @@
userDetailViewModel.getUserDetail()
userDetailViewModel.flag.observe(this@SplashScreenActivity) {
if (it) {
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
} else {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
index 725b743..6984d40 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt
@@ -26,7 +26,6 @@
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.DeviceType
import com.casic.br.operationsite.utils.RuntimeCache
-import com.casic.br.operationsite.view.check.DisclosureActivity
import com.casic.br.operationsite.vm.DeviceViewModel
import com.casic.br.operationsite.vm.LoginViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -367,10 +366,6 @@
}
override fun initEvent() {
- binding.floatingActionButton.setOnClickListener {
- navigatePageTo()
- }
-
binding.alarmTextView.setOnClickListener {
navigatePageTo()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
new file mode 100644
index 0000000..f8a0217
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/WorkTaskActivity.kt
@@ -0,0 +1,155 @@
+package com.casic.br.operationsite.view
+
+import android.graphics.Color
+import android.os.Bundle
+import android.os.Handler
+import android.os.Message
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityWorkTaskBinding
+import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.casic.br.operationsite.model.WorkSiteListModel
+import com.casic.br.operationsite.utils.RuntimeCache
+import com.casic.br.operationsite.view.check.DisclosureActivity
+import com.casic.br.operationsite.vm.WorkSiteViewModel
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.utils.WeakReferenceHandler
+
+class WorkTaskActivity : KotlinBaseActivity(), Handler.Callback {
+
+ private lateinit var weakReferenceHandler: WeakReferenceHandler
+ private lateinit var workingListAdapter: NormalRecyclerAdapter
+ private lateinit var workSiteViewModel: WorkSiteViewModel
+ private var dataBeans: MutableList = ArrayList()
+ private var page = 1
+ private var isRefresh = false
+ private var isLoadMore = false
+ private var keywords = ""
+
+ override fun initEvent() {
+ binding.refreshLayout.setOnRefreshListener {
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ binding.refreshLayout.setOnLoadMoreListener {
+ isLoadMore = true
+ page++
+ getProjectListByPage()
+ }
+ }
+
+ private fun getProjectListByPage() {
+ workSiteViewModel.getProjectListByPage(this, keywords, "1", page)
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ weakReferenceHandler = WeakReferenceHandler(this)
+ workSiteViewModel = ViewModelProvider(this)[WorkSiteViewModel::class.java]
+ getProjectListByPage()
+ workSiteViewModel.worksiteModel.observe(this) {
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ workingListAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ workingListAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2022071101)
+ }
+ }
+ }
+ }
+ }
+
+ override fun handleMessage(msg: Message): Boolean {
+ if (msg.what == 2022071101) {
+ workingListAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_working_rv, dataBeans
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ if (item.imageUrl.isNullOrBlank()) {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, R.mipmap.ic_launcher
+ )
+ } else {
+ viewHolder.setImageResource(
+ R.id.workSiteImageView, item.imageUrl.combineImagePath()
+ )
+ }
+ viewHolder.setText(R.id.workTitleView, item.workTitle)
+ .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}")
+ .setText(
+ R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}"
+ )
+ .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}")
+ }
+ }
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(1, Color.LTGRAY)
+ )
+ binding.recyclerView.adapter = workingListAdapter
+ workingListAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(
+ position: Int, t: WorkSiteListModel.DataModel.RowsModel
+ ) {
+ RuntimeCache.projectId = t.id
+ navigatePageTo()
+ }
+ })
+ }
+ return true
+ }
+
+ override fun initViewBinding(): ActivityWorkTaskBinding {
+ return ActivityWorkTaskBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ workSiteViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleInclude.searchTextView.setOnClickListener {
+ keywords = binding.titleInclude.searchInputView.text.toString()
+
+ isRefresh = true
+ page = 1
+ getProjectListByPage()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
index dda7b12..b795ff0 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/check/GuardiansActivity.kt
@@ -16,7 +16,7 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.casic.br.operationsite.utils.RuntimeCache
import com.casic.br.operationsite.view.BigImageActivity
-import com.casic.br.operationsite.view.MainActivity
+import com.casic.br.operationsite.view.WorkTaskActivity
import com.casic.br.operationsite.vm.AlarmViewModel
import com.casic.br.operationsite.vm.ConstructionCheckViewModel
import com.casic.br.operationsite.vm.WorkSiteViewModel
@@ -112,7 +112,8 @@
ActivityStackManager.finishActivity(DisclosureActivity::class.java)
ActivityStackManager.finishActivity(EnvironmentActivity::class.java)
ActivityStackManager.finishActivity(SuppliesActivity::class.java)
- navigatePageTo()
+// navigatePageTo()
+ navigatePageTo()
finish()
}
diff --git a/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt b/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
index 47d29c9..df7bdc5 100644
--- a/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
+++ b/app/src/main/java/com/casic/br/operationsite/vm/WorkSiteViewModel.kt
@@ -30,15 +30,18 @@
fun getProjectListByPage(
context: Context, keywords: String, state: String, page: Int
) = launch({
+ loadState.value = LoadState.Loading
val response = RetrofitServiceManager.getProjectListByPage(keywords, state, page)
when (response.getResponseCode()) {
200 -> {
worksiteModel.value = gson.fromJson(
response, object : TypeToken() {}.type
)
+ loadState.value = LoadState.Success
}
else -> {
+ loadState.value = LoadState.Fail
response.getResponseMessage().show(context)
}
}
diff --git a/app/src/main/res/layout/activity_site_tab.xml b/app/src/main/res/layout/activity_site_tab.xml
index 8053288..a10df43 100644
--- a/app/src/main/res/layout/activity_site_tab.xml
+++ b/app/src/main/res/layout/activity_site_tab.xml
@@ -94,29 +94,11 @@
-
-
-
-
-
-
+ android:layout_weight="1" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file