Compare commits

...

No commits in common. "main" and "master" have entirely different histories.
main ... master

743 changed files with 65620 additions and 36 deletions

48
.gitignore vendored
View File

@ -1,35 +1,15 @@
# ---> Android
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Log/OS Files
*.log
# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json
# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml
# Keystore files
*.jks
*.keystore
# Google Services (e.g. APIs or Firebase)
google-services.json
# Android Profiling
*.hprof
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

3
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

6
.idea/compiler.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<value>
<entry key="app">
<State />
</entry>
</value>
</component>
</project>

23
.idea/gradle.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="#JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/keeplibrary" />
<option value="$PROJECT_DIR$/mylibrary" />
<option value="$PROJECT_DIR$/ocr_ui" />
</set>
</option>
<option name="resolveExternalAnnotations" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>

13
.idea/kotlinc.xml Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JvmCompilerArguments">
<option name="jvmTarget" value="1.8" />
</component>
<component name="KotlinCommonCompilerArguments">
<option name="apiVersion" value="1.9" />
<option name="languageVersion" value="1.9" />
</component>
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.22" />
</component>
</project>

10
.idea/migrations.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectMigrations">
<option name="MigrateToGradleLocalJavaHome">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</component>
</project>

86
.idea/misc.xml Normal file
View File

@ -0,0 +1,86 @@
<project version="4">
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
<map>
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.2225" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable-v24/marquee_bg.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable-v24/shape_code_bg5.xml" value="0.206" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable-v24/shape_ok_bg.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable-v24/shape_phone_bg.xml" value="0.206" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/bg_btn.xml" value="0.2225" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/bg_waybill_item.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/ic_baseline_home_24.xml" value="0.1925" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/ic_launcher_background.xml" value="0.2225" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/marquee_bg.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/search_bg.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/select_auth_team.xml" value="0.2215" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/select_auth_team_text.xml" value="0.2215" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/select_pass.xml" value="0.2225" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/select_read.xml" value="0.2225" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_btn_bg4.xml" value="0.1925" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_code_bg5.xml" value="0.206" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_count_downbg.xml" value="0.192" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_gray_5.xml" value="0.2135" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_message_item_bg.xml" value="0.206" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_mine_bg20.xml" value="0.1925" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_ok_bg.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_orange_5.xml" value="0.2135" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_person_bg.xml" value="0.1805" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_phone_bg.xml" value="0.206" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_search_bg.xml" value="0.2265" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_waybill_item_bg.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/drawable/shape_white_12.xml" value="0.216" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth.xml" value="0.35498046875" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_bankcard.xml" value="0.18932291666666667" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_driver.xml" value="0.35498046875" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_driving.xml" value="0.18932291666666667" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_face.xml" value="0.18932291666666667" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_load.xml" value="0.18932291666666667" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_qualification.xml" value="0.22" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_role.xml" value="0.35498046875" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_auth_team.xml" value="0.18932291666666667" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_login.xml" value="0.2714285714285714" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_person_auth.xml" value="0.35498046875" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/activity_waybill_detail.xml" value="0.20078125" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/fragment_message.xml" value="0.5" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/fragment_waybill.xml" value="0.274609375" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout-w936dp/item_message.xml" value="0.33" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_bankcard.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_driver.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_driving.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_face.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_load.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_person.xml" value="0.3099615220179564" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_qualification.xml" value="0.29674968341072183" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_road.xml" value="0.1351004702864472" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_role.xml" value="0.25" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_auth_team.xml" value="0.3060363022372309" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_code.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_home.xml" value="0.36614583333333334" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_launcher.xml" value="0.36614583333333334" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_login.xml" value="0.3605128205128205" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_main.xml" value="0.36614583333333334" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_person_auth.xml" value="0.29674968341072183" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_select_role.xml" value="0.28858486532706284" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_text.xml" value="0.16822916666666668" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/activity_waybill_detail.xml" value="0.20906370243693886" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/fragment_home.xml" value="0.33" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/fragment_message.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/fragment_mine.xml" value="0.36614583333333334" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/fragment_waybill.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/fragment_waybill_list.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/grid_item.xml" value="0.3651041666666667" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/grid_mine_item.xml" value="0.2535271483539974" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/item_message.xml" value="0.30055579307396324" />
<entry key="..\:/2024work/GLDriver/app/src/main/res/layout/item_waybill.xml" value="0.3651041666666667" />
<entry key="..\:/2024work/GLDriver/mylibrary/src/main/res/layout/common_toolbar.xml" value="0.30055579307396324" />
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,3 +1,11 @@
# GLDriver
# 友盟+一键登录
友盟+上的appkey用来唤醒与阿里云购买appkey同样可以唤醒前端sdk?)不同(后台需配置友盟+上的appkey来获取token
司机端2.0代码
# 无法获取sha1失败
可通过gradle-app-android-signingReport获取
# gradle无法下载或者下载慢问题-替换阿里云或腾讯云镜像
添加maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.2-bin.zip
distributionUrl=https\://emas-devops-cdn.aliyuncs.com/distributions/gradle-7.2-bin.zip

1
app/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

204
app/build.gradle Normal file
View File

@ -0,0 +1,204 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
def releaseTime() {
return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
}
android {
namespace 'com.arpa.hndahesudintocctmsdriver'
signingConfigs {
// config {
// keyAlias 'key0'
// keyPassword '210419'
// storeFile file('gldriver.jks')
// storePassword '210419'
// v1SigningEnabled true
// v2SigningEnabled true
// }
config {
keyAlias 'key0'
keyPassword '123456'
storeFile file('key.jks')
storePassword '123456'
v1SigningEnabled true
v2SigningEnabled true
}
}
compileSdk rootProject.ext.android["compileSdkVersion"]
defaultConfig {
applicationId rootProject.ext.android["applicationId"]
minSdkVersion rootProject.ext.android["minSdkVersion"]
targetSdkVersion rootProject.ext.android["targetSdkVersion"]
versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"]
flavorDimensions "CHANNEL_VALUE"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
//SO库架构so
abiFilters "armeabi-v7a", "arm64-v8a"
// abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
debug {
signingConfig signingConfigs.config
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
}
buildFeatures {
viewBinding = true
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
sourceSets {
main {
jniLibs.srcDir 'libs'
//so的路径为该libs路径SDK的so文件
}
}
productFlavors {
dev {
applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "司机端(测试)",
// app_icon : "@drawable/head_defaut",
JPUSH_PKGNAME: applicationId,
//JPush Appkey.
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191",
//.
JPUSH_CHANNEL: "developer-n"]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://192.168.1.118:8082/devApi/\"")
// buildConfigField("String", "BASE_URL", "\"http://192.168.1.118:8080/devApi/\"")
// buildConfigField("String", "BASE_URL", "\"http://platform.test.v2.dahehuoyun.com/devApi/\"")
buildConfigField "boolean", "isTest", "true"
//APP名称androidMainfest中引用
resValue "string", "appName", "司机端测试"
}
prod {
applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "司机端",
// app_icon : "@drawable/ysxy",
JPUSH_PKGNAME: applicationId,
//JPush Appkey.
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191",
//.
JPUSH_CHANNEL: "developer-default"]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false"
resValue "string", "appName", "司机端"
}
}
android.applicationVariants.all { variant ->
variant.outputs.all {
//
def isText = variant.productFlavors[0].properties.get("buildConfigFields").getAt("isTest").properties.get("value")
def appName = null
if (isText == "true") {
appName = '司机端测试_'
} else {
appName = '司机端正式_'
}
outputFileName = appName + "${variant.buildType.name}_${defaultConfig.versionName}_${releaseTime()}.apk"
}
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.annotation:annotation:1.2.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
//
implementation 'me.zhanghai.android.materialratingbar:library:1.4.0'
implementation project(path: ':mylibrary')
implementation project(path: ':keeplibrary')
// implementation files('libs/ocrsdk.aar')
//
// implementation 'com.amap.api:3dmap:9.8.3'
//
// implementation 'com.amap.api:location:6.4.2'//6.4.2
implementation 'com.amap.api:search:9.7.0'
implementation 'com.amap.api:navi-3dmap:latest.integration'
// implementation 'com.amap.api:navi-3dmap:9.8.3_3dmap9.8.3'
//
// implementation files('libs/EsignSDK.aar')
// implementation(name: 'EsignSDK', ext: 'aar')
//
implementation 'com.lzy.net:okgo:3.0.4'
implementation 'com.alibaba:fastjson:1.2.61'
implementation 'org.bouncycastle:bcprov-jdk15on:1.55'
implementation 'org.apache.commons:commons-lang3:3.5'
// implementation(name: 'locationgd-androidx_2.1.0', ext: 'aar')//
implementation files('libs/locationgd-androidx_2.1.0.aar')
//
//使compileOnly
implementation files('libs\\mdp_sdk.jar')
implementation 'com.loopj.android:android-async-http:1.4.9'
implementation 'com.j256.ormlite:ormlite-android:4.48'
implementation 'com.j256.ormlite:ormlite-core:4.48'
implementation 'com.github.hotchemi:permissionsdispatcher:2.3.1'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.3.1'
//
implementation 'com.umeng.umsdk:common:9.6.3'//
implementation 'com.umeng.umsdk:asms:1.8.0'//
implementation 'com.umeng.umsdk:uverify:2.5.9'//
implementation 'com.umeng.umsdk:uverify-main:2.1.4'//
implementation 'com.umeng.umsdk:uverify-logger:2.1.4'//
implementation 'com.umeng.umsdk:uverify-crashshield:2.1.4'//
//
// implementation 'com.umeng.umsdk:push:6.6.3'//
implementation 'cn.jiguang.sdk:jpush:5.3.1'
implementation files('libs/mdp-release.aar')
}

BIN
app/gldriver.jks Normal file

Binary file not shown.

BIN
app/key.jks Normal file

Binary file not shown.

BIN
app/libs/EsignSDK.aar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/mdp-release.aar Normal file

Binary file not shown.

BIN
app/libs/mdp_sdk.jar Normal file

Binary file not shown.

21
app/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@ -0,0 +1,24 @@
package com.arpa.hndahesudintocctmsdriver
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.dahe.gldriver", appContext.packageName)
}
}

View File

@ -0,0 +1,525 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.arpa.hndahesudintocctmsdriver">
<!-- //地图SDK包含其搜索功能需要的基础权限-->
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序设置内置sd卡的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 访问网络的变化, 需要某些信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--用于获取wifi的获取权限wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!--如果您的应用需要后台定位权限且有可能运行在Android Q设备上,并且设置了target>28必须增加这个权限声明-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<!--用于用户链接蓝牙时在导航组件页面的蓝牙连接提醒建立链接后开发者可选用蓝牙通道进行tts播报-->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!--用与导航状态中保持屏幕常亮-->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--允许读设备等信息,用于问题排查-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- Android 13版本适配细化存储权限-->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<!-- 安卓11使用相机 -->
<queries package="${applicationId}">
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE">
</action>
</intent>
<intent>
<action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
</action>
</intent>
</queries>
<application
android:name=".base.App"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/app_icon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.GLDriver"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<meta-data
android:name="CHANNEL"
android:value="${CHANNEL_VALUE}" />
<!-- 适配全面屏 Android O vivo&oppo -->
<meta-data
android:name="android.max_aspect"
android:value="2.2" /> <!-- 适配刘海屏、水滴屏 Android O 小米 -->
<meta-data
android:name="notch.config"
android:value="portrait|landscape" /> <!-- 适配刘海屏、水滴屏 Android O 华为 -->
<meta-data
android:name="android.notch_support"
android:value="true" />
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="78019612271411eca3af34db91930620" />
<service
android:name="com.amap.api.location.APSService"
android:foregroundServiceType="location" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@mipmap/app_icon" />
<service android:name=".service.UpLocationService" />
<service android:name=".service.UpLocationService2" />
<activity
android:name=".ui.LauncherActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.Splash"
android:windowSoftInputMode="adjustPan|stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".base.WebActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".base.WebRichTextActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.HomeActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden">
</activity>
<activity
android:name=".ui.account.LoginActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.CodeLoginActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.AuthSuccActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.AuthTeamSuccActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<!-- 司机车辆认证相关start -->
<activity
android:name=".ui.account.SelectRoleActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthPersonActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditPersonActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthDriverActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditDriverActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthQualificationActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditQualificationActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthBankCardActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthFaceActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthDrivingActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditDrivingActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthTrailerActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditBankCardActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditTrailerActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthRoadActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.EditRoadActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.home.activity.BusinessActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.home.activity.MessageActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authteam.AuthTeamActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authteam.EditCaTeamActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<!-- 司机车辆认证相关end -->
<!-- 运单相关start -->
<activity
android:name=".ui.waybill.activity.WaybillDetailActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.SeeDocActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.WaybillSuccActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.WaybillLoadActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.WaybillRateActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.WaybillUnlLoadActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.WaybillAppraiseActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.waybill.activity.WaybillUpPicActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<!-- 运单相关end -->
<!-- 我的相关start -->
<activity
android:name=".ui.mine.activity.CarsManActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.WalletActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.RulesActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.SettingActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.ComProActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.ComProDetailActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.QuesActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.QueDetailActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.ComProDetailActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.account.authperson.AuthPartyActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.CarTeamManActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.DriverTeamDetailActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.DriverTeamsActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.PersonInfoActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.RateManActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.InviteDriverActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.InviteRecordActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.mine.activity.CarDetailActivity"
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".ui.esingn.H5Activity"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="demo"
android:path="/signBack"
android:scheme="esign" />
<data
android:host="demo"
android:path="/realBack"
android:scheme="esign" />
</intent-filter>
</activity>
<!-- 我的相关end -->
<!-- 导航相关end -->
<activity
android:name="com.amap.api.navi.AmapRouteActivity"
android:configChanges="orientation|keyboardHidden|screenSize|navigation"
android:launchMode="singleInstance" />
<!-- 导航相关end -->
<!-- 交通厅相关start -->
<service
android:name=".third.JTTSendService"
android:foregroundServiceType="location" />
<!-- 交通厅相关end -->
<!-- 安联相关start -->
<service
android:name="com.alct.mdp.MDPLocationService"
android:exported="true"
android:process=":mdpLocation_v1" />
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"></service>
<service
android:name="com.alct.mdp.job.LocationUploadJobService"
android:permission="android.permission.BIND_JOB_SERVICE"></service>
<service
android:name="com.alct.mdp.job.LogUploadJobService"
android:permission="android.permission.BIND_JOB_SERVICE"></service>
<service
android:name="com.alct.mdp.job.AppRunningStatusUploadJobService"
android:permission="android.permission.BIND_JOB_SERVICE"></service>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="Dnrf1Ed65IGG0NF3YAjc8WEMysNYEs19" />
<service
android:name="com.alct.mdp.processprotection.SDKServiceMonitor"
android:exported="true"
android:process=":sdkServiceMonitor_v1" />
<service
android:name=".third.PlayerMusicService"
android:exported="true"
android:process=":music_v1" />
<!-- 安联相关end -->
<!-- 通知相关start -->
<service
android:name=".push.PushService"
android:exported="false"
android:process=":pushcore">
<intent-filter>
<action android:name="cn.jiguang.user.service.action" />
</intent-filter>
</service>
<!-- Required since 5.2.0 -->
<!-- 新的 tag/alias 接口结果返回需要开发者配置一个自定义的Service -->
<!-- 5.2.0开始所有事件将通过该类回调 -->
<!-- 该广播需要继承 JPush 提供的 JPushMessageService 类, 并如下新增一个 Intent-Filter -->
<service
android:name=".push.PushMessageService"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="cn.jpush.android.intent.SERVICE_MESSAGE" />
<category android:name="com.arpa.hndahesudintocctmsdrive" />
</intent-filter>
</service>
<!-- 通知相关end -->
</application>
</manifest>

View File

