From 9179b74d190ecb4815a09ea74e75ccb8359f21b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=81=A5?= Date: Thu, 21 Oct 2021 19:13:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E9=80=92=E7=89=A9=E6=B5=81=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E4=BF=A1=E6=81=AF=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baselib/constant/PathConfig.java | 6 + .../adapters/ExpressListAdapter.java | 45 ++ .../commonmodule/beans/ExpressDetailBean.java | 299 ++++++++ .../commonmodule/beans/ExpressListBean.java | 332 +++++++++ .../commonmodule/beans/SaveExpressBean.java | 281 ++++++++ .../commonmodule/holders/ExpressHolder.java | 32 + .../tengshisoft/commonmodule/nets/Apis.java | 39 ++ .../src/main/res/layout/item_express_list.xml | 70 ++ .../activitys/populace/DicSelActivity.java | 9 + .../security/ExpressPoiAddActivity.java | 542 ++++++++++++++- .../security/ExpressPoiDetailActivity.java | 279 +++++++- .../security/ExpressPoiEditActivity.java | 645 +++++++++++++++++- .../security/ExpressPoiListActivity.java | 252 ++++++- .../res/layout/activity_express_poi_add.xml | 471 ++++++++++++- .../layout/activity_express_poi_detail.xml | 480 ++++++++++++- .../res/layout/activity_express_poi_edit.xml | 471 ++++++++++++- .../res/layout/activity_express_poi_list.xml | 57 +- 17 files changed, 4279 insertions(+), 31 deletions(-) create mode 100644 commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/ExpressListAdapter.java create mode 100644 commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressDetailBean.java create mode 100644 commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressListBean.java create mode 100644 commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveExpressBean.java create mode 100644 commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/ExpressHolder.java create mode 100644 commonmodule/src/main/res/layout/item_express_list.xml diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java index cb273e1..f2a2b68 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java @@ -110,6 +110,12 @@ public class PathConfig { public static final String DIC_THREE = "34aefb4b-5918-4de7-a6b8-8e361f76c557";//三涉 public static final String DIC_GROUP = "b30da878-2576-4e70-8a39-4eeee5ad9983";//小组组成 + public static final String DIC_REGISTER_TYPE = "0c0ece03-8256-4ddb-bb67-75df7f12807a";//登记注册类型 + public static final String DIC_HOLDING_TYPE = "171b5ede-dce7-4b84-9cc8-0904c8b7c6fa";//控股类型 + public static final String DIC_DEAL_SOCPE = "434e9e8a-ed19-4682-876c-7fd0e31f62be";//经营范围 + public static final String DIC_COMPANY_TYPE = "59b780b2-d230-49d5-b793-33ff660a58bf";//企业类型 + + //=============================主页按钮模块类型=========================== public static final String MODULE_CALL = "call"; public static final String MODULE_PRISON = "prison"; diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/ExpressListAdapter.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/ExpressListAdapter.java new file mode 100644 index 0000000..d2788e4 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/ExpressListAdapter.java @@ -0,0 +1,45 @@ +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.ExpressListBean; +import com.tengshisoft.commonmodule.beans.PenalListBean; +import com.tengshisoft.commonmodule.holders.ExpressHolder; +import com.tengshisoft.commonmodule.holders.PenalListHolder; +import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2021/9/26 - 3:01 下午 + * 邮箱: itgaojian@163.com + * 描述: 快递物流 + */ +public class ExpressListAdapter extends BaseRecyclerAdapter { + + public ExpressListAdapter(Context ctx, List list) { + super(ctx, list); + } + + @Override + public ExpressHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_express_list, parent, false); + return new ExpressHolder(itemView); + } + + @Override + public void bindHolder(ExpressHolder holder, int i) { + ExpressListBean.RowsBean bean = mData.get(i); + holder.mTvName.setText(bean.getLogisticsEnterpriseName()); + holder.mTvUser.setText("负责人:" + bean.getEnterpriseLinkMan()); + holder.mTvPhone.setText("联系电话:" + bean.getEnterpriseLinkPhone()); + holder.mTvLocation.setText(bean.getEnterpriseLocationName()); + + } + +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressDetailBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressDetailBean.java new file mode 100644 index 0000000..1777022 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressDetailBean.java @@ -0,0 +1,299 @@ +package com.tengshisoft.commonmodule.beans; + +/** + * 作者: adam + * 日期: 2021/10/21 - 4:18 下午 + * 邮箱: itgaojian@163.com + * 描述: 邮递物流详情 + */ +public class ExpressDetailBean { + + private String businessNature; + private String businessNatureCode; + private String businessNatureName; + private String businessNatureValue; + private int employeesCount; + private String enterpriseAddress; + private String enterpriseLinkMan; + private String enterpriseLinkPhone; + private String enterpriseLocation; + private String enterpriseLocationCode; + private String enterpriseLocationName; + private String enterprisePhone; + private String enterpriseType; + private String enterpriseTypeCode; + private String enterpriseTypeName; + private String holdingSituation; + private String holdingSituationCode; + private String holdingSituationName; + private int isRealName; + private int isSealing; + private int isXCheck; + private double latitude; + private String licenseNum; + private String logisticsEnterpriseName; + private String logisticsSafeId; + private double longitude; + private String registrationType; + private String registrationTypeCode; + private String registrationTypeName; + private String serviceBrand; + private int videoCount; + private int xMachineCount; + + public String getBusinessNature() { + return businessNature; + } + + public void setBusinessNature(String businessNature) { + this.businessNature = businessNature; + } + + public String getBusinessNatureCode() { + return businessNatureCode; + } + + public void setBusinessNatureCode(String businessNatureCode) { + this.businessNatureCode = businessNatureCode; + } + + public String getBusinessNatureName() { + return businessNatureName; + } + + public void setBusinessNatureName(String businessNatureName) { + this.businessNatureName = businessNatureName; + } + + public String getBusinessNatureValue() { + return businessNatureValue; + } + + public void setBusinessNatureValue(String businessNatureValue) { + this.businessNatureValue = businessNatureValue; + } + + public int getEmployeesCount() { + return employeesCount; + } + + public void setEmployeesCount(int employeesCount) { + this.employeesCount = employeesCount; + } + + public String getEnterpriseAddress() { + return enterpriseAddress; + } + + public void setEnterpriseAddress(String enterpriseAddress) { + this.enterpriseAddress = enterpriseAddress; + } + + public String getEnterpriseLinkMan() { + return enterpriseLinkMan; + } + + public void setEnterpriseLinkMan(String enterpriseLinkMan) { + this.enterpriseLinkMan = enterpriseLinkMan; + } + + public String getEnterpriseLinkPhone() { + return enterpriseLinkPhone; + } + + public void setEnterpriseLinkPhone(String enterpriseLinkPhone) { + this.enterpriseLinkPhone = enterpriseLinkPhone; + } + + public String getEnterpriseLocation() { + return enterpriseLocation; + } + + public void setEnterpriseLocation(String enterpriseLocation) { + this.enterpriseLocation = enterpriseLocation; + } + + public String getEnterpriseLocationCode() { + return enterpriseLocationCode; + } + + public void setEnterpriseLocationCode(String enterpriseLocationCode) { + this.enterpriseLocationCode = enterpriseLocationCode; + } + + public String getEnterpriseLocationName() { + return enterpriseLocationName; + } + + public void setEnterpriseLocationName(String enterpriseLocationName) { + this.enterpriseLocationName = enterpriseLocationName; + } + + public String getEnterprisePhone() { + return enterprisePhone; + } + + public void setEnterprisePhone(String enterprisePhone) { + this.enterprisePhone = enterprisePhone; + } + + public String getEnterpriseType() { + return enterpriseType; + } + + public void setEnterpriseType(String enterpriseType) { + this.enterpriseType = enterpriseType; + } + + public String getEnterpriseTypeCode() { + return enterpriseTypeCode; + } + + public void setEnterpriseTypeCode(String enterpriseTypeCode) { + this.enterpriseTypeCode = enterpriseTypeCode; + } + + public String getEnterpriseTypeName() { + return enterpriseTypeName; + } + + public void setEnterpriseTypeName(String enterpriseTypeName) { + this.enterpriseTypeName = enterpriseTypeName; + } + + public String getHoldingSituation() { + return holdingSituation; + } + + public void setHoldingSituation(String holdingSituation) { + this.holdingSituation = holdingSituation; + } + + public String getHoldingSituationCode() { + return holdingSituationCode; + } + + public void setHoldingSituationCode(String holdingSituationCode) { + this.holdingSituationCode = holdingSituationCode; + } + + public String getHoldingSituationName() { + return holdingSituationName; + } + + public void setHoldingSituationName(String holdingSituationName) { + this.holdingSituationName = holdingSituationName; + } + + public int getIsRealName() { + return isRealName; + } + + public void setIsRealName(int isRealName) { + this.isRealName = isRealName; + } + + public int getIsSealing() { + return isSealing; + } + + public void setIsSealing(int isSealing) { + this.isSealing = isSealing; + } + + public int getIsXCheck() { + return isXCheck; + } + + public void setIsXCheck(int isXCheck) { + this.isXCheck = isXCheck; + } + + public double getLatitude() { + return latitude; + } + + public void setLatitude(int latitude) { + this.latitude = latitude; + } + + public String getLicenseNum() { + return licenseNum; + } + + public void setLicenseNum(String licenseNum) { + this.licenseNum = licenseNum; + } + + public String getLogisticsEnterpriseName() { + return logisticsEnterpriseName; + } + + public void setLogisticsEnterpriseName(String logisticsEnterpriseName) { + this.logisticsEnterpriseName = logisticsEnterpriseName; + } + + public String getLogisticsSafeId() { + return logisticsSafeId; + } + + public void setLogisticsSafeId(String logisticsSafeId) { + this.logisticsSafeId = logisticsSafeId; + } + + public double getLongitude() { + return longitude; + } + + public void setLongitude(int longitude) { + this.longitude = longitude; + } + + public String getRegistrationType() { + return registrationType; + } + + public void setRegistrationType(String registrationType) { + this.registrationType = registrationType; + } + + public String getRegistrationTypeCode() { + return registrationTypeCode; + } + + public void setRegistrationTypeCode(String registrationTypeCode) { + this.registrationTypeCode = registrationTypeCode; + } + + public String getRegistrationTypeName() { + return registrationTypeName; + } + + public void setRegistrationTypeName(String registrationTypeName) { + this.registrationTypeName = registrationTypeName; + } + + public String getServiceBrand() { + return serviceBrand; + } + + public void setServiceBrand(String serviceBrand) { + this.serviceBrand = serviceBrand; + } + + public int getVideoCount() { + return videoCount; + } + + public void setVideoCount(int videoCount) { + this.videoCount = videoCount; + } + + public int getXMachineCount() { + return xMachineCount; + } + + public void setXMachineCount(int xMachineCount) { + this.xMachineCount = xMachineCount; + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressListBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressListBean.java new file mode 100644 index 0000000..400ebc1 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/ExpressListBean.java @@ -0,0 +1,332 @@ +package com.tengshisoft.commonmodule.beans; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2021/10/21 - 4:18 下午 + * 邮箱: itgaojian@163.com + * 描述: 邮递物流 + */ +public class ExpressListBean { + + + private int page; + private int total; + private List 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 getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + private String businessNature; + private String businessNatureCode; + private String businessNatureName; + private String businessNatureValue; + private int employeesCount; + private String enterpriseAddress; + private String enterpriseLinkMan; + private String enterpriseLinkPhone; + private String enterpriseLocation; + private String enterpriseLocationCode; + private String enterpriseLocationName; + private String enterprisePhone; + private String enterpriseType; + private String enterpriseTypeCode; + private String enterpriseTypeName; + private String holdingSituation; + private String holdingSituationCode; + private String holdingSituationName; + private int isRealName; + private int isSealing; + private int isXCheck; + private double latitude; + private String licenseNum; + private String logisticsEnterpriseName; + private String logisticsSafeId; + private double longitude; + private String registrationType; + private String registrationTypeCode; + private String registrationTypeName; + private String serviceBrand; + private int videoCount; + private int xMachineCount; + + public String getBusinessNature() { + return businessNature; + } + + public void setBusinessNature(String businessNature) { + this.businessNature = businessNature; + } + + public String getBusinessNatureCode() { + return businessNatureCode; + } + + public void setBusinessNatureCode(String businessNatureCode) { + this.businessNatureCode = businessNatureCode; + } + + public String getBusinessNatureName() { + return businessNatureName; + } + + public void setBusinessNatureName(String businessNatureName) { + this.businessNatureName = businessNatureName; + } + + public String getBusinessNatureValue() { + return businessNatureValue; + } + + public void setBusinessNatureValue(String businessNatureValue) { + this.businessNatureValue = businessNatureValue; + } + + public int getEmployeesCount() { + return employeesCount; + } + + public void setEmployeesCount(int employeesCount) { + this.employeesCount = employeesCount; + } + + public String getEnterpriseAddress() { + return enterpriseAddress; + } + + public void setEnterpriseAddress(String enterpriseAddress) { + this.enterpriseAddress = enterpriseAddress; + } + + public String getEnterpriseLinkMan() { + return enterpriseLinkMan; + } + + public void setEnterpriseLinkMan(String enterpriseLinkMan) { + this.enterpriseLinkMan = enterpriseLinkMan; + } + + public String getEnterpriseLinkPhone() { + return enterpriseLinkPhone; + } + + public void setEnterpriseLinkPhone(String enterpriseLinkPhone) { + this.enterpriseLinkPhone = enterpriseLinkPhone; + } + + public String getEnterpriseLocation() { + return enterpriseLocation; + } + + public void setEnterpriseLocation(String enterpriseLocation) { + this.enterpriseLocation = enterpriseLocation; + } + + public String getEnterpriseLocationCode() { + return enterpriseLocationCode; + } + + public void setEnterpriseLocationCode(String enterpriseLocationCode) { + this.enterpriseLocationCode = enterpriseLocationCode; + } + + public String getEnterpriseLocationName() { + return enterpriseLocationName; + } + + public void setEnterpriseLocationName(String enterpriseLocationName) { + this.enterpriseLocationName = enterpriseLocationName; + } + + public String getEnterprisePhone() { + return enterprisePhone; + } + + public void setEnterprisePhone(String enterprisePhone) { + this.enterprisePhone = enterprisePhone; + } + + public String getEnterpriseType() { + return enterpriseType; + } + + public void setEnterpriseType(String enterpriseType) { + this.enterpriseType = enterpriseType; + } + + public String getEnterpriseTypeCode() { + return enterpriseTypeCode; + } + + public void setEnterpriseTypeCode(String enterpriseTypeCode) { + this.enterpriseTypeCode = enterpriseTypeCode; + } + + public String getEnterpriseTypeName() { + return enterpriseTypeName; + } + + public void setEnterpriseTypeName(String enterpriseTypeName) { + this.enterpriseTypeName = enterpriseTypeName; + } + + public String getHoldingSituation() { + return holdingSituation; + } + + public void setHoldingSituation(String holdingSituation) { + this.holdingSituation = holdingSituation; + } + + public String getHoldingSituationCode() { + return holdingSituationCode; + } + + public void setHoldingSituationCode(String holdingSituationCode) { + this.holdingSituationCode = holdingSituationCode; + } + + public String getHoldingSituationName() { + return holdingSituationName; + } + + public void setHoldingSituationName(String holdingSituationName) { + this.holdingSituationName = holdingSituationName; + } + + public int getIsRealName() { + return isRealName; + } + + public void setIsRealName(int isRealName) { + this.isRealName = isRealName; + } + + public int getIsSealing() { + return isSealing; + } + + public void setIsSealing(int isSealing) { + this.isSealing = isSealing; + } + + public int getIsXCheck() { + return isXCheck; + } + + public void setIsXCheck(int isXCheck) { + this.isXCheck = isXCheck; + } + + public double getLatitude() { + return latitude; + } + + public void setLatitude(double latitude) { + this.latitude = latitude; + } + + public String getLicenseNum() { + return licenseNum; + } + + public void setLicenseNum(String licenseNum) { + this.licenseNum = licenseNum; + } + + public String getLogisticsEnterpriseName() { + return logisticsEnterpriseName; + } + + public void setLogisticsEnterpriseName(String logisticsEnterpriseName) { + this.logisticsEnterpriseName = logisticsEnterpriseName; + } + + public String getLogisticsSafeId() { + return logisticsSafeId; + } + + public void setLogisticsSafeId(String logisticsSafeId) { + this.logisticsSafeId = logisticsSafeId; + } + + public double getLongitude() { + return longitude; + } + + public void setLongitude(double longitude) { + this.longitude = longitude; + } + + public String getRegistrationType() { + return registrationType; + } + + public void setRegistrationType(String registrationType) { + this.registrationType = registrationType; + } + + public String getRegistrationTypeCode() { + return registrationTypeCode; + } + + public void setRegistrationTypeCode(String registrationTypeCode) { + this.registrationTypeCode = registrationTypeCode; + } + + public String getRegistrationTypeName() { + return registrationTypeName; + } + + public void setRegistrationTypeName(String registrationTypeName) { + this.registrationTypeName = registrationTypeName; + } + + public String getServiceBrand() { + return serviceBrand; + } + + public void setServiceBrand(String serviceBrand) { + this.serviceBrand = serviceBrand; + } + + public int getVideoCount() { + return videoCount; + } + + public void setVideoCount(int videoCount) { + this.videoCount = videoCount; + } + + public int getXMachineCount() { + return xMachineCount; + } + + public void setXMachineCount(int xMachineCount) { + this.xMachineCount = xMachineCount; + } + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveExpressBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveExpressBean.java new file mode 100644 index 0000000..7b1e2c9 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveExpressBean.java @@ -0,0 +1,281 @@ +package com.tengshisoft.commonmodule.beans; + +/** + * 作者: adam + * 日期: 2021/10/21 - 4:20 下午 + * 邮箱: itgaojian@163.com + * 描述: + */ +public class SaveExpressBean { + + private String businessNature; + private String businessNatureCode; + private String businessNatureName; + private int employeesCount; + private String enterpriseAddress; + private String enterpriseLinkMan; + private String enterpriseLinkPhone; + private String enterpriseLocation; + private String enterpriseLocationCode; + private String enterpriseLocationName; + private String enterprisePhone; + private String enterpriseType; + private String enterpriseTypeCode; + private String enterpriseTypeName; + private String holdingSituation; + private String holdingSituationCode; + private String holdingSituationName; + private int isRealName; + private int isSealing; + private int isXCheck; + private double latitude; + private String licenseNum; + private String logisticsEnterpriseName; + private double longitude; + private String registrationType; + private String registrationTypeCode; + private String registrationTypeName; + private String serviceBrand; + private int videoCount; + private int xMachineCount; + + public String getBusinessNature() { + return businessNature; + } + + public void setBusinessNature(String businessNature) { + this.businessNature = businessNature; + } + + public String getBusinessNatureCode() { + return businessNatureCode; + } + + public void setBusinessNatureCode(String businessNatureCode) { + this.businessNatureCode = businessNatureCode; + } + + public String getBusinessNatureName() { + return businessNatureName; + } + + public void setBusinessNatureName(String businessNatureName) { + this.businessNatureName = businessNatureName; + } + + public int getEmployeesCount() { + return employeesCount; + } + + public void setEmployeesCount(int employeesCount) { + this.employeesCount = employeesCount; + } + + public String getEnterpriseAddress() { + return enterpriseAddress; + } + + public void setEnterpriseAddress(String enterpriseAddress) { + this.enterpriseAddress = enterpriseAddress; + } + + public String getEnterpriseLinkMan() { + return enterpriseLinkMan; + } + + public void setEnterpriseLinkMan(String enterpriseLinkMan) { + this.enterpriseLinkMan = enterpriseLinkMan; + } + + public String getEnterpriseLinkPhone() { + return enterpriseLinkPhone; + } + + public void setEnterpriseLinkPhone(String enterpriseLinkPhone) { + this.enterpriseLinkPhone = enterpriseLinkPhone; + } + + public String getEnterpriseLocation() { + return enterpriseLocation; + } + + public void setEnterpriseLocation(String enterpriseLocation) { + this.enterpriseLocation = enterpriseLocation; + } + + public String getEnterpriseLocationCode() { + return enterpriseLocationCode; + } + + public void setEnterpriseLocationCode(String enterpriseLocationCode) { + this.enterpriseLocationCode = enterpriseLocationCode; + } + + public String getEnterpriseLocationName() { + return enterpriseLocationName; + } + + public void setEnterpriseLocationName(String enterpriseLocationName) { + this.enterpriseLocationName = enterpriseLocationName; + } + + public String getEnterprisePhone() { + return enterprisePhone; + } + + public void setEnterprisePhone(String enterprisePhone) { + this.enterprisePhone = enterprisePhone; + } + + public String getEnterpriseType() { + return enterpriseType; + } + + public void setEnterpriseType(String enterpriseType) { + this.enterpriseType = enterpriseType; + } + + public String getEnterpriseTypeCode() { + return enterpriseTypeCode; + } + + public void setEnterpriseTypeCode(String enterpriseTypeCode) { + this.enterpriseTypeCode = enterpriseTypeCode; + } + + public String getEnterpriseTypeName() { + return enterpriseTypeName; + } + + public void setEnterpriseTypeName(String enterpriseTypeName) { + this.enterpriseTypeName = enterpriseTypeName; + } + + public String getHoldingSituation() { + return holdingSituation; + } + + public void setHoldingSituation(String holdingSituation) { + this.holdingSituation = holdingSituation; + } + + public String getHoldingSituationCode() { + return holdingSituationCode; + } + + public void setHoldingSituationCode(String holdingSituationCode) { + this.holdingSituationCode = holdingSituationCode; + } + + public String getHoldingSituationName() { + return holdingSituationName; + } + + public void setHoldingSituationName(String holdingSituationName) { + this.holdingSituationName = holdingSituationName; + } + + public int getIsRealName() { + return isRealName; + } + + public void setIsRealName(int isRealName) { + this.isRealName = isRealName; + } + + public int getIsSealing() { + return isSealing; + } + + public void setIsSealing(int isSealing) { + this.isSealing = isSealing; + } + + public int getIsXCheck() { + return isXCheck; + } + + public void setIsXCheck(int isXCheck) { + this.isXCheck = isXCheck; + } + + public double getLatitude() { + return latitude; + } + + public void setLatitude(double latitude) { + this.latitude = latitude; + } + + public String getLicenseNum() { + return licenseNum; + } + + public void setLicenseNum(String licenseNum) { + this.licenseNum = licenseNum; + } + + public String getLogisticsEnterpriseName() { + return logisticsEnterpriseName; + } + + public void setLogisticsEnterpriseName(String logisticsEnterpriseName) { + this.logisticsEnterpriseName = logisticsEnterpriseName; + } + + public double getLongitude() { + return longitude; + } + + public void setLongitude(double longitude) { + this.longitude = longitude; + } + + public String getRegistrationType() { + return registrationType; + } + + public void setRegistrationType(String registrationType) { + this.registrationType = registrationType; + } + + public String getRegistrationTypeCode() { + return registrationTypeCode; + } + + public void setRegistrationTypeCode(String registrationTypeCode) { + this.registrationTypeCode = registrationTypeCode; + } + + public String getRegistrationTypeName() { + return registrationTypeName; + } + + public void setRegistrationTypeName(String registrationTypeName) { + this.registrationTypeName = registrationTypeName; + } + + public String getServiceBrand() { + return serviceBrand; + } + + public void setServiceBrand(String serviceBrand) { + this.serviceBrand = serviceBrand; + } + + public int getVideoCount() { + return videoCount; + } + + public void setVideoCount(int videoCount) { + this.videoCount = videoCount; + } + + public int getXMachineCount() { + return xMachineCount; + } + + public void setXMachineCount(int xMachineCount) { + this.xMachineCount = xMachineCount; + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/ExpressHolder.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/ExpressHolder.java new file mode 100644 index 0000000..c7b6aa6 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/ExpressHolder.java @@ -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 ExpressHolder extends RecyclerView.ViewHolder { + public TextView mTvName; + public TextView mTvUser; + public TextView mTvPhone; + public TextView mTvLocation; + + public ExpressHolder(@NonNull @NotNull View itemView) { + super(itemView); + mTvName = itemView.findViewById(R.id.tv_name); + mTvUser = itemView.findViewById(R.id.tv_user); + mTvPhone = itemView.findViewById(R.id.tv_phone); + mTvLocation = itemView.findViewById(R.id.tv_location); + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/Apis.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/Apis.java index 8d72665..c26170c 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/Apis.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/Apis.java @@ -19,6 +19,8 @@ import com.tengshisoft.commonmodule.beans.CorrectDetailBean; import com.tengshisoft.commonmodule.beans.DepartmentBean; import com.tengshisoft.commonmodule.beans.DispatchDetailBean; import com.tengshisoft.commonmodule.beans.DrugDetailBean; +import com.tengshisoft.commonmodule.beans.ExpressDetailBean; +import com.tengshisoft.commonmodule.beans.ExpressListBean; import com.tengshisoft.commonmodule.beans.FamilyMemberDetailBean; import com.tengshisoft.commonmodule.beans.FamilyMemberListBean; import com.tengshisoft.commonmodule.beans.HandleListBean; @@ -940,5 +942,42 @@ public interface Apis { @GET("app/homicide/get/{homicideId}") Observable getPenalDetailById(@Path("homicideId") String id, @Header("token") String token); + /* 快递物流*/ + + /** + * 获取快递物流列表 + */ + @Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/logisticssafe/listpagelogisticssafe") + Observable getExpressList(@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/logisticssafe/save") + Observable doSaveExpress(@Body RequestBody body, @Header("token") String token); + + /** + * 修改快递物流基本信息 + */ + @Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"}) + @PUT("app/logisticssafe/updatelogisticssafe/{logisticsSafeId}") + Observable doEditExpress(@Path("logisticsSafeId") String id, @Body RequestBody body, @Header("token") String token); + + /** + * 删除快递物流防控 + */ + @Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"}) + @DELETE("app/logisticssafe/remove/{ids}") + Observable doDelExpress(@Path("ids") String id, @Header("token") String token); + + /** + * 获取快递物流详情 + */ + @Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/logisticssafe/get/{logisticsSafeId}") + Observable getExpressDetailById(@Path("logisticsSafeId") String id, @Header("token") String token); + } diff --git a/commonmodule/src/main/res/layout/item_express_list.xml b/commonmodule/src/main/res/layout/item_express_list.xml new file mode 100644 index 0000000..cfa78a3 --- /dev/null +++ b/commonmodule/src/main/res/layout/item_express_list.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/populace/DicSelActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/populace/DicSelActivity.java index 7a5b354..a3bf0a0 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/populace/DicSelActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/populace/DicSelActivity.java @@ -160,14 +160,23 @@ public class DicSelActivity extends BaseActivity { } else { String temp = ""; String ids = ""; + String summary = ""; + String codes = ""; for (int i = 0; i < mAdapter.mSelBeans.size(); i++) { temp += mAdapter.mSelBeans.get(i).getDataName() + ","; ids += mAdapter.mSelBeans.get(i).getDataId() + ","; + summary += mAdapter.mSelBeans.get(i).getDataSummary() + ","; + codes += mAdapter.mSelBeans.get(i).getDataCode() + ","; } temp = temp.substring(0, temp.length() - 1); ids = ids.substring(0, ids.length() - 1); + summary = summary.substring(0, summary.length() - 1); + codes = codes.substring(0, codes.length() - 1); + intent.putExtra("bean", temp); intent.putExtra("ids", ids); + intent.putExtra("summary", summary); + intent.putExtra("code", codes); } setResult(222, intent); finish(); diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiAddActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiAddActivity.java index a4c458c..a072b6d 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiAddActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiAddActivity.java @@ -1,12 +1,67 @@ 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.annotation.SuppressLint; +import android.app.ProgressDialog; +import android.content.Intent; +import android.graphics.Color; +import android.text.TextUtils; +import android.view.MotionEvent; +import android.view.View; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.ZoomControls; +import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; +import com.baidu.location.BDLocation; +import com.baidu.mapapi.map.BaiduMap; +import com.baidu.mapapi.map.BitmapDescriptor; +import com.baidu.mapapi.map.BitmapDescriptorFactory; +import com.baidu.mapapi.map.MapStatus; +import com.baidu.mapapi.map.MapStatusUpdate; +import com.baidu.mapapi.map.MapStatusUpdateFactory; +import com.baidu.mapapi.map.MarkerOptions; +import com.baidu.mapapi.map.TextureMapView; +import com.baidu.mapapi.model.LatLng; +import com.bigkoo.pickerview.builder.OptionsPickerBuilder; +import com.bigkoo.pickerview.view.OptionsPickerView; +import com.google.gson.Gson; +import com.hjq.toast.ToastUtils; +import com.tengshisoft.commonmodule.beans.SaveExpressBean; +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.core.widget.views.AreaChooseDialog; +import com.tenlionsoft.baselib.utils.ExceptionHandler; +import com.tenlionsoft.baselib.utils.LogUtils; +import com.tenlionsoft.baselib.utils.RegexUtils; +import com.tenlionsoft.baselib.utils.UIUtil; +import com.tenlionsoft.baselib.utils.UserLgUtils; + +import java.util.List; + +import androidx.annotation.Nullable; +import androidx.appcompat.widget.SwitchCompat; +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; +import okhttp3.MediaType; +import okhttp3.RequestBody; /** * 作者: Adam @@ -17,9 +72,78 @@ import butterknife.Unbinder; @Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_ADD) public class ExpressPoiAddActivity extends BaseActivity { - + @BindView(R2.id.nsv_content) + NestedScrollView mNsvContent; + @BindView(R2.id.et_number) + EditText mEtNumber; + @BindView(R2.id.et_name) + EditText mEtName; + @BindView(R2.id.tv_area) + TextView mTvArea; + @BindView(R2.id.et_address) + EditText mEtAddress; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; + @BindView(R2.id.tmv_map) + TextureMapView mTmvMap; + @BindView(R2.id.et_phone) + EditText mEtPhone; + @BindView(R2.id.et_link) + EditText mEtLink; + @BindView(R2.id.et_link_phone) + EditText mEtLinkPhone; + @BindView(R2.id.tv_scope) + TextView mTvScope; + @BindView(R2.id.tv_register_type) + TextView mTvRegisterType; + @BindView(R2.id.tv_holding) + TextView mTvHolding; + @BindView(R2.id.tv_company_type) + TextView mTvCompanyType; + @BindView(R2.id.et_brand) + EditText mEtBrand; + @BindView(R2.id.et_company_p_num) + EditText mEtCompanyPNum; + @BindView(R2.id.et_monet_num) + EditText mEtMonetNum; + @BindView(R2.id.et_x_num) + EditText mEtXNum; + @BindView(R2.id.sw_is_seal) + SwitchCompat mSwIsSeal; + @BindView(R2.id.sw_is_real) + SwitchCompat mSwIsReal; + @BindView(R2.id.sw_is_security) + SwitchCompat mSwIsSecurity; + @BindView(R2.id.btn_confirm) + Button mBtnConfirm; private Unbinder mBind; + private OptionsPickerView mCompanyTypePicker; + private OptionsPickerView mRegisterTypePicker; + private OptionsPickerView mHoldingPicker; + + private List mCompanyTypeList; + private List mRegisterTypeList; + private List mHoldingList; + + private DicBean mSelCompanyType; + private DicBean mSelRegisterType; + private DicBean mSelHolding; + private String mSelAreaCode; + private String mSelAreaId; + + private BaiduMap mBaiduMap; + private BitmapDescriptor mBitMap; + private String mSelScope; + private String mSelScopeCode; + private String mSelScopeName; + + private int mSelSeal = 1; + private int mSelReal = 1; + private int mSelSecurity = 1; + private double mLat; + private double mLng; + @Override protected int setLayoutId() { return R.layout.activity_express_poi_add; @@ -29,5 +153,413 @@ public class ExpressPoiAddActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("邮寄物流地添加"); + refreshView(STATE_LOAD_SUCCESS); + initMap(); + initViews(); + } + + /** + * 初始化视图 + */ + private void initViews() { + mTvRegisterType.setOnClickListener(v -> onShowRegisterType()); + mTvCompanyType.setOnClickListener(v -> onShowCompanyType()); + mTvHolding.setOnClickListener(v -> onShowHolding()); + mTvArea.setOnClickListener(v -> onShowArea()); + mTvScope.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_GRID_ACTIVITY_DIC_SEL) + .withBoolean("isSingle", false) + .withString("id", PathConfig.DIC_DEAL_SOCPE) + .navigation(mActivity, 12)); + //实名 + mSwIsReal.setOnCheckedChangeListener((buttonView, isChecked) -> mSelReal = isChecked ? 1 : 0); + //封箱 + mSwIsSeal.setOnCheckedChangeListener((buttonView, isChecked) -> mSelSeal = isChecked ? 1 : 0); + //安检 + mSwIsSecurity.setOnCheckedChangeListener((buttonView, isChecked) -> mSelSecurity = isChecked ? 1 : 0); + mTvAddressSel.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_MAP_SEL_POINT) + .navigation(mActivity, 16)); + mBtnConfirm.setOnClickListener(v -> doConfirm()); + } + + @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 == 222) { + mSelScopeName = data.getStringExtra("bean"); + mSelScopeCode = data.getStringExtra("summary"); + mSelScope = data.getStringExtra("ids"); + mTvScope.setText(mSelScopeName); + } + } else if (requestCode == 16) { + mLat = data.getDoubleExtra("lat", -1); + mLng = data.getDoubleExtra("lng", -1); + mTvAddressSel.setText(mLat + "-" + mLng); + LatLng latLng = new LatLng(mLat, mLng); + mBaiduMap.clear(); + moveMapToCenter(latLng, 18); + if (mBitMap == null) { + mBitMap = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_location_marker); + } + MarkerOptions markerOptions = new MarkerOptions() + .position(latLng)//mark出现的位置 + .icon(mBitMap) //mark图标 + .draggable(false)//mark可拖拽 + .animateType(MarkerOptions.MarkerAnimateType.none); + mBaiduMap.addOverlay(markerOptions); + } + } + + /** + * 提交参数 + */ + private void doConfirm() { + if (checkParams()) { + RequestBody body = buildParams(); + ProgressDialog dialog = UIUtil.initDialog(mActivity, "添加中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(Apis.class) + .doSaveExpress(body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @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 RequestBody buildParams() { + SaveExpressBean bean = new SaveExpressBean(); + String number = mEtNumber.getText().toString().trim(); + bean.setLicenseNum(number); + String name = mEtName.getText().toString().trim(); + bean.setLogisticsEnterpriseName(name); + + String area = mTvArea.getText().toString().trim(); + bean.setEnterpriseLocationName(area); + bean.setEnterpriseLocation(mSelAreaId); + bean.setEnterpriseLocationCode(mSelAreaCode); + String address = mEtAddress.getText().toString().trim(); + bean.setEnterpriseAddress(address); + if (mLat > 0 && mLng > 0) { + bean.setLatitude(mLat); + bean.setLongitude(mLng); + } + String phone = mEtPhone.getText().toString().trim(); + bean.setEnterprisePhone(phone); + String link = mEtLink.getText().toString().trim(); + bean.setEnterpriseLinkMan(link); + String linkPhone = mEtLinkPhone.getText().toString().trim(); + bean.setEnterpriseLinkPhone(linkPhone); + + bean.setRegistrationType(mSelRegisterType.getDataId()); + bean.setRegistrationTypeCode(mSelRegisterType.getDataSummary()); + bean.setRegistrationTypeName(mSelRegisterType.getDataName()); + + bean.setHoldingSituation(mSelHolding.getDataId()); + bean.setHoldingSituationCode(mSelHolding.getDataSummary()); + bean.setHoldingSituationName(mSelHolding.getDataName()); + + bean.setBusinessNature(mSelScope); + bean.setBusinessNatureCode(mSelScopeCode); + bean.setBusinessNatureName(mSelScopeName); + + bean.setEnterpriseType(mSelCompanyType.getDataId()); + bean.setEnterpriseTypeCode(mSelCompanyType.getDataSummary()); + bean.setEnterpriseTypeName(mSelCompanyType.getDataName()); + + String brand = mEtBrand.getText().toString().trim(); + bean.setServiceBrand(brand); + + String pNum = mEtCompanyPNum.getText().toString().trim(); + bean.setEmployeesCount(Integer.parseInt(pNum)); + + String mNum = mEtMonetNum.getText().toString().trim(); + bean.setVideoCount(Integer.parseInt(mNum)); + + String xNum = mEtXNum.getText().toString().trim(); + bean.setXMachineCount(Integer.parseInt(xNum)); + bean.setIsSealing(mSelSeal); + bean.setIsRealName(mSelReal); + bean.setIsXCheck(mSelSecurity); + Gson gson = new Gson(); + String obj = gson.toJson(bean); + RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj); + return requestBody; + } + + private boolean checkParams() { + String number = mEtNumber.getText().toString().trim(); + if (TextUtils.isEmpty(number) || number.length() > 18) { + ToastUtils.show("请输入正确的统一社会信用代码"); + return false; + } + String name = mEtName.getText().toString().trim(); + if (TextUtils.isEmpty(name)) { + ToastUtils.show("请输入企业名称"); + return false; + } + if (TextUtils.isEmpty(mSelAreaId)) { + ToastUtils.show("请选择所在地"); + return false; + } + String phone = mEtPhone.getText().toString().trim(); + if (TextUtils.isEmpty(phone) || !RegexUtils.isTel(phone)) { + ToastUtils.show("请输入合法的企业联系方式"); + return false; + } + String link = mEtLink.getText().toString().trim(); + if (TextUtils.isEmpty(link)) { + ToastUtils.show("请输入企业负责人"); + return false; + } + String linkPhone = mEtLinkPhone.getText().toString().trim(); + if (TextUtils.isEmpty(linkPhone) || !RegexUtils.isTel(linkPhone)) { + ToastUtils.show("请输入合法的企业负责人联系方式"); + return false; + } + if (mSelRegisterType == null) { + ToastUtils.show("请选择注册登记类型"); + return false; + } + if (mSelHolding == null) { + ToastUtils.show("请选择控股情况"); + return false; + } + if (TextUtils.isEmpty(mSelScope)) { + ToastUtils.show("请选择经营范围"); + return false; + } + if (mSelCompanyType == null) { + ToastUtils.show("请选择企业类型"); + return false; + } + String brand = mEtBrand.getText().toString().trim(); + if (TextUtils.isEmpty(brand)) { + ToastUtils.show("请输入服务品牌"); + return false; + } + String pNum = mEtCompanyPNum.getText().toString().trim(); + if (TextUtils.isEmpty(pNum)) { + ToastUtils.show("请输入从业人员数量"); + return false; + } + String mNum = mEtMonetNum.getText().toString().trim(); + if (TextUtils.isEmpty(mNum)) { + ToastUtils.show("请输入监控摄像机数量"); + return false; + } + String xNum = mEtXNum.getText().toString().trim(); + if (TextUtils.isEmpty(xNum)) { + ToastUtils.show("请输入X光机数量"); + return false; + } + + return true; + } + + /** + * 显示地区选择 + */ + private void onShowArea() { + AreaChooseDialog areaDialogView = new AreaChooseDialog.DialogBuilder(mActivity) + .setIsBackCancelable(false) + .setIscancelable(false) + .setDefault(true) + .build(); + areaDialogView.addOnChoseListener((names, id, code) -> { + LogUtils.e(names + "===" + id + "===" + code); + mTvArea.setText(names); + mSelAreaCode = code; + mSelAreaId = id; + areaDialogView.dismiss(); + }); + areaDialogView.show(); + } + + /** + * 注册登记类型 + */ + private void onShowRegisterType() { + hideSoftKeyboard(); + if (mRegisterTypeList != null && mRegisterTypeList.size() > 0) { + if (mRegisterTypePicker == null) { + mRegisterTypePicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { + DicBean bean = mRegisterTypeList.get(o1); + mSelRegisterType = bean; + mTvRegisterType.setText(bean.getDataName()); + }) + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mRegisterTypePicker.setPicker(mRegisterTypeList); + } + mRegisterTypePicker.show(); + } else { + getDicListByType(PathConfig.DIC_REGISTER_TYPE, 1); + } + } + + /** + * 控股情况 + */ + private void onShowHolding() { + hideSoftKeyboard(); + if (mHoldingList != null && mHoldingList.size() > 0) { + if (mHoldingPicker == null) { + mHoldingPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { + DicBean bean = mHoldingList.get(o1); + mSelHolding = bean; + mTvHolding.setText(bean.getDataName()); + }) + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mHoldingPicker.setPicker(mHoldingList); + } + mHoldingPicker.show(); + } else { + getDicListByType(PathConfig.DIC_HOLDING_TYPE, 2); + } + } + + /** + * 控股情况 + */ + private void onShowCompanyType() { + hideSoftKeyboard(); + if (mCompanyTypeList != null && mCompanyTypeList.size() > 0) { + if (mCompanyTypePicker == null) { + mCompanyTypePicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { + DicBean bean = mCompanyTypeList.get(o1); + mSelCompanyType = bean; + mTvCompanyType.setText(bean.getDataName()); + }) + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mCompanyTypePicker.setPicker(mCompanyTypeList); + } + mCompanyTypePicker.show(); + } else { + getDicListByType(PathConfig.DIC_COMPANY_TYPE, 3); + } + } + + /** + * 字典 + */ + 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>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull List beans) { + dialog.dismiss(); + if (beans.size() > 0) { + switch (i) { + case 1: + mRegisterTypeList = beans; + onShowRegisterType(); + break; + case 2: + mHoldingList = beans; + onShowHolding(); + break; + case 3: + mCompanyTypeList = beans; + onShowCompanyType(); + break; + } + } else { + ToastUtils.show("暂无数据"); + } + } + + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + + @SuppressLint("ClickableViewAccessibility") + private void initMap() { + mTmvMap.showZoomControls(false);//缩放控件 + mTmvMap.showScaleControl(false);//比例尺 + mBaiduMap = mTmvMap.getMap(); + mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); + mBaiduMap.setMyLocationEnabled(true); + View childAt = mTmvMap.getChildAt(1); + if (childAt != null && (childAt instanceof ImageView || childAt instanceof ZoomControls)) { + childAt.setVisibility(View.INVISIBLE); + } + mTmvMap.getChildAt(0).setOnTouchListener((View v, MotionEvent event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + mNsvContent.requestDisallowInterceptTouchEvent(false); + } else { + mNsvContent.requestDisallowInterceptTouchEvent(true); + } + return false; + }); + moveMapToCenter(new LatLng(PathConfig.LA, PathConfig.LO), 14); + } + + /** + * 将地图移动到定位中心 + * + * @param latLng + */ + private void moveMapToCenter(LatLng latLng, int room) { + MapStatus ms = new MapStatus.Builder().zoom(room).target(latLng).build(); + MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms); + mBaiduMap.setMapStatus(u); } } \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiDetailActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiDetailActivity.java index 90fd3c0..2cd1c38 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiDetailActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiDetailActivity.java @@ -1,12 +1,51 @@ 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.annotation.SuppressLint; +import android.app.AlertDialog; +import android.app.ProgressDialog; +import android.content.Intent; +import android.view.MotionEvent; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.ZoomControls; +import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; +import com.baidu.mapapi.map.BaiduMap; +import com.baidu.mapapi.map.BitmapDescriptor; +import com.baidu.mapapi.map.BitmapDescriptorFactory; +import com.baidu.mapapi.map.MapStatus; +import com.baidu.mapapi.map.MapStatusUpdate; +import com.baidu.mapapi.map.MapStatusUpdateFactory; +import com.baidu.mapapi.map.MarkerOptions; +import com.baidu.mapapi.map.TextureMapView; +import com.baidu.mapapi.model.LatLng; +import com.hjq.toast.ToastUtils; +import com.tengshisoft.commonmodule.beans.ExpressDetailBean; +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.appcompat.widget.SwitchCompat; +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 +57,57 @@ import butterknife.Unbinder; public class ExpressPoiDetailActivity extends BaseActivity { + @BindView(R2.id.btn_edit) + Button mBtnEdit; + @BindView(R2.id.btn_del) + Button mBtnDel; + @BindView(R2.id.tv_number) + TextView mTvNumber; + @BindView(R2.id.tv_name) + TextView mTvName; + @BindView(R2.id.tv_area) + TextView mTvArea; + @BindView(R2.id.tv_address) + TextView mTvAddress; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; + @BindView(R2.id.tmv_map) + TextureMapView mTmvMap; + @BindView(R2.id.tv_phone) + TextView mTvPhone; + @BindView(R2.id.tv_link) + TextView mTvLink; + @BindView(R2.id.tv_link_phone) + TextView mTvLinkPhone; + @BindView(R2.id.tv_register_type) + TextView mTvRegisterType; + @BindView(R2.id.tv_holding) + TextView mTvHolding; + @BindView(R2.id.tv_scope) + TextView mTvScope; + @BindView(R2.id.tv_company_type) + TextView mTvCompanyType; + @BindView(R2.id.tv_brand) + TextView mTvBrand; + @BindView(R2.id.tv_company_p_num) + TextView mTvCompanyPNum; + @BindView(R2.id.tv_monet_num) + TextView mTvMonetNum; + @BindView(R2.id.tv_x_num) + TextView mTvXNum; + @BindView(R2.id.sw_is_seal) + SwitchCompat mSwIsSeal; + @BindView(R2.id.sw_is_real) + SwitchCompat mSwIsReal; + @BindView(R2.id.sw_is_security) + SwitchCompat mSwIsSecurity; + @BindView(R2.id.nsv_content) + NestedScrollView mNsvContent; private Unbinder mBind; + private String mId; + private ExpressDetailBean mDetailBean; + private BaiduMap mBaiduMap; + private BitmapDescriptor mBitMap; @Override protected int setLayoutId() { @@ -28,5 +117,187 @@ public class ExpressPoiDetailActivity extends BaseActivity { @Override public void initData() { mBind = ButterKnife.bind(this); + mId = getIntent().getStringExtra("id"); + mBtnDel.setOnClickListener(v -> doDel()); + mBtnEdit.setOnClickListener(v -> doEdit()); + initMap(); + getDetailById(); + } + + /** + * 编辑 + */ + private void doEdit() { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_EDIT) + .withString("id", mDetailBean.getLogisticsSafeId()) + .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) { + refreshView(STATE_LOAD_LOADING); + getDetailById(); + } + } + } + + /** + * 删除 + */ + 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) + .doDelExpress(mId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @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(); + } + + /** + * 获取详情 + */ + private void getDetailById() { + RetrofitManager.getInstance() + .create(Apis.class) + .getExpressDetailById(mId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull ExpressDetailBean expressDetailBean) { + mDetailBean = expressDetailBean; + setDataToView(); + } + + @Override + public void onError(@NonNull Throwable e) { + refreshView(STATE_LOAD_ERROR); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + + @SuppressLint("ClickableViewAccessibility") + private void initMap() { + mTmvMap.showZoomControls(false);//缩放控件 + mTmvMap.showScaleControl(false);//比例尺 + mBaiduMap = mTmvMap.getMap(); + mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); + mBaiduMap.setMyLocationEnabled(true); + View childAt = mTmvMap.getChildAt(1); + if (childAt != null && (childAt instanceof ImageView || childAt instanceof ZoomControls)) { + childAt.setVisibility(View.INVISIBLE); + } + mTmvMap.getChildAt(0).setOnTouchListener((View v, MotionEvent event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + mNsvContent.requestDisallowInterceptTouchEvent(false); + } else { + mNsvContent.requestDisallowInterceptTouchEvent(true); + } + return false; + }); + moveMapToCenter(new LatLng(PathConfig.LA, PathConfig.LO), 14); + } + + /** + * 将地图移动到定位中心 + * + * @param latLng + */ + private void moveMapToCenter(LatLng latLng, int room) { + MapStatus ms = new MapStatus.Builder().zoom(room).target(latLng).build(); + MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms); + mBaiduMap.setMapStatus(u); + } + + /** + * 回显数据 + */ + private void setDataToView() { + refreshView(STATE_LOAD_SUCCESS); + mTvNumber.setText(mDetailBean.getLicenseNum()); + mTvName.setText(mDetailBean.getLogisticsEnterpriseName()); + mTvArea.setText(mDetailBean.getEnterpriseLocationName()); + mTvAddress.setText(mDetailBean.getEnterpriseAddress()); + mTvAddressSel.setText(mDetailBean.getLatitude() + "-" + mDetailBean.getLongitude()); + + double lat = mDetailBean.getLatitude(); + double lng = mDetailBean.getLongitude(); + if (lat != 0 && lng != 0) { + mBaiduMap.clear(); + moveMapToCenter(new LatLng(lat, lng), 18); + MarkerOptions markerOptions = new MarkerOptions() + .position(new LatLng(lat, lng))//mark出现的位置 + .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_map_location_marker)) //mark图标 + .draggable(false)//mark可拖拽 + .animateType(MarkerOptions.MarkerAnimateType.none); + mBaiduMap.addOverlay(markerOptions); + } + mTvPhone.setText(mDetailBean.getEnterprisePhone()); + mTvLink.setText(mDetailBean.getEnterpriseLinkMan()); + mTvLinkPhone.setText(mDetailBean.getEnterpriseLinkPhone()); + mTvRegisterType.setText(mDetailBean.getRegistrationTypeName()); + mTvHolding.setText(mDetailBean.getHoldingSituationName()); + mTvScope.setText(mDetailBean.getBusinessNatureName()); + mTvCompanyType.setText(mDetailBean.getEnterpriseTypeName()); + mTvBrand.setText(mDetailBean.getServiceBrand()); + mTvCompanyPNum.setText(mDetailBean.getEmployeesCount() + ""); + mTvMonetNum.setText(mDetailBean.getVideoCount() + ""); + mTvXNum.setText(mDetailBean.getXMachineCount() + ""); + + mSwIsReal.setChecked(mDetailBean.getIsRealName() == 1); + mSwIsSeal.setChecked(mDetailBean.getIsSealing() == 1); + mSwIsSecurity.setChecked(mDetailBean.getIsXCheck() == 1); + } } \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiEditActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiEditActivity.java index 5a91589..1986f95 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiEditActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiEditActivity.java @@ -1,12 +1,65 @@ 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.annotation.SuppressLint; +import android.app.ProgressDialog; +import android.content.Intent; +import android.graphics.Color; +import android.text.TextUtils; +import android.view.MotionEvent; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.ZoomControls; +import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; +import com.baidu.mapapi.map.BaiduMap; +import com.baidu.mapapi.map.BitmapDescriptor; +import com.baidu.mapapi.map.BitmapDescriptorFactory; +import com.baidu.mapapi.map.MapStatus; +import com.baidu.mapapi.map.MapStatusUpdate; +import com.baidu.mapapi.map.MapStatusUpdateFactory; +import com.baidu.mapapi.map.MarkerOptions; +import com.baidu.mapapi.map.TextureMapView; +import com.baidu.mapapi.model.LatLng; +import com.bigkoo.pickerview.builder.OptionsPickerBuilder; +import com.bigkoo.pickerview.view.OptionsPickerView; +import com.google.gson.Gson; +import com.hjq.toast.ToastUtils; +import com.tengshisoft.commonmodule.beans.ExpressDetailBean; +import com.tengshisoft.commonmodule.beans.SaveExpressBean; +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.core.widget.views.AreaChooseDialog; +import com.tenlionsoft.baselib.utils.ExceptionHandler; +import com.tenlionsoft.baselib.utils.LogUtils; +import com.tenlionsoft.baselib.utils.RegexUtils; +import com.tenlionsoft.baselib.utils.UIUtil; +import com.tenlionsoft.baselib.utils.UserLgUtils; + +import java.util.List; + +import androidx.annotation.Nullable; +import androidx.appcompat.widget.SwitchCompat; +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; +import okhttp3.MediaType; +import okhttp3.RequestBody; /** * 作者: Adam @@ -16,10 +69,80 @@ import butterknife.Unbinder; */ @Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_EDIT) public class ExpressPoiEditActivity extends BaseActivity { - - + @BindView(R2.id.nsv_content) + NestedScrollView mNsvContent; + @BindView(R2.id.et_number) + EditText mEtNumber; + @BindView(R2.id.et_name) + EditText mEtName; + @BindView(R2.id.tv_area) + TextView mTvArea; + @BindView(R2.id.et_address) + EditText mEtAddress; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; + @BindView(R2.id.tmv_map) + TextureMapView mTmvMap; + @BindView(R2.id.et_phone) + EditText mEtPhone; + @BindView(R2.id.et_link) + EditText mEtLink; + @BindView(R2.id.et_link_phone) + EditText mEtLinkPhone; + @BindView(R2.id.tv_scope) + TextView mTvScope; + @BindView(R2.id.tv_register_type) + TextView mTvRegisterType; + @BindView(R2.id.tv_holding) + TextView mTvHolding; + @BindView(R2.id.tv_company_type) + TextView mTvCompanyType; + @BindView(R2.id.et_brand) + EditText mEtBrand; + @BindView(R2.id.et_company_p_num) + EditText mEtCompanyPNum; + @BindView(R2.id.et_monet_num) + EditText mEtMonetNum; + @BindView(R2.id.et_x_num) + EditText mEtXNum; + @BindView(R2.id.sw_is_seal) + SwitchCompat mSwIsSeal; + @BindView(R2.id.sw_is_real) + SwitchCompat mSwIsReal; + @BindView(R2.id.sw_is_security) + SwitchCompat mSwIsSecurity; + @BindView(R2.id.btn_confirm) + Button mBtnConfirm; private Unbinder mBind; + private OptionsPickerView mCompanyTypePicker; + private OptionsPickerView mRegisterTypePicker; + private OptionsPickerView mHoldingPicker; + + private List mCompanyTypeList; + private List mRegisterTypeList; + private List mHoldingList; + + private DicBean mSelCompanyType; + private DicBean mSelRegisterType; + private DicBean mSelHolding; + private String mSelAreaCode; + private String mSelAreaId; + + private BaiduMap mBaiduMap; + private BitmapDescriptor mBitMap; + private String mSelScope; + private String mSelScopeCode; + private String mSelScopeName; + + private int mSelSeal = 1; + private int mSelReal = 1; + private int mSelSecurity = 1; + private double mLat; + private double mLng; + private String mId; + private ExpressDetailBean mDetailBean; + @Override protected int setLayoutId() { return R.layout.activity_express_poi_edit; @@ -29,5 +152,515 @@ public class ExpressPoiEditActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("邮寄物流地编辑"); + mId = getIntent().getStringExtra("id"); + initMap(); + initViews(); + getDetailById(); + } + + /** + * 获取详情 + */ + private void getDetailById() { + RetrofitManager.getInstance() + .create(Apis.class) + .getExpressDetailById(mId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull ExpressDetailBean expressDetailBean) { + mDetailBean = expressDetailBean; + setDataToView(); + } + + @Override + public void onError(@NonNull Throwable e) { + refreshView(STATE_LOAD_ERROR); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 初始化视图 + */ + private void initViews() { + mTvRegisterType.setOnClickListener(v -> onShowRegisterType()); + mTvCompanyType.setOnClickListener(v -> onShowCompanyType()); + mTvHolding.setOnClickListener(v -> onShowHolding()); + mTvArea.setOnClickListener(v -> onShowArea()); + mTvScope.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_GRID_ACTIVITY_DIC_SEL) + .withBoolean("isSingle", false) + .withString("id", PathConfig.DIC_DEAL_SOCPE) + .navigation(mActivity, 12)); + //实名 + mSwIsReal.setOnCheckedChangeListener((buttonView, isChecked) -> mSelReal = isChecked ? 1 : 0); + //封箱 + mSwIsSeal.setOnCheckedChangeListener((buttonView, isChecked) -> mSelSeal = isChecked ? 1 : 0); + //安检 + mSwIsSecurity.setOnCheckedChangeListener((buttonView, isChecked) -> mSelSecurity = isChecked ? 1 : 0); + mTvAddressSel.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_MAP_SEL_POINT) + .navigation(mActivity, 16)); + mBtnConfirm.setOnClickListener(v -> doConfirm()); + } + + @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 == 222) { + mSelScopeName = data.getStringExtra("bean"); + mSelScopeCode = data.getStringExtra("summary"); + mSelScope = data.getStringExtra("ids"); + mTvScope.setText(mSelScopeName); + } + } else if (requestCode == 16) { + mLat = data.getDoubleExtra("lat", -1); + mLng = data.getDoubleExtra("lng", -1); + mTvAddressSel.setText(mLat + "-" + mLng); + LatLng latLng = new LatLng(mLat, mLng); + mBaiduMap.clear(); + moveMapToCenter(latLng, 18); + if (mBitMap == null) { + mBitMap = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_location_marker); + } + MarkerOptions markerOptions = new MarkerOptions() + .position(latLng)//mark出现的位置 + .icon(mBitMap) //mark图标 + .draggable(false)//mark可拖拽 + .animateType(MarkerOptions.MarkerAnimateType.none); + mBaiduMap.addOverlay(markerOptions); + } + } + + /** + * 提交参数 + */ + private void doConfirm() { + if (checkParams()) { + RequestBody body = buildParams(); + ProgressDialog dialog = UIUtil.initDialog(mActivity, "修改中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(Apis.class) + .doEditExpress(mId, body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @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 RequestBody buildParams() { + SaveExpressBean bean = new SaveExpressBean(); + String number = mEtNumber.getText().toString().trim(); + bean.setLicenseNum(number); + String name = mEtName.getText().toString().trim(); + bean.setLogisticsEnterpriseName(name); + + String area = mTvArea.getText().toString().trim(); + bean.setEnterpriseLocationName(area); + bean.setEnterpriseLocation(mSelAreaId); + bean.setEnterpriseLocationCode(mSelAreaCode); + String address = mEtAddress.getText().toString().trim(); + bean.setEnterpriseAddress(address); + if (mLat > 0 && mLng > 0) { + bean.setLatitude(mLat); + bean.setLongitude(mLng); + } + String phone = mEtPhone.getText().toString().trim(); + bean.setEnterprisePhone(phone); + String link = mEtLink.getText().toString().trim(); + bean.setEnterpriseLinkMan(link); + String linkPhone = mEtLinkPhone.getText().toString().trim(); + bean.setEnterpriseLinkPhone(linkPhone); + + bean.setRegistrationType(mSelRegisterType.getDataId()); + bean.setRegistrationTypeCode(mSelRegisterType.getDataSummary()); + bean.setRegistrationTypeName(mSelRegisterType.getDataName()); + + bean.setHoldingSituation(mSelHolding.getDataId()); + bean.setHoldingSituationCode(mSelHolding.getDataSummary()); + bean.setHoldingSituationName(mSelHolding.getDataName()); + + bean.setBusinessNature(mSelScope); + bean.setBusinessNatureCode(mSelScopeCode); + bean.setBusinessNatureName(mSelScopeName); + + bean.setEnterpriseType(mSelCompanyType.getDataId()); + bean.setEnterpriseTypeCode(mSelCompanyType.getDataSummary()); + bean.setEnterpriseTypeName(mSelCompanyType.getDataName()); + + String brand = mEtBrand.getText().toString().trim(); + bean.setServiceBrand(brand); + + String pNum = mEtCompanyPNum.getText().toString().trim(); + bean.setEmployeesCount(Integer.parseInt(pNum)); + + String mNum = mEtMonetNum.getText().toString().trim(); + bean.setVideoCount(Integer.parseInt(mNum)); + + String xNum = mEtXNum.getText().toString().trim(); + bean.setXMachineCount(Integer.parseInt(xNum)); + bean.setIsSealing(mSelSeal); + bean.setIsRealName(mSelReal); + bean.setIsXCheck(mSelSecurity); + Gson gson = new Gson(); + String obj = gson.toJson(bean); + RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj); + return requestBody; + } + + private boolean checkParams() { + String number = mEtNumber.getText().toString().trim(); + if (TextUtils.isEmpty(number) || number.length() > 18) { + ToastUtils.show("请输入正确的统一社会信用代码"); + return false; + } + String name = mEtName.getText().toString().trim(); + if (TextUtils.isEmpty(name)) { + ToastUtils.show("请输入企业名称"); + return false; + } + if (TextUtils.isEmpty(mSelAreaId)) { + ToastUtils.show("请选择所在地"); + return false; + } + String phone = mEtPhone.getText().toString().trim(); + if (TextUtils.isEmpty(phone) || !RegexUtils.isTel(phone)) { + ToastUtils.show("请输入合法的企业联系方式"); + return false; + } + String link = mEtLink.getText().toString().trim(); + if (TextUtils.isEmpty(link)) { + ToastUtils.show("请输入企业负责人"); + return false; + } + String linkPhone = mEtLinkPhone.getText().toString().trim(); + if (TextUtils.isEmpty(linkPhone) || !RegexUtils.isTel(linkPhone)) { + ToastUtils.show("请输入合法的企业负责人联系方式"); + return false; + } + if (mSelRegisterType == null) { + ToastUtils.show("请选择注册登记类型"); + return false; + } + if (mSelHolding == null) { + ToastUtils.show("请选择控股情况"); + return false; + } + if (TextUtils.isEmpty(mSelScope)) { + ToastUtils.show("请选择经营范围"); + return false; + } + if (mSelCompanyType == null) { + ToastUtils.show("请选择企业类型"); + return false; + } + String brand = mEtBrand.getText().toString().trim(); + if (TextUtils.isEmpty(brand)) { + ToastUtils.show("请输入服务品牌"); + return false; + } + String pNum = mEtCompanyPNum.getText().toString().trim(); + if (TextUtils.isEmpty(pNum)) { + ToastUtils.show("请输入从业人员数量"); + return false; + } + String mNum = mEtMonetNum.getText().toString().trim(); + if (TextUtils.isEmpty(mNum)) { + ToastUtils.show("请输入监控摄像机数量"); + return false; + } + String xNum = mEtXNum.getText().toString().trim(); + if (TextUtils.isEmpty(xNum)) { + ToastUtils.show("请输入X光机数量"); + return false; + } + + return true; + } + + /** + * 显示地区选择 + */ + private void onShowArea() { + AreaChooseDialog areaDialogView = new AreaChooseDialog.DialogBuilder(mActivity) + .setIsBackCancelable(false) + .setIscancelable(false) + .setDefault(true) + .build(); + areaDialogView.addOnChoseListener((names, id, code) -> { + LogUtils.e(names + "===" + id + "===" + code); + mTvArea.setText(names); + mSelAreaCode = code; + mSelAreaId = id; + areaDialogView.dismiss(); + }); + areaDialogView.show(); + } + + /** + * 注册登记类型 + */ + private void onShowRegisterType() { + hideSoftKeyboard(); + if (mRegisterTypeList != null && mRegisterTypeList.size() > 0) { + if (mRegisterTypePicker == null) { + mRegisterTypePicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { + DicBean bean = mRegisterTypeList.get(o1); + mSelRegisterType = bean; + mTvRegisterType.setText(bean.getDataName()); + }) + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mRegisterTypePicker.setPicker(mRegisterTypeList); + } + mRegisterTypePicker.show(); + } else { + getDicListByType(PathConfig.DIC_REGISTER_TYPE, 1); + } + } + + /** + * 控股情况 + */ + private void onShowHolding() { + hideSoftKeyboard(); + if (mHoldingList != null && mHoldingList.size() > 0) { + if (mHoldingPicker == null) { + mHoldingPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { + DicBean bean = mHoldingList.get(o1); + mSelHolding = bean; + mTvHolding.setText(bean.getDataName()); + }) + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mHoldingPicker.setPicker(mHoldingList); + } + mHoldingPicker.show(); + } else { + getDicListByType(PathConfig.DIC_HOLDING_TYPE, 2); + } + } + + /** + * 控股情况 + */ + private void onShowCompanyType() { + hideSoftKeyboard(); + if (mCompanyTypeList != null && mCompanyTypeList.size() > 0) { + if (mCompanyTypePicker == null) { + mCompanyTypePicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { + DicBean bean = mCompanyTypeList.get(o1); + mSelCompanyType = bean; + mTvCompanyType.setText(bean.getDataName()); + }) + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mCompanyTypePicker.setPicker(mCompanyTypeList); + } + mCompanyTypePicker.show(); + } else { + getDicListByType(PathConfig.DIC_COMPANY_TYPE, 3); + } + } + + /** + * 字典 + */ + 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>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull List beans) { + dialog.dismiss(); + if (beans.size() > 0) { + switch (i) { + case 1: + mRegisterTypeList = beans; + onShowRegisterType(); + break; + case 2: + mHoldingList = beans; + onShowHolding(); + break; + case 3: + mCompanyTypeList = beans; + onShowCompanyType(); + break; + } + } else { + ToastUtils.show("暂无数据"); + } + } + + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + + @SuppressLint("ClickableViewAccessibility") + private void initMap() { + mTmvMap.showZoomControls(false);//缩放控件 + mTmvMap.showScaleControl(false);//比例尺 + mBaiduMap = mTmvMap.getMap(); + mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); + mBaiduMap.setMyLocationEnabled(true); + View childAt = mTmvMap.getChildAt(1); + if (childAt != null && (childAt instanceof ImageView || childAt instanceof ZoomControls)) { + childAt.setVisibility(View.INVISIBLE); + } + mTmvMap.getChildAt(0).setOnTouchListener((View v, MotionEvent event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + mNsvContent.requestDisallowInterceptTouchEvent(false); + } else { + mNsvContent.requestDisallowInterceptTouchEvent(true); + } + return false; + }); + moveMapToCenter(new LatLng(PathConfig.LA, PathConfig.LO), 14); + } + + /** + * 将地图移动到定位中心 + * + * @param latLng + */ + private void moveMapToCenter(LatLng latLng, int room) { + MapStatus ms = new MapStatus.Builder().zoom(room).target(latLng).build(); + MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms); + mBaiduMap.setMapStatus(u); + } + + /** + * 回显数据 + */ + private void setDataToView() { + refreshView(STATE_LOAD_SUCCESS); + mEtNumber.setText(mDetailBean.getLicenseNum()); + mEtName.setText(mDetailBean.getLogisticsEnterpriseName()); + mTvArea.setText(mDetailBean.getEnterpriseLocationName()); + mSelAreaCode = mDetailBean.getEnterpriseLocationCode(); + mSelAreaId = mDetailBean.getEnterpriseLocation(); + mEtAddress.setText(mDetailBean.getEnterpriseAddress()); + mTvAddressSel.setText(mDetailBean.getLatitude() + "-" + mDetailBean.getLongitude()); + double lat = mDetailBean.getLatitude(); + double lng = mDetailBean.getLongitude(); + if (lat != 0 && lng != 0) { + mLat = mDetailBean.getLatitude(); + mLng = mDetailBean.getLongitude(); + mBaiduMap.clear(); + moveMapToCenter(new LatLng(lat, lng), 18); + MarkerOptions markerOptions = new MarkerOptions() + .position(new LatLng(lat, lng))//mark出现的位置 + .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_map_location_marker)) //mark图标 + .draggable(false)//mark可拖拽 + .animateType(MarkerOptions.MarkerAnimateType.none); + mBaiduMap.addOverlay(markerOptions); + } + mEtPhone.setText(mDetailBean.getEnterprisePhone()); + mEtLink.setText(mDetailBean.getEnterpriseLinkMan()); + mEtLinkPhone.setText(mDetailBean.getEnterpriseLinkPhone()); + + mSelRegisterType = new DicBean(); + mTvRegisterType.setText(mDetailBean.getRegistrationTypeName()); + mSelRegisterType.setDataId(mDetailBean.getRegistrationType()); + mSelRegisterType.setDataSummary(mDetailBean.getRegistrationTypeCode()); + mSelRegisterType.setDataName(mDetailBean.getRegistrationTypeName()); + + mSelHolding = new DicBean(); + mTvHolding.setText(mDetailBean.getHoldingSituationName()); + mSelHolding.setDataName(mDetailBean.getHoldingSituationName()); + mSelHolding.setDataSummary(mDetailBean.getHoldingSituationCode()); + mSelHolding.setDataId(mDetailBean.getHoldingSituation()); + + mTvScope.setText(mDetailBean.getBusinessNatureName()); + mSelScope = mDetailBean.getBusinessNature(); + mSelScopeCode = mDetailBean.getBusinessNatureCode(); + mSelScopeName = mDetailBean.getBusinessNatureName(); + mSelCompanyType = new DicBean(); + mSelCompanyType.setDataId(mDetailBean.getEnterpriseType()); + mSelCompanyType.setDataSummary(mDetailBean.getEnterpriseTypeCode()); + mSelCompanyType.setDataName(mDetailBean.getEnterpriseTypeName()); + mTvCompanyType.setText(mDetailBean.getEnterpriseTypeName()); + + mEtBrand.setText(mDetailBean.getServiceBrand()); + mEtCompanyPNum.setText(mDetailBean.getEmployeesCount() + ""); + mEtMonetNum.setText(mDetailBean.getVideoCount() + ""); + mEtXNum.setText(mDetailBean.getXMachineCount() + ""); + + + mSelReal = mDetailBean.getIsRealName(); + mSelSeal = mDetailBean.getIsSealing(); + mSelSecurity = mDetailBean.getIsXCheck(); + + mSwIsReal.setChecked(mDetailBean.getIsRealName() == 1); + mSwIsSeal.setChecked(mDetailBean.getIsSealing() == 1); + mSwIsSecurity.setChecked(mDetailBean.getIsXCheck() == 1); } } \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiListActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiListActivity.java index b5da1a7..5cd33de 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiListActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/security/ExpressPoiListActivity.java @@ -1,12 +1,45 @@ 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.ExpressListAdapter; +import com.tengshisoft.commonmodule.beans.ExpressListBean; +import com.tengshisoft.commonmodule.beans.PenalListBean; +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,8 +49,30 @@ import butterknife.Unbinder; */ @Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_LIST) public class ExpressPoiListActivity 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 List mDatas = new ArrayList<>(); + private ExpressListAdapter mAdapter; + private String mKeywords = ""; @Override protected int setLayoutId() { @@ -28,5 +83,194 @@ public class ExpressPoiListActivity 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_EXPRESS_POI_ADD) + .navigation(mActivity, 12)); + mAdapter = new ExpressListAdapter(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); + getExpressList(1); + mBtnBaseSearch.setOnClickListener(v -> doSearch()); + mIvBaseClear.setOnClickListener(v -> { + mKeywords = ""; + mEtBaseSearchContent.setText(""); + doRefresh(); + }); + } + + /** + * 显示详情 + */ + private void showDetail(ExpressListBean.RowsBean b) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_GRID_ACTIVITY_EXPRESS_POI_DETAIL) + .withString("id", b.getLogisticsSafeId()) + .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 getExpressList(int currentPage) { + mCurrentPage = currentPage; + RetrofitManager.getInstance() + .create(Apis.class) + .getExpressList(mKeywords, mCurrentPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull ExpressListBean 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; + getExpressList(mCurrentPage); + + } else { + ToastUtils.show("请输入要查询的内容"); + } + } + + //加载更多 + private void loadMore() { + getExpressList(mCurrentPage); + } + + //刷新 + private void doRefresh() { + mDatas.clear(); + mAdapter.setData(mDatas); + getExpressList(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; + } } } \ No newline at end of file diff --git a/gridmodule/src/main/res/layout/activity_express_poi_add.xml b/gridmodule/src/main/res/layout/activity_express_poi_add.xml index d7e04f0..16ccea8 100644 --- a/gridmodule/src/main/res/layout/activity_express_poi_add.xml +++ b/gridmodule/src/main/res/layout/activity_express_poi_add.xml @@ -1,9 +1,474 @@ - + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +