From e102578ebfc95c27aeb13dce13fb82af53a2bead Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 25 二月 2021 17:07:23 +0800
Subject: [PATCH] 1. 新增夜间施工查询界面 2. 新增夜间施工管理统计界面
---
app/src/main/java/cn/flightfeather/thirdapp/module/nightwork/NightWorkRecordActivity.kt | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 155 insertions(+), 6 deletions(-)
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/nightwork/NightWorkRecordActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/nightwork/NightWorkRecordActivity.kt
index 3872ef9..530d7ae 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/nightwork/NightWorkRecordActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/nightwork/NightWorkRecordActivity.kt
@@ -1,10 +1,25 @@
package cn.flightfeather.thirdapp.module.nightwork
import android.arch.lifecycle.ViewModelProviders
+import android.content.Intent
import android.os.Bundle
+import android.support.v7.widget.LinearLayoutManager
+import android.support.v7.widget.RecyclerView
+import android.view.LayoutInflater
import android.view.View
import cn.flightfeather.thirdapp.R
+import cn.flightfeather.thirdapp.common.net.ResultCallBack
+import cn.flightfeather.thirdapp.model.bean.NightWorkFileVo
import cn.flightfeather.thirdapp.module.base.BaseActivity
+import cn.flightfeather.thirdapp.module.common.OfficeFileManageActivity
+import cn.flightfeather.thirdapp.util.CommonUtils
+import cn.flightfeather.thirdapp.view.recyclerview.BaseCustomViewHolder
+import cn.flightfeather.thirdapp.view.recyclerview.EmptyLoadMoreView
+import cn.flightfeather.thirdapp.view.recyclerview.MySection
+import cn.flightfeather.thirdapp.view.recyclerview.RecyclerViewPanel
+import com.chad.library.adapter.base.BaseQuickAdapter
+import com.chad.library.adapter.base.BaseViewHolder
+import com.chad.library.adapter.base.loadmore.LoadMoreView
import kotlinx.android.synthetic.main.activity_night_work.*
import kotlinx.android.synthetic.main.layout_toolbar_2.*
@@ -12,10 +27,25 @@
* @author riku
* Date: 2020/12/24
*/
-class NightWorkRecordActivity : BaseActivity(), View.OnClickListener {
- override fun getLayoutId(): Int = R.layout.activity_night_work
+class NightWorkRecordActivity : BaseActivity() {
+
+ inner class FileLoadMoreView : LoadMoreView() {
+ override fun getLayoutId(): Int = R.layout.item_night_work_no_more
+
+ override fun getLoadingViewId(): Int = R.id.no_more
+
+ override fun getLoadFailViewId(): Int = R.id.no_more
+
+ override fun getLoadEndViewId(): Int = R.id.no_more
+ }
lateinit var viewModel: NightWorkViewModel
+
+ private lateinit var recyclerViewPanel1: RecyclerViewPanel<NightWorkFileVo>
+
+ private lateinit var recyclerViewPanel2: RecyclerViewPanel<NightWorkFileVo>
+
+ override fun getLayoutId(): Int = R.layout.activity_night_work
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -28,23 +58,142 @@
}
private fun initToolbar() {
- img_back.setOnClickListener(this)
+ img_back.setOnClickListener { finish() }
tv_main_title.text = "澶滈棿鏂藉伐璁稿彲"
}
+ /**
+ * 鏈�鏂版湭璇绘枃浠�
+ */
private fun initRecyclerView1() {
- recycler_view
+ recyclerViewPanel1 = object : RecyclerViewPanel<NightWorkFileVo>(viewModel.dataLoadModel1, recycler_view, this) {
+ private val TYPE_ITEM = 1
+ private val TYPE_EMPTY = 2
+
+ override fun getItemLayoutId(): Int? = R.layout.item_night_work
+
+// override fun getItemLayoutIdMap(): Map<Int, Int> = mapOf(
+// Pair(TYPE_ITEM, R.layout.item_night_work),
+// Pair(TYPE_EMPTY, R.layout.item_night_work_no_more)
+// )
+
+// override fun convertToSection(list: List<NightWorkFileVo>): MutableList<MySection<NightWorkFileVo>> {
+// val resultList = mutableListOf<MySection<NightWorkFileVo>>()
+// list.forEach {
+// if (it.id != null) {
+// resultList.add(MySection(it, TYPE_ITEM))
+// }
+// }
+// resultList.add(MySection(NightWorkFileVo(), TYPE_EMPTY))
+// return resultList
+// }
+
+ override fun onBindView(holder: BaseCustomViewHolder, item: MySection<NightWorkFileVo>?) {
+ item?.t?.let { vo ->
+// when (holder.itemViewType) {
+// TYPE_ITEM -> {
+//
+// }
+// TYPE_EMPTY -> Unit
+// else -> Unit
+// }
+ val time = CommonUtils.getStartEndDate(vo.startDate, vo.endDate)
+ holder.setText(R.id.txt_night_work_num, vo.num)
+ .setText(R.id.txt_content, vo.applyContent)
+ .setText(R.id.txt_time, time)
+ .addOnClickListener(R.id.txt_sign)
+ }
+ }
+
+ override fun onItemClick(adapter: BaseQuickAdapter<Any?, BaseViewHolder>, view: View, position: Int, dataList: List<NightWorkFileVo>) {
+ super.onItemClick(adapter, view, position, dataList)
+ val d = dataList[position]
+ openDetail(d)
+ d.id?.let { id ->
+ d.num?.let { num ->
+ viewModel.signFile(id, num, object : ResultCallBack<Int> {
+ override fun onSuccess(result: Int?) {
+ adapter.remove(position)
+ recyclerViewPanel2.addData(0, listOf(d))
+ }
+
+ override fun onFailure() {
+ }
+ })
+ }
+ }
+ }
+
+ override fun onItemChildClick(adapter: BaseQuickAdapter<Any?, BaseViewHolder>, view: View, position: Int, dataList: List<NightWorkFileVo>) {
+ super.onItemChildClick(adapter, view, position, dataList)
+ val d = dataList[position]
+ when (view.id) {
+ R.id.txt_sign -> {
+ d.id?.let { id ->
+ d.num?.let { num ->
+ viewModel.signFile(id, num, object : ResultCallBack<Int> {
+ override fun onSuccess(result: Int?) {
+ adapter.remove(position)
+ recyclerViewPanel2.addData(0, listOf(d))
+ }
+
+ override fun onFailure() {
+ }
+ })
+ }
+ }
+ }
+ }
+ }
+
+ override fun getMyLayoutManager(): RecyclerView.LayoutManager = LinearLayoutManager(this@NightWorkRecordActivity, LinearLayoutManager.HORIZONTAL, false)
+
+ override fun needSwipeRefresh(): Boolean = false
+
+ override fun getLoadMoreView(): LoadMoreView? = FileLoadMoreView()
+
+ override fun getMyEmptyView(): View? = LayoutInflater.from(this@NightWorkRecordActivity).inflate(R.layout.layout_night_work_empty, null)
+
+ }.also {
+ it.init()
+ it.startRefresh()
+ }
}
+ /**
+ * 鍘嗗彶鏂囦欢
+ */
private fun initRecyclerView2() {
+ recyclerViewPanel2 = object : RecyclerViewPanel<NightWorkFileVo>(viewModel.dataLoadModel2, recycler_view_2, this) {
+ override fun getItemLayoutId(): Int? = R.layout.item_night_work_2
+ override fun onBindView(holder: BaseCustomViewHolder, item: MySection<NightWorkFileVo>?) {
+ item?.t?.let { vo ->
+ val time = CommonUtils.getStartEndDate(vo.startDate, vo.endDate)
+ holder.setText(R.id.txt_content, vo.applyContent)
+ .setText(R.id.txt_time, time)
+ }
+ }
+
+ override fun onItemClick(adapter: BaseQuickAdapter<Any?, BaseViewHolder>, view: View, position: Int, dataList: List<NightWorkFileVo>) {
+ super.onItemClick(adapter, view, position, dataList)
+ openDetail(dataList[position])
+ }
+ }.also {
+ it.init()
+ it.startRefresh()
+ }
}
private fun initObserver() {
}
- override fun onClick(v: View?) {
- TODO("Not yet implemented")
+ private fun openDetail(nightWorkFileVo: NightWorkFileVo) {
+ val intent = Intent(this, OfficeFileManageActivity::class.java)
+ intent.putExtra("filePath", nightWorkFileVo.url)
+ intent.putExtra("fileName", nightWorkFileVo.fileName)
+ intent.putExtra("isRemoteFile", nightWorkFileVo.url?.contains("http") == true)
+ startActivity(intent)
}
}
\ No newline at end of file
--
Gitblit v1.9.3