@ -0,0 +1,431 @@
<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/coolwanglu/pdf2htmlex) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}
</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}
</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url(f1.woff)format("woff");}.ff1{font-family:ff1;line-height:1.015000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url(f2.woff)format("woff");}.ff2{font-family:ff2;line-height:0.921875;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url(f3.woff)format("woff");}.ff3{font-family:ff3;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-ms-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-webkit-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc2{text-shadow:-0.015em 0 rgb(255,0,0),0 0.015em rgb(255,0,0),0.015em 0 rgb(255,0,0),0 -0.015em rgb(255,0,0);}
.sc1{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
.sc0{text-shadow:-0.015em 0 rgb(0,0,8),0 0.015em rgb(0,0,8),0.015em 0 rgb(0,0,8),0 -0.015em rgb(0,0,8);}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc2{-webkit-text-stroke:0.015em rgb(255,0,0);text-shadow:none;}
.sc1{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
.sc0{-webkit-text-stroke:0.015em rgb(0,0,8);text-shadow:none;}
}
.ws2{word-spacing:-1.348000px;}
.ws1{word-spacing:-1.344000px;}
.ws0{word-spacing:0.000000px;}
._4{margin-left:-15.363984px;}
._5{margin-left:-10.563984px;}
._7{margin-left:-8.644400px;}
._2{margin-left:-6.720000px;}
._8{margin-left:-5.280360px;}
._1{margin-left:-3.363984px;}
._0{margin-left:-1.920000px;}
._6{width:1.256064px;}
._3{width:12.000000px;}
._a{width:71.992656px;}
._9{width:95.991216px;}
.fc2{color:rgb(255,0,0);}
.fc1{color:rgb(0,0,0);}
.fc0{color:rgb(0,0,8);}
.fs1{font-size:48.000000px;}
.fs2{font-size:48.004000px;}
.fs0{font-size:72.000000px;}
.y0{bottom:0.000000px;}
.y1f{bottom:5.820000px;}
.y3a{bottom:85.175600px;}
.y1d{bottom:91.250000px;}
.y39{bottom:108.574200px;}
.y1c{bottom:114.650000px;}
.y1b{bottom:138.050000px;}
.y1a{bottom:161.450000px;}
.y19{bottom:184.850000px;}
.y38{bottom:192.799000px;}
.y18{bottom:208.250000px;}
.y37{bottom:212.877000px;}
.y17{bottom:231.650000px;}
.y36{bottom:236.277000px;}
.y16{bottom:255.050000px;}
.y35{bottom:259.677000px;}
.y15{bottom:278.450000px;}
.y34{bottom:283.077000px;}
.y14{bottom:301.850000px;}
.y33{bottom:309.650000px;}
.y13{bottom:325.250000px;}
.y32{bottom:333.050000px;}
.y12{bottom:348.650000px;}
.y31{bottom:356.450000px;}
.y11{bottom:372.050000px;}
.y30{bottom:379.850000px;}
.y10{bottom:395.450000px;}
.y2f{bottom:403.250000px;}
.yf{bottom:418.850000px;}
.y2e{bottom:427.350000px;}
.ye{bottom:442.250000px;}
.y2d{bottom:450.050000px;}
.yd{bottom:465.650000px;}
.y2c{bottom:473.450000px;}
.yc{bottom:489.050000px;}
.y2b{bottom:497.550000px;}
.yb{bottom:512.450000px;}
.y2a{bottom:520.250000px;}
.ya{bottom:535.850000px;}
.y29{bottom:543.650000px;}
.y9{bottom:559.250000px;}
.y28{bottom:567.050000px;}
.y8{bottom:582.650000px;}
.y27{bottom:590.450000px;}
.y7{bottom:606.050000px;}
.y26{bottom:613.850000px;}
.y6{bottom:629.450000px;}
.y25{bottom:637.250000px;}
.y5{bottom:652.850000px;}
.y24{bottom:660.650000px;}
.y4{bottom:676.250000px;}
.y23{bottom:684.050000px;}
.y1e{bottom:693.550000px;}
.y3{bottom:699.650000px;}
.y3c{bottom:701.690000px;}
.y22{bottom:707.450000px;}
.y2{bottom:723.050000px;}
.y3b{bottom:725.330000px;}
.y21{bottom:730.850000px;}
.y1{bottom:748.370000px;}
.y20{bottom:754.250000px;}
.h4{height:22.000000px;}
.h3{height:39.072000px;}
.h6{height:39.075256px;}
.h5{height:39.375000px;}
.h7{height:42.243520px;}
.h2{height:58.608000px;}
.h0{height:841.900000px;}
.h1{height:842.000000px;}
.w2{width:150.000000px;}
.w0{width:595.300000px;}
.w1{width:595.500000px;}
.x0{left:0.000000px;}
.x5{left:2.000000px;}
.x2{left:90.000000px;}
.x3{left:111.000000px;}
.x4{left:126.350000px;}
.x6{left:138.735150px;}
.x7{left:158.900000px;}
.x1{left:234.600000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws2{word-spacing:-1.797333pt;}
.ws1{word-spacing:-1.792000pt;}
.ws0{word-spacing:0.000000pt;}
._4{margin-left:-20.485312pt;}
._5{margin-left:-14.085312pt;}
._7{margin-left:-11.525867pt;}
._2{margin-left:-8.960000pt;}
._8{margin-left:-7.040480pt;}
._1{margin-left:-4.485312pt;}
._0{margin-left:-2.560000pt;}
._6{width:1.674753pt;}
._3{width:16.000000pt;}
._a{width:95.990208pt;}
._9{width:127.988288pt;}
.fs1{font-size:64.000000pt;}
.fs2{font-size:64.005333pt;}
.fs0{font-size:96.000000pt;}
.y0{bottom:0.000000pt;}
.y1f{bottom:7.760000pt;}
.y3a{bottom:113.567467pt;}
.y1d{bottom:121.666667pt;}
.y39{bottom:144.765600pt;}
.y1c{bottom:152.866667pt;}
.y1b{bottom:184.066667pt;}
.y1a{bottom:215.266667pt;}
.y19{bottom:246.466667pt;}
.y38{bottom:257.065333pt;}
.y18{bottom:277.666667pt;}
.y37{bottom:283.836000pt;}
.y17{bottom:308.866667pt;}
.y36{bottom:315.036000pt;}
.y16{bottom:340.066667pt;}
.y35{bottom:346.236000pt;}
.y15{bottom:371.266667pt;}
.y34{bottom:377.436000pt;}
.y14{bottom:402.466667pt;}
.y33{bottom:412.866667pt;}
.y13{bottom:433.666667pt;}
.y32{bottom:444.066667pt;}
.y12{bottom:464.866667pt;}
.y31{bottom:475.266667pt;}
.y11{bottom:496.066667pt;}
.y30{bottom:506.466667pt;}
.y10{bottom:527.266667pt;}
.y2f{bottom:537.666667pt;}
.yf{bottom:558.466667pt;}
.y2e{bottom:569.800000pt;}
.ye{bottom:589.666667pt;}
.y2d{bottom:600.066667pt;}
.yd{bottom:620.866667pt;}
.y2c{bottom:631.266667pt;}
.yc{bottom:652.066667pt;}
.y2b{bottom:663.400000pt;}
.yb{bottom:683.266667pt;}
.y2a{bottom:693.666667pt;}
.ya{bottom:714.466667pt;}
.y29{bottom:724.866667pt;}
.y9{bottom:745.666667pt;}
.y28{bottom:756.066667pt;}
.y8{bottom:776.866667pt;}
.y27{bottom:787.266667pt;}
.y7{bottom:808.066667pt;}
.y26{bottom:818.466667pt;}
.y6{bottom:839.266667pt;}
.y25{bottom:849.666667pt;}
.y5{bottom:870.466667pt;}
.y24{bottom:880.866667pt;}
.y4{bottom:901.666667pt;}
.y23{bottom:912.066667pt;}
.y1e{bottom:924.733333pt;}
.y3{bottom:932.866667pt;}
.y3c{bottom:935.586667pt;}
.y22{bottom:943.266667pt;}
.y2{bottom:964.066667pt;}
.y3b{bottom:967.106667pt;}
.y21{bottom:974.466667pt;}
.y1{bottom:997.826667pt;}
.y20{bottom:1005.666667pt;}
.h4{height:29.333333pt;}
.h3{height:52.096000pt;}
.h6{height:52.100341pt;}
.h5{height:52.500000pt;}
.h7{height:56.324693pt;}
.h2{height:78.144000pt;}
.h0{height:1122.533333pt;}
.h1{height:1122.666667pt;}
.w2{width:200.000000pt;}
.w0{width:793.733333pt;}
.w1{width:794.000000pt;}
.x0{left:0.000000pt;}
.x5{left:2.666667pt;}
.x2{left:120.000000pt;}
.x3{left:148.000000pt;}
.x4{left:168.466667pt;}
.x6{left:184.980200pt;}
.x7{left:211.866667pt;}
.x1{left:312.800000pt;}
}
</style>
<script src="compatibility.min.js"></script>
<script src="pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
</div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1">
<div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="bg1.png"/>
<div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">驾驶员承运协议</div>
<div class="t m0 x2 h3 y2 ff1 fs1 fc0 sc1 ls0 ws0">
甲方:河南大河速递广告有限公司济源分公司
</div>
<div class="t m0 x2 h3 y3 ff1 fs1 fc0 sc1 ls0 ws0">乙方:</div>
<div class="t m0 x2 h3 y4 ff1 fs1 fc0 sc1 ls0 ws0">
根据中华人民共和国《民法典》有关规定,经双方协商同意,签订协议如下:
</div>
<div class="t m0 x2 h3 y5 ff1 fs1 fc0 sc1 ls0 ws0">一、义务与责任</div>
<div class="t m0 x3 h3 y6 ff1 fs1 fc0 sc1 ls0 ws0">
(一)乙方在合作期间应该严格遵守一切法律、法规和政策制度。
</div>
<div class="t m0 x3 h3 y7 ff1 fs1 fc0 sc1 ls0 ws0">(二)<span class="_ _0"></span>乙方为甲方运输货物,<span
class="_ _0"></span>应该以甲方利益为第一出发点,<span class="_ _0"></span>友好、真诚对
</div>
<div class="t m0 x3 h3 y8 ff1 fs1 fc0 sc1 ls0 ws0">待客户,<span class="_ _1"></span>不能与客户有任何不必要的冲突;<span
class="_ _1"></span>有需要时应第一时间寻求好运平
</div>
<div class="t m0 x3 h3 y9 ff1 fs1 fc0 sc1 ls0 ws0">台客服协助;</div>
<div class="t m0 x3 h3 ya ff1 fs1 fc0 sc1 ls0 ws0">(三)<span class="_ _1"></span>乙方需在出发前与客户联系,<span
class="_ _0"></span>按照客户方要求准时到达交货地点,<span class="_ _0"></span>
</div>
<div class="t m0 x3 h3 yb ff1 fs1 fc0 sc1 ls0 ws0">得向甲方公司以外的任何人泄露任何客户的信息。<span
class="_ _2"></span>否则甲方有权拒绝支付乙
</div>
<div class="t m0 x3 h3 yc ff1 fs1 fc0 sc1 ls0 ws0">
方货款并向乙方主张因此造成的全部损失。
</div>
<div class="t m0 x3 h3 yd ff1 fs1 fc0 sc1 ls0 ws0">(四)<span class="_ _1"></span>乙方有责任负责装车货物的外包装品质,<span
class="_ _1"></span>如有异常的应拒绝装车或在
</div>
<div class="t m0 x3 h3 ye ff1 fs1 fc0 sc1 ls0 ws0">单据中有发货方认可的书面记录。</div>
<div class="t m0 x3 h3 yf ff1 fs1 fc0 sc1 ls0 ws0">(五)<span class="_ _0"></span>乙方装好货物应该盖好籩布,<span
class="_ _0"></span>保护货物不会因为雨、<span class="_ _0"></span>风、太阳等因素
</div>
<div class="t m0 x3 h3 y10 ff1 fs1 fc0 sc1 ls0 ws0">受的影响。<span class="_ _1"></span>因乙方故意或过失,<span
class="_ _0"></span>不盖篷布造成货物损失的,<span class="_ _0"></span>乙方应承担全部
</div>
<div class="t m0 x3 h3 y11 ff1 fs1 fc0 sc1 ls0 ws0">责任。</div>
<div class="t m0 x3 h3 y12 ff1 fs1 fc0 sc1 ls0 ws0">(六)<span class="_ _1"></span>乙方有义务帮助甲方交货、<span
class="_ _0"></span>在客户提出货物数量有问题时,<span class="_ _0"></span>乙方则应
</div>
<div class="t m0 x3 h3 y13 ff1 fs1 fc0 sc1 ls0 ws0">
该帮忙清点货物数量,并第一时间告知甲方处理。
</div>
<div class="t m0 x3 h3 y14 ff1 fs1 fc0 sc1 ls0 ws0">(七)<span class="_ _0"></span>乙方应妥善保管甲方票据,<span
class="_ _0"></span>如因乙方遗失,<span class="_ _0"></span>由乙方承担全部责任。在
</div>
<div class="t m0 x3 h3 y15 ff1 fs1 fc0 sc1 ls0 ws0">货物运输工作完成后<span
class="_ _3"> </span>5<span class="_ _3"> </span>天之内,<span
class="_ _4"></span>应及时将回执单、<span class="_ _4"></span>票据等上缴给甲方财务处。
</div>
<div class="t m0 x2 h3 y16 ff1 fs1 fc0 sc1 ls0 ws0">二、运输安全要求</div>
<div class="t m0 x3 h3 y17 ff1 fs1 fc0 sc1 ls0 ws0">(一)<span class="_ _1"></span>乙方应该对其运输过程中的包括但不限于乙方、<span
class="_ _1"></span>第三方在内的一切人
</div>
<div class="t m0 x3 h3 y18 ff1 fs1 fc0 sc1 ls0 ws0">身、财产安全承担全部责任。</div>
<div class="t m0 x3 h3 y19 ff1 fs1 fc0 sc1 ls0 ws0">(二)<span class="_ _1"></span>乙方在出发前应该对运输车辆的各项性能进行仔细检查,<span
class="_ _1"></span>以避免运输
</div>
<div class="t m0 x3 h3 y1a ff1 fs1 fc0 sc1 ls0 ws0">
途中车辆出现安全事故。若因车辆故障、损坏等因素造成货物质量受影响,
</div>
<div class="t m0 x3 h3 y1b ff1 fs1 fc0 sc1 ls0 ws0">乙方因承担全部责任。</div>
<div class="t m0 x3 h3 y1c ff1 fs1 fc0 sc1 ls0 ws0">(三)<span class="_ _5"></span>乙方在到达卸货地点后应该提高警惕,<span
class="_ _5"></span>若因乙方疏忽造成绿地、<span class="_ _5"></span>路面、
</div>
<div class="t m0 x3 h3 y1d ff1 fs1 fc0 sc1 ls0 ws0">花坛等破坏乙方承担全部责任。</div>
<div class="c x4 y1e w2 h4">
<div class="t m0 x5 h5 y1f ff2 fs1 fc1 sc1 ls0 ws0">刘艳伟</div>
</div>
</div>
<div class="pi"
data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div>
</div>
<div id="pf2" class="pf w0 h0" data-page-no="2">
<div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="bg2.png"/>
<div class="t m0 x3 h3 y20 ff1 fs1 fc0 sc1 ls0 ws0">(四)<span class="_ _1"></span>乙方应将发现的相关安全隐患及时报告给收货方及甲方,<span
class="_ _1"></span>以便双方协
</div>
<div class="t m0 x3 h3 y21 ff1 fs1 fc0 sc1 ls0 ws0">调解决,避免安全事故的发生。</div>
<div class="t m0 x2 h3 y22 ff1 fs1 fc0 sc1 ls0 ws0">三、运输责任定义</div>
<div class="t m0 x3 h6 y23 ff1 fs2 fc0 sc1 ls0 ws0">
(一)运输前,甲方有义务将该货物的具体情况告知乙方;
</div>
<div class="t m0 x3 h6 y24 ff1 fs2 fc0 sc1 ls0 ws0">(二)<span class="_ _1"></span>因乙方运输前未与客户联系造成运输位置发生偏差,<span
class="_ _1"></span>由乙方自身承担
</div>
<div class="t m0 x3 h6 y25 ff1 fs2 fc0 sc1 ls0 ws0">损失。</div>
<div class="t m0 x3 h6 y26 ff1 fs2 fc0 sc1 ls0 ws0">(三)<span class="_ _1"></span>在运输过程中,<span
class="_ _1"></span>因乙方自身违反交通法规或者驾驶不当而产生的任何
</div>
<div class="t m0 x3 h6 y27 ff1 fs2 fc0 sc1 ls0 ws0">
事故和货物损失,应该由乙方承担全部责任,向甲方赔偿货物损失。
</div>
<div class="t m0 x3 h6 y28 ff1 fs2 fc0 sc1 ls0 ws0">运输过程中产生道路交通事故,<span
class="_ _2"></span>依照有关部门出具的责任认定书划分责任后,
</div>
<div class="t m0 x3 h6 y29 ff1 fs2 fc0 sc1 ls0 ws0">
无论乙方责任比例如何,因此造成的一切后果由乙方自行承担。
</div>
<div class="t m0 x3 h6 y2a ff1 fs2 fc0 sc1 ls0 ws0">
(四)若乙方非不可抗力因素而未遵守协议中列举的各项纪律,
</div>
<div class="t m0 x3 h7 y2b ff1 fs2 fc0 sc1 ls0 ws1">乙方应完全按照甲方要求,<span
class="_ _5"></span>在规定时间、<span
class="_ _5"></span>地点完成好运平台司机<span class="ff3"> </span><span
class="ws2">A<span class="_ _6"></span>PP<span class="ff3"> </span><span
class="ws0">相应操</span></span></div>
<div class="t m0 x3 h6 y2c ff1 fs2 fc0 sc1 ls0 ws0">作,<span class="_ _2"></span>完成单据上传;<span
class="_ _7"></span>如乙方不操作、<span class="_ _7"></span>操作不及时、<span
class="_ _2"></span>操作错误均视为乙方违约,
</div>
<div class="t m0 x3 h6 y2d ff1 fs2 fc0 sc1 ls0 ws0">
甲方有权扣减上述情况所对应订单的乙方应收运输费用。
</div>
<div class="t m0 x3 h7 y2e ff1 fs2 fc0 sc1 ls0 ws1">(五)违约责任若有单方违约,违约方应向另一方缴纳<span
class="ff3"> </span>1000<span class="ff3"> </span><span
class="ws0">元违约金,违</span></div>
<div class="t m0 x3 h6 y2f ff1 fs2 fc0 sc1 ls0 ws0">约金不足以弥补实际损失的,<span
class="_ _1"></span>违约方应当就守约方损失补足。<span class="_ _1"></span>甲方依法向第
</div>
<div class="t m0 x3 h6 y30 ff1 fs2 fc0 sc1 ls0 ws0">三方先行赔付的,有权向乙方追偿。</div>
<div class="t m0 x3 h6 y31 ff1 fs2 fc2 sc2 ls0 ws0">
(六)乙方同意甲方在符合相关税务机关要求的情况下为乙方代开增值税发
</div>
<div class="t m0 x3 h6 y32 ff1 fs2 fc2 sc2 ls0 ws0">
票,所产生的增值税和附加税由乙方承担,具体税率依据国家相关规定执
</div>
<div class="t m0 x3 h6 y33 ff1 fs2 fc2 sc2 ls0 ws0">行。</div>
<div class="t m0 x2 h6 y34 ff1 fs2 fc0 sc1 ls0 ws0">四、本协议条款最终解释权归甲方所有。
</div>
<div class="t m0 x2 h6 y35 ff1 fs2 fc0 sc1 ls0 ws0">五、<span class="_ _2"></span>纠纷处理:<span
class="_ _2"></span>双方协商解决,<span class="_ _8"></span>协商不成任何一方可向河南大河速递广告有限公
</div>
<div class="t m0 x2 h6 y36 ff1 fs2 fc0 sc1 ls0 ws0">司济源分公司母公司人民法院起诉。
</div>
<div class="t m0 x2 h6 y37 ff1 fs2 fc0 sc1 ls0 ws0">六、协议签订期限</div>
<div class="t m0 x3 h6 y38 ff1 fs2 fc0 sc1 ls0 ws0">本合同一次一签。</div>
<div class="t m0 x2 h3 y39 ff1 fs1 fc0 sc1 ls0 ws0">甲方:</div>
<div class="t m0 x6 h3 y3a ff1 fs1 fc0 sc1 ls0 ws0"><span class="_ _9"> </span><span
class="_ _a"> </span>
</div>
</div>
<div class="pi"
data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div>
</div>
<div id="pf3" class="pf w0 h0" data-page-no="3">
<div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="bg3.png"/>
<div class="t m0 x2 h3 y20 ff1 fs1 fc0 sc1 ls0 ws0">乙方:</div>
<div class="t m0 x2 h3 y21 ff1 fs1 fc0 sc1 ls0 ws0">身份证号码:</div>
<div class="t m0 x2 h3 y22 ff1 fs1 fc0 sc1 ls0 ws0">车牌号:</div>
<div class="t m0 x6 h3 y23 ff1 fs1 fc0 sc1 ls0 ws0"><span class="_ _9"> </span><span
class="_ _9"> </span>
</div>
<div class="c x7 y3b w2 h4">
<div class="t m0 x5 h5 y1f ff2 fs1 fc1 sc1 ls0 ws0">412722198310121512</div>
</div>
<div class="c x7 y3c w2 h4">
<div class="t m0 x5 h5 y1f ff2 fs1 fc1 sc1 ls0 ws0">豫A1618T</div>
</div>
</div>
<div class="pi"
data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div>
</div>
</div>
<div class="loading-indicator">
<img alt="" src="pdf2htmlEX-64x64.png"/>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -0,0 +1,7 @@
/*
Copyright 2012 Mozilla Foundation
Copyright 2013 Lu Wang <coolwanglu@gmail.com>
Apachine License Version 2.0
*/
(function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;
var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})();

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,263 @@
<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/coolwanglu/pdf2htmlex) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url(f1.woff)format("woff");}.ff1{font-family:ff1;line-height:1.015000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url(f2.woff)format("woff");}.ff2{font-family:ff2;line-height:0.921875;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url(f3.woff)format("woff");}.ff3{font-family:ff3;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-ms-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-webkit-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc2{text-shadow:-0.015em 0 rgb(255,0,0),0 0.015em rgb(255,0,0),0.015em 0 rgb(255,0,0),0 -0.015em rgb(255,0,0);}
.sc1{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
.sc0{text-shadow:-0.015em 0 rgb(0,0,8),0 0.015em rgb(0,0,8),0.015em 0 rgb(0,0,8),0 -0.015em rgb(0,0,8);}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc2{-webkit-text-stroke:0.015em rgb(255,0,0);text-shadow:none;}
.sc1{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
.sc0{-webkit-text-stroke:0.015em rgb(0,0,8);text-shadow:none;}
}
.ws2{word-spacing:-1.348000px;}
.ws1{word-spacing:-1.344000px;}
.ws0{word-spacing:0.000000px;}
._4{margin-left:-15.363984px;}
._5{margin-left:-10.563984px;}
._7{margin-left:-8.644400px;}
._2{margin-left:-6.720000px;}
._8{margin-left:-5.280360px;}
._1{margin-left:-3.363984px;}
._0{margin-left:-1.920000px;}
._6{width:1.256064px;}
._3{width:12.000000px;}
._a{width:71.992656px;}
._9{width:95.991216px;}
.fc2{color:rgb(255,0,0);}
.fc1{color:rgb(0,0,0);}
.fc0{color:rgb(0,0,8);}
.fs1{font-size:48.000000px;}
.fs2{font-size:48.004000px;}
.fs0{font-size:72.000000px;}
.y0{bottom:0.000000px;}
.y1f{bottom:5.820000px;}
.y3a{bottom:85.175600px;}
.y1d{bottom:91.250000px;}
.y39{bottom:108.574200px;}
.y1c{bottom:114.650000px;}
.y1b{bottom:138.050000px;}
.y1a{bottom:161.450000px;}
.y19{bottom:184.850000px;}
.y38{bottom:192.799000px;}
.y18{bottom:208.250000px;}
.y37{bottom:212.877000px;}
.y17{bottom:231.650000px;}
.y36{bottom:236.277000px;}
.y16{bottom:255.050000px;}
.y35{bottom:259.677000px;}
.y15{bottom:278.450000px;}
.y34{bottom:283.077000px;}
.y14{bottom:301.850000px;}
.y33{bottom:309.650000px;}
.y13{bottom:325.250000px;}
.y32{bottom:333.050000px;}
.y12{bottom:348.650000px;}
.y31{bottom:356.450000px;}
.y11{bottom:372.050000px;}
.y30{bottom:379.850000px;}
.y10{bottom:395.450000px;}
.y2f{bottom:403.250000px;}
.yf{bottom:418.850000px;}
.y2e{bottom:427.350000px;}
.ye{bottom:442.250000px;}
.y2d{bottom:450.050000px;}
.yd{bottom:465.650000px;}
.y2c{bottom:473.450000px;}
.yc{bottom:489.050000px;}
.y2b{bottom:497.550000px;}
.yb{bottom:512.450000px;}
.y2a{bottom:520.250000px;}
.ya{bottom:535.850000px;}
.y29{bottom:543.650000px;}
.y9{bottom:559.250000px;}
.y28{bottom:567.050000px;}
.y8{bottom:582.650000px;}
.y27{bottom:590.450000px;}
.y7{bottom:606.050000px;}
.y26{bottom:613.850000px;}
.y6{bottom:629.450000px;}
.y25{bottom:637.250000px;}
.y5{bottom:652.850000px;}
.y24{bottom:660.650000px;}
.y4{bottom:676.250000px;}
.y23{bottom:684.050000px;}
.y1e{bottom:693.550000px;}
.y3{bottom:699.650000px;}
.y3c{bottom:701.690000px;}
.y22{bottom:707.450000px;}
.y2{bottom:723.050000px;}
.y3b{bottom:725.330000px;}
.y21{bottom:730.850000px;}
.y1{bottom:748.370000px;}
.y20{bottom:754.250000px;}
.h4{height:22.000000px;}
.h3{height:39.072000px;}
.h6{height:39.075256px;}
.h5{height:39.375000px;}
.h7{height:42.243520px;}
.h2{height:58.608000px;}
.h0{height:841.900000px;}
.h1{height:842.000000px;}
.w2{width:150.000000px;}
.w0{width:595.300000px;}
.w1{width:595.500000px;}
.x0{left:0.000000px;}
.x5{left:2.000000px;}
.x2{left:90.000000px;}
.x3{left:111.000000px;}
.x4{left:126.350000px;}
.x6{left:138.735150px;}
.x7{left:158.900000px;}
.x1{left:234.600000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws2{word-spacing:-1.797333pt;}
.ws1{word-spacing:-1.792000pt;}
.ws0{word-spacing:0.000000pt;}
._4{margin-left:-20.485312pt;}
._5{margin-left:-14.085312pt;}
._7{margin-left:-11.525867pt;}
._2{margin-left:-8.960000pt;}
._8{margin-left:-7.040480pt;}
._1{margin-left:-4.485312pt;}
._0{margin-left:-2.560000pt;}
._6{width:1.674753pt;}
._3{width:16.000000pt;}
._a{width:95.990208pt;}
._9{width:127.988288pt;}
.fs1{font-size:64.000000pt;}
.fs2{font-size:64.005333pt;}
.fs0{font-size:96.000000pt;}
.y0{bottom:0.000000pt;}
.y1f{bottom:7.760000pt;}
.y3a{bottom:113.567467pt;}
.y1d{bottom:121.666667pt;}
.y39{bottom:144.765600pt;}
.y1c{bottom:152.866667pt;}
.y1b{bottom:184.066667pt;}
.y1a{bottom:215.266667pt;}
.y19{bottom:246.466667pt;}
.y38{bottom:257.065333pt;}
.y18{bottom:277.666667pt;}
.y37{bottom:283.836000pt;}
.y17{bottom:308.866667pt;}
.y36{bottom:315.036000pt;}
.y16{bottom:340.066667pt;}
.y35{bottom:346.236000pt;}
.y15{bottom:371.266667pt;}
.y34{bottom:377.436000pt;}
.y14{bottom:402.466667pt;}
.y33{bottom:412.866667pt;}
.y13{bottom:433.666667pt;}
.y32{bottom:444.066667pt;}
.y12{bottom:464.866667pt;}
.y31{bottom:475.266667pt;}
.y11{bottom:496.066667pt;}
.y30{bottom:506.466667pt;}
.y10{bottom:527.266667pt;}
.y2f{bottom:537.666667pt;}
.yf{bottom:558.466667pt;}
.y2e{bottom:569.800000pt;}
.ye{bottom:589.666667pt;}
.y2d{bottom:600.066667pt;}
.yd{bottom:620.866667pt;}
.y2c{bottom:631.266667pt;}
.yc{bottom:652.066667pt;}
.y2b{bottom:663.400000pt;}
.yb{bottom:683.266667pt;}
.y2a{bottom:693.666667pt;}
.ya{bottom:714.466667pt;}
.y29{bottom:724.866667pt;}
.y9{bottom:745.666667pt;}
.y28{bottom:756.066667pt;}
.y8{bottom:776.866667pt;}
.y27{bottom:787.266667pt;}
.y7{bottom:808.066667pt;}
.y26{bottom:818.466667pt;}
.y6{bottom:839.266667pt;}
.y25{bottom:849.666667pt;}
.y5{bottom:870.466667pt;}
.y24{bottom:880.866667pt;}
.y4{bottom:901.666667pt;}
.y23{bottom:912.066667pt;}
.y1e{bottom:924.733333pt;}
.y3{bottom:932.866667pt;}
.y3c{bottom:935.586667pt;}
.y22{bottom:943.266667pt;}
.y2{bottom:964.066667pt;}
.y3b{bottom:967.106667pt;}
.y21{bottom:974.466667pt;}
.y1{bottom:997.826667pt;}
.y20{bottom:1005.666667pt;}
.h4{height:29.333333pt;}
.h3{height:52.096000pt;}
.h6{height:52.100341pt;}
.h5{height:52.500000pt;}
.h7{height:56.324693pt;}
.h2{height:78.144000pt;}
.h0{height:1122.533333pt;}
.h1{height:1122.666667pt;}
.w2{width:200.000000pt;}
.w0{width:793.733333pt;}
.w1{width:794.000000pt;}
.x0{left:0.000000pt;}
.x5{left:2.666667pt;}
.x2{left:120.000000pt;}
.x3{left:148.000000pt;}
.x4{left:168.466667pt;}
.x6{left:184.980200pt;}
.x7{left:211.866667pt;}
.x1{left:312.800000pt;}
}
</style>
<script src="compatibility.min.js"></script>
<script src="pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
</div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="bg1.png"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">驾驶员承运协议</div><div class="t m0 x2 h3 y2 ff1 fs1 fc0 sc1 ls0 ws0">甲方:河南大河速递广告有限公司济源分公司</div><div class="t m0 x2 h3 y3 ff1 fs1 fc0 sc1 ls0 ws0">乙方:</div><div class="t m0 x2 h3 y4 ff1 fs1 fc0 sc1 ls0 ws0">根据中华人民共和国《民法典》有关规定,经双方协商同意,签订协议如下:</div><div class="t m0 x2 h3 y5 ff1 fs1 fc0 sc1 ls0 ws0">一、义务与责任</div><div class="t m0 x3 h3 y6 ff1 fs1 fc0 sc1 ls0 ws0">(一)乙方在合作期间应该严格遵守一切法律、法规和政策制度。</div><div class="t m0 x3 h3 y7 ff1 fs1 fc0 sc1 ls0 ws0">(二)<span class="_ _0"></span>乙方为甲方运输货物,<span class="_ _0"></span>应该以甲方利益为第一出发点,<span class="_ _0"></span>友好、真诚对</div><div class="t m0 x3 h3 y8 ff1 fs1 fc0 sc1 ls0 ws0">待客户,<span class="_ _1"></span>不能与客户有任何不必要的冲突;<span class="_ _1"></span>有需要时应第一时间寻求好运平</div><div class="t m0 x3 h3 y9 ff1 fs1 fc0 sc1 ls0 ws0">台客服协助;</div><div class="t m0 x3 h3 ya ff1 fs1 fc0 sc1 ls0 ws0">(三)<span class="_ _1"></span>乙方需在出发前与客户联系,<span class="_ _0"></span>按照客户方要求准时到达交货地点,<span class="_ _0"></span></div><div class="t m0 x3 h3 yb ff1 fs1 fc0 sc1 ls0 ws0">得向甲方公司以外的任何人泄露任何客户的信息。<span class="_ _2"></span>否则甲方有权拒绝支付乙</div><div class="t m0 x3 h3 yc ff1 fs1 fc0 sc1 ls0 ws0">方货款并向乙方主张因此造成的全部损失。</div><div class="t m0 x3 h3 yd ff1 fs1 fc0 sc1 ls0 ws0">(四)<span class="_ _1"></span>乙方有责任负责装车货物的外包装品质,<span class="_ _1"></span>如有异常的应拒绝装车或在</div><div class="t m0 x3 h3 ye ff1 fs1 fc0 sc1 ls0 ws0">单据中有发货方认可的书面记录。</div><div class="t m0 x3 h3 yf ff1 fs1 fc0 sc1 ls0 ws0">(五)<span class="_ _0"></span>乙方装好货物应该盖好籩布,<span class="_ _0"></span>保护货物不会因为雨、<span class="_ _0"></span>风、太阳等因素</div><div class="t m0 x3 h3 y10 ff1 fs1 fc0 sc1 ls0 ws0">受的影响。<span class="_ _1"></span>因乙方故意或过失,<span class="_ _0"></span>不盖篷布造成货物损失的,<span class="_ _0"></span>乙方应承担全部</div><div class="t m0 x3 h3 y11 ff1 fs1 fc0 sc1 ls0 ws0">责任。</div><div class="t m0 x3 h3 y12 ff1 fs1 fc0 sc1 ls0 ws0">(六)<span class="_ _1"></span>乙方有义务帮助甲方交货、<span class="_ _0"></span>在客户提出货物数量有问题时,<span class="_ _0"></span>乙方则应</div><div class="t m0 x3 h3 y13 ff1 fs1 fc0 sc1 ls0 ws0">该帮忙清点货物数量,并第一时间告知甲方处理。</div><div class="t m0 x3 h3 y14 ff1 fs1 fc0 sc1 ls0 ws0">(七)<span class="_ _0"></span>乙方应妥善保管甲方票据,<span class="_ _0"></span>如因乙方遗失,<span class="_ _0"></span>由乙方承担全部责任。在</div><div class="t m0 x3 h3 y15 ff1 fs1 fc0 sc1 ls0 ws0">货物运输工作完成后<span class="_ _3"> </span>5<span class="_ _3"> </span>天之内,<span class="_ _4"></span>应及时将回执单、<span class="_ _4"></span>票据等上缴给甲方财务处。</div><div class="t m0 x2 h3 y16 ff1 fs1 fc0 sc1 ls0 ws0">二、运输安全要求</div><div class="t m0 x3 h3 y17 ff1 fs1 fc0 sc1 ls0 ws0">(一)<span class="_ _1"></span>乙方应该对其运输过程中的包括但不限于乙方、<span class="_ _1"></span>第三方在内的一切人</div><div class="t m0 x3 h3 y18 ff1 fs1 fc0 sc1 ls0 ws0">身、财产安全承担全部责任。</div><div class="t m0 x3 h3 y19 ff1 fs1 fc0 sc1 ls0 ws0">(二)<span class="_ _1"></span>乙方在出发前应该对运输车辆的各项性能进行仔细检查,<span class="_ _1"></span>以避免运输</div><div class="t m0 x3 h3 y1a ff1 fs1 fc0 sc1 ls0 ws0">途中车辆出现安全事故。若因车辆故障、损坏等因素造成货物质量受影响,</div><div class="t m0 x3 h3 y1b ff1 fs1 fc0 sc1 ls0 ws0">乙方因承担全部责任。</div><div class="t m0 x3 h3 y1c ff1 fs1 fc0 sc1 ls0 ws0">(三)<span class="_ _5"></span>乙方在到达卸货地点后应该提高警惕,<span class="_ _5"></span>若因乙方疏忽造成绿地、<span class="_ _5"></span>路面、</div><div class="t m0 x3 h3 y1d ff1 fs1 fc0 sc1 ls0 ws0">花坛等破坏乙方承担全部责任。</div><div class="c x4 y1e w2 h4"><div class="t m0 x5 h5 y1f ff2 fs1 fc1 sc1 ls0 ws0">刘艳伟</div></div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="bg2.png"/><div class="t m0 x3 h3 y20 ff1 fs1 fc0 sc1 ls0 ws0">(四)<span class="_ _1"></span>乙方应将发现的相关安全隐患及时报告给收货方及甲方,<span class="_ _1"></span>以便双方协</div><div class="t m0 x3 h3 y21 ff1 fs1 fc0 sc1 ls0 ws0">调解决,避免安全事故的发生。</div><div class="t m0 x2 h3 y22 ff1 fs1 fc0 sc1 ls0 ws0">三、运输责任定义</div><div class="t m0 x3 h6 y23 ff1 fs2 fc0 sc1 ls0 ws0">(一)运输前,甲方有义务将该货物的具体情况告知乙方;</div><div class="t m0 x3 h6 y24 ff1 fs2 fc0 sc1 ls0 ws0">(二)<span class="_ _1"></span>因乙方运输前未与客户联系造成运输位置发生偏差,<span class="_ _1"></span>由乙方自身承担</div><div class="t m0 x3 h6 y25 ff1 fs2 fc0 sc1 ls0 ws0">损失。</div><div class="t m0 x3 h6 y26 ff1 fs2 fc0 sc1 ls0 ws0">(三)<span class="_ _1"></span>在运输过程中,<span class="_ _1"></span>因乙方自身违反交通法规或者驾驶不当而产生的任何</div><div class="t m0 x3 h6 y27 ff1 fs2 fc0 sc1 ls0 ws0">事故和货物损失,应该由乙方承担全部责任,向甲方赔偿货物损失。</div><div class="t m0 x3 h6 y28 ff1 fs2 fc0 sc1 ls0 ws0">运输过程中产生道路交通事故,<span class="_ _2"></span>依照有关部门出具的责任认定书划分责任后,</div><div class="t m0 x3 h6 y29 ff1 fs2 fc0 sc1 ls0 ws0">无论乙方责任比例如何,因此造成的一切后果由乙方自行承担。</div><div class="t m0 x3 h6 y2a ff1 fs2 fc0 sc1 ls0 ws0">(四)若乙方非不可抗力因素而未遵守协议中列举的各项纪律,</div><div class="t m0 x3 h7 y2b ff1 fs2 fc0 sc1 ls0 ws1">乙方应完全按照甲方要求,<span class="_ _5"></span>在规定时间、<span class="_ _5"></span>地点完成好运平台司机<span class="ff3"> </span><span class="ws2">A<span class="_ _6"></span>PP<span class="ff3"> </span><span class="ws0">相应操</span></span></div><div class="t m0 x3 h6 y2c ff1 fs2 fc0 sc1 ls0 ws0">作,<span class="_ _2"></span>完成单据上传;<span class="_ _7"></span>如乙方不操作、<span class="_ _7"></span>操作不及时、<span class="_ _2"></span>操作错误均视为乙方违约,</div><div class="t m0 x3 h6 y2d ff1 fs2 fc0 sc1 ls0 ws0">甲方有权扣减上述情况所对应订单的乙方应收运输费用。</div><div class="t m0 x3 h7 y2e ff1 fs2 fc0 sc1 ls0 ws1">(五)违约责任若有单方违约,违约方应向另一方缴纳<span class="ff3"> </span>1000<span class="ff3"> </span><span class="ws0">元违约金,违</span></div><div class="t m0 x3 h6 y2f ff1 fs2 fc0 sc1 ls0 ws0">约金不足以弥补实际损失的,<span class="_ _1"></span>违约方应当就守约方损失补足。<span class="_ _1"></span>甲方依法向第</div><div class="t m0 x3 h6 y30 ff1 fs2 fc0 sc1 ls0 ws0">三方先行赔付的,有权向乙方追偿。</div><div class="t m0 x3 h6 y31 ff1 fs2 fc2 sc2 ls0 ws0">(六)乙方同意甲方在符合相关税务机关要求的情况下为乙方代开增值税发</div><div class="t m0 x3 h6 y32 ff1 fs2 fc2 sc2 ls0 ws0">票,所产生的增值税和附加税由乙方承担,具体税率依据国家相关规定执</div><div class="t m0 x3 h6 y33 ff1 fs2 fc2 sc2 ls0 ws0">行。</div><div class="t m0 x2 h6 y34 ff1 fs2 fc0 sc1 ls0 ws0">四、本协议条款最终解释权归甲方所有。</div><div class="t m0 x2 h6 y35 ff1 fs2 fc0 sc1 ls0 ws0">五、<span class="_ _2"></span>纠纷处理:<span class="_ _2"></span>双方协商解决,<span class="_ _8"></span>协商不成任何一方可向河南大河速递广告有限公</div><div class="t m0 x2 h6 y36 ff1 fs2 fc0 sc1 ls0 ws0">司济源分公司母公司人民法院起诉。</div><div class="t m0 x2 h6 y37 ff1 fs2 fc0 sc1 ls0 ws0">六、协议签订期限</div><div class="t m0 x3 h6 y38 ff1 fs2 fc0 sc1 ls0 ws0">本合同一次一签。</div><div class="t m0 x2 h3 y39 ff1 fs1 fc0 sc1 ls0 ws0">甲方:</div><div class="t m0 x6 h3 y3a ff1 fs1 fc0 sc1 ls0 ws0"><span class="_ _9"> </span><span class="_ _a"> </span></div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="bg3.png"/><div class="t m0 x2 h3 y20 ff1 fs1 fc0 sc1 ls0 ws0">乙方:</div><div class="t m0 x2 h3 y21 ff1 fs1 fc0 sc1 ls0 ws0">身份证号码:</div><div class="t m0 x2 h3 y22 ff1 fs1 fc0 sc1 ls0 ws0">车牌号:</div><div class="t m0 x6 h3 y23 ff1 fs1 fc0 sc1 ls0 ws0"><span class="_ _9"> </span><span class="_ _9"> </span></div><div class="c x7 y3b w2 h4"><div class="t m0 x5 h5 y1f ff2 fs1 fc1 sc1 ls0 ws0">412722198310121512</div></div><div class="c x7 y3c w2 h4"><div class="t m0 x5 h5 y1f ff2 fs1 fc1 sc1 ls0 ws0">豫A1618T</div></div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
</div>
<div class="loading-indicator">
<img alt="" src="pdf2htmlEX-64x64.png"/>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,27 @@
(function(){/*
pdf2htmlEX.js: Core UI functions for pdf2htmlEX
Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
*/
var pdf2htmlEX=window.pdf2htmlEX=window.pdf2htmlEX||{},CSS_CLASS_NAMES={page_frame:"pf",page_content_box:"pc",page_data:"pi",background_image:"bi",link:"l",input_radio:"ir",__dummy__:"no comma"},DEFAULT_CONFIG={container_id:"page-container",sidebar_id:"sidebar",outline_id:"outline",loading_indicator_cls:"loading-indicator",preload_pages:3,render_timeout:100,scale_step:0.9,key_handler:!0,hashchange_handler:!0,view_history_handler:!0,__dummy__:"no comma"},EPS=1E-6;
function invert(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[3]*a[4])/b,(a[1]*a[4]-a[0]*a[5])/b]}function transform(a,b){return[a[0]*b[0]+a[2]*b[1]+a[4],a[1]*b[0]+a[3]*b[1]+a[5]]}function get_page_number(a){return parseInt(a.getAttribute("data-page-no"),16)}function disable_dragstart(a){for(var b=0,c=a.length;b<c;++b)a[b].addEventListener("dragstart",function(){return!1},!1)}
function clone_and_extend_objs(a){for(var b={},c=0,e=arguments.length;c<e;++c){var h=arguments[c],d;for(d in h)h.hasOwnProperty(d)&&(b[d]=h[d])}return b}
function Page(a){if(a){this.shown=this.loaded=!1;this.page=a;this.num=get_page_number(a);this.original_height=a.clientHeight;this.original_width=a.clientWidth;var b=a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];b&&(this.content_box=b,this.original_scale=this.cur_scale=this.original_height/b.clientHeight,this.page_data=JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")),this.ctm=this.page_data.ctm,this.ictm=invert(this.ctm),this.loaded=!0)}}
Page.prototype={hide:function(){this.loaded&&this.shown&&(this.content_box.classList.remove("opened"),this.shown=!1)},show:function(){this.loaded&&!this.shown&&(this.content_box.classList.add("opened"),this.shown=!0)},rescale:function(a){this.cur_scale=0===a?this.original_scale:a;this.loaded&&(a=this.content_box.style,a.msTransform=a.webkitTransform=a.transform="scale("+this.cur_scale.toFixed(3)+")");a=this.page.style;a.height=this.original_height*this.cur_scale+"px";a.width=this.original_width*this.cur_scale+
"px"},view_position:function(){var a=this.page,b=a.parentNode;return[b.scrollLeft-a.offsetLeft-a.clientLeft,b.scrollTop-a.offsetTop-a.clientTop]},height:function(){return this.page.clientHeight},width:function(){return this.page.clientWidth}};function Viewer(a){this.config=clone_and_extend_objs(DEFAULT_CONFIG,0<arguments.length?a:{});this.pages_loading=[];this.init_before_loading_content();var b=this;document.addEventListener("DOMContentLoaded",function(){b.init_after_loading_content()},!1)}
Viewer.prototype={scale:1,cur_page_idx:0,first_page_idx:0,init_before_loading_content:function(){this.pre_hide_pages()},initialize_radio_button:function(){for(var a=document.getElementsByClassName(CSS_CLASS_NAMES.input_radio),b=0;b<a.length;b++)a[b].addEventListener("click",function(){this.classList.toggle("checked")})},init_after_loading_content:function(){this.sidebar=document.getElementById(this.config.sidebar_id);this.outline=document.getElementById(this.config.outline_id);this.container=document.getElementById(this.config.container_id);
this.loading_indicator=document.getElementsByClassName(this.config.loading_indicator_cls)[0];for(var a=!0,b=this.outline.childNodes,c=0,e=b.length;c<e;++c)if("ul"===b[c].nodeName.toLowerCase()){a=!1;break}a||this.sidebar.classList.add("opened");this.find_pages();if(0!=this.pages.length){disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));this.config.key_handler&&this.register_key_handler();var h=this;this.config.hashchange_handler&&window.addEventListener("hashchange",
function(a){h.navigate_to_dest(document.location.hash.substring(1))},!1);this.config.view_history_handler&&window.addEventListener("popstate",function(a){a.state&&h.navigate_to_dest(a.state)},!1);this.container.addEventListener("scroll",function(){h.update_page_idx();h.schedule_render(!0)},!1);[this.container,this.outline].forEach(function(a){a.addEventListener("click",h.link_handler.bind(h),!1)});this.initialize_radio_button();this.render()}},find_pages:function(){for(var a=[],b={},c=this.container.childNodes,
e=0,h=c.length;e<h;++e){var d=c[e];d.nodeType===Node.ELEMENT_NODE&&d.classList.contains(CSS_CLASS_NAMES.page_frame)&&(d=new Page(d),a.push(d),b[d.num]=a.length-1)}this.pages=a;this.page_map=b},load_page:function(a,b,c){var e=this.pages;if(!(a>=e.length||(e=e[a],e.loaded||this.pages_loading[a]))){var e=e.page,h=e.getAttribute("data-page-url");if(h){this.pages_loading[a]=!0;var d=e.getElementsByClassName(this.config.loading_indicator_cls)[0];"undefined"===typeof d&&(d=this.loading_indicator.cloneNode(!0),
d.classList.add("active"),e.appendChild(d));var f=this,g=new XMLHttpRequest;g.open("GET",h,!0);g.onload=function(){if(200===g.status||0===g.status){var b=document.createElement("div");b.innerHTML=g.responseText;for(var d=null,b=b.childNodes,e=0,h=b.length;e<h;++e){var p=b[e];if(p.nodeType===Node.ELEMENT_NODE&&p.classList.contains(CSS_CLASS_NAMES.page_frame)){d=p;break}}b=f.pages[a];f.container.replaceChild(d,b.page);b=new Page(d);f.pages[a]=b;b.hide();b.rescale(f.scale);disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
f.schedule_render(!1);c&&c(b)}delete f.pages_loading[a]};g.send(null)}void 0===b&&(b=this.config.preload_pages);0<--b&&(f=this,setTimeout(function(){f.load_page(a+1,b)},0))}},pre_hide_pages:function(){var a="@media screen{."+CSS_CLASS_NAMES.page_content_box+"{display:none;}}",b=document.createElement("style");b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a));document.head.appendChild(b)},render:function(){for(var a=this.container,b=a.scrollTop,c=a.clientHeight,a=b-c,b=
b+c+c,c=this.pages,e=0,h=c.length;e<h;++e){var d=c[e],f=d.page,g=f.offsetTop+f.clientTop,f=g+f.clientHeight;g<=b&&f>=a?d.loaded?d.show():this.load_page(e):d.hide()}},update_page_idx:function(){var a=this.pages,b=a.length;if(!(2>b)){for(var c=this.container,e=c.scrollTop,c=e+c.clientHeight,h=-1,d=b,f=d-h;1<f;){var g=h+Math.floor(f/2),f=a[g].page;f.offsetTop+f.clientTop+f.clientHeight>=e?d=g:h=g;f=d-h}this.first_page_idx=d;for(var g=h=this.cur_page_idx,k=0;d<b;++d){var f=a[d].page,l=f.offsetTop+f.clientTop,
f=f.clientHeight;if(l>c)break;f=(Math.min(c,l+f)-Math.max(e,l))/f;if(d===h&&Math.abs(f-1)<=EPS){g=h;break}f>k&&(k=f,g=d)}this.cur_page_idx=g}},schedule_render:function(a){if(void 0!==this.render_timer){if(!a)return;clearTimeout(this.render_timer)}var b=this;this.render_timer=setTimeout(function(){delete b.render_timer;b.render()},this.config.render_timeout)},register_key_handler:function(){var a=this;window.addEventListener("DOMMouseScroll",function(b){if(b.ctrlKey){b.preventDefault();var c=a.container,
e=c.getBoundingClientRect(),c=[b.clientX-e.left-c.clientLeft,b.clientY-e.top-c.clientTop];a.rescale(Math.pow(a.config.scale_step,b.detail),!0,c)}},!1);window.addEventListener("keydown",function(b){var c=!1,e=b.ctrlKey||b.metaKey,h=b.altKey;switch(b.keyCode){case 61:case 107:case 187:e&&(a.rescale(1/a.config.scale_step,!0),c=!0);break;case 173:case 109:case 189:e&&(a.rescale(a.config.scale_step,!0),c=!0);break;case 48:e&&(a.rescale(0,!1),c=!0);break;case 33:h?a.scroll_to(a.cur_page_idx-1):a.container.scrollTop-=
a.container.clientHeight;c=!0;break;case 34:h?a.scroll_to(a.cur_page_idx+1):a.container.scrollTop+=a.container.clientHeight;c=!0;break;case 35:a.container.scrollTop=a.container.scrollHeight;c=!0;break;case 36:a.container.scrollTop=0,c=!0}c&&b.preventDefault()},!1)},rescale:function(a,b,c){var e=this.scale;this.scale=a=0===a?1:b?e*a:a;c||(c=[0,0]);b=this.container;c[0]+=b.scrollLeft;c[1]+=b.scrollTop;for(var h=this.pages,d=h.length,f=this.first_page_idx;f<d;++f){var g=h[f].page;if(g.offsetTop+g.clientTop>=
c[1])break}g=f-1;0>g&&(g=0);var g=h[g].page,k=g.clientWidth,f=g.clientHeight,l=g.offsetLeft+g.clientLeft,m=c[0]-l;0>m?m=0:m>k&&(m=k);k=g.offsetTop+g.clientTop;c=c[1]-k;0>c?c=0:c>f&&(c=f);for(f=0;f<d;++f)h[f].rescale(a);b.scrollLeft+=m/e*a+g.offsetLeft+g.clientLeft-m-l;b.scrollTop+=c/e*a+g.offsetTop+g.clientTop-c-k;this.schedule_render(!0)},fit_width:function(){var a=this.cur_page_idx;this.rescale(this.container.clientWidth/this.pages[a].width(),!0);this.scroll_to(a)},fit_height:function(){var a=this.cur_page_idx;
this.rescale(this.container.clientHeight/this.pages[a].height(),!0);this.scroll_to(a)},get_containing_page:function(a){for(;a;){if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains(CSS_CLASS_NAMES.page_frame)){a=get_page_number(a);var b=this.page_map;return a in b?this.pages[b[a]]:null}a=a.parentNode}return null},link_handler:function(a){var b=a.target,c=b.getAttribute("data-dest-detail");if(c){if(this.config.view_history_handler)try{var e=this.get_current_view_hash();window.history.replaceState(e,
"","#"+e);window.history.pushState(c,"","#"+c)}catch(h){}this.navigate_to_dest(c,this.get_containing_page(b));a.preventDefault()}},navigate_to_dest:function(a,b){try{var c=JSON.parse(a)}catch(e){return}if(c instanceof Array){var h=c[0],d=this.page_map;if(h in d){for(var f=d[h],h=this.pages[f],d=2,g=c.length;d<g;++d){var k=c[d];if(null!==k&&"number"!==typeof k)return}for(;6>c.length;)c.push(null);var g=b||this.pages[this.cur_page_idx],d=g.view_position(),d=transform(g.ictm,[d[0],g.height()-d[1]]),
g=this.scale,l=[0,0],m=!0,k=!1,n=this.scale;switch(c[1]){case "XYZ":l=[null===c[2]?d[0]:c[2]*n,null===c[3]?d[1]:c[3]*n];g=c[4];if(null===g||0===g)g=this.scale;k=!0;break;case "Fit":case "FitB":l=[0,0];k=!0;break;case "FitH":case "FitBH":l=[0,null===c[2]?d[1]:c[2]*n];k=!0;break;case "FitV":case "FitBV":l=[null===c[2]?d[0]:c[2]*n,0];k=!0;break;case "FitR":l=[c[2]*n,c[5]*n],m=!1,k=!0}if(k){this.rescale(g,!1);var p=this,c=function(a){l=transform(a.ctm,l);m&&(l[1]=a.height()-l[1]);p.scroll_to(f,l)};h.loaded?
c(h):(this.load_page(f,void 0,c),this.scroll_to(f))}}}},scroll_to:function(a,b){var c=this.pages;if(!(0>a||a>=c.length)){c=c[a].view_position();void 0===b&&(b=[0,0]);var e=this.container;e.scrollLeft+=b[0]-c[0];e.scrollTop+=b[1]-c[1]}},get_current_view_hash:function(){var a=[],b=this.pages[this.cur_page_idx];a.push(b.num);a.push("XYZ");var c=b.view_position(),c=transform(b.ictm,[c[0],b.height()-c[1]]);a.push(c[0]/this.scale);a.push(c[1]/this.scale);a.push(this.scale);return JSON.stringify(a)}};
pdf2htmlEX.Viewer=Viewer;})();

