Compare commits

...
55 Commits
Author SHA1 Message Date
lijia 4ac0511f08 webview添加loading 2024-09-09 15:51:39 +08:00
lijia 1d9e8baed8 电子签1版 2024-09-09 14:57:02 +08:00
lijia d385764b56 取消运单优化 2024-09-04 16:05:05 +08:00
lijia eeadd1d196 首页添加执行中运单跳转功能 2024-09-04 09:23:31 +08:00
lijia 0e9224a034 用户注册添加银行卡逻辑,首页添加银行卡提示入口 2024-08-27 09:27:30 +08:00
lijia a20d49ecdf 协议https无法打开,临时切回http 2024-08-05 15:00:02 +08:00
lijia 7a89c41ed2 68版 2024-08-05 09:00:26 +08:00
lijia 894246456a 添加运单金额隐藏逻辑 2024-08-01 15:10:45 +08:00
lijia 212d12db47 LocationManager定位封装 2024-07-25 16:49:56 +08:00
lijia 9db4b16e24 https无法打开处理 2024-07-23 15:59:00 +08:00
lijia 361ad6111c 手机信息上报完善 2024-07-23 15:31:04 +08:00
lijia 8ba586c204 手机信息上报 2024-07-23 11:03:23 +08:00
lijia c45e623a58 67版本 2024-07-23 09:43:51 +08:00
lijia b6d43b53e5 高德地图key替换 2024-07-23 09:04:40 +08:00
lijia 553dbeed41 道路运输证查看大图 2024-07-22 11:28:20 +08:00
lijia 3e67b50097 迁移https 2024-07-18 16:02:17 +08:00
lijia c6a5363cfe 银行卡解绑显示错乱优化 2024-07-17 11:34:31 +08:00
lijia ba031f075c 登录也优化点击范围 2024-07-17 09:12:30 +08:00
lijia ef6247fc22 卸货,装卸回单添加loading 2024-07-16 17:38:32 +08:00
lijia 9766690957 66版本 2024-07-16 11:03:49 +08:00
lijia 1009561bde 高德企业账号key替换 2024-07-15 17:20:29 +08:00
lijia 0d3e35d6f7 新增司机,车辆显示错乱修复 2024-07-15 11:29:21 +08:00
lijia c1355629eb 页面显示bug修复 2024-07-10 17:24:36 +08:00
lijia 06cc3ba9db 修复软键盘与输入框联动以及提交添加loading 2024-07-10 15:05:19 +08:00
lijia 9202ba437c 车辆详情偶发不刷新问题处理 2024-07-09 10:18:07 +08:00
lijia 93b36a59b3 新增牵引车后转挂车报错优化 2024-07-08 10:29:25 +08:00
lijia 9600c213d4 删除车辆刷新列表奔溃处理 2024-07-08 09:49:52 +08:00
lijia bc86fdf444 补充VersionCode请求头 2024-07-05 10:34:09 +08:00
lijia bc135b9e98 车头,挂车,道路运输证新增绑定逻辑,优化车辆解绑逻辑 2024-07-04 16:50:35 +08:00
lijia 141c38182f 协议网址替换 2024-06-21 10:38:03 +08:00
lijia 491c9b8c84 装卸货,回单添加loading 2024-06-21 08:53:53 +08:00
lijia ce1356509b 整改优化 2024-06-17 11:19:25 +08:00
lijia 7e40fef702 隐私协议统一替换 2024-05-22 15:09:14 +08:00
lijia 6071e05014 协议临时性替换 2024-05-20 16:43:45 +08:00
lijia dba86a51e9 添加备案号 2024-04-27 09:49:05 +08:00
lijia 4e38376f74 上传银行卡防抖处理 2024-04-22 15:33:55 +08:00
lijia 2842812fb0 图标修复 2024-04-17 14:29:08 +08:00
lijia 4dddcc5d96 拍照bug修复 2024-01-04 15:29:33 +08:00
lijia f352932fa9 3.3.3版本 2023-11-09 14:54:09 +08:00
lijia b6645b7d1f 3.3.2版本 2023-11-08 15:31:58 +08:00
lijia 109a713850 从业资格证重复上传优化 2023-11-02 16:26:40 +08:00
lijia fb164ccb15 更换极光推送key 2023-10-19 14:45:30 +08:00
lijia d3915a92a0 多渠道高德key动态切换 2023-10-16 14:34:17 +08:00
lijia 35c37fdf51 升级优化 2023-10-12 15:36:18 +08:00
lijia c3a3a5cfe6 测试,正式包分别打包 2023-10-11 09:45:39 +08:00
lijia a7aee4af57 好运测试图标自动切换 2023-10-10 17:28:45 +08:00
lijia 1c3d20ac43 loading框bug修复,补传卸货优化 2023-10-09 16:52:42 +08:00
lijia f37ffa779a 补传类优化 2023-10-07 11:24:51 +08:00
lijia 7d60c08e61 挂车bug修复 2023-10-07 09:26:21 +08:00
lijia 45d8b3351d 拍照点击区域优化 2023-09-27 16:51:03 +08:00
lijia 10a379ed8f 版本更新库升级 2023-09-22 11:05:39 +08:00
lijia a44df1ee8c app更新优化,添加立即安装按钮 2023-09-22 10:41:00 +08:00
lijia 50cc329a4d 3.2.9上传照片去除百度定位 2023-09-21 15:12:30 +08:00
lijia 360f492b8a 订单流程优化,添加bugly, 2023-09-19 10:33:40 +08:00
lijia dc4f34efd7 电话动态权限,bugly添加,优化卸货逻辑 2023-09-14 16:37:13 +08:00
78 changed files with 3794 additions and 854 deletions
+26 -31
View File
@@ -35,11 +35,12 @@ android {
defaultConfig { defaultConfig {
applicationId "com.arpa.hndahesudintocctmsdriver" applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 23 minSdkVersion 24
targetSdkVersion 30 targetSdkVersion 30
versionCode 57 versionCode 68
versionName "3.2.7" versionName "3.3.8"
flavorDimensions "CHANNEL_VALUE" flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions { javaCompileOptions {
@@ -56,27 +57,7 @@ android {
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64' , 'arm64-v8a' // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' , 'arm64-v8a'
} }
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
MEIZU_APPKEY : "MZ-魅族的APPKEY",
MEIZU_APPID : "MZ-魅族的APPID",
XIAOMI_APPID : "MI-小米的APPID",
XIAOMI_APPKEY : "MI-小米的APPKEY",
OPPO_APPKEY : "OP-oppo的APPKEY",
OPPO_APPID : "OP-oppo的APPID",
OPPO_APPSECRET : "OP-oppo的APPSECRET",
VIVO_APPKEY : "vivo的APPKEY",
VIVO_APPID : "vivo的APPID"
]
} }
// sourceSets {
// main {
// jniLibs.srcDirs = ['libs']
// }
// }
sourceSets { sourceSets {
main { main {
@@ -115,15 +96,29 @@ android {
productFlavors { productFlavors {
qa { qa {
manifestPlaceholders = [CHANNEL_VALUE: "好运司机测试"] applicationId "com.arpa.hndahesudintocctmsdriver.text"
manifestPlaceholders = [CHANNEL_VALUE: "司机测试",
app_icon : "@drawable/diver_logo_text",
GAODEKEY : "6791d69f6221a0841b521763af86eb01",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"") buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.test.dahehuoyun.com/api/\"") buildConfigField("String", "BASE_URL", "\"https://app.test.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "true" buildConfigField "boolean", "isTest", "true"
//APP名称,可以在androidMainfest中引用 //APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机测试" resValue "string", "appName", "司机测试"
} }
product { product {
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"] applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "9480fd96746922630e9bf6c75a101059",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"") buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"") buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false" buildConfigField "boolean", "isTest", "false"
@@ -132,9 +127,9 @@ android {
} }
} }
productFlavors.all { flavor -> // productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name] // flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
} // }
android.applicationVariants.all { variant -> android.applicationVariants.all { variant ->
@@ -176,8 +171,8 @@ dependencies {
implementation 'com.scwang.smart:refresh-footer-ball:2.0.1' //球脉冲加载 implementation 'com.scwang.smart:refresh-footer-ball:2.0.1' //球脉冲加载
implementation 'com.scwang.smart:refresh-footer-classics:2.0.1' //经典加载 implementation 'com.scwang.smart:refresh-footer-classics:2.0.1' //经典加载
//更新版本 //更新版本
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.1.0' implementation 'com.github.jenly1314.AppUpdater:app-updater:1.2.0'
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.1.0' implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.2.0'
//轮播插件 //轮播插件
implementation 'com.github.zhpanvip:BannerViewPager:3.5.4' implementation 'com.github.zhpanvip:BannerViewPager:3.5.4'
// //
+22 -4
View File
@@ -53,7 +53,7 @@
android:name="com.arpa.hndahesudintocctmsdriver.App" android:name="com.arpa.hndahesudintocctmsdriver.App"
android:allowBackup="true" android:allowBackup="true"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:icon="@drawable/diver_logo" android:icon="@mipmap/diver_logo"
android:label="@string/appName" android:label="@string/appName"
android:largeHeap="true" android:largeHeap="true"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
@@ -93,6 +93,7 @@
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.PhotoCarActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.PhotoCarActivity"
android:windowSoftInputMode="adjustPan|stateHidden"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity"
@@ -111,6 +112,21 @@
</activity> </activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity2" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity2"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
@@ -145,6 +161,7 @@
</activity> </activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity"
android:windowSoftInputMode="adjustPan|stateHidden"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AddCarSuccActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AddCarSuccActivity"
@@ -154,6 +171,7 @@
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity"
android:exported="true"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@@ -247,7 +265,7 @@
<!--高德地图--> <!--高德地图-->
<meta-data <meta-data
android:name="com.amap.api.v2.apikey" android:name="com.amap.api.v2.apikey"
android:value="78019612271411eca3af34db91930620" /> android:value="${GAODEKEY}" />
<!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />--> <!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />-->
<service android:name="com.amap.api.location.APSService"></service> <service android:name="com.amap.api.location.APSService"></service>
@@ -259,7 +277,7 @@
<!-- 极光--> <!-- 极光-->
<meta-data <meta-data
android:name="JPUSH_APPKEY" android:name="JPUSH_APPKEY"
android:value="571d93ae5117da6dee848c92" /> <!-- </>值来自开发者平台取得的AppKey --> android:value="fba6f55621c670d8c1fe9191" /> <!-- </>值来自开发者平台取得的AppKey -->
<meta-data <meta-data
android:name="JPUSH_CHANNEL" android:name="JPUSH_CHANNEL"
@@ -382,7 +400,7 @@
</receiver> </receiver>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.arpa.hndahesudintocctmsdriver.fileprovider" android:authorities="${applicationId}.fileprovider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true" android:grantUriPermissions="true"
tools:ignore="WrongManifestParent"> tools:ignore="WrongManifestParent">
@@ -23,6 +23,7 @@ import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.gyf.cactus.Cactus; import com.gyf.cactus.Cactus;
import com.gyf.cactus.callback.CactusBackgroundCallback; import com.gyf.cactus.callback.CactusBackgroundCallback;
import com.gyf.cactus.callback.CactusCallback; import com.gyf.cactus.callback.CactusCallback;
import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.commonsdk.UMConfigure; import com.umeng.commonsdk.UMConfigure;
import cn.jiguang.verifysdk.api.JVerificationInterface; import cn.jiguang.verifysdk.api.JVerificationInterface;
@@ -46,6 +47,7 @@ public class App extends Application {
mApplication = this; mApplication = this;
con = getBaseContext(); con = getBaseContext();
CommonBaseLibrary.getInstance().init(this, Api.BASE_URL); CommonBaseLibrary.getInstance().init(this, Api.BASE_URL);
CrashReport.initCrashReport(getApplicationContext(), "0fa55ffad8", false);
String state = SPUtil.getSP(con, "state_data", "authorization_state"); String state = SPUtil.getSP(con, "state_data", "authorization_state");
if ("1".equals(state)) { if ("1".equals(state)) {
try { try {
@@ -224,27 +224,6 @@ public class H5Activity extends AppCompatActivity {
Uri uri = Uri.parse(url); Uri uri = Uri.parse(url);
Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " "); Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " ");
// if (url.contains("callback")) {
// // 实名认证结束 返回按钮/倒计时返回/暂不认证
// boolean status = uri.getBooleanQueryParameter("passed", false);
// if (status) {
//
// new Handler().postDelayed(() -> {
// FaceEvent he = new FaceEvent("刷脸成功");
// EventBus.getDefault().post(he);
// finish();
// }, 4000);
// }else{
// if (mWebView.canGoBack()) {
// mWebView.goBack();
// }
// Toast.makeText(H5Activity.this, "认证失败,请重新刷脸认证", Toast.LENGTH_SHORT).show();
// }
// return true;
// }
if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) { if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) {
view.loadUrl(url); view.loadUrl(url);
return true; return true;
@@ -0,0 +1,157 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import android.os.Build;
import android.provider.Settings;
import androidx.activity.result.contract.ActivityResultContracts;
import com.arpa.hndahesudintocctmsdriver.App;
import com.dahe.mylibrary.utils.AppUtils;
import java.util.Locale;
/**
* @ClassName AppInfoBean
* @Author john
* @Date 2024/7/22 15:31
* @Description TODO
*/
public class AppInfoBean {
private String userPhone;
private String macIpaddr = Settings.Secure.getString(App.getApp().getContentResolver(),Settings.Secure.ANDROID_ID);
// private String macIpaddr = android.os.Build.ID;
private String clientSource = "driver";
private String status = "";
private String mobilePhoneManufacturerName = android.os.Build.BRAND;
private String mobilePhoneProductName = android.os.Build.MODEL;
private String mobilePhoneMotherboardName = android.os.Build.BOARD;
private String mobilePhoneHardwareName = android.os.Build.DEVICE;
private String mobilePhoneMachineSystemLanguage = Locale.getDefault().getLanguage();
private String androidVersion=android.os.Build.VERSION.RELEASE;
private String androidSystemSdk = android.os.Build.VERSION.SDK_INT+"";
private String appVersionName = AppUtils.getAppVersionName();
private String appVersionNumber = AppUtils.getAppVersionCode()+"";
public String getUserPhone() {
return userPhone;
}
public void setUserPhone(String userPhone) {
this.userPhone = userPhone;
}
public String getMacIpaddr() {
return macIpaddr;
}
public void setMacIpaddr(String macIpaddr) {
this.macIpaddr = macIpaddr;
}
public String getClientSource() {
return clientSource;
}
public void setClientSource(String clientSource) {
this.clientSource = clientSource;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMobilePhoneManufacturerName() {
return mobilePhoneManufacturerName;
}
public void setMobilePhoneManufacturerName(String mobilePhoneManufacturerName) {
this.mobilePhoneManufacturerName = mobilePhoneManufacturerName;
}
public String getMobilePhoneProductName() {
return mobilePhoneProductName;
}
public void setMobilePhoneProductName(String mobilePhoneProductName) {
this.mobilePhoneProductName = mobilePhoneProductName;
}
public String getMobilePhoneMotherboardName() {
return mobilePhoneMotherboardName;
}
public void setMobilePhoneMotherboardName(String mobilePhoneMotherboardName) {
this.mobilePhoneMotherboardName = mobilePhoneMotherboardName;
}
public String getMobilePhoneHardwareName() {
return mobilePhoneHardwareName;
}
public void setMobilePhoneHardwareName(String mobilePhoneHardwareName) {
this.mobilePhoneHardwareName = mobilePhoneHardwareName;
}
public String getMobilePhoneMachineSystemLanguage() {
return mobilePhoneMachineSystemLanguage;
}
public void setMobilePhoneMachineSystemLanguage(String mobilePhoneMachineSystemLanguage) {
this.mobilePhoneMachineSystemLanguage = mobilePhoneMachineSystemLanguage;
}
public String getAndroidVersion() {
return androidVersion;
}
public void setAndroidVersion(String androidVersion) {
this.androidVersion = androidVersion;
}
public String getAndroidSystemSdk() {
return androidSystemSdk;
}
public void setAndroidSystemSdk(String androidSystemSdk) {
this.androidSystemSdk = androidSystemSdk;
}
public String getAppVersionName() {
return appVersionName;
}
public void setAppVersionName(String appVersionName) {
this.appVersionName = appVersionName;
}
public String getAppVersionNumber() {
return appVersionNumber;
}
public void setAppVersionNumber(String appVersionNumber) {
this.appVersionNumber = appVersionNumber;
}
@Override
public String toString() {
return "AppInfoBean{" +
"userPhone='" + userPhone + '\'' +
", macIpaddr='" + macIpaddr + '\'' +
", clientSource='" + clientSource + '\'' +
", status='" + status + '\'' +
", mobilePhoneManufacturerName='" + mobilePhoneManufacturerName + '\'' +
", mobilePhoneProductName='" + mobilePhoneProductName + '\'' +
", mobilePhoneMotherboardName='" + mobilePhoneMotherboardName + '\'' +
", mobilePhoneHardwareName='" + mobilePhoneHardwareName + '\'' +
", mobilePhoneMachineSystemLanguage='" + mobilePhoneMachineSystemLanguage + '\'' +
", androidVersion='" + androidVersion + '\'' +
", androidSystemSdk='" + androidSystemSdk + '\'' +
", appVersionName='" + appVersionName + '\'' +
", appVersionNumber='" + appVersionNumber + '\'' +
'}';
}
}
@@ -66,6 +66,11 @@ public class CarDelBean {
private String owner; private String owner;
private String roadLicense; private String roadLicense;
private String roadLicensePhoto; private String roadLicensePhoto;
private String trailerLicenseId;
private String policyPhotoUrl;
private String insuranceCompany;
private String insuranceEndDay;
private String roadLicenseSend; private String roadLicenseSend;
private String roadLicenseValidity; private String roadLicenseValidity;
private String threeImage; private String threeImage;
@@ -79,6 +84,14 @@ public class CarDelBean {
private String carPlateColorValue; private String carPlateColorValue;
private String needUpQCPhoto; private String needUpQCPhoto;
public String getTrailerLicenseId() {
return trailerLicenseId;
}
public void setTrailerLicenseId(String trailerLicenseId) {
this.trailerLicenseId = trailerLicenseId;
}
public String getNeedUpQCPhoto() { public String getNeedUpQCPhoto() {
return needUpQCPhoto; return needUpQCPhoto;
} }
@@ -95,6 +108,30 @@ public class CarDelBean {
this.carPlateColorValue = carPlateColorValue; this.carPlateColorValue = carPlateColorValue;
} }
public String getPolicyPhotoUrl() {
return policyPhotoUrl == null ? "" : policyPhotoUrl;
}
public void setPolicyPhotoUrl(String policyPhotoUrl) {
this.policyPhotoUrl = policyPhotoUrl;
}
public String getInsuranceCompany() {
return insuranceCompany == null ? "" : insuranceCompany;
}
public void setInsuranceCompany(String insuranceCompany) {
this.insuranceCompany = insuranceCompany;
}
public String getInsuranceEndDay() {
return insuranceEndDay == null ? "" : insuranceEndDay;
}
public void setInsuranceEndDay(String insuranceEndDay) {
this.insuranceEndDay = insuranceEndDay;
}
public String getCarEnergyTypValue() { public String getCarEnergyTypValue() {
return carEnergyTypValue; return carEnergyTypValue;
} }
@@ -271,6 +308,15 @@ public class CarDelBean {
private String threeImage; private String threeImage;
private String type; private String type;
private String vehicleNumber; private String vehicleNumber;
private String trailerLicenseId;
public String getTrailerLicenseId() {
return trailerLicenseId;
}
public void setTrailerLicenseId(String trailerLicenseId) {
this.trailerLicenseId = trailerLicenseId;
}
public String getBackImage() { public String getBackImage() {
return backImage == null ? "" : backImage; return backImage == null ? "" : backImage;
@@ -48,6 +48,33 @@ public class DriverExpireBean {
public static class DataDTO { public static class DataDTO {
private String driverLicenseUpdateUrl; private String driverLicenseUpdateUrl;
private String idCardUpdateUrl; private String idCardUpdateUrl;
private String qualificationUpdateUrl;
private String roadLicenseUpdateUrl;
private String insuranceUpdateUrl;
public String getRoadLicenseUpdateUrl() {
return roadLicenseUpdateUrl;
}
public void setRoadLicenseUpdateUrl(String roadLicenseUpdateUrl) {
this.roadLicenseUpdateUrl = roadLicenseUpdateUrl;
}
public String getInsuranceUpdateUrl() {
return insuranceUpdateUrl;
}
public void setInsuranceUpdateUrl(String insuranceUpdateUrl) {
this.insuranceUpdateUrl = insuranceUpdateUrl;
}
public String getQualificationUpdateUrl() {
return qualificationUpdateUrl;
}
public void setQualificationUpdateUrl(String qualificationUpdateUrl) {
this.qualificationUpdateUrl = qualificationUpdateUrl;
}
public String getDriverLicenseUpdateUrl() { public String getDriverLicenseUpdateUrl() {
return driverLicenseUpdateUrl; return driverLicenseUpdateUrl;
@@ -59,6 +59,7 @@ public class OCRVehicleBackLicenseBean {
private int id; private int id;
private String url; private String url;
private String checkRecord; private String checkRecord;
private String isSave;
private String approvedCapacity; private String approvedCapacity;
private String allCapacity; private String allCapacity;
private String size; private String size;
@@ -71,6 +72,14 @@ public class OCRVehicleBackLicenseBean {
private String carNumber; private String carNumber;
private int licenseId; private int licenseId;
public String getIsSave() {
return isSave;
}
public void setIsSave(String isSave) {
this.isSave = isSave;
}
public int getLicenseId() { public int getLicenseId() {
return licenseId; return licenseId;
} }
@@ -49,7 +49,9 @@ public class OCRVehicleLicenseBean {
private String address; private String address;
private int carId; private int carId;
private String carNumber; private String carNumber;
private boolean carExist;
private String dateIssue; private String dateIssue;
private String backImage;
private String engineNumber; private String engineNumber;
private int id; private int id;
private String model; private String model;
@@ -60,6 +62,41 @@ public class OCRVehicleLicenseBean {
private String type; private String type;
private String url; private String url;
private String vehicleNumber; private String vehicleNumber;
private String licenseId;
public String getLicenseId() {
return licenseId;
}
public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}
private DataDto2 existCarInfo;
public DataDto2 getExistCarInfo() {
return existCarInfo;
}
public void setExistCarInfo(DataDto2 existCarInfo) {
this.existCarInfo = existCarInfo;
}
public boolean isCarExist() {
return carExist;
}
public String getBackImage() {
return backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public void setCarExist(boolean carExist) {
this.carExist = carExist;
}
public String getAddress() { public String getAddress() {
return address == null ? "" : address; return address == null ? "" : address;
@@ -173,4 +210,44 @@ public class OCRVehicleLicenseBean {
this.vehicleNumber = vehicleNumber; this.vehicleNumber = vehicleNumber;
} }
} }
public static class DataDto2 {
private String backImage;
private String carId;
private String licenseId;
private CarDelBean.DataDTO trailerResVo;
public CarDelBean.DataDTO getTrailerResVo() {
return trailerResVo;
}
public void setTrailerResVo(CarDelBean.DataDTO trailerResVo) {
this.trailerResVo = trailerResVo;
}
public String getLicenseId() {
return licenseId;
}
public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}
public String getBackImage() {
return backImage == null ? "" : backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
}
} }
@@ -0,0 +1,41 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import java.io.Serializable;
/**
* @ClassName ToH5Bean
* @Author john
* @Date 2024/9/9 10:01
* @Description TODO
*/
public class ToH5Bean implements Serializable {
private int id;
private String carNumber;
private String carId;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCarNumber() {
return carNumber;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
}
@@ -1,11 +1,18 @@
package com.arpa.hndahesudintocctmsdriver.cuspop package com.arpa.hndahesudintocctmsdriver.cuspop
import android.Manifest
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.view.View import android.view.View
import android.widget.Toast
import androidx.fragment.app.FragmentActivity
import com.arpa.hndahesudintocctmsdriver.R import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil
import com.dahe.mylibrary.utils.ToastUtils
import com.lxj.xpopup.core.CenterPopupView import com.lxj.xpopup.core.CenterPopupView
import com.lxj.xpopup.util.XPermission
import com.permissionx.guolindev.PermissionX
import kotlinx.android.synthetic.main.load.view.* import kotlinx.android.synthetic.main.load.view.*
import kotlinx.android.synthetic.main.pop_message_center.view.* import kotlinx.android.synthetic.main.pop_message_center.view.*
@@ -48,11 +55,16 @@ class MessagePop(context: Context) : CenterPopupView(context), View.OnClickListe
} }
R.id.tvOk,R.id.tvPhone -> { R.id.tvOk,R.id.tvPhone -> {
dismiss() dismiss()
if (XPermission.create(context).isGranted(Manifest.permission.CALL_PHONE)){
val toString = tvPhone.text.toString() val toString = tvPhone.text.toString()
val intent = Intent(Intent.ACTION_DIAL) val intent = Intent(Intent.ACTION_DIAL)
val data = Uri.parse("tel:$toString") val data = Uri.parse("tel:$toString")
intent.data = data intent.data = data
context.startActivity(intent) context.startActivity(intent)
}else{
ToastUtils.showToast(context,"请开启电话权限")
}
// BaseUtils.callPhone(content as Activity, tvPhone.text.toString()) // BaseUtils.callPhone(content as Activity, tvPhone.text.toString())
} }
} }
@@ -6,6 +6,7 @@ import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity
import com.lxj.xpopup.core.CenterPopupView import com.lxj.xpopup.core.CenterPopupView
import kotlinx.android.synthetic.main.pop_sim_center.view.* import kotlinx.android.synthetic.main.pop_sim_center.view.*
import org.bouncycastle.jcajce.provider.symmetric.Rijndael
/** /**
@@ -17,10 +18,14 @@ import kotlinx.android.synthetic.main.pop_sim_center.view.*
class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickListener { class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickListener {
lateinit var content: String lateinit var content: String
lateinit var titleLeft: String
lateinit var titleReft: String
lateinit var secMessage: String lateinit var secMessage: String
constructor(context: Context, message: String) : this(context) { constructor(context: Context, message: String,titleLeft:String = "取消",titleRight: String = "去注册") : this(context) {
content = message content = message
this.titleReft = titleRight
this.titleLeft = titleLeft
} }
@@ -28,6 +33,8 @@ class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickLis
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
tvCancel.text = titleLeft
tvOk.text = titleReft
tvCancel.setOnClickListener(this) tvCancel.setOnClickListener(this)
tvOk.setOnClickListener(this) tvOk.setOnClickListener(this)
tvContent.text = "$content" tvContent.text = "$content"
@@ -0,0 +1,16 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
public class HomeWaybillEvent {
public HomeWaybillEvent() {
}
}
@@ -0,0 +1,22 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
public class PdfResEvent {
private String message;
public PdfResEvent(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
@@ -0,0 +1,21 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/11/2 18:51
* @description:
*/
public class RefreshCarListEvent {
private String message;
public RefreshCarListEvent(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
@@ -124,6 +124,17 @@ public class AuthRequest {
RequestUtil.start(1, "saveCarRoadLicenseNo", re, con, hd); RequestUtil.start(1, "saveCarRoadLicenseNo", re, con, hd);
} }
//车辆交强保险
public void saveTrafficInsurance(Context con, Handler hd, String id, String insuranceEndDay, String insuranceCompany) {
String mt = "{\n" +
"\t\"carId\": \"" + id + "\",\n" +
"\t\"insuranceEndDay\": \"" + insuranceEndDay + "\",\n" +
"\t\"insuranceCompany\": \"" + insuranceCompany + "\",\n" +
"}";
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getTrafficInsurance(), mt), getToken(con), con);
RequestUtil.start(1, "saveTrafficInsurance", re, con, hd);
}
//获取资格证认证信息 //获取资格证认证信息
public void isDriverAuthQualification(Context con, Handler hd) { public void isDriverAuthQualification(Context con, Handler hd) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getIsAuthDriverAuthQualification(), ""), getToken(con), con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getIsAuthDriverAuthQualification(), ""), getToken(con), con);
@@ -72,6 +72,15 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd); RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd);
} }
public void confirm(String cid,String contractUrl,int wid){
Map<String,Object> map=new HashMap<>();
map.put("carId",cid);
map.put("orderId",wid);
map.put("contractUrl",contractUrl);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd);
}
//获取执行中的运单 //获取执行中的运单
public void startOrder(int id){ public void startOrder(int id){
Map<String,Object> map=new HashMap<>(); Map<String,Object> map=new HashMap<>();
@@ -89,6 +98,11 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con);
RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd); RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd);
} }
//卸货-补传
public void dischargeCargo4(LUInputBean lub){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING4(), gson.toJson(lub)),getToken(con),con);
RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd);
}
//回单 //回单
public void receipt(UploadReceiptInputBean urib){ public void receipt(UploadReceiptInputBean urib){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con);
@@ -49,8 +49,8 @@ public class OCRRequest {
RequestUtil.start(12, CertificatesActivity.TYPE_NAME[2],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME[2],re,con,hd);
} }
//行驶证背面识别 //行驶证背面识别
public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum){ public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum,boolean isSave){
Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum); Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum,isSave);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[2],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[2],re,con,hd);
} }
@@ -67,6 +67,8 @@ public class RequestConstant {
private static final String LOADING = "/app/driver/waybill/loadingV2"; private static final String LOADING = "/app/driver/waybill/loadingV2";
//卸货 //卸货
private static final String UNLOADING = "/app/driver/waybill/unloadV2"; private static final String UNLOADING = "/app/driver/waybill/unloadV2";
//卸货-补传
private static final String UNLOADING4 = "/app/driver/waybill/unloadV4";
//上传回单 //上传回单
private static final String UPLOAD_RECEIPT = "/app/driver/waybill/uploadReceipt"; private static final String UPLOAD_RECEIPT = "/app/driver/waybill/uploadReceipt";
//轨迹跟踪 //轨迹跟踪
@@ -84,7 +86,7 @@ public class RequestConstant {
//车辆详情 //车辆详情
private static final String GET_CAR_DEL = "/app/carDriver/getCarInfo"; private static final String GET_CAR_DEL = "/app/carDriver/getCarInfo";
//删除车辆 //删除车辆
private static final String DEL_CAR="/app/carDriver/removeCar"; private static final String DEL_CAR = "/app/carDriver/unBindCar";
//上传车辆照片 //上传车辆照片
private static final String SAVECARIMG = "/app/carDriver/saveCarImg"; private static final String SAVECARIMG = "/app/carDriver/saveCarImg";
//上传头像保存 //上传头像保存
@@ -128,6 +130,9 @@ public class RequestConstant {
private static final String DRIVER_AUTH_SAVECARREGISTERNO = "/app/carDriver/saveCarRegisterNo"; private static final String DRIVER_AUTH_SAVECARREGISTERNO = "/app/carDriver/saveCarRegisterNo";
//道路运输信息 //道路运输信息
private static final String DRIVER_AUTH_SAVECARROADLICENSENO = "/app/carDriver/saveCarRoadLicenseNo"; private static final String DRIVER_AUTH_SAVECARROADLICENSENO = "/app/carDriver/saveCarRoadLicenseNo";
//交强险
private static final String DRIVER_TRAFFIC_INSU = "/app/carDriver/saveCarInsurace";
//党员认证 //党员认证
private static final String PARTY_MEMBER = "/app/user/partyMember"; private static final String PARTY_MEMBER = "/app/user/partyMember";
//实名认证 //实名认证
@@ -157,11 +162,16 @@ public class RequestConstant {
//车辆自动审核触发器 //车辆自动审核触发器
private static final String CAR_AUDIT = "/app/carDriver/carAutomaticAudit"; private static final String CAR_AUDIT = "/app/carDriver/carAutomaticAudit";
private static final String APP_INFO = "/common/app/logininfor";
public static String getCarAudit() { public static String getCarAudit() {
return BASE_URL + CAR_AUDIT; return BASE_URL + CAR_AUDIT;
} }
public static String postAppInfo() {
return BASE_URL + APP_INFO;
}
public static String getCarColor() { public static String getCarColor() {
return BASE_URL + CAR_COLOR; return BASE_URL + CAR_COLOR;
} }
@@ -209,9 +219,13 @@ public class RequestConstant {
return BASE_URL + BANK_CARD_LIST; return BASE_URL + BANK_CARD_LIST;
} }
public static String getXiaoXiListUrl() { return BASE_URL + XIAOXI_LIST; } public static String getXiaoXiListUrl() {
return BASE_URL + XIAOXI_LIST;
}
public static String getXiaoxiAll() { return BASE_URL +XIAOXI_ALL; } public static String getXiaoxiAll() {
return BASE_URL + XIAOXI_ALL;
}
public static String getOrderList() { public static String getOrderList() {
return BASE_URL + ORDER_LIST; return BASE_URL + ORDER_LIST;
@@ -241,6 +255,10 @@ public class RequestConstant {
return BASE_URL + UNLOADING; return BASE_URL + UNLOADING;
} }
public static String getUNLOADING4() {
return BASE_URL + UNLOADING4;
}
public static String getGetEvaluate() { public static String getGetEvaluate() {
return BASE_URL + GET_EVALUATE; return BASE_URL + GET_EVALUATE;
} }
@@ -293,15 +311,25 @@ public class RequestConstant {
return BASE_URL + ISAUTH_IDCARD; return BASE_URL + ISAUTH_IDCARD;
} }
public static String getIsauthDriverauthLicense() { return BASE_URL +ISAUTH_DRIVERAUTH_LICENSE; } public static String getIsauthDriverauthLicense() {
return BASE_URL + ISAUTH_DRIVERAUTH_LICENSE;
}
public static String getUploadReceipt() { return BASE_URL +UPLOAD_RECEIPT; } public static String getUploadReceipt() {
return BASE_URL + UPLOAD_RECEIPT;
}
public static String getUPLOAD() { return BASE_URL +UPLOAD; } public static String getUPLOAD() {
return BASE_URL + UPLOAD;
}
public static String getTrackTracking() {return BASE_URL +TRACK_TRACKING; } public static String getTrackTracking() {
return BASE_URL + TRACK_TRACKING;
}
public static String getEvaluationV2() { return BASE_URL +EVALUATION_V2; } public static String getEvaluationV2() {
return BASE_URL + EVALUATION_V2;
}
public static String getDRIVERAUTHIDCARD() { public static String getDRIVERAUTHIDCARD() {
return BASE_URL + DRIVERAUTHIDCARD; return BASE_URL + DRIVERAUTHIDCARD;
@@ -319,27 +347,49 @@ public class RequestConstant {
return BASE_URL + SAVECARIMG; return BASE_URL + SAVECARIMG;
} }
public static String getUploadHead() { return BASE_URL +UPLOAD_HEAD; } public static String getUploadHead() {
return BASE_URL + UPLOAD_HEAD;
}
public static String getInsBankcard() { public static String getInsBankcard() {
return BASE_URL + INS_BANKCARD; return BASE_URL + INS_BANKCARD;
} }
public static String getDelCar() { return BASE_URL +DEL_CAR; } public static String getDelCar() {
return BASE_URL + DEL_CAR;
}
public static String getXiaoxiDel() { return BASE_URL +XIAOXI_DEL; } public static String getXiaoxiDel() {
return BASE_URL + XIAOXI_DEL;
}
public static String getCOMPLAINT() { return BASE_URL+COMPLAINT; } public static String getCOMPLAINT() {
return BASE_URL + COMPLAINT;
}
public static String getXiaoxiDelAll() { return BASE_URL+XIAOXI_DEL_ALL; } public static String getXiaoxiDelAll() {
return BASE_URL + XIAOXI_DEL_ALL;
}
public static String getDriverAuthQualification() { return BASE_URL+DRIVER_AUTH_QUALIFICATION; } public static String getDriverAuthQualification() {
return BASE_URL + DRIVER_AUTH_QUALIFICATION;
}
public static String getDriverSaveCarRegisterNo() { return BASE_URL+DRIVER_AUTH_SAVECARREGISTERNO; } public static String getDriverSaveCarRegisterNo() {
return BASE_URL + DRIVER_AUTH_SAVECARREGISTERNO;
}
public static String getDriverSaveCarRoadLicenseNo() { return BASE_URL+DRIVER_AUTH_SAVECARROADLICENSENO; } public static String getDriverSaveCarRoadLicenseNo() {
return BASE_URL + DRIVER_AUTH_SAVECARROADLICENSENO;
}
public static String getSaveDrawCar() { return BASE_URL+SAVE_DRAW_CAR; } public static String getTrafficInsurance() {
return BASE_URL + DRIVER_TRAFFIC_INSU;
}
public static String getSaveDrawCar() {
return BASE_URL + SAVE_DRAW_CAR;
}
public static String getIsAuthDriverAuthQualification() { public static String getIsAuthDriverAuthQualification() {
return BASE_URL + IS_AUTH_DRIVER_AUTH_QUALIFICATION; return BASE_URL + IS_AUTH_DRIVER_AUTH_QUALIFICATION;
@@ -381,7 +431,9 @@ public class RequestConstant {
return BASE_URL + WITHDRAWALS_CONFIG; return BASE_URL + WITHDRAWALS_CONFIG;
} }
public static String getGetErrorOrder() { return BASE_URL+GET_ERROR_ORDER; } public static String getGetErrorOrder() {
return BASE_URL + GET_ERROR_ORDER;
}
public static String getGetExampleList() { public static String getGetExampleList() {
return BASE_URL + GET_EXAMPLE_LIST; return BASE_URL + GET_EXAMPLE_LIST;
@@ -10,6 +10,7 @@ import android.provider.Settings;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.business.Md5Util; import com.arpa.hndahesudintocctmsdriver.ui.business.Md5Util;
@@ -118,6 +119,14 @@ public class UserRequset {
RequestUtil.start(1, WoDeFragment.VEHICLE_DEL, re, con, hd); RequestUtil.start(1, WoDeFragment.VEHICLE_DEL, re, con, hd);
} }
//车辆详情
public void vehicleDelTwo(String id) {
Map<String, Object> map = new HashMap<>();
map.put("carId", id);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetCarDel(), MapUtil.mapJson(map)), getToken(con), con);
RequestUtil.start(1, "onlyGetDetail", re, con, hd);
}
//司机身份证认证 //司机身份证认证
public void driverIDAuth() { public void driverIDAuth() {
String url = RequestConstant.BASE_URL + "/app/driver/auth/authInfo"; String url = RequestConstant.BASE_URL + "/app/driver/auth/authInfo";
@@ -224,4 +233,15 @@ public class UserRequset {
Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(), "get", Md5Util.resNoUrl(map)), getToken(con)); Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(), "get", Md5Util.resNoUrl(map)), getToken(con));
RequestUtil.start(1, VehicleAuthActivity.CAR_AUDIO, re, con, hd); RequestUtil.start(1, VehicleAuthActivity.CAR_AUDIO, re, con, hd);
} }
public void postAppInfo(AppInfoBean appInfoBean, String type) {
// Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(),"get", gson.toJson(appInfoBean)),getToken(con));
Request re;
if ("put".equals(type)) {
re = OkHttpUtil.put(new OkDate(RequestConstant.postAppInfo(), type, gson.toJson(appInfoBean)), con);
} else {
re = OkHttpUtil.post(new OkDate(RequestConstant.postAppInfo(), type, gson.toJson(appInfoBean)), con);
}
RequestUtil.start(1, VehicleAuthActivity.APP_INFO, re, con, hd);
}
} }
@@ -15,6 +15,15 @@ public class LUInputBean {
private String locationAddress; private String locationAddress;
private String longitude; private String longitude;
private String waybillId; private String waybillId;
private String realLoadTime;
public String getRealLoadTime() {
return realLoadTime;
}
public void setRealLoadTime(String realLoadTime) {
this.realLoadTime = realLoadTime;
}
public List<Integer> getImageId() { public List<Integer> getImageId() {
return imageId; return imageId;
@@ -10,6 +10,7 @@ import android.util.Log;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset; import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup; import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants; import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
@@ -27,11 +28,14 @@ public class MakeUpService extends Service {
public void palyMp3(){ public void palyMp3(){
Log.e("开始播放","-----"); Log.e("开始播放","-----");
try { try {
AssetFileDescriptor fd =getAssets().openFd("kujp9scu.mp3"); MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.kujp9scu);
mediaPlayer.setDataSource(fd); mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
mediaPlayer.setLooping(false);//设置为循环播放 @Override
mediaPlayer.prepare();//初始化播放器MediaPlayer public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start(); mediaPlayer.start();
}
});
mediaPlayer.prepareAsync();
Log.e("播放成功","-----"); Log.e("播放成功","-----");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@@ -138,6 +138,7 @@ class MainActivity : BaseAppCompatActivity() {
Manifest.permission.ACCESS_BACKGROUND_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CALL_PHONE,
Manifest.permission.RECORD_AUDIO, Manifest.permission.RECORD_AUDIO,
Manifest.permission.CAMERA) Manifest.permission.CAMERA)
.request { allGranted, grantedList, deniedList -> .request { allGranted, grantedList, deniedList ->
@@ -1,7 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.ui.alert; package com.arpa.hndahesudintocctmsdriver.ui.alert;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;
import android.util.Log; import android.util.Log;
import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
@@ -12,6 +16,8 @@ import androidx.annotation.NonNull;
import com.king.app.updater.AppUpdater; import com.king.app.updater.AppUpdater;
import com.king.app.updater.callback.AppUpdateCallback; import com.king.app.updater.callback.AppUpdateCallback;
import com.king.app.updater.constant.Constants;
import com.king.app.updater.util.AppUtils;
import com.lxj.xpopup.core.CenterPopupView; import com.lxj.xpopup.core.CenterPopupView;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
@@ -27,8 +33,8 @@ import java.io.File;
*/ */
public class UpAppAlert extends CenterPopupView { public class UpAppAlert extends CenterPopupView {
private TextView content,vs; private TextView content, vs, tvContent;
private Button tv_cancel,tv_confirm; private Button tv_cancel, tv_confirm, tvOk;
private LinearLayout up_div; private LinearLayout up_div;
private String url = ""; private String url = "";
private String body = ""; private String body = "";
@@ -52,6 +58,7 @@ public class UpAppAlert extends CenterPopupView {
protected int getImplLayoutId() { protected int getImplLayoutId() {
return R.layout.alert_up_app; return R.layout.alert_up_app;
} }
public UpAppAlert(@NonNull @NotNull Context context) { public UpAppAlert(@NonNull @NotNull Context context) {
super(context); super(context);
@@ -63,6 +70,8 @@ public class UpAppAlert extends CenterPopupView {
content = findViewById(R.id.tv_content); content = findViewById(R.id.tv_content);
tv_cancel = findViewById(R.id.tv_cancel); tv_cancel = findViewById(R.id.tv_cancel);
tv_confirm = findViewById(R.id.tv_confirm); tv_confirm = findViewById(R.id.tv_confirm);
tvContent = findViewById(R.id.tvContent);
tvOk = findViewById(R.id.tvOk);
up_div = findViewById(R.id.up_div); up_div = findViewById(R.id.up_div);
progress_view = findViewById(R.id.progress); progress_view = findViewById(R.id.progress);
content = findViewById(R.id.tv_content); content = findViewById(R.id.tv_content);
@@ -83,9 +92,9 @@ public class UpAppAlert extends CenterPopupView {
System.exit(1); System.exit(1);
}); });
tv_confirm.setOnClickListener(v -> { tv_confirm.setOnClickListener(v -> {
new AppUpdater.Builder() new AppUpdater.Builder(con)
.setUrl(url) .setUrl(url)
.build(con) .build()
.setUpdateCallback(new AppUpdateCallback() { .setUpdateCallback(new AppUpdateCallback() {
@Override @Override
public void onStart(String url) { public void onStart(String url) {
@@ -93,6 +102,7 @@ public class UpAppAlert extends CenterPopupView {
tv_confirm.setVisibility(GONE); tv_confirm.setVisibility(GONE);
up_div.setVisibility(VISIBLE); up_div.setVisibility(VISIBLE);
} }
@Override @Override
public void onProgress(long progress, long total, boolean isChange) { public void onProgress(long progress, long total, boolean isChange) {
// Log.e("progress",progress+""); // Log.e("progress",progress+"");
@@ -109,7 +119,11 @@ public class UpAppAlert extends CenterPopupView {
@Override @Override
public void onFinish(File file) { public void onFinish(File file) {
tvContent.setText("下载完成,请及时安装!");
tvOk.setVisibility(VISIBLE);
tvOk.setOnClickListener(v1 -> {
AppUtils.installApk(getContext(), file, getContext().getPackageName() + Constants.DEFAULT_FILE_PROVIDER);
});
} }
}) })
.start(); .start();
@@ -18,10 +18,13 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent;
import com.github.gzuliyujiang.wheelpicker.DatePicker; import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode; import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.google.gson.Gson; import com.google.gson.Gson;
@@ -45,6 +48,8 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader; import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.Subscribe;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
@@ -101,6 +106,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
// initAuth(); // initAuth();
isAuth = true;
//判断是否从车辆进来 carId为空从个人认证进来需跳转实名认证,不为空车辆信息进入,需跳转车辆照片 //判断是否从车辆进来 carId为空从个人认证进来需跳转实名认证,不为空车辆信息进入,需跳转车辆照片
if (TextUtils.isEmpty(carId)) { if (TextUtils.isEmpty(carId)) {
//从业资格证->实名认证 //从业资格证->实名认证
@@ -155,6 +161,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
// finish(); // finish();
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else { } else {
finish();
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl")); }//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl"); CacheGroup.cacheList.remove("authUrl");
@@ -229,6 +236,11 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
gia.showPopueWindow(this); gia.showPopueWindow(this);
} }
}); });
up_img.setOnClickListener(v -> {
if (!isAuth) {
gia.showPopueWindow(this);
}
});
img.setOnClickListener(v -> { img.setOnClickListener(v -> {
if (!"".equals(url)) { if (!"".equals(url)) {
new XPopup.Builder(con).asImageViewer(img, url, new SmartGlideImageLoader(R.mipmap.ic_launcher_round)).show(); new XPopup.Builder(con).asImageViewer(img, url, new SmartGlideImageLoader(R.mipmap.ic_launcher_round)).show();
@@ -238,19 +250,21 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
}); });
value2.setOnClickListener(v -> { value2.setOnClickListener(v -> {
if (!isAuth) {
DatePicker picker = new DatePicker(this); DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300); picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day)); picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY); picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", ""); picker.getWheelLayout().setDateLabel("", "", "");
picker.show(); picker.show();
}
}); });
submit.setOnClickListener(v -> { submit.setOnClickListener(v -> {
if (!isAuth) { if (!isAuth) {
String id = value1.getText() + ""; String id = value1.getText() + "";
String date = value2.getText() + ""; String date = value2.getText() + "";
if ("0".equals(type)) { if ("0".equals(type)) {
if (!"".equals(id) && !"".equals(date) && !"".equals(url)) { if (!"".equals(date) && !"".equals(url)) {
new AuthRequest().driverAuthQualification(con, hd, id, ub.getData().getId(), date); new AuthRequest().driverAuthQualification(con, hd, id, ub.getData().getId(), date);
} else { } else {
Toast.makeText(con, "请补充证件信息", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请补充证件信息", Toast.LENGTH_SHORT).show();
@@ -374,4 +388,31 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
} }
@Subscribe
public void processResult(AuthEvent auth) {
//添加实名/意愿/签署完成之后的逻辑
Log.e("-回调信息-", auth.result);
JSONObject jsonObject = JSON.parseObject(auth.result);
if ("success".equalsIgnoreCase(jsonObject.getString("res"))) {
if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "签署场景成功", Toast.LENGTH_SHORT).show();
} else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "实名认证成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "意愿认证成功", Toast.LENGTH_SHORT).show();
}
finish();
} else {
if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "签署场景失败", Toast.LENGTH_SHORT).show();
} else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "实名认证失败", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "意愿认证失败", Toast.LENGTH_SHORT).show();
}
EsignSdk.getInstance().finishH5Activity();
finish();
}
}
} }
@@ -29,6 +29,7 @@ import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PickerUtils; import com.arpa.hndahesudintocctmsdriver.util.PickerUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
@@ -37,6 +38,7 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.Target;
import com.dahe.mylibrary.utils.ActivityUtils; import com.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent; import com.esign.esignsdk.data.AuthEvent;
import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener; import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
@@ -157,15 +159,24 @@ public class CertificatesActivity extends BaseAppCompatActivity {
|| CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("authUrl") != null || CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("authUrl") != null
|| CacheGroup.cacheList.get("saveDrawCar") != null) { || CacheGroup.cacheList.get("saveDrawCar") != null) {
if (CacheGroup.cacheList.get("driverAuthIdCard") != null) { if (CacheGroup.cacheList.get("driverAuthIdCard") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish(); finish();
//上传身份证信息后 跳转上传驾驶证信息页面 //上传身份证信息后 跳转上传驾驶证信息页面
Intent in = new Intent(con, CertificatesActivity.class); // Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1); // in.putExtra("index", 1);
startActivity(in); // startActivity(in);
//上传身份证信息后 跳转上传银行卡信息页面
Intent in333=new Intent(con, UpBankActivity.class);
in333.putExtra("type",1);
startActivity(in333);
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -174,6 +185,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
if (CacheGroup.cacheList.get("driverAuthLicense") != null) { if (CacheGroup.cacheList.get("driverAuthLicense") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
@@ -206,6 +220,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
if (CacheGroup.cacheList.get("saveVehicleLicense") != null) { if (CacheGroup.cacheList.get("saveVehicleLicense") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class); CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class);
if (czb.getCode() == 200) { if (czb.getCode() == 200) {
String needUpQCPhoto = czb.getData().getNeedUpQCPhoto();//是否需要上传从业资格证 String needUpQCPhoto = czb.getData().getNeedUpQCPhoto();//是否需要上传从业资格证
@@ -214,13 +231,19 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Toast.makeText(con, "车辆行驶证保存成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "车辆行驶证保存成功", Toast.LENGTH_SHORT).show();
VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId())); VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId()));
EventBus.getDefault().post(ve); EventBus.getDefault().postSticky(ve);
// TODO: 2023/8/23 // TODO: 2023/8/23
if ("1".equals(isTrailer)) {//判断是否跳转挂车行驶证 if ("1".equals(isTrailer)) {//判断是否跳转挂车行驶证
Intent in = new Intent(con, CertificatesActivity.class); Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 3); in.putExtra("index", 3);
in.putExtra("carId", String.valueOf(czb.getData().getCarId())); in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
if (olb != null && olb.getData() != null && olb.getData().isCarExist()) {
CarDelBean carDelBean = new CarDelBean();
carDelBean.setRes(1);//保留字段 1:为绑定车辆,可以进行修改挂车信息
carDelBean.setData(gson.fromJson(gson.toJson(olb.getData().getExistCarInfo()), CarDelBean.DataDTO.class));
in.putExtra("cheData", gson.toJson(carDelBean));
}
startActivity(in); startActivity(in);
} else if ("1".equals(needUpQCPhoto)) {//判断是否跳转从业资格证 } else if ("1".equals(needUpQCPhoto)) {//判断是否跳转从业资格证
Intent in = new Intent(con, AuthQualificationActivity.class); Intent in = new Intent(con, AuthQualificationActivity.class);
@@ -231,6 +254,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} else if ("1".equals(needUpRLPhoto)) {//判断是否跳转道路运输许可证 } else if ("1".equals(needUpRLPhoto)) {//判断是否跳转道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class); Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
in.putExtra("carExist", true);
in.putExtra("carId", String.valueOf(czb.getData().getCarId())); in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
startActivity(in); startActivity(in);
} else { } else {
@@ -263,6 +287,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove("saveVehicleLicense"); CacheGroup.cacheList.remove("saveVehicleLicense");
} }
if (CacheGroup.cacheList.get("saveDrawCar") != null) { if (CacheGroup.cacheList.get("saveDrawCar") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
Log.e("-saveDrawCar-", CacheGroup.cacheList.get("saveDrawCar")); Log.e("-saveDrawCar-", CacheGroup.cacheList.get("saveDrawCar"));
CarZhengBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), CarZhengBean.class); CarZhengBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), CarZhengBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
@@ -283,6 +310,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} else if ("1".equals(needUpRLPhoto)) {//现判断是否跳转道路运输许可证 } else if ("1".equals(needUpRLPhoto)) {//现判断是否跳转道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class); Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
in.putExtra("carExist", true);
in.putExtra("carId", carId); in.putExtra("carId", carId);
startActivity(in); startActivity(in);
} else { } else {
@@ -336,8 +364,11 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}//Log.e("url",CacheGroup.cacheList.get("authUrl")); }//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl"); CacheGroup.cacheList.remove("authUrl");
} else { } else {
//重复代码?
initView(null); initView(null);
if (!(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null || CacheGroup.cacheList.get(TYPE_NAME_BANK[3]) != null)) {
initData(); initData();
}
pathOrcRes(); pathOrcRes();
} }
break; break;
@@ -415,6 +446,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
// there_div.setVisibility(View.VISIBLE); // there_div.setVisibility(View.VISIBLE);
if (c_str != null && !c_str.equals("")) { if (c_str != null && !c_str.equals("")) {
cdb = gson.fromJson(c_str, CarDelBean.class); cdb = gson.fromJson(c_str, CarDelBean.class);
oCrcarId = cdb.getData().getTrailerResVo().getTrailerLicenseId() + "";
initView(null); initView(null);
initData(); initData();
} else { } else {
@@ -554,9 +586,14 @@ public class CertificatesActivity extends BaseAppCompatActivity {
case 0: case 0:
finish(); finish();
//上传身份证信息后 跳转上传驾驶证信息页面 //上传身份证信息后 跳转上传驾驶证信息页面
Intent in1 = new Intent(con, CertificatesActivity.class); // Intent in1 = new Intent(con, CertificatesActivity.class);
in1.putExtra("index", 1); // in1.putExtra("index", 1);
startActivity(in1); // startActivity(in1);
//上传身份证信息后 跳转上传银行卡信息页面
Intent in333=new Intent(con, UpBankActivity.class);
in333.putExtra("type",1);
startActivity(in333);
break; break;
case 1: case 1:
//传驾驶证信息页面 跳转实名认证 //传驾驶证信息页面 跳转实名认证
@@ -660,7 +697,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break; break;
case 3: case 3:
Log.e("挂车信息", gson.toJson(cdb)); Log.e("挂车信息", gson.toJson(cdb));
if (cdb != null && cdb.getData().getTrailerResVo() != null) { if (cdb != null && cdb.getData().getTrailerResVo() != null
&& !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getFrontImage())
&& !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getBackImage())) {
url1 = StringUtil.isNull(cdb.getData().getTrailerResVo().getFrontImage(), ""); url1 = StringUtil.isNull(cdb.getData().getTrailerResVo().getFrontImage(), "");
url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), ""); url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), "");
url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), ""); url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), "");
@@ -669,15 +708,17 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value3.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getOwner(), "空数据")); value3.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getOwner(), "空数据"));
value4.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getVehicleNumber(), "空数据")); value4.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getVehicleNumber(), "空数据"));
value6.setText(StringUtil.isNull(cdb.getData().getCarEnergyTypValue(), "空数据")); value6.setText(StringUtil.isNull(cdb.getData().getCarEnergyTypValue(), "空数据"));
submit.setBackgroundResource(R.drawable.bg_btn_grey);
Glide.with(con).load(url1).into(img1); Glide.with(con).load(url1).into(img1);
Glide.with(con).load(url2).into(img2); Glide.with(con).load(url2).into(img2);
Glide.with(con).load(url3).into(img3); Glide.with(con).load(url3).into(img3);
if (cdb.getRes() != 1) {
submit.setBackgroundResource(R.drawable.bg_btn_grey);
u_img.setText("已上传"); u_img.setText("已上传");
u_img2.setText("已上传"); u_img2.setText("已上传");
u_img3.setText("点击查看"); u_img3.setText("点击查看");
isAuth = true; isAuth = true;
} }
}
break; break;
default: default:
break; break;
@@ -736,7 +777,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value1.setText(ocb.getData().getName()); value1.setText(ocb.getData().getName());
value2.setText(ocb.getData().getCardId()); value2.setText(ocb.getData().getCardId());
value3.setText(ocb.getData().getAddress()); value3.setText(ocb.getData().getAddress());
Glide.with(con).load(url1).into(img1); // Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
fontId = ocb.getData().getId(); fontId = ocb.getData().getId();
} else { } else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
@@ -748,7 +790,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (ocbb.getCode() == 200) { if (ocbb.getCode() == 200) {
url2 = ocbb.getData().getUrl(); url2 = ocbb.getData().getUrl();
value4.setText(ocbb.getData().getEndTime()); value4.setText(ocbb.getData().getEndTime());
Glide.with(con).load(url2).into(img2); // Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
startTime = ocbb.getData().getStartTime(); startTime = ocbb.getData().getStartTime();
backId = ocbb.getData().getId(); backId = ocbb.getData().getId();
@@ -772,7 +815,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value2.setText(StringUtil.isNull(od.getStartTime(), "识别异常")); value2.setText(StringUtil.isNull(od.getStartTime(), "识别异常"));
value3.setText(StringUtil.isNull(od.getAllowType(), "识别异常")); value3.setText(StringUtil.isNull(od.getAllowType(), "识别异常"));
value4.setText(StringUtil.isNull(od.getEndTime(), "识别异常")); value4.setText(StringUtil.isNull(od.getEndTime(), "识别异常"));
Glide.with(con).load(url1).into(img1); // Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
fontId = od.getId(); fontId = od.getId();
} else { } else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
@@ -784,7 +828,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (odlb.getCode() == 200) { if (odlb.getCode() == 200) {
url2 = odlb.getData().getUrl(); url2 = odlb.getData().getUrl();
backId = odlb.getData().getId(); backId = odlb.getData().getId();
Glide.with(con).load(url2).into(img2); // Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转 //自动调取提交功能,实现页面自动跳转
subimt(); subimt();
} else { } else {
@@ -800,13 +845,22 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2])); Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2]));
olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class); olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class);
if (olb.getCode() == 200) { if (olb.getCode() == 200) {
if (olb.getData().isCarExist()) {
value1.setEnabled(false);
Glide.with(con).load(olb.getData().getExistCarInfo().getBackImage()).into(img2);
url2 = olb.getData().getExistCarInfo().getBackImage();
ToastUtils.showLongToast(con, "该车辆已存在,请仔细核对相关信息");
} else {
value1.setEnabled(true);
}
url1 = olb.getData().getUrl(); url1 = olb.getData().getUrl();
value1.setText(olb.getData().getCarNumber()); value1.setText(olb.getData().getCarNumber());
value2.setText(olb.getData().getType()); value2.setText(olb.getData().getType());
value3.setText(olb.getData().getOwner()); value3.setText(olb.getData().getOwner());
value4.setText(olb.getData().getVehicleNumber()); value4.setText(olb.getData().getVehicleNumber());
fontId = olb.getData().getId(); fontId = olb.getData().getId();
Glide.with(con).load(url1).into(img1); // Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
oCrcarId = olb.getData().getCarId() + ""; oCrcarId = olb.getData().getCarId() + "";
Log.e("-cardId-", oCrcarId); Log.e("-cardId-", oCrcarId);
} else { } else {
@@ -819,8 +873,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (oblb.getCode() == 200) { if (oblb.getCode() == 200) {
url2 = oblb.getData().getUrl(); url2 = oblb.getData().getUrl();
backId = oblb.getData().getId(); backId = oblb.getData().getId();
Glide.with(con).load(url2).into(img2); // Glide.with(con).load(url2).into(img2);
//自动调取提交功能,实现页面自动跳转 Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转实现页面自动跳转
subimt(); subimt();
} else { } else {
Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -832,7 +887,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (ub.getCode() == 200) { if (ub.getCode() == 200) {
url3 = ub.getData().getUrl(); url3 = ub.getData().getUrl();
fid = ub.getData().getId(); fid = ub.getData().getId();
Glide.with(con).load(url3).into(img3); // Glide.with(con).load(url3).into(img3);
Glide.with(con).load(path).into(img3);
} else { } else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -876,7 +932,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.dismiss(); customDialog.dismiss();
return; return;
} }
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum); new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, olb.getData().isCarExist());
} else { } else {
new AuthRequest().upload(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
@@ -892,7 +948,16 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.dismiss(); customDialog.dismiss();
return; return;
} }
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum); // if (cdb != null && cdb.getData().getTrailerResVo() &&cdb.getRes() == 1)
boolean isExist = false;
if (olb != null) {//主页识别成功后获取
isExist = olb.getData().isCarExist();
} else {
if (cdb != null && cdb.getData().getTrailerResVo() != null && cdb.getRes() == 1) {//上个页面带来数据
isExist = true;
}
}
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, isExist);
} else { } else {
new AuthRequest().upload(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
} }
@@ -915,6 +980,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
switch (index) { switch (index) {
case 0: case 0:
if (ocb != null && ocbb != null) { if (ocb != null && ocbb != null) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
IDInputBean ib = new IDInputBean(); IDInputBean ib = new IDInputBean();
ib.setIdcarName(str1); ib.setIdcarName(str1);
ib.setIdcard(str2); ib.setIdcard(str2);
@@ -937,6 +1004,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
//olb //olb
//{"档案编号","初次领证日期","准驾车型","有效期限(止)"}, //{"档案编号","初次领证日期","准驾车型","有效期限(止)"},
if (odl != null && odlb != null) { if (odl != null && odlb != null) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
Log.e("ocr", new Gson().toJson(odl)); Log.e("ocr", new Gson().toJson(odl));
LicenseInputBean iib = new LicenseInputBean(); LicenseInputBean iib = new LicenseInputBean();
iib.setArchivesName(str1); iib.setArchivesName(str1);
@@ -953,20 +1022,25 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
break; break;
case 2: case 2:
if (olb != null && oblb != null) { if ((olb != null && !olb.getData().isCarExist() && oblb != null) || (olb != null && olb.getData().isCarExist())) {
// if (curColor == null || curEnergy == null) { // if (curColor == null || curEnergy == null) {
// Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show(); // Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show();
// return; // return;
// } // }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
if ("".equals(url3)) { if ("".equals(url3)) {
map.put("imgId", fid); map.put("imgId", fid);
} }
map.put("licenseId", oblb.getData().getLicenseId()); map.put("licenseId", olb.getData().isCarExist() ? olb.getData().getExistCarInfo().getLicenseId() : oblb.getData().getLicenseId());
map.put("carNumber", str1); map.put("carNumber", str1);
map.put("type", str2); map.put("type", str2);
map.put("owner", str3); map.put("owner", str3);
map.put("vehicleNumber", str4); map.put("vehicleNumber", str4);
// if (olb.getData().isCarExist()) {
// map.put("carId", olb.getData().getCarId());
// }
// map.put("carPlateColor", curColor.getValue()); // map.put("carPlateColor", curColor.getValue());
// map.put("carEnergyTyp", curEnergy.getValue()); // map.put("carEnergyTyp", curEnergy.getValue());
new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map)); new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map));
@@ -975,22 +1049,27 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
break; break;
case 3: case 3:
if (olb != null && oblb != null) { if (olb != null || (cdb != null && cdb.getRes() == 1)) {
// if (curEnergy==null){ // if (curEnergy==null){
// Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show(); // Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show();
// return; // return;
// } // }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if ("".equals(url3)) { if ("".equals(url3)) {
map.put("imgId", fid); map.put("imgId", fid);
} }
map.put("licenseId", oblb.getData().getLicenseId()); // map.put("licenseId", oblb.getData().getLicenseId());
map.put("carId", carId); map.put("carId", carId);
map.put("carNumberDraw", str1); map.put("carNumberDraw", str1);
map.put("type", str2); map.put("type", str2);
map.put("owner", str3); map.put("owner", str3);
// map.put("carEnergyTyp", curEnergy.getValue()); // map.put("carEnergyTyp", curEnergy.getValue());
map.put("vehicleNumber", str4); map.put("vehicleNumber", str4);
if (cdb != null && cdb.getRes() == 1 && cdb.getData() != null && cdb.getData().getTrailerResVo() != null) {
map.put("oldTrailerNumber", cdb.getData().getTrailerResVo().getCarNumber());
}
new AuthRequest().saveDrawCar(con, hd, MapUtil.mapJson(map)); new AuthRequest().saveDrawCar(con, hd, MapUtil.mapJson(map));
} else { } else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
@@ -24,6 +24,7 @@ import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.AuthRequest; import com.arpa.hndahesudintocctmsdriver.request.AuthRequest;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset; import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment; import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup; import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil; import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetImageAlert; import com.arpa.hndahesudintocctmsdriver.util.img.GetImageAlert;
@@ -31,6 +32,8 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
@@ -49,23 +52,24 @@ import java.util.List;
*/ */
public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnClickListener { public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnClickListener {
private String[] titles = {"车辆照片", "NFC照片", "车辆登记证书", "道路运输许可证"}; private String[] titles = {"车辆照片", "NFC照片", "车辆登记证书", "道路运输许可证", "车辆交强险"};
private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片"}; private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片", "车辆交强险照片"};
private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片"}; private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片", "请上传车辆交强险照片"};
private Boolean[] isShowEdit = {false, false, true, true}; private Boolean[] isShowEdit = {false, false, true, true, true};
private Boolean[] isShowSkip = {true, false, false, true}; private Boolean[] isShowSkip = {true, false, false, true, true};
private String[] tips = { private String[] tips = {
"", "",
"*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过", "*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过",
"*注意: 没有可直接跳过,等候下次上传", "*注意: 没有可直接跳过,等候下次上传",
"*注意: 4.5吨以下车辆不需要上传,可直接跳过"}; "*注意: 4.5吨以下车辆不需要上传,可直接跳过",
""};
private BaseRecyclerView brv; private BaseRecyclerView brv;
private ImageView img; private ImageView img;
private TextView title1, title2, title3, zjimg_name, upload_img, tvTips, tvSkip; private TextView title1, title2, title3, zjimg_name, upload_img, tvTips, tvSkip, value2;
private EditText value1; private EditText value1;
private LinearLayout llInfo; private LinearLayout llInfo, llDate;
private RelativeLayout up_img; private RelativeLayout up_img;
private Button submit; private Button submit;
@@ -75,7 +79,9 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
private int type;//页面类型 private int type;//页面类型
private String path, carId, url;//图片路径 private String path, carId, url;//图片路径
private boolean carExist = false;
private GetImageAlert gia = new GetImageAlert(); private GetImageAlert gia = new GetImageAlert();
private CustomDialog customDialog;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
@@ -92,6 +98,11 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
} }
CacheGroup.cacheList.remove(WoDeFragment.VEHICLE_DEL); CacheGroup.cacheList.remove(WoDeFragment.VEHICLE_DEL);
} }
if (CacheGroup.cacheList.get("onlyGetDetail") != null) {
Log.e("--res--", CacheGroup.cacheList.get("onlyGetDetail"));
cdb = gson.fromJson(CacheGroup.cacheList.get("onlyGetDetail"), CarDelBean.class);
CacheGroup.cacheList.remove("onlyGetDetail");
}
if (CacheGroup.cacheList.get("upload") != null) { if (CacheGroup.cacheList.get("upload") != null) {
@@ -109,10 +120,16 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case 3: case 3:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 2); new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 2);
break; break;
case 4:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 7);
break;
} }
url = ub.getData().getUrl(); url = ub.getData().getUrl();
Glide.with(con).load(url).into(img); // Glide.with(con).load(url).into(img);
Glide.with(con).load(path).into(img);
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
CacheGroup.cacheList.remove("upload"); CacheGroup.cacheList.remove("upload");
} }
@@ -130,8 +147,12 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
Toast.makeText(con, "上传车辆登记证书照片", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传车辆登记证书照片", Toast.LENGTH_SHORT).show();
break; break;
case 3: case 3:
ur.vehicleDelTwo(carId);
Toast.makeText(con, "上传道路运输证成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传道路运输证成功", Toast.LENGTH_SHORT).show();
break; break;
case 4:
Toast.makeText(con, "交强险证件上传成功", Toast.LENGTH_SHORT).show();
break;
} }
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -158,13 +179,13 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class); IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class);
if (ib.getCode() == 200) { if (ib.getCode() == 200) {
//判断是否需要跳转挂车行驶证页面 //判断是否需要跳转挂车行驶证页面
if (!"".equals(carId) ){ if (!"".equals(carId) && cdb.getData() != null) {
if (cdb.getData().getIsTrailer() == 1&&!TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())){//需要挂车,并且传过挂车直接结束 if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,并且传过挂车直接结束
finish(); finish();
Intent in = new Intent(con, AddCarSuccActivity.class); Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
con.startActivity(in); con.startActivity(in);
}else if(cdb.getData().getIsTrailer() == 1&&TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())){//需要挂车,没传过挂车,到挂车页面 } else if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,没传过挂车,到挂车页面
finish(); finish();
Intent in = new Intent(con, CertificatesActivity.class); Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 3); in.putExtra("index", 3);
@@ -187,8 +208,11 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
con.startActivity(in); con.startActivity(in);
} }
} }
} else {
finish();
} }
// if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) { // if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) {
// if (!"".equals(carId)) { // if (!"".equals(carId)) {
// finish(); // finish();
@@ -213,8 +237,23 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
} }
CacheGroup.cacheList.remove("saveCarRoadLicenseNo"); CacheGroup.cacheList.remove("saveCarRoadLicenseNo");
} }
if (CacheGroup.cacheList.get("saveTrafficInsurance") != null) {
Log.e("is", CacheGroup.cacheList.get("saveTrafficInsurance"));
IsAuthDriverAuthQualificationBean ddb = gson.fromJson(CacheGroup.cacheList.get("saveTrafficInsurance"), IsAuthDriverAuthQualificationBean.class);
if (ddb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(con, ddb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("saveTrafficInsurance");
}
break; break;
case ImageFileCompressUtil.COMPRESS_SUCCESS: case ImageFileCompressUtil.COMPRESS_SUCCESS:
customDialog = new CustomDialog(con, "加载中...");
customDialog.show();
path = (String) m.obj; path = (String) m.obj;
new AuthRequest().upload(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
break; break;
@@ -233,6 +272,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
title1 = findViewById(R.id.title1); title1 = findViewById(R.id.title1);
title2 = findViewById(R.id.title2); title2 = findViewById(R.id.title2);
title3 = findViewById(R.id.name1); title3 = findViewById(R.id.name1);
value2 = findViewById(R.id.value2);
up_img = findViewById(R.id.up_img); up_img = findViewById(R.id.up_img);
img = findViewById(R.id.img); img = findViewById(R.id.img);
zjimg_name = findViewById(R.id.zjimg_name); zjimg_name = findViewById(R.id.zjimg_name);
@@ -240,6 +280,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
tvTips = findViewById(R.id.tvTips); tvTips = findViewById(R.id.tvTips);
value1 = findViewById(R.id.value1); value1 = findViewById(R.id.value1);
llInfo = findViewById(R.id.llInfo); llInfo = findViewById(R.id.llInfo);
llDate = findViewById(R.id.llDate);
tvSkip = findViewById(R.id.tvSkip); tvSkip = findViewById(R.id.tvSkip);
submit = findViewById(R.id.submit); submit = findViewById(R.id.submit);
@@ -247,10 +288,12 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
submit.setOnClickListener(this); submit.setOnClickListener(this);
upload_img.setOnClickListener(this); upload_img.setOnClickListener(this);
img.setOnClickListener(this); img.setOnClickListener(this);
value2.setOnClickListener(this);
type = getIntent().getExtras().getInt("type"); type = getIntent().getExtras().getInt("type");
carId = getIntent().getExtras().getString("carId", ""); carId = getIntent().getExtras().getString("carId", "");
carExist = getIntent().getExtras().getBoolean("carExist", false);
changeViewByType(type); changeViewByType(type);
ur = new UserRequset(con, hd); ur = new UserRequset(con, hd);
@@ -307,6 +350,14 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case R.id.img: case R.id.img:
showBigImg(); showBigImg();
break; break;
case R.id.value2:
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
break;
} }
} }
@@ -315,6 +366,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
* 展示大图片 * 展示大图片
*/ */
private void showBigImg() { private void showBigImg() {
if ((type == 3 && TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) || (type == 4 && TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl()))) {
choicePhoto();
return;
}
switch (type) { switch (type) {
case 0: case 0:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) { if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) {
@@ -356,8 +411,21 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) // .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show(); // .show();
break;
} }
break;
case 4:
if (cdb.getData().getPolicyPhotoUrl() != null && !"".equals(cdb.getData().getPolicyPhotoUrl())) {
//roadLicensePhoto
new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getPolicyPhotoUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
} }
} }
@@ -407,6 +475,15 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
} }
new AuthRequest().saveCarRoadLicenseNo(con, hd, carId, s1); new AuthRequest().saveCarRoadLicenseNo(con, hd, carId, s1);
break; break;
case 4:
String s2 = value1.getText().toString();
String v2 = value2.getText().toString();
if (TextUtils.isEmpty(s2) || TextUtils.isEmpty(v2)) {
Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show();
return;
}
new AuthRequest().saveTrafficInsurance(con, hd, carId, v2, s2);
break;
} }
} }
@@ -438,6 +515,17 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
if (!TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) { if (!TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) {
Glide.with(con).load(cdb.getData().getRoadLicensePhoto()).into(img); Glide.with(con).load(cdb.getData().getRoadLicensePhoto()).into(img);
value1.setText(cdb.getData().getRoadLicense()); value1.setText(cdb.getData().getRoadLicense());
if (!carExist) {
submit.setBackgroundResource(R.drawable.bg_btn_grey);
upload_img.setText("已上传");
}
}
} else if (4 == type) {
if (!TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl())) {
Glide.with(con).load(cdb.getData().getPolicyPhotoUrl()).into(img);
value1.setText(cdb.getData().getInsuranceCompany());
value2.setText(cdb.getData().getInsuranceEndDay());
submit.setBackgroundResource(R.drawable.bg_btn_grey); submit.setBackgroundResource(R.drawable.bg_btn_grey);
upload_img.setText("已上传"); upload_img.setText("已上传");
} }
@@ -523,6 +611,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
tvTips.setText(tips[type]); tvTips.setText(tips[type]);
tvSkip.setVisibility(isShowSkip[type] ? View.GONE : View.VISIBLE); tvSkip.setVisibility(isShowSkip[type] ? View.GONE : View.VISIBLE);
llInfo.setVisibility(isShowEdit[type] ? View.VISIBLE : View.GONE); llInfo.setVisibility(isShowEdit[type] ? View.VISIBLE : View.GONE);
if (type == 4) {
llDate.setVisibility(View.VISIBLE);
title3.setText("保险公司");
}
} }
@@ -14,7 +14,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.event.RefreshCarListEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
@@ -38,6 +41,7 @@ import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@@ -51,6 +55,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
public String carId=""; public String carId="";
public static final String DEL_CAR="delete_che"; public static final String DEL_CAR="delete_che";
public static final String CAR_AUDIO="CAR_AUDIO"; public static final String CAR_AUDIO="CAR_AUDIO";
public static final String APP_INFO="APP_INFO";
private int submitIndex=0; private int submitIndex=0;
private BaseBean bb; private BaseBean bb;
private ImageView show_img; private ImageView show_img;
@@ -65,7 +70,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove(CAR_AUDIO); CacheGroup.cacheList.remove(CAR_AUDIO);
} }
if(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL)!=null){ if(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL)!=null){
Log.e("--res--",CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL)); Log.e("--res--lijia",CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL));
cdb=gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL), CarDelBean.class); cdb=gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL), CarDelBean.class);
if(cdb.getCode()==200){ if(cdb.getCode()==200){
initView(null); initView(null);
@@ -79,6 +84,8 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
bb=gson.fromJson(CacheGroup.cacheList.get(DEL_CAR),BaseBean.class); bb=gson.fromJson(CacheGroup.cacheList.get(DEL_CAR),BaseBean.class);
if (bb.getCode()==200) { if (bb.getCode()==200) {
Toast.makeText(con,"删除成功",Toast.LENGTH_SHORT).show(); Toast.makeText(con,"删除成功",Toast.LENGTH_SHORT).show();
RefreshCarListEvent ve = new RefreshCarListEvent("");
EventBus.getDefault().post(ve);
finish(); finish();
}else{ }else{
Toast.makeText(con,"删除失败:"+bb.getMsg(),Toast.LENGTH_SHORT).show(); Toast.makeText(con,"删除失败:"+bb.getMsg(),Toast.LENGTH_SHORT).show();
@@ -166,6 +173,13 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
private GetImageAlert gia=new GetImageAlert(); private GetImageAlert gia=new GetImageAlert();
private boolean key1,key2,key3=false; private boolean key1,key2,key3=false;
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Override @Override
public void initView(Object obj) { public void initView(Object obj) {
super.initView(obj); super.initView(obj);
@@ -207,11 +221,12 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
RelativeLayout r5=v.findViewById(R.id.r5); RelativeLayout r5=v.findViewById(R.id.r5);
RelativeLayout r6=v.findViewById(R.id.r6); RelativeLayout r6=v.findViewById(R.id.r6);
RelativeLayout r7=v.findViewById(R.id.r7); RelativeLayout r7=v.findViewById(R.id.r7);
RelativeLayout r8=v.findViewById(R.id.r8);
View vs1=v.findViewById(R.id.vs1); View vs1=v.findViewById(R.id.vs1);
View vs2=v.findViewById(R.id.vs2); View vs2=v.findViewById(R.id.vs2);
r4.setVisibility(View.GONE); r4.setVisibility(View.GONE);
r5.setVisibility(View.GONE); r5.setVisibility(View.GONE);
vs1.setVisibility(View.GONE); // vs1.setVisibility(View.GONE);
vs2.setVisibility(View.GONE); vs2.setVisibility(View.GONE);
if(!"".equals(carId) && cdb.getData().getIsTrailer()==1){ if(!"".equals(carId) && cdb.getData().getIsTrailer()==1){
r4.setVisibility(View.VISIBLE); r4.setVisibility(View.VISIBLE);
@@ -301,6 +316,17 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
Toast.makeText(con,"请先绑定挂车",Toast.LENGTH_SHORT).show(); Toast.makeText(con,"请先绑定挂车",Toast.LENGTH_SHORT).show();
} }
}); });
r8.setOnClickListener(v1->{
if(!"".equals(carId)){
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 4);
in.putExtra("carId", carId);
con.startActivity(in);
}else{
Toast.makeText(con,"请先绑定行驶证",Toast.LENGTH_SHORT).show();
}
});
del.setOnClickListener(v13 -> { del.setOnClickListener(v13 -> {
new XPopup.Builder(con) new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -384,7 +410,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
super.onResume(); super.onResume();
} }
@Subscribe @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void processResult(VehicleEvent event) { public void processResult(VehicleEvent event) {
Log.e("-msg-",event.getMessage()); Log.e("-msg-",event.getMessage());
if(!"".equals(event.getMessage())) { if(!"".equals(event.getMessage())) {
@@ -36,18 +36,26 @@ import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker; import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.MyLocationStyle; import com.amap.api.maps.model.MyLocationStyle;
import com.arpa.hndahesudintocctmsdriver.bean.BankCardListBean;
import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean; import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig; import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.bean.JTT; import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant; import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts; import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.WalletRequest;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity; import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.gyf.cactus.Cactus; import com.gyf.cactus.Cactus;
import com.hjq.xtoast.XToast; import com.hjq.xtoast.XToast;
@@ -117,7 +125,11 @@ public class HomeFragment extends BaseFragment {
private HuoYuanListBean hb; private HuoYuanListBean hb;
private Gson gson = new Gson(); private Gson gson = new Gson();
private CardView btn_news, btn_loadin, btn_update; private CardView btn_news, btn_loadin, btn_update;
private LinearLayout order_all; private LinearLayout order_all, llCurWay;
private TextView tvWaybill, tvGo, tvZX;
private ImageView ivType;
private HuoYuanListBean uab; private HuoYuanListBean uab;
private List<Marker> list = new ArrayList<>(); private List<Marker> list = new ArrayList<>();
private HuoYuanListDealBean hdb; private HuoYuanListDealBean hdb;
@@ -139,6 +151,23 @@ public class HomeFragment extends BaseFragment {
refreshLayout.finishRefresh(500); refreshLayout.finishRefresh(500);
keys = false; keys = false;
} }
//银行卡信息接收
if (CacheGroup.cacheList.get(dataName2) != null) {
BankCardListBean bcb = new Gson().fromJson(CacheGroup.cacheList.get(dataName2), BankCardListBean.class);
if (bcb.getCode() == 200) {
if (bcb.getData() == null || bcb.getData().getRecords() == null || bcb.getData().getRecords().size() < 1) {
new MessageUtils().showSimCenPop(con, "缺少银行卡可能会导致运费无法结算,是否去添加!", "取消", "确认", () -> {
Intent in333 = new Intent(con, UpBankActivity.class);
startActivity(in333);
});
}
} else {
Toast.makeText(con, bcb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(dataName2);
}
if (CacheGroup.cacheList.get("userdata") != null) { if (CacheGroup.cacheList.get("userdata") != null) {
ub = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class); ub = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if (ub.getCode() == 200) { if (ub.getCode() == 200) {
@@ -165,8 +194,12 @@ public class HomeFragment extends BaseFragment {
SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME, JTTConstant.JTT_DATA_ORDER_KEY, gson.toJson(sob)); SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME, JTTConstant.JTT_DATA_ORDER_KEY, gson.toJson(sob));
initStart(); initStart();
StartOrderParts.setStartOrder(con, sob); StartOrderParts.setStartOrder(con, sob);
if (sob.getData() != null) { if (sob.getData() != null && !sob.getData().getWaybillStatus().equals("已取消")) {
dealCurWay(sob.getData());
ur.getJtts(sob.getData().getShippingNoteNumber()); ur.getJtts(sob.getData().getShippingNoteNumber());
} else {
SPUtils.remove(con,"curWaybillId");
llCurWay.setVisibility(View.GONE);
} }
} else { } else {
Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
@@ -241,7 +274,9 @@ public class HomeFragment extends BaseFragment {
in.putExtra("url", deb.getData().getIdCardUpdateUrl()); in.putExtra("url", deb.getData().getIdCardUpdateUrl());
} }
} }
if (!"".equals(deb.getData().getDriverLicenseUpdateUrl()) || !"".equals(deb.getData().getIdCardUpdateUrl())) { if (!TextUtils.isEmpty(deb.getData().getDriverLicenseUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getIdCardUpdateUrl()) ||
!TextUtils.isEmpty(deb.getData().getQualificationUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getRoadLicenseUpdateUrl()) ||
!TextUtils.isEmpty(deb.getData().getInsuranceUpdateUrl())) {
new XToast<>(act) new XToast<>(act)
.setContentView(R.layout.view_bc) .setContentView(R.layout.view_bc)
// 设置成可拖拽的 // 设置成可拖拽的
@@ -318,8 +353,8 @@ public class HomeFragment extends BaseFragment {
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
hyr = new HuoYuanRequset(con, hd); hyr = new HuoYuanRequset(con, hd);
ur = new UserRequset(con, hd); ur = new UserRequset(con, hd);
initRefreshLoad();
initView(null); initView(null);
initRefreshLoad();
btn_news.setOnClickListener(v -> { btn_news.setOnClickListener(v -> {
}); });
@@ -425,6 +460,13 @@ public class HomeFragment extends BaseFragment {
order_box = v.findViewById(R.id.order_box); order_box = v.findViewById(R.id.order_box);
auth_box = v.findViewById(R.id.auth_box); auth_box = v.findViewById(R.id.auth_box);
order_all = v.findViewById(R.id.order_all); order_all = v.findViewById(R.id.order_all);
llCurWay = v.findViewById(R.id.llCurWay);
tvWaybill = v.findViewById(R.id.tvWaybill);
tvGo = v.findViewById(R.id.tvGo);
tvZX = v.findViewById(R.id.loadingAddress);
ivType = v.findViewById(R.id.ivType);
ImageView fun_left = v.findViewById(R.id.fun_left); ImageView fun_left = v.findViewById(R.id.fun_left);
ImageView fun_right = v.findViewById(R.id.fun_right); ImageView fun_right = v.findViewById(R.id.fun_right);
fun_left.setOnClickListener(v16 -> startActivity(new Intent(con, OrderListActivity.class))); fun_left.setOnClickListener(v16 -> startActivity(new Intent(con, OrderListActivity.class)));
@@ -524,6 +566,100 @@ public class HomeFragment extends BaseFragment {
initMap(); initMap();
} }
StartOrderBean.DataDTO.WayChildrenDTO zData = new StartOrderBean.DataDTO.WayChildrenDTO();
StartOrderBean.DataDTO.WayChildrenDTO xData = new StartOrderBean.DataDTO.WayChildrenDTO();
/**
* 一装一卸逻辑
*
* @param data
*/
private void dealCurWay(StartOrderBean.DataDTO data) {
SPUtils.put(con, "curWaybillId", data.getWaybillId());
for (int i = 0; i < data.getWayChildren().size(); i++) {
if (1 == data.getWayChildren().get(i).getType()) {
zData = data.getWayChildren().get(i);
break;
}
}
for (int i = 0; i < data.getWayChildren().size(); i++) {
if (2 == data.getWayChildren().get(i).getType()) {
xData = data.getWayChildren().get(i);
break;
}
}
llCurWay.setVisibility(View.VISIBLE);
tvWaybill.setText(data.getShippingNoteNumber());
tvGo.setText(getGoText(zData.getStatus(),xData.getStatus()));
if (data.getWaybillStatus().equals("待装货")) {
tvZX.setText(zData.getAddress());
ivType.setBackgroundResource(R.mipmap.zhuang);
} else {
tvZX.setText(xData.getAddress());
ivType.setBackgroundResource(R.mipmap.xie);
}
tvGo.setOnClickListener(v -> {
int zStatus = zData.getStatus();
int xStatus = xData.getStatus();
if (zStatus == 0) {//未装货
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 0);
in.putExtra("wid", zData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", zData.getId() + "");
in.putExtra("h_type", 0);
in.putExtra("sob", gson.toJson(sob));
startActivity(in);
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zData.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 1);
in.putExtra("wid", xData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else {
ToastUtils.showToast(con, "请到卸货地再进行卸货操作!");
}
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", xData.getId() + "");
in.putExtra("h_type", 1);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
}else{
ToastUtils.showToast(con,"已完成该运单");
}
});
}
private String getGoText(int zStatus, int xStatus) {
if (zStatus == 0) {//未装货
return "去装货";
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
return "装货回单";
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
return "去卸货";
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
return "卸货回单";
}
return "已完成";
}
/** /**
* *
*/ */
@@ -543,13 +679,14 @@ public class HomeFragment extends BaseFragment {
ur.upApp(); ur.upApp();
hyr.getHuoYuan(1, 100); hyr.getHuoYuan(1, 100);
ur.getImage(1); ur.getImage(1);
WalletRequest qr = new WalletRequest(con, hd);
if (UiAuxiliary.isLogin(con)) { if (UiAuxiliary.isLogin(con)) {
int curWaybillId = (int) SPUtils.get(con, "curWaybillId", -1);
ur.User(); ur.User();
qr.getBankCardList();
ur.getDriverExpire(); ur.getDriverExpire();
hyr.startOrder(0); hyr.startOrder(curWaybillId==-1 ? 0 : curWaybillId);
ur.driverAuthData(); ur.driverAuthData();
} }
// oldTime= Calendar.getInstance().getTimeInMillis(); // oldTime= Calendar.getInstance().getTimeInMillis();
@@ -997,6 +1134,12 @@ public class HomeFragment extends BaseFragment {
initView(null); initView(null);
} }
@Subscribe
public void processResult(HomeWaybillEvent home) {
int curWaybillId = (int) SPUtils.get(con, "curWaybillId", -1);
hyr.startOrder(curWaybillId==-1 ? 0 : curWaybillId);
}
class Model { class Model {
private int imageId; private int imageId;
@@ -4,12 +4,20 @@ import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.text.Html; import android.text.Html;
import android.text.Layout;
import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log; import android.util.Log;
import android.view.inputmethod.EditorInfo;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@@ -21,8 +29,10 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity; import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.bean.JTT; import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.bean.ToH5Bean;
import com.arpa.hndahesudintocctmsdriver.event.FaceEvent; import com.arpa.hndahesudintocctmsdriver.event.FaceEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PdfResEvent;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess; import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
@@ -102,14 +112,18 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show(); //Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show();
customDialog.dismiss(); customDialog.dismiss();
// EsignSdk.getInstance().startH5Activity(act, (String) bb.getData()); // EsignSdk.getInstance().startH5Activity(act, (String) bb.getData());
if (null==bb.getData()){
UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0");
startActivity(in);
finish();
}else{
Intent intent = new Intent(this, H5Activity.class); Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData()); intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false); intent.putExtra("view_file", false);
startActivity(intent); startActivity(intent);
}
//finish(); //finish();
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -142,8 +156,20 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
.asConfirm("请确认接单", "是否确定承运此运单?", .asConfirm("请确认接单", "是否确定承运此运单?",
"取消", "确认", "取消", "确认",
() -> { () -> {
ToH5Bean toH5Bean = new ToH5Bean();
toH5Bean.setId(id);
toH5Bean.setCarNumber(car.getText().toString().substring("选择车辆:".length()));
toH5Bean.setCarId(cid);
Log.e("--id--", "cid:" + cid + "---wid:" + id); Log.e("--id--", "cid:" + cid + "---wid:" + id);
hyr.confirm(cid, id); Intent in = new Intent(con, WebActivity.class);
in.putExtra("url", "https://platform.test.dahehuoyun.com/contract/dist/#/contracttemplate");
in.putExtra("id", id);
in.putExtra("ToH5Bean",toH5Bean);
in.putExtra("title", "合同签署");
// startActivity(in);
startActivityForResult(in,1);
}, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局 }, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
.show(); .show();
break; break;
@@ -195,6 +221,8 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//2021/02/27记,类型声明错误 //2021/02/27记,类型声明错误
ImageButton return_btn = v.findViewById(R.id.return_btn); ImageButton return_btn = v.findViewById(R.id.return_btn);
ImageButton xuan = v.findViewById(R.id.xuan); ImageButton xuan = v.findViewById(R.id.xuan);
CheckBox checkBox = v.findViewById(R.id.cb);
TextView totalFreight = v.findViewById(R.id.totalFreight);
ImageButton btnFp = v.findViewById(R.id.btnFp); ImageButton btnFp = v.findViewById(R.id.btnFp);
TextView effectiveTime = v.findViewById(R.id.effectiveTime); TextView effectiveTime = v.findViewById(R.id.effectiveTime);
TextView check_contract = v.findViewById(R.id.check_contract); TextView check_contract = v.findViewById(R.id.check_contract);
@@ -205,6 +233,15 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
return_btn.setOnClickListener(v16 -> { return_btn.setOnClickListener(v16 -> {
finish(); finish();
}); });
totalFreight.setText("****");
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked){
totalFreight.setText(hyd.getData().getTotalFreight());
}else{
totalFreight.setText("****");
}
// totalFreight.setTransformationMethod(isChecked? HideReturnsTransformationMethod.getInstance(): PasswordTransformationMethod.getInstance());
});
// String textSource = "同意在符合相关税务机关要求的情况下代开<font color='#ff0000'>增值税发票</font>"; // String textSource = "同意在符合相关税务机关要求的情况下代开<font color='#ff0000'>增值税发票</font>";
String textSource = "公司已对运输合同条款充分解释说明,本人已充分理解、认可并签署;同意符合税务机关要求下<font color='#ff0000'>代开增值税发票</font>,产生的增值税及附加税本人承担。"; String textSource = "公司已对运输合同条款充分解释说明,本人已充分理解、认可并签署;同意符合税务机关要求下<font color='#ff0000'>代开增值税发票</font>,产生的增值税及附加税本人承担。";
tvZzs.setText(Html.fromHtml(textSource)); tvZzs.setText(Html.fromHtml(textSource));
@@ -413,6 +450,22 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
} }
} }
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK&&requestCode==1){
//签合同后接单
// String pdfUrl = data.getStringExtra("pdfUrl");
// hyr.confirm(cid,pdfUrl, id);
UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0");
startActivity(in);
finish();
}
}
/** /**
* 接单 * 接单
* 先判断安联用户信息验证,随后接单 * 先判断安联用户信息验证,随后接单
@@ -40,6 +40,7 @@ import com.amap.api.services.route.DriveStep;
import com.amap.api.services.route.RideRouteResult; import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch; import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult; import com.amap.api.services.route.WalkRouteResult;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil; import com.dahe.mylibrary.utils.TimeUtil;
@@ -73,6 +74,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
public class StartYunDanActivity extends BaseActivity { public class StartYunDanActivity extends BaseActivity {
@@ -109,6 +111,9 @@ public class StartYunDanActivity extends BaseActivity {
Log.e("-运单-", CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER)); Log.e("-运单-", CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER));
sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class); sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class);
wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class); wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
if (sob.getCode() == 200 && sob.getData() != null) { if (sob.getCode() == 200 && sob.getData() != null) {
id = sob.getData().getWaybillId(); id = sob.getData().getWaybillId();
initView(null); initView(null);
@@ -202,6 +207,30 @@ public class StartYunDanActivity extends BaseActivity {
initStartBody(v); initStartBody(v);
break; break;
case R.layout.item_yundan_yunxing: case R.layout.item_yundan_yunxing:
LinearLayout llMoney = v.findViewById(R.id.llMoney);
if (!sob.getData().getWaybillStatus().equals("已装货")
&& !sob.getData().getWaybillStatus().equals("待装货")
&& !sob.getData().getWaybillStatus().equals("待接单")) {
if (sob.getData().getWaybillStatus().equals("已装货")) {
StartOrderBean.DataDTO.WayChildrenDTO mySdw = new StartOrderBean.DataDTO.WayChildrenDTO();
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
if (sdw.getType() == 1) {
mySdw = sdw;
break;
}
}
if (mySdw.getStatus() == 3) {
llMoney.setVisibility(View.GONE);
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.GONE);
}
ImageView head_img = v.findViewById(R.id.head_img); ImageView head_img = v.findViewById(R.id.head_img);
if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) { if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) {
Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img); Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img);
@@ -387,22 +416,22 @@ public class StartYunDanActivity extends BaseActivity {
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) { for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (sob.getData().getWayChildren().get(i).getType() == 1) { if (sob.getData().getWayChildren().get(i).getType() == 1) {
zInfo = sob.getData().getWayChildren().get(i); zInfo = sob.getData().getWayChildren().get(i);
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zInfo.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {
if (zInfo.getReceiptUrl() != null && zInfo.getReceiptUrl().size() > 0) { if (zInfo.getReceiptUrl() != null && zInfo.getReceiptUrl().size() > 0) {
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zInfo.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class); Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", type); in.putExtra("type", type);
in.putExtra("wid", wid); in.putExtra("wid", wid);
in.putExtra("sob", gson.toJson(sob)); in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", key); in.putExtra("keys", key);
startActivity(in); startActivity(in);
} else {
ToastUtils.showToast(StartYunDanActivity.this, "请到卸货地再进行卸货操作!");
}
break; break;
} else { } else {
ToastUtils.showToast(StartYunDanActivity.this, "请先上传出货单,再进行卸货操作!"); ToastUtils.showToast(StartYunDanActivity.this, "请先上传出货单,再进行卸货操作!");
} }
} else {//大于五分钟可以接单
ToastUtils.showToast(StartYunDanActivity.this, "装卸货时间间隔过短,请稍后重试!");
}
break; break;
} }
} }
@@ -446,12 +475,16 @@ public class StartYunDanActivity extends BaseActivity {
return str; return str;
} }
private CustomDialog customDialog;
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if (map != null) { if (map != null) {
map.onResume(); map.onResume();
} }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
hyr.startOrder(id); hyr.startOrder(id);
hyr.getEvaluate(id); hyr.getEvaluate(id);
} }
@@ -19,22 +19,22 @@ import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods; import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image; import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location; import com.alct.mdp.model.Location;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean; import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess; import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest; import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil; import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils; import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert; import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil; import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.baidu.mapapi.CoordType;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter; import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
@@ -47,7 +47,6 @@ import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset; import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil; import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog; import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup; import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
@@ -59,6 +58,8 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader; import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus;
import java.io.File; import java.io.File;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.ArrayList;
@@ -97,11 +98,15 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
switch (m.what) { switch (m.what) {
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) { if (CacheGroup.cacheList.get("upload") != null) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Log.e("upload", CacheGroup.cacheList.get("upload")); Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class); ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) { if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId()); imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img); // Glide.with(con).load(ub.getData().getUrl()).into(res_img);
Glide.with(con).load(path).into(res_img);
res_img.setVisibility(View.VISIBLE); res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE); img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE); img_icon.setVisibility(View.GONE);
@@ -115,17 +120,21 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
if (!keys) { if (index == 2) {
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show(); if (!keys) {//装货回单
finish(); if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
} else { customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish(); finish();
} }
}
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(TYPE_NAME[i]); CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
} }
} }
if (CacheGroup.cacheList.get("carName") != null) { if (CacheGroup.cacheList.get("carName") != null) {
@@ -152,6 +161,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
hyr.uploadFile(new File(path)); hyr.uploadFile(new File(path));
} }
} else {//识别失败后返回code500 } else {//识别失败后返回code500
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
if (index == 0) {//装卸货车辆需要识别车牌号){ if (index == 0) {//装卸货车辆需要识别车牌号){
Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
} else if (index == 1) { } else if (index == 1) {
@@ -164,14 +176,19 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break; break;
case 14://定位成功 case 14://定位成功
locationKey = true; locationKey = true;
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss(); customDialog.dismiss();
}
tv_loaction.setText("定位成功"); tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null)); tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation(); initLocation();
break; break;
case 16://定位失败 case 16://定位失败
locationKey = false; locationKey = false;
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss(); customDialog.dismiss();
}
tv_loaction.setText("定位失败,点击重试"); tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null)); tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show(); Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
@@ -189,7 +206,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
// if(index==1 || index==2){ // if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path)); // new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// } // }
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号 if ((index == 0 || index == 1) && !BuildConfig.isTest) {//装卸货车辆需要识别车牌号,测试环境不校验车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path)); new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else { } else {
hyr.uploadFile(new File(path)); hyr.uploadFile(new File(path));
@@ -200,6 +217,15 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
} }
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid; private String wid;
private int h_type; private int h_type;
String sobStr = ""; String sobStr = "";
@@ -235,8 +261,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
lgdu = new LocationGDUtil(con, hd); lgdu = new LocationGDUtil(con, hd);
//启动定位 //启动定位
lgdu.onCreate(); lgdu.onCreate();
lu = new LocationUtil(con, hd); // lu = new LocationUtil(con, hd);
lu.onCreate(); // lu.onCreate();
// if (keys) { // if (keys) {
// lu = new LocationUtil(con, hd); // lu = new LocationUtil(con, hd);
// lu.onCreate(); // lu.onCreate();
@@ -245,8 +271,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (!locationKey) { if (!locationKey) {
customDialog.show(); customDialog.show();
lgdu.onCreate(); lgdu.onCreate();
lu = new LocationUtil(con, hd); // lu = new LocationUtil(con, hd);
lu.onCreate(); // lu.onCreate();
} }
}); });
hyr = new HuoYuanRequset(con, hd); hyr = new HuoYuanRequset(con, hd);
@@ -318,6 +344,12 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
path = gia.getFile().getPath(); path = gia.getFile().getPath();
Log.e("图片地址:", path); Log.e("图片地址:", path);
gia.dis(); gia.dis();
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd); ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) { } else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data); List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
@@ -331,6 +363,12 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
path = paths; path = paths;
Log.e("图片地址:", path); Log.e("图片地址:", path);
gia.dis(); gia.dis();
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd); ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} }
} }
@@ -344,6 +382,10 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
// for(int i=0;i<imgIds.size();i++){ // for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+""); // Log.e("--imgIds--",imgIds.get(i)+"");
// } // }
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
switch (index) { switch (index) {
case 0: case 0:
//装货 //装货
@@ -356,10 +398,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--装货信息", gson.toJson(lub)); Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位 if (locationKey) {//高德定位
if (keys) { if (keys) {
if (lu!=null&&lu.getErrorCode()!=161){
ToastUtils.showToast(this,"百度地图定位失败,请确认开启定位后重试!");
return;
}
nfc(); nfc();
loadInfo(); loadInfo();
// up_traffic_start(); // up_traffic_start();
@@ -384,10 +422,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--卸货信息", gson.toJson(lub)); Log.e("--卸货信息", gson.toJson(lub));
if (locationKey) { if (locationKey) {
if (keys) { if (keys) {
if (lu!=null&&lu.getErrorCode()!=161){
ToastUtils.showToast(this,"百度地图定位失败,请确认开启定位后重试!");
return;
}
nfc(); nfc();
uploadInfo(); uploadInfo();
@@ -416,10 +450,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--回单信息", gson.toJson(urib)); Log.e("--回单信息", gson.toJson(urib));
if (locationKey) { if (locationKey) {
if (index == 2 && keys) { if (index == 2 && keys) {
if (lu!=null&&lu.getErrorCode()!=161){
ToastUtils.showToast(this,"百度地图定位失败,请确认开启定位后重试!");
return;
}
up_trafficSign(); up_trafficSign();
up_trafficReceipt(); up_trafficReceipt();
receipt_image(); receipt_image();
@@ -439,34 +469,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
private StartOrderBean sob; private StartOrderBean sob;
//上传安联和交通厅-装货
public void up_traffic_start() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(lu.getLongitude());
l.setBaiduLatitude(lu.getLatitude());
l.setLocation(lu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
}
public void nfc() { public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){ // if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show(); // Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
@@ -488,41 +490,13 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
}); });
} }
//上传安联和交通厅-卸货
public void up_traffic_end() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(lu.getLongitude());
l.setBaiduLatitude(lu.getLatitude());
l.setLocation(lu.getAddress());
l.setTime(Timer.getTimerT());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
}
});
}
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
}
//上传安联-签收 //上传安联-签收
public void up_trafficSign() { public void up_trafficSign() {
//安联 //安联
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(latLng.latitude);
l.setLocation(lu.getAddress()); l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(Timer.getTimerT());
List<Goods> gs = new ArrayList<>(); List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) { for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
@@ -560,9 +534,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
public void up_trafficReceipt() { public void up_trafficReceipt() {
//安联 //安联
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(latLng.latitude);
l.setLocation(lu.getAddress()); l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@@ -588,14 +562,20 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(lu.getLongitude()); image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(lu.getLatitude()); image.setBaiduLatitude(latLng.latitude);
image.setLocation(lu.getAddress()); image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "装货照片上传成功"); Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
} }
@Override @Override
@@ -618,19 +598,28 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(lu.getLongitude()); image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(lu.getLatitude()); image.setBaiduLatitude(latLng.latitude);
image.setLocation(lu.getAddress()); image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "卸货照片上传成功"); Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1); Log.e("上报安联失败(卸货照片):", s + s1);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber()); // SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image)); // SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class); // Intent serviceIn=new Intent(con, MakeUpAlService.class);
@@ -649,14 +638,21 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(lu.getLongitude()); image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(lu.getLatitude()); image.setBaiduLatitude(latLng.latitude);
image.setLocation(lu.getAddress()); image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
SPUtils.remove(con,"curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "回单照片上传成功"); Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
} }
@Override @Override
@@ -700,6 +696,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("nfc", nfcStr); Log.e("nfc", nfcStr);
} }
/** /**
* 上传安联和交通厅,平台-装货 * 上传安联和交通厅,平台-装货
*/ */
@@ -707,9 +704,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
//安联 //安联
if (sob.getData().getReportAlct() == 1) { if (sob.getData().getReportAlct() == 1) {
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(latLng.latitude);
l.setLocation(lu.getAddress()); l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override @Override
@@ -719,15 +716,18 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (sob.getData().getReport() == 1) { if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, ""); JTTProcess.start(con, sob, "");
} }
//装货照片
up_image_z();
//装货状态 //装货状态
hyr.loading(lub); hyr.loading(lub);
//装货照片
up_image_z();
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1); Log.e("上报安联失败(装货):", s + s1);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, s1); new MessageUtils().showCenMessage(con, s1);
} }
}); });
@@ -743,9 +743,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
//安联 //安联
if (sob.getData().getReportAlct() == 1) { if (sob.getData().getReportAlct() == 1) {
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(latLng.latitude);
l.setLocation(lu.getAddress()); l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(Timer.getTimerT());
Log.e("-安联卸货信息-", gson.toJson(l)); Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@@ -756,15 +756,18 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (sob.getData().getReport() == 1) { if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, ""); JTTProcess.stop(con, sob, "");
} }
//卸货照片-安联
up_image();
//卸货状态-平台 //卸货状态-平台
hyr.dischargeCargo(lub); hyr.dischargeCargo(lub);
//卸货照片-安联
up_image();
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1); Log.e("上报安联失败(卸货):", s + s1);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, s1); new MessageUtils().showCenMessage(con, s1);
} }
}); });
@@ -0,0 +1,889 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeAddress;
import com.amap.api.services.geocoder.GeocodeQuery;
import com.amap.api.services.geocoder.GeocodeResult;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.geocoder.RegeocodeResult;
import com.amap.api.services.help.Inputtips;
import com.amap.api.services.help.InputtipsQuery;
import com.amap.api.services.help.Tip;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.DatimePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.github.gzuliyujiang.wheelpicker.annotation.TimeMode;
import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
import com.github.gzuliyujiang.wheelpicker.contract.OnDatimePickedListener;
import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
import com.github.gzuliyujiang.wheelpicker.entity.DatimeEntity;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements Inputtips.InputtipsListener {
private TextView submit, name_top, name_body, address, tips, tips_x,tvDate,tvLocation;
private RelativeLayout getImg;
private EditText etAddress;
private Button btnOk;
private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
//
private Gson gson = new Gson();
//
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
private String selDate;
private GeocodeSearch geocoderSearch;
private TempLoca tempLoca = new TempLoca();
private TempLoca tempLocaBd = new TempLoca();
@Override
public void onGetInputtips(List<Tip> tipList, int rCode) {
if (rCode == AMapException.CODE_AMAP_SUCCESS) {
List<String> names = new ArrayList<String>();
if(tipList != null) {
int size = tipList.size();
for (int i = 0; i < size; i++) {
Tip tip = tipList.get(i);
if(tip != null) {
names.add(tip.getDistrict()+tip.getName());
}
}
new XPopup.Builder(this)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.hasShadowBg(false) // 去掉半透明背景
.atView(etAddress)
.asAttachList(names.toArray(new String[0]), new int[]{}, new OnSelectListener() {
@Override
public void onSelect(int position, String text) {
Tip tip = tipList.get(position);
etAddress.setText(tip.getDistrict()+tip.getAddress()+tip.getName());
LatLonPoint latLonPoint = tip.getPoint();
tempLoca.setAddress(etAddress.getText().toString());
tempLoca.setLatitude(latLonPoint.getLatitude());
tempLoca.setLongitude(latLonPoint.getLongitude());
tempLoca.setTime(tvDate.getText().toString());
LatLng latLng = convertGPSToBaidu(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()));
tempLocaBd.setLongitude(latLng.longitude);
tempLocaBd.setLatitude(latLng.latitude);
tempLocaBd.setAddress(etAddress.getText().toString());
tempLocaBd.setTime(tvDate.getText().toString());
}
})
.show();
// SimpleAdapter aAdapter = new SimpleAdapter(getApplicationContext(), listString, R.layout.item_layout,
// new String[]{"name", "address"}, new int[]{R.id.poi_field_id, R.id.poi_value_id});
//
// minputlist.setAdapter(aAdapter);
// aAdapter.notifyDataSetChanged();
}
} else {
}
}
class TempLoca{
private double latitude;
private double longitude;
private String address;
private String time;
public TempLoca() {
}
public TempLoca(double latitude, double longitude, String address, String time) {
this.latitude = latitude;
this.longitude = longitude;
this.address = address;
this.time = time;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
key = false;
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
}
}
if (CacheGroup.cacheList.get("carName") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("carName"), BaseBean.class);
if (bb.getCode() == 200) {
}
CacheGroup.cacheList.remove("carName");
}
if (CacheGroup.cacheList.get("carNum") != null) {
Log.e("upload", CacheGroup.cacheList.get("carNum"));
CarInfoBean ub = gson.fromJson(CacheGroup.cacheList.remove("carNum"), CarInfoBean.class);
if (ub.getCode() == 200 && ub.getData().getData().getPrism_keyValueInfo().size() > 0) {
String value = ub.getData().getData().getPrism_keyValueInfo().get(0).getValue();
String forceMatching = ub.getData().getForceMatching();
if ("1".equals(forceMatching)) {//是否强校验车牌号 1:强校验
if (sob.getData().getCarNumber().equals(value)) {
hyr.uploadFile(new File(path));
} else {
new MessageUtils().showCenMessage(ShangChuangImgActivityBC.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (index == 0) {//装卸货车辆需要识别车牌号){
Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
} else if (index == 1) {
Toast.makeText(con, "卸货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
}
}
CacheGroup.cacheList.remove("carNum");
}
break;
case 14://定位成功
locationKey = true;
customDialog.dismiss();
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation();
break;
case 16://定位失败
locationKey = false;
customDialog.dismiss();
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
case 15:
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
}
break;
default:
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid;
private int h_type;
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan_bc);
con = this;
submit = findViewById(R.id.submit);
name_top = findViewById(R.id.name_top);
name_body = findViewById(R.id.name_body);
address = findViewById(R.id.address);
getImg = findViewById(R.id.getImg);
res_img = findViewById(R.id.res_img);
img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction);
btnOk = findViewById(R.id.btnOk);
etAddress = findViewById(R.id.etAddress);
tvDate = findViewById(R.id.tvDate);
tvLocation = findViewById(R.id.tvLocation);
tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
tv_loaction.setOnClickListener(v -> {
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
}
});
btnOk.setOnClickListener(v -> {
String s = etAddress.getText().toString();
if (TextUtils.isEmpty(selDate)){
ToastUtils.showToast(this,"请先选择时间");
return;
}
if (!TextUtils.isEmpty(s)&&s.length()>=4){
InputtipsQuery inputquery = new InputtipsQuery(s, "");
// inputquery.setCityLimit(true);
Inputtips inputTips = new Inputtips(this, inputquery);
inputTips.setInputtipsListener(this);
inputTips.requestInputtipsAsyn();
// GeocodeQuery query = new GeocodeQuery(s, "100000");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode
// geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求
}else{
ToastUtils.showToast(this,"请输入地址且长度大于4");
}
});
tvDate.setOnClickListener(v -> {
DatimePicker datimePicker = new DatimePicker(this);
datimePicker.setBodyWidth(300);
datimePicker.getWheelLayout().setRange(DatimeEntity.yearOnFuture(-1),DatimeEntity.yearOnFuture(10),DatimeEntity.now());
datimePicker.setOnDatimePickedListener((year, month, day, hour, minute, second) -> {
selDate = year+"-"+month+"-"+day+" "+ hour+":"+minute;
tvDate.setText(selDate);
});
datimePicker.getWheelLayout().setDateLabel("", "", "");
datimePicker.getWheelLayout().setTimeLabel("","","");
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND);
datimePicker.show();
});
hyr = new HuoYuanRequset(con, hd);
}
public void initData() {
//nfc初始化设置
NfcUtils nfcUtils = new NfcUtils(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传" + names[index] + "照片");
name_body.setText(names[index] + "照片");
if (index == 1) {
tips.setVisibility(View.VISIBLE);
tips_x.setVisibility(View.VISIBLE);
}
submit.setOnClickListener(v -> {
if (imgIds.size() != 0) {
typeRequest();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, true);
} else {
new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con, "查看了照片", Toast.LENGTH_SHORT).show();
}
});
img_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key = true;
}
});
}
String path;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
if (null == gia.getFile()) {
new ToastUtil(con, Gravity.CENTER, "图片选择失败").show(Toast.LENGTH_SHORT);
return;
}
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
if (imgs != null && imgs.size() > 0) {
LocalMedia image = imgs.get(0);
String paths = image.getAndroidQToPath();
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 1:
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
lub.setRealLoadTime(tempLoca.getTime());
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey&&!TextUtils.isEmpty(tempLoca.address)) {
if (keys) {
nfc();
uploadInfo();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) {
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
hyr.receipt(urib);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
private StartOrderBean sob;
public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
// }
if ("".equals(sob.getData().getNfcId()) || sob.getData().getNfcId() == null) {
return;
}
MDPLocationCollectionManager.checkNfc(con, sob.getData().getShippingNoteNumber(),
sob.getData().getNfcId(), new OnResultListener() {
@Override
public void onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
//实收
g.setQuantity(1);
//应收
g.setReceivedQuantity(1);
//破损
g.setDamageQuantity(1);
//丢失
g.setQuantity(1);
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):", s + s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void up_image() {
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void receipt_image() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):", s + s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class);
//// startService(serviceIn);
}
});
}
@Override
protected void onResume() {
super.onResume();
//开启前台调度系统
//NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}
@Override
protected void onPause() {
super.onPause();
//关闭前台调度系统
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//当该Activity接收到NFC标签时,运行该方法
//调用工具方法,读取NFC数据
try {
nfcStr = NfcUtils.readNFCId(intent);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
//装货状态
hyr.loading(lub);
//装货照片
up_image_z();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo4(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
// new MessageUtils().showCenMessage(con, s1);
//运单状态不一致,平台更新状态
hyr.dischargeCargo4(lub);
}
});
}
}
}
@@ -1,8 +1,14 @@
package com.arpa.hndahesudintocctmsdriver.ui.login; package com.arpa.hndahesudintocctmsdriver.ui.login;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
import android.text.TextPaint; import android.text.TextPaint;
import android.text.method.LinkMovementMethod; import android.text.method.LinkMovementMethod;
@@ -10,6 +16,8 @@ import android.text.style.ClickableSpan;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.TextView; import android.widget.TextView;
@@ -18,6 +26,7 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView; import androidx.cardview.widget.CardView;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.request.net.BaseObserver; import com.arpa.hndahesudintocctmsdriver.request.net.BaseObserver;
import com.arpa.hndahesudintocctmsdriver.request.net.DataManager; import com.arpa.hndahesudintocctmsdriver.request.net.DataManager;
@@ -38,6 +47,7 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StatusBarUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StatusBarUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import java.util.Locale;
import java.util.TimerTask; import java.util.TimerTask;
import cn.jiguang.verifysdk.api.AuthPageEventListener; import cn.jiguang.verifysdk.api.AuthPageEventListener;
@@ -64,8 +74,7 @@ public class LoginActivity extends BaseActivity {
private LoginBean loginBean; private LoginBean loginBean;
private TimerTask tt; private TimerTask tt;
private int timer_sum = 60; private int timer_sum = 60;
private ImageButton agree_btn; private CheckBox cb;
private CardView no_btn;
private UserRequset ur; private UserRequset ur;
@Override @Override
@@ -88,15 +97,22 @@ public class LoginActivity extends BaseActivity {
//存储登录记录 //存储登录记录
loginBean = new Gson().fromJson(CacheGroup.cacheList.get(LOGIN_RESULT), LoginBean.class); loginBean = new Gson().fromJson(CacheGroup.cacheList.get(LOGIN_RESULT), LoginBean.class);
Log.e("--登录信息--", new Gson().toJson(loginBean)); Log.e("--登录信息--", new Gson().toJson(loginBean));
AppInfoBean appInfoBean = new AppInfoBean();
if (loginBean.getCode() == 200) { if (loginBean.getCode() == 200) {
SPUtil.insSP(con, USER, USER_TOKEN, loginBean.getData().getToken()); SPUtil.insSP(con, USER, USER_TOKEN, loginBean.getData().getToken());
SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname()); SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname());
SPUtil.insSP(con, USER, USER_RNAME, loginBean.getData().getRname()); SPUtil.insSP(con, USER, USER_RNAME, loginBean.getData().getRname());
SPUtil.insSP(con, USER, USER_ID, loginBean.getData().getId() + ""); SPUtil.insSP(con, USER, USER_ID, loginBean.getData().getId() + "");
JPushInterface.setAlias(con, 0, loginBean.getData().getUname()); JPushInterface.setAlias(con, 0, loginBean.getData().getUname());
appInfoBean.setStatus("0");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post");
UiAuxiliary.homeRequest("登录成功"); UiAuxiliary.homeRequest("登录成功");
finish(); finish();
} else { } else {
appInfoBean.setStatus("1");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post");
Toast.makeText(con, loginBean.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, loginBean.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(LOGIN_RESULT); CacheGroup.cacheList.remove(LOGIN_RESULT);
@@ -118,8 +134,7 @@ public class LoginActivity extends BaseActivity {
input_phone = findViewById(R.id.input_phone); input_phone = findViewById(R.id.input_phone);
input_code = findViewById(R.id.input_code); input_code = findViewById(R.id.input_code);
getCode = findViewById(R.id.getCode); getCode = findViewById(R.id.getCode);
agree_btn = findViewById(R.id.agree_btn); cb = findViewById(R.id.cb);
no_btn = findViewById(R.id.no_btn);
ur = new UserRequset(con, hd); ur = new UserRequset(con, hd);
initView(null); initView(null);
} }
@@ -132,21 +147,18 @@ public class LoginActivity extends BaseActivity {
@Override @Override
public void initView(Object obj) { public void initView(Object obj) {
super.initView(obj); super.initView(obj);
agree_btn.setOnClickListener(v -> { cb.setOnCheckedChangeListener((buttonView, isChecked) -> {
agree_btn.setVisibility(View.GONE); if (isChecked) {
no_btn.setVisibility(View.VISIBLE);
key = false;
});
no_btn.setOnClickListener(v -> {
agree_btn.setVisibility(View.VISIBLE);
no_btn.setVisibility(View.GONE);
key = true; key = true;
} else {
key = false;
}
}); });
ConfigBean cb = ConfigParts.getConfigParts(con); ConfigBean cb = ConfigParts.getConfigParts(con);
if (cb != null) { if (cb != null) {
url1 = cb.getData().getUserUrl(); url1 = cb.getData().getUserUrl();
url2 = "https://agreement.dahehuoyun.com/huawei/#/private"; url2 = "https://agreement.dahehuoyun.com/currency/#/";
} }
TextView tv_content = findViewById(R.id.tv_content); TextView tv_content = findViewById(R.id.tv_content);
String str = "我已阅读并同意相关服务条款和隐私政策《用户服务协议》和《隐私政策》"; String str = "我已阅读并同意相关服务条款和隐私政策《用户服务协议》和《隐私政策》";
@@ -30,10 +30,12 @@ import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.BuildConfig; import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig; import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset; import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity; import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils; import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup; import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
@@ -138,8 +140,8 @@ public class WelcomeActivity extends BaseAppCompatActivity {
new XPopup.Builder(con) new XPopup.Builder(con)
.dismissOnBackPressed(false) .dismissOnBackPressed(false)
.dismissOnTouchOutside(false) .dismissOnTouchOutside(false)
.asCustom(new AgreementAlert(con, "https://agreement.dahehuoyun.com/huawei/#/private", .asCustom(new AgreementAlert(con, "http://agreement.dahehuoyun.com/currency/#/",
"http://agreement.dahehuoyun.com/#/user", hd)) "http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/", hd))
.show(); .show();
} }
Glide.with(con) Glide.with(con)
@@ -159,6 +161,16 @@ public class WelcomeActivity extends BaseAppCompatActivity {
initRequest(); initRequest();
} }
}, 1000); }, 1000);
AppInfoBean appInfoBean = new AppInfoBean();
if (!UiAuxiliary.isLogin(con)) {
ur.postAppInfo(appInfoBean, "post");
}else{
String sp = SPUtil.getSP(con, LoginActivity.USER, LoginActivity.USER_UNAME);
appInfoBean.setUserPhone(sp);
appInfoBean.setStatus("0");
ur.postAppInfo(appInfoBean, "post");
}
// String[] permissions=new String[]{ // String[] permissions=new String[]{
// Manifest.permission.ACCESS_FINE_LOCATION, // Manifest.permission.ACCESS_FINE_LOCATION,
@@ -18,6 +18,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.RefreshCarListEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts; import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
@@ -170,12 +171,14 @@ public class MyFragment extends BaseFragment {
startActivity(in); startActivity(in);
}); });
break; break;
default:break; default:
break;
} }
}); });
} }
class Model{ } class Model {
}
public void getRequest() { public void getRequest() {
sob = StartOrderParts.getStartOrder(con); sob = StartOrderParts.getStartOrder(con);
@@ -296,6 +299,13 @@ public class MyFragment extends BaseFragment {
ur.vehicleList("1"); ur.vehicleList("1");
} }
} }
@Subscribe
public void refreshCarListEvent(RefreshCarListEvent event) {
Log.e("-msg-", event.getMessage());
ur.vehicleList("1");
}
@Subscribe @Subscribe
public void personResult(PersonEvent home) { public void personResult(PersonEvent home) {
Log.e("-res-", home.getMessage()); Log.e("-res-", home.getMessage());
@@ -35,7 +35,7 @@ public class SetupActivity extends BaseActivity {
String url2=""; String url2="";
String url3=""; String url3="";
String kefu=""; String kefu="";
private RelativeLayout r1,r2,r3,r4,r5,r6,r7; private RelativeLayout r1,r2,r3,r4,r5,r6,r7,r8;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
@@ -73,8 +73,9 @@ public class SetupActivity extends BaseActivity {
ConfigBean cb= ConfigParts.getConfigParts(con); ConfigBean cb= ConfigParts.getConfigParts(con);
if(cb!=null){ if(cb!=null){
// url1=cb.getData().getUserUrl(); // url1=cb.getData().getUserUrl();
url1="https://agreement.dahehuoyun.com/huawei/#/private"; url1="http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/";
url2=cb.getData().getPrivateUrl(); // url2=cb.getData().getPrivateUrl();
url2="http://agreement.dahehuoyun.com/currency/#/";
kefu=cb.getData().getServiceMobile(); kefu=cb.getData().getServiceMobile();
url3=cb.getData().getSecurityUrl(); url3=cb.getData().getSecurityUrl();
} }
@@ -85,6 +86,7 @@ public class SetupActivity extends BaseActivity {
r5=findViewById(R.id.r5); r5=findViewById(R.id.r5);
r6=findViewById(R.id.r6); r6=findViewById(R.id.r6);
r7=findViewById(R.id.r7); r7=findViewById(R.id.r7);
r8=findViewById(R.id.r8);
ur=new UserRequset(con,hd); ur=new UserRequset(con,hd);
initView(null); initView(null);
} }
@@ -118,9 +120,15 @@ public class SetupActivity extends BaseActivity {
in.putExtra("url","https://smlt.esign.cn/hmfbZoeeGQqv"); in.putExtra("url","https://smlt.esign.cn/hmfbZoeeGQqv");
startActivity(in); startActivity(in);
}); });
r8.setOnClickListener(v12 -> {
Intent in=new Intent(con,WebActivity.class);
in.putExtra("title","交易规则");
in.putExtra("url","http://agreement.dahehuoyun.com/rule/transactionRules/dist/index.html#/");
startActivity(in);
});
r6.setOnClickListener(v12 -> { r6.setOnClickListener(v12 -> {
String[] title={"平台客服:"+kefu,"银行客服:95528","技术咨询:13460042961"}; String[] title={"平台客服:"+kefu};
String[] value={kefu,"95528","13460042961"}; String[] value={kefu};
new XPopup.Builder(con) new XPopup.Builder(con)
.isDarkTheme(false) .isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@@ -12,6 +13,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickHelper;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickListener;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
@@ -40,11 +45,11 @@ import java.util.List;
* @date 2021/8/26 19:06 * @date 2021/8/26 19:06
* @description: * @description:
*/ */
public class UpBankActivity extends BaseAppCompatActivity { public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClickListener {
private ImageView up_bank_img; private ImageView up_bank_img;
private EditText bank_name, bank_number; private EditText bank_name, bank_number;
private TextView submit; private TextView submit, skip;
private ImageView return_btn; private ImageView return_btn;
public GetImageAlert gia = new GetImageAlert(); public GetImageAlert gia = new GetImageAlert();
String path; String path;
@@ -59,9 +64,9 @@ public class UpBankActivity extends BaseAppCompatActivity {
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("OCR_BANK") != null) { if (CacheGroup.cacheList.get("OCR_BANK") != null) {
ib = new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"), OCRBankBean.class); ib = new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"), OCRBankBean.class);
customDialog.dismiss();
if (ib.getCode() == 200) { if (ib.getCode() == 200) {
initView(null); initView(null);
customDialog.dismiss();
WalletFragment.isInsBank = true; WalletFragment.isInsBank = true;
} else { } else {
Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show();
@@ -71,6 +76,12 @@ public class UpBankActivity extends BaseAppCompatActivity {
if (CacheGroup.cacheList.get("insBank") != null) { if (CacheGroup.cacheList.get("insBank") != null) {
BaseBean bb = new Gson().fromJson(CacheGroup.cacheList.get("insBank"), BaseBean.class); BaseBean bb = new Gson().fromJson(CacheGroup.cacheList.get("insBank"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
if (type == 1) {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
}
customDialog.dismiss();
Toast.makeText(con, "绑定成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "绑定成功", Toast.LENGTH_SHORT).show();
finish(); finish();
} else { } else {
@@ -90,6 +101,13 @@ public class UpBankActivity extends BaseAppCompatActivity {
private CustomDialog customDialog; private CustomDialog customDialog;
/**
* 1:司机注册自动跳转
* 0:钱包添加银行卡
*/
private int type = 0;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -97,25 +115,31 @@ public class UpBankActivity extends BaseAppCompatActivity {
setContentView(R.layout.activity_bank_auth); setContentView(R.layout.activity_bank_auth);
act = this; act = this;
con = this; con = this;
Bundle extras = getIntent().getExtras();
if (extras != null) {
type = getIntent().getExtras().getInt("type");
}
up_bank_img = findViewById(R.id.up_bank_img); up_bank_img = findViewById(R.id.up_bank_img);
bank_name = findViewById(R.id.bank_name); bank_name = findViewById(R.id.bank_name);
bank_number = findViewById(R.id.bank_number); bank_number = findViewById(R.id.bank_number);
submit = findViewById(R.id.submit); submit = findViewById(R.id.submit);
skip = findViewById(R.id.skip);
return_btn = findViewById(R.id.return_btn); return_btn = findViewById(R.id.return_btn);
qr = new WalletRequest(con, hd); qr = new WalletRequest(con, hd);
up_bank_img.setOnClickListener(v -> { up_bank_img.setOnClickListener(v -> {
gia.showPopueWindow(this); gia.showPopueWindow(this);
}); });
submit.setOnClickListener(v -> { submit.setOnClickListener(new OnLimitClickHelper(this));
if(ib!=null){ skip.setOnClickListener(new OnLimitClickHelper(this));
submit();
}else{
Toast.makeText(con,"请先上传图片",Toast.LENGTH_SHORT).show();
}
});
return_btn.setOnClickListener(v -> { return_btn.setOnClickListener(v -> {
finish(); finish();
}); });
if (type == 1) {
skip.setVisibility(View.VISIBLE);
} else {
skip.setVisibility(View.GONE);
}
} }
@Override @Override
@@ -152,6 +176,8 @@ public class UpBankActivity extends BaseAppCompatActivity {
} }
public void submit() { public void submit() {
customDialog = new CustomDialog(con, "上传中,请稍后...");
customDialog.show();
String bankName = bank_name.getText().toString().trim(); String bankName = bank_name.getText().toString().trim();
String bankNumber = bank_number.getText().toString().trim(); String bankNumber = bank_number.getText().toString().trim();
if ("".equals(bankName) || "".equals(bankNumber)) { if ("".equals(bankName) || "".equals(bankNumber)) {
@@ -168,4 +194,23 @@ public class UpBankActivity extends BaseAppCompatActivity {
qr.insBankCard(ibib); qr.insBankCard(ibib);
} }
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.submit:
if (ib != null) {
submit();
} else {
Toast.makeText(con, "请先上传图片", Toast.LENGTH_SHORT).show();
}
break;
case R.id.skip:
new MessageUtils().showSimCenPop(con, "确定跳过银行卡?,可能会导致运费无法结算!","取消","确认", () -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
});
break;
}
}
} }
@@ -231,6 +231,7 @@ public class WalletFragment extends BaseFragment{
bank_remove.setVisibility(View.VISIBLE); bank_remove.setVisibility(View.VISIBLE);
} else{ } else{
bank_number.setVisibility(View.GONE); bank_number.setVisibility(View.GONE);
bank_title_1.setText("未添加银行卡");
bank_add.setVisibility(View.VISIBLE); bank_add.setVisibility(View.VISIBLE);
bank_remove.setVisibility(View.GONE); bank_remove.setVisibility(View.GONE);
} }
@@ -5,25 +5,36 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.webkit.JavascriptInterface; import android.webkit.JavascriptInterface;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest; import android.webkit.WebResourceRequest;
import android.webkit.WebSettings; import android.webkit.WebSettings;
import android.webkit.WebView; import android.webkit.WebView;
import android.webkit.WebViewClient; import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.ToH5Bean;
import com.arpa.hndahesudintocctmsdriver.bean.UserBean; import com.arpa.hndahesudintocctmsdriver.bean.UserBean;
import com.arpa.hndahesudintocctmsdriver.event.PdfResEvent;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.util.PaxWebChromeClient; import com.arpa.hndahesudintocctmsdriver.util.PaxWebChromeClient;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.google.gson.Gson;
import org.greenrobot.eventbus.EventBus;
import java.io.Serializable;
/** /**
* @author hlh * @author hlh
@@ -35,9 +46,12 @@ public class WebActivity extends BaseActivity {
private String url = ""; private String url = "";
private String title = ""; private String title = "";
private int id = -1;
private WebView wv; private WebView wv;
private TextView title_tv; private TextView title_tv;
private ProgressBar progressBar;
private PaxWebChromeClient chromeClient; private PaxWebChromeClient chromeClient;
private ToH5Bean toH5Bean;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -47,11 +61,15 @@ public class WebActivity extends BaseActivity {
con=this; con=this;
initHardwareAccelerate(); initHardwareAccelerate();
wv = findViewById(R.id.wv); wv = findViewById(R.id.wv);
progressBar = findViewById(R.id.progressBar);
title_tv = findViewById(R.id.title); title_tv = findViewById(R.id.title);
Intent in = getIntent(); Intent in = getIntent();
url = in.getExtras().getString("url"); url = in.getExtras().getString("url");
title = in.getExtras().getString("title"); title = in.getExtras().getString("title");
chromeClient = new PaxWebChromeClient(this,null,null); toH5Bean = (ToH5Bean)in.getSerializableExtra("ToH5Bean");
String carNumber = toH5Bean.getCarNumber();
id = in.getExtras().getInt("id");
chromeClient = new PaxWebChromeClient(this,progressBar,null);
if ("咨询建议".equals(title)) { if ("咨询建议".equals(title)) {
initOpinion(); initOpinion();
} else { } else {
@@ -81,6 +99,11 @@ public class WebActivity extends BaseActivity {
webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true); webSettings.setDomStorageEnabled(true);
webSettings.setDefaultTextEncodingName("utf-8"); webSettings.setDefaultTextEncodingName("utf-8");
// 特别注意:5.1以上默认禁止了https和http混用,以下方式是开启
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
wv.addJavascriptInterface(new JavaScriptObject(con), "webObj"); wv.addJavascriptInterface(new JavaScriptObject(con), "webObj");
//PaxWebChromeClient chromeClient=new PaxWebChromeClient(); //PaxWebChromeClient chromeClient=new PaxWebChromeClient();
//WebView加载web资源 //WebView加载web资源
@@ -111,6 +134,12 @@ public class WebActivity extends BaseActivity {
wv.loadUrl(url); wv.loadUrl(url);
return true; return true;
} }
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
}
}); });
wv.setWebChromeClient(chromeClient); wv.setWebChromeClient(chromeClient);
wv.loadUrl(url); wv.loadUrl(url);
@@ -149,6 +178,12 @@ public class WebActivity extends BaseActivity {
view.loadUrl(url); view.loadUrl(url);
return true; return true;
} }
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
}
}); });
} }
@@ -183,15 +218,39 @@ public class WebActivity extends BaseActivity {
@JavascriptInterface @JavascriptInterface
public String getUserToken(){ public String getUserToken(){
Log.e("-token-",UserParts.getUser(con).getData().getToken()); // Log.e("-token-",UserParts.getUser(con).getData().getToken());
// return "woshitoken-androidfasdf";
return UserParts.getUser(con).getData().getToken(); return UserParts.getUser(con).getData().getToken();
} }
@JavascriptInterface
public int getOrderId(){
return id;
}
@JavascriptInterface
public String getOrderinfo(){
return new Gson().toJson(toH5Bean);
}
@JavascriptInterface @JavascriptInterface
public void isSuccess(){ public void isSuccess(){
finish(); finish();
} }
@JavascriptInterface
public void isPdfSuccess(String pdfUrl){
// Toast.makeText(con, "签署成功", Toast.LENGTH_SHORT).show();
// EventBus.getDefault().post(new PdfResEvent(pdfUrl));
Intent intent = new Intent();
intent.putExtra("pdfUrl",pdfUrl);
setResult(RESULT_OK,intent);
finish();
}
@JavascriptInterface
public void isFail(){
finish();
}
} }
@@ -27,7 +27,8 @@ class MessageUtils {
XPopup.Builder(ctx) // XPopup.Builder(ctx) //
.hasNavigationBar(false) .hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(MessagePop(ctx, message).setOnMyItemClickListener(object : MessagePop.OnMyItemClickListener{ .asCustom(MessagePop(ctx, message).setOnMyItemClickListener(object :
MessagePop.OnMyItemClickListener {
override fun onItemClick(startTime: String, endTime: String) { override fun onItemClick(startTime: String, endTime: String) {
} }
})) }))
@@ -38,14 +39,19 @@ class MessageUtils {
XPopup.Builder(ctx) // XPopup.Builder(ctx) //
.hasNavigationBar(false) .hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(MessagePop(ctx, message,message2).setOnMyItemClickListener(object : MessagePop.OnMyItemClickListener{ .asCustom(MessagePop(ctx, message, message2).setOnMyItemClickListener(object :
MessagePop.OnMyItemClickListener {
override fun onItemClick(startTime: String, endTime: String) { override fun onItemClick(startTime: String, endTime: String) {
} }
})) }))
.show() .show()
} }
fun showSimCenPop(ctx: Context, message: String,onMyItemClickListener: SimCenterPop.OnMyItemClickListener){ fun showSimCenPop(
ctx: Context,
message: String,
onMyItemClickListener: SimCenterPop.OnMyItemClickListener
) {
// XPopup.Builder(ctx) // // XPopup.Builder(ctx) //
// .hasNavigationBar(false) // .hasNavigationBar(false)
@@ -67,4 +73,32 @@ class MessageUtils {
} }
fun showSimCenPop(
ctx: Context,
message: String,
left: String,
right: String,
onMyItemClickListener: SimCenterPop.OnMyItemClickListener
) {
// XPopup.Builder(ctx) //
// .hasNavigationBar(false)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
// .asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(object : SimCenterPop.OnMyItemClickListener{
// override fun onItemClick() {
// val intent = Intent(ctx, CertificatesActivity::class.java)
// intent.putExtra("index", type)
// ctx.startActivity(intent)
// }
// }))
// .show()
XPopup.Builder(ctx) //
.hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(SimCenterPop(ctx, message,left,right).setOnMyItemClickListener(onMyItemClickListener))
.show()
}
} }
@@ -5,6 +5,7 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.view.View;
import android.webkit.PermissionRequest; import android.webkit.PermissionRequest;
import android.webkit.ValueCallback; import android.webkit.ValueCallback;
import android.webkit.WebChromeClient; import android.webkit.WebChromeClient;
@@ -38,12 +39,12 @@ public class PaxWebChromeClient extends WebChromeClient {
@Override @Override
public void onProgressChanged(WebView view, int newProgress) { public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) { if (newProgress == 100) {
//bar.setVisibility(View.INVISIBLE); bar.setVisibility(View.INVISIBLE);
} else { } else {
// if (View.INVISIBLE == bar.getVisibility()) { if (View.INVISIBLE == bar.getVisibility()) {
// bar.setVisibility(View.VISIBLE); bar.setVisibility(View.VISIBLE);
// } }
// bar.setProgress(newProgress); bar.setProgress(newProgress);
} }
super.onProgressChanged(view, newProgress); super.onProgressChanged(view, newProgress);
} }
@@ -51,6 +51,9 @@ public class AdapterAlls extends RecyclerView.Adapter<AdapterAlls.ViewHolder> {
} }
public void add(List<ManyBean> addMessageList) { public void add(List<ManyBean> addMessageList) {
if (object==null){
return;
}
//增加数据 //增加数据
int position = object.size(); int position = object.size();
object.addAll(position, addMessageList); object.addAll(position, addMessageList);
@@ -3,6 +3,7 @@ package com.arpa.hndahesudintocctmsdriver.util.http;
import android.content.Context; import android.content.Context;
import com.arpa.hndahesudintocctmsdriver.util.app.VersionUtil; import com.arpa.hndahesudintocctmsdriver.util.app.VersionUtil;
import com.dahe.mylibrary.utils.AppUtils;
import java.io.File; import java.io.File;
@@ -41,6 +42,7 @@ public class OkHttpUtil {
.post(body) .post(body)
.headers(hb.build()) .headers(hb.build())
.addHeader("Version", VersionUtil.getVersion(con)) .addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign) //.addHeader("sign",sign)
.removeHeader("User-Agent") .removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con)) .addHeader("User-Agent",GetUtil.getUserAgent(con))
@@ -71,6 +73,40 @@ public class OkHttpUtil {
.addHeader("Authorization", token) .addHeader("Authorization", token)
.addHeader("Content-Type", "application/json") .addHeader("Content-Type", "application/json")
.addHeader("Version", VersionUtil.getVersion(con)) .addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
.build();
return request;
}
public static Request put(OkDate od, Context con){
MediaType mediaType = MediaType.parse("application/json");
if(od.getMadiaType()!=null && od.getMadiaType().equals("")){
od.setMadiaType("{}");
}
// JSONObject jsonObject = JSON.parseObject(od.getMadiaType());
// jsonObject.put("timestamp", DateUtil.current());
// jsonObject.put("deviceId", GetUtil.getDeviceId(con));
// String sign = SecureUtil.signParamsSha1(jsonObject,SIGN_PASSWORD);
// Log.e("jsonObject",jsonObject.toString());
// Log.e("sign",sign);
// Map<String,Object> map=new HashMap<>();
// map.put("data",SecurityUtil.encrypt(jsonObject.toString()));
// Log.e("参数1",od.getMadiaType());
// Log.e("参数2",MapUtil.mapJson(map));
//MapUtil.mapJson(map)
RequestBody body = RequestBody.create(mediaType,od.getMadiaType());
Headers.Builder hb=new Headers.Builder();
hb.add("Content-Type","application/json");
hb.add("Cache-Control","no-cache");
Request request = new Request.Builder()
.url(od.getUrl())
.put(body)
.headers(hb.build())
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign) //.addHeader("sign",sign)
.removeHeader("User-Agent") .removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con)) .addHeader("User-Agent",GetUtil.getUserAgent(con))
@@ -86,6 +122,7 @@ public class OkHttpUtil {
.url(od.getUrl()) .url(od.getUrl())
.get() .get()
.headers(hb.build()) .headers(hb.build())
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.build(); .build();
return request; return request;
} }
@@ -99,6 +136,7 @@ public class OkHttpUtil {
Request request = new Request.Builder() Request request = new Request.Builder()
.url(od.getUrl()) .url(od.getUrl())
.addHeader("Authorization", token) .addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.get() .get()
.headers(hb.build()) .headers(hb.build())
.build(); .build();
@@ -129,6 +167,7 @@ public class OkHttpUtil {
.url(od.getUrl()) .url(od.getUrl())
.method("POST", body) .method("POST", body)
.addHeader("Authorization", token) .addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz") .addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build(); .build();
return request; return request;
@@ -145,23 +184,26 @@ public class OkHttpUtil {
.url(od.getUrl()) .url(od.getUrl())
.method("POST", body) .method("POST", body)
.addHeader("Authorization", token) .addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz") .addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build(); .build();
return request; return request;
} }
public static Request postFiles(OkDate od,File file,String token,String carId,String carNum) { public static Request postFiles(OkDate od,File file,String token,String carId,String carNum,boolean isSave) {
MediaType mediaType = MediaType.parse("text/plain"); MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder() RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM) .setType(MultipartBody.FORM)
.addFormDataPart("file",file.getPath(),RequestBody.create(MediaType.parse("application/octet-stream"), file)) .addFormDataPart("file",file.getPath(),RequestBody.create(MediaType.parse("application/octet-stream"), file))
.addFormDataPart("carId",carId) .addFormDataPart("carId",carId)
.addFormDataPart("carNum",carNum) .addFormDataPart("carNum",carNum)
.addFormDataPart("isSave",isSave?"0":"1")
.build(); .build();
Request request = new Request.Builder() Request request = new Request.Builder()
.url(od.getUrl()) .url(od.getUrl())
.method("POST", body) .method("POST", body)
.addHeader("Authorization", token) .addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz") .addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build(); .build();
return request; return request;
@@ -70,13 +70,27 @@ public class GetCarImageAlert {
.permissions(Manifest.permission.CAMERA) .permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
file=ImageGetUtil.createImageFile(act); openCam(act);
ImageGetUtil.cameraAlbumGetImage(act,file); // file=ImageGetUtil.createImageFile(act);
// ImageGetUtil.cameraAlbumGetImage(act,file);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
} }
}); });
}); });
img.setOnClickListener(v -> {
if (!key){
PermissionX.init(act)
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
openCam(act);
} else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}
});
}
});
btn_quxiao.setOnClickListener(v -> popupWindow.dismiss()); btn_quxiao.setOnClickListener(v -> popupWindow.dismiss());
//popupWindow消失屏幕变为不透明 //popupWindow消失屏幕变为不透明
popupWindow.setOnDismissListener(() -> { popupWindow.setOnDismissListener(() -> {
@@ -99,4 +113,13 @@ public class GetCarImageAlert {
popupWindow.dismiss(); popupWindow.dismiss();
} }
private void openCam(AppCompatActivity act){
file=ImageGetUtil.createImageFile(act);
if (file!=null){
ImageGetUtil.cameraAlbumGetImage(act,file);
}else{
Toast.makeText(act.getBaseContext(), "路径创建失败,请清除缓存后重试", Toast.LENGTH_LONG).show();
}
}
} }
@@ -9,6 +9,8 @@ import android.provider.MediaStore;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import com.dahe.mylibrary.utils.AppUtils;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@@ -39,7 +41,7 @@ public class ImageGetUtil {
if(imageFile!=null){ if(imageFile!=null){
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){ if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){
/*7.0以上要通过FileProvider将File转化为Uri*/ /*7.0以上要通过FileProvider将File转化为Uri*/
uri = FileProvider.getUriForFile(act.getApplicationContext(),"com.arpa.hndahesudintocctmsdriver.fileprovider",imageFile); uri = FileProvider.getUriForFile(act.getApplicationContext(), AppUtils.getAppPackageName()+".fileprovider",imageFile);
}else { }else {
/*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/ /*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/
uri = Uri.fromFile(imageFile); uri = Uri.fromFile(imageFile);
@@ -0,0 +1,101 @@
package com.arpa.hndahesudintocctmsdriver.util.location;
import static com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil.RES;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson;
import java.util.List;
import java.util.Locale;
/**
* @ClassName LocationManagerUtil
* @Author john
* @Date 2024/7/25 15:21
* @Description LocationManager本地定位
*/
public class LocationManagerUtil {
public static LocationManagerUtil mInstance = null;
public static LocationManagerUtil getInstance() {
if (null == mInstance) {
synchronized (LocationManagerUtil.class) {
if (null == mInstance) {
mInstance = new LocationManagerUtil();
}
}
}
return mInstance;
}
private LocationManagerUtil() {
}
public void getLocation(Context ctx, Handler hd) {
LocationManager locationManager = (LocationManager) ctx.getSystemService(Context.LOCATION_SERVICE);
//创建定位条件器
Criteria criteria = new Criteria();
//设置精度,Criteria.ACCURACY_FINE表示精确,Criteria.ACCURACY_COARSE表示粗略
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否需要海拔信息
criteria.setAltitudeRequired(true);
//设置是否需要方位信息
criteria.setBearingRequired(true);
//设置是否允许运营商扣费
criteria.setCostAllowed(true);
//设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
String bestProvider = locationManager.getBestProvider(criteria, true);
if (bestProvider != null) {
if (ActivityCompat.checkSelfPermission(ctx, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(ctx, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ToastUtils.showToast(ctx, "请查看定位权限");
return;
}
locationManager.requestLocationUpdates(bestProvider, 300, 0, new LocationListener() {
@Override
public void onLocationChanged(@NonNull Location location) {
try {
Geocoder geocoder = new Geocoder(ctx, Locale.getDefault());
List<Address> fromLocation = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
if (fromLocation != null && !fromLocation.isEmpty()) {
Address address = fromLocation.get(0);
String addressLine = address.getAddressLine(0);
String adminArea = address.getAdminArea();//省
String locality = address.getLocality();//市
String subLocality = address.getSubLocality();//县
String featureName = address.getFeatureName();//详细地址
CacheGroup.cacheList.put("getLocation", new Gson().toJson(address));
MsgUtil.addHdMsgWat(hd, RES);
locationManager.removeUpdates(this);
}
} catch (Exception e) {
}
}
});
} else {
ToastUtils.showToast(ctx, "定位失败,请查看定位权限");
}
}
}
@@ -0,0 +1,38 @@
package com.arpa.hndahesudintocctmsdriver.weight;
import android.view.View;
import android.widget.Toast;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import java.util.Calendar;
/**
* @ClassName OnLimitClickHelper
* @Author john
* @Date 2024/4/22 14:28
* @Description TODO
*/
public class OnLimitClickHelper implements View.OnClickListener {
public static final int LIMIT_TIME = 2000;
private long lastClickTime = 0;
private OnLimitClickListener onLimitClickListener = null;
public OnLimitClickHelper(OnLimitClickListener onLimitClickListener){
this.onLimitClickListener = onLimitClickListener;
}
@Override
public void onClick(View v) {
long curTime = Calendar.getInstance().getTimeInMillis();
if (curTime - lastClickTime > LIMIT_TIME) {
lastClickTime = curTime;
if(onLimitClickListener != null){
onLimitClickListener.onClick(v);
}
}else{
ToastUtils.showToast(v.getContext(),"点击速度过快,请稍后重试");
}
}
}
@@ -0,0 +1,17 @@
package com.arpa.hndahesudintocctmsdriver.weight;
import android.view.View;
/**
* @ClassName OnLimitClickListener
* @Author john
* @Date 2024/4/22 14:28
* @Description TODO
*/
public interface OnLimitClickListener {
/**
* 按钮点击事件
* @param view
*/
void onClick(View view);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_eye_open" android:state_checked="true"></item>
<item android:drawable="@drawable/icon_eye_close" android:state_checked="false"></item>
<item android:drawable="@drawable/icon_eye_close"></item>
</selector>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/read_select" android:state_checked="true"></item>
<item android:drawable="@drawable/read_nor" android:state_checked="false"></item>
<item android:drawable="@drawable/read_nor"></item>
</selector>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/red" />
<corners
android:radius="@dimen/dp_14" />
</shape>
@@ -55,11 +55,11 @@
android:layout_width="@dimen/dp_90" android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90" android:layout_height="@dimen/dp_90"
android:background="#EEEEEE"> android:background="#EEEEEE">
<ImageView <ImageView
android:layout_width="@dimen/dp_23" android:layout_width="@dimen/dp_23"
android:layout_height="@dimen/dp_23" android:layout_height="@dimen/dp_23"
android:layout_centerVertical="true" android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/up_img" /> android:src="@mipmap/up_img" />
</RelativeLayout> </RelativeLayout>
@@ -118,6 +118,7 @@
android:background="@drawable/bg_bai" android:background="@drawable/bg_bai"
android:elevation="@dimen/dp_1"> android:elevation="@dimen/dp_1">
<RelativeLayout <RelativeLayout
android:visibility="gone"
android:id="@+id/cow1" android:id="@+id/cow1"
android:layout_marginBottom="@dimen/dp_10" android:layout_marginBottom="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -130,28 +131,28 @@
android:textColor="#ffc4c4ce" android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
/> />
<EditText <EditText
android:id="@+id/value1" android:id="@+id/value1"
android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff999999" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="点击进行手动输入"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:gravity="right"
android:background="@null" android:background="@null"
/> android:ellipsize="end"
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout> </RelativeLayout>
<View <View
android:visibility="gone"
android:id="@+id/vs" android:id="@+id/vs"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/> android:background="@drawable/bottom_xu"/>
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
@@ -162,20 +163,20 @@
android:textColor="#ffc4c4ce" android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
/> />
<TextView <TextView
android:id="@+id/value2" android:id="@+id/value2"
android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff999999" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="点击进行手动输入"
android:ellipsize="end"
android:gravity="right"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:background="@null" android:background="@null"
/> android:ellipsize="end"
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
<TextView <TextView
+130 -72
View File
@@ -5,34 +5,50 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_theme" android:background="@drawable/bg_theme"
android:id="@+id/activity_bank_auth"> android:id="@+id/activity_bank_auth">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_58"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_58">
<ImageView <ImageView
android:id="@+id/return_btn" android:id="@+id/return_btn"
android:layout_marginLeft="@dimen/dp_20"
android:layout_width="@dimen/dp_40" android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_31" android:layout_height="@dimen/dp_31"
android:src="@mipmap/return_lefts" android:layout_marginLeft="@dimen/dp_20"
android:padding="@dimen/dp_10" android:padding="@dimen/dp_10"
android:scaleType="fitXY"/> android:scaleType="fitXY"
<TextView android:src="@mipmap/return_lefts" />
android:layout_marginTop="@dimen/dp_10"
android:id="@+id/submit" <!-- <TextView-->
android:layout_marginRight="@dimen/dp_30" <!-- android:id="@+id/skip"-->
android:layout_alignParentRight="true" <!-- android:layout_width="wrap_content"-->
android:layout_width="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_marginTop="@dimen/dp_10"-->
android:text="提交" <!-- android:layout_marginRight="@dimen/dp_30"-->
android:textColor="@color/theme_color" <!-- android:layout_toLeftOf="@+id/submit"-->
android:textSize="@dimen/sp_15" <!-- android:text="跳过"-->
/> <!-- android:textColor="@color/theme_color"-->
<!-- android:textSize="@dimen/sp_15"-->
<!-- android:visibility="gone" />-->
<!-- <TextView-->
<!-- android:id="@+id/submit"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentRight="true"-->
<!-- android:layout_marginTop="@dimen/dp_10"-->
<!-- android:layout_marginRight="@dimen/dp_30"-->
<!-- android:text="提交"-->
<!-- android:textColor="@color/theme_color"-->
<!-- android:textSize="@dimen/sp_15" />-->
</RelativeLayout> </RelativeLayout>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -41,47 +57,52 @@
android:text="银行卡信息" android:text="银行卡信息"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_23" /> android:textSize="@dimen/sp_23" />
<TextView <TextView
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/red" android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:text="*注意: 请添加本人银行卡, 否则无法提现成功" android:text="*注意: 请添加本人银行卡, 否则无法提现成功"
></TextView> android:textColor="@color/red"></TextView>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:layout_marginTop="@dimen/dp_20"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_163" android:layout_height="@dimen/dp_163"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_38"
app:cardCornerRadius="@dimen/dp_10"> app:cardCornerRadius="@dimen/dp_10">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<ImageView <ImageView
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:id="@+id/up_bank_img" android:id="@+id/up_bank_img"
android:src="@mipmap/bank_img"
android:layout_width="@dimen/dp_249" android:layout_width="@dimen/dp_249"
android:layout_height="@dimen/dp_138" android:layout_height="@dimen/dp_138"
android:scaleType="fitXY"/> android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:scaleType="fitXY"
android:src="@mipmap/bank_img" />
<TextView <TextView
android:layout_marginBottom="@dimen/dp_21"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="点击上传银行卡正面照" android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"/> android:layout_marginBottom="@dimen/dp_21"
android:text="点击上传银行卡正面照" />
</RelativeLayout> </RelativeLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_15"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/zj_name2" android:id="@+id/zj_name2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -92,85 +113,122 @@
android:textColor="#ffc4c4ce" android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_13" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38" android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_38" android:layout_marginRight="@dimen/dp_38"
android:padding="@dimen/dp_14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_bai" android:background="@drawable/bg_bai"
android:elevation="@dimen/dp_1"> android:elevation="@dimen/dp_1"
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView android:orientation="vertical"
android:id="@+id/brv" android:padding="@dimen/dp_14">
android:layout_width="match_parent"
android:layout_height="wrap_content"/> <!-- <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView-->
<!-- android:id="@+id/brv"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<LinearLayout <LinearLayout
android:layout_marginBottom="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="银行名称"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:paddingTop="@dimen/dp_10" android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10" android:paddingBottom="@dimen/dp_10"
android:text="银行名称"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
<EditText
android:id="@+id/bank_name" android:id="@+id/bank_name"
android:layout_alignParentRight="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff000000" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:ellipsize="end"
android:inputType="text"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:background="@null" android:background="@null"
/> android:ellipsize="end"
android:inputType="text"
android:maxLines="1"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu" /> android:background="@drawable/bottom_xu" />
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="银行卡号"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:paddingTop="@dimen/dp_10" android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10" android:paddingBottom="@dimen/dp_10"
android:text="银行卡号"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
<EditText
android:id="@+id/bank_number" android:id="@+id/bank_number"
android:layout_alignParentRight="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff000000" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:inputType="number"
android:maxLines="1"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:background="@null" android:background="@null"
android:ellipsize="end"
android:inputType="number"
android:maxLines="1"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
/> />
</LinearLayout>
</LinearLayout> <Button
android:id="@+id/skip"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:background="@drawable/bg_btn_grey"
android:text="跳过"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
<Button
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_22"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_50"
android:background="@drawable/bg_btn_green"
android:text="下一步"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
@@ -382,5 +382,38 @@
/> />
</LinearLayout> </LinearLayout>
<RelativeLayout
android:id="@+id/r8"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交强险保单"
android:textColor="#ff000000"
android:textSize="@dimen/sp_15"
/>
</LinearLayout>
<ImageView
android:layout_width="@dimen/dp_6"
android:layout_height="@dimen/dp_10"
android:src="@mipmap/chevron"
android:scaleType="fitXY"
android:background="@null"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
+9 -29
View File
@@ -104,35 +104,15 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
<androidx.cardview.widget.CardView
android:padding="@dimen/dp_7" <CheckBox
android:layout_marginTop="@dimen/dp_2" android:layout_marginTop="@dimen/dp_3"
android:layout_width="@dimen/dp_14" android:id="@+id/cb"
android:layout_height="@dimen/dp_14" android:layout_width="@dimen/dp_28"
app:cardCornerRadius="@dimen/dp_7" android:layout_height="@dimen/dp_34"
app:cardBackgroundColor="@color/theme_color" android:button="@null"
app:cardElevation="@dimen/dp_0"> android:checked="false"
<androidx.cardview.widget.CardView android:drawableStart="@drawable/select_read"/>
android:padding="@dimen/dp_7"
android:id="@+id/no_btn"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_12"
app:cardCornerRadius="@dimen/dp_6"
app:cardBackgroundColor="#fff"
android:layout_gravity="center"
app:cardElevation="@dimen/dp_0">
</androidx.cardview.widget.CardView>
<ImageButton
android:id="@+id/agree_btn"
android:layout_width="@dimen/dp_14"
android:layout_height="@dimen/dp_14"
android:src="@mipmap/choice"
android:scaleType="fitXY"
android:background="#fff"
android:layout_gravity="center"
android:visibility="gone"
/>
</androidx.cardview.widget.CardView>
<TextView <TextView
android:id="@+id/tv_content" android:id="@+id/tv_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
+50 -3
View File
@@ -81,7 +81,7 @@
android:id="@+id/zjimg_name" android:id="@+id/zjimg_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_19" android:layout_marginTop="@dimen/dp_16"
android:text="从业资格证照片" android:text="从业资格证照片"
android:textColor="#ff333333" android:textColor="#ff333333"
android:textSize="@dimen/sp_15" /> android:textSize="@dimen/sp_15" />
@@ -91,7 +91,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_19" android:layout_marginBottom="@dimen/dp_16"
android:text="点击上传图片" android:text="点击上传图片"
android:textColor="@color/theme_color" android:textColor="@color/theme_color"
android:textSize="@dimen/sp_15" /> android:textSize="@dimen/sp_15" />
@@ -100,7 +100,7 @@
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<LinearLayout <LinearLayout
android:visibility="gone"
android:id="@+id/llInfo" android:id="@+id/llInfo"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -137,6 +137,8 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="@dimen/dp_14"> android:padding="@dimen/dp_14">
<RelativeLayout <RelativeLayout
android:id="@+id/cow1" android:id="@+id/cow1"
@@ -162,10 +164,55 @@
android:gravity="right" android:gravity="right"
android:hint="点击进行手动输入" android:hint="点击进行手动输入"
android:maxLines="1" android:maxLines="1"
android:singleLine="true"
android:textColor="#ff999999" android:textColor="#ff999999"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</RelativeLayout> </RelativeLayout>
<LinearLayout
android:id="@+id/llDate"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<View
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/>
<RelativeLayout
android:id="@+id/rlDate"
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="截止日期"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<TextView
android:layout_toRightOf="@+id/name2"
android:id="@+id/value2"
android:layout_alignParentRight="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="请选择截止日期"
android:gravity="right"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_10"
/>
</RelativeLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
@@ -0,0 +1,225 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_shangchuan"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_theme">
<ImageView
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_207"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_16"
android:src="@mipmap/top_creativity" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_58">
<ImageView
android:id="@+id/return_btn"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_31"
android:layout_marginLeft="@dimen/dp_30"
android:padding="@dimen/dp_10"
android:scaleType="fitXY"
android:src="@mipmap/return_lefts" />
<TextView
android:id="@+id/tv_loaction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_30"
android:padding="@dimen/dp_5"
android:text="定位成功"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_14" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
android:text="补传"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23" />
<TextView
android:id="@+id/tvDate"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:gravity="center_vertical"
android:hint="请选择时间"></TextView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:layout_weight="1"
android:id="@+id/etAddress"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:hint="请输入地址"></EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/red"
android:text="确定"
android:id="@+id/btnOk"
></Button>
</LinearLayout>
<TextView
android:id="@+id/tvLocation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
></TextView>
<TextView
android:id="@+id/name_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
android:text="上传卸货照片"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23" />
<androidx.cardview.widget.CardView
android:id="@+id/getImg1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginRight="@dimen/dp_38"
app:cardCornerRadius="@dimen/dp_8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/getImg"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90"
android:layout_marginLeft="@dimen/dp_11"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginBottom="@dimen/dp_13"
android:background="#EEEEEE">
<ImageView
android:id="@+id/res_img"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/img_icon"
android:layout_width="@dimen/dp_23"
android:layout_height="@dimen/dp_23"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@mipmap/up_img" />
<ImageView
android:id="@+id/img_delete"
android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25"
android:layout_alignParentRight="true"
android:padding="@dimen/dp_3"
android:src="@mipmap/icon_delete"
android:visibility="gone" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_10"
android:orientation="vertical">
<TextView
android:id="@+id/name_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_7"
android:text="卸货照片"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_13"
android:text=""
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_38">
<TextView
android:id="@+id/tips_x"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="#E61829"
android:visibility="gone" />
<TextView
android:id="@+id/tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="卸货照片包含车牌号、三分之二车身或者卸货场景"
android:textColor="#E61829"
android:visibility="gone" />
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginRight="@dimen/dp_38"
app:cardBackgroundColor="@color/red"
app:cardCornerRadius="@dimen/dp_21">
<TextView
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:gravity="center"
android:text="提交"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
</androidx.cardview.widget.CardView>
</LinearLayout>
</RelativeLayout>
+14 -1
View File
@@ -3,11 +3,24 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<WebView
<RelativeLayout
android:layout_marginTop="@dimen/dp_88" android:layout_marginTop="@dimen/dp_88"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/wv" android:id="@+id/wv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="5dp"
android:visibility="invisible"
android:layout_alignParentTop="true" />
</RelativeLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
+17
View File
@@ -99,6 +99,8 @@
android:textSize="@dimen/sp_17" android:textSize="@dimen/sp_17"
android:background="@null" android:background="@null"
android:layout_marginBottom="@dimen/dp_3"/> android:layout_marginBottom="@dimen/dp_3"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_8" android:layout_marginTop="@dimen/dp_8"
@@ -122,6 +124,7 @@
android:progressDrawable="@drawable/par_bg" android:progressDrawable="@drawable/par_bg"
/> />
<TextView <TextView
android:id="@+id/tvContent"
android:layout_marginTop="@dimen/dp_6" android:layout_marginTop="@dimen/dp_6"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -131,6 +134,20 @@
android:layout_gravity="center" android:layout_gravity="center"
/> />
</LinearLayout> </LinearLayout>
<Button
android:visibility="gone"
android:layout_marginLeft="@dimen/dp_18"
android:layout_marginRight="@dimen/dp_18"
android:id="@+id/tvOk"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="立即安装"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_17"
android:background="@null"
android:layout_marginBottom="@dimen/dp_13"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/force_box" android:id="@+id/force_box"
+116 -60
View File
@@ -1,47 +1,54 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:id="@+id/huoyuan_xq"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto" android:background="#fff"
android:orientation="vertical" android:orientation="vertical">
android:id="@+id/huoyuan_xq"
android:background="#fff">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/theme_color" android:background="@color/theme_color"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="@dimen/dp_20"> android:paddingBottom="@dimen/dp_20">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_68"> android:layout_marginTop="@dimen/dp_68">
<ImageButton <ImageButton
android:layout_marginLeft="@dimen/dp_38"
android:id="@+id/return_btn" android:id="@+id/return_btn"
android:layout_width="@dimen/dp_21" android:layout_width="@dimen/dp_21"
android:layout_height="@dimen/dp_18" android:layout_height="@dimen/dp_18"
android:layout_marginLeft="@dimen/dp_38"
android:background="@null" android:background="@null"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/return_btn" /> android:src="@mipmap/return_btn" />
<ImageButton <ImageButton
android:layout_marginRight="@dimen/dp_38"
android:layout_width="@dimen/dp_18" android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_18" android:layout_height="@dimen/dp_18"
android:src="@mipmap/share2"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:scaleType="fitXY" android:layout_marginRight="@dimen/dp_38"
android:background="@null" android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/share2"
android:visibility="gone" /> android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_8"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -49,73 +56,102 @@
android:text="货源详情" android:text="货源详情"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_23" /> android:textSize="@dimen/sp_23" />
<TextView <TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:id="@+id/huozhu" android:id="@+id/huozhu"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="联系货主" android:text="联系货主"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<TextView <TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="拒绝" android:text="拒绝"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_15" android:textSize="@dimen/sp_15"
android:visibility="gone" /> android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_38"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView <TextView
android:id="@+id/totalFreight" android:id="@+id/totalFreight"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:text="0000" android:text="****"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_40" /> android:textSize="@dimen/sp_40" />
<CheckBox
android:id="@+id/cb"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_3"
android:button="@null"
android:checked="false"
android:drawableStart="@drawable/select_eye"
android:gravity="center">
</CheckBox>
</LinearLayout>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="净赚运费(元)" android:text="净赚运费(元)"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"
/>
<View <View
android:layout_marginTop="@dimen/dp_16"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_16"
android:background="#EFEFEF" /> android:background="#EFEFEF" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:orientation="horizontal"> android:orientation="horizontal">
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"> android:layout_weight="1">
<TextView <TextView
android:layout_marginLeft="@dimen/dp_5"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_5"
android:text="预估里程(km)" android:text="预估里程(km)"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12" />
android:layout_centerVertical="true"
/>
<TextView <TextView
android:id="@+id/distance" android:id="@+id/distance"
@@ -128,10 +164,12 @@
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
<View <View
android:layout_width="@dimen/dp_1" android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#EFEFEF" /> android:background="#EFEFEF" />
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -158,14 +196,17 @@
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="#EFEFEF" /> android:background="#EFEFEF" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:orientation="horizontal"> android:orientation="horizontal">
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -191,10 +232,12 @@
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
<View <View
android:layout_width="@dimen/dp_1" android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#EFEFEF" /> android:background="#EFEFEF" />
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -224,35 +267,39 @@
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="#EFEFEF" /> android:background="#EFEFEF" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:" android:text="运输要求:"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12" />
android:layout_gravity="center"/>
<TextView <TextView
android:layout_marginLeft="@dimen/dp_7"
android:id="@+id/requirement" android:id="@+id/requirement"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_5" android:layout_marginRight="@dimen/dp_5"
android:text="" android:text=""
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12" />
android:layout_gravity="center"/>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
@@ -260,23 +307,27 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:background="@drawable/bg_bai"
android:background="@drawable/bg_bai"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="货源单号:" android:text="货源单号:"
android:textColor="#333333" android:textColor="#333333"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<TextView <TextView
android:id="@+id/orderNum" android:id="@+id/orderNum"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -285,42 +336,48 @@
android:textColor="#333333" android:textColor="#333333"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardCornerRadius="@dimen/dp_14" android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
app:cardBackgroundColor="#fff" app:cardBackgroundColor="#fff"
app:cardCornerRadius="@dimen/dp_14"
app:cardElevation="@dimen/dp_0"> app:cardElevation="@dimen/dp_0">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv1" android:id="@+id/zhuang_rv1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv2" android:id="@+id/zhuang_rv2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17"> android:layout_marginTop="@dimen/dp_17">
<TextView <TextView
android:id="@+id/car" android:id="@+id/car"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_39" android:layout_marginLeft="@dimen/dp_39"
android:text="选择车辆" android:text="选择车辆"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_centerVertical="true"/>
<ImageButton <ImageButton
android:id="@+id/xuanze" android:id="@+id/xuanze"
@@ -328,8 +385,8 @@
android:layout_height="@dimen/dp_29" android:layout_height="@dimen/dp_29"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38" android:layout_marginRight="@dimen/dp_38"
android:padding="@dimen/dp_5"
android:background="@null" android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/add1" /> android:src="@mipmap/add1" />
</RelativeLayout> </RelativeLayout>
@@ -346,39 +403,37 @@
android:layout_height="@dimen/dp_25" android:layout_height="@dimen/dp_25"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38" android:layout_marginLeft="@dimen/dp_38"
android:padding="@dimen/dp_5"
android:background="@null" android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/no_xuan" /> android:src="@mipmap/no_xuan" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7" android:layout_marginLeft="@dimen/dp_7"
android:text="同意并签署" android:text="同意并签署"
android:textColor="#000000" android:textColor="#000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"/>
<TextView <TextView
android:id="@+id/check_contract" android:id="@+id/check_contract"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="《运输合同》" android:text="《运输合同》"
android:textColor="@color/theme_color_news" android:textColor="@color/theme_color_news"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"/>
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_7" android:layout_marginTop="@dimen/dp_7">
>
<ImageButton <ImageButton
android:visibility="invisible"
android:id="@+id/btnFp" android:id="@+id/btnFp"
android:layout_width="@dimen/dp_25" android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25" android:layout_height="@dimen/dp_25"
@@ -387,38 +442,39 @@
android:background="@null" android:background="@null"
android:padding="@dimen/dp_5" android:padding="@dimen/dp_5"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/no_xuan" /> android:src="@mipmap/no_xuan"
android:visibility="invisible" />
<TextView <TextView
android:layout_toRightOf="@+id/btnFp"
android:id="@+id/tvZzs" android:id="@+id/tvZzs"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7" android:layout_marginLeft="@dimen/dp_7"
android:layout_toRightOf="@+id/btnFp"
android:text="同意在符合相关税务机关要求的情况下代开增值税发票" android:text="同意在符合相关税务机关要求的情况下代开增值税发票"
android:textColor="#000000" android:textColor="#000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"/>
<TextView <TextView
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="增值税发票" android:text="增值税发票"
android:textColor="@color/red" android:textColor="@color/red"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:layout_gravity="center"/> android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<Button <Button
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:id="@+id/confirm_btn" android:id="@+id/confirm_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_38" android:layout_height="@dimen/dp_38"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_12" android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_60" android:layout_marginBottom="@dimen/dp_60"
android:background="@drawable/bg_btn" android:background="@drawable/bg_btn"
android:text="确认接单" android:text="确认接单"
+108
View File
@@ -168,6 +168,114 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_12" /> android:layout_marginBottom="@dimen/dp_12" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:visibility="gone"
android:id="@+id/llCurWay"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
android:layout_marginLeft="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_5"
android:background="@drawable/bg_huoyuan">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginLeft="@dimen/dp_25"
android:layout_marginRight="@dimen/dp_25"
android:layout_marginBottom="@dimen/dp_22">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运输中订单:"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tvWaybill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:text="1321561432123156"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/ivType"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
android:scaleType="fitXY"
android:background="@mipmap/zhuang" />
<TextView
android:id="@+id/loadingAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
android:ellipsize="end"
android:maxLines="1"
android:text="郑州市市委党校郑州市市委党校郑州市市委党校郑州市市委党校"
android:textColor="#ff333333"
android:textSize="@dimen/sp_15" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tvGo"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_28"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@drawable/shape_red_bg14"
android:paddingLeft="@dimen/dp_14"
android:paddingRight="@dimen/dp_14"
android:text="去装货"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<!-- <LinearLayout <!-- <LinearLayout
android:layout_marginTop="@dimen/dp_4" android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent" android:layout_width="match_parent"
+3 -2
View File
@@ -99,7 +99,7 @@
<TextView <TextView
android:id="@+id/loadingAddress" android:id="@+id/loadingAddress"
android:layout_width="@dimen/dp_120" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
@@ -125,7 +125,7 @@
<TextView <TextView
android:id="@+id/receiverAddress" android:id="@+id/receiverAddress"
android:layout_width="@dimen/dp_120" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
@@ -140,6 +140,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10" android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -123,6 +123,7 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10" android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -52,6 +52,7 @@
/> />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/llMoney"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -103,6 +103,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
@@ -131,6 +132,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
+38 -1
View File
@@ -146,6 +146,35 @@
android:src="@mipmap/chevron" /> android:src="@mipmap/chevron" />
</RelativeLayout> </RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9" />
<RelativeLayout
android:id="@+id/r8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp_20"
android:paddingBottom="@dimen/dp_20">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交易规则"
android:textColor="#ff000000"
android:textSize="@dimen/sp_15" />
<ImageView
android:layout_width="@dimen/dp_4"
android:layout_height="@dimen/dp_8"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/chevron" />
</RelativeLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_2" android:layout_height="@dimen/dp_2"
@@ -275,11 +304,19 @@
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/chevron" /> android:src="@mipmap/chevron" />
</RelativeLayout> </RelativeLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_2" android:layout_height="@dimen/dp_2"
android:background="#F6F6F9" /> android:background="#F6F6F9" />
<TextView
android:layout_marginTop="@dimen/dp_20"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ICP备案号:豫ICP备09025418号-24A"
/>
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

+2 -2
View File
@@ -1,8 +1,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "compile.gradle" apply from: "compile.gradle"
buildscript { buildscript {
ext.kotlin_version = "1.5.0" // ext.kotlin_version = "1.5.0"
// ext.kotlin_version = "1.6.10" ext.kotlin_version = "1.6.10"
repositories { repositories {
google() google()
jcenter() // 这个 jcenter() // 这个
+1 -1
View File
@@ -1,6 +1,6 @@
#Mon Jul 12 10:16:49 CST 2021 #Mon Jul 12 10:16:49 CST 2021
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-bin.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
+3 -1
View File
@@ -66,7 +66,7 @@ dependencies {
api rootProject.ext.dependencies["Xpopup"] api rootProject.ext.dependencies["Xpopup"]
api rootProject.ext.dependencies["Countdownview"] api rootProject.ext.dependencies["Countdownview"]
// api rootProject.ext.dependencies["CheckVersionLib"] // api rootProject.ext.dependencies["CheckVersionLib"]
// api rootProject.ext.dependencies["Bugly"] api rootProject.ext.dependencies["Bugly"]
// api rootProject.ext.dependencies["Zxing"] // api rootProject.ext.dependencies["Zxing"]
api rootProject.ext.dependencies["Multidex"] api rootProject.ext.dependencies["Multidex"]
// api rootProject.ext.dependencies["FlycoTabLayout"] // api rootProject.ext.dependencies["FlycoTabLayout"]
@@ -79,6 +79,8 @@ dependencies {
api rootProject.ext.dependencies["Search"] api rootProject.ext.dependencies["Search"]
api 'com.gyf.cactus:cactus:1.1.3-beta13' api 'com.gyf.cactus:cactus:1.1.3-beta13'
api 'com.github.gcacace:signature-pad:1.3.1'
//友盟基础库(必须) //友盟基础库(必须)
// api 'com.umeng.umsdk:common:9.4.4' // api 'com.umeng.umsdk:common:9.4.4'
// api 'com.umeng.umsdk:asms:1.4.1' // api 'com.umeng.umsdk:asms:1.4.1'
@@ -29,6 +29,24 @@ public class ToastUtils {
} }
} }
public static void showLongToast(Context mContext, String message) {
if (!TextUtils.isEmpty(message)) {
// if ( mToast != null) {
// mToast.cancel();
// }
// mToast = Toast.makeText(mContext, message, Toast.LENGTH_SHORT);
// mToast.show();
if (mToast == null) {
mToast = Toast.makeText(mContext, message, Toast.LENGTH_LONG);
} else {
mToast.setText(message);
}
mToast.show();
}
}
public static void cancelToast(){ public static void cancelToast(){
if (mToast!=null) if (mToast!=null)
mToast.cancel(); mToast.cancel();