重点区域基础信息维护

This commit is contained in:
高健 2021-10-21 14:06:40 +08:00
parent 1182d311b4
commit e54e560780
20 changed files with 2951 additions and 42 deletions

View File

@ -70,18 +70,20 @@ public class PathConfig {
public static final String DIC_REAR_TYPE = "40660752-9d0f-47fc-834f-5eb8e2668209";//留守人员类型
public static final String DIC_MIGRANT_TYPE = "f05bddd7-4102-4427-ade3-b06728d049a7";//流入原因
public static final String DIC_CASE_TYPE = "e45bbd02-35b3-4f5c-bc2e-ffd924e87abb";//案件类别
// public static final String DIC_GENDER = "4ef46940-76ab-4758-b5f0-0cbc93ffc660";//性别l
// public static final String DIC_GENDER = "4ef46940-76ab-4758-b5f0-0cbc93ffc660";//性别l
public static final String DIC_GENDER = "52038eeb-9d55-4eaa-b3e3-c70a33bdc135";// TODO 性别 任鹏程
public static final String DIC_AREA_TYPE = "ba1d92aa-552c-4a45-b376-6ee7e5d33ab9";// TODO 涉及区域类型 任鹏程
public static final String DIC_EXTRUDE = "b356002b-7f51-4dd6-9f22-d517ea8a7671";//TODO 治安突出问题
public static final String DIC_ASSESS = "758de083-4a46-408e-9d37-7c5ab03d956a";//TODO 评估效果
public static final String DIC_NATIONALITY = "1c9098f8-155a-453e-8766-51d8df1556b3";//国籍
public static final String DIC_FAITH = "73f3e1fd-02c0-4238-95fe-9e944f2ba6c7";//宗教信仰
public static final String DIC_WORK_TYPE = "5867642c-2b79-4bea-adc9-477a5b784159";//职业类别
// public static final String DIC_NATION = "a981579c-572b-4fd1-8e76-5d17df97f6a4";//名族
// public static final String DIC_NATION = "a981579c-572b-4fd1-8e76-5d17df97f6a4";//名族
public static final String DIC_NATION = "a6a9a1b1-651f-42a8-84db-8095041d8a5a";//TODO 名族
public static final String DIC_MARRIAGE = "91bdd01b-e9d2-4a2b-98b5-45e25d3cd8ae";//婚姻状况
// public static final String DIC_POLITICS = "b2c96de0-3df8-41db-99b1-bc4e24ac6c24";//政治面貌
// public static final String DIC_POLITICS = "b2c96de0-3df8-41db-99b1-bc4e24ac6c24";//政治面貌
public static final String DIC_POLITICS = "616350d7-03c0-4b48-861c-ca4d7ed8555f";//TODO 政治面貌
// public static final String DIC_EDU = "d6b9f026-6ea9-456a-b48b-0c18d502523b";//学历
// public static final String DIC_EDU = "d6b9f026-6ea9-456a-b48b-0c18d502523b";//学历
public static final String DIC_EDU = "c93682ac-a1a0-4acc-b0bc-828fb86e4b00";//TODO 学历
public static final String DIC_TREAT = "ed085b3e-25c1-43fe-9d42-77510ee89d58";//治疗情况
public static final String DIC_DIAGNOSE = "c355af47-ee1d-415c-b9d3-66befa6d726b";//目前诊断类型
@ -135,7 +137,7 @@ public class PathConfig {
public static final String USER_TYPE_N = "bc405346-8714-4ded-89ac-9cc4d755f66a";
public static final String USER_TYPE_X = "25affe67-134c-4a32-ba41-64b0cfedc782";
// public static final String APP_VERSION_ID = "f311fd32-cd36-45a1-9652-599d5f2c2d4f";/*正式App下载码*/
public static final String APP_VERSION_ID = "491daf78-ff06-4376-8f97-37baf396ab4d";/*测试App下载码*/
public static final String APP_VERSION_ID = "96aee0e5-2b4e-4b4a-a13c-9c71052b9ad7";/*测试App下载码*/
public static final String NEWS_ID = "f497904b-7727-4832-891c-604c36ae4167";//文化动态ID
public static final String NEWS_SHOW_ID = "f1d5d313-f728-4dda-9843-1116d97e17b0";//展览展示ID

View File

@ -10,14 +10,16 @@ import com.tenlionsoft.baselib.constant.PathConfig;
public class BaseUrlApi {
// public static final String IP = "http://192.168.0.109:8080/";/* 正式IP */
public static final String IP = "http://192.168.0.111:8083/";/* 正式IP */
public static final String IP = "http://192.168.0.111:8081/";/* 正式IP */
public static final String SYS_POPULATION = "population/";/*人口系统*/
public static final String SYS_CASE = "case/";/*事件部件*/
public static final String SYS_HOUSE = "systemhouse/";/*房屋系统*/
public static final String TEMP_IP = "http://192.168.0.111:8083/";
public static final String SYS_SECURITY = "systembase/";/*社会治安*/
public static final String TEMP_IP = "http://192.168.0.111:8081/";
public static final String BASE_MAIN_IP = IP + SYS_HOUSE;
public static final String BASE_MAIN_IP = IP + SYS_SECURITY;
public static final String BASE_CASE_IP = IP + SYS_CASE;
public static final String BASE_SECURITY_IP = IP + SYS_SECURITY;
public static final String BASE_HOUSE_IP = IP + SYS_HOUSE;
public static final String BASE_PERSON_IP = TEMP_IP + SYS_POPULATION;

View File

@ -38,6 +38,8 @@ public class BaseUrlInterceptor implements Interceptor {
newBaseUrl = HttpUrl.parse(BaseUrlApi.BASE_HOUSE_IP);
} else if ("case".equals(headerValue)) {
newBaseUrl = HttpUrl.parse(BaseUrlApi.BASE_CASE_IP);
} else if ("security".equals(headerValue)) {
newBaseUrl = HttpUrl.parse(BaseUrlApi.BASE_SECURITY_IP);
} else {
newBaseUrl = oldHttpUrl;
}

View File

@ -352,7 +352,7 @@
<style name="item_content_edit">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@null</item>
<item name="android:background">@drawable/shp_rectangle_gray</item>
<item name="android:gravity">left</item>
<item name="android:padding">5dp</item>
<item name="android:textSize">13sp</item>
@ -371,7 +371,7 @@
<style name="item_title">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">0.3</item>
<item name="android:layout_weight">0.4</item>
<item name="android:padding">2dp</item>
<item name="android:textColor">@color/black</item>
<item name="android:layout_gravity">center_vertical</item>

View File

@ -0,0 +1,44 @@
package com.tengshisoft.commonmodule.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.beans.FamilyMemberListBean;
import com.tengshisoft.commonmodule.beans.KeyAreaListBean;
import com.tengshisoft.commonmodule.holders.HireRecordMemberHolder;
import com.tengshisoft.commonmodule.holders.KeyAreaListHolder;
import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter;
import java.util.List;
/**
* 作者: adam
* 日期: 2021/9/26 - 3:01 下午
* 邮箱: itgaojian@163.com
* 描述: 重点区域
*/
public class KeyAreaAdapter extends BaseRecyclerAdapter<KeyAreaListBean.RowsBean, KeyAreaListHolder> {
public KeyAreaAdapter(Context ctx, List<KeyAreaListBean.RowsBean> list) {
super(ctx, list);
}
@Override
public KeyAreaListHolder createHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_key_area, parent, false);
return new KeyAreaListHolder(itemView);
}
@Override
public void bindHolder(KeyAreaListHolder holder, int i) {
KeyAreaListBean.RowsBean bean = mData.get(i);
holder.mTvName.setText(bean.getSecurityArea());
holder.mTvExtrude.setText("治安突出问题:" + bean.getSecurityQuestionName());
holder.mTvArea.setText("涉及区域类型:" + bean.getInvolveAreaTypeName());
holder.mTvTime.setText("整改时限:" + bean.getRectificationTime());
}
}

View File

@ -0,0 +1,191 @@
package com.tengshisoft.commonmodule.beans;
/**
* 作者: adam
* 日期: 2021/10/21 - 9:56 上午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class KeyAreaDetailBean {
private String effectEvaluation;
private String effectEvaluationCode;
private String effectEvaluationName;
private String involveAreaRange;
private String involveAreaType;
private String involveAreaTypeCode;
private String involveAreaTypeName;
private String keyAreaCheckRenovationId;
private String leadDeptMan;
private String leadDeptPhone;
private String rectificationTime;
private int renovationCriminalCount;
private String renovationJoinDept;
private String renovationLeadDept;
private int renovationSecurityCount;
private String renovationSituationw;
private String securityArea;
private String securityQuestion;
private String securityQuestionCode;
private String securityQuestionName;
public String getEffectEvaluation() {
return effectEvaluation;
}
public void setEffectEvaluation(String effectEvaluation) {
this.effectEvaluation = effectEvaluation;
}
public String getEffectEvaluationCode() {
return effectEvaluationCode;
}
public void setEffectEvaluationCode(String effectEvaluationCode) {
this.effectEvaluationCode = effectEvaluationCode;
}
public String getEffectEvaluationName() {
return effectEvaluationName;
}
public void setEffectEvaluationName(String effectEvaluationName) {
this.effectEvaluationName = effectEvaluationName;
}
public String getInvolveAreaRange() {
return involveAreaRange;
}
public void setInvolveAreaRange(String involveAreaRange) {
this.involveAreaRange = involveAreaRange;
}
public String getInvolveAreaType() {
return involveAreaType;
}
public void setInvolveAreaType(String involveAreaType) {
this.involveAreaType = involveAreaType;
}
public String getInvolveAreaTypeCode() {
return involveAreaTypeCode;
}
public void setInvolveAreaTypeCode(String involveAreaTypeCode) {
this.involveAreaTypeCode = involveAreaTypeCode;
}
public String getInvolveAreaTypeName() {
return involveAreaTypeName;
}
public void setInvolveAreaTypeName(String involveAreaTypeName) {
this.involveAreaTypeName = involveAreaTypeName;
}
public String getKeyAreaCheckRenovationId() {
return keyAreaCheckRenovationId;
}
public void setKeyAreaCheckRenovationId(String keyAreaCheckRenovationId) {
this.keyAreaCheckRenovationId = keyAreaCheckRenovationId;
}
public String getLeadDeptMan() {
return leadDeptMan;
}
public void setLeadDeptMan(String leadDeptMan) {
this.leadDeptMan = leadDeptMan;
}
public String getLeadDeptPhone() {
return leadDeptPhone;
}
public void setLeadDeptPhone(String leadDeptPhone) {
this.leadDeptPhone = leadDeptPhone;
}
public String getRectificationTime() {
return rectificationTime;
}
public void setRectificationTime(String rectificationTime) {
this.rectificationTime = rectificationTime;
}
public int getRenovationCriminalCount() {
return renovationCriminalCount;
}
public void setRenovationCriminalCount(int renovationCriminalCount) {
this.renovationCriminalCount = renovationCriminalCount;
}
public String getRenovationJoinDept() {
return renovationJoinDept;
}
public void setRenovationJoinDept(String renovationJoinDept) {
this.renovationJoinDept = renovationJoinDept;
}
public String getRenovationLeadDept() {
return renovationLeadDept;
}
public void setRenovationLeadDept(String renovationLeadDept) {
this.renovationLeadDept = renovationLeadDept;
}
public int getRenovationSecurityCount() {
return renovationSecurityCount;
}
public void setRenovationSecurityCount(int renovationSecurityCount) {
this.renovationSecurityCount = renovationSecurityCount;
}
public String getRenovationSituationw() {
return renovationSituationw;
}
public void setRenovationSituationw(String renovationSituationw) {
this.renovationSituationw = renovationSituationw;
}
public String getSecurityArea() {
return securityArea;
}
public void setSecurityArea(String securityArea) {
this.securityArea = securityArea;
}
public String getSecurityQuestion() {
return securityQuestion;
}
public void setSecurityQuestion(String securityQuestion) {
this.securityQuestion = securityQuestion;
}
public String getSecurityQuestionCode() {
return securityQuestionCode;
}
public void setSecurityQuestionCode(String securityQuestionCode) {
this.securityQuestionCode = securityQuestionCode;
}
public String getSecurityQuestionName() {
return securityQuestionName;
}
public void setSecurityQuestionName(String securityQuestionName) {
this.securityQuestionName = securityQuestionName;
}
}

View File

@ -0,0 +1,223 @@
package com.tengshisoft.commonmodule.beans;
import java.util.List;
/**
* 作者: adam
* 日期: 2021/10/21 - 9:15 上午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class KeyAreaListBean {
private int page;
private int total;
private List<RowsBean> rows;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List<RowsBean> getRows() {
return rows;
}
public void setRows(List<RowsBean> rows) {
this.rows = rows;
}
public static class RowsBean {
private String effectEvaluation;
private String effectEvaluationCode;
private String effectEvaluationName;
private String involveAreaRange;
private String involveAreaType;
private String involveAreaTypeCode;
private String involveAreaTypeName;
private String keyAreaCheckRenovationId;
private String leadDeptMan;
private String leadDeptPhone;
private String rectificationTime;
private int renovationCriminalCount;
private String renovationJoinDept;
private String renovationLeadDept;
private int renovationSecurityCount;
private String renovationSituationw;
private String securityArea;
private String securityQuestion;
private String securityQuestionCode;
private String securityQuestionName;
public String getEffectEvaluation() {
return effectEvaluation;
}
public void setEffectEvaluation(String effectEvaluation) {
this.effectEvaluation = effectEvaluation;
}
public String getEffectEvaluationCode() {
return effectEvaluationCode;
}
public void setEffectEvaluationCode(String effectEvaluationCode) {
this.effectEvaluationCode = effectEvaluationCode;
}
public String getEffectEvaluationName() {
return effectEvaluationName;
}
public void setEffectEvaluationName(String effectEvaluationName) {
this.effectEvaluationName = effectEvaluationName;
}
public String getInvolveAreaRange() {
return involveAreaRange;
}
public void setInvolveAreaRange(String involveAreaRange) {
this.involveAreaRange = involveAreaRange;
}
public String getInvolveAreaType() {
return involveAreaType;
}
public void setInvolveAreaType(String involveAreaType) {
this.involveAreaType = involveAreaType;
}
public String getInvolveAreaTypeCode() {
return involveAreaTypeCode;
}
public void setInvolveAreaTypeCode(String involveAreaTypeCode) {
this.involveAreaTypeCode = involveAreaTypeCode;
}
public String getInvolveAreaTypeName() {
return involveAreaTypeName;
}
public void setInvolveAreaTypeName(String involveAreaTypeName) {
this.involveAreaTypeName = involveAreaTypeName;
}
public String getKeyAreaCheckRenovationId() {
return keyAreaCheckRenovationId;
}
public void setKeyAreaCheckRenovationId(String keyAreaCheckRenovationId) {
this.keyAreaCheckRenovationId = keyAreaCheckRenovationId;
}
public String getLeadDeptMan() {
return leadDeptMan;
}
public void setLeadDeptMan(String leadDeptMan) {
this.leadDeptMan = leadDeptMan;
}
public String getLeadDeptPhone() {
return leadDeptPhone;
}
public void setLeadDeptPhone(String leadDeptPhone) {
this.leadDeptPhone = leadDeptPhone;
}
public String getRectificationTime() {
return rectificationTime;
}
public void setRectificationTime(String rectificationTime) {
this.rectificationTime = rectificationTime;
}
public int getRenovationCriminalCount() {
return renovationCriminalCount;
}
public void setRenovationCriminalCount(int renovationCriminalCount) {
this.renovationCriminalCount = renovationCriminalCount;
}
public String getRenovationJoinDept() {
return renovationJoinDept;
}
public void setRenovationJoinDept(String renovationJoinDept) {
this.renovationJoinDept = renovationJoinDept;
}
public String getRenovationLeadDept() {
return renovationLeadDept;
}
public void setRenovationLeadDept(String renovationLeadDept) {
this.renovationLeadDept = renovationLeadDept;
}
public int getRenovationSecurityCount() {
return renovationSecurityCount;
}
public void setRenovationSecurityCount(int renovationSecurityCount) {
this.renovationSecurityCount = renovationSecurityCount;
}
public String getRenovationSituationw() {
return renovationSituationw;
}
public void setRenovationSituationw(String renovationSituationw) {
this.renovationSituationw = renovationSituationw;
}
public String getSecurityArea() {
return securityArea;
}
public void setSecurityArea(String securityArea) {
this.securityArea = securityArea;
}
public String getSecurityQuestion() {
return securityQuestion;
}
public void setSecurityQuestion(String securityQuestion) {
this.securityQuestion = securityQuestion;
}
public String getSecurityQuestionCode() {
return securityQuestionCode;
}
public void setSecurityQuestionCode(String securityQuestionCode) {
this.securityQuestionCode = securityQuestionCode;
}
public String getSecurityQuestionName() {
return securityQuestionName;
}
public void setSecurityQuestionName(String securityQuestionName) {
this.securityQuestionName = securityQuestionName;
}
}
}

View File

@ -0,0 +1,182 @@
package com.tengshisoft.commonmodule.beans;
/**
* 作者: adam
* 日期: 2021/10/21 - 9:53 上午
* 邮箱: itgaojian@163.com
* 描述: 重点区域
*/
public class SaveKeyAreaBean {
private String effectEvaluation;
private String effectEvaluationCode;
private String effectEvaluationName;
private String involveAreaRange;
private String involveAreaType;
private String involveAreaTypeCode;
private String involveAreaTypeName;
private String leadDeptMan;
private String leadDeptPhone;
private String rectificationTime;
private int renovationCriminalCount;
private String renovationJoinDept;
private String renovationLeadDept;
private int renovationSecurityCount;
private String renovationSituationw;
private String securityArea;
private String securityQuestion;
private String securityQuestionCode;
private String securityQuestionName;
public String getEffectEvaluation() {
return effectEvaluation;
}
public void setEffectEvaluation(String effectEvaluation) {
this.effectEvaluation = effectEvaluation;
}
public String getEffectEvaluationCode() {
return effectEvaluationCode;
}
public void setEffectEvaluationCode(String effectEvaluationCode) {
this.effectEvaluationCode = effectEvaluationCode;
}
public String getEffectEvaluationName() {
return effectEvaluationName;
}
public void setEffectEvaluationName(String effectEvaluationName) {
this.effectEvaluationName = effectEvaluationName;
}
public String getInvolveAreaRange() {
return involveAreaRange;
}
public void setInvolveAreaRange(String involveAreaRange) {
this.involveAreaRange = involveAreaRange;
}
public String getInvolveAreaType() {
return involveAreaType;
}
public void setInvolveAreaType(String involveAreaType) {
this.involveAreaType = involveAreaType;
}
public String getInvolveAreaTypeCode() {
return involveAreaTypeCode;
}
public void setInvolveAreaTypeCode(String involveAreaTypeCode) {
this.involveAreaTypeCode = involveAreaTypeCode;
}
public String getInvolveAreaTypeName() {
return involveAreaTypeName;
}
public void setInvolveAreaTypeName(String involveAreaTypeName) {
this.involveAreaTypeName = involveAreaTypeName;
}
public String getLeadDeptMan() {
return leadDeptMan;
}
public void setLeadDeptMan(String leadDeptMan) {
this.leadDeptMan = leadDeptMan;
}
public String getLeadDeptPhone() {
return leadDeptPhone;
}
public void setLeadDeptPhone(String leadDeptPhone) {
this.leadDeptPhone = leadDeptPhone;
}
public String getRectificationTime() {
return rectificationTime;
}
public void setRectificationTime(String rectificationTime) {
this.rectificationTime = rectificationTime;
}
public int getRenovationCriminalCount() {
return renovationCriminalCount;
}
public void setRenovationCriminalCount(int renovationCriminalCount) {
this.renovationCriminalCount = renovationCriminalCount;
}
public String getRenovationJoinDept() {
return renovationJoinDept;
}
public void setRenovationJoinDept(String renovationJoinDept) {
this.renovationJoinDept = renovationJoinDept;
}
public String getRenovationLeadDept() {
return renovationLeadDept;
}
public void setRenovationLeadDept(String renovationLeadDept) {
this.renovationLeadDept = renovationLeadDept;
}
public int getRenovationSecurityCount() {
return renovationSecurityCount;
}
public void setRenovationSecurityCount(int renovationSecurityCount) {
this.renovationSecurityCount = renovationSecurityCount;
}
public String getRenovationSituationw() {
return renovationSituationw;
}
public void setRenovationSituationw(String renovationSituationw) {
this.renovationSituationw = renovationSituationw;
}
public String getSecurityArea() {
return securityArea;
}
public void setSecurityArea(String securityArea) {
this.securityArea = securityArea;
}
public String getSecurityQuestion() {
return securityQuestion;
}
public void setSecurityQuestion(String securityQuestion) {
this.securityQuestion = securityQuestion;
}
public String getSecurityQuestionCode() {
return securityQuestionCode;
}
public void setSecurityQuestionCode(String securityQuestionCode) {
this.securityQuestionCode = securityQuestionCode;
}
public String getSecurityQuestionName() {
return securityQuestionName;
}
public void setSecurityQuestionName(String securityQuestionName) {
this.securityQuestionName = securityQuestionName;
}
}

View File

@ -0,0 +1,32 @@
package com.tengshisoft.commonmodule.holders;
import android.view.View;
import android.widget.TextView;
import com.tengshisoft.commonmodule.R;
import org.jetbrains.annotations.NotNull;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
/**
* 作者: adam
* 日期: 2021/9/26 - 3:01 下午
* 邮箱: itgaojian@163.com
* 描述: 重点区域
*/
public class KeyAreaListHolder extends RecyclerView.ViewHolder {
public TextView mTvName;
public TextView mTvExtrude;
public TextView mTvArea;
public TextView mTvTime;
public KeyAreaListHolder(@NonNull @NotNull View itemView) {
super(itemView);
mTvName = itemView.findViewById(R.id.tv_name);
mTvExtrude = itemView.findViewById(R.id.tv_extrude);
mTvArea = itemView.findViewById(R.id.tv_area);
mTvTime = itemView.findViewById(R.id.tv_time);
}
}

View File

@ -29,6 +29,8 @@ import com.tengshisoft.commonmodule.beans.HouseListBean;
import com.tengshisoft.commonmodule.beans.IncidentDetailBean;
import com.tengshisoft.commonmodule.beans.IncidentHandleListBean;
import com.tengshisoft.commonmodule.beans.IncidentListBean;
import com.tengshisoft.commonmodule.beans.KeyAreaDetailBean;
import com.tengshisoft.commonmodule.beans.KeyAreaListBean;
import com.tengshisoft.commonmodule.beans.MigrantDetailBean;
import com.tengshisoft.commonmodule.beans.MigrantListBean;
import com.tengshisoft.commonmodule.beans.OutboundDetailBean;
@ -71,7 +73,7 @@ public interface Apis {
* @param token
* @return
*/
@Headers({"base_url_name:house", "Content-Type: application/json", "Accept: application/json"})
@Headers({"Content-Type: application/json", "Accept: application/json"})
@GET("app/data/listbyparentid/{dictionaryParentId}")
Observable<List<DicBean>> getDictListAllByPid(@Path("dictionaryParentId") String pId, @Header("token") String token);
@ -858,4 +860,44 @@ public interface Apis {
@Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"})
@GET("app/check/listpage-pending")
Observable<TaskListBean> getTaskListByType(@Query("keywords") String key, @Query("page") String page, @Header("token") String token);
/*=========================================9+x=========================================*/
/*重点区域*/
/**
* 获取重点区域列表
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@GET("app/keyareacheckrenovation/listpagekeyareacheckrenovation")
Observable<KeyAreaListBean> getKeyAreaList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token);
/**
* 新增重点区域
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@POST("app/keyareacheckrenovation/save")
Observable<SuccessBean> doSaveKeyArea(@Body RequestBody body, @Header("token") String token);
/**
* 修改重点区域
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@PUT("app/keyareacheckrenovation/updatekeyareacheckrenovation/{keyAreaCheckRenovationId}")
Observable<SuccessBean> doEditKeyArea(@Path("keyAreaCheckRenovationId") String id, @Body RequestBody body, @Header("token") String token);
/**
* 删除重点区域
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@DELETE("app/keyareacheckrenovation/remove/{ids}")
Observable<SuccessBean> doDelKeyArea(@Path("ids") String id, @Header("token") String token);
/**
* 获取重点区域详情
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@GET("app/keyareacheckrenovation/get/{keyAreaCheckRenovationId}")
Observable<KeyAreaDetailBean> getKeyAreaDetailById(@Path("keyAreaCheckRenovationId") String id, @Header("token") String token);
}

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/shape_rectangle_white"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#ff353535"
android:textSize="18sp"
tools:text="区域名称" />
<TextView
android:id="@+id/tv_extrude"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="治安突出问题" />
<TextView
android:id="@+id/tv_area"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="涉及区域类型" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginTop="5dp"
android:background="@drawable/shp_line_dotted"
android:layerType="software" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/ic_clock_blue"
android:drawablePadding="5dp"
android:ellipsize="end"
android:maxLines="2"
android:textColor="#ff1189ff"
android:textSize="12sp"
tools:text="整改时限" />
</LinearLayout>
</LinearLayout>

View File

@ -1,15 +1,48 @@
package com.tengshisoft.gridmodule.incident.activitys.security;
import androidx.appcompat.app.AppCompatActivity;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import android.os.Bundle;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.text.TextUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.view.TimePickerView;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.beans.SaveBuildingManagerBean;
import com.tengshisoft.commonmodule.beans.SaveKeyAreaBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.nets.Apis;
import com.tengshisoft.gridmodule.R;
import com.tengshisoft.gridmodule.R2;
import com.tengshisoft.gridmodule.incident.activitys.orgmanage.SocialOrgAddActivity;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.DicBean;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.RegexUtils;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.text.SimpleDateFormat;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* 作者: Adam
@ -21,8 +54,48 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
public class KeyAreaAddActivity extends BaseActivity {
@BindView(R2.id.et_name)
EditText mEtName;//名称
@BindView(R2.id.tv_extrude)
TextView mTvExtrude;//突出
@BindView(R2.id.tv_area_type)
TextView mTvAreaType;//区域类型
@BindView(R2.id.et_area_scope)
EditText mEtAreaScope;//范围
@BindView(R2.id.et_leader_dept)
EditText mEtLeaderDept;//牵头单位
@BindView(R2.id.et_leader)
EditText mEtLeader;//牵头单位联系人
@BindView(R2.id.et_leader_phone)
EditText mEtLeaderPhone;//联系电话
@BindView(R2.id.et_into_dept)
EditText mEtIntoDept;//参与单位
@BindView(R2.id.tv_date)
TextView mTvDate;//整改时限
@BindView(R2.id.et_penal_num)
EditText mEtPenalNum;//刑事案件
@BindView(R2.id.et_order_num)
EditText mEtOrderNum;//治安事件
@BindView(R2.id.tv_assess)
TextView mTvAssess;//评估效果
@BindView(R2.id.et_desc)
EditText mEtDesc;//整改情况
@BindView(R2.id.btn_confirm)
Button mBtnConfirm;
private Unbinder mBind;
private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd");
private OptionsPickerView mExtrudePicker;
private OptionsPickerView mAreaTypePicker;
private OptionsPickerView mAssessPicker;
private List<DicBean> mExtrudeList;
private List<DicBean> mAreaTypeList;
private List<DicBean> mAssessList;
private DicBean mSelAreaType;
private DicBean mSelExtrude;
private DicBean mSelAssess;
@Override
protected int setLayoutId() {
return R.layout.activity_key_area_add;
@ -32,5 +105,289 @@ public class KeyAreaAddActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("重点区域添加");
refreshView(STATE_LOAD_SUCCESS);
mBtnConfirm.setOnClickListener(v -> doConfirm());
mTvDate.setOnClickListener(v -> onShowDate(1));
mTvExtrude.setOnClickListener(v -> onShowExtrude());
mTvAreaType.setOnClickListener(v -> onShowAreaType());
mTvAssess.setOnClickListener(v -> onShowAssess());
}
/**
* 涉及区域
*/
private void onShowAreaType() {
hideSoftKeyboard();
if (mAreaTypeList != null && mAreaTypeList.size() > 0) {
if (mAreaTypePicker == null) {
mAreaTypePicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
DicBean bean = mAreaTypeList.get(options1);
mTvAreaType.setText(bean.getDataName());
mSelAreaType = bean;
}).setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mAreaTypePicker.setPicker(mAreaTypeList);
}
mAreaTypePicker.show();
} else {
getDicListByType(PathConfig.DIC_AREA_TYPE, 1);
}
}
/**
* 突出问题
*/
private void onShowExtrude() {
hideSoftKeyboard();
if (mExtrudeList != null && mExtrudeList.size() > 0) {
if (mExtrudePicker == null) {
mExtrudePicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
DicBean bean = mExtrudeList.get(options1);
mTvExtrude.setText(bean.getDataName());
mSelExtrude = bean;
}).setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mExtrudePicker.setPicker(mExtrudeList);
}
mExtrudePicker.show();
} else {
getDicListByType(PathConfig.DIC_EXTRUDE, 2);
}
}
/**
* 评估效果
*/
private void onShowAssess() {
hideSoftKeyboard();
if (mAssessList != null && mAssessList.size() > 0) {
if (mAssessPicker == null) {
mAssessPicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
DicBean bean = mAssessList.get(options1);
mTvAssess.setText(bean.getDataName());
mSelAssess = bean;
}).setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mAssessPicker.setPicker(mAssessList);
}
mAssessPicker.show();
} else {
getDicListByType(PathConfig.DIC_ASSESS, 3);
}
}
private void doConfirm() {
hideSoftKeyboard();
if (checkParams()) {
RequestBody body = buildParams();
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
RetrofitManager.getInstance()
.create(Apis.class)
.doSaveKeyArea(body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog.dismiss();
ToastUtils.show("添加成功");
setResult(13);
finish();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
}
/**
* 整改时限
*/
private void onShowDate(int i) {
hideSoftKeyboard();
TimePickerView mTimePickerView = new TimePickerBuilder(mActivity, (date, v) -> {
switch (i) {
case 1:
mTvDate.setText(mDateFormat.format(date));
break;
}
})
.setTitleText("请选日期")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setType(new boolean[]{true, true, true, false, false, false})
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mTimePickerView.show();
}
/**
* 字典
*/
private void getDicListByType(String pId, int i) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "获取中...");
dialog.show();
RetrofitManager.getInstance()
.create(Apis.class)
.getDictListAllByPid(pId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<DicBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull List<DicBean> typeListBeans) {
dialog.dismiss();
if (typeListBeans.size() > 0) {
switch (i) {
case 1:
mAreaTypeList = typeListBeans;
onShowAreaType();
break;
case 2:
mExtrudeList = typeListBeans;
onShowExtrude();
break;
case 3:
mAssessList = typeListBeans;
onShowAssess();
break;
}
} else {
ToastUtils.show("暂无数据");
}
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
private boolean checkParams() {
String name = mEtName.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
ToastUtils.show("请输入重点区域名称");
return false;
}
String areaScope = mEtAreaScope.getText().toString().trim();
if (TextUtils.isEmpty(areaScope)) {
ToastUtils.show("请输入涉及区域范围");
return false;
}
if (mSelExtrude == null) {
ToastUtils.show("请选择治安突出问题");
return false;
}
if (mSelAreaType == null) {
ToastUtils.show("请选择涉及区域类型");
return false;
}
String leader = mEtLeader.getText().toString().trim();
if (TextUtils.isEmpty(leader)) {
ToastUtils.show("请输入牵头单位负责人姓名");
return false;
}
String phone = mEtLeaderPhone.getText().toString().trim();
if (TextUtils.isEmpty(phone) || !RegexUtils.isTel(phone)) {
ToastUtils.show("请输入合法的牵头单位负责人联系电话");
return false;
}
String desc = mEtDesc.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
ToastUtils.show("请输入整治情况");
return false;
}
String date = mTvDate.getText().toString().trim();
if (TextUtils.isEmpty(date)) {
ToastUtils.show("请选择整改时限");
return false;
}
return true;
}
/**
* 构建提交参数
*/
private RequestBody buildParams() {
SaveKeyAreaBean bean = new SaveKeyAreaBean();
String name = mEtName.getText().toString().trim();
bean.setSecurityArea(name);
String scope = mEtAreaScope.getText().toString().trim();
bean.setInvolveAreaRange(scope);
bean.setSecurityQuestion(mSelExtrude.getDataId());
bean.setSecurityQuestionCode(mSelExtrude.getDataSummary());
bean.setSecurityQuestionName(mSelExtrude.getDataName());
bean.setInvolveAreaType(mSelAreaType.getDataId());
bean.setInvolveAreaTypeCode(mSelAreaType.getDataSummary());
bean.setInvolveAreaTypeName(mSelAreaType.getDataName());
String leaderDept = mEtLeaderDept.getText().toString().trim();
if (!TextUtils.isEmpty(leaderDept)) {
bean.setRenovationLeadDept(leaderDept);
}
String leader = mEtLeader.getText().toString().trim();
bean.setLeadDeptMan(leader);
String phone = mEtLeaderPhone.getText().toString().trim();
bean.setLeadDeptPhone(phone);
String intoDept = mEtIntoDept.getText().toString().trim();
if (!TextUtils.isEmpty(intoDept)) {
bean.setRenovationJoinDept(intoDept);
}
String date = mTvDate.getText().toString().trim();
bean.setRectificationTime(date);
String penalNum = mEtPenalNum.getText().toString().trim();
if (!TextUtils.isEmpty(penalNum)) {
bean.setRenovationCriminalCount(Integer.parseInt(penalNum));
}
String orderNum = mEtOrderNum.getText().toString().trim();
if (!TextUtils.isEmpty(orderNum)) {
bean.setRenovationSecurityCount(Integer.parseInt(orderNum));
}
String desc = mEtDesc.getText().toString().trim();
bean.setRenovationSituationw(desc);
bean.setEffectEvaluation(mSelAssess.getDataId());
bean.setEffectEvaluationCode(mSelAssess.getDataSummary());
bean.setEffectEvaluationName(mSelAssess.getDataName());
Gson gson = new Gson();
String obj = gson.toJson(bean);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
return requestBody;
}
}