View File

@ -0,0 +1,34 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.ui.home.activity.BusinessActivity
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class BusinessAdapter :
BaseQuickAdapter<BusinessActivity.Model, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: BusinessActivity.Model?) {
holder.run {
setText(R.id.type_name, item?.type_name)
ImageLoader.getInstance().loadImage(context,item?.type_img,getView(R.id.type_icon))
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_business_type, parent)
}
}

View File

@ -0,0 +1,43 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.amap.api.services.core.PoiItem
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class BusinessListAdapter :
BaseQuickAdapter<PoiItem, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: PoiItem?) {
holder.run {
setText(R.id.name, item?.title)
setText(R.id.address, item?.snippet)
setText(R.id.taste, item?.tel)
item?.photos?.let {
if (it.size>0){
ImageLoader.getInstance()
.loadRoundImage(context, item?.photos?.get(0)?.url, 10, getView<ImageView>(R.id.photoUrl))
}
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_business_list, parent)
}
}

View File

@ -0,0 +1,51 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.CarBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class CarsAdapter() :
BaseQuickAdapter<CarBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CarBean?) {
holder.run {
setText(R.id.tvCarNum, item?.vehicleNum)
setText(R.id.tvCarType, item?.vehicleType)
setText(R.id.tvCarLen, """${if (!item?.carLong.isNullOrEmpty()) item?.carLong else ""}mm""")
setText(
R.id.tvCarWei,
"""${
if (!item?.approvedLoad.isNullOrEmpty()) item?.approvedLoad?.toFloat()
?.div(1000) else if (!item?.tractionWeight.isNullOrEmpty()) item?.tractionWeight?.toFloat()
?.div(1000) else 0
}"""
)
setGone(R.id.tvNotic,
!(item?.roadLicenseValidityOverdue=="1")
)
ImageLoader.getInstance()
.loadRoundImage(context, item?.carUrl, 6, getView<ImageView>(R.id.ivHead))
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_cars, parent)
}
}

