Ver Fonte

Merge branch 'master' of http://git.zthymaoyi.com/gongdecai/wangluohuoyun-huozhuapp

achao há 2 anos atrás
pai
commit
0a209bb0b8
100 ficheiros alterados com 3556 adições e 833 exclusões
  1. 180 0
      .gitignore
  2. 17 17
      App.vue
  3. 137 135
      manifest.json
  4. 4 3
      pages.json
  5. 127 109
      pages/carSource/driverSee.vue
  6. 5 3
      pages/carSource/index.vue
  7. 13 5
      pages/mine/cargoowner/cargoowner.vue
  8. 12 6
      pages/mine/cargoowner/editpersonalinformation.vue
  9. 101 47
      pages/mine/company/addcompany.vue
  10. 1 1
      pages/mine/company/companyvideo.nvue
  11. 205 58
      pages/mine/company/editcompany.vue
  12. 43 20
      pages/mine/evaluate.vue
  13. 24 23
      pages/mine/index.vue
  14. 14 11
      pages/mine/myAccount/bill.vue
  15. 1 1
      pages/mine/myAccount/index.vue
  16. 4 2
      pages/news/index.vue
  17. 3 0
      pages/order/confirmLoading.vue
  18. 113 75
      pages/order/driverDetail.vue
  19. 70 12
      pages/order/evaluationRecord.vue
  20. 2 2
      pages/order/fk.vue
  21. 49 29
      pages/order/index.vue
  22. 2 2
      pages/order/jb.vue
  23. 26 16
      pages/order/orderDetails.vue
  24. 8 4
      pages/public/login.vue
  25. 35 25
      pages/release/addAddress.vue
  26. 34 19
      pages/release/editAddress.vue
  27. 56 38
      pages/release/release.vue
  28. 151 170
      pages/release/selectAddress.vue
  29. 539 0
      static/gengduo/demo.css
  30. 207 0
      static/gengduo/demo_index.html
  31. 17 0
      static/gengduo/iconfont.css
  32. 0 0
      static/gengduo/iconfont.js
  33. 16 0
      static/gengduo/iconfont.json
  34. BIN
      static/gengduo/iconfont.ttf
  35. BIN
      static/images/mine/gh.png
  36. BIN
      static/images/mine/zm.png
  37. BIN
      static/mine/yinhangka.png
  38. BIN
      static/mine/zhanghu.png
  39. 0 0
      unpackage/dist/build/.automator/app-plus/.automator.json
  40. 0 0
      unpackage/dist/build/app-plus/__uniappchooselocation.js
  41. BIN
      unpackage/dist/build/app-plus/__uniapperror.png
  42. 0 0
      unpackage/dist/build/app-plus/__uniappes6.js
  43. 0 0
      unpackage/dist/build/app-plus/__uniapppicker.js
  44. 0 0
      unpackage/dist/build/app-plus/__uniappquillimageresize.js
  45. BIN
      unpackage/dist/build/app-plus/__uniappsuccess.png
  46. 25 0
      unpackage/dist/build/app-plus/__uniappview.html
  47. 1 0
      unpackage/dist/build/app-plus/app-config.js
  48. BIN
      unpackage/dist/build/app-plus/components/bert-suggest/icons/contact.png
  49. BIN
      unpackage/dist/build/app-plus/components/bert-suggest/icons/image.png
  50. BIN
      unpackage/dist/build/app-plus/components/bert-suggest/icons/suggestion.png
  51. 1 0
      unpackage/dist/build/app-plus/hybrid/html/axios.min.js
  52. 147 0
      unpackage/dist/build/app-plus/hybrid/html/base64.js
  53. 273 0
      unpackage/dist/build/app-plus/hybrid/html/crypto.js
  54. BIN
      unpackage/dist/build/app-plus/hybrid/html/img/1.png
  55. BIN
      unpackage/dist/build/app-plus/hybrid/html/img/shipinrenzheng.png
  56. 0 0
      unpackage/dist/build/app-plus/hybrid/html/index.js
  57. 182 0
      unpackage/dist/build/app-plus/hybrid/html/map.html
  58. 37 0
      unpackage/dist/build/app-plus/hybrid/html/play.html
  59. 428 0
      unpackage/dist/build/app-plus/hybrid/html/video.html
  60. 0 0
      unpackage/dist/build/app-plus/hybrid/html/video.js
  61. 5 0
      unpackage/dist/build/app-plus/hybrid/html/vue.min.js
  62. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/amap.png
  63. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/close.png
  64. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/selectedStart.png
  65. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/sharp.png
  66. BIN
      unpackage/dist/build/app-plus/static/ITkoala-amap/start.png
  67. BIN
      unpackage/dist/build/app-plus/static/banner@2x.png
  68. 221 0
      unpackage/dist/build/app-plus/static/css/common.scss
  69. 20 0
      unpackage/dist/build/app-plus/static/css/font.css
  70. BIN
      unpackage/dist/build/app-plus/static/icon_delete.png
  71. BIN
      unpackage/dist/build/app-plus/static/icon_down.png
  72. BIN
      unpackage/dist/build/app-plus/static/iconfont.ttf
  73. BIN
      unpackage/dist/build/app-plus/static/images/carSource/exchange.png
  74. BIN
      unpackage/dist/build/app-plus/static/images/carSource/mescroll-empty.png
  75. BIN
      unpackage/dist/build/app-plus/static/images/carSource/yaoqing.png
  76. BIN
      unpackage/dist/build/app-plus/static/images/common/bz@2x.png
  77. BIN
      unpackage/dist/build/app-plus/static/images/common/cy@2x.png
  78. BIN
      unpackage/dist/build/app-plus/static/images/common/dingdan@2x(1).png
  79. BIN
      unpackage/dist/build/app-plus/static/images/common/dingdan@2x.png
  80. BIN
      unpackage/dist/build/app-plus/static/images/common/huoyuan@2x(1).png
  81. BIN
      unpackage/dist/build/app-plus/static/images/common/huoyuan@2x.png
  82. BIN
      unpackage/dist/build/app-plus/static/images/common/iconmy@2x.png
  83. BIN
      unpackage/dist/build/app-plus/static/images/common/jt.png
  84. BIN
      unpackage/dist/build/app-plus/static/images/common/mesicon@2x.png
  85. BIN
      unpackage/dist/build/app-plus/static/images/common/my@2x.png
  86. BIN
      unpackage/dist/build/app-plus/static/images/common/quxiao@2x.png
  87. BIN
      unpackage/dist/build/app-plus/static/images/common/sh.png
  88. BIN
      unpackage/dist/build/app-plus/static/images/common/sx.png
  89. BIN
      unpackage/dist/build/app-plus/static/images/common/tg.png
  90. BIN
      unpackage/dist/build/app-plus/static/images/common/tianjiazhaopian@2x.png
  91. BIN
      unpackage/dist/build/app-plus/static/images/common/top@2x.png
  92. BIN
      unpackage/dist/build/app-plus/static/images/common/wtg.png
  93. BIN
      unpackage/dist/build/app-plus/static/images/common/xiaoxi@2x.png
  94. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/Mask@2x.png
  95. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/banner@2x.png
  96. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/change.png
  97. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/jt.png
  98. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/jx.png
  99. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/jxbf.png
  100. BIN
      unpackage/dist/build/app-plus/static/images/goodSource/msgicon@2x.png

+ 180 - 0
.gitignore

@@ -0,0 +1,180 @@
+######################
+# Project Specific
+######################
+/target/classes/static/**
+/src/test/javascript/coverage/
+
+### target ###
+/target/
+/winsea-haixin-platform-backend/target/
+/winsea-haixin-plugin-base/target/
+/winsea-haixin-plugin-clouddisk/target/
+/winsea-haixin-plugin-configuration/target/
+/winsea-haixin-plugin-news/target/
+/winsea-haixin-plugin-operation/target/
+/winsea-haixin-plugin-servicer/target/
+/winsea-haixin-plugin-yiliangyiyun/unpackage/dist/
+
+
+######################
+# Node
+######################
+/node/
+node_tmp/
+node_modules/
+npm-debug.log.*
+/.awcache/*
+/.cache-loader/*
+
+######################
+# SASS
+######################
+.sass-cache/
+
+######################
+# Eclipse
+######################
+*.pydevproject
+.project
+.metadata
+tmp/
+tmp/**/*
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.classpath
+.settings/
+.loadpath
+.factorypath
+/src/main/resources/rebel.xml
+
+# External tool builders
+.externalToolBuilders/**
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# CDT-specific
+.cproject
+
+# PDT-specific
+.buildpath
+
+# STS-specific
+/.sts4-cache/*
+######################
+# Intellij
+######################
+.idea/
+*.iml
+*.iws
+*.ipr
+*.ids
+*.orig
+classes/
+out/
+
+######################
+# Visual Studio Code
+######################
+.vscode/
+
+######################
+# Maven
+######################
+/log/
+/target/
+
+######################
+# Gradle
+######################
+.gradle/
+/build/
+
+######################
+# Package Files
+######################
+*.jar
+*.war
+*.ear
+*.db
+
+######################
+# Windows
+######################
+# Windows image file caches
+Thumbs.db
+
+# Folder config file
+Desktop.ini
+
+######################
+# Mac OSX
+######################
+.DS_Store
+.svn
+
+# Thumbnails
+._*
+
+# Files that might appear on external disk
+.Spotlight-V100
+.Trashes
+
+######################
+# Directories
+######################
+/bin/
+/deploy/
+
+######################
+# Logs
+######################
+*.log*
+
+######################
+# Others
+######################
+*.class
+*.*~
+*~
+.merge_file*
+
+######################
+# Gradle Wrapper
+######################
+!gradle/wrapper/gradle-wrapper.jar
+
+######################
+# Maven Wrapper
+######################
+!.mvn/wrapper/maven-wrapper.jar
+
+######################
+# ESLint
+######################
+.eslintcache
+
+######################
+# Rancher
+######################
+.rancher-pipeline.yml
+deployment.yaml
+
+######################
+# Docker
+######################
+Dockerfile
+/.recommenders/
+
+### target ###
+/target/
+/unpackage/cache/
+/unpackage/debug/
+/unpackage/dist/
+
+
+###node_modules###
+/node_modules/

+ 17 - 17
App.vue

@@ -21,23 +21,23 @@
 		},
 		onLaunch: function() {
 			let that = this
-			uni.onTabBarMidButtonTap(() => {
-				console.log("点击发布")
-				if (!that.hasLogin) {
-					// uni.$u.route('/pages/public/login');
-					uni.navigateTo({
-						url: "/pages/public/login",
-						animationType: "slide-in-bottom", // 动画类型
-						animationDuration: 150, // 窗口动画持续时间,单位为 ms
-						fail(err) {
-							console.log(err)
-						},
-						success(res) {
-							console.log(res)
-						}
-					})
-				}
-			})
+			// uni.onTabBarMidButtonTap(() => {
+			// 	console.log("点击发布")
+			// 	if (!that.hasLogin) {
+			// 		// uni.$u.route('/pages/public/login');
+			// 		uni.navigateTo({
+			// 			url: "/pages/public/login",
+			// 			animationType: "slide-in-bottom", // 动画类型
+			// 			animationDuration: 150, // 窗口动画持续时间,单位为 ms
+			// 			fail(err) {
+			// 				console.log(err)
+			// 			},
+			// 			success(res) {
+			// 				console.log(res)
+			// 			}
+			// 		})
+			// 	}
+			// })
 			uni.getSystemInfo({
 				success: function(e) {
 					Vue.prototype.statusBar = e.statusBarHeight

+ 137 - 135
manifest.json

@@ -1,137 +1,139 @@
 {
-	"name": "智运-货主端",
-	"appid": "__UNI__DCD13AC",
-	"description": "智运",
-	"versionName": "1.0.4",
-	"versionCode": 104,
-	"transformPx": false,
-	/* 5+App特有相关 */
-	"app-plus": {
-		"usingComponents": true,
-		"nvueStyleCompiler": "uni-app",
-		"compilerVersion": 3,
-		"splashscreen": {
-			"alwaysShowBeforeRender": true,
-			"waiting": true,
-			"autoclose": true,
-			"delay": 0
-		},
-		/* 模块配置 */
-		"modules": {
-			"Maps": {},
-			"VideoPlayer": {},
-			"Geolocation": {},
-			"iBeacon": {}
-		},
-		/* 应用发布信息 */
-		"distribute": {
-			/* android打包配置 */
-			"android": {
-				"permissions": [
-					"<uses-feature android:name=\"android.hardware.camera\"/>",
-					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
-					"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",
-					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-					"<uses-permission android:name=\"android.permission.INTERNET\"/>",
-					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-					"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
-					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
-					"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
-					"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
-				]
-			},
-			/* ios打包配置 */
-			"ios": {},
-			/* SDK配置 */
-			"sdkConfigs": {
-				"maps": {
-					"amap": {
-						"appkey_ios": "b1ce5ff5cafa861ce00623ac4788a721",
-						"appkey_android": "77d75fbe6f68fc8e415b990bfc70daaa"
-					}
-				},
-				"push": {
-					"unipush": {}
-				},
-				"oauth": {},
-				"ad": {},
-				"geolocation": {
-					"amap": {
-						"__platform__": ["ios", "android"],
-						"appkey_ios": "b1ce5ff5cafa861ce00623ac4788a721",
-						"appkey_android": "77d75fbe6f68fc8e415b990bfc70daaa"
-					}
-				}
-			},
-			"icons": {
-				"android": {
-					"hdpi": "unpackage/res/icons/72x72.png",
-					"xhdpi": "unpackage/res/icons/96x96.png",
-					"xxhdpi": "unpackage/res/icons/144x144.png",
-					"xxxhdpi": "unpackage/res/icons/192x192.png"
-				},
-				"ios": {
-					"appstore": "unpackage/res/icons/1024x1024.png",
-					"iphone": {
-						"app@2x": "unpackage/res/icons/120x120.png",
-						"app@3x": "unpackage/res/icons/180x180.png",
-						"spotlight@2x": "unpackage/res/icons/80x80.png",
-						"spotlight@3x": "unpackage/res/icons/120x120.png",
-						"settings@2x": "unpackage/res/icons/58x58.png",
-						"settings@3x": "unpackage/res/icons/87x87.png",
-						"notification@2x": "unpackage/res/icons/40x40.png",
-						"notification@3x": "unpackage/res/icons/60x60.png"
-					},
-					"ipad": {
-						"app": "unpackage/res/icons/76x76.png",
-						"app@2x": "unpackage/res/icons/152x152.png",
-						"proapp@2x": "unpackage/res/icons/167x167.png",
-						"spotlight": "unpackage/res/icons/40x40.png",
-						"spotlight@2x": "unpackage/res/icons/80x80.png",
-						"settings": "unpackage/res/icons/29x29.png",
-						"settings@2x": "unpackage/res/icons/58x58.png",
-						"notification": "unpackage/res/icons/20x20.png",
-						"notification@2x": "unpackage/res/icons/40x40.png"
-					}
-				}
-			}
-		},
-		"nativePlugins": {}
-	},
-	/* 快应用特有相关 */
-	"quickapp": {},
-	/* 小程序特有相关 */
-	"mp-weixin": {
-		"appid": "",
-		"setting": {
-			"urlCheck": false
-		},
-		"usingComponents": true
-	},
-	"mp-alipay": {
-		"usingComponents": true
-	},
-	"mp-baidu": {
-		"usingComponents": true
-	},
-	"mp-toutiao": {
-		"usingComponents": true
-	},
-	"uniStatistics": {
-		"enable": false
-	},
-	"vueVersion": "2"
+    "name" : "畅运通-货主端",
+    "appid" : "__UNI__DCD13AC",
+    "description" : "畅运通",
+    "versionName" : "1.0.5",
+    "versionCode" : 105,
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {
+            "Maps" : {},
+            "VideoPlayer" : {},
+            "Geolocation" : {}
+        },
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ],
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
+            },
+            /* ios打包配置 */
+            "ios" : {},
+            /* SDK配置 */
+            "sdkConfigs" : {
+                "maps" : {
+                    "amap" : {
+                        "appkey_ios" : "b1ce5ff5cafa861ce00623ac4788a721",
+                        "appkey_android" : "77d75fbe6f68fc8e415b990bfc70daaa"
+                    }
+                },
+                "push" : {
+                    "unipush" : {}
+                },
+                "oauth" : {},
+                "ad" : {},
+                "geolocation" : {
+                    "amap" : {
+                        "__platform__" : [ "ios", "android" ],
+                        "appkey_ios" : "b1ce5ff5cafa861ce00623ac4788a721",
+                        "appkey_android" : "77d75fbe6f68fc8e415b990bfc70daaa"
+                    },
+                    "system" : {
+                        "__platform__" : [ "ios", "android" ]
+                    }
+                }
+            },
+            "icons" : {
+                "android" : {
+                    "hdpi" : "unpackage/res/icons/72x72.png",
+                    "xhdpi" : "unpackage/res/icons/96x96.png",
+                    "xxhdpi" : "unpackage/res/icons/144x144.png",
+                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
+                },
+                "ios" : {
+                    "appstore" : "unpackage/res/icons/1024x1024.png",
+                    "iphone" : {
+                        "app@2x" : "unpackage/res/icons/120x120.png",
+                        "app@3x" : "unpackage/res/icons/180x180.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
+                        "spotlight@3x" : "unpackage/res/icons/120x120.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "settings@3x" : "unpackage/res/icons/87x87.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "notification@3x" : "unpackage/res/icons/60x60.png"
+                    },
+                    "ipad" : {
+                        "app" : "unpackage/res/icons/76x76.png",
+                        "app@2x" : "unpackage/res/icons/152x152.png",
+                        "proapp@2x" : "unpackage/res/icons/167x167.png",
+                        "spotlight" : "unpackage/res/icons/40x40.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
+                        "settings" : "unpackage/res/icons/29x29.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "notification" : "unpackage/res/icons/20x20.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png"
+                    }
+                }
+            }
+        },
+        "nativePlugins" : {}
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "",
+        "setting" : {
+            "urlCheck" : false
+        },
+        "usingComponents" : true
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "2"
 }

+ 4 - 3
pages.json

@@ -519,9 +519,10 @@
 				"app-plus": {
 					"titleNView": {
 						"buttons": [{
-							"text": "&#xf0141",
-							"fontSrc": "/static/iconfont.ttf",
-							"fontSize": "20"
+							"type":"menu"
+							// "text": "\f0112",
+							// "fontSrc": "/static/gengduo/iconfont.ttf",
+							// "fontSize": "20"
 						}]
 					}
 				}

+ 127 - 109
pages/carSource/driverSee.vue

@@ -3,10 +3,10 @@
 		<view class="item3 flex align-center flex-space-between">
 			<view class="flex align-center flex-space-between row1">
 				<view class="flex align-center">
-					<u--image :showLoading="true" :src="dataObj.avatarUrl" width="100rpx" height="100rpx" @click=""
+					<u--image :showLoading="true" :src="driverList.avatarUrl" width="100rpx" height="100rpx" @click=""
 						shape='circle'>
 					</u--image>
-					<view class="name">{{dataObj.driverName}}</view>
+					<view class="name">{{driverList.driverName}}</view>
 				</view>
 
 				<view class="right flex s-row align-center phone">
@@ -17,20 +17,20 @@
 				</view>
 			</view>
 		</view>
-		<!-- 	<view class="row2 flex">
+			<view class="row2 flex">
 			<view class="flex item">
 				<view class="pf-name">评分</view>
-				<view class="pf-number">4.98</view>
+				<view class="pf-number">{{ping.zong}}</view>
 			</view>
 			<view class="flex item">
 				<view class="pf-name">发运次数</view>
-				<view class="pf-number">4.98</view>
+				<view class="pf-number">{{driverList.shipmentsNumber?driverList.shipmentsNumber:0}}</view>
 			</view>
-			<view class="flex item">
-				<view class="pf-name">评价</view>
-				<view class="pf-number">4.98</view>
+			<view v-if='total>=20' class="flex item">
+				<view class="pf-name">好评率</view>
+				<view class="pf-number">{{driverList.favorableRate?driverList.favorableRate:0}}</view>
 			</view>
-		</view> -->
+		</view>
 		<view class="row3 flex">
 			<view :class="index==1?'row3-active':''" @click="clickTap(1)">司机信息</view>
 			<view :class="index==2?'row3-active':''" @click="clickTap(2)">评价</view>
@@ -51,12 +51,12 @@
 						4.8
 					</view>
 					<view>