View File

@ -1,12 +1,36 @@
package com.tengshisoft.gridmodule.incident.activitys.security;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.tengshisoft.gridmodule.R;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.widget.Button;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.beans.KeyAreaDetailBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.nets.Apis;
import com.tengshisoft.gridmodule.R;
import com.tengshisoft.gridmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import androidx.annotation.Nullable;
import androidx.core.widget.NestedScrollView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
/**
* 作者: Adam
@ -18,7 +42,41 @@ import butterknife.Unbinder;
public class KeyAreaDetailActivity extends BaseActivity {
@BindView(R2.id.btn_edit)
Button mBtnEdit;
@BindView(R2.id.btn_del)
Button mBtnDel;
@BindView(R2.id.tv_name)
TextView mTvName;
@BindView(R2.id.tv_extrude)
TextView mTvExtrude;
@BindView(R2.id.tv_area_type)
TextView mTvAreaType;
@BindView(R2.id.tv_area_scope)
TextView mTvAreaScope;
@BindView(R2.id.tv_leader_dept)
TextView mTvLeaderDept;
@BindView(R2.id.tv_leader)
TextView mTvLeader;
@BindView(R2.id.tv_leader_phone)
TextView mTvLeaderPhone;
@BindView(R2.id.tv_into_dept)
TextView mTvIntoDept;
@BindView(R2.id.tv_date)
TextView mTvDate;
@BindView(R2.id.tv_penal_num)
TextView mTvPenalNum;
@BindView(R2.id.tv_order_num)
TextView mTvOrderNum;
@BindView(R2.id.tv_assess)
TextView mTvAssess;
@BindView(R2.id.tv_desc)
TextView mTvDesc;
@BindView(R2.id.nsv_content)
NestedScrollView mNsvContent;
private Unbinder mBind;
private String mId;
private KeyAreaDetailBean mDetailBean;
@Override
protected int setLayoutId() {
@ -29,5 +87,131 @@ public class KeyAreaDetailActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("重点区域");
mId = getIntent().getStringExtra("id");
mBtnDel.setOnClickListener(v -> doDel());
mBtnEdit.setOnClickListener(v -> doEdit());
getDetailById();
}
/**
* 编辑
*/
private void doEdit() {
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_KEY_AREA_EDIT)
.withString("id", mId)
.navigation(mActivity, 12);
}
/**
* 删除
*/
private void doDel() {
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
builder.setTitle("提示")
.setMessage("确定要删除该条信息吗?")
.setPositiveButton("确定", (dialog, which) -> {
dialog.dismiss();
ProgressDialog dialog1 = UIUtil.initDialog(mActivity, "删除中...");
dialog1.show();
RetrofitManager.getInstance()
.create(Apis.class)
.doDelKeyArea(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog1.dismiss();
ToastUtils.show("删除成功");
setResult(13);
finish();
}
@Override
public void onError(@NonNull Throwable e) {
dialog1.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
})
.setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
.create()
.show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {
refreshView(STATE_LOAD_LOADING);
getDetailById();
}
}
}
/**
* 获取详情
*/
private void getDetailById() {
RetrofitManager.getInstance()
.create(Apis.class)
.getKeyAreaDetailById(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<KeyAreaDetailBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull KeyAreaDetailBean keyAreaDetailBean) {
mDetailBean = keyAreaDetailBean;
setDataToView();
}
@Override
public void onError(@NonNull Throwable e) {
refreshView(STATE_LOAD_ERROR);
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 回显
*/
private void setDataToView() {
refreshView(STATE_LOAD_SUCCESS);
mTvName.setText(mDetailBean.getSecurityArea());
mTvExtrude.setText(mDetailBean.getSecurityQuestionName());
mTvAreaType.setText(mDetailBean.getInvolveAreaTypeName());
mTvAreaScope.setText(mDetailBean.getInvolveAreaRange());
mTvLeaderDept.setText(mDetailBean.getRenovationLeadDept());
mTvLeader.setText(mDetailBean.getLeadDeptMan());
mTvLeaderPhone.setText(mDetailBean.getLeadDeptPhone());
mTvIntoDept.setText(mDetailBean.getRenovationJoinDept());
mTvDate.setText(mDetailBean.getRectificationTime());
mTvPenalNum.setText(mDetailBean.getRenovationCriminalCount() + "");
mTvOrderNum.setText(mDetailBean.getRenovationSecurityCount() + "");
mTvAssess.setText(mDetailBean.getEffectEvaluationName());
mTvDesc.setText(mDetailBean.getRenovationSituationw());
}
}

View File

@ -1,12 +1,47 @@
package com.tengshisoft.gridmodule.incident.activitys.security;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.tengshisoft.gridmodule.R;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.text.TextUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.view.TimePickerView;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.beans.KeyAreaDetailBean;
import com.tengshisoft.commonmodule.beans.SaveKeyAreaBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.nets.Apis;
import com.tengshisoft.gridmodule.R;
import com.tengshisoft.gridmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.DicBean;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.RegexUtils;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.text.SimpleDateFormat;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* 作者: Adam
@ -16,7 +51,49 @@ import butterknife.Unbinder;
*/
@Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_KEY_AREA_EDIT)
public class KeyAreaEditActivity extends BaseActivity {
@BindView(R2.id.et_name)
EditText mEtName;//名称
@BindView(R2.id.tv_extrude)
TextView mTvExtrude;//突出
@BindView(R2.id.tv_area_type)
TextView mTvAreaType;//区域类型
@BindView(R2.id.et_area_scope)
EditText mEtAreaScope;//范围
@BindView(R2.id.et_leader_dept)
EditText mEtLeaderDept;//牵头单位
@BindView(R2.id.et_leader)
EditText mEtLeader;//牵头单位联系人
@BindView(R2.id.et_leader_phone)
EditText mEtLeaderPhone;//联系电话
@BindView(R2.id.et_into_dept)
EditText mEtIntoDept;//参与单位
@BindView(R2.id.tv_date)
TextView mTvDate;//整改时限
@BindView(R2.id.et_penal_num)
EditText mEtPenalNum;//刑事案件
@BindView(R2.id.et_order_num)
EditText mEtOrderNum;//治安事件
@BindView(R2.id.tv_assess)
TextView mTvAssess;//评估效果
@BindView(R2.id.et_desc)
EditText mEtDesc;//整改情况
@BindView(R2.id.btn_confirm)
Button mBtnConfirm;
private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd");
private OptionsPickerView mExtrudePicker;
private OptionsPickerView mAreaTypePicker;
private OptionsPickerView mAssessPicker;
private List<DicBean> mExtrudeList;
private List<DicBean> mAreaTypeList;
private List<DicBean> mAssessList;
private DicBean mSelAreaType;
private DicBean mSelExtrude;
private DicBean mSelAssess;
private String mId;
private KeyAreaDetailBean mDetailBean;
private Unbinder mBind;
@Override
@ -28,5 +105,361 @@ public class KeyAreaEditActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("重点区域编辑");
mId = getIntent().getStringExtra("id");
getDetailById();
mBtnConfirm.setOnClickListener(v -> doConfirm());
mTvDate.setOnClickListener(v -> onShowDate(1));
mTvExtrude.setOnClickListener(v -> onShowExtrude());
mTvAreaType.setOnClickListener(v -> onShowAreaType());
mTvAssess.setOnClickListener(v -> onShowAssess());
}
/**
* 获取详情
*/
private void getDetailById() {
RetrofitManager.getInstance()
.create(Apis.class)
.getKeyAreaDetailById(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<KeyAreaDetailBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull KeyAreaDetailBean keyAreaDetailBean) {
mDetailBean = keyAreaDetailBean;
setDataToView();
}
@Override
public void onError(@NonNull Throwable e) {
refreshView(STATE_LOAD_ERROR);
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 涉及区域
*/
private void onShowAreaType() {
hideSoftKeyboard();
if (mAreaTypeList != null && mAreaTypeList.size() > 0) {
if (mAreaTypePicker == null) {
mAreaTypePicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
DicBean bean = mAreaTypeList.get(options1);
mTvAreaType.setText(bean.getDataName());
mSelAreaType = bean;
}).setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mAreaTypePicker.setPicker(mAreaTypeList);
}
mAreaTypePicker.show();
} else {
getDicListByType(PathConfig.DIC_AREA_TYPE, 1);
}
}
/**
* 突出问题
*/
private void onShowExtrude() {
hideSoftKeyboard();
if (mExtrudeList != null && mExtrudeList.size() > 0) {
if (mExtrudePicker == null) {
mExtrudePicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
DicBean bean = mExtrudeList.get(options1);
mTvExtrude.setText(bean.getDataName());
mSelExtrude = bean;
}).setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mExtrudePicker.setPicker(mExtrudeList);
}
mExtrudePicker.show();
} else {
getDicListByType(PathConfig.DIC_EXTRUDE, 2);
}
}
/**
* 评估效果
*/
private void onShowAssess() {
hideSoftKeyboard();
if (mAssessList != null && mAssessList.size() > 0) {
if (mAssessPicker == null) {
mAssessPicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
DicBean bean = mAssessList.get(options1);
mTvAssess.setText(bean.getDataName());
mSelAssess = bean;
}).setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mAssessPicker.setPicker(mAssessList);
}
mAssessPicker.show();
} else {
getDicListByType(PathConfig.DIC_ASSESS, 3);
}
}
private void doConfirm() {
hideSoftKeyboard();
if (checkParams()) {
RequestBody body = buildParams();
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
RetrofitManager.getInstance()
.create(Apis.class)
.doEditKeyArea(mId, body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog.dismiss();
ToastUtils.show("添加成功");
setResult(13);
finish();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
}
/**
* 整改时限
*/
private void onShowDate(int i) {
hideSoftKeyboard();
TimePickerView mTimePickerView = new TimePickerBuilder(mActivity, (date, v) -> {
switch (i) {
case 1:
mTvDate.setText(mDateFormat.format(date));
break;
}
})
.setTitleText("请选日期")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setType(new boolean[]{true, true, true, false, false, false})
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mTimePickerView.show();
}
/**
* 字典
*/
private void getDicListByType(String pId, int i) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "获取中...");
dialog.show();
RetrofitManager.getInstance()
.create(Apis.class)
.getDictListAllByPid(pId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<DicBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull List<DicBean> typeListBeans) {
dialog.dismiss();
if (typeListBeans.size() > 0) {
switch (i) {
case 1:
mAreaTypeList = typeListBeans;
onShowAreaType();
break;
case 2:
mExtrudeList = typeListBeans;
onShowExtrude();
break;
case 3:
mAssessList = typeListBeans;
onShowAssess();
break;
}
} else {
ToastUtils.show("暂无数据");
}
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
private boolean checkParams() {
String name = mEtName.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
ToastUtils.show("请输入重点区域名称");
return false;
}
String areaScope = mEtAreaScope.getText().toString().trim();
if (TextUtils.isEmpty(areaScope)) {
ToastUtils.show("请输入涉及区域范围");
return false;
}
if (mSelExtrude == null) {
ToastUtils.show("请选择治安突出问题");
return false;
}
if (mSelAreaType == null) {
ToastUtils.show("请选择涉及区域类型");
return false;
}
String leader = mEtLeader.getText().toString().trim();
if (TextUtils.isEmpty(leader)) {
ToastUtils.show("请输入牵头单位负责人姓名");
return false;
}
String phone = mEtLeaderPhone.getText().toString().trim();
if (TextUtils.isEmpty(phone) || !RegexUtils.isTel(phone)) {
ToastUtils.show("请输入合法的牵头单位负责人联系电话");
return false;
}
String desc = mEtDesc.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
ToastUtils.show("请输入整治情况");
return false;
}
String date = mTvDate.getText().toString().trim();
if (TextUtils.isEmpty(date)) {
ToastUtils.show("请选择整改时限");
return false;
}
return true;
}
/**
* 构建提交参数
*/
private RequestBody buildParams() {
SaveKeyAreaBean bean = new SaveKeyAreaBean();
String name = mEtName.getText().toString().trim();
bean.setSecurityArea(name);
String scope = mEtAreaScope.getText().toString().trim();
bean.setInvolveAreaRange(scope);
bean.setSecurityQuestion(mSelExtrude.getDataId());
bean.setSecurityQuestionCode(mSelExtrude.getDataSummary());
bean.setSecurityQuestionName(mSelExtrude.getDataName());
bean.setInvolveAreaType(mSelAreaType.getDataId());
bean.setInvolveAreaTypeCode(mSelAreaType.getDataSummary());
bean.setInvolveAreaTypeName(mSelAreaType.getDataName());
String leaderDept = mEtLeaderDept.getText().toString().trim();
if (!TextUtils.isEmpty(leaderDept)) {
bean.setRenovationLeadDept(leaderDept);
}
String leader = mEtLeader.getText().toString().trim();
bean.setLeadDeptMan(leader);
String phone = mEtLeaderPhone.getText().toString().trim();
bean.setLeadDeptPhone(phone);
String intoDept = mEtIntoDept.getText().toString().trim();
if (!TextUtils.isEmpty(intoDept)) {
bean.setRenovationJoinDept(intoDept);
}
String date = mTvDate.getText().toString().trim();
bean.setRectificationTime(date);
String penalNum = mEtPenalNum.getText().toString().trim();
if (!TextUtils.isEmpty(penalNum)) {
bean.setRenovationCriminalCount(Integer.parseInt(penalNum));
}
String orderNum = mEtOrderNum.getText().toString().trim();
if (!TextUtils.isEmpty(orderNum)) {
bean.setRenovationSecurityCount(Integer.parseInt(orderNum));
}
String desc = mEtDesc.getText().toString().trim();
bean.setRenovationSituationw(desc);
bean.setEffectEvaluation(mSelAssess.getDataId());
bean.setEffectEvaluationCode(mSelAssess.getDataSummary());
bean.setEffectEvaluationName(mSelAssess.getDataName());
Gson gson = new Gson();
String obj = gson.toJson(bean);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
return requestBody;
}
/**
* 回显
*/
private void setDataToView() {
refreshView(STATE_LOAD_SUCCESS);
mEtName.setText(mDetailBean.getSecurityArea());
mSelExtrude = new DicBean();
mTvExtrude.setText(mDetailBean.getSecurityQuestionName());
mSelExtrude.setDataName(mDetailBean.getSecurityQuestionName());
mSelExtrude.setDataId(mDetailBean.getSecurityQuestion());
mSelExtrude.setDataSummary(mDetailBean.getSecurityQuestionCode());
mSelAreaType = new DicBean();
mTvAreaType.setText(mDetailBean.getInvolveAreaTypeName());
mSelAreaType.setDataSummary(mDetailBean.getInvolveAreaTypeCode());
mSelAreaType.setDataId(mDetailBean.getInvolveAreaType());
mSelAreaType.setDataName(mDetailBean.getInvolveAreaTypeName());
mEtAreaScope.setText(mDetailBean.getInvolveAreaRange());
mEtLeaderDept.setText(mDetailBean.getRenovationLeadDept());
mEtLeader.setText(mDetailBean.getLeadDeptMan());
mEtLeaderPhone.setText(mDetailBean.getLeadDeptPhone());
mEtIntoDept.setText(mDetailBean.getRenovationJoinDept());
mTvDate.setText(mDetailBean.getRectificationTime());
mEtPenalNum.setText(mDetailBean.getRenovationCriminalCount() + "");
mEtOrderNum.setText(mDetailBean.getRenovationSecurityCount() + "");
mSelAssess = new DicBean();
mTvAssess.setText(mDetailBean.getEffectEvaluationName());
mSelAssess.setDataName(mDetailBean.getEffectEvaluationName());
mSelAssess.setDataId(mDetailBean.getEffectEvaluation());
mSelAssess.setDataSummary(mDetailBean.getEffectEvaluationCode());
mEtDesc.setText(mDetailBean.getRenovationSituationw());
}
}