View File

@ -0,0 +1,30 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.ProBean
/**
* @ClassName ComProAdatper
* @Author john
* @Date 2024/3/25 17:04
* @Description TODO
*/
class ComProAdatper : BaseQuickAdapter<ProBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: ProBean?) {
holder.run {
setText(R.id.tvProTitle, item?.problemName)
setText(R.id.tvContent, item?.problemDesc)
setText(R.id.tvNum, """${position + 1}""")
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
) = QuickViewHolder(R.layout.item_com_pro, parent)
}

View File

@ -0,0 +1,51 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.CarBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class DriverCarsAdapter() :
BaseQuickAdapter<CarBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CarBean?) {
holder.run {
setText(R.id.tvCarNum, item?.vehicleNum)
setText(R.id.tvCarType, item?.vehicleType)
setText(R.id.tvDriverName, item?.idcardName)
setText(R.id.tvPhone, item?.contactPhone)
setText(R.id.tvCarLen, """${if (!item?.carLong.isNullOrEmpty()) item?.carLong else ""}mm""")
setText(
R.id.tvCarWei,
"""${
if (!item?.approvedLoad.isNullOrEmpty()) item?.approvedLoad?.toFloat()
?.div(1000) else if (!item?.tractionWeight.isNullOrEmpty()) item?.tractionWeight?.toFloat()
?.div(1000) else 0
}"""
)
ImageLoader.getInstance()
.loadRoundImage(context, item?.carUrl, 6, getView<ImageView>(R.id.ivHead))
ImageLoader.getInstance()
.loadRoundImage(context, item?.avatar, 6, getView<ImageView>(R.id.ivDriverHead))
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_driver_cars, parent)
}
}