-						<!-- 	<view>
+					<!-- 	<view>
 							<start count="5" v-model="zhpf" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'
 								:readonly='true'>
 							</start>
 						</view> -->
-						<view class="gray fontsize-24">累计发运150次</view>
+						<view class="gray fontsize-24">累计发运{{total}}次</view>
 					</view>
 				</view>
 				<view class="right">
@@ -67,15 +67,16 @@
 			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
 				class="mescroll">
 				<view class="flex flex-space-between">
-					<view :class="btnData == '' ? 'btn-active':'btn'" @click="btnChange('')">全部({{list.length}})</view>
+					<view :class="haoType == '' ? 'btn-active':'btn'" @click="btnChange('')">全部({{ping.haoPing+ping.chaPing}})</view>
 					<!-- <view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">最新(1)</view> -->
-					<view :class="btnData == 1 ? 'btn-active':'btn'" @click="btnChange(1)">好评({{list3.length}})</view>
-					<view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">差评({{list4.length}})</view>
+					<view :class="haoType == 1 ? 'btn-active':'btn'" @click="btnChange(1)">好评({{ping.haoPing}})</view>
+					<view :class="haoType == 2 ? 'btn-active':'btn'" @click="btnChange(2)">差评({{ping.chaPing}})</view>
 				</view>
 				<view class="evaluate_css" v-for="(item,index) in list">
 					<view class="flex">
 						<view class="row1 flex">
-							<u--image :src="item.ownerPortrait?item.ownerPortrait:'../../static/images/mine/tx.png'"
+							<u--image
+								:src="item.ownerPortrait?item.ownerPortrait:'../../static/images/mine/tx.png'"
 								width='70rpx' height='70rpx' shape="circle">
 							</u--image>
 							<view class="right">
@@ -84,9 +85,9 @@
 									{{item.createDate?item.createDate.split(' ')[0]:''}}
 								</view>
 								<view class="flex m-top10">
-									<view class="branch_css ">{{item.count}}</view>
+									<view class="branch_css ">{{item.driverScoreObtained}}</view>
 									<view class="">
-										<start count="5" v-model="item.count" size="35" activeColor="#ffaa00" :size="18"
+										<start count="5" v-model="item.driverScoreObtained" size="35" activeColor="#ffaa00" :size="18"
 											:allowHalf='true' :readonly='true'>
 										</start>
 									</view>
@@ -106,18 +107,18 @@
 			</mescroll-body>
 		</view>
 		<view class="row5">
-			<view class="">
-				<view v-if="tabIndex==1&&index==1" v-for="(items,index) in dataObj.driverCarInfoList" :key="index">
-					<view class="">
-						<view>{{items.carNumber}}</view>
-						<view class="flex align-center">{{items.carType}} | 车长{{items.carLong/1000}}米 |
-							载重{{items.carApprovedWeight/1000}}吨</view>
-					</view>
+			<view class='carMessage' v-if="tabIndex==1&&index==1">
+				<view class='carMessage-item' v-for='(item,index) in hyDriverCarInfoList' :style="{'border-radius':(index!=hyDriverCarInfoList.length-1?'#ccc':'transparent')}">
+					<view v-if='item.carCategory=="挂车"'>{{item.guaCarNumber}}</view>
+					<view v-else>{{item.carNumber}}</view>
+					<view v-if='item.carCategory=="挂车"' class="flex align-center">{{item.carType}} | 车长{{item.guaCarLong}}米 | 载重{{item.guaCarApprovedWeight}}吨</view>
+					<view v-else class="flex align-center">{{item.carType}} | 车长{{item.carLong}}米 | 载重{{item.carApprovedWeight}}吨</view>
 				</view>
-				<view class="carInfo" v-if="tabIndex==2&index==1">
-					<view>
-						累计发运150次,好评率90%
-					</view>
+				
+			</view>
+			<view class="carInfo" v-if="tabIndex==2&&index==1">
+				<view style='text-align:center;'>
+					累计发运{{driverList.shipmentsNumber?driverList.shipmentsNumber:0}}次<text v-if='total>=20'>,好评率{{driverList.favorableRate?driverList.favorableRate:0}}%</text>
 				</view>
 			</view>
 		</view>
@@ -146,8 +147,9 @@
 				index: 1,
 				show: false,
 				objectInfo: {},
+				haoType:'',
 				columns: [
-					['反馈', '举报']
+					['投诉', '举报']
 				],
 				list: [],
 				list1: [{
@@ -156,10 +158,12 @@
 					name: '评价',
 				}],
 
-				list3: [],
-				list4: [],
-				dataObj: {},
-				commonId: "",
+				list3:[],
+				list4:[],
+				ping:[],
+				hyDriverCarInfoList:[],
+				driverList:{},
+				total:0
 			};
 		},
 		onNavigationBarButtonTap(e) {
@@ -167,32 +171,42 @@
 			this.show = true
 		},
 		onLoad(options) {
-			debugger
-			this.commonId = options.commonId
-			console.log(this.dataObj)
+			// this.dataObj =JSON.parse(options.driver) 
+			// console.log(this.dataObj)
 			that = this
-			this.getList()
+			// this.getList()
+		},
+		onShow(){
+			var that=this
+			
 		},
 		computed: {
 			...mapState(['hasLogin', 'userInfo', 'firstAuthentication'])
 		},
 		methods: {
-			getList() {
-				that.$request.baseRequest('get', '/driverInfo/getDriver', {
-					commonId: this.commonId
-				}).then(res => {
-					this.dataObj = res.data
-				})
+			toPhone(){
+				console.log(this.driverList.driverPhone)
+				var that=this
+				uni.makePhoneCall({
+					phoneNumber: that.driverList.driverPhone,
+					success: (res) => {
+						console.log('调用成功!')
+					},
+					// 失败回调
+					fail: (res) => {
+						console.log('调用失败!')
+					}
+				});
 			},
 			confirmBtn(e) {
 				console.log(e.value)
-				if (e.value == '反馈') {
+				if (e.value == '投诉') {
 					uni.$u.route('/pages/order/fk', {
-						val: JSON.stringify(this.dataObj)
+						val: JSON.stringify(this.driverList)
 					});
 				} else {
 					uni.$u.route('/pages/order/jb', {
-						val: JSON.stringify(this.dataObj)
+						val: JSON.stringify(this.driverList)
 					});
 				}
 				this.show = false
@@ -207,70 +221,70 @@
 				this.tabIndex = index
 			},
 			btnChange(num) {
-				this.btnData = num
-				this.upCallback({
-					size: 10,
-					num: 1,
-				})
+				// debugger
+				this.haoType = num
+				this.upCallback({size:10,num:1})
+				// this.getList()
 			},
 			upCallback(page) {
-				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-					evaluatoredId: this.dataObj.id,
-					flag: 2,
-					pageSize: page.size,
-					// 1好2差
-					haoType: 1,
-					searchType: 1,
-					currentPage: page.num
-				}).then(res => {
-					if (page.num == 1) that.list3 = [];
-					that.list3 = that.list3.concat(res.data.records); //追加新数据
-				})
-				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-					evaluatoredId: this.dataObj.id,
-					flag: 2,
-					pageSize: page.size,
-					haoType: 2,
-					searchType: 1,
-					currentPage: page.num
-				}).then(res => {
-					if (page.num == 1) that.list4 = [];
-					that.list4 = that.list4.concat(res.data.records); //追加新数据
-				})
-				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-						evaluatoredId: this.dataObj.id,
-						flag: 2,
-						searchType: 1,
-						pageSize: page.size,
-						currentPage: page.num
+				var that =this
+				that.$request.baseRequest('get', '/driverInfo/getDriver', {
+						commonId:'2939c4c23ca14e4ab6f16d7a6b3f8d5e'
 					}).then(res => {
-						if (page.num == 1) that.list = [];
-						that.list = that.list.concat(res.data.records); //追加新数据
-
-						for (let i = 0; i < that.list.length; i++) {
-							if (that.list[i].ownerUrl) {
-								that.list[i].imgList = that.list[i].ownerUrl.split(',')
+						console.log(res.data)
+						that.driverList=res.data
+						if(res.data.hyDriverCarInfoList){
+							for (var i = 0; i < res.data.hyDriverCarInfoList.length; i++) {
+								res.data.hyDriverCarInfoList[i].carApprovedWeight=res.data.hyDriverCarInfoList[i].carApprovedWeight/1000
+								res.data.hyDriverCarInfoList[i].guaCarApprovedWeight=res.data.hyDriverCarInfoList[i].guaCarApprovedWeight/1000
+								res.data.hyDriverCarInfoList[i].carLong=res.data.hyDriverCarInfoList[i].carLong/1000
+								res.data.hyDriverCarInfoList[i].guaCarLong=res.data.hyDriverCarInfoList[i].guaCarLong/1000
+								res.data.hyDriverCarInfoList[i].carNumber = res.data.hyDriverCarInfoList[i].carNumber.replace(res.data.hyDriverCarInfoList[i].carNumber.substring(2, 6),
+									"****")
+								res.data.hyDriverCarInfoList[i].guaCarNumber = res.data.hyDriverCarInfoList[i].guaCarNumber.replace(res.data.hyDriverCarInfoList[i].guaCarNumber.substring(2, 6),
+								"****")
 							}
-
-							that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
-								.tranEfficiency) + Number(that.list[i].freightPayment) + Number(that.list[i]
-								.serviceQuality) + Number(that.list[i].comprehensiveSatisfaction)) / 15 * 5
+							that.hyDriverCarInfoList=res.data.hyDriverCarInfoList
 						}
-						that.mescroll.endBySize(res.data.records.length, res.data.total);
-						uni.hideLoading()
+						that.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
+								commonId:that.driverList.commonId,
+								evaluateFlag:1,
+						
+							}).then(res => {
+								that.ping=res.data
+							})
+							.catch(res => {
+								uni.$u.toast(res.message);
+							});
+						that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
+								evaluatoredId: that.driverList.commonId,
+								flag: 2,
+								haoType:that.haoType,
+								searchType:1,
+								
+								pageSize: page.size,
+								currentPage: page.num
+							}).then(res => {
+								if (page.num == 1) that.list = [];
+								that.list = that.list.concat(res.data.records); //追加新数据
+								that.total = res.data.total
+								for (let i = 0; i < that.list.length; i++) {
+									if (that.list[i].ownerUrl) {
+										that.list[i].imgList = that.list[i].ownerUrl.split(',')
+									}
+						
+									// that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
+									// 	.tranEfficiency) + Number(that.list[i].freightPayment) + Number(that.list[i]
+									// 	.serviceQuality) + Number(that.list[i].comprehensiveSatisfaction)) / 15 * 5
+								}
+								that.mescroll.endBySize(res.data.records.length, res.data.total);
+								uni.hideLoading()
+							})
+							.catch(res => {
+								uni.$u.toast(res.message);
+							});
 					})
-					.catch(res => {
-						uni.$u.toast(res.message);
-					});
-				that.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
-						commonId: this.userInfo.id,
-						haoType: ''
-					}).then(res => {
-
-					})
-					.catch(res => {
-						uni.$u.toast(res.message);
-					});
+				
 			},
 			// getList() {
 
@@ -301,7 +315,12 @@
 	.content {
 		height: 100vh;
 	}
-
+	.carMessage{
+		background:#fff;border-radius: 20rpx;
+		.carMessage-item{
+			padding:40rpx;
+		}
+	}
 	.item3,
 	.row3 {
 		background: white;
@@ -450,18 +469,17 @@
 		padding: 40rpx;
 		background: white;
 	}
-
-	.img-style {
+	.img-style{
 		display: inline-block;
 		margin-right: 20rpx;
 	}
-
+	
 	.pf-number1 {
 		color: #363636;
 		font-size: 60rpx;
 		margin-right: 30rpx;
 	}
-
+	
 	.pf {
 		margin-bottom: 20rpx;
 	}

+ 5 - 3
pages/carSource/index.vue

@@ -26,7 +26,7 @@
 				</itmisterAddressPickerOther>
 			</view>
 			<view class="route">
-				<view v-for="(item,index) in routeData">
+				<view v-for="(item,index) in routeData" @click="driverLook(item)">
 					<view class="flex route_item">
 						<view style="width: 20%;">
 							<u-avatar :src="item.driverPortrait" size="60"></u-avatar>
@@ -213,6 +213,7 @@
 		},
 		onLoad() {},
 		methods: {
+			
 			driverLook(item) {
 				this.$u.route("/pages/carSource/driverSee", {
 					commonId: item.commonId
@@ -545,7 +546,7 @@
 
 			.center_top {
 				width: 40%;
-				margin: 60rpx auto 0;
+				margin: 70rpx auto 0;
 
 				.center_top_btn {
 					width: 50%;
@@ -660,7 +661,8 @@
 
 			.exchange {
 				line-height: 200rpx;
-				margin-top: 60rpx;
+				margin-left: -108rpx;
+				transform: rotate(90deg);
 			}
 		}
 	}

+ 13 - 5
pages/mine/cargoowner/cargoowner.vue

@@ -31,10 +31,10 @@
 							<view v-else style='font-size:21px;'>{{personage.name}}</view>
 							<view v-if="personage.authenticationStatus!='已认证'" class='flex flex-space-between'
 								style='width:100%;color:#999999;font-size:14px;'>您的身份信息{{personage.authenticationStatus?personage.authenticationStatus:'未认证'}}状态
-								<!-- <u-icon name="arrow-right" color="#7E7E7E" size="10" v-if="datastatus"></u-icon> -->
+								<u-icon name="arrow-right" color="#7E7E7E" size="10" v-if="datastatus"></u-icon>
 							</view>
 							<view v-else class='flex flex-space-between' style='width:100%;color:#999999;font-size:14px;'>
-								{{phone}}
+								{{starUserphone}}
 								<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 							</view>
 						</view>
@@ -112,14 +112,21 @@
 			this.getList()
 		},
 		computed: {
-			...mapState(['hasLogin', 'userInfo']),
+			...mapState(['hasLogin', 'userInfo', "firstAuthentication"]),
+			// 手机号中间4位加*
+			starUserphone() {
+				let reg = /^(\d{3})\d{4}(\d{4})$/;
+				if (this.phone) {
+					return this.phone.replace(reg, "$1****$2");
+				}
+			}
 		},
 		methods: {
 			toEditPage(){
 				if(this.personage&&this.personage.authenticationStatus=='已认证'){
 					uni.$u.route("/pages/mine/cargoowner/editpersonalinformation",this.personage);
 				}else{
-					
+					uni.$u.route("/pages/mine/cargoowner/editpersonalinformation",this.personage);
 				}
 			},
 			edit(val){
@@ -176,7 +183,8 @@
 								// } else {
 								// 	this.status = true
 								// }
-								this.phone = this.personage.phone.replace(this.personage.phone.substring(3, 7), "****")
+								this.phone = this.personage.phone
+								// this.phone = this.personage.phone.replace(this.personage.phone.substring(3, 7), "****")
 							}
 
 						} else {

+ 12 - 6
pages/mine/cargoowner/editpersonalinformation.vue

@@ -110,6 +110,7 @@
 			@select="imgTypeSelect" @cancel='isShowimgType=false' :closeOnClickOverlay="true" :closeOnClickAction="true"
 			@close="isShowimgType=false">
 		</u-action-sheet>
+		<u-toast ref="uToast"></u-toast>
 	</view>
 </template>
 
@@ -195,6 +196,13 @@
 					_this.savePhoto(e.path);
 				}
 			},
+			delCard(status){
+				if(status==1){
+					this.dataDetails.cardAddressUrl=''
+				}else{
+					this.dataDetails.cardBackAddressUrl=''
+				}
+			},
 			//保存图片到相册,方便核查
 			savePhoto(path) {
 				// 
@@ -262,14 +270,14 @@
 					})
 					return true
 				}