View File

@ -1,12 +1,46 @@
package com.tengshisoft.gridmodule.incident.activitys.security;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.tengshisoft.gridmodule.R;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.hjq.toast.ToastUtils;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.tengshisoft.commonmodule.adapters.BuildingListAdapter;
import com.tengshisoft.commonmodule.adapters.KeyAreaAdapter;
import com.tengshisoft.commonmodule.beans.BuildingListBean;
import com.tengshisoft.commonmodule.beans.KeyAreaListBean;
import com.tengshisoft.commonmodule.nets.Apis;
import com.tengshisoft.gridmodule.R;
import com.tengshisoft.gridmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
/**
* 作者: Adam
@ -16,9 +50,32 @@ import butterknife.Unbinder;
*/
@Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_KEY_AREA_LIST)
public class KeyAreaListActivity extends BaseActivity {
@BindView(R2.id.srl_content)
SmartRefreshLayout mSrlContent;
@BindView(R2.id.rlv_buildings)
RecyclerView mRlvBuildings;
@BindView(R2.id.et_base_search_content)
EditText mEtBaseSearchContent;
@BindView(R2.id.iv_base_clear)
ImageView mIvBaseClear;
@BindView(R2.id.btn_base_search)
Button mBtnBaseSearch;
@BindView(R2.id.ll_base_search_content)
LinearLayout mLlBaseSearchContent;
@BindView(R2.id.pb_loading)
ProgressBar mPbLoading;
@BindView(R2.id.iv_empty_data)
ImageView mIvEmptyData;
@BindView(R2.id.tv_error_hint)
TextView mTvErrorHint;
private Unbinder mBind;
private int mCurrentPage = 1;//当前页数
private int mTotalSize;//总数
private List<KeyAreaListBean.RowsBean> mDatas = new ArrayList<>();
private KeyAreaAdapter mAdapter;
private String mKeywords = "";
private int mType;
@Override
protected int setLayoutId() {
@ -29,5 +86,195 @@ public class KeyAreaListActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("重点区域");
mTvPublish.setVisibility(View.VISIBLE);
mTvPublish.setText("新建");
mTvPublish.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_KEY_AREA_ADD)
.navigation(mActivity, 12));
mAdapter = new KeyAreaAdapter(mActivity, mDatas);
mSrlContent.setOnLoadMoreListener(refreshLayout -> loadMore());
mSrlContent.setOnRefreshListener(refreshLayout -> doRefresh());
mRlvBuildings.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvBuildings.setAdapter(mAdapter);
mAdapter.addOnItemClickListener(this::showDetail);
refreshView(STATE_LOAD_SUCCESS);
setStateView(13);
getKeyAreaList(1);
mBtnBaseSearch.setOnClickListener(v -> doSearch());
mIvBaseClear.setOnClickListener(v -> {
mKeywords = "";
mEtBaseSearchContent.setText("");
doRefresh();
});
}
/**
* 显示详情
*/
private void showDetail(KeyAreaListBean.RowsBean b) {
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_KEY_AREA_DETAIL)
.withString("id", b.getKeyAreaCheckRenovationId())
.navigation(mActivity, 12);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {
doRefresh();
}
}
}
/**
* 获取小区列表
*
* @param currentPage
*/
private void getKeyAreaList(int currentPage) {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(Apis.class)
.getKeyAreaList(mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<KeyAreaListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull KeyAreaListBean communityListBean) {
if (communityListBean != null && communityListBean.getRows() != null && communityListBean.getRows().size() > 0) {
++mCurrentPage;
if (currentPage == 1) {
mDatas.clear();
mDatas.addAll(communityListBean.getRows());
} else {
mDatas.addAll(communityListBean.getRows());
}
setStateView(14);
mAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= communityListBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
} else {
if (currentPage > 1) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
setStateView(14);
} else {
if (TextUtils.isEmpty(mKeywords)) {
//无数据
setStateView(15);
} else {
setStateView(15);
ToastUtils.show("未查询到相关内容");
}
}
}
}
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
ExceptionHandler.handleException(e);
setStateView(16);
}
@Override
public void onComplete() {
}
});
}
/**
*
*/
private void doSearch() {
hideSoftKeyboard();
String searchContent = mEtBaseSearchContent.getText().toString().trim();
if (!TextUtils.isEmpty(searchContent)) {
hideSoftKeyboard();
setStateView(13);
mKeywords = searchContent;
mCurrentPage = 1;
getKeyAreaList(mCurrentPage);
} else {
ToastUtils.show("请输入要查询的内容");
}
}
//加载更多
private void loadMore() {
getKeyAreaList(mCurrentPage);
}
//刷新
private void doRefresh() {
mDatas.clear();
mAdapter.setData(mDatas);
getKeyAreaList(1);
}
/**
* 根据状态显示
* 12 默认
* 13 搜索中
* 14 搜索完成有数据
* 15 搜索完成没有数据
* 16 搜索失败
*
* @param state
*/
private void setStateView(int state) {
switch (state) {
case 12://默认
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.VISIBLE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("请输入查询的内容");
break;
case 13://搜索中
mPbLoading.setVisibility(View.VISIBLE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.GONE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("加载中...");
break;
case 14://搜索完成有数据
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.VISIBLE);
mIvEmptyData.setVisibility(View.GONE);
mTvErrorHint.setVisibility(View.GONE);
break;
case 15://搜索完成没有数据
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.VISIBLE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("没有搜索到数据");
break;
case 16://搜索失败
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.VISIBLE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("加载失败,请稍后重试");
break;
}
}
}

