diff --git a/.idea/misc.xml b/.idea/misc.xml index 60406bc..75ae27f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -76,7 +76,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 60406bc..75ae27f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -76,7 +76,7 @@ - + diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt index de56d08..790d0b2 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt @@ -2,16 +2,15 @@ import androidx.core.content.ContextCompat import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.DataBaseManager import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.include_base_title.* @@ -31,13 +30,30 @@ R.layout.item_event_rv_l, dataRows ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { + urls.add(it) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -46,14 +62,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/.idea/misc.xml b/.idea/misc.xml index 60406bc..75ae27f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -76,7 +76,7 @@ - + diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt index de56d08..790d0b2 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt @@ -2,16 +2,15 @@ import androidx.core.content.ContextCompat import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.DataBaseManager import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.include_base_title.* @@ -31,13 +30,30 @@ R.layout.item_event_rv_l, dataRows ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { + urls.add(it) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -46,14 +62,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt index e647cc8..161bf67 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt @@ -12,6 +12,10 @@ import com.amap.api.maps.model.MarkerOptions import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R +import com.casic.birmm.inspect.callback.OnDistanceSearchListener +import com.casic.birmm.inspect.callback.OnGeocodeSearchListener +import com.casic.birmm.inspect.extensions.calculateDistance +import com.casic.birmm.inspect.extensions.toChinese import com.casic.birmm.inspect.model.RoutePointModel import com.casic.birmm.inspect.utils.DataBaseManager import com.google.gson.Gson @@ -22,8 +26,8 @@ import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper -import kotlinx.android.synthetic.main.activity_inspection_route.* import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.single_activity_inspection_route.* class InspectionRouteActivity : AppCompatActivity() { @@ -60,10 +64,24 @@ //根据id查询详情 val detailData = DataBaseManager.get.queryInspectDetailById(id) - inspectNameView.text = detailData.name - userNameView.text = detailData.user + inspectMsgView.text = detailData.name startTimeView.text = detailData.startTime endTimeView.text = detailData.endTime + + LatLng(detailData.startLat, detailData.startLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + startLocationView.text = address + } + }) + + LatLng(detailData.endLat, detailData.endLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + endLocationView.text = address + } + }) + //移动到巡检起始经纬度 aMap.moveCamera( CameraUpdateFactory.changeLatLng( @@ -81,8 +99,8 @@ return } //[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}] - val type = object : TypeToken>() {}.type - val routeModels = gson.fromJson>(routeJson, type) + val type = object : TypeToken>() {}.type + val routeModels = gson.fromJson>(routeJson, type) //画线 val latLngPoints: ArrayList = ArrayList() routeModels.forEach { routeModel -> @@ -91,6 +109,12 @@ aMap.addPolyline( PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) ) + + routeModels.calculateDistance(object : OnDistanceSearchListener { + override fun onDistanceSearched(distance: String) { + distanceView.text = distance + } + }) } private fun addMarker(point: LatLng, res: Int) { diff --git a/.idea/misc.xml b/.idea/misc.xml index 60406bc..75ae27f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -76,7 +76,7 @@ - + diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt index de56d08..790d0b2 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt @@ -2,16 +2,15 @@ import androidx.core.content.ContextCompat import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.DataBaseManager import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.include_base_title.* @@ -31,13 +30,30 @@ R.layout.item_event_rv_l, dataRows ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { + urls.add(it) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -46,14 +62,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt index e647cc8..161bf67 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt @@ -12,6 +12,10 @@ import com.amap.api.maps.model.MarkerOptions import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R +import com.casic.birmm.inspect.callback.OnDistanceSearchListener +import com.casic.birmm.inspect.callback.OnGeocodeSearchListener +import com.casic.birmm.inspect.extensions.calculateDistance +import com.casic.birmm.inspect.extensions.toChinese import com.casic.birmm.inspect.model.RoutePointModel import com.casic.birmm.inspect.utils.DataBaseManager import com.google.gson.Gson @@ -22,8 +26,8 @@ import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper -import kotlinx.android.synthetic.main.activity_inspection_route.* import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.single_activity_inspection_route.* class InspectionRouteActivity : AppCompatActivity() { @@ -60,10 +64,24 @@ //根据id查询详情 val detailData = DataBaseManager.get.queryInspectDetailById(id) - inspectNameView.text = detailData.name - userNameView.text = detailData.user + inspectMsgView.text = detailData.name startTimeView.text = detailData.startTime endTimeView.text = detailData.endTime + + LatLng(detailData.startLat, detailData.startLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + startLocationView.text = address + } + }) + + LatLng(detailData.endLat, detailData.endLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + endLocationView.text = address + } + }) + //移动到巡检起始经纬度 aMap.moveCamera( CameraUpdateFactory.changeLatLng( @@ -81,8 +99,8 @@ return } //[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}] - val type = object : TypeToken>() {}.type - val routeModels = gson.fromJson>(routeJson, type) + val type = object : TypeToken>() {}.type + val routeModels = gson.fromJson>(routeJson, type) //画线 val latLngPoints: ArrayList = ArrayList() routeModels.forEach { routeModel -> @@ -91,6 +109,12 @@ aMap.addPolyline( PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) ) + + routeModels.calculateDistance(object : OnDistanceSearchListener { + override fun onDistanceSearched(distance: String) { + distanceView.text = distance + } + }) } private fun addMarker(point: LatLng, res: Int) { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt index fcdd1d2..4700b47 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt @@ -3,7 +3,6 @@ import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel @@ -11,9 +10,9 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.vm.LoadState @@ -47,13 +46,30 @@ R.layout.item_event_rv_l, it.data!!.list!! ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { path -> + urls.add(path) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -62,14 +78,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/.idea/misc.xml b/.idea/misc.xml index 60406bc..75ae27f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -76,7 +76,7 @@ - + diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt index de56d08..790d0b2 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt @@ -2,16 +2,15 @@ import androidx.core.content.ContextCompat import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.DataBaseManager import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.include_base_title.* @@ -31,13 +30,30 @@ R.layout.item_event_rv_l, dataRows ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { + urls.add(it) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -46,14 +62,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt index e647cc8..161bf67 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt @@ -12,6 +12,10 @@ import com.amap.api.maps.model.MarkerOptions import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R +import com.casic.birmm.inspect.callback.OnDistanceSearchListener +import com.casic.birmm.inspect.callback.OnGeocodeSearchListener +import com.casic.birmm.inspect.extensions.calculateDistance +import com.casic.birmm.inspect.extensions.toChinese import com.casic.birmm.inspect.model.RoutePointModel import com.casic.birmm.inspect.utils.DataBaseManager import com.google.gson.Gson @@ -22,8 +26,8 @@ import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper -import kotlinx.android.synthetic.main.activity_inspection_route.* import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.single_activity_inspection_route.* class InspectionRouteActivity : AppCompatActivity() { @@ -60,10 +64,24 @@ //根据id查询详情 val detailData = DataBaseManager.get.queryInspectDetailById(id) - inspectNameView.text = detailData.name - userNameView.text = detailData.user + inspectMsgView.text = detailData.name startTimeView.text = detailData.startTime endTimeView.text = detailData.endTime + + LatLng(detailData.startLat, detailData.startLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + startLocationView.text = address + } + }) + + LatLng(detailData.endLat, detailData.endLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + endLocationView.text = address + } + }) + //移动到巡检起始经纬度 aMap.moveCamera( CameraUpdateFactory.changeLatLng( @@ -81,8 +99,8 @@ return } //[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}] - val type = object : TypeToken>() {}.type - val routeModels = gson.fromJson>(routeJson, type) + val type = object : TypeToken>() {}.type + val routeModels = gson.fromJson>(routeJson, type) //画线 val latLngPoints: ArrayList = ArrayList() routeModels.forEach { routeModel -> @@ -91,6 +109,12 @@ aMap.addPolyline( PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) ) + + routeModels.calculateDistance(object : OnDistanceSearchListener { + override fun onDistanceSearched(distance: String) { + distanceView.text = distance + } + }) } private fun addMarker(point: LatLng, res: Int) { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt index fcdd1d2..4700b47 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt @@ -3,7 +3,6 @@ import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel @@ -11,9 +10,9 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.vm.LoadState @@ -47,13 +46,30 @@ R.layout.item_event_rv_l, it.data!!.list!! ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { path -> + urls.add(path) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -62,14 +78,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index 8bffef2..c84129f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -14,6 +14,10 @@ import com.amap.api.maps.model.MarkerOptions import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R +import com.casic.birmm.inspect.callback.OnDistanceSearchListener +import com.casic.birmm.inspect.callback.OnGeocodeSearchListener +import com.casic.birmm.inspect.extensions.calculateDistance +import com.casic.birmm.inspect.extensions.toChinese import com.casic.birmm.inspect.model.RoutePointModel import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel @@ -26,8 +30,12 @@ import com.pengxh.kt.lite.utils.PageNavigationManager import com.pengxh.kt.lite.vm.LoadState import com.qmuiteam.qmui.util.QMUIStatusBarHelper -import kotlinx.android.synthetic.main.activity_inspection_route.* +import kotlinx.android.synthetic.main.activity_inspection_route.endTimeView +import kotlinx.android.synthetic.main.activity_inspection_route.eventButton +import kotlinx.android.synthetic.main.activity_inspection_route.mapView +import kotlinx.android.synthetic.main.activity_inspection_route.startTimeView import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.single_activity_inspection_route.* class InspectionRouteActivity : AppCompatActivity() { @@ -72,10 +80,25 @@ viewModel.getInspectDetail(id) viewModel.inspectDetail.observe(this, Observer { val detailData = it.data!! - inspectNameView.text = detailData.name - userNameView.text = detailData.user + + inspectMsgView.text = detailData.name startTimeView.text = detailData.startTime endTimeView.text = detailData.endTime + + LatLng(detailData.startLat, detailData.startLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + startLocationView.text = address + } + }) + + LatLng(detailData.endLat, detailData.endLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + endLocationView.text = address + } + }) + //移动到巡检起始经纬度 aMap.moveCamera( CameraUpdateFactory.changeLatLng( @@ -93,8 +116,8 @@ return@Observer } //[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}] - val type = object : TypeToken>() {}.type - val routeModels = gson.fromJson>(routeJson, type) + val type = object : TypeToken>() {}.type + val routeModels = gson.fromJson>(routeJson, type) //画线 val latLngPoints: ArrayList = ArrayList() routeModels.forEach { routeModel -> @@ -103,6 +126,12 @@ aMap.addPolyline( PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) ) + + routeModels.calculateDistance(object : OnDistanceSearchListener { + override fun onDistanceSearched(distance: String) { + distanceView.text = distance + } + }) }) } diff --git a/.idea/misc.xml b/.idea/misc.xml index 60406bc..75ae27f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -76,7 +76,7 @@ - + diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt index de56d08..790d0b2 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionEventActivity.kt @@ -2,16 +2,15 @@ import androidx.core.content.ContextCompat import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.DataBaseManager import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.include_base_title.* @@ -31,13 +30,30 @@ R.layout.item_event_rv_l, dataRows ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { + urls.add(it) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -46,14 +62,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt index e647cc8..161bf67 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/view/InspectionRouteActivity.kt @@ -12,6 +12,10 @@ import com.amap.api.maps.model.MarkerOptions import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R +import com.casic.birmm.inspect.callback.OnDistanceSearchListener +import com.casic.birmm.inspect.callback.OnGeocodeSearchListener +import com.casic.birmm.inspect.extensions.calculateDistance +import com.casic.birmm.inspect.extensions.toChinese import com.casic.birmm.inspect.model.RoutePointModel import com.casic.birmm.inspect.utils.DataBaseManager import com.google.gson.Gson @@ -22,8 +26,8 @@ import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper -import kotlinx.android.synthetic.main.activity_inspection_route.* import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.single_activity_inspection_route.* class InspectionRouteActivity : AppCompatActivity() { @@ -60,10 +64,24 @@ //根据id查询详情 val detailData = DataBaseManager.get.queryInspectDetailById(id) - inspectNameView.text = detailData.name - userNameView.text = detailData.user + inspectMsgView.text = detailData.name startTimeView.text = detailData.startTime endTimeView.text = detailData.endTime + + LatLng(detailData.startLat, detailData.startLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + startLocationView.text = address + } + }) + + LatLng(detailData.endLat, detailData.endLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + endLocationView.text = address + } + }) + //移动到巡检起始经纬度 aMap.moveCamera( CameraUpdateFactory.changeLatLng( @@ -81,8 +99,8 @@ return } //[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}] - val type = object : TypeToken>() {}.type - val routeModels = gson.fromJson>(routeJson, type) + val type = object : TypeToken>() {}.type + val routeModels = gson.fromJson>(routeJson, type) //画线 val latLngPoints: ArrayList = ArrayList() routeModels.forEach { routeModel -> @@ -91,6 +109,12 @@ aMap.addPolyline( PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) ) + + routeModels.calculateDistance(object : OnDistanceSearchListener { + override fun onDistanceSearched(distance: String) { + distanceView.text = distance + } + }) } private fun addMarker(point: LatLng, res: Int) { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt index fcdd1d2..4700b47 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionEventActivity.kt @@ -3,7 +3,6 @@ import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.extensions.addAll import com.casic.birmm.inspect.model.InspectEventModel import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel @@ -11,9 +10,9 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.filterSpaceOrEnter import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.vm.LoadState @@ -47,13 +46,30 @@ R.layout.item_event_rv_l, it.data!!.list!! ) { override fun convertView( - viewHolder: ViewHolder, - position: Int, + viewHolder: ViewHolder, position: Int, item: InspectEventModel.DataModel.ListModel ) { - viewHolder.setText(R.id.inspectMsgView, item.name) + /** + * images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg + * images: + * images: 2020-12/c2fd5777fe5d4e09af0bbd6693f5fbf4.jpg,2020-12/7d91abc431d0482da33745bacc111bc4.jpg + * */ + val images = item.images + val urls: ArrayList = ArrayList() + if (images != null) { + // images == "" + if (images.isNotEmpty()) { + val imageArray = images.split(",") + imageArray.forEach { path -> + urls.add(path) + } + } + } + + viewHolder.setImageResource(R.id.inspectImageView, urls[0]) + .setText(R.id.inspectMsgView, item.name) .setText(R.id.inspectTypeView, "类型:${item.type}") - .setText(R.id.inspectDateView, "上报时间:${item.createTime}") + .setText(R.id.inspectDateView, "时间:${item.createTime}") } } eventRecyclerView.adapter = eventAdapter @@ -62,14 +78,7 @@ override fun onItemClicked( position: Int, t: InspectEventModel.DataModel.ListModel ) { - navigatePageTo( - addAll( - t.createTime, - t.description!!.filterSpaceOrEnter(), - t.data, - t.images - ) - ) + navigatePageTo(t.toJson()) } }) } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt index 8bffef2..c84129f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionRouteActivity.kt @@ -14,6 +14,10 @@ import com.amap.api.maps.model.MarkerOptions import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R +import com.casic.birmm.inspect.callback.OnDistanceSearchListener +import com.casic.birmm.inspect.callback.OnGeocodeSearchListener +import com.casic.birmm.inspect.extensions.calculateDistance +import com.casic.birmm.inspect.extensions.toChinese import com.casic.birmm.inspect.model.RoutePointModel import com.casic.birmm.inspect.utils.LoadingDialogHub import com.casic.birmm.inspect.vm.InspectionViewModel @@ -26,8 +30,12 @@ import com.pengxh.kt.lite.utils.PageNavigationManager import com.pengxh.kt.lite.vm.LoadState import com.qmuiteam.qmui.util.QMUIStatusBarHelper -import kotlinx.android.synthetic.main.activity_inspection_route.* +import kotlinx.android.synthetic.main.activity_inspection_route.endTimeView +import kotlinx.android.synthetic.main.activity_inspection_route.eventButton +import kotlinx.android.synthetic.main.activity_inspection_route.mapView +import kotlinx.android.synthetic.main.activity_inspection_route.startTimeView import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.single_activity_inspection_route.* class InspectionRouteActivity : AppCompatActivity() { @@ -72,10 +80,25 @@ viewModel.getInspectDetail(id) viewModel.inspectDetail.observe(this, Observer { val detailData = it.data!! - inspectNameView.text = detailData.name - userNameView.text = detailData.user + + inspectMsgView.text = detailData.name startTimeView.text = detailData.startTime endTimeView.text = detailData.endTime + + LatLng(detailData.startLat, detailData.startLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + startLocationView.text = address + } + }) + + LatLng(detailData.endLat, detailData.endLng).toChinese(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + endLocationView.text = address + } + }) + //移动到巡检起始经纬度 aMap.moveCamera( CameraUpdateFactory.changeLatLng( @@ -93,8 +116,8 @@ return@Observer } //[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}] - val type = object : TypeToken>() {}.type - val routeModels = gson.fromJson>(routeJson, type) + val type = object : TypeToken>() {}.type + val routeModels = gson.fromJson>(routeJson, type) //画线 val latLngPoints: ArrayList = ArrayList() routeModels.forEach { routeModel -> @@ -103,6 +126,12 @@ aMap.addPolyline( PolylineOptions().addAll(latLngPoints).width(10.toFloat()).color(Color.RED) ) + + routeModels.calculateDistance(object : OnDistanceSearchListener { + override fun onDistanceSearched(distance: String) { + distanceView.text = distance + } + }) }) } diff --git a/app/src/main/res/layout/single_activity_inspection_route.xml b/app/src/main/res/layout/single_activity_inspection_route.xml index e922f67..128ff83 100644 --- a/app/src/main/res/layout/single_activity_inspection_route.xml +++ b/app/src/main/res/layout/single_activity_inspection_route.xml @@ -18,69 +18,173 @@ - - - - - - - + android:orientation="vertical" + android:padding="@dimen/dp_5"> + android:paddingHorizontal="@dimen/dp_7" + android:singleLine="true" + android:text="金沟河路甲烷巡检任务" + android:textColor="@color/black" + android:textSize="@dimen/sp_16" /> + android:orientation="horizontal"> - + + + + + + + + + + + + + + + + android:orientation="vertical"> - + + + + + + + + + + + + + + + + android:layout_gravity="bottom" + android:layout_marginStart="@dimen/dp_5" + android:background="@drawable/bg_solid_layout_gray_radius_5" + android:gravity="center_horizontal" + android:orientation="vertical" + android:padding="@dimen/dp_5"> + + + + + + + + + +