diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_main_library.xml b/app/src/main/res/drawable/ic_main_library.xml index ec62122..6e0212c 100644 --- a/app/src/main/res/drawable/ic_main_library.xml +++ b/app/src/main/res/drawable/ic_main_library.xml @@ -4,11 +4,6 @@ android:viewportWidth="1024" android:viewportHeight="1024"> - + android:fillColor="#644bfc" + android:pathData="M541.5,18.5l187.6,43.2 -0.7,336.2 -93.4,-53.2 -93.5,54.6L541.5,18.5zM900.6,1023.8L227.3,1023.8a151,151 0,0 1,-150.8 -150.9L76.5,154A154.2,154.2 0,0 1,230.5 0h670.1a47.1,47.1 0,0 1,47 47v929.8a47.1,47.1 0,0 1,-47 47zM227.3,816.3a56.7,56.7 0,1 0,0 113.5h626.2v-113.5L227.3,816.3zM230.4,94.1a60,60 0,0 0,-59.9 59.9v579.3a150,150 0,0 1,56.7 -11L853.4,722.2L853.4,94.1L230.6,94.1z" /> diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_main_library.xml b/app/src/main/res/drawable/ic_main_library.xml index ec62122..6e0212c 100644 --- a/app/src/main/res/drawable/ic_main_library.xml +++ b/app/src/main/res/drawable/ic_main_library.xml @@ -4,11 +4,6 @@ android:viewportWidth="1024" android:viewportHeight="1024"> - + android:fillColor="#644bfc" + android:pathData="M541.5,18.5l187.6,43.2 -0.7,336.2 -93.4,-53.2 -93.5,54.6L541.5,18.5zM900.6,1023.8L227.3,1023.8a151,151 0,0 1,-150.8 -150.9L76.5,154A154.2,154.2 0,0 1,230.5 0h670.1a47.1,47.1 0,0 1,47 47v929.8a47.1,47.1 0,0 1,-47 47zM227.3,816.3a56.7,56.7 0,1 0,0 113.5h626.2v-113.5L227.3,816.3zM230.4,94.1a60,60 0,0 0,-59.9 59.9v579.3a150,150 0,0 1,56.7 -11L853.4,722.2L853.4,94.1L230.6,94.1z" /> diff --git a/app/src/main/res/drawable/ic_standard_pdf.xml b/app/src/main/res/drawable/ic_standard_pdf.xml new file mode 100644 index 0000000..f184b10 --- /dev/null +++ b/app/src/main/res/drawable/ic_standard_pdf.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_main_library.xml b/app/src/main/res/drawable/ic_main_library.xml index ec62122..6e0212c 100644 --- a/app/src/main/res/drawable/ic_main_library.xml +++ b/app/src/main/res/drawable/ic_main_library.xml @@ -4,11 +4,6 @@ android:viewportWidth="1024" android:viewportHeight="1024"> - + android:fillColor="#644bfc" + android:pathData="M541.5,18.5l187.6,43.2 -0.7,336.2 -93.4,-53.2 -93.5,54.6L541.5,18.5zM900.6,1023.8L227.3,1023.8a151,151 0,0 1,-150.8 -150.9L76.5,154A154.2,154.2 0,0 1,230.5 0h670.1a47.1,47.1 0,0 1,47 47v929.8a47.1,47.1 0,0 1,-47 47zM227.3,816.3a56.7,56.7 0,1 0,0 113.5h626.2v-113.5L227.3,816.3zM230.4,94.1a60,60 0,0 0,-59.9 59.9v579.3a150,150 0,0 1,56.7 -11L853.4,722.2L853.4,94.1L230.6,94.1z" /> diff --git a/app/src/main/res/drawable/ic_standard_pdf.xml b/app/src/main/res/drawable/ic_standard_pdf.xml new file mode 100644 index 0000000..f184b10 --- /dev/null +++ b/app/src/main/res/drawable/ic_standard_pdf.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml index c6fc8de..c61d6b1 100644 --- a/app/src/main/res/layout/activity_check_history_detail.xml +++ b/app/src/main/res/layout/activity_check_history_detail.xml @@ -10,18 +10,16 @@ + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_main_library.xml b/app/src/main/res/drawable/ic_main_library.xml index ec62122..6e0212c 100644 --- a/app/src/main/res/drawable/ic_main_library.xml +++ b/app/src/main/res/drawable/ic_main_library.xml @@ -4,11 +4,6 @@ android:viewportWidth="1024" android:viewportHeight="1024"> - + android:fillColor="#644bfc" + android:pathData="M541.5,18.5l187.6,43.2 -0.7,336.2 -93.4,-53.2 -93.5,54.6L541.5,18.5zM900.6,1023.8L227.3,1023.8a151,151 0,0 1,-150.8 -150.9L76.5,154A154.2,154.2 0,0 1,230.5 0h670.1a47.1,47.1 0,0 1,47 47v929.8a47.1,47.1 0,0 1,-47 47zM227.3,816.3a56.7,56.7 0,1 0,0 113.5h626.2v-113.5L227.3,816.3zM230.4,94.1a60,60 0,0 0,-59.9 59.9v579.3a150,150 0,0 1,56.7 -11L853.4,722.2L853.4,94.1L230.6,94.1z" /> diff --git a/app/src/main/res/drawable/ic_standard_pdf.xml b/app/src/main/res/drawable/ic_standard_pdf.xml new file mode 100644 index 0000000..f184b10 --- /dev/null +++ b/app/src/main/res/drawable/ic_standard_pdf.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml index c6fc8de..c61d6b1 100644 --- a/app/src/main/res/layout/activity_check_history_detail.xml +++ b/app/src/main/res/layout/activity_check_history_detail.xml @@ -10,18 +10,16 @@ + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_main_library.xml b/app/src/main/res/drawable/ic_main_library.xml index ec62122..6e0212c 100644 --- a/app/src/main/res/drawable/ic_main_library.xml +++ b/app/src/main/res/drawable/ic_main_library.xml @@ -4,11 +4,6 @@ android:viewportWidth="1024" android:viewportHeight="1024"> - + android:fillColor="#644bfc" + android:pathData="M541.5,18.5l187.6,43.2 -0.7,336.2 -93.4,-53.2 -93.5,54.6L541.5,18.5zM900.6,1023.8L227.3,1023.8a151,151 0,0 1,-150.8 -150.9L76.5,154A154.2,154.2 0,0 1,230.5 0h670.1a47.1,47.1 0,0 1,47 47v929.8a47.1,47.1 0,0 1,-47 47zM227.3,816.3a56.7,56.7 0,1 0,0 113.5h626.2v-113.5L227.3,816.3zM230.4,94.1a60,60 0,0 0,-59.9 59.9v579.3a150,150 0,0 1,56.7 -11L853.4,722.2L853.4,94.1L230.6,94.1z" /> diff --git a/app/src/main/res/drawable/ic_standard_pdf.xml b/app/src/main/res/drawable/ic_standard_pdf.xml new file mode 100644 index 0000000..f184b10 --- /dev/null +++ b/app/src/main/res/drawable/ic_standard_pdf.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml index c6fc8de..c61d6b1 100644 --- a/app/src/main/res/layout/activity_check_history_detail.xml +++ b/app/src/main/res/layout/activity_check_history_detail.xml @@ -10,18 +10,16 @@ + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> - + android:fontFamily="sans-serif-black" + android:padding="@dimen/dp_10" + android:textColor="@color/white" + android:textSize="@dimen/sp_18" /> - + android:layout_height="match_parent" + android:orientation="horizontal"> + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java index 8dea1e8..83d07b9 100644 --- a/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/ar/app/model/StandardFileModel.java @@ -4,27 +4,27 @@ public class StandardFileModel { - private Boolean success; - private Integer code; + private int code; + private DataModel data; private String message; - private List data; + private boolean success; - public Boolean getSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public Integer getCode() { + public int getCode() { return code; } - public void setCode(Integer 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; } @@ -33,50 +33,152 @@ this.message = message; } - public List getData() { - return data; + public boolean isSuccess() { + return success; } - public void setData(List data) { - this.data = data; + public void setSuccess(boolean success) { + this.success = success; } public static class DataModel { - private Integer id; - private Object fileCover; - private String fileTitle; - private String effectiveDate; + private List rows; + private int total; - public Integer getId() { - return id; + public List getRows() { + return rows; } - public void setId(Integer id) { - this.id = id; + public void setRows(List rows) { + this.rows = rows; } - public Object getFileCover() { - return fileCover; + public int getTotal() { + return total; } - public void setFileCover(Object fileCover) { - this.fileCover = fileCover; + public void setTotal(int total) { + this.total = total; } - public String getFileTitle() { - return fileTitle; - } + public static class RowsModel { + private String attachment; + private String attachmentName; + private String createTime; + private String createUserId; + private String createUserName; + private String id; + private String name; + private String publicDate; + private String type; + private String typeName; + private String updateTime; + private String updateUserId; + private String updateUserName; - public void setFileTitle(String fileTitle) { - this.fileTitle = fileTitle; - } + public String getAttachment() { + return attachment; + } - public String getEffectiveDate() { - return effectiveDate; - } + public void setAttachment(String attachment) { + this.attachment = attachment; + } - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + public String getAttachmentName() { + return attachmentName; + } + + public void setAttachmentName(String attachmentName) { + this.attachmentName = attachmentName; + } + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublicDate() { + return publicDate; + } + + public void setPublicDate(String publicDate) { + this.publicDate = publicDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + 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/ar/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt index 4906114..c8f646e 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitService.kt @@ -55,12 +55,12 @@ /** * 获取标准规范文件列表 */ - @POST("/standardFile/listPage") + @GET("/standard-specification/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, - @Body requestBody: RequestBody, - @QueryMap limit: Map, - @QueryMap offset: Map + @Query("name") name: String, + @Query("offset") offset: Int, + @Query("limit") limit: Int ): String /** diff --git a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt index 4c67378..67a17ea 100644 --- a/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ar/app/retrofit/RetrofitServiceManager.kt @@ -83,19 +83,8 @@ * 获取标准规范文件列表 */ suspend fun getStandardFileByPage(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.getStandardFileByPage( - AuthenticationHelper.token, requestBody, limitMap, offsetMap + AuthenticationHelper.token, keywords, offset, LocaleConstant.PAGE_LIMIT ) } diff --git a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt index 0c0f2c6..77791eb 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/PreviewPdfActivity.kt @@ -1,16 +1,14 @@ package com.casic.br.ar.app.view import android.os.Bundle -import com.casic.br.ar.app.R +import android.view.View import com.casic.br.ar.app.databinding.ActivityPreviewPdfBinding import com.casic.br.ar.app.extensions.combineFilePath -import com.casic.br.ar.app.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createDownloadFileDir import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.FileDownloadManager import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.widget.TitleBarView import java.io.File import java.io.FileInputStream @@ -20,8 +18,10 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! - val url = minioFileName.combineFilePath() + val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!! + + binding.titleView.text = args[0] + val url = args[1].combineFilePath() LoadingDialogHub.show(this, "文档加载中,请稍后...") FileDownloadManager.Builder() .setDownloadFileSource(url) @@ -53,15 +53,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt index 5ba6608..c9e20ae 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/StandardFileActivity.kt @@ -1,53 +1,37 @@ package com.casic.br.ar.app.view -import android.graphics.Color import android.os.Bundle import android.os.Handler import android.os.Message +import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityStandardFileBinding -import com.casic.br.ar.app.extensions.initImmersionBar import com.casic.br.ar.app.model.StandardFileModel import com.casic.br.ar.app.vm.StandardFileViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider +import com.pengxh.kt.lite.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 import com.pengxh.kt.lite.utils.WeakReferenceHandler -import com.pengxh.kt.lite.widget.TitleBarView class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { + private val context = this + private val marginOffset by lazy { 15.dp2px(this) } private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var page = 1 - private var isRefresh = false - private var isLoadMore = false override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getStandardFileByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getStandardFileByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -56,59 +40,51 @@ getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data!! - when { - isRefresh -> { - standardFileAdapter.setRefreshData(dataRows) - binding.refreshLayout.finishRefresh() - isRefresh = false - } - - isLoadMore -> { - if (dataRows.size == 0) { - "到底了,别拉了".show(this) - } - standardFileAdapter.setLoadMoreData(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false - } - - else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2024030401) - } + it.data.rows?.apply { + dataBeans = this + weakReferenceHandler.sendEmptyMessage(2024052101) } } } } private fun getStandardFileByPage() { - standardFileViewModel.getStandardFileByPage(this, keywords, page) + standardFileViewModel.getStandardFileByPage(this, "", page) } override fun handleMessage(msg: Message): Boolean { when (msg.what) { - 2024030401 -> { + 2024052101 -> { standardFileAdapter = object : - NormalRecyclerAdapter( - R.layout.item_standard_file, dataBeans + NormalRecyclerAdapter( + R.layout.item_standard_file_g, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel + item: StandardFileModel.DataModel.RowsModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileTitle) - .setText(R.id.dateView, item.effectiveDate) + viewHolder.setText(R.id.fileTitleView, item.name) } } binding.recyclerView.adapter = standardFileAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel + position: Int, t: StandardFileModel.DataModel.RowsModel ) { - navigatePageTo(t.fileTitle) + if (t.attachment.isNullOrBlank()) { + "附件为空,无法查看".show(context) + return + } + + if (t.attachmentName.endsWith(".pdf")) { + navigatePageTo(arrayListOf(t.name, t.attachment)) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } @@ -137,15 +113,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, false, R.color.themeColor) - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - finish() - } - - override fun onRightClick() { - - } - }) + val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) + window.decorView.systemUiVisibility = uiOptions } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_main_library.xml b/app/src/main/res/drawable/ic_main_library.xml index ec62122..6e0212c 100644 --- a/app/src/main/res/drawable/ic_main_library.xml +++ b/app/src/main/res/drawable/ic_main_library.xml @@ -4,11 +4,6 @@ android:viewportWidth="1024" android:viewportHeight="1024"> - + android:fillColor="#644bfc" + android:pathData="M541.5,18.5l187.6,43.2 -0.7,336.2 -93.4,-53.2 -93.5,54.6L541.5,18.5zM900.6,1023.8L227.3,1023.8a151,151 0,0 1,-150.8 -150.9L76.5,154A154.2,154.2 0,0 1,230.5 0h670.1a47.1,47.1 0,0 1,47 47v929.8a47.1,47.1 0,0 1,-47 47zM227.3,816.3a56.7,56.7 0,1 0,0 113.5h626.2v-113.5L227.3,816.3zM230.4,94.1a60,60 0,0 0,-59.9 59.9v579.3a150,150 0,0 1,56.7 -11L853.4,722.2L853.4,94.1L230.6,94.1z" /> diff --git a/app/src/main/res/drawable/ic_standard_pdf.xml b/app/src/main/res/drawable/ic_standard_pdf.xml new file mode 100644 index 0000000..f184b10 --- /dev/null +++ b/app/src/main/res/drawable/ic_standard_pdf.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml index c6fc8de..c61d6b1 100644 --- a/app/src/main/res/layout/activity_check_history_detail.xml +++ b/app/src/main/res/layout/activity_check_history_detail.xml @@ -10,18 +10,16 @@ + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> + android:gravity="center_vertical"> + android:layout_width="@dimen/titleViewHeight" + android:layout_height="@dimen/titleViewHeight" + android:src="@mipmap/ic_launcher_foreground" /> - + android:fontFamily="sans-serif-black" + android:padding="@dimen/dp_10" + android:textColor="@color/white" + android:textSize="@dimen/sp_18" /> - + android:layout_height="match_parent" + android:orientation="horizontal"> + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index ef5b550..cd6b399 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -4,75 +4,23 @@ android:id="@+id/rootView" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/themeColor" + android:background="@color/black" android:orientation="vertical"> - + android:fontFamily="sans-serif-black" + android:padding="@dimen/dp_10" + android:text="标准规范" + android:textColor="@color/white" + android:textSize="@dimen/sp_18" /> - - - - -