View File

@ -0,0 +1,42 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.CaptainBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class DriverTeamsAdapter() :
BaseQuickAdapter<CaptainBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CaptainBean?) {
item?.let {
holder.run {
setText(R.id.tvName, it.captainName)
setText(R.id.tvPhone, """司机:${item.driverNum} 车辆:${item.carNum}""")
setVisible(R.id.tvStatu, item.joinStatus == "0")
ImageLoader.getInstance()
.loadRoundImage(context, it.avatar, 6, getView<ImageView>(R.id.ivHead))
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_carteam, parent)
}
}

View File

@ -0,0 +1,48 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.DriverBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class DriversAdapter(var isInvite : Boolean = false) :
BaseQuickAdapter<DriverBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: DriverBean?) {
item?.let {
holder.run {
setText(R.id.tvName,it.idcardName)
setText(R.id.tvPhone,if (isInvite) it.contactPhone else it.driverPhone)
setText(R.id.tvDays,"""加入${it.diffDay}""")
ImageLoader.getInstance()
.loadRoundImage(context, it.driverAvatar, 6, getView<ImageView>(R.id.ivHead))
setVisible(R.id.tvStatu,it.level=="2")
setVisible(R.id.tvInvite,isInvite)
setVisible(R.id.vLine,!isInvite)
setVisible(R.id.tvDays,!isInvite)
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_driver, parent)
}
}

View File

@ -0,0 +1,71 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.GridBean
/**
* @ClassName GridItemAdapter
* @Author 用户
* @Date 2024/1/23 10:26
* @Description TODO
*/
class GridItemAdapter(private val context: Context, private val dataList: MutableList<GridBean>) :
BaseAdapter() {
private var cusLayout: Int = 0
constructor(context: Context, dataList: MutableList<GridBean>, mlayoutid: Int) : this(
context,
dataList
) {
this.cusLayout = mlayoutid
}
// 实现必要的方法...
override fun getCount(): Int {
return dataList.size
}
override fun getItem(position: Int): Any {
return dataList[position]
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
var view = convertView
var holder: ViewHolder
if (convertView == null) {
view = LayoutInflater.from(context)
.inflate(if (cusLayout == 0) R.layout.grid_item else cusLayout, null)
holder = ViewHolder()
holder.title = view.findViewById(R.id.title)
holder.image = view.findViewById(R.id.image)
view?.tag = holder
} else {
holder = (view?.tag) as ViewHolder
}
val item = dataList[position]
holder.title?.text = item.title
holder.image?.setBackgroundResource(item.image)
return view!!
}
private class ViewHolder {
var title: TextView? = null
var image: ImageView? = null
}
}

View File

@ -0,0 +1,37 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.InviteRecord
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class InviteRecordAdapter() :
BaseQuickAdapter<InviteRecord, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: InviteRecord?) {
item?.let {
holder.run {
setText(R.id.tvTime,it.createTime)
setText(R.id.tvContent, """${if (it.joinStatus=="0")"邀请 " else ""}${it.driverName} ${it.driverPhone} ${if (it.joinStatus=="2") "拒绝加入车队" else "加入车队"}""")
setText(R.id.tvReason,it.reason)
setGone(R.id.tvReason,it.joinStatus!="2")
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_invite_record, parent)
}
}

View File

@ -0,0 +1,36 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.MessageBean
/**
* @ClassName MessageAdapter
* @Author 用户
* @Date 2024/1/24 14:40
* @Description TODO
*/
class MessageAdapter : BaseQuickAdapter<MessageBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: MessageBean?) {
holder.run {
setText(R.id.tvTitle, item?.messageTypeLable)
setText(R.id.tvData, item?.createTime)
setText(R.id.tvProduct, item?.messageTitle)
setGone(R.id.tvBadge,item?.isRead=="1")
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_message, parent)
}
}

View File

@ -0,0 +1,51 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.CarBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class MineCarsAdapter() :
BaseQuickAdapter<CarBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CarBean?) {
holder.run {
setText(R.id.tvCarNum, item?.vehicleNum)
setText(R.id.tvCarType, item?.vehicleType)
// setText(R.id.tvCarLen, """${if (!item?.carLong.isNullOrEmpty()) item?.carLong else ""}mm""")
setText(
R.id.tvCarWei,
"""${if (!item?.carLong.isNullOrEmpty()) item?.carLong?.toDouble()?.div(1000) else ""}m/${
if (!item?.approvedLoad.isNullOrEmpty()) item?.approvedLoad?.toFloat()
?.div(1000) else if (!item?.tractionWeight.isNullOrEmpty()) item?.tractionWeight?.toFloat()
?.div(1000) else 0
}"""
)
// setGone(R.id.tvNotic,
// !(item?.roadLicenseValidityOverdue=="1")
// )
//
// ImageLoader.getInstance()
// .loadRoundImage(context, item?.carUrl, 6, getView<ImageView>(R.id.ivHead))
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_cars_mine, parent)
}
}

View File

@ -0,0 +1,43 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import java.util.ArrayList
/**
* Created by Administrator on 2018/7/16 0016.
*/
class MyHomePagerAdapter : FragmentStatePagerAdapter {
private lateinit var mTitles: Array<String>
private var mFragments = ArrayList<Fragment>()
constructor(fm: FragmentManager?) : super(fm!!) {}
constructor(
fm: FragmentManager?,
mTitles: Array<String>,
mFragments: ArrayList<Fragment>
) : super(
fm!!) {
this.mTitles = mTitles
this.mFragments = mFragments
}
// 初始化每个页卡选项
// @Override
// public Object instantiateItem(ViewGroup arg0, int arg1) {
// // TODO Auto-generated method stub
// node_return super.instantiateItem(arg0, arg1);
// }
override fun getCount(): Int {
return mFragments.size
}
override fun getPageTitle(position: Int): CharSequence? {
return mTitles[position]
}
override fun getItem(position: Int): Fragment {
return mFragments[position]
}
}

View File

@ -0,0 +1,31 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
/**
* @ClassName PagersAdapter
* @Author john
* @Date 2024/2/7 10:26
* @Description TODO
*/
class PagersAdapter(fragmentActivity: FragmentActivity,list:MutableList<Fragment>) : FragmentStateAdapter(fragmentActivity) {
private var fragmentList : MutableList<Fragment> =ArrayList()
init {
this.fragmentList = list
}
override fun getItemCount(): Int {
return fragmentList.size
}
override fun createFragment(position: Int): Fragment {
return fragmentList[position]
}
fun addFragment(fragment: Fragment){
fragmentList.add(fragment)
}
}

View File

@ -0,0 +1,31 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.QuestionBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName QuestionAdatper
* @Author john
* @Date 2024/3/25 17:04
* @Description TODO
*/
class QuestionAdatper : BaseQuickAdapter<QuestionBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: QuestionBean?) {
holder.run {
setText(R.id.tvTitle, item?.classroomName)
setText(R.id.tvDate, item?.updateTime)
ImageLoader.getInstance().loadImage(context,item?.classroomUrl,getView(R.id.ivBg))
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
) = QuickViewHolder(R.layout.item_question, parent)
}

View File

@ -0,0 +1,48 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.RateBean
import com.arpa.mylibrary.utils.ImageLoader
import me.zhanghai.android.materialratingbar.MaterialRatingBar
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/3/18 16:27
* @Description 评价管理adapter
*/
class RateAdapter(var isInvite: Boolean = false) :
BaseQuickAdapter<RateBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: RateBean?) {
item?.let {
holder.run {
setText(R.id.tvDate, item.createTime)
setText(R.id.tvContent, item.opinionsContent)
setText(R.id.tvComName, item.realCompanyName)
setText(
R.id.tvRate,
"""交易${item.shipperTransactionVolume} 好评率${item.shipperPositiveReviewRate.toInt() * 100}%"""
)
val rating = getView<MaterialRatingBar>(R.id.rating)
rating.rating = item.opinionsStarRating.toFloat() / 2
ImageLoader.getInstance()
.loadRoundImage(context, it.avatar, 6, getView<ImageView>(R.id.ivHead))
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_rate, parent)
}
}

View File

@ -0,0 +1,44 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.CarBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class SelectCarAdapter(var isCap: Boolean) :
BaseQuickAdapter<CarBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CarBean?) {
holder.run {
setGone(R.id.llTop,!isCap)
setText(R.id.tvCarNum, item?.vehicleNum)
setText(R.id.tvCarType, """${item?.vehicleType}""")
setText(R.id.tvCarLen, """车长:${item?.carLong}""")
setText(R.id.tvCarWei, """核定载重:${item?.approvedLoad}""")
setSelected(R.id.llContent, item?.isSelect!!)
setText(R.id.tvDriverName, item?.idcardName)
setText(R.id.tvPhone, item?.contactPhone)
ImageLoader.getInstance()
.loadRoundImage(context, item?.avatar, 6, getView<ImageView>(R.id.ivDriverHead))
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_car, parent)
}
}

View File

@ -0,0 +1,29 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.mylibrary.utils.ImageLoader
import com.luck.picture.lib.entity.LocalMedia
/**
* @ClassName ShowImageAdapter
* @Author john
* @Date 2024/3/19 08:39
* @Description TODO
*/
class ShowImageAdapter : BaseQuickAdapter<LocalMedia, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: LocalMedia?) {
val view = holder.getView<ImageView>(R.id.fiv)
ImageLoader.getInstance().loadRoundImage(context,item?.availablePath,6,view)
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
) = QuickViewHolder(R.layout.item_show_image, parent)
}

View File

@ -0,0 +1,35 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.glex.bean.WaterInfo
/**
* @ClassName WalletAdapter
* @Author john
* @Date 2024/2/1 10:41
* @Description TODO
*/
class WalletAdapter : BaseQuickAdapter<WaterInfo, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: WaterInfo?) {
holder.run {
setText(
R.id.tvTitle,
if (item?.businessType == "2") """运单结算:${item?.waybillNum}""" else "提现"
)
setText(R.id.tvMoney, if (item?.businessType == "2") """+${item?.amount}""" else """-${item?.amount}""")
setText(R.id.tvCarType, item?.opTime)
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
return QuickViewHolder(R.layout.item_wallet, parent)
}
}

View File

@ -0,0 +1,80 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.utils.OrderUtils
import com.arpa.glex.bean.OrderBean
import com.arpa.hndahesudintocctmsdriver.utils.SPUtils
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class WaybillAdapter :
BaseQuickAdapter<OrderBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: OrderBean?) {
item?.run {
holder.run {
setText(
R.id.tvStart,
"""${
if (loadingCity.length > 1) loadingCity.substring(0, 2) else loadingCity
} ${if (loadingArea.length > 1) loadingArea.substring(0, 2) else loadingArea}"""
)
setText(
R.id.tvEnd, """${
if (receiverCity.length > 1) receiverCity.substring(0, 2) else receiverCity
} ${
if (receiverArea.length > 1) receiverArea.substring(0, 2) else receiverArea
}"""
)
setText(R.id.tvMoney, driverFreight)
setText(R.id.tvCom, realCompanyName)
setText(R.id.tvDis, """距离:${distance}KM""")
setText(R.id.tvCredit, """信用 ${shipperCreditRating}""")
setText(
R.id.tvRate,
"""交易 ${item.shipperTransactionVolume} 好评率${
item.shipperPositiveReviewRate.toDoubleOrNull()
?.times(100)
}%"""
)
// setText(R.id.tvProduct, """${vehicleLength}/${vehicleType}/""")
setText(
R.id.tvProduct,
"""${item.goodsList[0].goodItemGrossWeight}/${item.goodsList[0].goodName}"""
)
setText(
R.id.tvProduct,
"""${if (item.goodsList.isNotEmpty()) item.goodsList[0].goodItemGrossWeight + "/" + item.goodsList[0].goodName else ""}"""
)
setText(R.id.tvModel, """${if (orderType == "0") "一装一卸" else "一装多卸"}""")
setText(
R.id.btnOk,
if (SPUtils.instance.getUserInfo(context)?.isCarCaptain == "1") "去指派" else OrderUtils.getInstance()
.getOrderStatu(orderStatus)
)
ImageLoader.getInstance()
.loadRoundImage(context, avatar, 6, getView<ImageView>(R.id.imgHead))
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_waybill, parent)
}
}

View File

@ -0,0 +1,104 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import android.widget.ImageView
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.utils.OrderUtils
import com.arpa.glex.bean.OrderBean
import com.arpa.mylibrary.utils.ImageLoader
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/1/23 16:27
* @Description TODO
*/
class WaybillListAdapter(var isCap: Boolean) :
BaseQuickAdapter<OrderBean, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: OrderBean?) {
item?.let {
holder.run {
setText(R.id.tvWaybillId, it.orderNum)
setText(R.id.tvStatu, OrderUtils.getInstance().getOrderStatu(it.orderStatus))
setText(R.id.tvType, """${if (it.orderType == "0") "一装一卸" else "一装多卸"}""")
setText(R.id.tvTime, """${it.loadingDeadline}装货""")
setText(R.id.tvDis, """${it.distance}km""")
setText(R.id.tvCarNum, it.vehicleNum)
setText(R.id.tvGood, """${it.goodItemGrossWeight}吨/${it.goodName}""")
setText(R.id.tvMoney, it.driverFreight)
setText(R.id.tvComName, it.realCompanyName)
setText(R.id.tvRate, """交易${item.shipperTransactionVolume} 好评率${item.shipperPositiveReviewRate.toIntOrNull()
?.times(100)}%""")
setText(R.id.btnOk, OrderUtils.getInstance().getNextByStatu(it.orderStatus))
if (isCap) {
setGone(R.id.btnOk, true)
} else {
if (it.orderStatus == "102040" || it.orderStatus == "102050") {
setGone(R.id.btnOk, false)
} else if (it.orderStatus == "102060" || it.orderStatus == "102070" || it.orderStatus == "102090") {
//三种状态下 并且未评论为 true显示
if (it.driverEvaluationStatus=="1"){
setGone(R.id.btnOk, true)
}else{
setGone(R.id.btnOk, false)
}
}else if (it.orderStatus == "103000"){
setGone(R.id.btnOk, true)
setTextColorRes(R.id.tvStatu,R.color.color_9)
}
}
ImageLoader.getInstance()
.loadRoundImage(context, it.avatar, 6, getView<ImageView>(R.id.ivHead))
setText(
R.id.tvStart,
"""${
if (it.loadingCity.length > 1) it.loadingCity.substring(
0,
2
) else it.loadingCity
} ${
if (it.loadingArea.length > 1) it.loadingArea.substring(
0,
2
) else it.loadingArea
}"""
)
setText(
R.id.tvEnd, """${
if (it.receiverCity.length > 1) it.receiverCity.substring(
0,
2
) else it.receiverCity
} ${
if (it.receiverArea.length > 1) it.receiverArea.substring(
0,
2
) else it.receiverArea
}"""
)
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_waybill2, parent)
}
}

View File

@ -0,0 +1,38 @@
package com.arpa.hndahesudintocctmsdriver.adapter
import android.content.Context
import android.view.ViewGroup
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.bean.OrderChild
/**
* @ClassName WaybillAdapter
* @Author 用户
* @Date 2024/3/5 16:27
* @Description TODO
*/
class WaybillNodeAdapter :
BaseQuickAdapter<OrderChild, QuickViewHolder>() {
override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: OrderChild?) {
item?.run {
holder.run {
setText(R.id.tvLoad, item?.city+item?.area+item?.address)
setText(R.id.tvPhone, """${item?.name} ${item?.phone}""")
setBackgroundResource(R.id.ivLoad,if (item.type == "1") R.drawable.icon_load else R.drawable.icon_unload)
}
}
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): QuickViewHolder {
// 返回一个 ViewHolder
return QuickViewHolder(R.layout.item_waybill_node, parent)
}
}

View File