View File

@ -1,9 +1,286 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nsv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".incident.activitys.security.KeyAreaAddActivity">
android:orientation="vertical"
android:overScrollMode="never"
android:scrollbars="none">
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="治安重点地区" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_name"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入治安重点区域"
android:inputType="text" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="治安突出问题" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_extrude"
style="@style/sel_text_arrow"
android:hint="请选择治安突出问题" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="涉及区域类型" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_area_type"
style="@style/sel_text_arrow"
android:hint="请选择涉及区域类型" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="涉及区域范围" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_area_scope"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入涉及区域范围" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治牵头单位" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_leader_dept"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治牵头单位" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="联系人" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_leader"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治牵头单位联系人姓名" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="联系电话" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_leader_phone"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:digits="@string/limit_phone"
android:hint="请输入整治牵头单位联系人联系电话" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治参与单位" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_into_dept"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治参与单位" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="整改时限" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_date"
style="@style/sel_text_arrow"
android:hint="请选择整改时限" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="破获刑事案件" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_penal_num"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治期间破获刑事案件件数"
android:inputType="number" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="查处治安案件" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_order_num"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治期间查处治安案件件数"
android:inputType="number" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="效果评估" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_assess"
style="@style/sel_text_arrow"
android:hint="请选择效果评估" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:drawableLeft="@drawable/ic_start_hint"
android:text="整治情况" />
<EditText
android:id="@+id/et_desc"
style="@style/item_content_edit"
android:hint="请输入整治情况"
android:minLines="3" />
</LinearLayout>
<Button
android:id="@+id/btn_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/sel_btn_submit"
android:minHeight="0dp"
android:padding="10dp"
android:text="保&#160;&#160;&#160;&#160;存"
android:textColor="@color/white"
android:textSize="17sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.core.widget.NestedScrollView>