-				if (this.dataDetails.name.length<2||this.dataDetails.name.length<10) {
+				if (this.dataDetails.name.length<2||this.dataDetails.name.length>10) {
 					this.$refs.uToast.show({
 						type: 'error',
 						message: "姓名输入错误!",
 					})
 					return true
 				}
-				if (this.dataDetails.call.length<4) {
+				if (this.dataDetails.call.length>4) {
 					this.$refs.uToast.show({
 						type: 'error',
 						message: "称呼输入错误!",
@@ -283,7 +291,7 @@
 					})
 					return true
 				}
-				if (this.dataDetails.call.length<18) {
+				if (this.dataDetails.cardNumber.length != 18) {
 					this.$refs.uToast.show({
 						type: 'error',
 						message: "身份证号输入错误!",
@@ -339,13 +347,11 @@
 
 			imgTypeSelect(val) {
 				let that = this
-				console.log(val)
-				console.log(this.uploadType)
 					uni.chooseImage({
 						count: 1,
 						success: function(res) {
 							console.log(JSON.stringify(res.tempFilePaths));
-							uploadImage(res.tempFilePaths[0], 'appData/',
+							uploadImage("image",res.tempFilePaths[0], 'appData/',
 								result => {
 									// 上传成功回调函数
 									console.log('图片地址', result)

+ 101 - 47
pages/mine/company/addcompany.vue

@@ -33,7 +33,7 @@
 			<view class="flex row">
 				<view class="left-text">营业期限截止日期</view>
 				<view style='font-size:14px;width:50%;' class='flex flex-space-between'
-					@click="selectValidityPeriod(0)">
+					@click="selectData(0)">
 					<view :style="{'color':dataDetails.businessTermDate ? '#000':'#C6CBD5'}">
 						{{dataDetails.businessTermDate?dataDetails.businessTermDate:'选择期限截止日期'}}
 					</view>
@@ -75,18 +75,51 @@
 					</u--input>
 				</view>
 			</view>
-			<!-- <view class="flex mt20 align-center">
-				<view class="left">注册实缴金额</view>
-				<view class="flex right align-center">
-					<u--input placeholder="输入企业注册实缴金额" inputAlign='left' border="none"
-						v-model="dataDetails.registeredPaidAmount">
+			<view class="title">上传身份证人像面</view>
+			<view @click.stop="uploadImg(2)" class="picture picture1" v-if="!dataDetails.cardAddressUrl">
+				<image class="xj-image" src="@/static/images/mine/ic_shanchuan@2x.png"></image>
+				<view class="text">上传身份证人像面</view>
+			</view>
+			<view v-if="dataDetails.cardAddressUrl" @click.stop="uploadImg(2)"
+				class="preview-card-img picture">
+				<image class="" :src="dataDetails.cardAddressUrl" mode="aspectFit" style=""></image>
+			</view>
+			<view class="title">上传身份证国徽面</view>
+			<view @click="uploadImg(3)" class="picture picture2" v-if="!dataDetails.cardBackAddressUrl">
+				<image class="xj-image" src="@/static/images/mine/ic_shanchuan@2x.png"></image>
+				<view class="text">上传身份证国徽面</view>
+			</view>
+			<view v-if="dataDetails.cardBackAddressUrl" @click.stop="uploadImg(3)"
+				class="preview-card-img picture">
+				<image class="" :src="dataDetails.cardBackAddressUrl" mode="aspectFit" style=""></image>
+			</view>
+			<view class="flex border-bottom mt20 align-center">
+				<view class="left">身份证号</view>
+				<view class="flex right">
+					<u--input disabledColor='#fff' placeholder="输入身份证号" inputAlign='left' border="none"
+						v-model="dataDetails.cardNumber">
 					</u--input>
-					<view>万元</view>
 				</view>
-			</view> -->
+			</view>
+		<view class="flex row">
+			<view class="left-text">身份证有效期</view>
+			<view style='font-size:14px;width:50%;' class='flex flex-space-between'
+				@click="selectData(1)">
+				<view :style="{'color':dataDetails.cardValidityDate ? '#000':'#C6CBD5'}">
+					{{dataDetails.cardValidityDate?dataDetails.cardValidityDate:'选择期限截止日期'}}
+				</view>
+				<view>
+					<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
+				</view>
+			</view>
+		</view>
+		<!-- 	<view class="flex row noborder">
+					<view class="left-text">身份证截止日期</view>
+					<view class="" @click="selectData(1)">
+						{{dataDetails.cardValidityDate?dataDetails.cardValidityDate:'选择身份证截止日期>'}}
+					</view>
+				</view> -->
 		</view>
-		<!-- http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 -->
-		<!-- dataDetails.videoAddressUrl -->
 		<view class='content3' v-if="!dataDetails.videoAddressUrl"
 			@click="goDetailPage('/pages/mine/company/companyvideo')">
 			<view class="left-text">视频验证(打开摄像头并阅读提示文字)</view>
@@ -126,7 +159,7 @@
 					<u-radio-group placement="row" class="select-type" v-model="dataDetails.landOwnership">
 						<u-radio :customStyle="radioCustomStyle" v-for="(item, index) in radiolist1" :key="index"
 							:label="item.name" :name="item.name" @change="radioChange($event,item)" labelSize='12px'
-							:iconSize='4'>
+							:iconSize='10'>
 						</u-radio>
 					</u-radio-group>
 				</view>
@@ -236,7 +269,8 @@
 					videoAddressUrl: null,
 					legalPersonName: ''
 
-				}
+				},
+				dataType:""
 			}
 		},
 		onShow() {
@@ -267,6 +301,29 @@
 			...mapState(['hasLogin', 'userInfo']),
 		},
 		methods: {
+			selectData(num) {
+				this.dataType = num
+				this.isShowcardValidity = true
+			},
+			confirmValidityPeriod(e) {
+				switch (this.dataType) {
+					case 0:
+						if (e.value[0] == '长期') {
+							this.dataDetails.businessTermDate = e.value[0]
+						} else {
+							this.dataDetails.businessTermDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
+						}
+						break
+					case 1:
+						if (e.value[0] == '长期') {
+							this.dataDetails.cardValidityDate = e.value[0]
+						} else {
+							this.dataDetails.cardValidityDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
+						}
+						break
+				}
+				this.isShowcardValidity = false
+			},
 			screenChange(e) {
 				let fullScreen = e.detail.fullScreen; // 值true为进入全屏,false为退出全屏
 				console.log(e, "全屏");
@@ -518,11 +575,10 @@
 
 				}
 			},
-			clickcancel() {
-				this.isShowcardValidity = false
-			},
+			// clickcancel() {
+			// 	this.isShowcardValidity = false
+			// },
 			imgTypeSelect(val) {
-				debugger
 				var _this = this
 				// if (val.name == '相册') {
 					uni.chooseImage({
@@ -533,9 +589,8 @@
 							uploadImage('image', res.tempFilePaths[0], 'appData/',
 								result => {
 									// 上传成功回调函数
-									console.log('图片地址', result)
-
 									switch (_this.uploadType) {
+										
 										// 身份正面
 										case 1:
 											_this.dataDetails.businessLicenseAddressUrl = result
@@ -571,10 +626,23 @@
 											break
 											// 身份反面
 										case 2:
-											_this.dataDetails.propertyAddressUrl = result
-											console.log(_this.dataDetails.propertyAddressUrl)
+											_this.dataDetails.cardAddressUrl = result
+											// 识别
+											_this.$request.baseRequest('get',
+													'/driverInfo/personShibie', {
+														personImg: result,
+													}).then(res => {
+													_this.dataDetails.cardNumber = res.data.recPersonNo
+													_this.$forceUpdate()
+												})
+												.catch(res => {
+													uni.$u.toast(res.message);
+												});
+											
 											break
 										case 3:
+										_this.dataDetails.cardBackAddressUrl = result
+											_this.$forceUpdate()
 											break;
 									}
 								}
@@ -647,30 +715,8 @@
 			selectValidityPeriod(type) {
 				this.ValidityPeriodType = type
 				this.imgTypeSelect()
-				// this.isShowcardValidity = true
-			},
-			confirmValidityPeriod(e) {
-				switch (this.ValidityPeriodType) {
-					case 0:
-						if (e.value[0] == '长期') {
-							this.dataDetails.businessTermDate = e.value[0]
-						} else {
-							this.dataDetails.businessTermDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
-						}
-						break
-					case 1:
-						if (e.value[0] == '长期') {
-							this.dataDetails.siteLeaseDate = e.value[0]
-						} else {
-							this.dataDetails.siteLeaseDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
-						}
-						break
-				}
-				console.log('confirm', e)
-
-
-				this.isShowcardValidity = false
 			},
+			
 			changeHandler(e) {
 				const {
 					columnIndex,
@@ -740,8 +786,8 @@
 	.picture {
 		margin-top: 20rpx;
 		background: #F5F6FA;
-		width: 212rpx;
-		height: 212rpx;
+		width: 100%;
+		height: 440rpx;
 		border-radius: 20rpx;
 		display: flex;
 		flex-direction: column;
@@ -749,6 +795,15 @@
 		align-items: center;
 		color: #6A7282;
 	}
+	.picture1 {
+		background: url(../../../static/images/mine/zm.png);
+		background-size: 100% 100%;
+	}
+	.picture2 {
+		background: url(../../../static/images/mine/gh.png);
+		background-size: 100% 100%;
+	}
+	
 
 	.content1 {
 		background: #fff;
@@ -785,13 +840,12 @@
 				margin-top: 20rpx;
 			}
 		}
-
+		
 		.picture7 {
 			background: url(../../../static/mine/cy.png);
 			background-size: 100% 100%;
 		}
 
-
 		.xj-image {
 			width: 100rpx;
 			height: 100rpx;

+ 1 - 1
pages/mine/company/companyvideo.nvue

@@ -186,7 +186,7 @@
 							});
 							var that = this;
 							uni.compressVideo({
-								src: tempFilePath,  
+								src: res.filePath,  
 								quality: 'low', //'low':低,'medium':中,'high':高  
 								success: function (res){            
 									console.log('压缩后',res)

+ 205 - 58
pages/mine/company/editcompany.vue

@@ -4,7 +4,7 @@
 			<video controls id="myvideo" :src="dataDetails.videoAddressUrl" @fullscreenchange="screenChange"></video>
 		</view>
 		<view style='margin:10px 0 0 19px;font-size:12px;color:#EF4034;'>注:企业认证仅限该企业法定代表人本人完成。</view>
-		
+
 		<view class='content1'>
 			<view class="title">上传营业执照</view>
 			<view style='position:relative;' @click="uploadImg(1)">
@@ -24,7 +24,7 @@
 			<view class="flex row">
 				<view class="left-text">营业期限截止日期</view>
 				<view style='font-size:14px;width:50%;' class='flex flex-space-between'
-					@click="selectValidityPeriod(0)">
+					@click="selectData(0)">
 					<view :style="{'color':dataDetails.businessTermDate ? '#000':'#C6CBD5'}">
 						{{dataDetails.businessTermDate?dataDetails.businessTermDate:'选择期限截止日期'}}
 					</view>
@@ -41,7 +41,7 @@
 			</view>
 
 		</view>
-<view class='wrap'>
+		<view class='wrap'>
 			<view class="flex border-bottom mt20 align-center">
 				<view class="left">企业名称</view>
 				<view class="flex right">
@@ -66,7 +66,53 @@
 					</u--input>
 				</view>
 			</view>
-			<view class="flex mt20 align-center">
+			<view class="title">上传身份证人像面</view>
+				<view @click.stop="uploadImg(2)" class="picture picture1" v-if="!dataDetails.cardAddressUrl">
+					<image class="xj-image" src="@/static/images/mine/ic_shanchuan@2x.png"></image>
+					<view class="text">上传身份证人像面</view>
+				</view>
+				<view v-if="dataDetails.cardAddressUrl" @click.stop="uploadImg(2)"
+					class="preview-card-img picture">
+					<image class="" :src="dataDetails.cardAddressUrl" mode="aspectFit" style=""></image>
+				</view>
+				<view class="title">上传身份证国徽面</view>
+				<view @click="uploadImg(3)" class="picture picture2" v-if="!dataDetails.cardBackAddressUrl">
+					<image class="xj-image" src="@/static/images/mine/ic_shanchuan@2x.png"></image>
+					<view class="text">上传身份证国徽面</view>
+				</view>
+				<view v-if="dataDetails.cardBackAddressUrl" @click.stop="uploadImg(3)"
+					class="preview-card-img picture">
+					<image class="" :src="dataDetails.cardBackAddressUrl" mode="aspectFit" style=""></image>
+				</view>
+				<view class="flex border-bottom mt20 align-center">
+					<view class="left">身份证号</view>
+					<view class="flex right">
+						<u--input disabledColor='#fff' placeholder="输入身份证号" inputAlign='left' border="none"
+							v-model="dataDetails.cardNumber">
+						</u--input>
+					</view>
+				</view>
+			<view class="flex row">
+				<view class="left-text">身份证有效期</view>
+				<view style='font-size:14px;width:50%;' class='flex flex-space-between'
+					@click="selectData(1)">
+					<view :style="{'color':dataDetails.cardValidityDate ? '#000':'#C6CBD5'}">
+						{{dataDetails.cardValidityDate?dataDetails.cardValidityDate:'选择期限截止日期'}}
+					</view>
+					<view>
+						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
+					</view>
+				</view>
+			</view>
+			<view class="flex border-bottom mt20 align-center">
+				<view class="left">通讯地址</view>
+				<view class="flex right">
+					<u--input disabledColor='#fff' placeholder="输入通讯地址" inputAlign='left' border="none"
+						v-model="dataDetails.mailingAddress">
+					</u--input>
+				</view>
+			</view>
+			<!-- 	<view class="flex mt20 align-center">
 				<view class="left">注册实缴金额</view>
 				<view class="flex right align-center">
 					<u--input placeholder="输入企业注册实缴金额" inputAlign='left' border="none"
@@ -74,7 +120,7 @@
 					</u--input>
 					<view>万元</view>
 				</view>
-			</view>
+			</view> -->
 		</view>
 		<!-- http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 -->
 		<!-- dataDetails.videoAddressUrl -->
@@ -89,7 +135,8 @@
 			<view class="flex row noborder mt20 flex-space-between">
 				<view class="left-text">视频验证(点击按钮播放视频)</view>
 				<view>
-					<u-button type="primary" @click="goDetailPage('/pages/mine/company/companyvideo')" size="mini">重新上传</u-button>
+					<u-button type="primary" @click="goDetailPage('/pages/mine/company/companyvideo')" size="mini">重新上传
+					</u-button>
 				</view>
 			</view>
 			<!-- <video class="myVideo" :src="dataDetails.videoAddressUrl" controls></video> -->
@@ -226,11 +273,11 @@
 					videoAddressUrl: null,
 					legalPersonName: ''
 
-				}
+				},
+				dataType:""
 			}
 		},
 		onShow() {
-			console.log(uni.getStorageSync("videoSrc"))
 			var viderSrc = uni.getStorageSync("videoSrc")
 			if (viderSrc) {
 				this.dataDetails.videoAddressUrl = viderSrc
@@ -239,7 +286,6 @@
 		onLoad(options) {
 			this.dataDetails.id = options.id
 			this.validityPeriod = this.$helper.makeValidityPeriod(0, '长期')
-			console.log(this)
 			this.dataDetails.commonId = this.userInfo.id
 			this.dataDetails.phone = this.userInfo.phone
 			console.log('```````````````')
@@ -254,6 +300,29 @@
 			...mapState(['hasLogin', 'userInfo']),
 		},
 		methods: {
+			selectData(num) {
+				this.dataType = num
+				this.isShowcardValidity = true
+			},
+			confirmValidityPeriod(e) {
+				switch (this.dataType) {
+					case 0:
+						if (e.value[0] == '长期') {
+							this.dataDetails.businessTermDate = e.value[0]
+						} else {
+							this.dataDetails.businessTermDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
+						}
+						break
+					case 1:
+						if (e.value[0] == '长期') {
+							this.dataDetails.cardValidityDate = e.value[0]
+						} else {
+							this.dataDetails.cardValidityDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
+						}
+						break
+				}
+				this.isShowcardValidity = false
+			},
 			screenChange(e) {
 				let fullScreen = e.detail.fullScreen; // 值true为进入全屏,false为退出全屏
 				console.log(e, "全屏");
@@ -357,10 +426,17 @@
 					})
 					return true
 				}
-				if (uni.$u.test.isEmpty(this.dataDetails.registeredPaidAmount)) {
+				// if (uni.$u.test.isEmpty(this.dataDetails.registeredPaidAmount)) {
+				// 	this.$refs.uToast.show({
+				// 		type: 'error',
+				// 		message: "注册实缴金额不能为空!",
+				// 	})
+				// 	return true
+				// }
+				if (uni.$u.test.isEmpty(this.dataDetails.mailingAddress)) {
 					this.$refs.uToast.show({
 						type: 'error',
-						message: "注册实缴金额不能为空!",
+						message: "通讯地址不能为空!",
 					})
 					return true
 				}
@@ -414,6 +490,14 @@
 			},
 			submit() {
 				if (this.validate()) return
+				if (!this.consentStatus) {
+					uni.showToast({
+						title: '请勾选协议',
+						icon: 'none',
+						duration: 2000
+					})
+					return
+				}
 				uni.showLoading({
 					title: '加载中',
 					mask: true
@@ -481,55 +565,131 @@
 			},
 			imgTypeSelect(val) {
 				var _this = this
-				if (val.name == '相册') {
+				// if (val.name == '相册') {
 					uni.chooseImage({
 						count: 1,
-						sourceType: this.$helper.chooseImage.sourceType,
+						// sourceType: ,
 						success: function(res) {
 							console.log(JSON.stringify(res.tempFilePaths));
 							uploadImage('image', res.tempFilePaths[0], 'appData/',
 								result => {
 									// 上传成功回调函数
-									console.log('图片地址', result)
-
 									switch (_this.uploadType) {
+										
 										// 身份正面
 										case 1:
 											_this.dataDetails.businessLicenseAddressUrl = result
+											// 识别
+											_this.$request.baseRequest('get',
+													'/cargoOwnerInfo/api/licenseShibie', {
+														licenseImg: result,
+													}).then(res => {
+													if (res.code == '200') {
+														if(res.data){
+															if (res.data.validPeriod == '29991231') {
+																_this.dataDetails.businessTermDate = '长期'
+															}
+															_this.dataDetails.unifiedSocialCreditCode = res
+																.data.regNum
+															_this.dataDetails.legalPersonName = res.data
+																.licensePerson
+															_this.dataDetails.companyName = res.data
+																.licenseName
+															console.log(res)
+															_this.$forceUpdate()
+														}else{
+															uni.$u.toast('请上传营业执照');
+														}
+													}
+			
+												})
+												.catch(res => {
+													console.log(res)
+													uni.$u.toast(res.message);
+												});
 											console.log(_this.dataDetails.businessLicenseAddressUrl)
 											break
 											// 身份反面
 										case 2:
-											_this.dataDetails.propertyAddressUrl = result
-											console.log(_this.dataDetails.propertyAddressUrl)
+											_this.dataDetails.cardAddressUrl = result
+											// 识别
+											_this.$request.baseRequest('get',
+													'/driverInfo/personShibie', {
+														personImg: result,
+													}).then(res => {
+													_this.dataDetails.cardNumber = res.data.recPersonNo
+													_this.$forceUpdate()
+												})
+												.catch(res => {
+													uni.$u.toast(res.message);
+												});
+											
 											break
 										case 3:
+										_this.dataDetails.cardBackAddressUrl = result
+											_this.$forceUpdate()
 											break;
 									}
 								}
 							)
 						}
 					});
-				} else {
-					uni.chooseImage({
-						count: 1,
-						sourceType: ['camera'],
-						success: function(res) {
-							console.log(JSON.stringify(res.tempFilePaths));
-							uploadImage('image', res.tempFilePaths[0], 'appData/',
-								result => {
-									// 上传成功回调函数
-									console.log('图片地址', result)
-									_this.dataDetails.businessLicenseAddressUrl = result
-								}
-							)
-						}
-					});
-				}
+				// } else {
+				// 	uni.chooseImage({
+				// 		count: 1,
+				// 		sourceType: ['camera'],
+				// 		success: function(res) {
+				// 			console.log(JSON.stringify(res.tempFilePaths));
+				// 			uploadImage('image', res.tempFilePaths[0], 'appData/',
+				// 				result => {
+				// 					// 上传成功回调函数
+				// 					console.log('图片地址', result)
+				// 					switch (_this.uploadType) {
+				// 						// 身份正面
+				// 						case 1:
+				// 							// 识别
+				// 							_this.$request.baseRequest('get',
+				// 									'/cargoOwnerInfo/api/licenseShibie', {
+				// 										licenseImg: result,
+				// 									}).then(res => {
+				// 									if (res.code == '200') {
+				// 										if (res.data.validPeriod == '29991231') {
+				// 											_this.dataDetails.businessTermDate = '长期'
+				// 										}
+				// 										_this.dataDetails.unifiedSocialCreditCode = res
+				// 											.data.regNum
+				// 										_this.dataDetails.legalPersonName = res.data
+				// 											.licensePerson
+				// 										_this.dataDetails.companyName = res.data
+				// 											.licenseName
+				// 										console.log(res)
+				// 										_this.$forceUpdate()
+				// 									}
+			
+				// 								})
+				// 								.catch(res => {
+				// 									uni.$u.toast(res.message);
+				// 								});
+				// 							_this.dataDetails.businessLicenseAddressUrl = result
+				// 							console.log(_this.dataDetails.businessLicenseAddressUrl)
+				// 							break
+				// 							// 身份反面
+				// 						case 2:
+				// 							_this.dataDetails.propertyAddressUrl = result
+				// 							console.log(_this.dataDetails.propertyAddressUrl)
+				// 							break
+				// 						case 3:
+				// 							break;
+				// 					}
+				// 				}
+				// 			)
+				// 		}
+				// 	});
+				// }
 			},
 			uploadImg(type) {
 				this.uploadType = type
-				this.isShowimgType = true
+				this.imgTypeSelect()
 				// this.index = index
 			},
 			goDetailPage(src) {
@@ -540,28 +700,7 @@
 				this.ValidityPeriodType = type
 				this.isShowcardValidity = true
 			},
-			confirmValidityPeriod(e) {
-				switch (this.ValidityPeriodType) {
-					case 0:
-						if (e.value[0] == '长期') {
-							this.dataDetails.businessTermDate = e.value[0]
-						} else {
-							this.dataDetails.businessTermDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
-						}
-						break
-					case 1:
-						if (e.value[0] == '长期') {
-							this.dataDetails.siteLeaseDate = e.value[0]
-						} else {
-							this.dataDetails.siteLeaseDate = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
-						}
-						break
-				}
-				console.log('confirm', e)
-
-
-				this.isShowcardValidity = false
-			},
+		
 			changeHandler(e) {
 				const {
 					columnIndex,
@@ -632,8 +771,8 @@
 	.picture {
 		margin-top: 20rpx;
 		background: #F5F6FA;
-		width: 212rpx;
-		height: 212rpx;
+		width: 100%;
+		height: 440rpx;
 		border-radius: 20rpx;
 		display: flex;
 		flex-direction: column;
@@ -641,6 +780,14 @@
 		align-items: center;
 		color: #6A7282;
 	}
+	.picture1 {
+		background: url(../../../static/images/mine/zm.png);
+		background-size: 100% 100%;
+	}
+	.picture2 {
+		background: url(../../../static/images/mine/gh.png);
+		background-size: 100% 100%;
+	}
 
 	.content1 {
 		background: #fff;

+ 43 - 20
pages/mine/evaluate.vue

@@ -3,29 +3,44 @@
 			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" class="mescroll">
 		<view class="content-list" v-for="(item,index) in list" :key='index'>
 			<view class="top flex flex-space-between">
-				<view class="left flex">
-					<view>
-						{{item.orderNumber}}
-					</view>
-					<u-icon name="arrow-right" color="#ccc" size="18"></u-icon>
+				<view style='align-items: center;' class="left flex">
+						<u--image :showLoading="true" :src="item.driverPortrait" width="100rpx" height="100rpx" @click=""
+							shape='circle'>
+						</u--image>
+						{{item.driverName}}
 				</view>
 				<view class="right gray999">
 					{{item.createDate.split(' ')[0]}}
 				</view>
 			</view>
 			<view class="flex align-center name-row">
-				<view v-if="item.driverAnonymous == 0" class="sj-row hz-name">
-					{{item.orderInfo.cargoOwner}}:
+				<view class="sj-row hz-name">
+					货主信用:
 				</view>
-				<view v-else class="sj-row hz-name">
-					匿名评价:
+				<view class="xx">
+					<start :count="count" v-model="item.ownerCredit" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'>
+					</start>
+				</view>
+			</view>
+			<view class="flex align-center name-row">
+				<view class="sj-row hz-name">
+					运费支付:
+				</view>
+				<view class="xx">
+					<start :count="count" v-model="item.freightPayment" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'>
+					</start>
+				</view>
+			</view>
+			<view class="flex align-center name-row">
+				<view class="sj-row hz-name">
+					综合满意度:
 				</view>
 				<view class="xx">
-					<start :count="count" v-model="item.count" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'>
+					<start :count="count" v-model="item.comprehensiveSatisfaction" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'>
 					</start>
 				</view>
 			</view>
-			<view class="gray999 flex xy-row">
+			<!-- <view class="gray999 flex xy-row">
 				<view class='item'>
 					信用:{{item.ownerCredit}}星
 				</view>
@@ -35,7 +50,7 @@
 				<view class='item'>
 					综合:{{item.comprehensiveSatisfaction}}星
 				</view>
-			</view>
+			</view> -->
 			<!-- 
 			<view class="xkuang">
 				<view style="display: flex;" class="flex-space-between" v-for="(item,index) in rate">
@@ -49,11 +64,12 @@
 				{{item.driverContent}}
 			</view>
 			<view class="color2979ff flex">
-				<view @click="clickZK">展开</view>
-				<u-icon name="arrow-down" color="#2979ff" size="18" v-if="isOpen"></u-icon>
+				<view @click="clickZK(item)">展开</view>
+				<u-icon name="arrow-down" color="#2979ff" size="18" v-if="item.isOpen"></u-icon>
 				<u-icon name="arrow-up" color="#2979ff" size="18" v-else></u-icon>
 			</view>
-			<view v-if="isOpen" class="img-content">
+			
+			<view v-if="item.isOpen" class="img-content">
 				<u--image :showLoading="true" :src="item1" width="80px" height="80px" class="img"
 					v-for="(item1,index) in item.imgList"></u--image>
 				
@@ -82,7 +98,7 @@
 		data() {
 			return {
 				list:[],
-				isOpen: true,
+				// isOpen: false,
 				count: '5',
 				value: '3',
 				src: 'https://cdn.uviewui.com/uview/album/1.jpg',
@@ -128,21 +144,28 @@
 						currentPage: page.num
 					}).then(res => {
 						if (page.num == 1) that.list = [];
-						that.list = that.list.concat(res.data.records); //追加新数据
+						 //追加新数据
+						 that.list = that.list.concat(res.data.records);
 						for (let i = 0; i < that.list.length; i++) {
-							that.list[i].imgList = that.list[i].driverUrl.split(',')
+							// that.list[i].isOpen=false
+							this.$set(that.list[i],'isOpen',false)
+							that.$set(that.list[i],'imgList',that.list[i].driverUrl.split(','))
+							// that.list[i].imgList = that.list[i].driverUrl.split(',')
 							that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
 								.freightPayment) + Number(that.list[i].comprehensiveSatisfaction)) / 15 * 5
 						}
 						that.mescroll.endBySize(res.data.records.length, res.data.total);
+						
 						uni.hideLoading()
 					})
 					.catch(res => {
 						uni.$u.toast(res.message);
 					});
 			},
-			clickZK() {
-				this.isOpen = !this.isOpen
+			clickZK(item) {
+				this.$set(item,'isOpen',!item.isOpen)
+
+				console.log(item)
 			},
 		},
 

+ 24 - 23
pages/mine/index.vue

@@ -19,7 +19,7 @@
 							<view v-if='status' class='currectstatus'>已认证</view>
 							<view v-if='!status' class='currectstatus1'>未认证</view>
 						</view>
-						<view class='phone'>{{phone}}</view>
+						<view class='phone'>{{starUserphone}}</view>
 					</view>
 					<view class='information' v-else @click="toLogin">立即登录</view>
 				</view>
@@ -48,7 +48,7 @@
 				<view class="flex flex-space-between content1-item"
 					@click="goDetailPage('/pages/mine/myAccount/index')">
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/dailihuozhu.png"
+						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/zhanghu.png"
 							width="20px" height="20px"></u--image>我的账户
 					</view>
 					<view>
@@ -65,22 +65,22 @@
 					</view>
 				</view>
 				<view class="flex flex-space-between content1-item"
-					@click="goDetailPage('/pages/mine/cargoowner/cargoowner')">
+					@click="goDetailPage('/pages/mine/manageBankCards/index')">
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/huozhu.png"
-							width="20px" height="20px"></u--image>货主认证
+						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/yinhangka.png"
+							width="20px" height="20px"></u--image>我的银行卡
 					</view>
-					<view class='flex'>
+					<view>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 				</view>
 				<view class="flex flex-space-between content1-item"
-					@click="goDetailPage('/pages/mine/helpDescription')">
+					@click="goDetailPage('/pages/mine/cargoowner/cargoowner')">
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true"
-							src="../../static/mine/bangzhushuoming.png" width="20px" height="20px"></u--image>帮助说明
+						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/huozhu.png"
+							width="20px" height="20px"></u--image>货主认证
 					</view>
-					<view>
+					<view class='flex'>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 				</view>
@@ -94,17 +94,17 @@
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 				</view>
-
 				<view class="flex flex-space-between content1-item"
-					@click="goDetailPage('/pages/mine/manageBankCards/index')">
+					@click="goDetailPage('/pages/mine/helpDescription')">
 					<view class='flex items-center'>
-						<u--image style='margin-right:8px;' :showLoading="true" src="../../static/mine/dailihuozhu.png"
-							width="20px" height="20px"></u--image>我的银行卡
+						<u--image style='margin-right:8px;' :showLoading="true"
+							src="../../static/mine/bangzhushuoming.png" width="20px" height="20px"></u--image>帮助说明
 					</view>
 					<view>
 						<u-icon name="arrow-right" color="#7E7E7E" size="10"></u-icon>
 					</view>
 				</view>
+				
 				<!-- 		<view class="flex flex-space-between content1-item"
 					@click="goDetailPage('/pages/mine/driverEvaluation')">
 					<view class='flex items-center'>
@@ -192,11 +192,12 @@
 						} else {
 							this.cargoCall = "女士"
 						}
+					}else{
+						this.userName = this.userInfo.userName
 					}
-
 				})
-				this.phone = this.userInfo.phone ? this.userInfo.phone.replace(this.userInfo.phone.substring(3, 7),
-					"****") : ''
+				// this.phone = this.userInfo.phone ? this.userInfo.phone.replace(this.userInfo.phone.substring(3, 7),"****") : ''
+				this.phone = this.userInfo.phone
 				if (!this.cargoCall) {
 					this.userName = this.userInfo.userName
 				}
@@ -213,12 +214,12 @@
 		computed: {
 			...mapState(['hasLogin', 'userInfo', "firstAuthentication"]),
 			// 手机号中间4位加*
-			// starUserphone() {
-			// 	let reg = /^(\d{3})\d{4}(\d{4})$/;
-			// 	if (this.userphone) {
-			// 		return this.userphone.replace(reg, "$1****$2");
-			// 	}
-			// }
+			starUserphone() {
+				let reg = /^(\d{3})\d{4}(\d{4})$/;
+				if (this.phone) {
+					return this.phone.replace(reg, "$1****$2");
+				}
+			}
 		},
 		methods: {
 			scanCode() {

+ 14 - 11
pages/mine/myAccount/bill.vue

@@ -1,20 +1,23 @@
 <template>
 	<view class="center">
-		<view class="" @click="dataShow = true">{{data}}</view>
+		<view style='border-bottom:1px solid #ccc;' class="" @click="dataShow = true">{{data}}</view>
 		<u-picker :show="dataShow" :columns="columns" @confirm="dataChange" @cancel="dataShow = false"
 			@close="dataShow = false"></u-picker>
-		<view class="formData" v-for="(item,index) in formlist">
-			<view class="flex row">
-				<view class="left-text">{{item.types}}</view>
-				<view class="flex right-text">
-					{{item.amountMoney}}
+			<view v-if='formlist.length>0'>
+				<view class="formData" v-for="(item,index) in formlist">
+					<view class="flex row">
+						<view class="left-text">{{item.types}}</view>
+						<view class="flex right-text">
+							{{item.amountMoney}}
+						</view>
+					</view>
+					<view class="date_css">
+						{{item.createDate}}
+					</view>
+
 				</view>
 			</view>
-			<view class="date_css">
-				{{item.createDate}}
-			</view>
-
-		</view>
+		<view v-else style='text-align:center;padding:10px;'>暂无账单</view>
 
 	</view>
 </template>

+ 1 - 1
pages/mine/myAccount/index.vue

@@ -48,7 +48,7 @@
 
 		},
 		onNavigationBarButtonTap(e) {
-			uni.$u.route('/pages/mine/myAccount/bill?type=' + this.accountType)
+			uni.$u.route('/pages/mine/myAccount/bill?type=' + this.accountType+'&id='+this.id)
 		},
 		methods: {
 			getList() {

+ 4 - 2
pages/news/index.vue

@@ -1,10 +1,11 @@
 <template>
-	<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
-		style="background-color: #F5F6FA;">
+		<view>
 		<u-navbar title="消息中心" leftIconSize='0' :bgColor="bgColor" :placeholder='true' leftIconColor="#fff"
 			titleStyle='color:#fff' rightText='一键已读' @rightClick="rightClick">
 		</u-navbar>
 		<view class="top-bgc"></view>
+		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
+			style="background-color: #F5F6FA;">
 		<view class="content">
 			<view class="info-item flex" v-for="(item,index) in news" :key="index" @click="read(item)">
 				<view class="left">
@@ -49,6 +50,7 @@
 			</u-modal>
 		</view>
 	</mescroll-body>
+	</view>
 </template>
 
 <script>

+ 3 - 0
pages/order/confirmLoading.vue

@@ -405,6 +405,9 @@
 							uni.navigateBack({
 								delta:1
 							})
+						}else{
+							uni.hideLoading()
+							uni.$u.toast(res.message);
 						}
 					})
 					.catch(res => {

+ 113 - 75
pages/order/driverDetail.vue

@@ -3,10 +3,10 @@
 		<view class="item3 flex align-center flex-space-between">
 			<view class="flex align-center flex-space-between row1">
 				<view class="flex align-center">
-					<u--image :showLoading="true" :src="dataObj.driverPortrait" width="100rpx" height="100rpx" @click=""
+					<u--image :showLoading="true" :src="driverList.avatarUrl" width="100rpx" height="100rpx" @click=""
 						shape='circle'>
 					</u--image>
-					<view class="name">{{dataObj.driverName}}</view>
+					<view class="name">{{driverList.driverName}}</view>
 				</view>
 
 				<view class="right flex s-row align-center phone">
@@ -20,15 +20,15 @@
 			<view class="row2 flex">
 			<view class="flex item">
 				<view class="pf-name">评分</view>
-				<view class="pf-number">4.98</view>
+				<view class="pf-number">{{ping.zong}}</view>
 			</view>
 			<view class="flex item">
 				<view class="pf-name">发运次数</view>
-				<view class="pf-number">4.98</view>
+				<view class="pf-number">{{driverList.shipmentsNumber?driverList.shipmentsNumber:0}}</view>
 			</view>
-			<view class="flex item">
-				<view class="pf-name">评价</view>
-				<view class="pf-number">4.98</view>
+			<view v-if='total>=20' class="flex item">
+				<view class="pf-name">好评率</view>
+				<view class="pf-number">{{driverList.favorableRate?driverList.favorableRate:0}}%</view>
 			</view>
 		</view>
 		<view class="row3 flex">
@@ -48,7 +48,7 @@
 			<view class="pf flex-space-between flex">
 				<view class="left flex align-center" style="margin-right: 20rpx;">
 					<view class="pf-number1">
-						4.8
+						{{ping.zong}}
 					</view>
 					<view>
 					<!-- 	<view>
@@ -60,17 +60,17 @@
 					</view>
 				</view>
 				<view class="right">
-					<view>98%</view>
+					<view>{{driverList.favorableRate?driverList.favorableRate:0}}%</view>
 					<view class="gray fontsize-24">好评率</view>
 				</view>
 			</view>
 			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
 				class="mescroll">
 				<view class="flex flex-space-between">
-					<view :class="btnData == '' ? 'btn-active':'btn'" @click="btnChange('')">全部({{list.length}})</view>
+					<view :class="haoType == '' ? 'btn-active':'btn'" @click="btnChange('')">全部({{ping.haoPing+ping.chaPing}}})</view>
 					<!-- <view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">最新(1)</view> -->
-					<view :class="btnData == 1 ? 'btn-active':'btn'" @click="btnChange(1)">好评({{list3.length}})</view>
-					<view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">差评({{list4.length}})</view>
+					<view :class="haoType == 1 ? 'btn-active':'btn'" @click="btnChange(1)">好评({{ping.haoPing}})</view>
+					<view :class="haoType == 2 ? 'btn-active':'btn'" @click="btnChange(2)">差评({{ping.chaPing}})</view>
 				</view>
 				<view class="evaluate_css" v-for="(item,index) in list">
 					<view class="flex">
@@ -85,9 +85,9 @@
 									{{item.createDate?item.createDate.split(' ')[0]:''}}
 								</view>
 								<view class="flex m-top10">
-									<view class="branch_css ">{{item.count}}</view>
+									<view class="branch_css ">{{item.driverScoreObtained}}</view>
 									<view class="">
-										<start count="5" v-model="item.count" size="35" activeColor="#ffaa00" :size="18"
+										<start count="5" v-model="item.driverScoreObtained" size="35" activeColor="#ffaa00" :size="18"
 											:allowHalf='true' :readonly='true'>
 										</start>
 									</view>
@@ -107,13 +107,18 @@
 			</mescroll-body>
 		</view>
 		<view class="row5">
-			<view v-if="tabIndex==1&&index==1">
-				<view>辽H111111</view>
-				<view class="flex align-center">高栏 | 车长20米 | 载重50吨</view>
+			<view class='carMessage' v-if="tabIndex==1&&index==1">
+				<view class='carMessage-item' v-for='(item,index) in hyDriverCarInfoList' :style="{'border-radius':(index!=hyDriverCarInfoList.length-1?'#ccc':'transparent')}">
+					<view v-if='item.carCategory=="挂车"'>{{item.guaCarNumber}}</view>
+					<view v-else>{{item.carNumber}}</view>
+					<view v-if='item.carCategory=="挂车"' class="flex align-center">{{item.carType}} | 车长{{item.guaCarLong}}米 | 载重{{item.guaCarApprovedWeight}}吨</view>
+					<view v-else class="flex align-center">{{item.carType}} | 车长{{item.carLong}}米 | 载重{{item.carApprovedWeight}}吨</view>
+				</view>
+				
 			</view>
-			<view class="carInfo" v-if="tabIndex==2&index==2">
-				<view>
-					累计发运150次,好评率90%
+			<view class="carInfo" v-if="tabIndex==2&&index==1">
+				<view style='text-align:center;'>
+					累计发运{{driverList.shipmentsNumber?driverList.shipmentsNumber:0}}次<text v-if='total>=20'>,好评率{{driverList.favorableRate?driverList.favorableRate:0}}%</text>
 				</view>
 			</view>
 		</view>
@@ -142,6 +147,7 @@
 				index: 1,
 				show: false,
 				objectInfo: {},
+				haoType:'',
 				columns: [
 					['投诉', '举报']
 				],
@@ -154,6 +160,9 @@
 
 				list3:[],
 				list4:[],
+				ping:[],
+				hyDriverCarInfoList:[],
+				driverList:{},
 				total:0
 			};
 		},
@@ -162,24 +171,42 @@
 			this.show = true
 		},
 		onLoad(options) {
-			this.dataObj =JSON.parse(options.driver) 
-			console.log(this.dataObj)
+			// this.dataObj =JSON.parse(options.driver) 
+			// console.log(this.dataObj)
 			that = this
 			// this.getList()
 		},
+		onShow(){
+			var that=this
+			
+		},
 		computed: {
 			...mapState(['hasLogin', 'userInfo', 'firstAuthentication'])
 		},
 		methods: {
+			toPhone(){
+				console.log(this.driverList.driverPhone)
+				var that=this
+				uni.makePhoneCall({
+					phoneNumber: that.driverList.driverPhone,
+					success: (res) => {
+						console.log('调用成功!')
+					},
+					// 失败回调
+					fail: (res) => {
+						console.log('调用失败!')
+					}
+				});
+			},
 			confirmBtn(e) {
 				console.log(e.value)
 				if (e.value == '投诉') {
 					uni.$u.route('/pages/order/fk', {
-						val: JSON.stringify(this.dataObj)
+						val: JSON.stringify(this.driverList)
 					});
 				} else {
 					uni.$u.route('/pages/order/jb', {
-						val: JSON.stringify(this.dataObj)
+						val: JSON.stringify(this.driverList)
 					});
 				}
 				this.show = false
@@ -195,63 +222,69 @@
 			},
 			btnChange(num) {
 				// debugger
-				this.btnData = num
-				this.getList()
+				this.haoType = num
+				this.upCallback({size:10,num:1})
+				// this.getList()
 			},
 			upCallback(page) {
-				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-						driverId: this.objectInfo.driverId,
-						flag: 1,
-						pageSize: page.size,
-						haoType:1,
-						currentPage: page.num
+				var that =this
+				that.$request.baseRequest('get', '/driverInfo/getDriver', {
+						commonId:'2939c4c23ca14e4ab6f16d7a6b3f8d5e'
 					}).then(res => {
-						if (page.num == 1) that.list3 = [];
-						that.list3 = that.list3.concat(res.data.records); //追加新数据
-					})
-					that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-							driverId: this.objectInfo.driverId,
-							flag: 1,
-							pageSize: page.size,
-							haoType:2,
-							currentPage: page.num
-						}).then(res => {
-							if (page.num == 1) that.list4 = [];
-							that.list4 = that.list4.concat(res.data.records); //追加新数据
-						})
-				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-						driverId: this.objectInfo.driverId,
-						flag: 1,
-						pageSize: page.size,
-						currentPage: page.num
-					}).then(res => {
-						if (page.num == 1) that.list = [];
-						that.list = that.list.concat(res.data.records); //追加新数据
-						that.total = res.data.total
-						for (let i = 0; i < that.list.length; i++) {
-							if (that.list[i].ownerUrl) {
-								that.list[i].imgList = that.list[i].ownerUrl.split(',')
+						console.log(res.data)
+						that.driverList=res.data
+						if(res.data.hyDriverCarInfoList){
+							for (var i = 0; i < res.data.hyDriverCarInfoList.length; i++) {
+								res.data.hyDriverCarInfoList[i].carApprovedWeight=res.data.hyDriverCarInfoList[i].carApprovedWeight/1000
+								res.data.hyDriverCarInfoList[i].guaCarApprovedWeight=res.data.hyDriverCarInfoList[i].guaCarApprovedWeight/1000
+								res.data.hyDriverCarInfoList[i].carLong=res.data.hyDriverCarInfoList[i].carLong/1000
+								res.data.hyDriverCarInfoList[i].guaCarLong=res.data.hyDriverCarInfoList[i].guaCarLong/1000
+								res.data.hyDriverCarInfoList[i].carNumber = res.data.hyDriverCarInfoList[i].carNumber.replace(res.data.hyDriverCarInfoList[i].carNumber.substring(2, 6),
+									"****")
+								res.data.hyDriverCarInfoList[i].guaCarNumber = res.data.hyDriverCarInfoList[i].guaCarNumber.replace(res.data.hyDriverCarInfoList[i].guaCarNumber.substring(2, 6),
+								"****")
 							}
-				
-							that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
-								.tranEfficiency) + Number(that.list[i].freightPayment) + Number(that.list[i]
-								.serviceQuality) + Number(that.list[i].comprehensiveSatisfaction)) / 15 * 5
+							that.hyDriverCarInfoList=res.data.hyDriverCarInfoList
 						}
-						that.mescroll.endBySize(res.data.records.length, res.data.total);
-						uni.hideLoading()
-					})
-					.catch(res => {
-						uni.$u.toast(res.message);
-					});
-				that.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
-						commonId: this.userInfo.id,
-						haoType: ''
-					}).then(res => {
+						that.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
+								commonId:that.driverList.commonId,
+								evaluateFlag:1,
 						
+							}).then(res => {
+								that.ping=res.data
+							})
+							.catch(res => {
+								uni.$u.toast(res.message);
+							});
+						that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
+								evaluatoredId: that.driverList.commonId,
+								flag: 2,
+								haoType:that.haoType,
+								searchType:1,
+								
+								pageSize: page.size,
+								currentPage: page.num
+							}).then(res => {
+								if (page.num == 1) that.list = [];
+								that.list = that.list.concat(res.data.records); //追加新数据
+								that.total = res.data.total
+								for (let i = 0; i < that.list.length; i++) {
+									if (that.list[i].ownerUrl) {
+										that.list[i].imgList = that.list[i].ownerUrl.split(',')
+									}
+						
+									// that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
+									// 	.tranEfficiency) + Number(that.list[i].freightPayment) + Number(that.list[i]
+									// 	.serviceQuality) + Number(that.list[i].comprehensiveSatisfaction)) / 15 * 5
+								}
+								that.mescroll.endBySize(res.data.records.length, res.data.total);
+								uni.hideLoading()
+							})
+							.catch(res => {
+								uni.$u.toast(res.message);
+							});
 					})
-					.catch(res => {
-						uni.$u.toast(res.message);
-					});
+				
 			},
 			// getList() {
 