@ -0,0 +1,196 @@
package com.arpa.hndahesudintocctmsdriver.base
import android.app.ActivityManager
import android.app.Application
import android.content.Context
import android.content.Intent
import android.os.Process
import android.util.Log
import cn.jiguang.api.utils.JCollectionAuth
import cn.jpush.android.api.JPushInterface
import com.alct.mdp.MDPLocationCollectionManager
import com.arpa.hndahesudintocctmsdriver.BuildConfig
import com.arpa.hndahesudintocctmsdriver.net.Api
import com.arpa.hndahesudintocctmsdriver.oss.OssServiceUtil
import com.arpa.hndahesudintocctmsdriver.third.JTTProcess
import com.arpa.hndahesudintocctmsdriver.third.PlayerMusicService
import com.arpa.hndahesudintocctmsdriver.third.SPUtil
import com.arpa.hndahesudintocctmsdriver.utils.SPUtils
import com.arpa.mylibrary.CommonBaseLibrary
import com.github.gzuliyujiang.dialog.DialogConfig
import com.github.gzuliyujiang.dialog.DialogStyle
import com.tencent.bugly.crashreport.CrashReport
import com.umeng.commonsdk.UMConfigure
import com.umeng.umverify.UMVerifyHelper
import com.umeng.umverify.listener.UMTokenResultListener
import java.security.SecureRandom
import java.security.cert.X509Certificate
import javax.net.ssl.HttpsURLConnection
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager
class App : Application() {
override fun onCreate() {
super.onCreate()
app = this
CommonBaseLibrary.getInstance().init(this, Api.BASE_URL)
//选择器样式切换
DialogConfig.setDialogStyle(DialogStyle.One)
if (BuildConfig.DEBUG) {
// CrashHandler.getInstance().init(this);
// CrashHandler2.getInstance().init(getApplicationContext());
}
CrashReport.initCrashReport(applicationContext, AppConfig.BUGLY_APP_ID, false);
OssServiceUtil.getInstance().init();
initUmeng()
initJpush()
//
initThird()
// var pendingIntent: PendingIntent = getActivity(
// applicationContext, 0,
// Intent(applicationContext, HomeActivity::class.java),
// FLAG_UPDATE_CURRENT
// )
// Cactus.instance
// .isDebug(true)
// .setTitle("大河好运")
// .setContent("大河好运司机端为您提供服务")
// .setSmallIcon(R.mipmap.app_icon)
// .setChannelId(AppUtils.getAppPackageName())
// .setChannelName(AppUtils.getAppPackageName())
// //可选,设置通知栏点击事件
// .setPendingIntent(pendingIntent)
// .setBackgroundMusicEnabled(true)//可选,退到后台是否可以播放音乐
// .setMusicInterval(20000)//设置音乐间隔时间时间间隔越长越省电默认间隔时间是0
//// .setMusicId(R.raw.main) //可选,设置音乐
//// .addCallback(new CactusCallback())//可选,运行时回调
//// .setCrashRestartUIEnabled(true) //可选设置奔溃可以重启google原生rom android 10以下可以正常重启
//// .setNotification(MyNotification.getInstance().getNotification(this))
// .hideNotificationAfterO(true)
// .addCallback {
// OrderUtils.getInstance().upLocation(applicationContext)
// }
// .addBackgroundCallback(object : CactusBackgroundCallback {
//
// override fun onBackground(background: Boolean) {
// if (background) {
//// getBillLocation();
// }
// }
// })
// .register(this)
}
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
}
private fun initThird() {
// val state: String = SPUtil.getSP(this, "state_data", "authorization_state")
// if ("1" != state) {
try {
//安联初始化
if (packageName == getCurrentProcessName(this)) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(applicationContext, BuildConfig.OPEN_AL_URL)
// MDPLocationCollectionManager.initServiceProcessProguard(applicationContext) // 保活代码
// startService(Intent(this, PlayerMusicService::class.java)) // 保活代码
}
//初始化交通厅
JTTProcess.init(this)
SPUtil.insSP(this, "state_data", "authorization_state", "1")
} catch (e: Exception) {
SPUtil.insSP(this, "state_data", "authorization_state", "0")
}
// }
}
//忽略https的证书校验
fun handleSSLHandshake() {
try {
val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {
override fun getAcceptedIssuers(): Array<X509Certificate?> {
return arrayOfNulls(0)
}
override fun checkClientTrusted(certs: Array<X509Certificate>, authType: String) {}
override fun checkServerTrusted(certs: Array<X509Certificate>, authType: String) {}
})
val sc = SSLContext.getInstance("TLS")
// trustAllCerts信任所有的证书
sc.init(null, trustAllCerts, SecureRandom())
HttpsURLConnection.setDefaultSSLSocketFactory(sc.socketFactory)
HttpsURLConnection.setDefaultHostnameVerifier { hostname, session -> true }
} catch (ignored: Exception) {
}
}
private fun initUmeng() {
// thread {
//友盟
UMConfigure.preInit(this, AppConfig.APP_KEY, "Umeng");
UMConfigure.init(
this,
AppConfig.APP_KEY,
"Umeng",
UMConfigure.DEVICE_TYPE_PHONE,
null
)
//实名认证
val authHelper = UMVerifyHelper.getInstance(this, object : UMTokenResultListener {
override fun onTokenSuccess(ret: String) {
Log.e("Umenginit", "onTokenSuccess: $ret")
}
override fun onTokenFailed(ret: String) {
Log.e("Umenginit", "onTokenFailed: $ret")
}
})
authHelper.setLoggerEnable(true)
// authHelper.setAuthSDKInfo("iiBVGHSKbUML/NTbj187eM1N1KMvRzh1sJbM+2FMbV7FNOnmngDlPr2reqlvouhK/8dXcaNGJuI9B+Kv7C6IlBMoGE0PMVWvwY754T8zxSgSfLUM6s7e0dVxmtMFRrCDawKBiv6g/5+X1mSK5OXNG+H//8rtDDf0vePyUUPCAU26tIX/7BCJ4wvUjobAHBDtSbMMhzqWR5MC7jTCnR0k1OwwvEYxIH6jZuRqT4QgBBO4AMKvFjboqj3rsrr5uE6Gn28fWQrBBrOkPS830GnZFU8ND/0LedGgTlMllBAXLy0gbZZ/8LKJOQ==")
authHelper.setAuthSDKInfo("4RrSpqTu/QgE8ZoIvQqZvfgDcSEqof0gQpYDV1xvLyJ+DYqwZlG6tlTZIrtzAjCKgOOunLRhIHpJnMwLvNdRIL01nGnTFF7N/tJbgUORGoGrpviSeH+un8becKp+rK7Jak+Ep+cZzsTiPuGwFDZ5txZzShCt5XHjbMwIgL7RO+c3NS2vIftq+1DmLZCkIm65/Ky7yqw97qqI6fEWwrCIXI8lJbEr2TrOvn+snW5KTNm0i5qb0Rr3k2nY1kgU/C6cV/s8O9cLChBH9PnTVWP/Q5M3Quvim00T2a1smUJQPZQyuDVpC8vGcJ1EiAkogoPjbCrJxjpdjyE=")
// }.start()
}
private fun initJpush(){
if (!SPUtils.instance.getIsFirstOpenApp(applicationContext)){
//打开日志开关,发布版本建议关闭
JPushInterface.setDebugMode(true)
//同意隐私政策,同意开启推送业务开关
JCollectionAuth.setAuth(this, true)
// 初始化SDK
// 初始化SDK
JPushInterface.init(this)
}
}
companion object {
var app: App? = null
}
fun getCurrentProcessName(context: Context): String? {
var currentProcessName = ""
val pid = Process.myPid()
val mActivityManager = context.getSystemService(ACTIVITY_SERVICE) as ActivityManager
if (mActivityManager.runningAppProcesses != null && mActivityManager.runningAppProcesses.size > 0) {
for (appProcess in mActivityManager.runningAppProcesses) {
if (appProcess.pid == pid) {
currentProcessName = appProcess.processName
}
}
}
return currentProcessName
}
}

View File

@ -0,0 +1,41 @@
package com.arpa.hndahesudintocctmsdriver.base
/**
* @ClassName AppConfig
* @Author 用户
* @Date 2022/1/14 15:24
* @Description TODO
*/
object AppConfig {
// const val BUGLY_APP_ID = "0487c49b52"
const val BUGLY_APP_ID = "0fa55ffad8"
const val TIME = "DA_HE_TIME"
const val ID = "DA_HE_ID"
const val USER_CARID = "DA_HE_USER_CARID"
const val DATA = "DA_HE_DATA"
const val PHONE = "DA_HE_PHONE"
const val ORDER_ID = "DA_HE_ORDER_ID"
const val NEED_UP_ORDER = "DA_HE_NEED_UP_ORDER"
const val CAR_ID = "DA_HE_CAR_ID"
const val IS_SHOW = "DA_HE_IS_SHOW"
const val IS_FIRST_OPEN = "DA_HE_IS_FIRST_OPEN"
const val IS_BACK = "DA_HE_IS_BACK"
const val WAYBILL_ID = "DA_HE_WAYBILL_ID"
const val CHILDRE_ID = "DA_HE_CHILDRE_ID"
const val RATE_TYPE = "DA_HE_RATE_TYPE"//0:收到的评价 1:发表的评价
const val IS_RATEING = "DA_HE_IS_RATEING"//是否已评价
const val CODE = "DA_HE_PHONE"
const val USER_DETAIL = "DA_HE_USER_DETAIL"
const val IS_ONLY_SHOW = "DA_HE_IS_ONLY_SHOW"
const val IS_SUPPLEMENT = "DA_HE_IS_SUPPLEMENT"
const val IS_GO_MINE = "DA_HE_GO_MINE"
const val REFRSH = "DA_HE_REFRSH"
const val SUCCESS_TYPE = "DA_HE_SUCCESS_TYPE"
const val IS_SHOW_PRIVACY = "IS_SHOW_PRIVACY"
const val E_KEY = "19ac0aa74338e487e45057faf7212401"
const val E_LICENSE = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ=="
//友盟
const val MESSAGE_SECRET = "9d3338d1d3797cf1c765c3aa7700f145"
const val APP_KEY = "662b5df7cac2a664de26878a"
}

View File

@ -0,0 +1,187 @@
package com.arpa.hndahesudintocctmsdriver.base
import android.content.Context
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.text.TextUtils
import android.util.Log
import android.view.View
import android.webkit.JavascriptInterface
import android.webkit.WebView
import android.widget.FrameLayout
import android.widget.TextView
import android.widget.Toast
import com.arpa.hndahesudintocctmsdriver.databinding.ActivityWebBinding
import com.arpa.hndahesudintocctmsdriver.utils.SPUtils
import com.arpa.mylibrary.R
import com.arpa.mylibrary.base.BaseActivity
import com.just.agentweb.AgentWeb
import com.just.agentweb.AgentWebUIControllerImplBase
import com.just.agentweb.WebChromeClient
/**
* @ClassName WebActivity
* @Author john
* @Date 2024/2/1 15:08
* @Description TODO
*/
class WebActivity : BaseActivity<ActivityWebBinding>() {
var mTextRight: TextView? = null
private var mAgentWeb: AgentWeb? = null
private var mTitle = ""
private var mUrl = ""
override fun initView(savedInstanceState: Bundle?) {
mTitle = intent.extras?.getString("title").toString()
mUrl = intent.extras?.getString("url").toString()
setStatusBarColor(R.color.colorWhite)
setTitleBar(mTitle) { v: View? -> if (!mAgentWeb!!.back()) finish() }
mAgentWeb = AgentWeb.with(this)
.setAgentWebParent(binding.WebViewLayout, FrameLayout.LayoutParams(-1, -1))
.useDefaultIndicator()
.setWebChromeClient(mWebChromeClient)
.setSecurityType(AgentWeb.SecurityType.DEFAULT_CHECK)
.setAgentWebUIController(AgentWebUIControllerImplBase())
.createAgentWeb()
.ready()
.go(mUrl)
mAgentWeb?.jsInterfaceHolder?.addJavaObject("android",
AndroidInterface(mAgentWeb!!, this))
if (mUrl == "https://support.qq.com/products/335639") {
val userInfo = SPUtils.instance.getUserInfo(mContext)
var postData =
"""nickname=${if (userInfo?.idcardName.isNullOrEmpty()) "游客" else userInfo?.idcardName}&avatar=${userInfo?.avatar}&openid=${userInfo?.contactPhone}"""
mAgentWeb?.webCreator?.webView?.postUrl(mUrl, postData.toByteArray())
}
// mAgentWeb?.jsInterfaceHolder?.addJavaObject("phone", AndroidInterfaceWeb())
}
override fun initDate() {
}
fun initOpinion() {
binding.run {
// val ub: UserBean? = SPUtils.instance.getUserInfo(mContext)
// wv.getSettings().setJavaScriptEnabled(true)
// wv.getSettings().setDomStorageEnabled(true) // 这个要加上
// val openid: String = ub.getData().getUname() // 用户的openid
// val nickname: String = StringUtil.isNull(ub.getData().getRname(), "游客") // 用户的nickname
// val headimgurl: String =
// StringUtil.isNull(ub.getData().getHeadportraitUrl(), "") // 用户的头像url
//
// /* 获得 webview url请注意url单词是product而不是productsproducts是旧版本的参数用错地址将不能成功提交 */
// val url = "https://support.qq.com/products/335639" // 把1221数字换成你的产品ID否则会不成功
// /* 准备post参数 */
// val postData =
// "nickname=$nickname&avatar=$headimgurl&openid=$openid"
// wv.postUrl(url, postData.toByteArray())
// wv.setWebChromeClient(chromeClient)
// wv.setWebViewClient(object : android.webkit.WebViewClient() {
// override fun shouldOverrideUrlLoading(
// view: WebView,
// request: WebResourceRequest
// ): Boolean {
// return super.shouldOverrideUrlLoading(view, request)
// }
//
// override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
// //返回值是true的时候控制去WebView打开为false调用系统浏览器或第三方浏览器
// view.loadUrl(url)
// return true
// }
// })
}
}
private val mWebChromeClient: WebChromeClient = object : WebChromeClient() {
override fun onProgressChanged(view: WebView, newProgress: Int) {
super.onProgressChanged(view, newProgress)
}
override fun onReceivedTitle(view: WebView, title: String) {
super.onReceivedTitle(view, title)
setTitleBar(
if (TextUtils.isEmpty(mTitle)) title else mTitle
) { if (!mAgentWeb!!.back()) finish() }
}
}
// private val mWebViewClient: WebViewClient = object : WebViewClient() {
// override fun onPageStarted(view: WebView, url: String, favicon: Bitmap) {
// super.onPageStarted(view, url, favicon)
// }
//
// override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
// return super.shouldOverrideUrlLoading(view, request)
// } // @Override
// // public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// // //该方法在Build.VERSION_CODES.LOLLIPOP以后有效
// // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// // String url = request.getUrl().toString();
// // Log.i(TAG, "shouldOverrideUrlLoading: " + url);
// // }
// // return false;
// // }
// }
// @OnClick({R.id.common_toolBar_text_right, R.id.common_toolBar_image_right})
// public void onClick(View view) {
// if (view.getId() == R.id.common_toolBar_text_right) {
// } else if (view.getId() == R.id.common_toolBar_image_right) {
// }
// }
override fun onPause() {
mAgentWeb?.webLifeCycle?.onPause()
super.onPause()
}
override fun onResume() {
mAgentWeb?.webLifeCycle?.onResume()
super.onResume()
}
override fun onDestroy() {
mAgentWeb?.webLifeCycle?.onDestroy()
super.onDestroy()
}
override fun onBackPressed() {
// super.onBackPressed()
if (!mAgentWeb!!.back()) finish()
}
// internal class AndroidInterfaceWeb {
// @JavascriptInterface
// fun gohome() {
// val intent = Intent(mContext, HomeActivity::class.java)
// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
// mContext.startActivity(intent)
// }
// }
}
class AndroidInterface(private val agent: AgentWeb, private val context: Context) {
private val deliver = Handler(Looper.getMainLooper())
@JavascriptInterface
fun callAndroid(msg: String) {
deliver.post {
Log.i("Info", "main Thread:" + Thread.currentThread())
Toast.makeText(context.applicationContext, "" + msg, Toast.LENGTH_LONG).show()
}
Log.i("Info", "Thread:" + Thread.currentThread())
}
}

View File

@ -0,0 +1,164 @@
package com.arpa.hndahesudintocctmsdriver.base
import android.os.Bundle
import android.text.TextUtils
import android.view.View
import android.webkit.WebView
import android.widget.FrameLayout
import android.widget.TextView
import com.arpa.hndahesudintocctmsdriver.databinding.ActivityWebBinding
import com.arpa.hndahesudintocctmsdriver.utils.SPUtils
import com.arpa.mylibrary.R
import com.arpa.mylibrary.base.BaseActivity
import com.just.agentweb.AgentWeb
import com.just.agentweb.AgentWebUIControllerImplBase
import com.just.agentweb.WebChromeClient
/**
* @ClassName WebActivity
* @Author john
* @Date 2024/2/1 15:08
* @Description TODO
*/
class WebRichTextActivity : BaseActivity<ActivityWebBinding>() {
var mTextRight: TextView? = null
private var mAgentWeb: AgentWeb? = null
private var mTitle = ""
private var mUrl = ""
override fun initView(savedInstanceState: Bundle?) {
mTitle = intent.extras?.getString("title").toString()
mUrl = intent.extras?.getString("url").toString()
setStatusBarColor(R.color.colorWhite)
setTitleBar(mTitle) { v: View? -> if (!mAgentWeb!!.back()) finish() }
mAgentWeb = AgentWeb.with(this)
.setAgentWebParent(binding.WebViewLayout, FrameLayout.LayoutParams(-1, -1))
.useDefaultIndicator()
.setWebChromeClient(mWebChromeClient)
.setSecurityType(AgentWeb.SecurityType.DEFAULT_CHECK)
.setAgentWebUIController(AgentWebUIControllerImplBase())
.createAgentWeb()
.ready()
.go(mUrl)
if (mUrl == "https://support.qq.com/products/335639") {
val userInfo = SPUtils.instance.getUserInfo(mContext)
var postData =
"""nickname=${if (userInfo?.idcardName.isNullOrEmpty()) "游客" else userInfo?.idcardName}&avatar=${userInfo?.avatar}&openid=${userInfo?.contactPhone}"""
mAgentWeb?.webCreator?.webView?.postUrl(mUrl, postData.toByteArray())
}
// mAgentWeb?.jsInterfaceHolder?.addJavaObject("phone", AndroidInterfaceWeb())
}
override fun initDate() {
}
fun initOpinion() {
binding.run {
// val ub: UserBean? = SPUtils.instance.getUserInfo(mContext)
// wv.getSettings().setJavaScriptEnabled(true)
// wv.getSettings().setDomStorageEnabled(true) // 这个要加上
// val openid: String = ub.getData().getUname() // 用户的openid
// val nickname: String = StringUtil.isNull(ub.getData().getRname(), "游客") // 用户的nickname
// val headimgurl: String =
// StringUtil.isNull(ub.getData().getHeadportraitUrl(), "") // 用户的头像url
//
// /* 获得 webview url请注意url单词是product而不是productsproducts是旧版本的参数用错地址将不能成功提交 */
// val url = "https://support.qq.com/products/335639" // 把1221数字换成你的产品ID否则会不成功
// /* 准备post参数 */
// val postData =
// "nickname=$nickname&avatar=$headimgurl&openid=$openid"
// wv.postUrl(url, postData.toByteArray())
// wv.setWebChromeClient(chromeClient)
// wv.setWebViewClient(object : android.webkit.WebViewClient() {
// override fun shouldOverrideUrlLoading(
// view: WebView,
// request: WebResourceRequest
// ): Boolean {
// return super.shouldOverrideUrlLoading(view, request)
// }
//
// override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
// //返回值是true的时候控制去WebView打开为false调用系统浏览器或第三方浏览器
// view.loadUrl(url)
// return true
// }
// })
}
}
private val mWebChromeClient: WebChromeClient = object : WebChromeClient() {
override fun onProgressChanged(view: WebView, newProgress: Int) {
super.onProgressChanged(view, newProgress)
}
override fun onReceivedTitle(view: WebView, title: String) {
super.onReceivedTitle(view, title)
setTitleBar(
if (TextUtils.isEmpty(mTitle)) title else mTitle
) { if (!mAgentWeb!!.back()) finish() }
}
}
// private val mWebViewClient: WebViewClient = object : WebViewClient() {
// override fun onPageStarted(view: WebView, url: String, favicon: Bitmap) {
// super.onPageStarted(view, url, favicon)
// }
//
// override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
// return super.shouldOverrideUrlLoading(view, request)
// } // @Override
// // public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// // //该方法在Build.VERSION_CODES.LOLLIPOP以后有效
// // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// // String url = request.getUrl().toString();
// // Log.i(TAG, "shouldOverrideUrlLoading: " + url);
// // }
// // return false;
// // }
// }
// @OnClick({R.id.common_toolBar_text_right, R.id.common_toolBar_image_right})
// public void onClick(View view) {
// if (view.getId() == R.id.common_toolBar_text_right) {
// } else if (view.getId() == R.id.common_toolBar_image_right) {
// }
// }
override fun onPause() {
mAgentWeb?.webLifeCycle?.onPause()
super.onPause()
}
override fun onResume() {
mAgentWeb?.webLifeCycle?.onResume()
super.onResume()
}
override fun onDestroy() {
mAgentWeb?.webLifeCycle?.onDestroy()
super.onDestroy()
}
override fun onBackPressed() {
// super.onBackPressed()
if (!mAgentWeb!!.back()) finish()
}
// internal class AndroidInterfaceWeb {
// @JavascriptInterface
// fun gohome() {
// val intent = Intent(mContext, HomeActivity::class.java)
// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
// mContext.startActivity(intent)
// }
// }
}

View File

