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