diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 5e35a4c..163c7d2 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -1,10 +1,8 @@ package com.casic.br.ktd.retrofit -import com.casic.br.ktd.base.BaseApplication import com.casic.br.ktd.utils.AuthenticationHelper import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.JsonObject -import com.pengxh.kt.lite.extensions.readAssetsFile import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -70,9 +68,26 @@ /** * 获取任务列表 */ - suspend fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + suspend fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ): String { - return BaseApplication.get().readAssetsFile("TestData.json") + val param = JsonObject() + param.addProperty("beginDate", beginDate) + param.addProperty("endDate", endDate) + param.addProperty("taskName", taskName) + param.addProperty("taskCode", taskCode) + + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getTasksByPage( + AuthenticationHelper.token, requestBody, limitMap, offsetMap + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 5e35a4c..163c7d2 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -1,10 +1,8 @@ package com.casic.br.ktd.retrofit -import com.casic.br.ktd.base.BaseApplication import com.casic.br.ktd.utils.AuthenticationHelper import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.JsonObject -import com.pengxh.kt.lite.extensions.readAssetsFile import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -70,9 +68,26 @@ /** * 获取任务列表 */ - suspend fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + suspend fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ): String { - return BaseApplication.get().readAssetsFile("TestData.json") + val param = JsonObject() + param.addProperty("beginDate", beginDate) + param.addProperty("endDate", endDate) + param.addProperty("taskName", taskName) + param.addProperty("taskCode", taskCode) + + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getTasksByPage( + AuthenticationHelper.token, requestBody, limitMap, offsetMap + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt index bd323dd..6784987 100644 --- a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt @@ -23,6 +23,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 + const val PAGE_LIMIT = 10 /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 5e35a4c..163c7d2 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -1,10 +1,8 @@ package com.casic.br.ktd.retrofit -import com.casic.br.ktd.base.BaseApplication import com.casic.br.ktd.utils.AuthenticationHelper import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.JsonObject -import com.pengxh.kt.lite.extensions.readAssetsFile import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -70,9 +68,26 @@ /** * 获取任务列表 */ - suspend fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + suspend fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ): String { - return BaseApplication.get().readAssetsFile("TestData.json") + val param = JsonObject() + param.addProperty("beginDate", beginDate) + param.addProperty("endDate", endDate) + param.addProperty("taskName", taskName) + param.addProperty("taskCode", taskCode) + + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getTasksByPage( + AuthenticationHelper.token, requestBody, limitMap, offsetMap + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt index bd323dd..6784987 100644 --- a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt @@ -23,6 +23,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 + const val PAGE_LIMIT = 10 /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 15742fe..ecff7c8 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -108,6 +108,7 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var aMap: AMap private lateinit var uiSettings: UiSettings + private var taskTitle = "" /** * 协程配置云台设备,缓解新进页面较卡的问题 @@ -141,6 +142,9 @@ override fun initData(savedInstanceState: Bundle?) { PageNavigationManager.addActivity(this) weakReferenceHandler = WeakReferenceHandler(this) + + taskTitle = intent.getStringExtra(Constant.INTENT_PARAM).toString() + /** * 配置云台设备 * */ diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 5e35a4c..163c7d2 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -1,10 +1,8 @@ package com.casic.br.ktd.retrofit -import com.casic.br.ktd.base.BaseApplication import com.casic.br.ktd.utils.AuthenticationHelper import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.JsonObject -import com.pengxh.kt.lite.extensions.readAssetsFile import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -70,9 +68,26 @@ /** * 获取任务列表 */ - suspend fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + suspend fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ): String { - return BaseApplication.get().readAssetsFile("TestData.json") + val param = JsonObject() + param.addProperty("beginDate", beginDate) + param.addProperty("endDate", endDate) + param.addProperty("taskName", taskName) + param.addProperty("taskCode", taskCode) + + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getTasksByPage( + AuthenticationHelper.token, requestBody, limitMap, offsetMap + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt index bd323dd..6784987 100644 --- a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt @@ -23,6 +23,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 + const val PAGE_LIMIT = 10 /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 15742fe..ecff7c8 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -108,6 +108,7 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var aMap: AMap private lateinit var uiSettings: UiSettings + private var taskTitle = "" /** * 协程配置云台设备,缓解新进页面较卡的问题 @@ -141,6 +142,9 @@ override fun initData(savedInstanceState: Bundle?) { PageNavigationManager.addActivity(this) weakReferenceHandler = WeakReferenceHandler(this) + + taskTitle = intent.getStringExtra(Constant.INTENT_PARAM).toString() + /** * 配置云台设备 * */ diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index 1842e89..0c29f0f 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -18,12 +18,12 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() - fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.getTaskList( - startTime, endTime, taskName, taskCode, offset + val response = RetrofitServiceManager.getTasksByPage( + beginDate, endDate, taskName, taskCode, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 5e35a4c..163c7d2 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -1,10 +1,8 @@ package com.casic.br.ktd.retrofit -import com.casic.br.ktd.base.BaseApplication import com.casic.br.ktd.utils.AuthenticationHelper import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.JsonObject -import com.pengxh.kt.lite.extensions.readAssetsFile import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -70,9 +68,26 @@ /** * 获取任务列表 */ - suspend fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + suspend fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ): String { - return BaseApplication.get().readAssetsFile("TestData.json") + val param = JsonObject() + param.addProperty("beginDate", beginDate) + param.addProperty("endDate", endDate) + param.addProperty("taskName", taskName) + param.addProperty("taskCode", taskCode) + + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getTasksByPage( + AuthenticationHelper.token, requestBody, limitMap, offsetMap + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt index bd323dd..6784987 100644 --- a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt @@ -23,6 +23,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 + const val PAGE_LIMIT = 10 /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 15742fe..ecff7c8 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -108,6 +108,7 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var aMap: AMap private lateinit var uiSettings: UiSettings + private var taskTitle = "" /** * 协程配置云台设备,缓解新进页面较卡的问题 @@ -141,6 +142,9 @@ override fun initData(savedInstanceState: Bundle?) { PageNavigationManager.addActivity(this) weakReferenceHandler = WeakReferenceHandler(this) + + taskTitle = intent.getStringExtra(Constant.INTENT_PARAM).toString() + /** * 配置云台设备 * */ diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index 1842e89..0c29f0f 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -18,12 +18,12 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() - fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.getTaskList( - startTime, endTime, taskName, taskCode, offset + val response = RetrofitServiceManager.getTasksByPage( + beginDate, endDate, taskName, taskCode, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index 58d852e..424f407 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -129,30 +129,102 @@ android:background="@color/backgroundColor" android:orientation="vertical"> - - - + android:layout_height="@dimen/dp_60" + android:background="#EDF1F5" + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingHorizontal="@dimen/dp_15"> - - - + android:layout_marginEnd="@dimen/dp_15" + android:visibility="invisible" /> - + + + + + + + + + + + + + + + + + - + android:layout_height="match_parent"> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index c1b1265..c6e8354 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -151,7 +151,7 @@ super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) - //计算本地缓存 + //计算本地缓存,TODO 后期需要考虑视频本地缓存清除 bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index 6b82a54..343991d 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -16,6 +16,7 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertInputDialog import com.casic.br.ktd.widgets.DateRangeActionSheet +import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -63,13 +64,13 @@ } } } + getTasksByPage() } override fun onResume() { super.onResume() //fragment切换时候重置侧滑按钮 swipeAction.clear() - getTaskList() } override fun handleMessage(msg: Message): Boolean { @@ -86,14 +87,44 @@ viewHolder: SwipeViewHolder, position: Int, item: TaskListModel.DataModel.RowsModel ) { + val beginDate = if (item.beginDate.isNullOrBlank()) { + "时间未知" + } else { + item.beginDate + } + + val endDate = if (item.endDate.isNullOrBlank()) { + "时间未知" + } else { + item.endDate + } + + val km = if (item.km.isNullOrBlank()) { + "0" + } else { + item.km + } + + val taskState: String + if (item.status == "0") { + taskState = "进行中" + viewHolder.setBackgroundColor( + R.id.taskStateView, R.color.green.convertColor(requireContext()) + ) + } else { + taskState = "已完成" + viewHolder.setBackgroundColor( + R.id.taskStateView, + R.color.themeColor.convertColor(requireContext()) + ) + } + viewHolder.setText(R.id.taskCodeView, item.taskCode) .setText(R.id.taskNameView, item.taskName) - .setText(R.id.carNumberView, item.carNumber) - .setText(R.id.deviceCodeView, item.deviceCode) - .setText(R.id.startTimeView, item.startTime) - .setText(R.id.endTimeView, item.endTime) - .setText(R.id.attrView, item.attr) - .setText(R.id.taskStateView, item.taskState) + .setText(R.id.startTimeView, beginDate) + .setText(R.id.endTimeView, endDate) + .setText(R.id.pathLengthView, km) + .setText(R.id.taskStateView, taskState) } } //绑定侧滑事件 @@ -114,8 +145,7 @@ private val swipeAction = QMUIRVItemSwipeAction(false, object : QMUIRVItemSwipeAction.Callback() { override fun getSwipeDirection( - recyclerView: RecyclerView, - viewHolder: RecyclerView.ViewHolder + recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder ): Int { return QMUIRVItemSwipeAction.SWIPE_LEFT } @@ -183,21 +213,20 @@ } bv.addTaskButton.setOnClickListener { -// AlertInputDialog.Builder() -// .setContext(requireContext()) -// .setTitle("新建巡检任务") -// .setHintMessage("请输入巡检任务名称") -// .setNegativeButton("取消") -// .setPositiveButton("确定") -// .setOnDialogButtonClickListener(object : -// AlertInputDialog.OnDialogButtonClickListener { -// override fun onConfirmClick(value: String) { -// requireContext().navigatePageTo(value) -// } -// -// override fun onCancelClick() {} -// }).build().show() - requireContext().navigatePageTo() + AlertInputDialog.Builder() + .setContext(requireContext()) + .setTitle("新建巡检任务") + .setHintMessage("请输入巡检任务名称") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertInputDialog.OnDialogButtonClickListener { + override fun onConfirmClick(value: String) { + requireContext().navigatePageTo(value) + } + + override fun onCancelClick() {} + }).build().show() } bv.deleteTaskButton.setOnClickListener { @@ -225,18 +254,18 @@ isRefresh = true //刷新之后页码重置 pageIndex = 1 - getTaskList() + getTasksByPage() } bv.taskLayout.setOnLoadMoreListener { isLoadMore = true pageIndex++ - getTaskList() + getTasksByPage() } } - private fun getTaskList() { - taskViewModel.getTaskList( + private fun getTasksByPage() { + taskViewModel.getTasksByPage( startTime, endTime, bv.taskNameView.text.toString(), diff --git a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt index a6b3daa..b7676e4 100644 --- a/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt +++ b/app/src/main/java/com/casic/br/ktd/holder/SwipeViewHolder.kt @@ -47,4 +47,17 @@ } return this } + + /** + * 设置指定ViewId的背景颜色 + * + * @param idRes 控件ID + * @param color 颜色 + * @return holder + */ + fun setBackgroundColor(@IdRes idRes: Int, color: Int): SwipeViewHolder { + val view = getView(idRes) + view.setBackgroundColor(color) + return this + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java index 3110a26..f6737bd 100644 --- a/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/TaskListModel.java @@ -52,14 +52,92 @@ } public static class RowsModel { + private String beginDate; + private String carId; + private String description; + private String description1; + private String description2; + private String endDate; + private String id; + private String km; + private String status; private String taskCode; private String taskName; - private String carNumber; - private String deviceCode; - private String startTime; - private String endTime; - private String attr; - private String taskState; + private String ts; + private String updateTime; + private String valid; + + public String getBeginDate() { + return beginDate; + } + + public void setBeginDate(String beginDate) { + this.beginDate = beginDate; + } + + public String getCarId() { + return carId; + } + + public void setCarId(String carId) { + this.carId = carId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getKm() { + return km; + } + + public void setKm(String km) { + this.km = km; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } public String getTaskCode() { return taskCode; @@ -77,52 +155,28 @@ this.taskName = taskName; } - public String getCarNumber() { - return carNumber; + public String getTs() { + return ts; } - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; + public void setTs(String ts) { + this.ts = ts; } - public String getDeviceCode() { - return deviceCode; + public String getUpdateTime() { + return updateTime; } - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; } - public String getStartTime() { - return startTime; + public String getValid() { + return valid; } - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - - public String getAttr() { - return attr; - } - - public void setAttr(String attr) { - this.attr = attr; - } - - public String getTaskState() { - return taskState; - } - - public void setTaskState(String taskState) { - this.taskState = taskState; + public void setValid(String valid) { + this.valid = valid; } } } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt index 726b4e9..c6aa6d8 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitService.kt @@ -39,4 +39,15 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取巡检任务列表 + */ + @POST("/system/busPatrolTask/listPage") + suspend fun getTasksByPage( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map, + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 5e35a4c..163c7d2 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -1,10 +1,8 @@ package com.casic.br.ktd.retrofit -import com.casic.br.ktd.base.BaseApplication import com.casic.br.ktd.utils.AuthenticationHelper import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.JsonObject -import com.pengxh.kt.lite.extensions.readAssetsFile import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -70,9 +68,26 @@ /** * 获取任务列表 */ - suspend fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + suspend fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ): String { - return BaseApplication.get().readAssetsFile("TestData.json") + val param = JsonObject() + param.addProperty("beginDate", beginDate) + param.addProperty("endDate", endDate) + param.addProperty("taskName", taskName) + param.addProperty("taskCode", taskCode) + + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getTasksByPage( + AuthenticationHelper.token, requestBody, limitMap, offsetMap + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt index bd323dd..6784987 100644 --- a/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/ktd/utils/LocaleConstant.kt @@ -23,6 +23,7 @@ * ============================================================================================= * */ const val PERMISSIONS_CODE = 999 + const val PAGE_LIMIT = 10 /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 15742fe..ecff7c8 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -108,6 +108,7 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var aMap: AMap private lateinit var uiSettings: UiSettings + private var taskTitle = "" /** * 协程配置云台设备,缓解新进页面较卡的问题 @@ -141,6 +142,9 @@ override fun initData(savedInstanceState: Bundle?) { PageNavigationManager.addActivity(this) weakReferenceHandler = WeakReferenceHandler(this) + + taskTitle = intent.getStringExtra(Constant.INTENT_PARAM).toString() + /** * 配置云台设备 * */ diff --git a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt index 1842e89..0c29f0f 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/TaskViewModel.kt @@ -18,12 +18,12 @@ private val gson by lazy { Gson() } val taskList = MutableLiveData() - fun getTaskList( - startTime: String, endTime: String, taskName: String, taskCode: String, offset: Int + fun getTasksByPage( + beginDate: String, endDate: String, taskName: String, taskCode: String, offset: Int ) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.getTaskList( - startTime, endTime, taskName, taskCode, offset + val response = RetrofitServiceManager.getTasksByPage( + beginDate, endDate, taskName, taskCode, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml index 58d852e..424f407 100644 --- a/app/src/main/res/layout/fragment_task.xml +++ b/app/src/main/res/layout/fragment_task.xml @@ -129,30 +129,102 @@ android:background="@color/backgroundColor" android:orientation="vertical"> - - - + android:layout_height="@dimen/dp_60" + android:background="#EDF1F5" + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingHorizontal="@dimen/dp_15"> - - - + android:layout_marginEnd="@dimen/dp_15" + android:visibility="invisible" /> - + + + + + + + + + + + + + + + + + - + android:layout_height="match_parent"> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_task_rv_l.xml b/app/src/main/res/layout/item_task_rv_l.xml index cb5e33e..64626a2 100644 --- a/app/src/main/res/layout/item_task_rv_l.xml +++ b/app/src/main/res/layout/item_task_rv_l.xml @@ -1,7 +1,8 @@ @@ -14,8 +15,9 @@ @@ -24,53 +26,46 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_15" - android:layout_weight="1" + android:layout_weight="3" android:text="永定路日常巡检任务" android:textSize="@dimen/sp_18" /> - - - - - + android:layout_weight="1" + android:paddingVertical="@dimen/dp_5" + android:text="进行中" + android:textColor="@color/white" + android:textSize="@dimen/sp_18" + app:qmui_backgroundColor="@color/themeColor" + app:qmui_borderWidth="0dp" + app:qmui_radius="@dimen/dp_7" /> \ No newline at end of file