@@ -282,7 +315,12 @@
 	.content {
 		height: 100vh;
 	}
-
+	.carMessage{
+		background:#fff;border-radius: 20rpx;
+		.carMessage-item{
+			padding:40rpx;
+		}
+	}
 	.item3,
 	.row3 {
 		background: white;

+ 70 - 12
pages/order/evaluationRecord.vue

@@ -3,7 +3,7 @@
 		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" class="mescroll">
 			<view class="content-list" v-for="(item,index) in list" :key='index'>
 				<view class="top flex flex-space-between">
-					<view class="left flex">
+					<view  class="left flex">
 						<view>
 							{{item.orderNumber}}
 						</view>
@@ -13,17 +13,63 @@
 						{{item.createDate.split(' ')[0]}}
 					</view>
 				</view>
+				<view style='font-size:14px;' class="flex align-center name-row">
+					<view class="driver">
+						司机
+					</view>
+					<view>{{item.driverName}}</view>
+				</view>
+				<view class="flex align-center name-row">
+					<view class="sj-row hz-name">
+						司机信用:
+					</view>
+					<view class="xx">
+						<start :count="count" v-model="item.driverCredit" size="35" activeColor="#ffaa00" :size="18"
+							:allowHalf='true' :readonly='true'>
+						</start>
+					</view>
+				</view>
 				<view class="flex align-center name-row">
 					<view class="sj-row hz-name">
-						{{item.orderInfo.driverName}}:
+						运输效率:
 					</view>
 					<view class="xx">
-						<start :count="count" v-model="item.count" size="35" activeColor="#ffaa00" :size="18"
+						<start :count="count" v-model="item.tranEfficiency" size="35" activeColor="#ffaa00" :size="18"
 							:allowHalf='true' :readonly='true'>
 						</start>
 					</view>
 				</view>
-				<view class="gray999 xy-row">
+				<view class="flex align-center name-row">
+					<view class="sj-row hz-name">
+						运输安全:
+					</view>
+					<view class="xx">
+						<start :count="count" v-model="item.tranSafety" size="35" activeColor="#ffaa00" :size="18"
+							:allowHalf='true' :readonly='true'>
+						</start>
+					</view>
+				</view>
+				<view class="flex align-center name-row">
+					<view class="sj-row hz-name">
+						服务质量:
+					</view>
+					<view class="xx">
+						<start :count="count" v-model="item.serviceQuality" size="35" activeColor="#ffaa00" :size="18"
+							:allowHalf='true' :readonly='true'>
+						</start>
+					</view>
+				</view>
+				<view class="flex align-center name-row">
+					<view class="sj-row hz-name">
+						满意度:
+					</view>
+					<view class="xx">
+						<start :count="count" v-model="item.satisfaction" size="35" activeColor="#ffaa00" :size="18"
+							:allowHalf='true' :readonly='true'>
+						</start>
+					</view>
+				</view>
+				<!-- <view class="gray999 xy-row">
 					<view class='item'>
 						司机信用:{{item.driverCredit}}星
 					</view>
@@ -39,7 +85,7 @@
 					<view class='item'>
 						满意度:{{item.satisfaction}}星
 					</view>
-				</view>
+				</view> -->
 				<!-- 
 			<view class="xkuang">
 				<view style="display: flex;" class="flex-space-between" v-for="(item,index) in rate">
@@ -53,11 +99,11 @@
 					{{item.ownerContent}}
 				</view>
 				<view class="color2979ff flex">
-					<view @click="clickZK">展开</view>
-					<u-icon name="arrow-down" color="#2979ff" size="18" v-if="isOpen"></u-icon>
+					<view @click="clickZK(item)">展开</view>
+					<u-icon name="arrow-down" color="#2979ff" size="18" v-if="item.isOpen"></u-icon>
 					<u-icon name="arrow-up" color="#2979ff" size="18" v-else></u-icon>
 				</view>
-				<view v-if="isOpen" class="img-content">
+				<view v-if="item.isOpen" class="img-content">
 					<u--image :showLoading="true" :src="item1" width="80px" height="80px" class="img"
 						v-for="(item1,index) in item.imgList"></u--image>
 				</view>
@@ -134,7 +180,13 @@
 						if (page.num == 1) that.list = [];
 						that.list = that.list.concat(res.data.records); //追加新数据
 						for (let i = 0; i < that.list.length; i++) {
-							that.list[i].imgList = that.list[i].ownerUrl.split(',')
+							that.$set(that.list[i],'isOpen',false)
+							if(that.list[i].ownerUrl){
+								that.$set(that.list[i],'imgList',that.list[i].ownerUrl.split(','))
+							}else{
+								that.list[i].imgList = []
+							}
+							
 							that.list[i].count = (Number(that.list[i].driverCredit) + Number(that.list[i]
 								.tranEfficiency) + Number(that.list[i].tranSafety) + Number(that.list[i]
 								.serviceQuality) + Number(that.list[i].satisfaction)) / 25 * 5
@@ -146,8 +198,9 @@
 						uni.$u.toast(res.message);
 					});
 			},