@ -0,0 +1,102 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName ApiBean
* @Author john
* @Date 2024/3/18 09:59
* @Description TODO
*/
data class RateBean(
val createBy: String,
val createTime: String,
val driverId: Int,
val operatorType: String,
val opinionsContent: String,
val positiveReviewRate: String,
val totalNumberOfOrders: String,
val numberOfEvaluations1: String,
val numberOfEvaluations2: String,
val numberOfEvaluations3: String,
val opinionsId: Int,
val opinionsStarRating: Int,
val opinionsStatus: String,
val opinionsType: String,
val realCompanyName: String,
val shipperPositiveReviewRate: String,
val shipperTransactionVolume: String,
val avatar: String,
val orderId: Int,
val updateBy: String
)
/**
* 常见问题bean
* @property isRecommend String
* @property isTop String
* @property problemDesc String
* @property problemId Int
* @property problemName String
* @property problemUrl String
* @property sortValue String
* @property status String
* @constructor
*/
data class ProBean(
val isRecommend: String,
val isTop: String,
val problemDesc: String,
val problemId: String,
val problemName: String,
val problemUrl: String,
val sortValue: String,
val status: String,
val contentData: String
)
data class AppVersion(
val content: String,
val createTime: String,
val delete: String,
val downloadUrl: String,
val examine: String,
val force: String,
val qrocdeUrl: String,
val source: String,
val type: String,
val versionCode: Int,
val versionName: String,
val versionId: String
)
data class QuestionBean(
val classroomDesc: String,
val classroomId: String,
val classroomName: String,
val classroomUrl: String,
val createTime: String,
val isRecommend: String,
val isTop: String,
val sortValue: String,
val status: String,
val updateTime: String
)
data class QueDetail(
val classroomId: String,
val contentData: String
)
/**
* 已签宝
* @property authFlowId String
* @property authShortUrl String
* @property authUrl String
* @constructor
*/
data class FaceBean(
val authFlowId: String,
val authShortUrl: String,
val authUrl: String
)

View File

@ -0,0 +1,34 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName CaptainBean
* @Author john
* @Date 2024/3/11 15:45
* @Description 车队信息bean
*/
data class CaptainBean(
val auditStatus: String,
val avatar: String,
val captainId: String,
val captainName: String,
val driverNum: String,
val carNum: String,
val captainType: String,
val contactName: String,
val isRealname: String,
val joinStatus: String,
val status: String
)
data class InviteRecord(
val bindTime: String,
val captainId: Int,
val createTime: String,
val driverName: String,
val driverPhone: String,
val driverId: Int,
val joinStatus: String,
val level: String,
val linkId: Int,
val reason: String
)

View File

@ -0,0 +1,82 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName CarBean
* @Author john
* @Date 2024/3/6 10:26
* @Description TODO
*/
data class CarBean(
val approvedLoad: String="",
val tractionWeight: String="",
val carHeight: String="",
var carId: String="",
var driverId: String="",
var roadLicenseValidityOverdue: String="",
var licenseValidityOverdue: String="",
val carLong: String="",
val carUrl: String="",
val carWidth: String="",
val energySign: String="",
val energySignCode: String="",
val isTrailer: String="",
val plateColor: String="",
val plateColorCode: String="",
val trailerApprovedLoad: String="",
val trailerHeight: String="",
val trailerId: String="",
val trailerLong: String="",
val trailerUrl: String="",
val trailerVehicleNum: String="",
val trailerVehicleType: String="",
val trailerVehicleTypeCode: String="",
var vehicleNum: String="",
val vehicleType: String="",
val vehicleTypeCode: String="",
val idcardName: String="",
val contactPhone: String="",
val avatar: String="",
var isSelect: Boolean = false
)
data class CarDetail(
val approvedLoad: Int,
val carId: Int,
val carUrl: String,
val isTrailer: String,
val licenseFaceUrl: String,
val owner: String,
val registerImageUrl: String,
val roadLicense: String,
val auditStatus: String,
val roadLicensePhotoUrl: String,
val roadLicenseValidity: String,
val trailerApprovedLoad: Int,
val trailerId: Int,
val trailerLicenseFaceUrl: String,
val trailerOwner: String,
val trailerRegisterImageUrl: String,
val trailerRoadLicensePhotoUrl: String,
val trailerVehicleNum: String,
val trailerVehicleType: String,
val trailerVehicleTypeCode: String,
val vehicleNum: String,
val vehicleType: String,
val vehicleTypeCode: String
)
data class CapCarListBean(
val avatar: String,
val carList: List<CarBean>,
val contactName: String,
val contactPhone: String,
val driverId: Int,
val idcardName: String,
val idcardSex: String
)
data class UpDriverCar(
val orderId: String,
val driverId: String,
val carId: String,
)

View File

@ -0,0 +1,9 @@
package com.arpa.hndahesudintocctmsdriver.bean
import java.io.Serializable
class CheckCodeBean : Serializable {
var image: String? = null
var expireTime: String? = null
var uuid: String? = null
}

View File

@ -0,0 +1,21 @@
package com.arpa.hndahesudintocctmsdriver.bean
import com.github.gzuliyujiang.wheelview.contract.TextProvider
/**
* @ClassName DicBean
* @Author john
* @Date 2024/3/11 08:52
* @Description 字典bean
*/
data class DiCarColor(
val dictCode: Int,
val dictLabel: String,
val dictValue: String,
val isDefault: String,
val status: String
) : TextProvider {
override fun provideText(): String {
return dictLabel
}
}

View File

@ -0,0 +1,26 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName DriverBean
* @Author john
* @Date 2024/3/6 17:10
* @Description TODO
*/
data class DriverBean(
var bindTime: String = "",
var captainId: String = "",
var createTime: String = "",
var diffDay: String = "",
var driverNum: String = "",
var carNum: String = "",
var driverAvatar: String = "",
var driverId: String = "",
var driverPhone: String = "",
var contactName: String = "",
var contactPhone: String = "",
var idcardName: String = "",
var idcardSex: String = "",
var isRealName: String = "",
var joinStatus: String = "",
var level: String = ""
)

View File

@ -0,0 +1,119 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import java.util.ArrayList;
import java.util.List;
/**
* @author hlh
* @version 1.0.0
* @date 2021/11/23 19:16
* @description:
*/
public class FqBean {
private int pageSize;
private int currentPage;
private int totalCount;
private int totalPage;
private List<Invoice> driverInvoices;
//{"currentPage":100,"driverInvoices":[],"pageSize":1,"totalCount":0,"totalPage":0}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public List<Invoice> getDriverInvoices() {
if (driverInvoices == null) {
return new ArrayList<>();
}
return driverInvoices;
}
public void setDriverInvoices(List<Invoice> driverInvoices) {
this.driverInvoices = driverInvoices;
}
public class Invoice{
String invoiceReceiverName; //受票方string类型
double taxRate; //发票税率double类型
double taxAmount; //税额 double类型
double totalAmount; //金额 double类型
double totalAmountIncludeTax; //金额+税额double类型
String driverInvoiceCode; //发票编号string类型
public String getInvoiceReceiverName() {
return invoiceReceiverName == null ? "" : invoiceReceiverName;
}
public void setInvoiceReceiverName(String invoiceReceiverName) {
this.invoiceReceiverName = invoiceReceiverName;
}
public double getTaxRate() {
return taxRate;
}
public void setTaxRate(double taxRate) {
this.taxRate = taxRate;
}
public double getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(double taxAmount) {
this.taxAmount = taxAmount;
}
public double getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(double totalAmount) {
this.totalAmount = totalAmount;
}
public double getTotalAmountIncludeTax() {
return totalAmountIncludeTax;
}
public void setTotalAmountIncludeTax(double totalAmountIncludeTax) {
this.totalAmountIncludeTax = totalAmountIncludeTax;
}
public String getDriverInvoiceCode() {
return driverInvoiceCode == null ? "" : driverInvoiceCode;
}
public void setDriverInvoiceCode(String driverInvoiceCode) {
this.driverInvoiceCode = driverInvoiceCode;
}
}
}

View File

@ -0,0 +1,12 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName GridBean
* @Author 用户
* @Date 2024/1/23 10:37
* @Description TODO
*/
data class GridBean(
val title:String,
val image : Int
)

View File

