diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt index 8f57ca5..c1df2b1 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt @@ -63,12 +63,21 @@ /** * 获取隐患目录列表 */ - @POST("/meter/file/listPage") + @GET("/alarm-menu/listPage") suspend fun getHiddenTroubleMenuByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("keyword") keyword: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int + ): String + + /** + * 获取隐患详情 + */ + @GET("/alarm-menu/detail") + suspend fun getHiddenTroubleDetail( + @Header("token") token: String, + @Query("id") id: String ): String /** diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt index 8f57ca5..c1df2b1 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt @@ -63,12 +63,21 @@ /** * 获取隐患目录列表 */ - @POST("/meter/file/listPage") + @GET("/alarm-menu/listPage") suspend fun getHiddenTroubleMenuByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("keyword") keyword: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int + ): String + + /** + * 获取隐患详情 + */ + @GET("/alarm-menu/detail") + suspend fun getHiddenTroubleDetail( + @Header("token") token: String, + @Query("id") id: String ): String /** diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt index 3fab213..efa0f55 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt @@ -83,23 +83,19 @@ * 获取隐患目录列表 */ suspend fun getHiddenTroubleMenuByPage(keywords: String, offset: Int): String { - val param = JsonObject() - param.addProperty("keywords", keywords) - 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.getHiddenTroubleMenuByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } /** + * 获取隐患详情 + */ + suspend fun getHiddenTroubleDetail(id: String): String { + return api.getHiddenTroubleDetail(AuthenticationHelper.token, id) + } + + /** * 获取检查清单 */ suspend fun getCheckManifestByPage(keywords: String, offset: Int): String { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt index 8f57ca5..c1df2b1 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt @@ -63,12 +63,21 @@ /** * 获取隐患目录列表 */ - @POST("/meter/file/listPage") + @GET("/alarm-menu/listPage") suspend fun getHiddenTroubleMenuByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("keyword") keyword: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int + ): String + + /** + * 获取隐患详情 + */ + @GET("/alarm-menu/detail") + suspend fun getHiddenTroubleDetail( + @Header("token") token: String, + @Query("id") id: String ): String /** diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt index 3fab213..efa0f55 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt @@ -83,23 +83,19 @@ * 获取隐患目录列表 */ suspend fun getHiddenTroubleMenuByPage(keywords: String, offset: Int): String { - val param = JsonObject() - param.addProperty("keywords", keywords) - 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.getHiddenTroubleMenuByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } /** + * 获取隐患详情 + */ + suspend fun getHiddenTroubleDetail(id: String): String { + return api.getHiddenTroubleDetail(AuthenticationHelper.token, id) + } + + /** * 获取检查清单 */ suspend fun getCheckManifestByPage(keywords: String, offset: Int): String { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 2cbb8fd..6c7e7e5 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -13,6 +13,8 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -23,8 +25,9 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 10.dp2px(this) } + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -33,6 +36,7 @@ override fun initEvent() { binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() + getHiddenTroubleMenuByPage() } binding.refreshLayout.setOnRefreshListener { @@ -51,32 +55,39 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + hiddenTroubleAdapter.setRefreshData(dataRows) + binding.refreshLayout.finishRefresh() + isRefresh = false + } + + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + hiddenTroubleAdapter.setLoadMoreData(dataRows) + binding.refreshLayout.finishLoadMore() + isLoadMore = false + } + + else -> { + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2024030402) + } + } + } } + + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, marginOffset, marginOffset shr 1 + ) + ) } private fun getHiddenTroubleMenuByPage() { @@ -87,24 +98,25 @@ when (msg.what) { 2024030402 -> { hiddenTroubleAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_hidden_trouble, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel + item: HiddenTroubleModel.DataModel.RowsModel ) { - + viewHolder.setText(R.id.troubleTypeView, item.mainClassName) + .setText(R.id.troubleNameView, item.subClassName) + .setText(R.id.troubleContentView, item.sceneName) } } binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: HiddenTroubleModel + position: Int, t: HiddenTroubleModel.DataModel.RowsModel ) { - //TODO 查看隐患目录详情 + navigatePageTo(t.id) } }) } @@ -118,6 +130,9 @@ override fun observeRequestState() { hiddenTroubleViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt index 8f57ca5..c1df2b1 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt @@ -63,12 +63,21 @@ /** * 获取隐患目录列表 */ - @POST("/meter/file/listPage") + @GET("/alarm-menu/listPage") suspend fun getHiddenTroubleMenuByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("keyword") keyword: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int + ): String + + /** + * 获取隐患详情 + */ + @GET("/alarm-menu/detail") + suspend fun getHiddenTroubleDetail( + @Header("token") token: String, + @Query("id") id: String ): String /** diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt index 3fab213..efa0f55 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt @@ -83,23 +83,19 @@ * 获取隐患目录列表 */ suspend fun getHiddenTroubleMenuByPage(keywords: String, offset: Int): String { - val param = JsonObject() - param.addProperty("keywords", keywords) - 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.getHiddenTroubleMenuByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } /** + * 获取隐患详情 + */ + suspend fun getHiddenTroubleDetail(id: String): String { + return api.getHiddenTroubleDetail(AuthenticationHelper.token, id) + } + + /** * 获取检查清单 */ suspend fun getCheckManifestByPage(keywords: String, offset: Int): String { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 2cbb8fd..6c7e7e5 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -13,6 +13,8 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -23,8 +25,9 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 10.dp2px(this) } + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -33,6 +36,7 @@ override fun initEvent() { binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() + getHiddenTroubleMenuByPage() } binding.refreshLayout.setOnRefreshListener { @@ -51,32 +55,39 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + hiddenTroubleAdapter.setRefreshData(dataRows) + binding.refreshLayout.finishRefresh() + isRefresh = false + } + + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + hiddenTroubleAdapter.setLoadMoreData(dataRows) + binding.refreshLayout.finishLoadMore() + isLoadMore = false + } + + else -> { + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2024030402) + } + } + } } + + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, marginOffset, marginOffset shr 1 + ) + ) } private fun getHiddenTroubleMenuByPage() { @@ -87,24 +98,25 @@ when (msg.what) { 2024030402 -> { hiddenTroubleAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_hidden_trouble, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel + item: HiddenTroubleModel.DataModel.RowsModel ) { - + viewHolder.setText(R.id.troubleTypeView, item.mainClassName) + .setText(R.id.troubleNameView, item.subClassName) + .setText(R.id.troubleContentView, item.sceneName) } } binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: HiddenTroubleModel + position: Int, t: HiddenTroubleModel.DataModel.RowsModel ) { - //TODO 查看隐患目录详情 + navigatePageTo(t.id) } }) } @@ -118,6 +130,9 @@ override fun observeRequestState() { hiddenTroubleViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt new file mode 100644 index 0000000..0d663df --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt @@ -0,0 +1,104 @@ +package com.casic.br.app.view + +import android.os.Bundle +import android.widget.AdapterView +import androidx.lifecycle.ViewModelProvider +import com.casic.br.app.R +import com.casic.br.app.databinding.ActivityHiddenTroubleDetailBinding +import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.vm.HiddenTroubleViewModel +import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.LoadState +import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView + +class HiddenTroubleDetailActivity : KotlinBaseActivity() { + + private val context = this + private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel + + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val id = intent.getStringExtra(Constant.INTENT_PARAM) as String + + hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + hiddenTroubleViewModel.getHiddenTroubleDetail(this, id) + hiddenTroubleViewModel.troubleDetailResult.observe(this) { + if (it.code == 200) { + binding.troubleMainClassView.text = it.data.mainClassName + binding.troubleSubClassView.text = it.data.subClassName + binding.troubleNameView.text = it.data.name + binding.troubleContentView.text = it.data.content + binding.basisView.text = it.data.basis + + val alarmImageList = it.data.alarmImageList + if (alarmImageList.isNotEmpty()) { + val images = ArrayList() +// alarmImageList.forEach { imageModel -> +// images.add(imageModel.alarmImage.combineFilePath()) +// } + val imageAdapter = ReadOnlyImageAdapter(context, images) + binding.troubleImageGridView.adapter = imageAdapter + binding.troubleImageGridView.onItemClickListener = + AdapterView.OnItemClickListener { _, _, index, _ -> + navigatePageTo(index, images) + } + } + + val normalImageList = it.data.normalImageList + if (normalImageList.isNotEmpty()) { + val images = ArrayList() +// normalImageList.forEach { imageModel -> +// images.add(imageModel.alarmImage.combineFilePath()) +// } + val imageAdapter = ReadOnlyImageAdapter(context, images) + binding.normalImageGridView.adapter = imageAdapter + binding.normalImageGridView.onItemClickListener = + AdapterView.OnItemClickListener { _, _, index, _ -> + navigatePageTo(index, images) + } + } + } + } + } + + override fun initViewBinding(): ActivityHiddenTroubleDetailBinding { + return ActivityHiddenTroubleDetailBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + hiddenTroubleViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") + LoadState.Success -> { + LoadingDialogHub.dismiss() + } + + LoadState.Fail -> { + LoadingDialogHub.dismiss() + "数据加载失败,请重试".show(this) + } + } + } + } + + override fun setupTopBarLayout() { + binding.rootView.initImmersionBar(this, false, R.color.themeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } + + override fun onRightClick() { + + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt index 8f57ca5..c1df2b1 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt @@ -63,12 +63,21 @@ /** * 获取隐患目录列表 */ - @POST("/meter/file/listPage") + @GET("/alarm-menu/listPage") suspend fun getHiddenTroubleMenuByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("keyword") keyword: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int + ): String + + /** + * 获取隐患详情 + */ + @GET("/alarm-menu/detail") + suspend fun getHiddenTroubleDetail( + @Header("token") token: String, + @Query("id") id: String ): String /** diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt index 3fab213..efa0f55 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt @@ -83,23 +83,19 @@ * 获取隐患目录列表 */ suspend fun getHiddenTroubleMenuByPage(keywords: String, offset: Int): String { - val param = JsonObject() - param.addProperty("keywords", keywords) - 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.getHiddenTroubleMenuByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } /** + * 获取隐患详情 + */ + suspend fun getHiddenTroubleDetail(id: String): String { + return api.getHiddenTroubleDetail(AuthenticationHelper.token, id) + } + + /** * 获取检查清单 */ suspend fun getCheckManifestByPage(keywords: String, offset: Int): String { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 2cbb8fd..6c7e7e5 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -13,6 +13,8 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -23,8 +25,9 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 10.dp2px(this) } + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -33,6 +36,7 @@ override fun initEvent() { binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() + getHiddenTroubleMenuByPage() } binding.refreshLayout.setOnRefreshListener { @@ -51,32 +55,39 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + hiddenTroubleAdapter.setRefreshData(dataRows) + binding.refreshLayout.finishRefresh() + isRefresh = false + } + + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + hiddenTroubleAdapter.setLoadMoreData(dataRows) + binding.refreshLayout.finishLoadMore() + isLoadMore = false + } + + else -> { + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2024030402) + } + } + } } + + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, marginOffset, marginOffset shr 1 + ) + ) } private fun getHiddenTroubleMenuByPage() { @@ -87,24 +98,25 @@ when (msg.what) { 2024030402 -> { hiddenTroubleAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_hidden_trouble, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel + item: HiddenTroubleModel.DataModel.RowsModel ) { - + viewHolder.setText(R.id.troubleTypeView, item.mainClassName) + .setText(R.id.troubleNameView, item.subClassName) + .setText(R.id.troubleContentView, item.sceneName) } } binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: HiddenTroubleModel + position: Int, t: HiddenTroubleModel.DataModel.RowsModel ) { - //TODO 查看隐患目录详情 + navigatePageTo(t.id) } }) } @@ -118,6 +130,9 @@ override fun observeRequestState() { hiddenTroubleViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt new file mode 100644 index 0000000..0d663df --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt @@ -0,0 +1,104 @@ +package com.casic.br.app.view + +import android.os.Bundle +import android.widget.AdapterView +import androidx.lifecycle.ViewModelProvider +import com.casic.br.app.R +import com.casic.br.app.databinding.ActivityHiddenTroubleDetailBinding +import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.vm.HiddenTroubleViewModel +import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.LoadState +import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView + +class HiddenTroubleDetailActivity : KotlinBaseActivity() { + + private val context = this + private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel + + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val id = intent.getStringExtra(Constant.INTENT_PARAM) as String + + hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + hiddenTroubleViewModel.getHiddenTroubleDetail(this, id) + hiddenTroubleViewModel.troubleDetailResult.observe(this) { + if (it.code == 200) { + binding.troubleMainClassView.text = it.data.mainClassName + binding.troubleSubClassView.text = it.data.subClassName + binding.troubleNameView.text = it.data.name + binding.troubleContentView.text = it.data.content + binding.basisView.text = it.data.basis + + val alarmImageList = it.data.alarmImageList + if (alarmImageList.isNotEmpty()) { + val images = ArrayList() +// alarmImageList.forEach { imageModel -> +// images.add(imageModel.alarmImage.combineFilePath()) +// } + val imageAdapter = ReadOnlyImageAdapter(context, images) + binding.troubleImageGridView.adapter = imageAdapter + binding.troubleImageGridView.onItemClickListener = + AdapterView.OnItemClickListener { _, _, index, _ -> + navigatePageTo(index, images) + } + } + + val normalImageList = it.data.normalImageList + if (normalImageList.isNotEmpty()) { + val images = ArrayList() +// normalImageList.forEach { imageModel -> +// images.add(imageModel.alarmImage.combineFilePath()) +// } + val imageAdapter = ReadOnlyImageAdapter(context, images) + binding.normalImageGridView.adapter = imageAdapter + binding.normalImageGridView.onItemClickListener = + AdapterView.OnItemClickListener { _, _, index, _ -> + navigatePageTo(index, images) + } + } + } + } + } + + override fun initViewBinding(): ActivityHiddenTroubleDetailBinding { + return ActivityHiddenTroubleDetailBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + hiddenTroubleViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") + LoadState.Success -> { + LoadingDialogHub.dismiss() + } + + LoadState.Fail -> { + LoadingDialogHub.dismiss() + "数据加载失败,请重试".show(this) + } + } + } + } + + override fun setupTopBarLayout() { + binding.rootView.initImmersionBar(this, false, R.color.themeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } + + override fun onRightClick() { + + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt b/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt index 4c5a185..cdefdf7 100644 --- a/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt +++ b/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData import com.casic.br.app.extensions.getResponseCode import com.casic.br.app.extensions.getResponseMessage +import com.casic.br.app.model.HiddenTroubleDetailModel import com.casic.br.app.model.HiddenTroubleModel import com.casic.br.app.retrofit.RetrofitServiceManager import com.google.gson.Gson @@ -17,6 +18,7 @@ private val gson by lazy { Gson() } val troublesResult = MutableLiveData() + val troubleDetailResult = MutableLiveData() fun getHiddenTroubleMenuByPage(context: Context, keywords: String, offset: Int) = launch({ loadState.value = LoadState.Loading @@ -38,4 +40,25 @@ loadState.value = LoadState.Fail it.localizedMessage?.show(context) }) + + fun getHiddenTroubleDetail(context: Context, id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getHiddenTroubleDetail(id) + when (response.getResponseCode()) { + 200 -> { + loadState.value = LoadState.Success + troubleDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } + + else -> { + loadState.value = LoadState.Fail + response.getResponseMessage().show(context) + } + } + }, { + loadState.value = LoadState.Fail + it.localizedMessage?.show(context) + }) } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72f9448..1e93201 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java new file mode 100644 index 0000000..dc3b87c --- /dev/null +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleDetailModel.java @@ -0,0 +1,226 @@ +package com.casic.br.app.model; + +import java.util.List; + +public class HiddenTroubleDetailModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private String alarmImageCount; + private List alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private String normalImageCount; + private List normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public String getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(String alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public List getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(List alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(String normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public List getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(List normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } +} diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index 0cde5fb..dee96e6 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -1,4 +1,247 @@ package com.casic.br.app.model; +import java.util.List; + public class HiddenTroubleModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private int alarmImageCount; + private String alarmImageList; + private String basis; + private String content; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String mainClass; + private String mainClassName; + private String name; + private int normalImageCount; + private String normalImageList; + private String scene; + private String sceneName; + private String subClass; + private String subClassName; + private String updateTime; + private String updateUserId; + private String updateUserName; + + public int getAlarmImageCount() { + return alarmImageCount; + } + + public void setAlarmImageCount(int alarmImageCount) { + this.alarmImageCount = alarmImageCount; + } + + public String getAlarmImageList() { + return alarmImageList; + } + + public void setAlarmImageList(String alarmImageList) { + this.alarmImageList = alarmImageList; + } + + public String getBasis() { + return basis; + } + + public void setBasis(String basis) { + this.basis = basis; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUserId() { + return createUserId; + } + + public void setCreateUserId(String createUserId) { + this.createUserId = createUserId; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMainClass() { + return mainClass; + } + + public void setMainClass(String mainClass) { + this.mainClass = mainClass; + } + + public String getMainClassName() { + return mainClassName; + } + + public void setMainClassName(String mainClassName) { + this.mainClassName = mainClassName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getNormalImageCount() { + return normalImageCount; + } + + public void setNormalImageCount(int normalImageCount) { + this.normalImageCount = normalImageCount; + } + + public String getNormalImageList() { + return normalImageList; + } + + public void setNormalImageList(String normalImageList) { + this.normalImageList = normalImageList; + } + + public String getScene() { + return scene; + } + + public void setScene(String scene) { + this.scene = scene; + } + + public String getSceneName() { + return sceneName; + } + + public void setSceneName(String sceneName) { + this.sceneName = sceneName; + } + + public String getSubClass() { + return subClass; + } + + public void setSubClass(String subClass) { + this.subClass = subClass; + } + + public String getSubClassName() { + return subClassName; + } + + public void setSubClassName(String subClassName) { + this.subClassName = subClassName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public String getUpdateUserName() { + return updateUserName; + } + + public void setUpdateUserName(String updateUserName) { + this.updateUserName = updateUserName; + } + } + } } diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt index 8f57ca5..c1df2b1 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt @@ -63,12 +63,21 @@ /** * 获取隐患目录列表 */ - @POST("/meter/file/listPage") + @GET("/alarm-menu/listPage") suspend fun getHiddenTroubleMenuByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("keyword") keyword: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int + ): String + + /** + * 获取隐患详情 + */ + @GET("/alarm-menu/detail") + suspend fun getHiddenTroubleDetail( + @Header("token") token: String, + @Query("id") id: String ): String /** diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt index 3fab213..efa0f55 100644 --- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt @@ -83,23 +83,19 @@ * 获取隐患目录列表 */ suspend fun getHiddenTroubleMenuByPage(keywords: String, offset: Int): String { - val param = JsonObject() - param.addProperty("keywords", keywords) - 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.getHiddenTroubleMenuByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } /** + * 获取隐患详情 + */ + suspend fun getHiddenTroubleDetail(id: String): String { + return api.getHiddenTroubleDetail(AuthenticationHelper.token, id) + } + + /** * 获取检查清单 */ suspend fun getCheckManifestByPage(keywords: String, offset: Int): String { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 2cbb8fd..6c7e7e5 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -13,6 +13,8 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -23,8 +25,9 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 10.dp2px(this) } + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -33,6 +36,7 @@ override fun initEvent() { binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() + getHiddenTroubleMenuByPage() } binding.refreshLayout.setOnRefreshListener { @@ -51,32 +55,39 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + hiddenTroubleAdapter.setRefreshData(dataRows) + binding.refreshLayout.finishRefresh() + isRefresh = false + } + + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + hiddenTroubleAdapter.setLoadMoreData(dataRows) + binding.refreshLayout.finishLoadMore() + isLoadMore = false + } + + else -> { + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2024030402) + } + } + } } + + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, marginOffset, marginOffset shr 1 + ) + ) } private fun getHiddenTroubleMenuByPage() { @@ -87,24 +98,25 @@ when (msg.what) { 2024030402 -> { hiddenTroubleAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_hidden_trouble, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel + item: HiddenTroubleModel.DataModel.RowsModel ) { - + viewHolder.setText(R.id.troubleTypeView, item.mainClassName) + .setText(R.id.troubleNameView, item.subClassName) + .setText(R.id.troubleContentView, item.sceneName) } } binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: HiddenTroubleModel + position: Int, t: HiddenTroubleModel.DataModel.RowsModel ) { - //TODO 查看隐患目录详情 + navigatePageTo(t.id) } }) } @@ -118,6 +130,9 @@ override fun observeRequestState() { hiddenTroubleViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt new file mode 100644 index 0000000..0d663df --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleDetailActivity.kt @@ -0,0 +1,104 @@ +package com.casic.br.app.view + +import android.os.Bundle +import android.widget.AdapterView +import androidx.lifecycle.ViewModelProvider +import com.casic.br.app.R +import com.casic.br.app.databinding.ActivityHiddenTroubleDetailBinding +import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.vm.HiddenTroubleViewModel +import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.LoadState +import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView + +class HiddenTroubleDetailActivity : KotlinBaseActivity() { + + private val context = this + private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel + + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val id = intent.getStringExtra(Constant.INTENT_PARAM) as String + + hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] + hiddenTroubleViewModel.getHiddenTroubleDetail(this, id) + hiddenTroubleViewModel.troubleDetailResult.observe(this) { + if (it.code == 200) { + binding.troubleMainClassView.text = it.data.mainClassName + binding.troubleSubClassView.text = it.data.subClassName + binding.troubleNameView.text = it.data.name + binding.troubleContentView.text = it.data.content + binding.basisView.text = it.data.basis + + val alarmImageList = it.data.alarmImageList + if (alarmImageList.isNotEmpty()) { + val images = ArrayList() +// alarmImageList.forEach { imageModel -> +// images.add(imageModel.alarmImage.combineFilePath()) +// } + val imageAdapter = ReadOnlyImageAdapter(context, images) + binding.troubleImageGridView.adapter = imageAdapter + binding.troubleImageGridView.onItemClickListener = + AdapterView.OnItemClickListener { _, _, index, _ -> + navigatePageTo(index, images) + } + } + + val normalImageList = it.data.normalImageList + if (normalImageList.isNotEmpty()) { + val images = ArrayList() +// normalImageList.forEach { imageModel -> +// images.add(imageModel.alarmImage.combineFilePath()) +// } + val imageAdapter = ReadOnlyImageAdapter(context, images) + binding.normalImageGridView.adapter = imageAdapter + binding.normalImageGridView.onItemClickListener = + AdapterView.OnItemClickListener { _, _, index, _ -> + navigatePageTo(index, images) + } + } + } + } + } + + override fun initViewBinding(): ActivityHiddenTroubleDetailBinding { + return ActivityHiddenTroubleDetailBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + hiddenTroubleViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") + LoadState.Success -> { + LoadingDialogHub.dismiss() + } + + LoadState.Fail -> { + LoadingDialogHub.dismiss() + "数据加载失败,请重试".show(this) + } + } + } + } + + override fun setupTopBarLayout() { + binding.rootView.initImmersionBar(this, false, R.color.themeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } + + override fun onRightClick() { + + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt b/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt index 4c5a185..cdefdf7 100644 --- a/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt +++ b/app/src/main/java/com/casic/br/app/vm/HiddenTroubleViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData import com.casic.br.app.extensions.getResponseCode import com.casic.br.app.extensions.getResponseMessage +import com.casic.br.app.model.HiddenTroubleDetailModel import com.casic.br.app.model.HiddenTroubleModel import com.casic.br.app.retrofit.RetrofitServiceManager import com.google.gson.Gson @@ -17,6 +18,7 @@ private val gson by lazy { Gson() } val troublesResult = MutableLiveData() + val troubleDetailResult = MutableLiveData() fun getHiddenTroubleMenuByPage(context: Context, keywords: String, offset: Int) = launch({ loadState.value = LoadState.Loading @@ -38,4 +40,25 @@ loadState.value = LoadState.Fail it.localizedMessage?.show(context) }) + + fun getHiddenTroubleDetail(context: Context, id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getHiddenTroubleDetail(id) + when (response.getResponseCode()) { + 200 -> { + loadState.value = LoadState.Success + troubleDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } + + else -> { + loadState.value = LoadState.Fail + response.getResponseMessage().show(context) + } + } + }, { + loadState.value = LoadState.Fail + it.localizedMessage?.show(context) + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_hidden_trouble.xml b/app/src/main/res/layout/activity_hidden_trouble.xml index 5b2289a..e6664fc 100644 --- a/app/src/main/res/layout/activity_hidden_trouble.xml +++ b/app/src/main/res/layout/activity_hidden_trouble.xml @@ -37,6 +37,7 @@ android:hint="关键字" android:paddingHorizontal="@dimen/dp_5" android:singleLine="true" + android:textColor="@color/white" android:textColorHint="@color/white" />