-			clickZK() {
-				this.isOpen = !this.isOpen
+			clickZK(item) {
+				that.$set(item,'isOpen',!item.isOpen)
+				// item.isOpen = !item.isOpen
 			},
 			getList() {
 
@@ -176,7 +229,12 @@
 		border-radius: 20rpx;
 
 	}
-
+	.driver{
+		background:rgb(255, 170, 0);
+		color:#fff;font-size:28rpx;padding:8rpx;
+		border-radius: 10rpx;
+		margin-right:10rpx;
+	}
 	.hz-name {
 		color: #999;
 		margin-right: 10rpx;

+ 2 - 2
pages/order/fk.vue

@@ -2,8 +2,8 @@
 	<view class="content">
 		<view class="row1 flex flex-space-between">
 			<view>被投诉人</view>
-			<view class='flex'>
-				<image :src="dataDetails.driverPortrait" mode="widthFix" class="img"></image>
+			<view style='align-items: center;' class='flex'>
+				<image :src="dataDetails.avatarUrl" mode="widthFix" class="img"></image>
 				<view>{{dataDetails.driverName}}</view>
 			</view>
 		</view>

+ 49 - 29
pages/order/index.vue

@@ -1,7 +1,6 @@
 <!-- 货源 -->
 <template>
 	<view class="content">
-		<view class="fixed1"></view>
 		<!-- <view v-if="!isSearch"> -->
 		<!-- 		<view class="fixed">
 				<view class='title flex flex-center'>
@@ -15,25 +14,30 @@
 							}"></u-tabs>
 			</view> -->
 		<view class="top-content">
-			<u-search placeholder="搜索订单" v-model="searchKeyWord" bgColor='white' :actionStyle='searchStyle'
-				@custom="getSearch" @search="getSearch" :clearabled="true"></u-search>
-			<view class="tab-content">
-				<u-tabs :list="tabList" @click="clickTab" lineColor='transparent' :current='tabIndex'
-					:inactiveStyle="{color:'white'}" :activeStyle="{
-									color: '#2772FB',
-									fontWeight: 'bold',
-									transform: 'scale(1.05)',
-									background:'white',
-									padding:'10rpx 20rpx',
-									'border-radius':'40rpx'
-								}" class="tabs"></u-tabs>
-				<view class="right-btn" @click="showMenu=true">
-					<u-icon name="grid-fill" color="white" size="28"></u-icon>
-					<view class="">
-						全部
+			
+				<view class="fixed1"></view>
+			<view class="fix-content">
+				<u-search placeholder="搜索订单" v-model="searchKeyWord" bgColor='white' :actionStyle='searchStyle'
+					@custom="getSearch" @search="getSearch" :clearabled="true"></u-search>
+				<view class="tab-content">
+					<u-tabs :list="tabList" @click="clickTab" lineColor='transparent' :current='tabIndex'
+						:inactiveStyle="{color:'white'}" :activeStyle="{
+										color: '#2772FB',
+										fontWeight: 'bold',
+										transform: 'scale(1.05)',
+										background:'white',
+										padding:'10rpx 20rpx',
+										'border-radius':'40rpx'
+									}" class="tabs"></u-tabs>
+					<view class="right-btn" @click="showMenu=true">
+						<u-icon name="grid-fill" color="white" size="28"></u-icon>
+						<view class="">
+							全部
+						</view>
 					</view>
 				</view>
 			</view>
+		
 		</view>
 		<view class="all-menu">
 			<u-transition :show="showMenu" mode="fade">
@@ -138,10 +142,12 @@
 						<view class="start normal" @click.stop="toDetail(good.id)"
 							v-if="good.cargoOwnerStatus=='待确认装车'">确认装车</view>
 						<!-- <view class="start normal" @click.stop="confirmLoading(good,1)">确认装车</view> -->
-						<view class="start normal" v-if="good.cargoOwnerStatus!='待接单'&&good.cargoOwnerStatus!='未装车'">
+						<view class="start normal" v-if="good.cargoOwnerStatus!='待接单'&&good.cargoOwnerStatus!='未装车'" @click="$helper.contactCustomerService()">
 							联系客服</view>
-						<view class="start normal" @click.stop="confirmLoading(good,4)"
-							v-if="good.cargoOwnerStatus=='待收货'">确认卸车</view>
+							<view class="start normal" @click.stop="toDetail(good.id)"
+								v-if="good.cargoOwnerStatus=='待收货'">确认卸车</view>
+						<!-- <view class="start normal" @click.stop="confirmLoading(good,4)"
+							v-if="good.cargoOwnerStatus=='待收货'">确认卸车</view> -->
 						<!-- <view class="start normal" @click.stop="confirmLoading(good,2)">确认卸车</view> -->
 						<!-- <view class="normal" @click.stop="stop(good)" v-if="good.cargoOwnerStatus=='已结算'">付款</view> -->
 						<!-- <view class="normal" @click.stop="stop(good)"
@@ -215,6 +221,7 @@
 					position: "absolute",
 					right: "30rpx",
 					padding: "6rpx 20rpx",
+					margin:'0 20rpx 0 0',
 					"border-radius": '30rpx'
 				},
 				searchKeyWord: '',