@ -0,0 +1,140 @@
package com.arpa.hndahesudintocctmsdriver.bean;
/**
* @author hlh
* @version 1.0.0
* @date 2022/2/16 17:37
* @description:
*/
public class JTT {
private int code;
private DataDTO data;
private String msg;
private boolean success;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataDTO getData() {
return data;
}
public void setData(DataDTO data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public static class DataDTO {
private String createTime;
private boolean delFlag;
private int id;
private String trafficCode;
private String trafficId;
private String trafficName;
private String trafficNum;
private String trafficSecret;
private String trafficType;
private String updateTime;
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public boolean isDelFlag() {
return delFlag;
}
public void setDelFlag(boolean delFlag) {
this.delFlag = delFlag;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTrafficCode() {
return trafficCode;
}
public void setTrafficCode(String trafficCode) {
this.trafficCode = trafficCode;
}
public String getTrafficId() {
return trafficId;
}
public void setTrafficId(String trafficId) {
this.trafficId = trafficId;
}
public String getTrafficName() {
return trafficName;
}
public void setTrafficName(String trafficName) {
this.trafficName = trafficName;
}
public String getTrafficNum() {
return trafficNum;
}
public void setTrafficNum(String trafficNum) {
this.trafficNum = trafficNum;
}
public String getTrafficSecret() {
return trafficSecret;
}
public void setTrafficSecret(String trafficSecret) {
this.trafficSecret = trafficSecret;
}
public String getTrafficType() {
return trafficType;
}
public void setTrafficType(String trafficType) {
this.trafficType = trafficType;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
}
}

View File

@ -0,0 +1,16 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @author hlh
* @version 1.0.0
* @date 2021/8/13 10:27
* @description:装卸货输入参数实体
*/
class LUInputBean {
var imageId: List<Int>? = null
var latitude: String? = null
var locationAddress: String? = null
var longitude: String? = null
var waybillId: String? = null
var realLoadTime: String? = null
}

View File

@ -0,0 +1,14 @@
package com.arpa.glex.bean
/**
* @ClassName LogBean
* @Author 用户
* @Date 2022/1/17 15:18
* @Description TODO
*/
data class LogBean(
var smscode: String,
var uname: String,
var registerType: Int,
var roleId: Int,
)

View File

@ -0,0 +1,24 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName MessageBean
* @Author john
* @Date 2024/4/18 08:44
* @Description TODO
*/
data class MessageBean(
val createBy: String,
val createTime: String,
val driverId: String,
val isRead: String,
val messageContent: String,
val messageId: String,
val messageTitle: String,
val messageType: String,
val messageTypeLable: String,
val phone: String,
val remark: String,
val status: String,
val updateBy: String,
val updateTime: String
)

View File

@ -0,0 +1,17 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName Jtt
* @Author john
* @Date 2024/4/27 16:19
* @Description TODO
*/
data class MyJtt(
val orderNum: String,
val trafficCode: String,
val trafficId: String,
val trafficName: String,
val trafficNum: String,
val orderId: String,
val trafficType: String
)

View File

@ -0,0 +1,134 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName OcrBean
* @Author john
* @Date 2024/2/27 09:58
* @Description TODO
*/
data class OcrPersonBean(
val algo_version: String,
val `data`: Data,
val height: Int,
val orgHeight: Int,
val orgWidth: Int,
val width: Int
)
data class Data(
val face: Face,
val back: Back,
val info: List<CarInfo>,
//银行卡
val bankName: String,
val cardNumber: String,
//营业执照
val creditCode: String,//信用代码
val companyName: String,//名称
val companyType: String,//类型
val businessAddress: String,
val legalPerson: String,
val businessScope: String,
val registeredCapital: String,//注册资本
val RegistrationDate: String,//成立日期2014年01月07日
val validFromDate: String,//20140107
val validToDate: String,
val issueDate: String
)
data class Back(
val `data`: DataX
)
data class Face(
val algo_version: String,
val angle: Int,
val `data`: DataX,
val ftype: Int,
val height: Int,
val orgHeight: Int,
val orgWidth: Int,
val prism_keyValueInfo: List<PrismKeyValueInfo>,
val sliceRect: SliceRect,
val width: Int,
)
data class CarInfo(
val key: String,
val key_loc: String,
val key_prob: String,
val value: String,
val value_loc: String,
val value_prob: String
)
data class DataX(
var address: String = "",
val birthDate: String = "",
val ethnicity: String = "",
val idNumber: String = "",
val engineNumber: String = "",
val name: String = "",
val sex: String = "",
val issueAuthority: String = "",//哈尔滨市公安局呼兰分局
val validPeriod: String = "",//2012.07.17-2032.07.17
//驾驶证
val licenseNumber: String = "",
val nationality: String = "",
val initialIssueDate: String = "",
val approvedType: String = "",
val validFromDate: String = "",
//行驶证
val model: String = "",
val owner: String = "",
val licensePlateNumber: String = "",
val registrationDate: String = "",
val useNature: String = "",//使用性质
val vehicleType: String = "",
val vinCode: String = "",
val recordNumber: String = "",//档案编号
val passengerCapacity: String = "",
val curbWeight: String = "",//整备质量
val totalWeight: String = "",//总质量
val permittedWeight: String = "",//核定载质量
val tractionWeight: String = "",//准牵引总质量
var overallDimension: String = "",//6915×2550×3960mm
val plateColorCode: String = "",//车牌颜色
val inspectionRecord: String = "",//检验有效期至2023年06月吉J 有效期
val issueDate: String = "",//发证日期
val energySign: String = "",//能源类型
val barcodeNumber: String = "",//条码编号
)
data class PrismKeyValueInfo(
val key: String,
val keyProb: Int,
val value: String,
val valuePos: List<ValuePo>,
val valueProb: Int
)
data class SliceRect(
val x0: Int,
val x1: Int,
val x2: Int,
val x3: Int,
val y0: Int,
val y1: Int,
val y2: Int,
val y3: Int
)
data class ValuePo(
val x: Int,
val y: Int
)

View File

@ -0,0 +1,57 @@
package com.arpa.glex.bean
/**
* @ClassName OrderBean
* @Author 用户
* @Date 2023/9/21 10:22
* @Description TODO
*/
data class OrderBean(
val avatar: String= "",
val distance: String= "",
val driverFreight: String= "",
val goodsList: List<Goods> = mutableListOf<Goods>(),
val loadingArea: String= "",
val loadingAreaCode: String= "",
val shipperCaptainId: String= "",//货主指定车队ID
val shipperDriverId: String= "",//货主指定司机ID
val shipperCarId: String= "",//货主指定车辆ID
val loadingCity: String= "",
val loadingCityCode: String= "",
val loadingDeadline: String= "",
val loadingProvince: String= "",
val loadingProvinceCode: String= "",
val orderId: String= "",
val orderNum: String= "",
val orderStatus: String= "",
val waybillId: String= "",
val orderChildreId: String= "",
val orderType: String= "",
val passingPointsNum: String= "",
val realCompanyName: String= "",
val receiverArea: String= "",
val receiverAreaCode: String= "",
val receiverCity: String= "",
val receiverCityCode: String= "",
val receiverProvince: String= "",
val receiverProvinceCode: String= "",
val requirement: String= "",
val shipperCreditRating: String= "",
val shipperPositiveReviewRate: String= "",
val shipperTransactionVolume: String= "",
val vehicleLength: String= "",
val vehicleType: String = "",
val goodItemGrossWeight: String = "",
val driverEvaluationStatus: String = "",//司机评价状态0=未评价1=已评价)
val shipperEvaluationStatus: String = "",//货主评价状态0=未评价1=已评价)
val goodName: String = "",
val vehicleNum: String = ""
)
data class Goods(
val goodCube: String,
val goodItemGrossWeight: String,
val goodName: String,
val goodNum: String,
val orderGoodsId: String
)

View File

@ -0,0 +1,118 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName OrderDetailBean
* @Author john
* @Date 2024/3/4 10:36
* @Description TODO
*/
data class OrderDetailBean(
val avatar: String,
val captainInfo: CaptainInfo,
val distance: String,
val driverFreight: String,
val goodsList: List<Goods>,
val loadingDeadline: String,
val orderChildList: List<OrderChild>,
val orderId: String,
val orderNum: String,
val orderStatus: String,
val phone: String,
val orderType: String,
val passingPoStringsNum: String,
val realCompanyName: String,
val receiverBusinessCode: String,
val receiverBusinessName: String,
val receiverDeadline: String,
val driverEvaluationStatus: String,
val requirement: String,
val shipperContactName: String,
val shipperContactPhone: String,
val shipperCaptainId: String,//货主指定车队ID
val shipperDriverId: String,//货主指定司机ID
val shipperCarId: String,//货主指定车辆ID
val vehicleLength: String,
val vehicleType: String,
val waybillId: String,
val vehicleNum: String,
val loadingAreaCode: String,
val receiverAreaCode: String,
val report: String,
val waybillInfo: WaybillInfo
)
data class CaptainInfo(
val avatar: String,
val captainId: String,
val captainName: String,
val captaStringype: String,
val contactName: String,
val contactPhone: String,
val status: String
)
data class Goods(
val goodCube: String,
val goodItemGrossWeight: String,
val goodName: String,
val packName: String,
val goodNum: String,
val orderGoodsId: String
)
data class OrderChild(
val address: String,
val area: String,
val areaCode: String,
val businessCode: String,
val businessName: String,
val city: String,
val cityCode: String,
val cost: String,
val isPassingPoints: String,//是否途经点(0=否,1=是)
val displayOrder: String,
val isPassingPoStrings: String,
val latitude: String,
val longitude: String,
val name: String,
val orderChildreId: String,
val orderId: String,
val phone: String,
val province: String,
val location: String,
val photoUrl: String,
val provinceCityArea: String,
val provinceCode: String,
val sortValue: String,
val status: String,
val totalAmount: String,
val receiptType: String,
val type: String
)
data class WaybillInfo(
val captainId: String,
val carId: String,
val carUrl: String,
val contactName: String,
val contactPhone: String,
val driverId: String,
val idcardName: String,
val idcardSex: String,
val isRealName: String,
val loadTime: String,
val receivingOrderTime: String,
val trailerId: String,
val trailerVehicleNum: String,
val unloadTime: String,
var vehicleNum: String,
val carLong: String,
val isEvaluation : String,
val isShipperEvaluation : String,
val approvedLoad: String,
val vehicleType: String,
val waybillId: String
)

View File

@ -0,0 +1,9 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName OssBean
* @Author john
* @Date 2024/2/27 09:13
* @Description TODO
*/
data class OssBean(var name: String, var url: String)

View File

@ -0,0 +1,15 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName PushBean
* @Author john
* @Date 2024/4/28 09:34
* @Description TODO
*/
data class PushBean(
val orderId: String,
val carId: String,
val orderNum: String,
val messageType: String,
val orderStatus: String
)

View File

@ -0,0 +1,9 @@
package com.arpa.glex.bean
/**
* @ClassName RefreshBean
* @Author 用户
* @Date 2023/9/21 10:53
* @Description TODO
*/
data class RefreshBean(var page : Int,var limit : Int)

View File

@ -0,0 +1,26 @@
package com.arpa.hndahesudintocctmsdriver.bean
import com.flyco.tablayout.listener.CustomTabEntity
/**
* @ClassName TabBean2
* @Author 用户
* @Date 2023/12/28 15:27
* @Description TODO
*/
data class TabBean(var title:String,
var selectedIcon:Int,
var unSelectedIcon:Int
) : CustomTabEntity {
override fun getTabTitle(): String {
return title
}
override fun getTabSelectedIcon(): Int {
return selectedIcon
}
override fun getTabUnselectedIcon(): Int {
return unSelectedIcon
}
}

View File

@ -0,0 +1,296 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName UpDriverInfoBean
* @Author john
* @Date 2024/2/27 11:09
* @Description TODO
*/
data class UpPersonInfoBean(
var idcardNo: String = "",
var idcardName: String = "",
var idcardSex: String = "",
var idcardEthnicity: String = "",
var idcardEffectiveStart: String = "",
var idcardEffectiveEnd: String = "",
var idcardIsEndless: String = "0",
var idcardFrontUrl: String = "",
var idcardBackUrl: String = "",
var idcardAddress: String = ""
)
/**
* 上传驾驶证
* */
data class UpDriverInfoBean(
var licenseNo: String = "",
var licenseType: String = "",
var licenseName: String = "",
var licenseRecordNumber: String = "",
var licenseRegisterDate: String = "",
var licenseEffectiveStart: String = "",
var licenseEffectiveEnd: String = "",
var licensePhotoFaceUrl: String = "",
var licensePhotoBackUrl: String = "",
var recordNumber: String = "",
var licenseFirstGetDate: String = "",
var licenseApproveOrganization: String = ""
)
/**
* 上传行驶证
* */
data class UpDrivingInfoBean(
var address: String = "",
var approvedLoad: String = "",
var barcodeNumber: String = "",
var carHeight: String = "",
var carLong: String = "",
var trailerHeight: String = "",
var trailerWidth: String = "",
var trailerLong: String = "",
var carUrl: String = "",
var carId: String = "",
var trailerId: String = "",
var carWidth: String = "",
var curbWeight: String = "",
var energySign: String = "",
var energySignCode: String = "",
var engineNo: String = "",
var inspectionRecord: String = "",
var isTrailer: String = "",
var issuingAuthority: String = "",
var licenseBackUrl: String = "",
var licenseFaceUrl: String = "",
var licenseIssueDate: String = "",
var licenseRegisterDate: String = "",
var licenseRemarks: String = "",
var licensevaridity: String = "",
var model: String = "",
var overallDimension: String = "",
var owner: String = "",
var passengerCapacity: String = "",
var plateColor: String = "",
var plateColorCode: String = "",
var trailerPlateColor: String = "",
var trailerPlateColorCode: String = "",
var recordNumber: String = "",
var registerImageUrl: String = "",
var roadLicense: String = "",
var roadLicensePhotoUrl: String = "",
var roadLicenseSend: String = "",
var roadLicensevaridity: String? = null,
var totalWeight: String = "",
var tractionWeight: String = "",
var useNature: String = "",
var vehicleNum: String = "",
var vehicleType: String = "",
var vehicleTypeCode: String = "",
var roadLicenseValidity: String ?= null,
var licenseValidity: String = "",//到期时间
var vinCode: String = ""
)
/**
* 上传从业资格
* */
data class UpQualiInfoBean(
var qualificationCertificateNo: String = "",
var qualificationCertificateEffectiveEnd: String = "",
var qualificationCertificatePhotoUrl: String = "",
var qualificationCertificateExamineDate: String = ""
)
/**
* 上传车辆的道路运输证
* */
data class UpRoadInfoBean(
var carId: String = "",
var roadLicensePhotoUrl: String = "",
var roadLicense: String = "",
var roadLicensevaridity: String = "",
var roadLicenseSend: String = ""
)
/**
* 上传银行卡
* */
data class UpBankInfoBean(
var driverBankcardNumber: String = "",
var driverBankcardPhotoUrl: String = "",
var driverBankcardAddress: String = ""
)
/**
* 认证车队长bean
* */
data class AuthTeamBean(
var captainBankcardAddress: String="",
var captainBankcardNumber: String="",
var captainBankcardName: String="",
var captainName: String="",
var captainBankcardPhotoUrl: String="",
var captainType: String="",//类型(0=个人1=企业)
var idcardAddress: String="",
var idcardBackUrl: String="",
var idcardEffectiveEnd: String="",
var idcardEffectiveStart: String="",
var idcardEthnicity: String="",
var idcardFrontUrl: String="",
var idcardIsEndless: String="0",
var idcardName: String="",
var idcardNo: String="",
var roadLicensePhotoUrl: String="",
var roadLicense: String="",
var roadLicenseValidity: String="",
var roadLicensevaridity: String="",
var businessLicensePhoneUrl: String="",
var businessLicenseCreditCode: String="",
var businessEnterpriseName: String="",
var businessLegalPerson: String="",
var businessLicenseEffectiveStart: String="",
var businessLicenseEffectiveEnd: String="",
var idcardSex: String=""
){
constructor(captainType: String) : this(){
this.captainType = captainType
}
}
/**
* 司机同意/拒绝加入车队
* @property joinStatus String 0=待同意,1=已同意,2=已拒绝
* @property linkId Int
* @property reason String
* @constructor
*/
data class UpCaptain(
var joinStatus: String="",
var linkId: String="",
var captainId: String="",
var driverId: String="",
var reason: String=""
)
/**
* 提交党员认证资料
* @property address String
* @property area String
* @property areaCode String
* @property city String
* @property cityCode String
* @property materialList List<Material>
* @property partyMembershipTime String
* @property province String
* @property provinceCityArea String
* @property provinceCode String
* @constructor
*/
data class UpPart(
var address: String = "",
var area: String = "",
var areaCode: String = "",
var city: String = "",
var cityCode: String = "",
var materialList: MutableList<Material> = mutableListOf(),
var partyMembershipTime: String = "",
var province: String = "",
var provinceCityArea: String = "",
var provinceCode: String = ""
)
data class Material(
var isDel: String="",
var materialId: String="",
var materialUrl: String="",
var sortValue: String=""
)
/**
* 评价运单
* @property opinionsContent String
* @property opinionsStarRating Int
* @property orderId Int
* @property resourcesList List<Resources>
* @constructor
*/
data class UpRate(
var opinionsContent: String = "",
var opinionsStarRating: String= "",
var orderId: String= "",
var resourcesList: MutableList<Resources> = mutableListOf()
)
data class Resources(
var resourcesSort: String= "",
var resourcesType: String= "",
var resourcesUrl: String= ""
)
/**
* 司机轨迹上传
* @property latitude String
* @property longitude String
* @property orderId String
* @property waybillId String
* @constructor
*/
data class UpLocation(
val latitude: Double,
val longitude: Double,
val orderId: String,
val waybillId: String
)
/**
* 上传用户头像
* @property avatar String
* @constructor
*/
data class UpPersonHead(
val avatar: String,
)
/**
* 提现
* @property tradeMoney String
* @property tradeTitle String
* @constructor
*/
data class UpCashBean(
val tradeMoney: String,
val tradeTitle: String
)
data class MyLocation(
val latitude: String,
val longitude: String
)
/**
* 获取手续费配置
* @constructor
*/
data class CashConfig(
val driverBankcardNumber: String,
val driverBankcardName: String,
val driverBankcardAddress: String,
val chargeRate: String,
val minCharge: String
)

View File

@ -0,0 +1,37 @@
package com.arpa.hndahesudintocctmsdriver.bean
/**
* @ClassName UpPicBean
* @Author john
* @Date 2024/3/4 16:25
* @Description TODO
*/
data class UpPicBean(
var address: String = "",
var area: String= "",
var areaCode: String= "",
var city: String= "",
var cityCode: String= "",
var latitude: String= "",
var longitude: String= "",
var location: String= "",
var orderChildreId: String= "",
var orderId: String= "",
var province: String= "",
var provinceCityArea: String= "",
var provinceCode: String= "",
var type: String= "",//1装货2卸货
var waybillId: String= "",
var waybillPhotoList: MutableList<WaybillPhoto> = mutableListOf<WaybillPhoto>()
)
data class WaybillPhoto(
var latitude: String= "",
var location: String= "",
var longitude: String= "",
var photoUrl: String= "",
var localPhotoUrl: String= "",
var receiptType: String= "",
var sortvarue: String= "",
var type: String= ""
)

View File

@ -0,0 +1,118 @@
package com.arpa.glex.bean
/**
* @ClassName UserBean
* @Author 用户
* @Date 2023/9/21 09:52
* @Description TODO
*/
data class UserBean(
var access_token :String,
var token :String,
var userid :String,
var id :String,
var idcard :String,
var roleId :String,
var contactPhone :String,
var uname :String,
var registerPhone :String,
var companyName :String,
var account :String,
var headportraitUrl :String,
var salt :String,
var jumpUrl :String,
var distance :String,
var idCardValidity :String,
var driverValidity :String,
var driverId :String,
var qualificationValidity :String,
var isCar :String,
var qrcodeUrl :String,
var expires_in :Int,
var credit :String,
var auditStatus: String="",
var isCarCaptain :String,//是否是车队长0=否,1=是,9=未选择)
var contactName :String,
var idcardName :String,
var isRealName :String,
var avatar :String,
var approvedType :String,//准驾类型
var partyMemberCertification :String,//党员认证(0=未认证,1=已认证)
var captainId :String
)
data class UserDetail(
var createBy: String="",
var createTime: String="",
var isRealName: String="",
var auditStatus: String="",
var driverBankcardAddress: String="",
var driverBankcardNumber: String="",
var driverBankcardName: String="",
var driverBankcardPhotoUrl: String="",
var driverId: String="",
var idcardAddress: String="",
var idcardBackUrl: String="",
var idcardEffectiveEnd: String="",
var idcardEffectiveStart: String="",
var idcardEthnicity: String="",
var idcardFrontUrl: String="",
var idcardIsEndless: String="",
var idcardName: String="",
var idcardNo: String="",
var idcardSex: String="",
var licenseApproveOrganization: String="",
var licenseEffectiveEnd: String="",
var licenseEffectiveStart: String="",
var licenseFirstGetDate: String="",
var licenseName: String="",
var licenseNo: String="",
var licensePhotoBackUrl: String="",
var licensePhotoFaceUrl: String="",
var licenseRecordNumber: String="",
var licenseType: String="",
var qualificationCertificateEffectiveEnd: String="",
var qualificationCertificateExamineDate: String="",
var qualificationCertificateNo: String="",
var qualificationCertificatePhotoUrl: String="",
var remark: String="",
var taxpayerCaptainId: String="",
var updateBy: String="",
var updateTime: String=""
)
data class WalletInfo(
val acctBal: String,
val accumulatedRevenue: String,
val actualBal: String,
val bankCountNum: String,
val freezeBal: String
)
data class WaterInfo(
val amount: String,
val businessType: String,
val waybillNum: String,
val id: String,
val opTime: String,
val withdrawalsStatus: String
)
data class CardInfo(
val configValue: String,
val idcardEffectiveEnd: String,
val idcardEffectiveOverdue: String,
val idcardIsEndless: String,
val licenseEffectiveEnd: String,
val licenseEffectiveOverdue: String,
val qualificationCertificateEffectiveEnd: String,
val qualificationCertificateEffectiveOverdue: String,
//车辆
val carId: String,
val roadLicenseValidityOverdue: String,//道路运输证是否过期
val vehicleNum: String,
val licenseValidityOverdue: String//驾驶证是否过期
)

View File

@ -0,0 +1,82 @@
/**
* @ClassName WayBill2
* @Author 用户
* @Date 2023/9/21 17:48
* @Description TODO
*/
data class WayBill2(
val acceptTime: String,
val avgScore: Int,
val carNumber: String,
val carType: String,
val contractUrl: String,
val distance: String,
val driverName: String,
val endCountrySubdivisionCode: String,
val isEvaluation: Int,
val nfcId: String,
val operation: Int,
val report: Int,
val reportAlct: Int,
val roleId: Int,
val serialNumber: String,
val shippingNoteNumber: String,
val startCountrySubdivisionCode: String,
val totalAmount: String,
val wayChildren: List<WayChildren>,
val waybillId: Int,
val waybillStatus: String
)
data class WayChildren(
val acceptTime: String,
val address: String,
val carNumber: String,
val carType: String,
val deadline: String,
val deadlineDate: Long,
val delay: Int,
val displayOrder: String,
val distance: String,
val driverName: String,
val goods: List<Good>,
val id: Long,
val imageTakenDate: String,
val isEvaluation: Int,
val latitude: String,
val longitude: String,
val name: String,
val orderId: Int,
val phone: String,
val realityTimeDate: Long,
val receiptLatitude: String,
val receiptLocationAddress: String,
val receiptLongitude: String,
val receiptTime: String,
val receiptUrl: List<String>,
val report: Int,
val reportAlct: Int,
val sendPutImagesUrl: List<String>,
val sendPutLatitude: String,
val sendPutLocationAddress: String,
val sendPutLongitude: String,
val shippingNoteNumber: String,
val status: Int,
val totalAmount: String,
val type: Int,
val updateTime: String,
val waybillStatus: String
)
data class Good(
val childrenId: String,
val createTime: String,
val goodName: String,
val goodNum: String,
val goodPrice: String,
val goodUnit: String,
val id: String,
val packName: String
)

View File

@ -0,0 +1,9 @@
package com.arpa.glex.bean
/**
* @ClassName WayBillBean
* @Author 用户
* @Date 2023/9/21 17:34
* @Description TODO
*/
data class WayBillBean(var waybillId :String="")

View File

@ -0,0 +1,76 @@
package com.arpa.hndahesudintocctmsdriver.callback
import android.view.View
import com.amap.api.navi.INaviInfoCallback
import com.amap.api.navi.model.AMapNaviLocation
/**
* @ClassName MyOnInitNaviFailure
* @Author john
* @Date 2024/3/21 16:12
* @Description TODO
*/
abstract class MyINaviInfoCallback : INaviInfoCallback {
override fun onInitNaviFailure() {
}
override fun onGetNavigationText(p0: String?) {
}
override fun onLocationChange(p0: AMapNaviLocation?) {
}
override fun onArriveDestination(p0: Boolean) {
}
override fun onStartNavi(p0: Int) {
}
override fun onCalculateRouteSuccess(p0: IntArray?) {
}
override fun onCalculateRouteFailure(p0: Int) {
}
override fun onStopSpeaking() {
}
override fun onReCalculateRoute(p0: Int) {
}
override fun onExitPage(p0: Int) {
}
override fun onStrategyChanged(p0: Int) {
}
override fun onArrivedWayPoint(p0: Int) {
}
override fun onMapTypeChanged(p0: Int) {
}
override fun onNaviDirectionChanged(p0: Int) {
}
override fun onDayAndNightModeChanged(p0: Int) {
}
override fun onBroadcastModeChanged(p0: Int) {
}
override fun onScaleAutoChanged(p0: Boolean) {
}
override fun getCustomMiddleView(): View? {
return null
}
override fun getCustomNaviView(): View? {
return null
}
override fun getCustomNaviBottomView(): View? {
return null
}
}

View File

@ -0,0 +1,27 @@
package com.arpa.hndahesudintocctmsdriver.callback
import com.amap.api.services.route.BusRouteResult
import com.amap.api.services.route.DriveRouteResult
import com.amap.api.services.route.RideRouteResult
import com.amap.api.services.route.RouteSearch
import com.amap.api.services.route.WalkRouteResult
/**
* @ClassName MyOnInitNaviFailure
* @Author john
* @Date 2024/3/21 16:12
* @Description TODO
*/
open class MyOnRouteSerach : RouteSearch.OnRouteSearchListener {
override fun onBusRouteSearched(p0: BusRouteResult?, p1: Int) {
}
override fun onDriveRouteSearched(p0: DriveRouteResult?, p1: Int) {
}
override fun onWalkRouteSearched(p0: WalkRouteResult?, p1: Int) {
}
override fun onRideRouteSearched(p0: RideRouteResult?, p1: Int) {
}
}

View File

@ -0,0 +1,13 @@
package com.arpa.hndahesudintocctmsdriver.callback
import com.arpa.hndahesudintocctmsdriver.bean.UpDrivingInfoBean
/**
* @ClassName OnCarInfoInterface
* @Author john
* @Date 2024/4/27 15:48
* @Description TODO
*/
fun interface OnCarInfoInterface {
fun onResutl(upDrivingInfoBean: UpDrivingInfoBean)
}

View File

@ -0,0 +1,22 @@
package com.arpa.hndahesudintocctmsdriver.callback
import com.arpa.hndahesudintocctmsdriver.bean.OcrPersonBean
/**
* @ClassName OnOcrPicResultListener
* @Author john
* @Date 2024/2/28 17:18
* @Description TODO
*/
fun interface OnOcrPicResultListener {
fun onSuccResult(picPath: PicPath, result: OcrPersonBean?)
}
fun interface OnOcrCarNumListener {
fun onSuccResult(carNum: String)
}
data class PicPath(
var locPic: String, var picPath: String
)

View File

@ -0,0 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.callback
/**
* @ClassName OnOcrPicResultListener
* @Author john
* @Date 2024/2/28 17:18
* @Description TODO
*/
fun interface OnResultListener {
fun onResult(success:Boolean)
}

View File

@ -0,0 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.callback
/**
* @ClassName OnOcrPicResultListener
* @Author john
* @Date 2024/2/28 17:18
* @Description TODO
*/
fun interface OnSearchListener {
fun onSearchClick(search: String)
}

View File

@ -0,0 +1,9 @@
package com.arpa.hndahesudintocctmsdriver.event
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
class FaceEvent(var message: String)

View File

@ -0,0 +1,16 @@
package com.arpa.hndahesudintocctmsdriver.event
/**
* @ClassName OrderStauEvent
* @Author john
* @Date 2024/3/5 15:51
* @Description statu: 1 刷新
*/
class GoWaybillEvent constructor(statu: Int) {
var statu: Int = 0
init {
this.statu = statu
}
}

View File

@ -0,0 +1,16 @@
package com.arpa.hndahesudintocctmsdriver.event
/**
* @ClassName OrderStauEvent
* @Author john
* @Date 2024/3/5 15:51
* @Description statu: 1 刷新
*/
class OrderStauEvent constructor(statu: Int) {
var statu: Int = 0
init {
this.statu = statu
}
}

Some files were not shown because too many files have changed in this diff Show More