View File

@ -1,9 +1,293 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nsv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".incident.activitys.security.KeyAreaDetailActivity">
android:orientation="vertical"
android:overScrollMode="never"
android:scrollbars="none">
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/issue_report_title"
android:padding="8dp"
android:text="详情"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn_edit"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_blue_gray_re_5"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="编辑"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_del"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@drawable/sel_btn_red_gray_re_5"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="删除"
android:textColor="@color/white" />
</LinearLayout>
</RelativeLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="治安重点地区" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_name"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="治安突出问题" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_extrude"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="涉及区域类型" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_area_type"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="涉及区域范围" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_area_scope"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治牵头单位" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_leader_dept"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="联系人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_leader"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="联系电话" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_leader_phone"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治参与单位" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_into_dept"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整改时限" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_date"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="破获刑事案件" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_penal_num"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="查处治安案件" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_order_num"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="效果评估" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_assess"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:text="整治情况" />
<TextView
android:id="@+id/tv_desc"
style="@style/item_content_edit"
android:hint="未录入"
android:minLines="3" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.core.widget.NestedScrollView>

View File

@ -1,9 +1,286 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nsv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".incident.activitys.security.KeyAreaEditActivity">
android:orientation="vertical"
android:overScrollMode="never"
android:scrollbars="none">
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="治安重点地区" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_name"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入治安重点区域"
android:inputType="text" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="治安突出问题" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_extrude"
style="@style/sel_text_arrow"
android:hint="请选择治安突出问题" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="涉及区域类型" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_area_type"
style="@style/sel_text_arrow"
android:hint="请选择涉及区域类型" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="涉及区域范围" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_area_scope"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入涉及区域范围" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治牵头单位" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_leader_dept"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治牵头单位" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="联系人" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_leader"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治牵头单位联系人姓名" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="联系电话" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_leader_phone"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:digits="@string/limit_phone"
android:hint="请输入整治牵头单位联系人联系电话" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治参与单位" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_into_dept"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治参与单位" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="整改时限" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_date"
style="@style/sel_text_arrow"
android:hint="请选择整改时限" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="破获刑事案件" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_penal_num"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治期间破获刑事案件件数"
android:inputType="number" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="查处治安案件" />
<View style="@style/vertical_line" />
<EditText
android:id="@+id/et_order_num"
style="@style/item_content"
android:layout_gravity="center_vertical"
android:hint="请输入整治期间查处治安案件件数"
android:inputType="number" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="visible" />
<TextView
style="@style/item_title"
android:text="效果评估" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_assess"
style="@style/sel_text_arrow"
android:hint="请选择效果评估" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:drawableLeft="@drawable/ic_start_hint"
android:text="整治情况" />
<EditText
android:id="@+id/et_desc"
style="@style/item_content_edit"
android:hint="请输入整治情况"
android:minLines="3" />
</LinearLayout>
<Button
android:id="@+id/btn_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/sel_btn_submit"
android:minHeight="0dp"
android:padding="10dp"
android:text="保&#160;&#160;&#160;&#160;存"
android:textColor="@color/white"
android:textSize="17sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.core.widget.NestedScrollView>

View File

@ -1,9 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".incident.activitys.security.KeyAreaListActivity">
android:background="@color/gray_bg"
android:orientation="vertical"
tools:context=".incident.activitys.building.CommunityManageActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
<include layout="@layout/item_base_search" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/srl_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rlv_buildings"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/item_community_list" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<ProgressBar
android:id="@+id/pb_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/anim_loading" />
<ImageView
android:id="@+id/iv_empty_data"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/ic_empty_data" />
<TextView
android:id="@+id/tv_error_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:clickable="true"
android:textColor="@color/black"
tools:text="加载数据失败" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>

View File

@ -201,10 +201,19 @@ public class GridMainFragment extends BaseFragment {
dialogView.addOnChoseListener(bean2 -> {
switch (bean2.getText()) {
case "重点区域":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_KEY_AREA_LIST)
.navigation();
break;
case "命案防控":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_LIST)
.navigation();
break;
case "邮寄物流地":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_LIST)
.navigation();
break;
}
dialogView.dismiss();