@@ -309,7 +316,10 @@
 			let _status = await that.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
 				phone: this.userInfo.phone,
 			}).then(res => {
-				return res.data.authenticationStatus
+				if(res.data){
+					return res.data.authenticationStatus
+				}
+				
 			})
 			if (_status == '已禁用') {
 				this.isShowAlert = true
@@ -572,11 +582,6 @@
 				this.isShowAlert = false
 			},
 			getSearch(e) {
-
-				// = uni.getStorageSync('useSearchList')
-
-				// this.useSearchList.unshift(e)
-				// uni.setStorageSync("useSearchList", this.useSearchList)
 				console.log("点击搜索", e)
 				this.upCallback({
 					size: 10,
@@ -592,7 +597,9 @@
 				});
 			},
 			upCallback(page) {
-				if (this.searchType == 0) this.searchType = ''
+				if (!this.searchType) {
+					this.searchType = 0
+				}
 				this.$request.baseRequest('get', '/orderInfo/selectCargoOwnerOrder', {
 						cargoCommonId: this.userInfo.id,
 						searchKeyWord: this.searchKeyWord,
@@ -634,11 +641,22 @@
 </script>
 
 <style scoped lang="scss">
+	.content{
+		padding-bottom: 160px;
+	}
 	.top-content {
 		background: url(../../static/images/order/bg.png) no-repeat;
 		background-size: cover;
 		padding: 20rpx;
-		padding-bottom: 320rpx;
+		position: fixed;
+		z-index: 99;
+		width: 100%;
+		// margin-top: var(--status-bar-height);
+		// padding-bottom: 320rpx;
+	}
+	.fix-content{
+		// width: 96%;
+		margin-right: 20rpx;
 	}
 
 	// .banner {
@@ -674,6 +692,8 @@
 		top: 0;
 		height: var(--status-bar-height);
 		background: #317AFE;
+		// position: fixed;
+		// z-index: 9999;
 	}
 
 	// .banner-img {
@@ -881,7 +901,7 @@
 
 	.mescroll {
 		// margin-top: calc(var(--status-bar-height) + 140rpx);
-		top: -320rpx;
+		top: 280rpx;
 	}
 
 	.sline {

+ 2 - 2
pages/order/jb.vue

@@ -2,8 +2,8 @@
 	<view class="content">
 		<view class="row1 flex flex-space-between">
 			<view>被举报人</view>
-			<view class='flex'>
-				<image :src="dataDetails.driverPortrait" mode="widthFix" class="img"></image>
+			<view style='align-items: center;' class='flex'>
+				<image :src="dataDetails.avatarUrl" mode="widthFix" class="img"></image>
 				<view>{{dataDetails.driverName}}</view>
 			</view>
 		</view>

+ 26 - 16
pages/order/orderDetails.vue

@@ -40,12 +40,14 @@
 
 				<u-button class="btn" text="驳回卸车信息" @click="confirmUnLoading" v-if="dataObj.cargoOwnerStatus=='待收货'">
 				</u-button>
-				<u-button class="btn" text="确认卸车" @click="confirmUnLoading" v-if="dataObj.cargoOwnerStatus=='待收货'">
+				<u-button class="btn" text="确认卸车" @click="confirmUnLoading(4)" v-if="dataObj.cargoOwnerStatus=='待收货'">
 				</u-button>
+				<!-- <u-button class="btn" text="确认卸车" @click="confirmLoading(4)" v-if="dataObj.cargoOwnerStatus=='待收货'">
+				</u-button> -->
 				<u-button class="btn" text="付款" @click="closed"
 					v-if="dataObj.cargoOwnerStatus=='待结算'||dataObj.cargoOwnerStatus=='已结算'"></u-button>
 				<u-button class="btn" text="还款" @click="stop" v-if="dataObj.cargoOwnerStatus=='待还款'"></u-button>
-				<u-button class="btn" text="联系客服"
+				<u-button class="btn" text="联系客服" @click="$helper.contactCustomerService()"
 					v-if="dataObj.cargoOwnerStatus!='待接单'&&dataObj.cargoOwnerStatus!='未装车'">
 				</u-button>
 			</view>
@@ -194,7 +196,7 @@
 				<view class="row-left-text gray">卸车照片</view>
 				<view class="flex">
 					<u--image :showLoading="true" :src="item" width="40px" height="40px"
-						v-for="(item,index) in xcImgList" :key='index'></u--image>
+						v-for="(item,index) in xcImgList" :key='index' @click='ylImg(item)'></u--image>
 				</view>
 			</view>
 		</view>
@@ -363,7 +365,6 @@
 		},
 		methods: {
 			ylImg(src) {
-				debugger
 				uni.previewImage({
 					urls: [src],
 					longPressActions: {
@@ -453,23 +454,24 @@
 				}
 				this.type = type
 				if (type == 3) {
-					uni.$u.route("/pages/order/confirmLoading", {
-						obj: JSON.stringify({
-							id: this.id
-						}),
-					})
-					// this.alertTitle = '确认装车?'
-					// this.confirmText = '确定'
+					this.alertTitle = '确认装车?'
+					this.confirmText = '确定'
+					this.isShowAlert = true
 				} else if (type == 4) {
 					this.alertTitle = '确认卸车?'
 					this.confirmText = '确定'
+					this.isShowAlert = true
 				}
-				this.isShowAlert = true
+				
 				// uni.$u.route('/pages/order/confirmLoading', item);
 			},
-			confirmUnLoading() {
-				let item = this.dataObj
-				uni.$u.route('/pages/order/confirmUnloading', item);
+			confirmUnLoading(type) {
+				this.type=type
+				this.alertTitle = '确认卸车?'
+				this.confirmText = '确定'
+				this.isShowAlert = true
+				// let item = this.dataObj
+				// uni.$u.route('/pages/order/confirmUnloading', item);
 			},
 			confirmClick() {
 				that.isShowAlert = false
@@ -592,8 +594,16 @@
 				this.isShowAlert = true
 			},
 			toPhone() {
+				var that=this
 				uni.makePhoneCall({
-					phoneNumber: this.dataObj.cargoOwnerPhone
+					phoneNumber: that.dataObj.driverPhone,
+					success: (res) => {
+						console.log('调用成功!')
+					},
+					// 失败回调
+					fail: (res) => {
+						console.log('调用失败!')
+					}
 				});
 			},
 			back() {

+ 8 - 4
pages/public/login.vue

@@ -12,8 +12,9 @@
 					<!-- <u--input class="phone-number" border="none" maxlength='11' v-model='phone'
 						placeholder="请输入手机号码" type="number"></u--input>
 					<u-input /> -->
-					<u--input v-model="phone" border="none" type='number' placeholder="请输入手机号码" class="phone-number"
-						maxlength='11' :clearable='true'></u--input>
+					<input class='phone' maxlength='11' v-model='phone'  placeholder="请输入手机号码" type="number">
+					<!-- <u--input v-model="phone" border="none" type='number' placeholder="请输入手机号码" class="phone-number"
+						maxlength='11' :clearable='true'></u--input> -->
 				</view>
 			</view>
 			<view style='margin-top:20px;border-bottom:1px solid #E8E9ED;position:relative;height:40px'>
@@ -118,6 +119,7 @@
 		onShow() {
 			// this.loginType = "wechat"
 			this.$api.logout()
+			console.log("login onShow")
 		},
 		onLoad(options) {
 
@@ -161,7 +163,6 @@
 						identification:2
 					}).then(res => {
 						if (res.code == 200) {
-							console.log("userInfo", res.data)
 							uni.setStorageSync('userInfo', res.data)
 							that.$request.baseRequest('get', '/newsInfo/unreadMessage', {
 								reCommonId: this.userInfo.id,
@@ -249,7 +250,10 @@
 	page {
 		background: #fff;
 	}
-
+	.phone{
+		padding:20rpx;
+		font-size:28rpx;
+	}
 	.close {
 		width: 20px;
 		height: 20px;

+ 35 - 25
pages/release/addAddress.vue

@@ -115,32 +115,42 @@
 			toMap() {
 				let that = this
 				// this.isShowMap = true
-				uni.chooseLocation({
-					success: function(res) {
-						console.log(res);
-						console.log('位置名称:' + res.name);
-						console.log('详细地址:' + res.address);
-						console.log('纬度:' + res.latitude);
-						console.log('经度:' + res.longitude);
-						// let _address = that.$helper.formatLocation(res.address)
-						// console.log('----------------------------')
-						// console.log(_address)
-						// that.addressInfo.latitude = res.latitude
-						// that.addressInfo.longitude = res.longitude
-						// that.addressInfo.detailedAddress = _address.Village
-						// that.addressInfo.province = _address.Province
-						// that.addressInfo.city = _address.City
-						// that.addressInfo.area = _address.Country
-						// that.addressInfo.commonId = that.userInfo.id
-						// that.$forceUpdate()
-					},
-					fail(err) {
-						console.log(err)
-					},
-					complete(res1) {
-						console.log(res1)
+				uni.getLocation({
+					type: 'wgs84',
+					success: function (res) {
+						console.log('当前位置的经度:' + res.longitude);
+						console.log('当前位置的纬度:' + res.latitude);
+						uni.chooseLocation({
+							latitude: res.latitude,
+							longitude: res.longitude,
+							success: function(res) {
+								console.log(res);
+								console.log('位置名称:' + res.name);
+								console.log('详细地址:' + res.address);
+								console.log('纬度:' + res.latitude);
+								console.log('经度:' + res.longitude);
+								let _address = that.$helper.formatLocation(res.address)
+								console.log('----------------------------')
+								console.log(_address)
+								that.addressInfo.latitude = res.latitude
+								that.addressInfo.longitude = res.longitude
+								that.addressInfo.detailedAddress = _address.Village
+								that.addressInfo.province = _address.Province
+								that.addressInfo.city = _address.City
+								that.addressInfo.area = _address.Country
+								that.addressInfo.commonId = that.userInfo.id
+								that.$forceUpdate()
+							},
+							fail(err) {
+								console.log(err)
+							},
+							complete(res1) {
+								console.log(res1)
+							}
+						});
 					}
-				});
+				})
+				
 				// console.log(123)
 				// uni.$u.route('/pages/release/map', {
 				// 	id: 1,

+ 34 - 19
pages/release/editAddress.vue

@@ -114,26 +114,41 @@
 			toMap() {
 				let that = this
 				// this.isShowMap = true
-				uni.chooseLocation({
-					success: function(res) {
-						console.log(res);
-
-						console.log('位置名称:' + res.name);
-						console.log('详细地址:' + res.address);
-						console.log('纬度:' + res.latitude);
-						console.log('经度:' + res.longitude);
-						let _address = that.$helper.formatLocation(res.address)
-						console.log(_address)
-						that.addressInfo.latitude = res.latitude
-						that.addressInfo.longitude = res.longitude
-						that.addressInfo.detailedAddress = _address.village
-						that.addressInfo.province = _address.province
-						that.addressInfo.city = _address.city
-						that.addressInfo.area = _address.county
-						that.addressInfo.commonId = that.userInfo.id
-
+				uni.getLocation({
+					type: 'wgs84',
+					success: function (res) {
+						console.log('当前位置的经度:' + res.longitude);
+						console.log('当前位置的纬度:' + res.latitude);
+						uni.chooseLocation({
+							latitude: res.latitude,
+							longitude: res.longitude,
+							success: function(res) {
+								console.log(res);
+								console.log('位置名称:' + res.name);
+								console.log('详细地址:' + res.address);
+								console.log('纬度:' + res.latitude);
+								console.log('经度:' + res.longitude);
+								let _address = that.$helper.formatLocation(res.address)
+								console.log('----------------------------')
+								console.log(_address)
+								that.addressInfo.latitude = res.latitude
+								that.addressInfo.longitude = res.longitude
+								that.addressInfo.detailedAddress = _address.Village
+								that.addressInfo.province = _address.Province
+								that.addressInfo.city = _address.City
+								that.addressInfo.area = _address.Country
+								that.addressInfo.commonId = that.userInfo.id
+								that.$forceUpdate()
+							},
+							fail(err) {
+								console.log(err)
+							},
+							complete(res1) {
+								console.log(res1)
+							}
+						});
 					}
-				});
+				})
 				// console.log(123)
 				// uni.$u.route('/pages/release/map', {
 				// 	id: 1,

+ 56 - 38
pages/release/release.vue

@@ -269,7 +269,7 @@
 					goodsName: '',
 					billingMethod: '元/吨',
 					freightPrice: '',
-					freightAdvance: true,
+					freightAdvance: false,
 					sender: '',
 					senderPhone: '',
 					receiver: '',
@@ -333,36 +333,50 @@
 			this.goToRecord()
 		},
 		onShow() {
+			_this = this
+			// #ifdef APP-PLUS
+			// let _status = this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
+			// 	phone: this.userInfo.phone
+			// }).then(res => {
+			// 	uni.setStorageSync("firstAuthentication",res.data)
+			// 	return res.data.authenticationStatus
+			// })
+			// if (_status == '已禁用') {
+			// 	this.isShowAlert = true
+			// 	this.alertTitle = '账号审核中'
+			// 	this.confirmText = '退出APP'
+			// 	this.showCancelButton = false
+			// 	return
+			// } else {
+			// }
+			// #endif
 			if (!this.hasLogin) {
 				uni.$u.route('/pages/public/login');
 				return
 			}
-			if (uni.getStorageSync('firstAuthentication').authenticationStatus == '已认证') {
-				uni.$u.route('/pages/components/empty/index');
-			} else if (uni.getStorageSync('firstAuthentication').authenticationStatus == '审核中') {
-				uni.showToast({
-					title: '身份信息审核中'
-				})
-			} else {
-				this.alertTitle = '身份信息未认证,去认证?'
-				this.showCancelButton = false
-				this.isShowAlert = true
-				// uni.showLoading({
-				// 	title: '请重新提交身份信息',
-				// 		complete() {
-				// 			uni.switchTab({
-				// 				url:'/pages/mine/index'
-
-				// 			})
-				// 			}
-				// })
-			}
+			this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
+				phone: this.userInfo.phone
+			}).then(res => {
+				uni.setStorageSync("firstAuthentication", res.data)
+				let _obj = res.data
+				if (_obj.authenticationStatus == '已认证') {
+					uni.$u.route('/pages/components/empty/index');
+				} else if (_obj.authenticationStatus == '审核中') {
+					uni.showToast({
+						title: '身份信息审核中'
+					})
+				} else {
+					this.alertTitle = '身份信息未认证,去认证?'
+					this.showCancelButton = false
+					this.isShowAlert = true
+				}
+			})
+
 			this.validityPeriod = this.$helper.makeValidityPeriod(0, '随时')
 			this.validityPeriodcq = this.$helper.makeValidityPeriod(0, '长期')
 			let _faddress = uni.getStorageSync('storage_faddress');
 			let _saddress = uni.getStorageSync('storage_saddress');
 			if (_faddress) {
-
 				this.dataObj.sendCity = _faddress.city
 				this.dataObj.sendArea = _faddress.area
 				this.dataObj.sendPrivate = _faddress.province
@@ -398,21 +412,25 @@
 			this.getSFList()
 		},
 		async onLoad() {
-			_this = this
-			// #ifdef APP-PLUS
-			let _status = await this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
-				phone: this.userInfo.phone,
-			}).then(res => {
-				return res.data.authenticationStatus
-			})
-			if (_status == '已禁用') {
-				this.isShowAlert = true
-				this.alertTitle = '账号审核中'
-				this.confirmText = '退出APP'
-				this.showCancelButton = false
-				return
-			} else {}
-			// #endif
+
+			// _this = this
+			// // #ifdef APP-PLUS
+			// let _status = await this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
+			// 	phone: this.userInfo.phone,
+			// }).then(res => {
+			// 	if(res.data){
+			// 		return res.data.authenticationStatus
+			// 	}
+				
+			// })
+			// if (_status == '已禁用') {
+			// 	this.isShowAlert = true
+			// 	this.alertTitle = '账号审核中'
+			// 	this.confirmText = '退出APP'
+			// 	this.showCancelButton = false
+			// 	return
+			// } else {}
+			// // #endif
 
 		},
 		computed: {
@@ -746,7 +764,7 @@
 							duration: 2000
 						})
 					});
-				
+
 			},
 			cancelClick() {
 				this.isShowAlert = false

+ 151 - 170
pages/release/selectAddress.vue

@@ -69,7 +69,7 @@
 				dataList: [],
 				searchKeyWord: '',
 				radiolist1: [
-					
+
 					{
 						name: '默认装货',
 						disabled: false
@@ -89,7 +89,7 @@
 			console.log(options)
 			this.type = options.type
 			that = this
-			
+
 		},
 		onShow() {
 			this.getList()
@@ -103,7 +103,7 @@
 				}
 				// uni.$u.route('/pages/release/release');
 				uni.navigateBack({
-					delta:1
+					delta: 1
 				})
 			},
 			getList() {
@@ -128,7 +128,7 @@
 									this.dataList[i].radiovalue = '默认卸货'
 								}
 							}
-							
+
 							uni.hideLoading()
 						}
 
@@ -225,178 +225,159 @@
 				// 0临时地址 1 新增地址
 				if (type == 0) {
 					let that = this
-					uni.chooseLocation({
+					uni.getLocation({
+						type: 'wgs84',
 						success: function(res) {
-							console.log(res);
-							console.log('位置名称:' + res.name);
-							console.log('详细地址:' + res.address);
-							console.log('纬度:' + res.latitude);
-							console.log('经度:' + res.longitude);
-							var locationObj = that.$helper.formatLocation(res);
-							console.log(locationObj)
-							that.temporaryAddress.latitude = res.latitude
-							that.temporaryAddress.longitude = res.longitude
-							that.temporaryAddress.detailedAddress = locationObj.ADDRESS
-							that.temporaryAddress.province = locationObj.REGION_PROVINCE
-							that.temporaryAddress.city = locationObj.REGION_CITY
-							that.temporaryAddress.area = locationObj.REGION_COUNTRY
-							that.temporaryAddress.commonId = that.userInfo.id
-							that.configAddress(that.temporaryAddress)
-						},
-						fail: function() {
-							uni.getSetting({
+							console.log('当前位置的经度:' + res.longitude);
+							console.log('当前位置的纬度:' + res.latitude);
+							uni.chooseLocation({
 								success: function(res) {
-									var statu = res.authSetting;
-									if (!statu['scope.userLocation']) {
-										uni.showModal({
-											title: '是否授权当前位置',
-											content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',
-											success: function(tip) {
-												if (tip.confirm) {
-													uni.openSetting({
-														success: function(
-															data) {
-															if (data
-																.authSetting[
-																	"scope.userLocation"
-																] === true
-															) {
-																uni.showToast({
-																	title: '授权成功',
-																	icon: 'success',
-																	duration: 1000
-																})
-																//授权成功之后,再调用chooseLocation选择地方
-																uni.chooseLocation({
-																	success: function(
-																		res
-																	) {
-																		console
-																			.log(
-																				res
-																			);
-																		console
-																			.log(
-																				'位置名称:' +
-																				res
-																				.name
-																			);
-																		console
-																			.log(
-																				'详细地址:' +
-																				res
-																				.address
-																			);
-																		console
-																			.log(
-																				'纬度:' +
-																				res
-																				.latitude
-																			);
-																		console
-																			.log(
-																				'经度:' +
-																				res
-																				.longitude
-																			);
-																		var locationObj =
-																			that
-																			.$helper
-																			.formatLocation(
-																				res
-																			);
-																		console
-																			.log(
-																				locationObj
-																			)
-																		that.temporaryAddress
-																			.latitude =
-																			res
-																			.latitude
-																		that.temporaryAddress
-																			.longitude =
-																			res
-																			.longitude
-																		that.temporaryAddress
-																			.detailedAddress =
-																			locationObj
-																			.ADDRESS
-																		that.temporaryAddress
-																			.province =
-																			locationObj
-																			.REGION_PROVINCE
-																		that.temporaryAddress
-																			.city =
-																			locationObj
-																			.REGION_CITY
-																		that.temporaryAddress
-																			.area =
-																			locationObj
-																			.REGION_COUNTRY
-																		that.temporaryAddress
-																			.commonId =
-																			that
-																			.userInfo
-																			.id
-																		that.configAddress(
-																			that
-																			.temporaryAddress
-																		)
-																	},
-																})
-															} else {
-																uni.showToast({
-																	title: '授权失败',
-																	icon: 'none',
-																	duration: 1000
-																})
-															}
-														}
-													})
-												}
-											}
-										})
-									}
+									console.log(res);
+									console.log('位置名称:' + res.name);
+									console.log('详细地址:' + res.address);
+									console.log('纬度:' + res.latitude);
+									console.log('经度:' + res.longitude);
+									var locationObj = that.$helper.formatLocation(res);
+									console.log(locationObj)
+									that.temporaryAddress.latitude = res.latitude
+									that.temporaryAddress.longitude = res.longitude
+									that.temporaryAddress.detailedAddress = locationObj.ADDRESS
+									that.temporaryAddress.province = locationObj.REGION_PROVINCE
+									that.temporaryAddress.city = locationObj.REGION_CITY
+									that.temporaryAddress.area = locationObj.REGION_COUNTRY
+									that.temporaryAddress.commonId = that.userInfo.id
+									that.configAddress(that.temporaryAddress)
 								},
-								fail: function(res) {
-									uni.showToast({
-										title: '调用授权窗口失败',
-										icon: 'none',
-										duration: 1000
-									})
+								fail: function() {
+								// 	uni.getSetting({
+								// 		success: function(res) {
+								// 			var statu = res.authSetting;
+								// 			if (!statu['scope.userLocation']) {
+								// 				uni.showModal({
+								// 					title: '是否授权当前位置',
+								// 					content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',
+								// 					success: function(tip) {
+								// 						if (tip.confirm) {
+								// 							uni.openSetting({
+								// 								success: function(
+								// 									data
+								// 									) {
+								// 									if (data
+								// 										.authSetting[
+								// 											"scope.userLocation"
+								// 										] ===
+								// 										true
+								// 									) {
+								// 										uni.showToast({
+								// 											title: '授权成功',
+								// 											icon: 'success',
+								// 											duration: 1000
+								// 										})
+								// 										//授权成功之后,再调用chooseLocation选择地方
+								// 										uni.chooseLocation({
+								// 											success: function(
+								// 												res
+								// 											) {
+								// 												console
+								// 													.log(
+								// 														res
+								// 													);
+								// 												console
+								// 													.log(
+								// 														'位置名称:' +
+								// 														res
+								// 														.name
+								// 													);
+								// 												console
+								// 													.log(
+								// 														'详细地址:' +
+								// 														res
+								// 														.address
+								// 													);
+								// 												console
+								// 													.log(
+								// 														'纬度:' +
+								// 														res
+								// 														.latitude
+								// 													);
+								// 												console
+								// 													.log(
+								// 														'经度:' +
+								// 														res
+								// 														.longitude
+								// 													);
+								// 												var locationObj =
+								// 													that
+								// 													.$helper
+								// 													.formatLocation(
+								// 														res
+								// 													);
+								// 												console
+								// 													.log(
+								// 														locationObj
+								// 													)
+								// 												that.temporaryAddress
+								// 													.latitude =
+								// 													res
+								// 													.latitude
+								// 												that.temporaryAddress
+								// 													.longitude =
+								// 													res
+								// 													.longitude
+								// 												that.temporaryAddress
+								// 													.detailedAddress =
+								// 													locationObj
+								// 													.ADDRESS
+								// 												that.temporaryAddress
+								// 													.province =
+								// 													locationObj
+								// 													.REGION_PROVINCE
+								// 												that.temporaryAddress
+								// 													.city =
+								// 													locationObj
+								// 													.REGION_CITY
+								// 												that.temporaryAddress
+								// 													.area =
+								// 													locationObj
+								// 													.REGION_COUNTRY
+								// 												that.temporaryAddress
+								// 													.commonId =
+								// 													that
+								// 													.userInfo
+								// 													.id
+								// 												that.configAddress(
+								// 													that
+								// 													.temporaryAddress
+								// 												)
+								// 											},
+								// 										})
+								// 									} else {
+								// 										uni.showToast({
+								// 											title: '授权失败',
+								// 											icon: 'none',
+								// 											duration: 1000
+								// 										})
+								// 									}
+								// 								}
+								// 							})
+								// 						}
+								// 					}
+								// 				})
+								// 			}
+								// 		},
+								// 		fail: function(res) {
+								// 			uni.showToast({
+								// 				title: '调用授权窗口失败',
+								// 				icon: 'none',
+								// 				duration: 1000
+								// 			})
+								// 		}
+								// 	})
+								
 								}
-							})
+							});
 						}
 					})
-					// that.$helper.getLocation(that.temporaryAddress)
-					// console.log('1111111111111111111111111111111111')
-					// console.log(that.temporaryAddress)
-					// let that = this
-					// // this.isShowMap = true
-					// uni.chooseLocation({
-					// 	success: function(res) {
-					// 		console.log(res);
-					// 		console.log('位置名称:' + res.name);
-					// 		console.log('详细地址:' + res.address);
-					// 		console.log('纬度:' + res.latitude);
-					// 		console.log('经度:' + res.longitude);
-					// 		// let _address = that.$helper.getAddress(res.address)
-					// 		let _address = that.$helper.getLocation(res.address)
-					// 		console.log(_address)
-					// 		// that.temporaryAddress.latitude = res.latitude
-					// 		// that.temporaryAddress.longitude = res.longitude
-					// 		// that.temporaryAddress.detailedAddress = _address.village
-					// 		// that.temporaryAddress.province = _address.province
-					// 		// that.temporaryAddress.city = _address.city
-					// 		// that.temporaryAddress.area = _address.county
-					// 		// that.temporaryAddress.commonId = that.userInfo.id
-					// 		// that.configAddress(that.temporaryAddress)
-					// 	}
-					// });
-					// // console.log(123)
-					// // uni.$u.route('/pages/release/map', {
-					// // 	id: 1,
-					// // });
 				} else {
 					uni.$u.route('/pages/release/addAddress', {
 						type: type,

+ 539 - 0
static/gengduo/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

+ 207 - 0
static/gengduo/demo_index.html

@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8"/>
+  <title>iconfont Demo</title>
+  <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico" type="image/x-icon"/>
+  <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01EYTRnJ297D6vehehJ_!!6000000008020-55-tps-64-64.svg"/>
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
+  <link rel="stylesheet" href="demo.css">
+  <link rel="stylesheet" href="iconfont.css">
+  <script src="iconfont.js"></script>
+  <!-- jQuery -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
+  <!-- 代码高亮 -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
+  <style>
+    .main .logo {
+      margin-top: 0;
+      height: auto;
+    }
+
+    .main .logo a {
+      display: flex;
+      align-items: center;
+    }
+
+    .main .logo .sub-title {
+      margin-left: 0.5em;
+      font-size: 22px;
+      color: #fff;
+      background: linear-gradient(-45deg, #3967FF, #B500FE);
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+  </style>
+</head>
+<body>
+  <div class="main">
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
+      <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
+      
+    </a></h1>
+    <div class="nav-tabs">
+      <ul id="tabs" class="dib-box">
+        <li class="dib active"><span>Unicode</span></li>
+        <li class="dib"><span>Font class</span></li>
+        <li class="dib"><span>Symbol</span></li>
+      </ul>
+      
+    </div>
+    <div class="tab-container">
+      <div class="content unicode" style="display: block;">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xf0112;</span>
+                <div class="name">更多</div>
+                <div class="code-name">&amp;#xf0112;</div>
+              </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="unicode-">Unicode 引用</h2>
+          <hr>
+
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
+          <ul>
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
+            <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
+          </ul>
+          <blockquote>
+            <p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
+          </blockquote>
+          <p>Unicode 使用步骤如下:</p>
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
+<pre><code class="language-css"
+>@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.ttf?t=1656902030241') format('truetype');
+}
+</code></pre>
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
+<pre><code class="language-css"
+>.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
+<pre>
+<code class="language-html"
+>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
+</code></pre>
+          <blockquote>
+            <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+          </blockquote>
+          </div>
+      </div>
+      <div class="content font-class">
+        <ul class="icon_lists dib-box">
+          
+          <li class="dib">
+            <span class="icon iconfont icon-gengduo"></span>
+            <div class="name">
+              更多
+            </div>
+            <div class="code-name">.icon-gengduo
+            </div>
+          </li>
+          
+        </ul>
+        <div class="article markdown">
+        <h2 id="font-class-">font-class 引用</h2>
+        <hr>
+
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
+        <ul>
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
+</code></pre>
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
+</code></pre>
+        <blockquote>
+          <p>"
+            iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+        </blockquote>
+      </div>
+      </div>
+      <div class="content symbol">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-gengduo"></use>
+                </svg>
+                <div class="name">更多</div>
+                <div class="code-name">#icon-gengduo</div>
+            </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="symbol-">Symbol 引用</h2>
+          <hr>
+
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
+          <ul>
+            <li>支持多色图标了,不再受单色限制。</li>
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
+          </ul>
+          <p>使用步骤如下:</p>
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
+</code></pre>
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
+<pre><code class="language-html">&lt;style&gt;
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+&lt;/style&gt;
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
+&lt;/svg&gt;
+</code></pre>
+          </div>
+      </div>
+
+    </div>
+  </div>
+  <script>
+  $(document).ready(function () {
+      $('.tab-container .content:first').show()
+
+      $('#tabs li').click(function (e) {
+        var tabContent = $('.tab-container .content')
+        var index = $(this).index()
+
+        if ($(this).hasClass('active')) {
+          return
+        } else {
+          $('#tabs li').removeClass('active')
+          $(this).addClass('active')
+
+          tabContent.hide().eq(index).fadeIn()
+        }
+      })
+    })
+  </script>
+</body>
+</html>

+ 17 - 0
static/gengduo/iconfont.css

@@ -0,0 +1,17 @@
+@font-face {
+  font-family: "iconfont"; /* Project id  */
+  src: url('iconfont.ttf?t=1656902030241') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-gengduo:before {
+  content: "\f0112";
+}
+

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
static/gengduo/iconfont.js


+ 16 - 0
static/gengduo/iconfont.json

@@ -0,0 +1,16 @@
+{
+  "id": "",
+  "name": "",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "77822",
+      "name": "更多",
+      "font_class": "gengduo",
+      "unicode": "f0112",
+      "unicode_decimal": 983314
+    }
+  ]
+}

BIN
static/gengduo/iconfont.ttf


BIN
static/images/mine/gh.png


BIN
static/images/mine/zm.png


BIN
static/mine/yinhangka.png


BIN
static/mine/zhanghu.png


+ 0 - 0
unpackage/dist/build/.automator/app-plus/.automator.json


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/app-plus/__uniappchooselocation.js


BIN
unpackage/dist/build/app-plus/__uniapperror.png


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/app-plus/__uniappes6.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/app-plus/__uniapppicker.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/app-plus/__uniappquillimageresize.js


BIN
unpackage/dist/build/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/build/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

+ 1 - 0
unpackage/dist/build/app-plus/app-config.js

@@ -0,0 +1 @@
+(function(e){function r(r){for(var n,l,i=r[0],p=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in p)Object.prototype.hasOwnProperty.call(p,n)&&(e[n]=p[n]);f&&f(r);while(s.length)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var p=t[i];0!==o[p]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"app-config":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this["webpackJsonp"]=this["webpackJsonp"]||[],p=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var f=p;t()})([]);

BIN
unpackage/dist/build/app-plus/components/bert-suggest/icons/contact.png


BIN
unpackage/dist/build/app-plus/components/bert-suggest/icons/image.png


BIN
unpackage/dist/build/app-plus/components/bert-suggest/icons/suggestion.png


Diff do ficheiro suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/app-plus/hybrid/html/axios.min.js


+ 147 - 0
unpackage/dist/build/app-plus/hybrid/html/base64.js

@@ -0,0 +1,147 @@
+(function() {
+	var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+	var base64DecodeChars = new Array(
+		-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+		-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+		-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
+		52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
+		-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+		15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+		-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+		41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
+	 Window.base64 = {
+		encode: function encode(str) {
+			var out, i, len;
+			var c1, c2, c3;
+			len = str.length;
+			i = 0;
+			out = "";
+			while (i < len) {
+				c1 = str.charCodeAt(i++) & 0xff;
+				if (i == len) {
+					out += base64EncodeChars.charAt(c1 >> 2);
+					out += base64EncodeChars.charAt((c1 & 0x3) << 4);
+					out += "==";
+					break;
+				}
+				c2 = str.charCodeAt(i++);
+				if (i == len) {
+					out += base64EncodeChars.charAt(c1 >> 2);
+					out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
+					out += base64EncodeChars.charAt((c2 & 0xF) << 2);
+					out += "=";
+					break;
+				}
+				c3 = str.charCodeAt(i++);
+				out += base64EncodeChars.charAt(c1 >> 2);
+				out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
+				out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
+				out += base64EncodeChars.charAt(c3 & 0x3F);
+			}
+			return out;
+		},
+		decode: function decode(str) {
+			var c1, c2, c3, c4;
+			var i, len, out;
+			len = str.length;
+			i = 0;
+			out = "";
+			while (i < len) {
+				/* c1 */
+				do {
+					c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
+				} while (i < len && c1 == -1);
+				if (c1 == -1)
+					break;
+				/* c2 */
+				do {
+					c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
+				} while (i < len && c2 == -1);
+				if (c2 == -1)
+					break;
+				out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
+				/* c3 */
+				do {
+					c3 = str.charCodeAt(i++) & 0xff;
+					if (c3 == 61)
+						return out;
+					c3 = base64DecodeChars[c3];
+				} while (i < len && c3 == -1);
+				if (c3 == -1)
+					break;
+				out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
+				/* c4 */
+				do {
+					c4 = str.charCodeAt(i++) & 0xff;
+					if (c4 == 61)
+						return out;
+					c4 = base64DecodeChars[c4];
+				} while (i < len && c4 == -1);
+				if (c4 == -1)
+					break;
+				out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
+			}
+			return out;
+		},
+		utf16to8: function utf16to8(str) {
+			var out, i, len, c;
+			out = "";
+			len = str.length;
+			for (i = 0; i < len; i++) {
+				c = str.charCodeAt(i);
+				if ((c >= 0x0001) && (c <= 0x007F)) {
+					out += str.charAt(i);
+				} else if (c > 0x07FF) {
+					out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
+					out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
+					out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
+				} else {
+					out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
+					out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
+				}
+			}
+			return out;
+		},
+		utf8to16: function utf8to16(str) {
+			var out, i, len, c;
+			var char2, char3;
+			out = "";
+			len = str.length;
+			i = 0;
+			while (i < len) {
+				c = str.charCodeAt(i++);
+				switch (c >> 4) {
+					case 0:
+					case 1:
+					case 2:
+					case 3:
+					case 4:
+					case 5:
+					case 6:
+					case 7:
+						// 0xxxxxxx
+						out += str.charAt(i - 1);
+						break;
+					case 12:
+					case 13:
+						// 110x xxxx 10xx xxxx
+						char2 = str.charCodeAt(i++);
+						out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
+						break;
+					case 14:
+						// 1110 xxxx 10xx xxxx 10xx xxxx
+						char2 = str.charCodeAt(i++);
+						char3 = str.charCodeAt(i++);
+						out += String.fromCharCode(((c & 0x0F) << 12) |
+							((char2 & 0x3F) << 6) |
+							((char3 & 0x3F) << 0));
+						break;
+				}
+			}
+			return out;
+		}
+	}
+console.log('base64')
+console.log(Window.base64)
+	return Window.base64
+})()

+ 273 - 0
unpackage/dist/build/app-plus/hybrid/html/crypto.js

@@ -0,0 +1,273 @@
+
+
+(function() {
+Window.Crypto = {};
+	var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+
+	// Crypto utilities
+	var util = Window.Crypto.util = {
+
+		// Bit-wise rotate left
+		rotl: function(n, b) {
+			return (n << b) | (n >>> (32 - b));
+		},
+
+		// Bit-wise rotate right
+		rotr: function(n, b) {
+			return (n << (32 - b)) | (n >>> b);
+		},
+
+		// Swap big-endian to little-endian and vice versa
+		endian: function(n) {
+
+			// If number given, swap endian
+			if (n.constructor == Number) {
+				return util.rotl(n, 8) & 0x00FF00FF |
+					util.rotl(n, 24) & 0xFF00FF00;
+			}
+
+			// Else, assume array and swap all items
+			for (var i = 0; i < n.length; i++)
+				n[i] = util.endian(n[i]);
+			return n;
+
+		},
+
+		// Generate an array of any length of random bytes
+		randomBytes: function(n) {
+			for (var bytes = []; n > 0; n--)
+				bytes.push(Math.floor(Math.random() * 256));
+			return bytes;
+		},
+
+		// Convert a string to a byte array
+		stringToBytes: function(str) {
+			var bytes = [];
+			for (var i = 0; i < str.length; i++)
+				bytes.push(str.charCodeAt(i));
+			return bytes;
+		},
+
+		// Convert a byte array to a string
+		bytesToString: function(bytes) {
+			var str = [];
+			for (var i = 0; i < bytes.length; i++)
+				str.push(String.fromCharCode(bytes[i]));
+			return str.join("");
+		},
+
+		// Convert a string to big-endian 32-bit words
+		stringToWords: function(str) {
+			var words = [];
+			for (var c = 0, b = 0; c < str.length; c++, b += 8)
+				words[b >>> 5] |= str.charCodeAt(c) << (24 - b % 32);
+			return words;
+		},
+
+		// Convert a byte array to big-endian 32-bits words
+		bytesToWords: function(bytes) {
+			var words = [];
+			for (var i = 0, b = 0; i < bytes.length; i++, b += 8)
+				words[b >>> 5] |= bytes[i] << (24 - b % 32);
+			return words;
+		},
+
+		// Convert big-endian 32-bit words to a byte array
+		wordsToBytes: function(words) {
+			var bytes = [];
+			for (var b = 0; b < words.length * 32; b += 8)
+				bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
+			return bytes;
+		},
+
+		// Convert a byte array to a hex string
+		bytesToHex: function(bytes) {
+			var hex = [];
+			for (var i = 0; i < bytes.length; i++) {
+				hex.push((bytes[i] >>> 4).toString(16));
+				hex.push((bytes[i] & 0xF).toString(16));
+			}
+			return hex.join("");
+		},
+
+		// Convert a hex string to a byte array
+		hexToBytes: function(hex) {
+			var bytes = [];
+			for (var c = 0; c < hex.length; c += 2)
+				bytes.push(parseInt(hex.substr(c, 2), 16));
+			return bytes;
+		},
+
+		// Convert a byte array to a base-64 string
+		bytesToBase64: function(bytes) {
+
+			// Use browser-native function if it exists
+			// if (typeof btoa == "function") return btoa(util.bytesToString(bytes));
+
+			var base64 = [],
+				overflow;
+
+			for (var i = 0; i < bytes.length; i++) {
+				switch (i % 3) {
+					case 0:
+						base64.push(base64map.charAt(bytes[i] >>> 2));
+						overflow = (bytes[i] & 0x3) << 4;
+						break;
+					case 1:
+						base64.push(base64map.charAt(overflow | (bytes[i] >>> 4)));
+						overflow = (bytes[i] & 0xF) << 2;
+						break;
+					case 2:
+						base64.push(base64map.charAt(overflow | (bytes[i] >>> 6)));
+						base64.push(base64map.charAt(bytes[i] & 0x3F));
+						overflow = -1;
+				}
+			}
+
+			// Encode overflow bits, if there are any
+			if (overflow != undefined && overflow != -1)
+				base64.push(base64map.charAt(overflow));
+
+			// Add padding
+			while (base64.length % 4 != 0) base64.push("=");
+
+			return base64.join("");
+
+		},
+
+		// Convert a base-64 string to a byte array
+		base64ToBytes: function(base64) {
+
+			// Use browser-native function if it exists
+			if (typeof atob == "function") return util.stringToBytes(atob(base64));
+
+			// Remove non-base-64 characters
+			base64 = base64.replace(/[^A-Z0-9+\/]/ig, "");
+
+			var bytes = [];
+
+			for (var i = 0; i < base64.length; i++) {
+				switch (i % 4) {
+					case 1:
+						bytes.push((base64map.indexOf(base64.charAt(i - 1)) << 2) |
+							(base64map.indexOf(base64.charAt(i)) >>> 4));
+						break;
+					case 2:
+						bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & 0xF) << 4) |
+							(base64map.indexOf(base64.charAt(i)) >>> 2));
+						break;
+					case 3:
+						bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & 0x3) << 6) |
+							(base64map.indexOf(base64.charAt(i))));
+						break;
+				}
+			}
+
+			return bytes;
+
+		}
+
+	};
+
+	Window.Crypto.HMAC = function(hasher, message, key, options) {
+
+		// Allow arbitrary length keys
+		key = key.length > hasher._blocksize * 4 ?
+			hasher(key, {
+				asBytes: true
+			}) :
+			util.stringToBytes(key);
+
+		// XOR keys with pad constants
+		var okey = key,
+			ikey = key.slice(0);
+		for (var i = 0; i < hasher._blocksize * 4; i++) {
+			okey[i] ^= 0x5C;
+			ikey[i] ^= 0x36;
+		}
+
+		var hmacbytes = hasher(util.bytesToString(okey) +
+			hasher(util.bytesToString(ikey) + message, {
+				asString: true
+			}), {
+				asBytes: true
+			});
+		return options && options.asBytes ? hmacbytes :
+			options && options.asString ? util.bytesToString(hmacbytes) :
+			util.bytesToHex(hmacbytes);
+
+	};
+	// The core
+	var SHA1 = Window.Crypto.SHA1 = function (message, options) {
+		var digestbytes = util.wordsToBytes(SHA1._sha1(message));
+		return options && options.asBytes ? digestbytes :
+		       options && options.asString ? util.bytesToString(digestbytes) :
+		       util.bytesToHex(digestbytes);
+	};
+	SHA1._sha1 = function(message) {
+
+		var m = util.stringToWords(message),
+			l = message.length * 8,
+			w = [],
+			H0 = 1732584193,
+			H1 = -271733879,
+			H2 = -1732584194,
+			H3 = 271733878,
+			H4 = -1009589776;
+
+		// Padding
+		m[l >> 5] |= 0x80 << (24 - l % 32);
+		m[((l + 64 >>> 9) << 4) + 15] = l;
+
+		for (var i = 0; i < m.length; i += 16) {
+
+			var a = H0,
+				b = H1,
+				c = H2,
+				d = H3,
+				e = H4;
+
+			for (var j = 0; j < 80; j++) {
+
+				if (j < 16) w[j] = m[i + j];
+				else {
+					var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16];
+					w[j] = (n << 1) | (n >>> 31);
+				}
+
+				var t = ((H0 << 5) | (H0 >>> 27)) + H4 + (w[j] >>> 0) + (
+					j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 :
+					j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 :
+					j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 :
+					(H1 ^ H2 ^ H3) - 899497514);
+
+				H4 = H3;
+				H3 = H2;
+				H2 = (H1 << 30) | (H1 >>> 2);
+				H1 = H0;
+				H0 = t;
+
+			}
+
+			H0 += a;
+			H1 += b;
+			H2 += c;
+			H3 += d;
+			H4 += e;
+
+		}
+
+		return [H0, H1, H2, H3, H4];
+
+	};
+
+	// Package private blocksize
+	SHA1._blocksize = 16;
+
+	// Crypto mode namespace
+	Window.Crypto.mode = {};
+	console.log("Window.Crypto")
+	console.log(Window.Crypto)
+	return Window.Crypto;
+})();

BIN
unpackage/dist/build/app-plus/hybrid/html/img/1.png


BIN
unpackage/dist/build/app-plus/hybrid/html/img/shipinrenzheng.png


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/app-plus/hybrid/html/index.js


+ 182 - 0
unpackage/dist/build/app-plus/hybrid/html/map.html

@@ -0,0 +1,182 @@
+<!doctype html>
+<html>
+	<head>
+		<meta charset="utf-8">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge">
+		<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
+		<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
+		<title>运输轨迹</title>
+		<style>
+			* {
+				margin: 0;
+				padding: 0;
+			}
+
+			html,
+			body,
+			#container {
+				height: 100%;
+				width: 100%;
+			}
+			.content{
+				background-color: white;
+				position: absolute;
+				top: 20px;
+				padding: 6px 10px;
+				border-radius: 6px;
+				width: 90%;
+				margin-left: 5%;
+				display: flex;
+				align-items: center;
+			}
+			.start,.end{
+				display: flex;
+			}
+			.distance {
+				background-color: #00000061;
+				position: absolute;
+				bottom: 20px;
+				right: 20px;
+				color: white;
+				padding: 6px 10px;
+				border-radius: 6px;
+			}
+		</style>
+	</head>
+	<body>
+		<div id="container"></div>
+		<div class='content'>
+			<div class='start'>
+				<div id='sendCity'></div>
+				<div id='sendArea'></div>
+			</div>
+			<div>-----------></div>
+			<div class='end'>
+				<div id='unloadCity'></div>
+				<div id='unloadArea'></div>
+			</div>
+		</div>
+		<div id="distance" class='distance'></div>
+		<script
+			src="https://webapi.amap.com/maps?v=2.0&key=211dd6f989e719022aaf47ddb0659c47&plugin=AMap.Scale,AMap.ToolBar,AMap.Geocoder,AMap.Geolocation,Geolocation,AMap.Driving">
+		</script>
+		<script src="https://webapi.amap.com/loca?v=2.0.0&key=211dd6f989e719022aaf47ddb0659c47"></script>
+		<script>
+		var _t = getQueryString("obj"); 
+				var obj = JSON.parse(decodeURI(_t)) ; 
+				console.log('---------------------')
+				console.log(obj)
+				document.getElementById('sendCity').innerHTML = obj.sendCity
+				document.getElementById('sendArea').innerHTML = obj.sendArea
+				document.getElementById('unloadCity').innerHTML = obj.unloadCity
+				document.getElementById('unloadArea').innerHTML = obj.unloadArea
+				
+				
+				
+				function getQueryString(name) {
+					var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+					var r = window.location.search.substr(1).match(reg);
+					if (r != null) return unescape(r[2]); return null;
+				}
+			let starLnglat = [40.243655, 122.114407]
+			console.log(starLnglat)
+			var map = new AMap.Map('container', {
+				zoom: 12,
+				center: [starLnglat[1], starLnglat[0]],
+				resizeEnable: true
+			});
+			map.clearMap();
+			var startIcon = new AMap.Icon({
+				size: new AMap.Size(25, 25),
+				image: './img/1.png',
+				imageSize: new AMap.Size(25, 25),
+			});
+			/*
+			 * 驾车策略 
+			 * AMap.DrivingPolicy.LEAST_TIME           最快捷模式
+			 * AMap.DrivingPolicy.LEAST_FEE            最经济模式
+			 * AMap.DrivingPolicy.LEAST_DISTANCE       最短距离模式
+			 * AMap.DrivingPolicy.REAL_TRAFFIC         考虑实时路况
+			 */
+			var drivingOption = {
+				policy: AMap.DrivingPolicy
+					.LEAST_TIME, // 其它policy参数请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingPolicy
+				ferry: 1, // 是否可以使用轮渡
+				map: map,
+				hideMarkers: false, // 设置隐藏路径规划的起始点图标
+				autoFitView: true
+			}
+			var dis = getDistance(122.114407, 40.243655, 122.114407, 42.243655)
+			document.getElementById("distance").innerHTML = dis
+			console.log(dis)
+			render(122.114407, 42.243655)
+
+			function getDistance(lat1, lng1, lat2, lng2) {
+				function Rad(d) {
+					return d * Math.PI / 180.0;
+				}
+				if (!lat1 || !lng1) {
+					return '';
+				}
+				// lat1用户的纬度
+				// lng1用户的经度
+				// lat2商家的纬度
+				// lng2商家的经度
+				let radLat1 = Rad(lat1);
+				let radLat2 = Rad(lat2);
+				let a = radLat1 - radLat2;
+				let b = Rad(lng1) - Rad(lng2);
+				let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) *
+					Math.pow(
+						Math.sin(b / 2), 2)));
+				s = s * 6378.137;
+				s = Math.round(s * 10000) / 10000;
+				s = '距离' + s.toFixed(2) + '公里' //保留两位小数
+				return s
+			}
+
+			function render(endLng, endLat) {
+				// 构造路线导航类
+				var driving = new AMap.Driving(drivingOption)
+				// 根据起终点经纬度规划驾车导航路线
+				driving.search(new AMap.LngLat(starLnglat[1], starLnglat[0]), new AMap.LngLat(endLng, endLat), function(status,
+					result) {
+					if (status === 'complete') {
+						console.log('绘制驾车路线完成')
+					} else {
+						console.log('获取驾车数据失败:' + result)
+					}
+				});
+				// var capitals = [{
+				// 	center: [116.42, 39.93123],
+				// }, {
+				// 	center: [116.41, 39.92132],
+				// }, {
+				// 	center: [116.40, 39.91122],
+				// }];
+				var capitals = [];
+				var facilities = [];
+				for (var i = 0; i < capitals.length; i++) {
+					var marker = new AMap.Marker({
+						position: new AMap.LngLat(capitals[i].center[0], capitals[i].center[1]),
+						offset: new AMap.Pixel(-10, -10),
+						icon: startIcon,
+					});
+					facilities.push(marker);
+				}
+				map.add(facilities);
+			}
+			// map.on('click', clickHandler)
+
+			function clickHandler(e) {
+				map.clearMap();
+				var endLng = e.lnglat.getLng();
+				var endLat = e.lnglat.getLat();
+				render(endLng, endLat)
+			}
+		</script>
+
+		<script>
+		</script>
+	</body>
+</html>

+ 37 - 0
unpackage/dist/build/app-plus/hybrid/html/play.html

@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
+		<title>视频认证</title>
+		<style>
+			body {
+				margin: 0;
+				background: #F5F6FA;
+			}
+
+			
+		</style>
+	</head>
+	<body>
+		<div id='app'>
+			<video width="320" height="240" controls id='srcSource'>
+			</video>
+		</div>
+	</body>
+	<script type="text/javascript" src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/jquery.min.js"></script>
+	<script type="text/javascript">
+		var src = getUrlParam("src")
+		function getUrlParam(name) {
+			var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
+			var r = window.location.search.substr(1).match(reg); //匹配目标参数
+			if (r != null) return unescape(r[2]);
+			return null; //返回参数值
+		}
+			console.log("src")
+		console.log(src)
+		$('#srcSource').attr("src",src)
+	</script>
+
+</html>

+ 428 - 0
unpackage/dist/build/app-plus/hybrid/html/video.html

@@ -0,0 +1,428 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
+		<title>视频认证</title>
+		<style>
+			body {
+				margin: 0;
+				background: #F5F6FA;
+			}
+
+			.content {
+				background: #F5F6FA;
+				height: 100vh;
+				position: relative;
+			}
+
+			.row {
+				display: flex;
+				justify-content: center;
+				padding-top: 50px;
+
+			}
+
+			.img-video {
+				position: relative;
+				border-radius: 280px;
+				width: 250px;
+				height: 250px;
+				overflow: hidden;
+			}
+
+			.row2 {
+				display: flex;
+				font-size: 20px;
+				justify-content: center;
+				margin-top: 20px;
+			}
+
+			.verify-btn {
+				background: #2772FB;
+				font-size: 20px;
+				padding: 10px 0;
+				width: 70%;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				border-radius: 50px;
+				color: white;
+
+			}
+
+			.btn {
+				position: absolute;
+				bottom: 0;
+				background: white;
+				width: 100%;
+				display: flex;
+				justify-content: center;
+				padding: 40px 0;
+			}
+
+			.img {
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				width: 100%;
+				width: 564px;
+				height: 564px;
+				right: 0;
+				left: 0;
+				margin: auto;
+			}
+
+			.video-content {
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				width: 100%;
+				right: 0;
+				left: 0;
+				margin: auto;
+			}
+
+			.video {
+				width: calc(100%);
+				background: #F5F6FA;
+			}
+
+			.video-btn {
+				width: 100%;
+				display: flex;
+				justify-content: center;
+			}
+			.progressBar {
+				width: 50%;
+				height: 25px;
+				display: block;
+				top: 0;
+				left: 0;
+				bottom: 0;
+				right: 0;
+				margin: auto;
+				padding: 10px 10px 10px 10px;
+				position: absolute;
+				z-index: 2001;
+				background: rgb(102, 102, 102);
+				color: white;
+				border-radius: 5px;
+			}
+			.text{
+				padding: 20px;
+			}
+		</style>
+	</head>
+	<body>
+		<div id='app'>
+			<div class='content'>
+				<!-- <div id="progressBar" class="progressBar">地图数据加载中...</div> -->
+				<div class='row'>
+					<div class='img-video'>
+						<!-- <img src="./img/shipinrenzheng.png" alt="" class='img'> -->
+						<div class="video-content">
+							<!--    人脸检测-->
+							<div class="video-cover"></div>
+							<video :src="url" ref="videoRef" autoplay playsinline x5-video-player-type="h5"
+								class="video"></video>
+						</div>
+					</div>
+				</div>
+				<!-- 	<div class='row2' v-show="!showVideo">
+					请打开摄像头 并阅读提示文字
+				</div> -->
+				<div class='row2'>
+					请将头像放于圆圈内,并阅读以下文字
+				</div>
+				<div class='row2 text'>
+					网络客服过段时间浪费多少级范德萨快逻辑范德萨拉丝机多亏了房价按时付款了金坷垃所肩负的看离开静安寺了发动机as在考虑家双方都会计分录卡死范德萨拉使肌肤抵抗力
+				</div>
+				<div class='btn'>
+					<!-- <div class="verify-btn" @click="getCamera" v-show="!showVideo">打开摄像头</div> -->
+					<div class='video-btn'>
+						<div class="verify-btn" @click="saveVideo" v-if='!isAlreadyRecord'>开始录制</div>
+						<div class="verify-btn" @click="saveVideo" v-if='isAlreadyRecord' data-action="navigateTo">结束录制
+						</div>
+						<!-- <button class="video-close" @click="closeVideo">×</button>
+						<button class="video-save" @click="saveVideo">
+							{{ isAlreadyRecord ? '结束录制(' + count + 's)' : '开始录制' }}</button> -->
+					</div>
+				</div>
+				<!-- <video ref="videob" controls="" name="media" width="100%" height="100"></video> -->
+			</div>
+
+
+		</div>
+	</body>
+	<script type="text/javascript" src="vue.min.js"></script>
+	<script type="text/javascript" src="https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/jquery.min.js"></script>
+	<script type="text/javascript" src="base64.js"></script>
+	<script type="text/javascript" src="crypto.js"></script>
+	<script type="text/javascript" src="index.js"></script>
+	<script type="text/javascript">
+		document.addEventListener('UniAppJSBridgeReady', function() {
+			uni.webView.getEnv(function(res) {
+				console.log('当前环境:' + JSON.stringify(res));
+			});
+			// 
+			new Vue({
+		 	el: '#app',
+				data: {
+					url: '',
+					// showVideo: true,
+					mediaRecorder: null,
+					MediaStreamTrack: null,
+					isAlreadyRecord: false,
+					count: 8,
+					countTimer: null,
+					recordedBlobs: [],
+					compId: ''
+				},
+				beforeDestroy() {
+					this.MediaStreamTrack && this.MediaStreamTrack.stop()
+					this.countTimer && clearTimeout(this.countTimer)
+				},
+				computed: {},
+
+				mounted() {
+					this.getCamera()
+				},
+				watch: {},
+				methods: {
+					getPolicyBase64() {
+						let date = new Date();
+						date.setHours(date.getHours() + 87600);
+						let srcT = date.toISOString();
+		 			const policyText = {
+							"expiration": srcT, //设置该Policy的失效时间,超过这个失效时间之后,就没有办法通过这个policy上传文件了 
+							"conditions": [
+								["content-length-range", 0, 100 * 1024 * 1024] // 设置上传文件的大小限制,5mb
+							]
+						};
+
+						const policyBase64 = Window.base64.encode(JSON.stringify(policyText));
+						console.log(policyBase64);
+						return policyBase64;
+					},
+					getSignature(policyBase64) {
+						const accesskey = 'FpClTp4OVrRRtHEfi3lBOWUoLxKieW';
+						// console.log('video.js')
+						// console.log(Crypto)
+						const bytes = Window.Crypto.HMAC(Window.Crypto.SHA1, policyBase64, accesskey, {
+							asBytes: true
+						})
+						const signature = Window.Crypto.util.bytesToBase64(bytes);
+						// console.log(signature);
+		 			return signature;
+					},
+					async uploadFile(file) {
+						var formdata = new FormData()
+						const policyBase64 = this.getPolicyBase64();
+						const signature = this.getSignature(policyBase64); //获取签名
+						const urlStr = "https://taohaoliang.oss-cn-beijing.aliyuncs.com/"
+						const fileName = "appData/video" + new Date().getTime() + Math.floor(Math.random() *
+							150) + '.mp4'
+						formdata.append("key", fileName)
+						formdata.append("policy", policyBase64)
+						formdata.append("OSSAccessKeyId", 'LTAI4G9c14PgKvM23WZ9zrpc')
+						formdata.append("signature", signature)
+						formdata.append("success_action_status", '200')
+						formdata.append("file", file)
+						console.log('file.name')
+						$.ajax({
+							type: "POST",
+							data: formdata,
+							contentType: false,
+							processData: false,
+							url: urlStr,
+							success: function(result) {
+		 					console.log(urlStr + fileName)
+								uni.webView.navigateTo({
+									url: '/pages/mine/company/addcompany?videoSrc=' +
+										urlStr + fileName
+								})
+
+							},
+
+							//请求失败,包含具体的错误信息
+							error: function(e) {
+								console.log(e);
+								console.log(e.status);
+								console.log(e.responseText);
+							}
+						});
+					},
+					// 调用摄像头 开始录制
+					getCamera() {
+						// 注意本例需要在HTTPS协议网站中运行,新版本Chrome中getUserMedia接口在http下不再支持。
+						let constraints = {
+		 				audio: true,
+							video: {
+								facingMode: 'user' // 优先调前置摄像头
+							}
+						}
+						console.log('--------------')
+						console.log(navigator)
+						// 老的浏览器可能根本没有实现 mediaDevices,所以我们可以先设置一个空的对象
+						if (navigator.mediaDevices === undefined) {
+							navigator.mediaDevices = {}
+						}
+						// 一些浏览器部分支持 mediaDevices。我们不能直接给对象设置 getUserMedia
+						// 因为这样可能会覆盖已有的属性。这里我们只会在没有getUserMedia属性的时候添加它。
+						if (navigator.mediaDevices.getUserMedia === undefined) {
+							navigator.mediaDevices.getUserMedia = function(constraints) {
+								// 首先,如果有getUserMedia的话,就获得它
+								//   var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia
+								var getUserMedia = navigator.getUserMedia ||
+		 						navigator.webkitGetUserMedia ||
+									navigator.mozGetUserMedia
+		 					// 一些浏览器根本没实现它 - 那么就返回一个error到promise的reject来保持一个统一的接口
+								if (!getUserMedia) {
+									this.$messageBox.alert('该浏览器不支持getUserMedia,请使用其他浏览器')
+									return Promise.reject(new Error(
+										'getUserMedia is not implemented in this browser'))
+								}
+								// 否则,为老的navigator.getUserMedia方法包裹一个Promise
+								return new Promise(function(resolve, reject) {
+									getUserMedia.call(navigator, constraints, resolve, reject)
+								})
+							}
+						}
+						navigator.mediaDevices.getUserMedia(constraints)
+							.then((stream) => {
+								this.MediaStreamTrack = typeof stream.stop === 'function' ? stream :
+									stream
+									.getTracks()[0]
+								console.log(stream)
+								console.log(this.MediaStreamTrack)
+								// 显示录制框
+								this.showVideo = true
+								this.isAlreadyRecord = false
+								let winURL = window.URL || window.webkitURL
+								if ('srcObject' in this.$refs.videoRef) {
+									this.$refs.videoRef.srcObject = stream
+								} else {
+									this.$refs.videoRef.src = winURL.createObjectURL(stream)
+								}
+								console.log(this.$refs.videoRef)
+								this.$refs.videoRef.onloadedmetadata = e => {
+									// 播放视频
+									this.$refs.videoRef.play()
+								}
+								let options = {
+									videoBitsPerSecond: 2500000
+		 					}
+								this.mediaRecorder = new MediaRecorder(stream, options)
+							})
+							.catch((err) => {
+								console.log(err)
+							console.log('摄像头开启失败,请检查摄像头是否授权或是否可用!')
+							})
+							$("#progressBar").hide();
+					},
+					// 关闭活体检测
+					closeVideo() {
+						this.recordedBlobs = ''
+						this.isAlreadyRecord = false
+						this.MediaStreamTrack && this.MediaStreamTrack.stop()
+						this.countTimer && clearTimeout(this.countTimer)
+						this.$router.go(0)
+					},
+					// 录制倒计时
+					countDown() {
+						let that = this
+						let sendTime = Math.round(+new Date() / 1000)
+		 			return function walk() {
+							that.countTimer = setTimeout(function() {
+								that.countTimer && clearTimeout(that.countTimer)
+								let diff = sendTime + 8 - Math.round(+new Date() / 1000)
+								if (diff > 0) {
+									that.count = diff
+									walk()
+								} else {
+									console.log('倒计时结束')
+									// this.showVideo = false
+									console.log(this.url)
+									console.log(this.MediaStreamTrack)
+								}
+							}, 1000)
+						}
+					},
+					dataURLtoBlob(dataurl) {
+
+						var arr = dataurl.split(","),
+
+							mime = arr[0].match(/:(.*?);/)[1],
+
+							bstr = atob(arr[1]),
+
+							n = bstr.length,
+
+							u8arr = new Uint8Array(n);
+
+						while (n--) {
+
+							u8arr[n] = bstr.charCodeAt(n);
+
+						}
+
+						return this.blobToFile(new Blob([u8arr], {
+							type: mime
+						}), {
+							type: mime
+						});
+
+					},
+					blobToFile(theBlob, type) {
+						theBlob.lastModifiedDate = new Date();
+						return new File([theBlob], `${new Date().getTime()}.mp4`, type);
+
+					},
+					// 保存录制视频
+					saveVideo() {
+						let that = this
+						if (this.isAlreadyRecord) {
+							this.countTimer && clearTimeout(this.countTimer)
+							// this.showVideo = false
+							//当录制的数据可用时
+							this.mediaRecorder.ondataavailable = (e) => {
+								if (e.data && e.data.size > 0) {
+									this.recordedBlobs.push(e.data)
+								}
+							}
+							this.mediaRecorder.stop()
+							setTimeout(() => {
+								console.log("this.recordedBlobs-------------------------")
+		 					var blob = new Blob(this.recordedBlobs, {
+									type: 'video/mp4'
+		 					})
+								this.isAlreadyRecord = false
+								this.MediaStreamTrack && this.MediaStreamTrack.stop()
+								var reader = new FileReader();
+								reader.readAsDataURL(blob)
+								reader.onload = (e) => {
+									// this.$refs.videob.src = reader.result
+									let a = this.dataURLtoBlob(reader.result)
+									console.log(a)
+									this.uploadFile(a)
+								}
+							}, 100)
+						} else {
+							this.count = 8
+							this.isAlreadyRecord = true
+							this.mediaRecorder.start(8000)
+							this.countDown()()
+						}
+					},
+					changeVideo(e) {
+		 			let file = this.$refs.videoFile.files
+						console.log(file)
+					}
+				}
+			})
+		});
+	</script>
+
+</html>

+ 0 - 0
unpackage/dist/build/app-plus/hybrid/html/video.js


Diff do ficheiro suprimidas por serem muito extensas
+ 5 - 0
unpackage/dist/build/app-plus/hybrid/html/vue.min.js


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/amap.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/close.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/selectedStart.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/sharp.png


BIN
unpackage/dist/build/app-plus/static/ITkoala-amap/start.png


BIN
unpackage/dist/build/app-plus/static/banner@2x.png


+ 221 - 0
unpackage/dist/build/app-plus/static/css/common.scss

@@ -0,0 +1,221 @@
+// 全局公共样式
+.content{
+	background:#F7F8FA;
+	// padding:$uni-spacing-row-base;
+	overflow: hidden;
+	position: relative;
+	
+}
+// 常用公共样式
+// 布局相关 start
+.flex{
+	display: flex;
+}
+.align-center{
+	align-items: center;
+}
+.inline-block{
+	display: inline-block;
+}
+.s-row{
+	display: flex;
+	flex-direction: column;
+}
+
+.flex-center{
+	justify-content: center;
+	align-items: center;
+}
+.flex-space-between{
+	justify-content: space-between;
+	align-items: center;
+}
+.flex-space-around{
+	justify-content: space-around;
+	align-items: center;
+}
+.flex-space-evenly{
+	justify-content: space-evenly;
+	align-items: center;
+}
+.flex-end{
+	    justify-content: flex-end;
+}
+.flex-start{
+	    justify-content: flex-start;
+}
+.m-top20{
+	margin-top: 20rpx;
+}
+.paddingr20{
+	padding:20rpx;
+}
+.paddingr35{
+	padding:35rpx;
+}
+.lr-paddingr20{
+	padding: 0 20rpx;
+}
+.fixed{
+	position: fixed;
+}
+.row-between{
+	display: flex;
+	justify-content: space-between;
+}
+.content-other{
+	background: white;
+	padding:10rpx 20rpx;
+	border-radius: 10rpx;
+}
+.width100{
+	width: 100%;
+}
+.mr20{
+	margin-right: 20rpx;
+}
+.ml20{
+	margin-left: 20rpx;
+}
+.msx20{
+	margin:20rpx 0;
+}
+.mt20{
+	margin-top:20rpx;
+}
+.text-align-right{
+	text-align: right;
+}
+// 布局相关 end
+
+// 边线相关start
+.border-bottom{
+	border-bottom: 1px solid #EEEEEE;
+	padding-bottom: 10rpx;
+}
+// 边线相关end
+
+
+// 颜色相关start
+.red{
+	background: red;
+}
+.yellow{
+	background:yellow;
+}
+.btn-color{
+	background: #2772FB!important;
+	color: white!important;
+}
+.h-color{
+	color: #FE6300;
+}
+.number-color{
+	color:#2772FB;
+}
+// 颜色相关end
+// 文字相关start
+.level2-title{
+font-size: 32rpx;
+font-weight: 700;
+color: #000000;
+}
+.fontsize-24{
+	font-size: 24rpx;
+}
+.fontsize-25{
+	font-size: 25rpx;
+}
+.fontsize-26{
+	font-size: 26rpx;
+}
+.fontsize-28{
+	font-size: 28rpx;
+}
+.fontsize-36{
+	font-size: 36rpx!important;
+}
+.fontsize-46{
+	font-size: 46rpx;
+}
+.gray{
+	color: #BBBBBB;
+}
+.fontweight-500{
+	font-weight: 500;
+}
+.point{
+	text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+}
+.row-left-text{
+	font-size:28rpx;
+	// color: #8F8F8F;
+}
+.row-right-text{
+	font-size:28rpx;
+}
+.ytg-color{
+	color: #0CBB6B;
+}
+.shz-color{
+	color:#FE6300;
+}
+.wtg-color{
+	color:#EF4034;
+}
+.ygq-color{
+	color: #878787;
+}
+// 文字相关end
+// 边线相关start
+.noborder{
+	border-bottom: none!important;
+}
+// 边线相关start
+
+// other
+.ssx{
+	width: 40rpx;
+	height: 40rpx;
+	background: linear-gradient(180deg, #C8D7E5 0%, #AFC1D6 100%);
+	font-size: 26rpx;
+	font-family: PingFangSC-Medium, PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+	border-radius: 50%;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	margin-right: 10rpx;
+}
+.row-tips{
+font-size: 26rpx;
+font-weight: 400;
+color: #FE7F1A;
+background: #FFEEE1;
+padding: 4rpx 11rpx;
+border-radius: 4px;
+}
+.xj-image{
+	width:46rpx;
+	height: 46rpx;
+}
+/deep/.u-modal__content__text{
+	text-align: center;
+}
+.preview-img{
+	margin-top: 20rpx;
+	width: 212rpx;
+	height: 212rpx;
+	border-radius: 10rpx;
+}
+.uview-upload{
+	margin-top: 20rpx;
+}
+.card-img{
+	width: 100%;
+	height: 440rpx;
+	
+}

+ 20 - 0
unpackage/dist/build/app-plus/static/css/font.css

@@ -0,0 +1,20 @@
+@font-face {
+	font-family: "PingFang SC";
+	src: url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/PingFang-Bold.ttf'),
+/* 		url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/PingFang-ExtraLight.ttf'),
+		url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/PingFang-Heavy.ttf'),
+		url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/PingFang-Light.ttf'), */
+		url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/PingFang-Medium.ttf'),
+		url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/PingFang-Regular.ttf');
+		font-weight: normal;
+	font-style: normal;
+}
+@font-face {
+	font-family: "DINPro";
+	src:url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/DINPro-Bold.ttf'),
+		/* url('https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/tmp/DINPro-Light.ttf'), */
+		url('https://taohaoliang.oss-accelerate.aliyuncs.com/app/tmp/DINPro-Medium.ttf');
+		font-weight: normal;
+	font-style: normal;
+}
+

BIN
unpackage/dist/build/app-plus/static/icon_delete.png


BIN
unpackage/dist/build/app-plus/static/icon_down.png


BIN
unpackage/dist/build/app-plus/static/iconfont.ttf


BIN
unpackage/dist/build/app-plus/static/images/carSource/exchange.png


BIN
unpackage/dist/build/app-plus/static/images/carSource/mescroll-empty.png


BIN
unpackage/dist/build/app-plus/static/images/carSource/yaoqing.png


BIN
unpackage/dist/build/app-plus/static/images/common/bz@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/cy@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/dingdan@2x(1).png


BIN
unpackage/dist/build/app-plus/static/images/common/dingdan@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/huoyuan@2x(1).png


BIN
unpackage/dist/build/app-plus/static/images/common/huoyuan@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/iconmy@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/jt.png


BIN
unpackage/dist/build/app-plus/static/images/common/mesicon@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/my@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/quxiao@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/sh.png


BIN
unpackage/dist/build/app-plus/static/images/common/sx.png


BIN
unpackage/dist/build/app-plus/static/images/common/tg.png


BIN
unpackage/dist/build/app-plus/static/images/common/tianjiazhaopian@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/top@2x.png


BIN
unpackage/dist/build/app-plus/static/images/common/wtg.png


BIN
unpackage/dist/build/app-plus/static/images/common/xiaoxi@2x.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/Mask@2x.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/banner@2x.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/change.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/jt.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/jx.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/jxbf.png


BIN
unpackage/dist/build/app-plus/static/images/goodSource/msgicon@2x.png


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff