chenjun 1 rok temu
rodzic
commit
62bdc34ff2
100 zmienionych plików z 2049 dodań i 1247 usunięć
  1. 23 0
      .gitignore
  2. 12 5
      App.vue
  3. 1 0
      components/header/nav.vue
  4. 127 0
      components/utils/scanCode - 副本.js
  5. 197 55
      components/utils/scanCode.js
  6. 0 151
      components/utils/validate.js
  7. 15 16
      main.js
  8. 5 19
      manifest.json
  9. BIN
      nativeplugins/Lizii-uhfmagic-sdk/android/uhfmagicrf-android-release.aar
  10. 28 0
      nativeplugins/Lizii-uhfmagic-sdk/package.json
  11. BIN
      nativeplugins/Uhf-Rfid/android/uhfrfid-android-release.aar
  12. 0 27
      nativeplugins/Uhf-Rfid/package.json
  13. 5 0
      node_modules/.package-lock.json
  14. 12 1
      package-lock.json
  15. 2 1
      package.json
  16. 51 60
      pages.json
  17. 102 82
      pages/abnormal/index.vue
  18. 371 158
      pages/flightdetails/index.vue
  19. 40 29
      pages/index/index.vue
  20. 77 15
      pages/message/message.vue
  21. 348 247
      pages/mypage/index.vue
  22. 311 176
      pages/myrecords/index.vue
  23. 250 204
      pages/sorting/index.vue
  24. 0 1
      uni_modules/uni-easyinput/components/uni-easyinput/common.js
  25. BIN
      unpackage/cache/apk/__UNI__5D0FFCC_cm.apk
  26. 1 0
      unpackage/cache/apk/apkurl
  27. 0 0
      unpackage/cache/apk/cmManifestCache.json
  28. 3 0
      unpackage/cache/certdata
  29. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-hdpi.png
  30. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-xhdpi.png
  31. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-xxhdpi.png
  32. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-xxxhdpi.png
  33. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/splash-android-hdpi.png
  34. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/splash-android-xhdpi.png
  35. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/splash-android-xxhdpi.png
  36. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappchooselocation.js
  37. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniapperror.png
  38. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappes6.js
  39. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappopenlocation.js
  40. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniapppicker.js
  41. 6 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappquill.js
  42. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappquillimageresize.js
  43. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappscan.js
  44. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappsuccess.png
  45. 25 0
      unpackage/cache/wgt/__UNI__5D0FFCC/__uniappview.html
  46. 8 0
      unpackage/cache/wgt/__UNI__5D0FFCC/app-config-service.js
  47. 1 0
      unpackage/cache/wgt/__UNI__5D0FFCC/app-config.js
  48. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/app-service.js
  49. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/app-view.js
  50. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/manifest.json
  51. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/nativeplugins/Lizii-uhfmagic-sdk/android/uhfmagicrf-android-release.aar
  52. 28 0
      unpackage/cache/wgt/__UNI__5D0FFCC/nativeplugins/Lizii-uhfmagic-sdk/package.json
  53. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/Icon@1x.png
  54. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/bagzu.png
  55. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/bei.png
  56. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/beijing.png
  57. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/bg.png
  58. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/czhb.mp3
  59. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/czsb.mp3
  60. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/gongzuo.png
  61. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/gou.png
  62. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/hang.png
  63. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/hqhb.mp3
  64. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/hqxl.mp3
  65. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_code_dark.png
  66. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_home_tabbar_check.png
  67. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_home_tabbar_default.png
  68. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_message_tabbar_check.png
  69. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_message_tabbar_default.png
  70. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_user_tabbar_check.png
  71. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_user_tabbar_default.png
  72. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ico.png
  73. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/ico@1x.png
  74. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/icos.png
  75. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/jilu.png
  76. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/kaiguan.png
  77. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/kscz.mp3
  78. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/lg 64 brs.png
  79. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/login.png
  80. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/logo.png
  81. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/mima.png
  82. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/qzcz.mp3
  83. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/radio.png
  84. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/saoma.png
  85. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/search.png
  86. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/sflx.mp3
  87. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/shi.png
  88. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/shuai.png
  89. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/vector@1x.png
  90. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/voice.mp3
  91. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/xia.png
  92. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/static/yjzc.mp3
  93. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/delete.png
  94. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/nosee.png
  95. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/search.png
  96. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/see.png
  97. BIN
      unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
  98. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/view.css
  99. 0 0
      unpackage/cache/wgt/__UNI__5D0FFCC/view.umd.min.js
  100. BIN
      unpackage/debug/android_debug.apk

+ 23 - 0
.gitignore

@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw*
+package-lock.json
+yarn.lock

+ 12 - 5
App.vue

@@ -1,5 +1,4 @@
 <script>
-	import {allScan, startScan ,stopScan,Format} from '@/components/utils/validate'
 	export default {
 		data() {
 			return {
@@ -7,9 +6,11 @@
 				poll: null,
 				filter:null,
 				pusher:null,
+				scanObj:null
 			}
 		},
 		onLaunch: function() {
+			console.log("onLaunch")
 			const users = this.$storage.getJson("users")
 			if(!users){
 				uni.reLaunch({
@@ -20,18 +21,24 @@
 				});
 			}
 			else{
+				// this.$msg.getMsg(this.$storage.get('airportName'))
 				plus.navigator.closeSplashscreen()
 			}
 		},
 		onShow: function() {
+			this.$devapi.TYPE_DEV_JQHWGEVIQUWVILBE = this.$storage.get("device")?Number(this.$storage.get("device")):0
+			this.$devapi.RFIDIntervalTime = this.$storage.get("times")?Number(this.$storage.get("times")):0
+			if(this.$storage.getJson("users")){
+				// this.$msg.getMsg(this.$storage.get('airportName'))
+			}
+			
 			console.log('App Show')
-			let arr = allScan(this.main,this.poll,this.filter)
-			startScan(arr[0],arr[1],arr[2])
 		},
 		onHide: function() {
 			console.log('App Hide')
-			// let arr = allScan(this.main,this.poll,this.filter)
-			stopScan()
+			this.$msg.stopMsg()
+			this.$devapi.RFIDStopInventory()
+			this.$devapi.ISRFIDOPEN = !this.$devapi.ISRFIDOPEN
 		}
 	}
 </script>

+ 1 - 0
components/header/nav.vue

@@ -86,6 +86,7 @@
 				this.$emit('airport',this.airportList[this.valueIndex])
 				this.$storage.set('airportName',this.airportList[this.valueIndex])
 				this.$storage.set('airport',this.valueIndex);
+				this.$msg.getMsg(this.$storage.get('airportName'))
 			},
 			test() {
 				uni.navigateTo({

+ 127 - 0
components/utils/scanCode - 副本.js

@@ -0,0 +1,127 @@
+//初始化?
+let obj1 = null
+let obj2 = null
+let uhfApi = uni.requireNativePlugin("Lizii-uhfmagic-sdk");
+let rfidStart = true
+export function allScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY, POC_KEY_DOWN_OBJ, filter, typeset) {
+	let HTML5_PLUS_REFLECT_BROADCASTRECEIVER =
+		"io.dcloud.feature.internal.reflect.BroadcastReceiver" // html5+ 创建数据监听api
+	let HTML5_PLUS_CONTENT_INTENT = "android.content.Intent" // html5+ 初始化上下文
+	let HTML5_PLUS_CONTENT_INTENTFILTER = "android.content.IntentFilter" // html5+ 暴露接口
+	let HTML5_PLUS_KEY_DOWN = "com.aoro.poc.key.down" // 按钮被按下
+	// 广播对象
+	// 扫描对象
+	let SCANOBJ = {
+		ACTION_SCAN_RESULT: "com.action.SCAN_RESULT",
+		SCAN_SERVICE: "com.action.INIT_SCAN", // 扫描权限
+		SCAN_RESULT: "com.action.SCAN_RESULT", // 扫描结果
+		SCAN_BEGIN: "com.action.START_SCAN", // 开始扫描
+		SCAN_END: "com.action.STOP_SCAN", // 关闭扫描
+	}
+	//初始化
+	let HTML5_PLUS_CONTENT_INTENT_CLASS = plus.android.importClass(HTML5_PLUS_CONTENT_INTENT);
+	HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); // HTML5_PLUS 获取 activity
+
+	// 权限
+	let intentServer = new HTML5_PLUS_CONTENT_INTENT_CLASS(SCANOBJ.SCAN_SERVICE);
+	HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intentServer);
+
+	// HTML5_PLUS 创建数据监听函数
+	POC_KEY_DOWN_OBJ = plus.android.implements(
+		HTML5_PLUS_REFLECT_BROADCASTRECEIVER, {
+			onReceive: (context, intent) => {
+				plus.android.importClass(intent);
+				// 红外扫描结果
+				if (intent.getAction() === SCANOBJ.SCAN_RESULT) {
+					let _data_ = intent.getByteArrayExtra("scanContext")
+					let codeStr = byteToString(_data_)
+					console.log(`回调数据:${codeStr}`)
+					uni.$emit('scancodemsg', {
+						msg: codeStr
+					})
+				}
+			}
+		}
+	);
+	let IntentFilter = plus.android.importClass(HTML5_PLUS_CONTENT_INTENTFILTER); // 暴露接口对象
+	filter = new IntentFilter();
+	filter.addAction(SCANOBJ.ACTION_SCAN_RESULT); // 红外 扫描结果,广播
+	filter.addAction(HTML5_PLUS_KEY_DOWN); // 按钮对按钮,广播
+	filter.addAction(SCANOBJ.SCAN_RESULT); // 红外 扫描结果,广播
+	obj1 = HTML5_PLUS_RUNTIME_MAIN_ACTIVITY
+	obj2 = POC_KEY_DOWN_OBJ
+	let arr = [HTML5_PLUS_RUNTIME_MAIN_ACTIVITY, POC_KEY_DOWN_OBJ, filter]
+	return arr
+}
+
+//开始
+export function startScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY, POC_KEY_DOWN_OBJ, filter) {
+	obj1.registerReceiver(obj2, filter);
+	console.log("开始监听扫描设备-" + obj2 + "进程")
+}
+//结束
+export function stopScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY, POC_KEY_DOWN_OBJ) {
+	obj1.unregisterReceiver(obj2);
+	console.log("结束监听扫描设备-" + obj2 + "进程")
+}
+
+//初始化RFID
+export function initRFID() {
+	//setCallback 可以多次调用 扫码结果回调
+	uhfApi.setCallback(function(res) {
+		console.log(res);
+		var event = res.event;
+		if (event == "onEpc") {
+			// res.data  epc 数组  没有信号强度
+			let arr = []
+			res.data.map(item => {
+				arr.push(byteToString(item))
+				console.log(arr)
+			})
+		}
+
+	});
+	uhfApi.init({
+		serialPortPath: "/dev/ttyWK2", //串口地址 ,不传默认为‘/dev/ttysWK2’
+		power: 26 //功率,不传默认26 取值14-26
+	});
+}
+
+//RFID开始存盘
+export function inventoryRealTime() {
+	//true 开始 false 停止
+	uhfApi.inventoryRealTime(rfidStart);
+	rfidStart = false
+},
+
+//RFID停止存盘
+export function inventoryRealTime() {
+	//true 开始 false 停止
+	uhfApi.inventoryRealTime(rfidStart);
+	rfidStart = false
+},
+
+
+export function byteToString(arr) {
+	if (typeof arr === 'string') {
+		return arr;
+	}
+	var str = '',
+		_arr = arr;
+	for (var i = 0; i < _arr.length; i++) {
+		var one = _arr[i].toString(2),
+			v = one.match(/^1+?(?=0)/);
+		if (v && one.length == 8) {
+			var bytesLength = v[0].length;
+			var store = _arr[i].toString(2).slice(7 - bytesLength);
+			for (var st = 1; st < bytesLength; st++) {
+				store += _arr[st + i].toString(2).slice(2);
+			}
+			str += String.fromCharCode(parseInt(store, 2));
+			i += bytesLength - 1;
+		} else {
+			str += String.fromCharCode(_arr[i]);
+		}
+	}
+	return str;
+}

+ 197 - 55
components/utils/scanCode.js

@@ -1,59 +1,201 @@
-//初始化
-export function initScan (){
-  let _this = this;
-  let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
-  let POC_KEY_DOWN_OBJ = null
-  let HTML5_PLUS_CONTENT_INTENTFILTER = "android.content.IntentFilter" // html5+ 暴露接口
-  let SCANOBJ = {
-		ACTION_SCAN_RESULT : "com.action.SCAN_RESULT",
-    SCAN_SERVICE: "com.action.INIT_SCAN", // 扫描权限
-    SCAN_RESULT: "com.action.SCAN_RESULT", // 扫描结果
-    SCAN_BEGIN: "com.action.START_SCAN", // 开始扫描
-    SCAN_END: "com.action.STOP_SCAN", // 关闭扫描
-  }
-  let HTML5_PLUS_KEY_DOWN = "com.aoro.poc.key.down" // 按钮被按下
-  /* #ifdef APP-PLUS */
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); //获取activity  
-  /* var context = plus.android.importClass('android.content.Context'); */
-  /* var Intent = plus.android.importClass('android.content.Intent'); */
-  POC_KEY_DOWN_OBJ = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
-      onReceive: function(context, intent) {
-          plus.android.importClass(intent);
-          /*不同的手机或pda,这个值就不一样,要具体去查硬件api*/
-          let code = intent.getStringExtra("scannerdata");
-          /* rmker.showTip('条码:'+code); */
-          /*调用本页面某方法*/
-          _this.queryCode(code);
-          console.log(intent)
-      }
-  });
-  let IntentFilter = plus.android.importClass(HTML5_PLUS_CONTENT_INTENTFILTER); // 暴露接口对象
-  let filter = new IntentFilter();
-  filter.addAction(SCANOBJ.ACTION_SCAN_RESULT); // 红外 扫描结果,广播
-  filter.addAction(HTML5_PLUS_KEY_DOWN); // 按钮对按钮,广播
-  filter.addAction(SCANOBJ.SCAN_RESULT); // 红外 扫描结果,广播
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.registerReceiver(POC_KEY_DOWN_OBJ, filter); // 注册功能
-  /* #endif */
-}
-//PDA扫描开始
-export function startScan() {
-  let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); //获取activity  
-  /* #ifdef APP-PLUS */
-  let intents = new HTML5_PLUS_CONTENT_INTENT_CLASS(SCANOBJ
-      .SCAN_BEGIN); // 红外扫描开启
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intents);
-  /* #endif */
-}
-//PDA扫描调用结束
-export function stopScan() {
-  let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); //获取activity  
-  /* #ifdef APP-PLUS */
-  main.unregisterReceiver(receiver);
-  /* #endif */
-}
+class DEVAPI {
+	// html5+ 对象
+	HTML5_PLUS_REFLECT_BROADCASTRECEIVER = "io.dcloud.feature.internal.reflect.BroadcastReceiver" // html5+ 创建数据监听api
+	HTML5_PLUS_CONTENT_INTENT = "android.content.Intent" // html5+ 初始化上下文
+	HTML5_PLUS_CONTENT_INTENTFILTER = "android.content.IntentFilter" // html5+ 暴露接口
+	HTML5_PLUS_KEY_DOWN = "com.aoro.poc.key.down" // 按钮被按下
+	HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
+
+	// 广播对象
+	POC_KEY_DOWN_OBJ = null
+
+	// 扫描对象
+	SCANOBJ = {
+		SCAN_SERVICE: "com.action.INIT_SCAN", // 扫描权限
+		SCAN_RESULT: "com.action.SCAN_RESULT", // 扫描结果
+		SCAN_BEGIN: "com.action.START_SCAN", // 开始扫描
+		SCAN_POCKEY_ENABLE: "com.action.SCAN_POCKEY_ENABLE", // 按键功能
+		SCAN_END: "com.action.STOP_SCAN", // 关闭扫描
+	}
+
+	// RFID 对象
+	RFID_SDK_WX = null
+	// 0红外扫描  1 RFID
+	TYPE_DEV_JQHWGEVIQUWVILBE = 1
+
+	// RFID 时间
+	RFIDIntervalTime = null
+
+	// RFID type 
+	ISRFIDOPEN = false
 
+	constructor() {}
+	// 监听按钮被按下--
+	initDevAPI() {
+		this.initRFID() // RFID 初始化
+		// 意图
+		let HTML5_PLUS_CONTENT_INTENT_CLASS = plus.android.importClass(this.HTML5_PLUS_CONTENT_INTENT);
+		this.HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); // HTML5_PLUS 获取 activity
+		// 权限
+		let intentServer = new HTML5_PLUS_CONTENT_INTENT_CLASS(this.SCANOBJ.SCAN_SERVICE);
+		this.HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intentServer);
+		
+		// HTML5_PLUS 创建数据监听函数
+		this.POC_KEY_DOWN_OBJ = plus.android.implements(
+			this.HTML5_PLUS_REFLECT_BROADCASTRECEIVER, {
+				onReceive: (context, intent) => {
+					// 红外扫描结果
+					if (intent.getAction() === this.SCANOBJ.SCAN_RESULT) {
+						console.log("scan====res")
+						// uni.off('scancodemsg')
+						
+						let _data_ = intent.getByteArrayExtra("scanContext")
+						let codeStr = this.byteToString(_data_)
+						console.log(`回调数据:${codeStr}`)
+						uni.$emit('scancodemsg', {
+							msg: codeStr
+						})
+					}
+					else{
+						console.log(111)
+						return
+					}
+				}
+			}
+		);
 
+		let that = this
+		plus.key.addEventListener("keyup", function(e) {
+			console.log(e.keyCode)
+			if (e.keyCode == 131 && that.TYPE_DEV_JQHWGEVIQUWVILBE === 0) {
+				console.log("按键被按下,开启红外扫描")
+				that.HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.unregisterReceiver(that.POC_KEY_DOWN_OBJ); // 注册
+				let IntentFilter = plus.android.importClass(that.HTML5_PLUS_CONTENT_INTENTFILTER); // 暴露接口对象
+				let filter = new IntentFilter();
+				filter.addAction(that.SCANOBJ.SCAN_RESULT); // 红外 扫描结果,广播
+				that.HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.registerReceiver(that.POC_KEY_DOWN_OBJ,filter); // 注册功能 
+			} else if (e.keyCode == 131 && that.TYPE_DEV_JQHWGEVIQUWVILBE === 1) {
+				console.log("按键被按下,开启RFID")
+				that.HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.unregisterReceiver(that.POC_KEY_DOWN_OBJ); // 注册
+				that.ISRFIDOPEN = !that.ISRFIDOPEN
+				if (that.ISRFIDOPEN === true) {
+					console.log("开启RFID")
+					that.RFIDStartInventory()
+				}
+				if(that.ISRFIDOPEN !== true&&that.RFIDIntervalTime==0){
+					console.log("开启RFID")
+					that.RFIDStartInventory()
+				}
+				if(that.ISRFIDOPEN !== true&&that.RFIDIntervalTime!=0){
+					console.log("关闭RFID")
+					that.RFIDStopInventory()
+				}
+			}
+			else{
+				return;
+			}
 
+		}, false);
+	}
+	// 设置扫描和RFID的开关 0扫描  1RFID
+	isRFIDAndSCAN(type) {
+		this.TYPE_DEV_JQHWGEVIQUWVILBE = type
+	}
+
+	// 初始化RFID
+	initRFID() {
+		console.log("RFID--------开始")
+		// RFID 插件对象
+		this.RFID_SDK_WX = uni.requireNativePlugin("Lizii-uhfmagic-sdk");
+		//初始化sdk,在启动的第一个页面调用一次即可
+		let that = this
+		this.RFID_SDK_WX.setCallback(function(res) {
+			console.log(res);
+			var event = res.event;
+			if (event == "onInventoryOnce") {
+				// res.data  epc 数组  没有信号强度
+				let arr = []
+				res.data.map(item => {
+					let codeStr = item.slice(6, 14)
+					console.log(codeStr)
+					codeStr = parseInt(codeStr, 16) + ""
+					uni.$emit('scancodemsg', {
+						msg: codeStr
+					})
+					console.log(`回调数据:${codeStr}`)
+				})
+			}
+			if (event == "onEpc") {
+				// res.data  epc 数组  没有信号强度
+				let arr = []
+				res.data.map(item => {
+					let codeStr = item.slice(6, 14)
+					codeStr = parseInt(codeStr, 16) + ""
+					console.log(codeStr)
+					arr.push(codeStr)
+				})
+				uni.$emit('scancodeList', {
+					msg: arr
+				})
+				console.log(`回调数据:${arr}`)
+			}
+		});
+
+		this.RFID_SDK_WX.init({
+			serialPortPath: "/dev/ttysWK2", //串口地址 ,不传默认为‘/dev/ttysWK2’
+			power: 26 //功率,不传默认26 取值14-26
+		});
+	}
+
+	// 开始存盘
+	RFIDStartInventory() {
+		if (this.RFIDIntervalTime === 0) {
+			this.RFID_SDK_WX.inventoryOnce(true);
+			// this.RFID_SDK_WX.inventoryOnce(false);
+		} else {
+			this.RFID_SDK_WX.inventoryRealTime(true);
+		}
+	}
+
+	// 停止存盘
+	RFIDStopInventory() {
+		this.RFID_SDK_WX.inventoryRealTime(false);
+	}
+
+	// 获取设备 数据列表
+	RFIDGetDATAList() {
+		if (this.RFID_SDK_WX) {
+			var tagList = this.RFID_SDK_WX.getTagList();
+			return tagList
+		}
+	}
+
+	byteToString(arr) {
+		if (typeof arr === 'string') {
+			return arr;
+		}
+		var str = '',
+			_arr = arr;
+		for (var i = 0; i < _arr.length; i++) {
+			var one = _arr[i].toString(2),
+				v = one.match(/^1+?(?=0)/);
+			if (v && one.length == 8) {
+				var bytesLength = v[0].length;
+				var store = _arr[i].toString(2).slice(7 - bytesLength);
+				for (var st = 1; st < bytesLength; st++) {
+					store += _arr[st + i].toString(2).slice(2);
+				}
+				str += String.fromCharCode(parseInt(store, 2));
+				i += bytesLength - 1;
+			} else {
+				str += String.fromCharCode(_arr[i]);
+			}
+		}
+		return str;
+	}
+
+}
 
+export {
+	DEVAPI
+}

+ 0 - 151
components/utils/validate.js

@@ -1,154 +1,3 @@
-// //初始化
-// export function init (){
-//   let HTML5_PLUS_REFLECT_BROADCASTRECEIVER = "io.dcloud.feature.internal.reflect.BroadcastReceiver" // html5+ 创建数据监听api
-//   let HTML5_PLUS_CONTENT_INTENT = "android.content.Intent" // html5+ 初始化上下文
-//   let HTML5_PLUS_CONTENT_INTENTFILTER = "android.content.IntentFilter" // html5+ 暴露接口
-//   let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
-//   let HTML5_PLUS_KEY_DOWN = "com.aoro.poc.key.down" // 按钮被按下
-//       // 广播对象
-//   let POC_KEY_DOWN_OBJ = null
-//     // 扫描对象
-//   let SCANOBJ = {
-//       ACTION_SCAN_RESULT : "com.action.SCAN_RESULT",
-//           SCAN_SERVICE: "com.action.INIT_SCAN", // 扫描权限
-//           SCAN_RESULT: "com.action.SCAN_RESULT", // 扫描结果
-//           SCAN_BEGIN: "com.action.START_SCAN", // 开始扫描
-//           SCAN_END: "com.action.STOP_SCAN", // 关闭扫描
-//       }
-//   // RFID 对象
-//   let  RFID_SDK_WX = null
-//   // 0红外扫描  1 RFID
-//   let  TYPE_DEV_JQHWGEVIQUWVILBE = 0
-//   // RFID 时间
-//   let RFIDIntervalTime = null
-//   // RFID type 
-//   let  ISRFIDOPEN = false
-//   let HTML5_PLUS_CONTENT_INTENT_CLASS = plus.android.importClass(HTML5_PLUS_CONTENT_INTENT);
-//   HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); // HTML5_PLUS 获取 activity
-
-//   // 权限
-//   let intentServer = new HTML5_PLUS_CONTENT_INTENT_CLASS(SCANOBJ.SCAN_SERVICE);
-//   HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intentServer);
-
-//   // HTML5_PLUS 创建数据监听函数
-//  POC_KEY_DOWN_OBJ = plus.android.implements(
-//       HTML5_PLUS_REFLECT_BROADCASTRECEIVER, {
-//           onReceive: (context, intent) => {
-//             plus.android.importClass(intent);
-//               // 红外扫描结果
-//             if (intent.getAction() === SCANOBJ.SCAN_RESULT) {
-//               let _data_ = intent.getByteArrayExtra("scanContext")
-//               let codeStr = byteToString(_data_)
-//               console.log(`回调数据:${codeStr}`)
-//               uni.$emit('scancodemsg', {
-//                   msg: _data_
-//               })
-//             }
-//               // // 红外扫描结果
-//               // if (intent.getAction() === SCANOBJ.SCAN_RESULT) {
-//               //     let _data_ = intent.getByteArrayExtra("scanContext")
-//               //     let codeStr = byteToString(_data_)
-//               //     // console.log(`回调数据:${codeStr}`)
-//               //     uni.$emit('scancodemsg', {
-//               //         msg: _data_
-//               //     })
-//               // }
-//               // // 按钮按下
-//               // if (intent.getAction() === HTML5_PLUS_KEY_DOWN && TYPE_DEV_JQHWGEVIQUWVILBE ===
-//               //     0) {
-//               //     // 调用扫描头
-//               //     console.log("按键被按下,开始扫描")
-//               //     let intents = new HTML5_PLUS_CONTENT_INTENT_CLASS(SCANOBJ
-//               //         .SCAN_BEGIN); // 红外扫描开启
-//               //     HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intents);
-//               // } else if (intent.getAction() === HTML5_PLUS_KEY_DOWN &&
-//               //     TYPE_DEV_JQHWGEVIQUWVILBE === 1) {
-//               //     console.log("按键被按下,开启RFID")
-//               //     ISRFIDOPEN = !ISRFIDOPEN
-//               //     if (ISRFIDOPEN === true) {
-//               //         console.log("开启RFID")
-//               //         RFIDStartInventory()
-//               //     } else {
-//               //         console.log("关闭RFID")
-//               //         RFIDStopInventory()
-//               //     }
-//               // }
-//           }
-//       }
-//   );
-//   let IntentFilter = plus.android.importClass(HTML5_PLUS_CONTENT_INTENTFILTER); // 暴露接口对象
-//   let filter = new IntentFilter();
-//   filter.addAction(SCANOBJ.ACTION_SCAN_RESULT); // 红外 扫描结果,广播
-//   filter.addAction(HTML5_PLUS_KEY_DOWN); // 按钮对按钮,广播
-//   filter.addAction(SCANOBJ.SCAN_RESULT); // 红外 扫描结果,广播
-//   HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.registerReceiver(POC_KEY_DOWN_OBJ, filter); // 注册功能
-// }
-//初始化?
-let obj1 = null
-let obj2 = null
-export function allScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY,POC_KEY_DOWN_OBJ,filter,typeset) {
-  let HTML5_PLUS_REFLECT_BROADCASTRECEIVER = "io.dcloud.feature.internal.reflect.BroadcastReceiver" // html5+ 创建数据监听api
-  let HTML5_PLUS_CONTENT_INTENT = "android.content.Intent" // html5+ 初始化上下文
-  let HTML5_PLUS_CONTENT_INTENTFILTER = "android.content.IntentFilter" // html5+ 暴露接口
-  let HTML5_PLUS_KEY_DOWN = "com.aoro.poc.key.down" // 按钮被按下
-      // 广播对象
-    // 扫描对象
-  let SCANOBJ = {
-      ACTION_SCAN_RESULT : "com.action.SCAN_RESULT",
-          SCAN_SERVICE: "com.action.INIT_SCAN", // 扫描权限
-          SCAN_RESULT: "com.action.SCAN_RESULT", // 扫描结果
-          SCAN_BEGIN: "com.action.START_SCAN", // 开始扫描
-          SCAN_END: "com.action.STOP_SCAN", // 关闭扫描
-      }
-  //初始化
-  let HTML5_PLUS_CONTENT_INTENT_CLASS = plus.android.importClass(HTML5_PLUS_CONTENT_INTENT);
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); // HTML5_PLUS 获取 activity
-
-  // 权限
-  let intentServer = new HTML5_PLUS_CONTENT_INTENT_CLASS(SCANOBJ.SCAN_SERVICE);
-  HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intentServer);
-
-  // HTML5_PLUS 创建数据监听函数
- POC_KEY_DOWN_OBJ = plus.android.implements(
-      HTML5_PLUS_REFLECT_BROADCASTRECEIVER, {
-          onReceive: (context, intent) => {
-            plus.android.importClass(intent);
-              // 红外扫描结果
-            if (intent.getAction() === SCANOBJ.SCAN_RESULT) {
-              let _data_ = intent.getByteArrayExtra("scanContext")
-              let codeStr = byteToString(_data_)
-              console.log(`回调数据:${codeStr}`)
-              uni.$emit('scancodemsg', {
-                  msg: codeStr
-              })
-            }
-          }
-      }
-  );
-  let IntentFilter = plus.android.importClass(HTML5_PLUS_CONTENT_INTENTFILTER); // 暴露接口对象
-  filter = new IntentFilter();
-  filter.addAction(SCANOBJ.ACTION_SCAN_RESULT); // 红外 扫描结果,广播
-  filter.addAction(HTML5_PLUS_KEY_DOWN); // 按钮对按钮,广播
-  filter.addAction(SCANOBJ.SCAN_RESULT); // 红外 扫描结果,广播
-  // HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.registerReceiver(POC_KEY_DOWN_OBJ, filter); // 注册功能
-  obj1 = HTML5_PLUS_RUNTIME_MAIN_ACTIVITY
-  obj2 = POC_KEY_DOWN_OBJ
-  let arr = [HTML5_PLUS_RUNTIME_MAIN_ACTIVITY,POC_KEY_DOWN_OBJ,filter]
-  return arr
-  // if (typeset === 0) {//为0时候是开始//其他为结束
-  //   startScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY,POC_KEY_DOWN_OBJ,filter)
-  // } else {
-  //   stopScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY,POC_KEY_DOWN_OBJ)
-  // }
-}
-//开始
-export function startScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY,POC_KEY_DOWN_OBJ,filter){
-  obj1.registerReceiver(obj2, filter);
-}
-//结束
-export function stopScan(HTML5_PLUS_RUNTIME_MAIN_ACTIVITY,POC_KEY_DOWN_OBJ){
-  obj1.unregisterReceiver(obj2);
-}
 export function byteToString (arr) {
   if(typeof arr === 'string') {
     return arr;

+ 15 - 16
main.js

@@ -3,33 +3,32 @@ import * as http from './utils/http' // http请求接口
 import * as utils from './utils/utils' // 工具文件
 import storage from 'utils/storage' // 缓存文件
 import config from '@/config' // 配置
-
+import MD5 from 'js-md5'
+import * as msg from './utils/msg' // 工具文件
+import _ from 'lodash'
+// import * as scanCode from '@/components/utils/scanCode'
+// ********** devapi *********
+import { DEVAPI } from "@/components/utils/scanCode"
+let devAPI = new DEVAPI()
+devAPI.initDevAPI()
 // import lodash
 Vue.prototype.$storage = storage
 Vue.prototype.$http = http
 Vue.prototype.$config = config
 Vue.prototype.$utils = utils
-import MD5 from 'js-md5'
+Vue.prototype.$msg = msg
+// Vue.prototype.$scanCode = scanCode
 Vue.prototype.$md5 = MD5
-
-
-//audio
-// Vue.prototype.$scanAudio = function(){
-// 	let muisc = null;
-// 	muisc = uni.createInnerAudioContext();
-// 	muisc.src = "../../static/voice.mp3";
-// 	muisc.play();
-// 	muisc.onEnd(() => {
-// 		muisc = null
-// 	})
-// }
-
 Vue.prototype.$scanAudio = uni.createInnerAudioContext();
+Vue.prototype.$devapi = devAPI; // 设备api
+Vue.prototype._ = _
 
 // #ifndef VUE3
 import Vue from 'vue'
 
-// ********** devapi *********
+
+
+
 App.mpType = 'app'
 const app = new Vue({
     ...App

+ 5 - 19
manifest.json

@@ -2,8 +2,8 @@
     "name" : "BRS",
     "appid" : "__UNI__5D0FFCC",
     "description" : "BRS",
-    "versionName" : "1.0.1",
-    "versionCode" : 101,
+    "versionName" : "1.0.2",
+    "versionCode" : 102,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {
@@ -103,10 +103,10 @@
             }
         },
         "nativePlugins" : {
-            "Uhf-Rfid" : {
+            "Lizii-uhfmagic-sdk" : {
                 "__plugin_info__" : {
-                    "name" : "Rfid插件",
-                    "description" : "Rfid插件",
+                    "name" : "Lizii-magic RFID 插件",
+                    "description" : "Lizii-uhfmagic RFID 插件",
                     "platforms" : "Android",
                     "url" : "",
                     "android_package_name" : "",
@@ -116,20 +116,6 @@
                     "pid" : "",
                     "parameters" : {}
                 }
-            },
-            "SmallSix-SixUniTts" : {
-                "__plugin_info__" : {
-                    "name" : "语音播报-安卓端原生插件-SixUniTts",
-                    "description" : "原生安卓端语音播报插件",
-                    "platforms" : "Android",
-                    "url" : "https://ext.dcloud.net.cn/plugin?id=7689",
-                    "android_package_name" : "uni.UNID0E0DD8",
-                    "ios_bundle_id" : "",
-                    "isCloud" : true,
-                    "bought" : 1,
-                    "pid" : "7689",
-                    "parameters" : {}
-                }
             }
         }
     },

BIN
nativeplugins/Lizii-uhfmagic-sdk/android/uhfmagicrf-android-release.aar


+ 28 - 0
nativeplugins/Lizii-uhfmagic-sdk/package.json

@@ -0,0 +1,28 @@
+{
+	"name": "Lizii-magic RFID 插件",  
+	"id": "Lizii-uhfmagic-sdk",  
+	"version": "1.0",  
+	"description": "Lizii-uhfmagic RFID 插件",  
+	"_dp_type":"nativeplugin",  
+	"_dp_nativeplugin":{ 
+		"android": {
+			"plugins": [  
+				{
+					"type": "module",  
+					"name": "Lizii-uhfmagic-sdk",
+				    "class": "cn.lizii.uhfmagicrf.UhfMagicModule"
+				}
+			],  
+			"hooksClass": "cn.lizii.uhfmagicrf.UHFMagicAppProxy",  
+			"integrateType": "aar",  
+			"dependencies": [
+			], 
+			"abis": [
+				"armeabi",
+				"armeabi-v7a",
+				"arm64-v8a"
+			],
+			"minSdkVersion": "19"
+		}
+	}
+}

BIN
nativeplugins/Uhf-Rfid/android/uhfrfid-android-release.aar


+ 0 - 27
nativeplugins/Uhf-Rfid/package.json

@@ -1,27 +0,0 @@
-{
-	"name": "Rfid插件",  
-	"id": "Uhf-Rfid",  
-	"version": "1.0",  
-	"description": "Rfid插件",  
-	"_dp_type":"nativeplugin",  
-	"_dp_nativeplugin":{ 
-		"android": {
-		  "plugins": [  
-		    {
-		      "type": "module",  
-		      "name": "Uhf-Rfid",  
-		      "class": "com.zhimi.uhfrfid.UhfRfidModule"  
-		    }
-		  ],  
-		  "hooksClass": "com.zhimi.uhfrfid.UhfRfidAppProxy",  
-		  "integrateType": "aar",  
-		  "dependencies": [
-		  ],
-		  "abis": [
-		  	"armeabi-v7a",
-			"arm64-v8a"
-		  ],
-		  "minSdkVersion": "19"
-		}
-	}
-}

+ 5 - 0
node_modules/.package-lock.json

@@ -14,6 +14,11 @@
             "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
             "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
             "dev": true
+        },
+        "node_modules/lodash": {
+            "version": "4.17.21",
+            "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
         }
     }
 }

+ 12 - 1
package-lock.json

@@ -8,7 +8,8 @@
             "name": "PDA广播模式下监听扫描组件",
             "version": "1.0.0",
             "dependencies": {
-                "image-tools": "^1.4.0"
+                "image-tools": "^1.4.0",
+                "lodash": "^4.17.21"
             },
             "devDependencies": {
                 "js-md5": "^0.7.3"
@@ -24,6 +25,11 @@
             "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
             "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
             "dev": true
+        },
+        "node_modules/lodash": {
+            "version": "4.17.21",
+            "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
         }
     },
     "dependencies": {
@@ -37,6 +43,11 @@
             "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
             "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
             "dev": true
+        },
+        "lodash": {
+            "version": "4.17.21",
+            "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
         }
     }
 }

+ 2 - 1
package.json

@@ -16,6 +16,7 @@
         "js-md5": "^0.7.3"
     },
     "dependencies": {
-        "image-tools": "^1.4.0"
+        "image-tools": "^1.4.0",
+        "lodash": "^4.17.21"
     }
 }

+ 51 - 60
pages.json

@@ -71,50 +71,41 @@
 			"style": {
 				"navigationStyle": "custom"
 			}
-		}
-		,{
+		}, {
 			"path": "pages/abnormal/index",
 			"style": {
 				"navigationStyle": "custom"
 			}
+		}, {
+			"path": "pages/baggageEntry/index",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/locationEntry/index",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/detail/index",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/message/message",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
 		}
-	    ,{
-            "path" : "pages/baggageEntry/index",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/locationEntry/index",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/detail/index",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/message/message",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-    ],
+	],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "",
@@ -122,28 +113,28 @@
 		"backgroundColor": "#F8F8F8",
 		"navigationStyle": "custom"
 	},
-	"tabBar":{
-		"color":"#7A7E83",
-		"selectedColor":"#33A1A5",
-		"borderStyle":"black",
-		"fontSize":"14px",
-		"backgroundColor":"#ffffff",
-		"list":[{
-		"pagePath":"pages/index/index",
-		"text": "首页",
-		"iconPath": "static/ic_home_tabbar_default.png",
-		"selectedIconPath": "static/ic_home_tabbar_check.png"
+	"tabBar": {
+		"color": "#7A7E83",
+		"selectedColor": "#33A1A5",
+		"borderStyle": "black",
+		"fontSize": "14px",
+		"backgroundColor": "#ffffff",
+		"list": [{
+			"pagePath": "pages/index/index",
+			"text": "首页",
+			"iconPath": "static/ic_home_tabbar_default.png",
+			"selectedIconPath": "static/ic_home_tabbar_check.png"
 		}, {
-		"pagePath":"pages/message/message",
-		"text": "消息",
-		"iconPath": "static/ic_message_tabbar_default.png",
-		"selectedIconPath": "static/ic_message_tabbar_check.png"
+			"pagePath": "pages/message/message",
+			"text": "消息",
+			"iconPath": "static/ic_message_tabbar_default.png",
+			"selectedIconPath": "static/ic_message_tabbar_check.png"
 		}, {
-		"pagePath":"pages/mypage/index",
-		"text": "我的",
-		"iconPath": "static/ic_user_tabbar_default.png",
-		"selectedIconPath": "static/ic_user_tabbar_check.png"
+			"pagePath": "pages/mypage/index",
+			"text": "我的",
+			"iconPath": "static/ic_user_tabbar_default.png",
+			"selectedIconPath": "static/ic_user_tabbar_check.png"
 		}]
-		},
+	},
 	"uniIdRouter": {}
-}
+}

+ 102 - 82
pages/abnormal/index.vue

@@ -1,13 +1,25 @@
 <template>
 	<view class="app-content">
-		<!-- <img src="../../static/beijing.png" alt="" class="tuku"> -->
 		<Navs :navname.sync="navname" @fall="fall"></Navs>
+		<img :src="icon" alt="" class="tuku">
+		<view class="scanning">
+			<view class="scanning_cds">
+				<input class="input"  v-model.trim="currentLuggageNum" disabled="true" @tap="baggageEntry" type="text"
+					placeholder-style="font-size:.8125rem;color:rgb(189, 214, 231);display:flex;justify-content: start;"
+					placeholder="请输入行李号" />
+				<view class="log_l"></view>
+				<uni-icons type="clear" size="30"  @tap="clear()" color="#fff"></uni-icons>
+			</view>
+		</view>
 		<view class="content">
 			<view class="content_bootom" style="top:0">
 				<scroll-view scroll-y="true" class="scroll-Y">
 					<view class="up" v-for="(item, index) in listdata" :key="index">
 						<view class="list"  @tap="toDetail(item.luggageNum)">
-							<p>行李编号:{{ item.luggageNum }}</p>
+							<p>{{ item.luggageNum }}</p>
+						</view>
+						<view class="normal">
+							{{item.specialType!=null?item.specialType:" "}}
 						</view>
 						<view :class="item.exception_type != null?'error':'normal'">{{item.exception_type!=null?item.exception_name:"正常"}}</view>
 					</view>
@@ -24,6 +36,7 @@
 			return {
 				isShow: true,
 				navname: '异常行李',
+				icon: 'static/beijing.png',
 				action: true,
 				listdata:[],
 				exceptionList:[
@@ -45,7 +58,8 @@
 					}
 				],
 				exceptionNameList:["非异常行李","破损","少收","多收"],
-				airport:null
+				airport:null,
+				currentLuggageNum:null
 			}
 		},
 		created(option) {},
@@ -106,14 +120,48 @@
 			toDetail(luggageNum){
 				this.currentLuggageNum = luggageNum;
 				uni.navigateTo({
-					url: "/pages/detail/index?luggageNum="+this.currentLuggageNum
+					url: "/pages/baggagecheck/index?luggageNum="+this.currentLuggageNum
+				})
+			},
+			async getluggage(n,t){
+				let data = {
+				    "serviceId": 3002,
+				    "page": 1,
+				    "pageSize": 1,
+				    "dataContent": {
+				        "luggageNum":n,//行李号
+				    },
+				    "event": "0"
+				}
+				await this.$http.httpPost('/openApi/query', data).then(res => {
+					if(res.code == "0"&&res.returnData.length>0){
+						uni.navigateTo({
+							url: "/pages/baggagecheck/index?luggageNum="+n
+						})
+					}
+					else{
+						this.$scanAudio.src = "../../static/hqxl.mp3"
+						this.$scanAudio.play()
+						uni.showToast({
+							icon:'none',
+							title: "未查询到"+this.currentLuggageNum+"行李信息",
+							duration: 5000
+						});
+					}
+				})
+			},
+			baggageEntry(){
+				uni.navigateTo({
+					url: "/pages/baggageEntry/index"
 				})
 			},
-
 			fall() {
 				uni.navigateBack({
 					delta:1
 				})
+			},
+			clear(){
+				this.currentLuggageNum = null
 			}
 		},
 	}
@@ -123,12 +171,56 @@
 	.app-content {
 		position: relative;
 		background: rgb(49, 85, 99);
-
+		>.tuku {
+			position: absolute;
+			z-index: -1;
+			width: 100%;
+			top: -250px;
+			let:20px;
+		}
+		>.scanning {
+			// height: 12rem;
+			padding: 0 1.5rem 0 1.5rem;
+			opacity: 1;
+			transition: all 3s;
+			.scanning_cds {
+				width: 100%;
+				height: 3rem;
+				opacity: 1;
+				transition: all 3s;
+				background: rgb(51, 161, 165);
+				margin-top: 1rem;
+				margin-bottom: .5rem;
+				border-radius: 4px;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				color: rgb(255, 255, 255);
+				font-family: Noto Sans SC;
+				font-size: 16px;
+		
+				>.log {
+					width: .875rem;
+					height: .875rem;
+					background: url('../../static/saoma.png') no-repeat;
+					background-size: 100% 100%;
+					margin-left: 1rem;
+				}
+		
+				>.log_l {
+					width: .125rem;
+					height: 1.3125rem;
+					margin-left: 4rem;
+					margin-right: .7rem;
+					background: rgb(255, 255, 255);
+				}
+			}
+		}
 		>.content {
 			width: 100%;
-			height: calc(100vh - 5.375rem);
+			height: calc(100vh - 7.5rem);
 			position: relative;
-
+			margin-top: 2.5rem;
 			// overflow: hidden;
 			// background: rgb(49, 85, 99);
 			>.content_top {
@@ -173,77 +265,6 @@
 						background-size: 100% 100%;
 					}
 				}
-
-				>.scanning {
-					height: 12rem;
-					padding: 0 1.5rem 0 1.5rem;
-					opacity: 1;
-					transition: all 3s;
-
-					.scanning_cd {
-						width: 100%;
-						height: 3rem;
-						opacity: 1;
-						transition: all 3s;
-						background: rgb(59, 103, 123);
-						margin-top: 1rem;
-						margin-bottom: .5rem;
-						border-radius: 4px;
-						display: flex;
-						justify-content: center;
-						align-items: center;
-						color: rgb(255, 255, 255);
-						font-family: Noto Sans SC;
-						font-size: 16px;
-
-						>.log {
-							width: .875rem;
-							height: .875rem;
-							background: url('../../static/saoma.png') no-repeat;
-							background-size: 100% 100%;
-							margin-left: 1rem;
-						}
-
-						>.log_l {
-							width: .125rem;
-							height: 1.3125rem;
-							margin-left: 4rem;
-							background: rgb(255, 255, 255);
-						}
-					}
-
-					.scanning_cds {
-						width: 100%;
-						height: 3rem;
-						opacity: 1;
-						transition: all 3s;
-						background: rgb(51, 161, 165);
-						margin-top: 1rem;
-						margin-bottom: .5rem;
-						border-radius: 4px;
-						display: flex;
-						justify-content: center;
-						align-items: center;
-						color: rgb(255, 255, 255);
-						font-family: Noto Sans SC;
-						font-size: 16px;
-
-						>.log {
-							width: .875rem;
-							height: .875rem;
-							background: url('../../static/saoma.png') no-repeat;
-							background-size: 100% 100%;
-							margin-left: 1rem;
-						}
-
-						>.log_l {
-							width: .125rem;
-							height: 1.3125rem;
-							margin-left: 4rem;
-							background: rgb(255, 255, 255);
-						}
-					}
-				}
 			}
 
 			>.content_bootom {
@@ -283,16 +304,15 @@
 						color:#4682b4 
 					}
 					>.list {
-						width: 70%;
 						position: relative;
-						height: 3.75rem;
+						height: 3rem;
 						display: flex;
 						align-items: center;
 						transform: all 3s;
 						right: 0;
 						color: rgb(0, 0, 0);
 						font-family: Noto Sans SC;
-						font-size: 13px;
+						font-size: 16px;
 						font-weight: 500;
 					}
 				

+ 371 - 158
pages/flightdetails/index.vue

@@ -1,212 +1,425 @@
 <template>
 	<view class="app-content">
 		<img :src="icon" alt="" class="tuku">
-    <Nav :navname.sync="navname" :navtype="true" @fall="fall"></Nav>
-    <view class="fight">
-      <view class="fight_card">
-        <p>CTU</p>
-        <span>12:00:00 </span>
-      </view>
-      <view class="fight_card">
-        <p>HU7412</p>
-        <span>2023-02-17</span>
-      </view>
-      <view class="fight_card">
-        <p>CSX</p>
-        <span>14:23:00 </span>
-      </view>
-    </view>
-		<view class="times"><p>{{ newData }}</p>{{ newDataday }}</view>
-		<view class="content">
-      <view class="card">
-				<p>分拣</p>
-				<span>已完成件数</span>
-				<span>50件</span>
-			</view>
-			<view class="card">
-				<p>装车</p>
-				<span>已完成件数</span>
-				<span>50件</span>
-			</view>
-			<view class="card">
-				<p>装机</p>
-				<span>已完成件数</span>
-				<span>50件</span>
-			</view>
-			<view class="card">
-				<p>卸机</p>
-				<span>已完成件数</span>
-				<span>50件</span>
+		<Navs :navname.sync="navname" @fall="fall"></Navs>
+		<view class="fight">
+			<view class="fight_card">
+				<p>{{flightDetail.carrierFlights}}</p>
+				<span>{{flightDetail.carrierFlightsDate}}</span>
 			</view>
-			<view class="card">
-				<p>到达</p>
-				<span>已完成件数</span>
-				<span>50件</span>
+			<view class="fight_card">
+				<p>{{flightDetail.outAirport}}</p>
+				<span>{{flightDetail.scheduleTakeOffTime?flightDetail.scheduleTakeOffTime:"-"}}</span>
 			</view>
-			<view class="card">
-				<p>提取</p>
-				<span>已完成件数</span>
-				<span>50件</span>
+			<view class="fight_center">
+				<view class="type">
+					{{flightDetail.normalState}}
+				</view>
+				<view class="aircraft"></view>
 			</view>
-			<view class="card">
-				<p>异常登记</p>
-				<span>已完成件数</span>
-				<span>50件</span>
+			<view class="fight_card">
+				<p>{{flightDetail.landAirport}}</p>
+				<span>{{flightDetail.scheduleLandInTime?flightDetail.scheduleLandInTime:"-"}}</span>
 			</view>
-			<view class="card_no">
+		</view>
+		<view class="content">
+			<view class="content_bootom" style="top:0">
+				<scroll-view scroll-y="true" class="scroll-Y">
+					<view class="up" v-for="(item, index) in listdata" :key="index">
+						<view class="list" @tap="toDetail(item.luggageNum)">
+							<p>{{ item.luggageNum }}</p>
+						</view>
+						<view class="normal">
+							{{item.specialType!=null?item.specialType:" "}}
+						</view>
+						<view :class="item.exception_type != null?'error':'normal'">
+							{{item.exception_type!=null?item.exception_type:"正常"}}
+						</view>
+					</view>
+				</scroll-view>
 			</view>
 		</view>
 	</view>
 </template>
 <script>
-	import Nav from '../../components/header/nav.vue'
-	import {allScan, startScan ,stopScan,Format} from '@/components/utils/validate'
+	import Navs from '../../components/header/navs.vue'
+	import {
+		Format
+	} from '@/components/utils/validate'
 	export default {
 		data() {
 			return {
+				flightDetail: null,
 				input: '',
 				main: null,
 				poll: null,
-				filter:null,
-				pusher:null,
-				intentServer:null,
+				filter: null,
+				pusher: null,
+				intentServer: null,
 				timeShow: true,
 				arr: [],
-				navname: '首页',
+				navname: '航班详情',
 				icon: 'static/beijing.png',
 				newData: '',
-				newDataday: ''
+				newDataday: '',
+				listdata:[]
 			}
 		},
 		created(option) {
-			this.arr = allScan(this.main,this.poll,this.filter)
-			startScan(this.arr[0],this.arr[1],this.arr[2])
-		},
-		onLoad(){
 		},
-		onUnload() {
+		onLoad() {
+			this.flightDetail = this.$storage.getJson('searchData')
+			this.getluggageList()
 		},
+		onUnload() {uni.$off("scancodemsg");},
 		onShow() {
+			uni.$on("scancodemsg", (data) => {
+				if (data.msg.length > 9) {
+					uni.navigateTo({
+						url: "/pages/detail/index?luggageNum=" + data.msg
+					})
+				}
+			});
+			if(this.flightDetail){
+				this.getluggageList()
+			}
 		},
 		mounted() {
-			this.datatime()
 		},
 		beforeDestroy() {
-			console.log(this.arr[0],this.arr[1])
 		},
-	components: {
-		Nav
-	},
+		components: {
+			Navs
+		},
 		methods: {
-      fall () {
-        uni.redirectTo({
-					url: "/pages/search/index"
+			fall() {
+				uni.navigateBack({
+					delta:1
+				})
+			},
+			async getluggageList() {
+				let data = {
+					"serviceId": 3001,
+					"page": 1,
+					"pageSize": 999,
+					"dataContent": {
+						"carrierFlights": this.flightDetail.carrierFlights,
+						"carrierFlightsDate": this.flightDetail.carrierFlightsDate,
+						"outAirport":this.flightDetail.outAirport,
+						"landAirport":this.flightDetail.landAirport
+					},
+					"event": "0"
+				}
+				await this.$http.httpPost('/openApi/query', data).then(res => {
+					if (res.code == "0") {
+						this.listdata = res.returnData;
+					}
+
 				})
-      },
-			datatime () {
-				this.newDataday = Format("yyyy/MM/dd", new Date());
-				setInterval(() => {
-					this.newData = Format("hh:mm", new Date());
-				}, 1000);
 			},
-			clickOrder (data) {
+			toDetail(luggageNum){
+				this.currentLuggageNum = luggageNum;
 				uni.navigateTo({
-					url: "/pages/sorting/index?item=" + encodeURIComponent(JSON.stringify(data))
+					url: "/pages/detail/index?luggageNum="+this.currentLuggageNum
 				})
-				// uni.navigateTo({
-				// 	url: "/pages/myrecords/index"
-				// })
-			}
+			},
 		},
 	}
 </script>
- 
+
 <style lang="scss" scoped>
-.app-content{
-	position: relative;
-	>.tuku{
-		position: absolute;
-		z-index: -1;
-		width: 100%;
-		top: 0;
-	}
-  >.fight{
-    padding: 0 3.75rem 0 3.75rem;
-    // height: 3.75rem;
-    display: flex;
-    align-items: center;
-    justify-content: space-around;
-    margin-top: 1.375rem;
-    >.fight_card{
-      display: flex;
-      flex-direction: column;
-      align-items: start;
-      justify-content: center;
-      >p{
-        color: rgb(255, 255, 255);
-        font-family: Noto Sans SC;
-        font-size: 16px;
-        font-weight: 700;
-      }
-      >span{
-        color: rgb(255, 255, 255);
-        font-family: Noto Sans SC;
-        font-size: 11px;
-        font-weight: 500;
-      }
-    }
-  }
-	>.times{
-		width: 100%;
-    height: 3.6875rem;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		color: rgb(255, 255, 255);
-		font-family: Noto Sans SC;
-		font-size: 18px;
-		font-weight: 700;
-		p{
-			margin-right: .625rem;
+	.app-content {
+		position: relative;
+		width: 100vw;
+		height: 100vh;
+		overflow: hidden;
+		>.tuku {
+			position: absolute;
+			z-index: -1;
+			width: 100%;
+			top: -250px;
+			let:20px;
 		}
-	}
-	.content{
-		padding: 0 1.5rem 0 1.5rem;
-		display: flex;
-		justify-content: space-around;
-		flex-wrap: wrap;
-		.card{
-			width: 7.5rem;
-			height: 7.5rem;
-			/* 卡片渐变 */
-			background: linear-gradient(188.06deg, rgba(65.49,109.04,128.64,1.00) 3.551%,rgba(38,68.32,81.96,1.00) 110.878%);
-			box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
-			border-radius: 4px;
-			margin-bottom: 2.25rem;
+
+		>.fight {
+			padding: 0 1.75rem 5rem 1.75rem;
+			// height: 3.75rem;
 			display: flex;
-			flex-direction: column;
-			justify-content: center;
 			align-items: center;
-			>p{
+			justify-content: space-around;
+			margin-top: 1.375rem;
+			
+			.fight_center {
+				width: 3rem;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				justify-content: center;
 				color: rgb(255, 255, 255);
 				font-family: Noto Sans SC;
-				font-size: 18px;
+				font-size: 16px;
+				line-height: 24px;
 				font-weight: 700;
-				margin-bottom: .375rem;
-				line-height: 1.6875rem;
+
+				>.aircraft {
+					width: 1.75rem;
+					height: 1.75rem;
+					background: url('../../static/hang.png') no-repeat;
+					background-size: 100% 100%;
+				}
 			}
-			>span{
-				color: rgb(255, 255, 255);
-				font-family: Noto Sans SC;
-				font-size: 13px;
-				font-weight: 500;
-				line-height: 1.1875rem;
+
+			>.fight_card {
+				display: flex;
+				flex-direction: column;
+				align-items: start;
+				justify-content: center;
+
+				>p {
+					color: rgb(255, 255, 255);
+					font-family: Noto Sans SC;
+					font-size: 16px;
+					line-height: 24px;
+					font-weight: 700;
+				}
+
+				>span {
+					color: rgb(255, 255, 255);
+					font-family: Noto Sans SC;
+					font-size: 11px;
+					font-weight: 500;
+				}
+			}
+		}
+
+		>.times {
+			width: 100%;
+			height: 3.6875rem;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			color: rgb(255, 255, 255);
+			font-family: Noto Sans SC;
+			font-size: 18px;
+			font-weight: 700;
+
+			p {
+				margin-right: .625rem;
 			}
 		}
-		.card_no{
-			width: 7.5rem;
-			height: 7.5rem;
+
+		.content {
+			width: 100%;
+			height: calc(100vh - 10rem);
+			position: relative;
+			
+			// overflow: hidden;
+			// background: rgb(49, 85, 99);
+			>.content_top {
+				width: 100%;
+				// background: rgb(49, 85, 99);
+				padding-bottom: 1.3125rem;
+
+				>.craid {
+					// width: 100%;
+					height: 5.625rem;
+					padding: 0 2.5625rem 0 2.5625rem;
+					display: flex;
+					justify-content: space-between;
+					flex-wrap: wrap;
+					align-items: center;
+
+					>.craid_data {
+						display: flex;
+						flex-direction: column;
+						justify-content: center;
+						align-items: start;
+
+						>p {
+							color: rgb(255, 255, 255);
+							font-family: Noto Sans SC;
+							font-size: 18px;
+							font-weight: 700;
+						}
+
+						>span {
+							color: rgb(255, 255, 255);
+							font-family: Noto Sans SC;
+							font-size: 13px;
+							font-weight: 500;
+						}
+					}
+
+					>.aircraft {
+						width: 1.75rem;
+						height: 1.75rem;
+						background: url('../../static/hang.png') no-repeat;
+						background-size: 100% 100%;
+					}
+				}
+
+				>.scanning {
+					height: 12rem;
+					padding: 0 1.5rem 0 1.5rem;
+					opacity: 1;
+					transition: all 3s;
+
+					.scanning_cd {
+						width: 100%;
+						height: 3rem;
+						opacity: 1;
+						transition: all 3s;
+						background: rgb(59, 103, 123);
+						margin-top: 1rem;
+						margin-bottom: .5rem;
+						border-radius: 4px;
+						display: flex;
+						justify-content: center;
+						align-items: center;
+						color: rgb(255, 255, 255);
+						font-family: Noto Sans SC;
+						font-size: 16px;
+
+						>.log {
+							width: .875rem;
+							height: .875rem;
+							background: url('../../static/saoma.png') no-repeat;
+							background-size: 100% 100%;
+							margin-left: 1rem;
+						}
+
+						>.log_l {
+							width: .125rem;
+							height: 1.3125rem;
+							margin-left: 4rem;
+							background: rgb(255, 255, 255);
+						}
+					}
+
+					.scanning_cds {
+						width: 100%;
+						height: 3rem;
+						opacity: 1;
+						transition: all 3s;
+						background: rgb(51, 161, 165);
+						margin-top: 1rem;
+						margin-bottom: .5rem;
+						border-radius: 4px;
+						display: flex;
+						justify-content: center;
+						align-items: center;
+						color: rgb(255, 255, 255);
+						font-family: Noto Sans SC;
+						font-size: 16px;
+
+						>.log {
+							width: .875rem;
+							height: .875rem;
+							background: url('../../static/saoma.png') no-repeat;
+							background-size: 100% 100%;
+							margin-left: 1rem;
+						}
+
+						>.log_l {
+							width: .125rem;
+							height: 1.3125rem;
+							margin-left: 4rem;
+							background: rgb(255, 255, 255);
+						}
+					}
+				}
+			}
+
+			>.content_bootom {
+				width: 100%;
+				// height: calc(100vh - 20.9375rem - 4.375rem);
+				padding-bottom: 0;
+				position: absolute;
+				bottom: 0;
+				top: 20.75rem;
+				// border-radius: 6px 6px 0px 0px;
+				overflow: hidden;
+				background: rgb(255, 255, 255);
+				padding: 0 10px;
+				box-sizing: border-box;
+				.up {
+					width: 100%;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-left: 1rem;
+					border-bottom: 1px solid rgb(238, 238, 238);
+				
+					// transform: all 3s;
+					>.down_up {
+						width: .875rem;
+						height: .875rem;
+						background: url('../../static/xia.png') no-repeat;
+						background-size: 100% 100%;
+					}
+					
+					>.error{
+						width: 60px;
+						color:red
+					}
+					>.normal{
+						width: 60px;
+						color:#4682b4 
+					}
+					>.list {
+						position: relative;
+						height: 3rem;
+						display: flex;
+						align-items: center;
+						transform: all 3s;
+						right: 0;
+						color: rgb(0, 0, 0);
+						font-family: Noto Sans SC;
+						font-size: 16px;
+						font-weight: 500;
+					}
+				
+					>.delete {
+						width: 3.75rem;
+						height: 3.75rem;
+						background: rgb(237, 101, 101);
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						position: relative;
+						right: -3.75rem;
+						transform: all 3s;
+				
+						>.log {
+							width: .875rem;
+							height: .875rem;
+							background: url('../../static/vector@1x.png') no-repeat;
+							background-size: 100% 100%;
+						}
+					}
+				}
+				
+				.scroll-Y {
+					// height: calc(100% - 2.5rem - 2.75rem - 2.25rem - 2.25rem);
+					height: calc(100% - 2.5rem - 2.75rem);
+				}
+
+				.but {
+					width: 20.5625rem;
+					height: 2.5rem;
+					background: linear-gradient(179.10deg, rgba(51, 161, 165, 1.00) 11.326%, rgba(59, 111, 142, 1.00) 119.032%, rgba(59, 111, 142, 1.00) 119.032%, rgba(59, 111, 142, 1.00) 119.032%);
+					border-radius: .25rem;
+					color: rgb(255, 255, 255);
+					font-family: Noto Sans SC;
+					font-size: 1rem;
+					margin: 0 auto;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					margin-top: 0.25rem;
+					margin-bottom: 2.25rem;
+				}
+			}
 		}
 	}
-}
 </style>

+ 40 - 29
pages/index/index.vue

@@ -1,8 +1,8 @@
 <template>
 	<view class="app-content">
 		<img :src="icon" alt="" class="tuku">
-		<Nav :navname.sync="navname" :navtype="false" :index="index" @clear="clear" :flightNo = "searchFlightNo"></Nav>
-		<view class="fight" v-if="flightDetail">
+		<Nav :navname.sync="navname" :navtype="false" :index="index" @clear="clear" :flightNo="searchFlightNo"></Nav>
+		<view class="fight" v-if="flightDetail" @tap="toFlight()">
 			<view class="fight_card">
 				<p>{{flightDetail.carrierFlights}}</p>
 				<span>{{flightDetail.carrierFlightsDate}}</span>
@@ -60,13 +60,13 @@
 	export default {
 		data() {
 			return {
-				APP_SORT:false,
-				APP_LOAD:false,
-				APP_INFL:false,
-				APP_UNLOAD:false,
-				APP_ARRIVED:false,
-				APP_EXTRACT:false,
-				APP_Abnormal:false,
+				APP_SORT: false,
+				APP_LOAD: false,
+				APP_INFL: false,
+				APP_UNLOAD: false,
+				APP_ARRIVED: false,
+				APP_EXTRACT: false,
+				APP_Abnormal: false,
 				input: '',
 				main: null,
 				poll: null,
@@ -82,15 +82,17 @@
 				index: 0,
 				flightDetail: null,
 				flightNO: null,
-				airportName:null,
-				flightDate:null,
-				searchFlightNo:""
+				airportName: null,
+				flightDate: null,
+				outAirport :null,
+				landAirport :null,
+				searchFlightNo: ""
 			}
 		},
 		created(option) {
 			let authList = this.$storage.getJson('authList');
 			authList.map(item => {
-				switch (item.auth_ident){
+				switch (item.auth_ident) {
 					case "APP_SORT":
 						this.APP_SORT = true;
 						break;
@@ -116,17 +118,18 @@
 						break;
 				}
 			})
-			
+
 		},
-		onLoad(option) {
+		onLoad(option) {},
+		onUnload() {
+			uni.$off("scancodemsg");
 		},
-		onUnload() {uni.$off("scancodemsg");},
 		onShow() {
 			uni.$on("scancodemsg", (data) => {
+				console.log(data.msg)
 				if (data.msg.length > 9) {
 					uni.navigateTo({
 						url: "/pages/detail/index?luggageNum=" + data.msg
-						// url: "/pages/detail/index?luggageNum=3999483183"
 					})
 				}
 			});
@@ -141,6 +144,8 @@
 				this.flightNO = this.flightDetail.carrierFlights
 				this.searchFlightNo = this.flightDetail.carrierFlights
 				this.flightDate = this.flightDetail.carrierFlightsDate
+				this.outAirport = this.flightDetail.outAirport
+				this.landAirport = this.flightDetail.landAirport
 				// this.getFlightData()
 			}
 		},
@@ -157,8 +162,13 @@
 			Nav
 		},
 		methods: {
-			clear(){
-				this.$storage.remove('searchData') 
+			toFlight() {
+				uni.navigateTo({
+					url: "/pages/flightdetails/index"
+				})
+			},
+			clear() {
+				this.$storage.remove('searchData')
 				this.flightDetail = null
 				this.flightNO = null
 				this.searchFlightNo = ""
@@ -171,22 +181,20 @@
 				}, 1000);
 			},
 			clickOrder(data) {
-				if(data == "extract"){//提取
+				if (data == "extract") { //提取
 					uni.navigateTo({
 						url: "/pages/extract/index"
 					})
-				}
-				else if(data == "abnormal"){//异常行李
+				} else if (data == "abnormal") { //异常行李
 					uni.navigateTo({
-						url: "/pages/abnormal/index?airport="+this.airportName
+						url: "/pages/abnormal/index?airport=" + this.airportName
 					})
-				}
-				else{
+				} else {
 					uni.navigateTo({
-						url: "/pages/sorting/index?item=" + data +"&flightNO="+this.flightNO+"&date="+this.flightDate
+						url: "/pages/sorting/index?item=" + data + "&flightNO=" + this.flightNO + "&date="+this.flightDate+ "&outAirport="+this.outAirport+ "&landAirport="+this.landAirport 
 					})
 				}
-				
+
 			}
 		},
 	}
@@ -210,7 +218,8 @@
 			align-items: center;
 			justify-content: space-around;
 			margin-top: 1.375rem;
-			.fight_center{
+
+			.fight_center {
 				width: 3rem;
 				display: flex;
 				flex-direction: column;
@@ -221,6 +230,7 @@
 				font-size: 16px;
 				line-height: 24px;
 				font-weight: 700;
+
 				>.aircraft {
 					width: 1.75rem;
 					height: 1.75rem;
@@ -228,7 +238,7 @@
 					background-size: 100% 100%;
 				}
 			}
-			
+
 			>.fight_card {
 				display: flex;
 				flex-direction: column;
@@ -263,6 +273,7 @@
 			font-size: 18px;
 			font-weight: 700;
 			margin-top: 10px;
+
 			p {
 				margin-right: .625rem;
 			}

+ 77 - 15
pages/message/message.vue

@@ -1,10 +1,13 @@
 <template>
 	<view class="app-content">
 		<view class="title-box">{{navname}}</view>
-		<uni-list :border="true" class="messageList">
-			<uni-list-chat title="app" avatar="static/shuai.png" note="您收到一条新的消息" time="2020-02-02 20:20" ></uni-list-chat>
-			<uni-list-chat title="app" avatar="static/shuai.png" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="dot"></uni-list-chat>
-		</uni-list>
+
+		<uni-section title="消息列表" type="line" class="box">
+			<uni-list class="messageList">
+				<uni-list-item v-for="(item, index) in msgList" :key="index" :title="item.msg" />
+			</uni-list>
+		</uni-section>
+
 	</view>
 </template>
 
@@ -12,10 +15,17 @@
 	export default {
 		data() {
 			return {
-				navname:"消息"
+				navname: "消息",
+				msgList: [],
+				msgSJ: null
 			}
 		},
 		onShow() {
+			let that = this;
+			this.$msg.stopMsg()
+			uni.removeTabBarBadge({
+				index: 1
+			})
 			uni.$on("scancodemsg", (data) => {
 				if (data.msg.length > 9) {
 					uni.navigateTo({
@@ -23,20 +33,64 @@
 					})
 				}
 			});
+			this.msgSJ = setInterval(function() {
+				that.getMsg()
+			}, 3000)
 		},
-		onLoad(){
-		},
+		onLoad() {},
 		onUnload() {
+			this.$msg.getMsg()
+			clearInterval(this.msgSJ)
 			uni.$off("scancodemsg");
 		},
 		onHide() {
 			uni.$off("scancodemsg");
+			clearInterval(this.msgSJ)
 		},
 		methods: {
-			scan(){
+			getMsg() {
+				let airPort = "CAN"
+				if (this.$storage.get("airportName")) {
+					airPort = this.$storage.get("airportName")
+				}
+				let data = {
+					"serviceId": 3021,
+					"page": 1,
+					"pageSize": 9999,
+					"dataContent": [{
+						"outAirport": airPort
+					}]
+				}
+
+				this.$http.httpPost('/openApi/query', data).then(res => {
+					if (res.code == "0") {
+						this.$storage.setJson('msgList', res.returnData)
+						this.msgList = res.returnData
+						this.msgList.map(item => {
+							if (item.abnormalState == "DLY") {
+								// 2023-07-06,航班(MU2948,CAN-->CZX),发生(延误或者取消)
+								item['msg'] = item.carrierFlightsDate + ",航班:" + item.carrierFlights +
+									"(" + item.outAirport + "-" + item.landAirport + "),延误"
+							}
+							if (item.abnormalState == "CAN") {
+								// 2023-07-06,航班(MU2948,CAN-->CZX),发生(延误或者取消)
+								item['msg'] = item.carrierFlightsDate + ",航班:" + item.carrierFlights +
+									"(" + item.outAirport + "-" + item.landAirport + "),取消"
+							}
+						})
+					} else {
+						uni.showToast({
+							icon: 'none',
+							title: "查询信息失败",
+							duration: 5000
+						});
+					}
+				})
+			},
+			scan() {
 				uni.scanCode({
 					onlyFromCamera: true,
-					success: function (res) {
+					success: function(res) {
 						if (res.result.length > 9) {
 							uni.navigateTo({
 								url: "/pages/detail/index?luggageNum=" + res.result
@@ -50,13 +104,14 @@
 </script>
 
 <style lang="scss" scoped>
-.app-content {
+	.app-content {
 		position: relative;
 		background: rgb(49, 85, 99);
 		padding-top: 3.6rem;
 		box-sizing: border-box;
 		height: 100vh;
-		>.title-box{
+
+		>.title-box {
 			width: 100%;
 			height: 2.375rem;
 			display: flex;
@@ -71,11 +126,18 @@
 			left: 0;
 			z-index: 1000;
 		}
-		>.messageList{
+		>.box{
 			width: 100%;
-			height: 100%;
+			height:calc(100vh - 3rem);
 			overflow-x: hidden;
 			overflow-y: auto;
+			// >.messageList {
+			// 	width: 100%;
+			// 	height:calc(100% - 1rem);
+			// 	overflow-x: hidden;
+			// 	overflow-y: auto;
+			// }
 		}
-}
-</style>
+		
+	}
+</style>

+ 348 - 247
pages/mypage/index.vue

@@ -1,39 +1,43 @@
 <template>
-  <view class="app-content">
+	<view class="app-content">
 		<img src="static/beijing.png" alt="" class="tuku">
 		<!-- <Nav :navname.sync="navname" :navtype="false" :navtypes="true" :index="index"></Nav> -->
-    <view class="cont" style="margin-top: 3rem;">
-			<view class="photograph"  @tap="upindiv">
+		<view class="cont" style="margin-top: 3rem;">
+			<view class="photograph" @tap="upindiv">
 				<img src="static/shuai.png" alt="">
 			</view>
 			<view class="details">
-				<p>{{$storage.getJson("users").user_name}}</p>
-				<span>工号:{{$storage.getJson("users").user_id}}</span>
+				<p>{{$storage.getJson("users").user_name?$storage.getJson("users").user_name:""}}</p>
+				<span>工号:{{$storage.getJson("users").user_id?$storage.getJson("users").user_id:""}}</span>
 			</view>
 			<view class="detail_list">
-				<view class="list_child">
-          <p>分拣</p>
-					<span>200</span>
+				<view class="list_child" @tap="recup('SORT')">
+					<p>分拣</p>
+					<span>{{SORTCount}}</span>
 				</view>
-				<view class="list_child">
-          <p>装车</p>
-					<span>200</span>
+				<view class="list_child" @tap="recup('LOAD')">
+					<p>装车</p>
+					<span>{{LOADCount}}</span>
 				</view>
-				<view class="list_child">
-          <p>上机</p>
-					<span>200</span>
+				<view class="list_child" @tap="recup('INFL')">
+					<p>装机</p>
+					<span>{{INFLCount}}</span>
 				</view>
-				<view class="list_child">
-          <p>卸机</p>
-					<span>200</span>
+				<view class="list_child" @tap="recup('UNLOAD')">
+					<p>卸机</p>
+					<span>{{UNLOADCount}}</span>
 				</view>
-				<view class="list_child">
-          <p>卸车</p>
-					<span>200</span>
+				<view class="list_child" @tap="recup('ARRIVED')">
+					<p>到达</p>
+					<span>{{ARRIVEDCount}}</span>
+				</view>
+				<view class="list_child" @tap="recup('extract')">
+					<p>提取</p>
+					<span>{{extractCount}}</span>
 				</view>
 			</view>
 			<view class="detail_type">
-				<view class="list_child" @tap="recup">
+				<view class="list_child" @tap="recup()">
 					<view class="log bg1"></view>
 					<p>我的记录</p>
 				</view>
@@ -52,40 +56,40 @@
 			</view>
 		</view>
 		<z-popup v-model="all">
-				<view class="popup_title">
-					<p>请选择扫码开关</p>
-				</view>
-				<view class="popup_content">
-					<ul>
-						<li v-for="(item, index) in list" :key="index" @tap="()=>selectup(index)">
-							<p>{{item.name}}</p>
-							<view class="start" v-if="action === index ? true: false">
-								<img src="static/gou.png" alt="">
-							</view>
-						</li>
-					</ul>
-					<view class="top"></view>
-					<view class="cancel" @tap="()=>topup()">取消</view>
-				</view>
-	</z-popup>
-	<z-popup v-model="allshow">
-				<view class="popup_title">
-					<p>请选择工作方式</p>
-				</view>
-				<view class="popup_content">
-					<ul>
-						<li v-for="(item, index) in lists" :key="index" @tap="()=>selectup(index)">
-							<p>{{item.name}}</p>
-							<view class="start" v-if="action === index ? true: false">
-								<img src="static/gou.png" alt="">
-							</view>
-						</li>
-					</ul>
-					<view class="top"></view>
-					<view class="cancel" @tap="()=>topup()">取消</view>
-				</view>
-	</z-popup>
-  </view>
+			<view class="popup_title">
+				<p>请选择扫码开关</p>
+			</view>
+			<view class="popup_content">
+				<ul>
+					<li v-for="(item, index) in list" :key="index" @tap="()=>selectup(index)">
+						<p>{{item.name}}</p>
+						<view class="start" v-if="action === index ? true: false">
+							<img src="static/gou.png" alt="">
+						</view>
+					</li>
+				</ul>
+				<view class="top"></view>
+				<view class="cancel" @tap="()=>topup()">取消</view>
+			</view>
+		</z-popup>
+		<z-popup v-model="allshow">
+			<view class="popup_title">
+				<p>请选择工作方式</p>
+			</view>
+			<view class="popup_content">
+				<ul>
+					<li v-for="(item, index) in lists" :key="index" @tap="()=>selectup2(index)">
+						<p>{{item.name}}</p>
+						<view class="start" v-if="action2 === index ? true: false">
+							<img src="static/gou.png" alt="">
+						</view>
+					</li>
+				</ul>
+				<view class="top"></view>
+				<view class="cancel" @tap="()=>topup()">取消</view>
+			</view>
+		</z-popup>
+	</view>
 </template>
 <script>
 	import Nav from '../../components/header/nav.vue'
@@ -93,27 +97,31 @@
 	export default {
 		data() {
 			return {
+				SORTCount: 0,
+				LOADCount: 0,
+				INFLCount: 0,
+				UNLOADCount: 0,
+				ARRIVEDCount: 0,
+				extractCount: 0,
 				main: null,
 				poll: null,
-				filter:null,
-				pusher:null,
-				intentServer:null,
+				filter: null,
+				pusher: null,
+				intentServer: null,
 				navname: '我的',
 				all: false,
 				allshow: false,
-				action: '',
-				index:0,
+				action: 0,
+				action2: 0,
+				index: 0,
 				list: [{
-					name: '相机'
-				},
-				{
-					name: '激光扫描枪'
-				},
-				{
-					name: 'RFID读取器'
-				}],
-				lists: [
+						name: '激光扫描枪'
+					},
 					{
+						name: 'RFID读取器'
+					}
+				],
+				lists: [{
 						name: '单次扫描'
 					},
 					{
@@ -122,274 +130,367 @@
 				]
 			}
 		},
-		created(option) {
-		},
-		onLoad(){
-		},
+		created(option) {},
+		onLoad() {},
 		onUnload() {
 			uni.$off("scancodemsg");
 		},
 		onShow() {
 			// uni.hideTabBar()//关闭导航栏
 			// uni.showTabBar()//显示导航栏
+			this.action = this.$storage.get("device")?Number(this.$storage.get("device")):0
+			this.$devapi.TYPE_DEV_JQHWGEVIQUWVILBE = this.action
+			this.action2 = this.$storage.get("times")?Number(this.$storage.get("times")):0
+			this.$devapi.RFIDIntervalTime = this.action2
 			uni.$on("scancodemsg", (data) => {
-				if(data.msg.length > 9){
+				if (data.msg.length > 9) {
 					uni.navigateTo({
 						url: "/pages/detail/index?luggageNum=" + data.msg
 						// url: "/pages/detail/index?luggageNum=3999483183"
 					})
 				}
 			});
-			if(this.$storage.get('airport')){
+			if (this.$storage.get('airport')) {
 				this.index = this.$storage.get('airport')
 			}
+			this.SORTCount = 0;
+			this.LOADCount = 0;
+			this.INFLCount = 0;
+			this.UNLOADCount = 0;
+			this.ARRIVEDCount = 0;
+			this.extractCount = 0;
+			if (this.$storage.getJson("users").user_name) {
+				this.$nextTick(e=>{
+					this.getDataCount()
+				})
+			}
 		},
 		onHide() {
 			uni.$off("scancodemsg");
 		},
-		mounted() {
-		},
+		mounted() {},
 		components: {
 			Nav
 		},
 		watch: {
-      allshow () {
+			allshow() {
 				if (this.allshow) {
 					uni.hideTabBar({})
-				} else{
+				} else {
 					uni.showTabBar()
 				}
 			},
-			all () {
+			all() {
 				if (this.all) {
 					uni.hideTabBar({})
-				} else{
+				} else {
 					uni.showTabBar()
 				}
 			}
 		},
 		methods: {
-			recup () {
-				uni.redirectTo({
-					url: "/pages/myrecords/index"
+			async getDataCount() {
+				let data = {
+					"serviceId": 3018,
+					"dataContent": [{
+							"agentNumber": this.$storage.getJson("users").user_name
+						}
+					]
+				}
+				await this.$http.httpPost('/openApi/query', data).then(res => {
+					if (res.code == "0") {
+						res.returnData.map(item => {
+							if(item.nodeCode == "SORT"){
+								this.SORTCount = item.total
+							}
+							if(item.nodeCode == "LOAD"){
+								this.LOADCount = item.total
+							}
+							if(item.nodeCode == "INFL"){
+								this.INFLCount = item.total
+							}
+							if(item.nodeCode == "UNLOAD"){
+								this.UNLOADCount = item.total
+							}
+							if(item.nodeCode == "ARRIVED"){
+								this.ARRIVEDCount = item.total
+							}
+							if(item.nodeCode == "extract"){
+								this.extractCount = item.total
+							}
+						})
+					}
+					else{
+						uni.showToast({
+							icon:'none',
+							title: "查询信息失败",
+							duration: 5000
+						});
+					}
 				})
 			},
-			fall () {
+			recup(type) {
+				if(type){
+					uni.navigateTo({
+						url: "/pages/myrecords/index?nodeCode="+type
+					})
+				}
+				else{
+					uni.navigateTo({
+						url: "/pages/myrecords/index"
+					})
+				}
+			},
+			fall() {
 				uni.redirectTo({
 					url: "/pages/index/index"
 				})
 			},
-			upindiv () {
-				uni.redirectTo({
+			upindiv() {
+				uni.navigateTo({
 					url: "/pages/individual/index"
 				})
 			},
-			uphelp () {
-				uni.redirectTo({
+			uphelp() {
+				uni.navigateTo({
 					url: "/pages/help/index"
 				})
 			},
-			uppop () {
+			uppop() {
 				uni.hideTabBar({})
 				this.all = true
 			},
-			uppops () {
+			uppops() {
 				uni.hideTabBar({})
 				this.allshow = true
 			},
-			selectup (index) {
-        this.action = index
+			selectup(index) {
+				this.$devapi.TYPE_DEV_JQHWGEVIQUWVILBE = Number(index)
+				this.$storage.set("device",index)
+				this.action = index
+			},
+			selectup2(index) {
+				this.$storage.set("times",index)
+				this.action2 = index
+				this.$devapi.RFIDIntervalTime = this.action2
 			},
-			topup () {
+			topup() {
 				this.all = false
 				this.allshow = false
-				uni.showTabBar()//显示导航栏
+				uni.showTabBar() //显示导航栏
 			}
 		},
 	}
 </script>
 <style lang="scss" scoped>
-.app-content{
-	// position: relative;
-  >.tuku{
-		position: absolute;
-		z-index: -1;
-		width: 100%;
-		top: 0;
-	}
-  >.cont{
-		z-index: 999;
-    >.photograph{
-			width: 6rem;
-			height: 6rem;
-			// background: red;
-			border-radius: 50%;
-			margin: 0 auto;
-			margin-top: .625rem;
-		}
-		>.details{
+	.app-content {
+
+		// position: relative;
+		>.tuku {
+			position: absolute;
+			z-index: -1;
 			width: 100%;
-			height: 3.125rem;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: center;
-			// background: red;
-			margin-top: .625rem;
-			>p{
-				color: rgb(255, 255, 255);
-				font-family: Noto Sans SC;
-				font-size: 1rem;
-				font-weight: 500;
-			}
-			>span{
-				color: rgb(255, 255, 255);
-				font-family: Noto Sans SC;
-				font-size: .8125rem;
-				font-weight: 500;
-			}
+			top: 0;
 		}
-		>.detail_list{
-			width: 100%;
-			// background: red;
-			display: flex;
-			flex-wrap: wrap;
-			margin-top: 1rem;
-			>.list_child{
-				width: 33%;
+
+		>.cont {
+			z-index: 999;
+
+			>.photograph {
+				width: 6rem;
+				height: 6rem;
+				// background: red;
+				border-radius: 50%;
+				margin: 0 auto;
+				margin-top: .625rem;
+			}
+
+			>.details {
+				width: 100%;
+				height: 3.125rem;
 				display: flex;
 				flex-direction: column;
-				justify-items: center;
 				align-items: center;
-				margin-bottom: 1rem;
-				>p{
+				justify-content: center;
+				// background: red;
+				margin-top: .625rem;
+
+				>p {
 					color: rgb(255, 255, 255);
 					font-family: Noto Sans SC;
-					font-size: .8125rem;
+					font-size: 1rem;
 					font-weight: 500;
 				}
-				>span{
+
+				>span {
 					color: rgb(255, 255, 255);
-					font-family: Helvetica;
-					font-size: 1rem;
-					font-weight: 700;
+					font-family: Noto Sans SC;
+					font-size: .8125rem;
+					font-weight: 500;
 				}
 			}
 
-		}
-		>.detail_type{
-			height: calc(100vh - 35.875rem);
-			padding: 0 3.125rem 0 3.125rem;
-			display: flex;
-			justify-content: space-around;
-			flex-wrap: wrap;
-			flex: 1;
-			>.list_child{
-				width: 7.5rem;
-        height: 7.5rem;
-				background: linear-gradient(188.06deg, rgba(65.49,109.04,128.64,1.00) 3.551%,rgba(38,68.32,81.96,1.00) 110.878%);
-				box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
-				border-radius: 4px;
-				margin-bottom: 4%;
+			>.detail_list {
+				width: 100%;
+				// background: red;
 				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				align-items: center;
-				>.log{
-					width: 2.25rem;
-					height: 2.25rem;
-					// background: rgb(196, 196, 196);
-					margin-bottom: .5rem;
-				}
-				.bg1{
-					background: url('../../static/jilu.png') no-repeat;
-          background-size: 100% 100%;
-				}
-				.bg2{
-					background: url('../../static/kaiguan.png') no-repeat;
-          background-size: 100% 100%;
-				}
-				.bg3{
-					background: url('../../static/gongzuo.png') no-repeat;
-          background-size: 100% 100%;
-				}
-				.bg4{
-					background: url('../../static/bagzu.png') no-repeat;
-          background-size: 100% 100%;
+				flex-wrap: wrap;
+				margin-top: 1rem;
+
+				>.list_child {
+					width: 33%;
+					display: flex;
+					flex-direction: column;
+					justify-items: center;
+					align-items: center;
+					margin-bottom: 1rem;
+
+					>p {
+						color: rgb(255, 255, 255);
+						font-family: Noto Sans SC;
+						font-size: .8125rem;
+						font-weight: 500;
+					}
+
+					>span {
+						color: rgb(255, 255, 255);
+						font-family: Helvetica;
+						font-size: 1rem;
+						font-weight: 700;
+					}
 				}
-				>p{
-					color: rgb(255, 255, 255);
-					font-family: Noto Sans SC;
-					font-size: .9375rem;
-					font-weight: 500;
+
+			}
+
+			>.detail_type {
+				height: calc(100vh - 35.875rem);
+				padding: 0 3.125rem 0 3.125rem;
+				display: flex;
+				justify-content: space-around;
+				flex-wrap: wrap;
+				flex: 1;
+
+				>.list_child {
+					width: 7.5rem;
+					height: 7.5rem;
+					background: linear-gradient(188.06deg, rgba(65.49, 109.04, 128.64, 1.00) 3.551%, rgba(38, 68.32, 81.96, 1.00) 110.878%);
+					box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
+					border-radius: 4px;
+					margin-bottom: 4%;
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					align-items: center;
+
+					>.log {
+						width: 2.25rem;
+						height: 2.25rem;
+						// background: rgb(196, 196, 196);
+						margin-bottom: .5rem;
+					}
+
+					.bg1 {
+						background: url('../../static/jilu.png') no-repeat;
+						background-size: 100% 100%;
+					}
+
+					.bg2 {
+						background: url('../../static/kaiguan.png') no-repeat;
+						background-size: 100% 100%;
+					}
+
+					.bg3 {
+						background: url('../../static/gongzuo.png') no-repeat;
+						background-size: 100% 100%;
+					}
+
+					.bg4 {
+						background: url('../../static/bagzu.png') no-repeat;
+						background-size: 100% 100%;
+					}
+
+					>p {
+						color: rgb(255, 255, 255);
+						font-family: Noto Sans SC;
+						font-size: .9375rem;
+						font-weight: 500;
+					}
 				}
 			}
 		}
-	}
-	.popup_title{
-		width: 100%;
-		height: 4.5rem;
-		background: rgb(255, 255, 255);
-    border-radius: 10px 10px 0px 0px;
-		display: flex;
-		align-items: center;
-		color: rgb(16, 17, 22);
-		font-family: Noto Sans SC;
-		font-size: 1rem;
-		font-weight: 700;
-		>p{
-			margin-left: 1.5rem;
+
+		.popup_title {
+			width: 100%;
+			height: 4.5rem;
+			background: rgb(255, 255, 255);
+			border-radius: 10px 10px 0px 0px;
+			display: flex;
+			align-items: center;
 			color: rgb(16, 17, 22);
 			font-family: Noto Sans SC;
 			font-size: 1rem;
 			font-weight: 700;
+
+			>p {
+				margin-left: 1.5rem;
+				color: rgb(16, 17, 22);
+				font-family: Noto Sans SC;
+				font-size: 1rem;
+				font-weight: 700;
+			}
+
 		}
 
-	}
-	.popup_content{
-		width: 100%;
-		background: rgb(255, 255, 255);
-		>ul{
+		.popup_content {
 			width: 100%;
-			>li{
-				width: 82%;
-				height: 2.6875rem;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				>p{
-					color: rgb(0, 0, 0);
-					font-family: Noto Sans SC;
-					font-size: .8125rem;
-					font-weight: 400;
-				}
-				>.start{
-					width: 1rem;
-					height: 1rem;
-					background: rgb(37, 121, 160);
+			background: rgb(255, 255, 255);
+
+			>ul {
+				width: 100%;
+
+				>li {
+					width: 82%;
+					height: 2.6875rem;
 					display: flex;
 					align-items: center;
-					justify-content: center;
-					border-radius: 50%;
+					justify-content: space-between;
+
+					>p {
+						color: rgb(0, 0, 0);
+						font-family: Noto Sans SC;
+						font-size: .8125rem;
+						font-weight: 400;
+					}
+
+					>.start {
+						width: 1rem;
+						height: 1rem;
+						background: rgb(37, 121, 160);
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						border-radius: 50%;
+					}
 				}
 			}
-		}
-		>.top{
-			width: 100%;
-			height: .875rem;
-			background: rgb(249, 249, 249);
-		}
-		>.cancel{
-			width: 100%;
-			height: 3.3125rem;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			color: rgb(0, 0, 0);
-			font-family: Noto Sans SC;
-			font-size: .9375rem;
-			font-weight: 500;
+
+			>.top {
+				width: 100%;
+				height: .875rem;
+				background: rgb(249, 249, 249);
+			}
+
+			>.cancel {
+				width: 100%;
+				height: 3.3125rem;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				color: rgb(0, 0, 0);
+				font-family: Noto Sans SC;
+				font-size: .9375rem;
+				font-weight: 500;
+			}
 		}
 	}
-}
 </style>

+ 311 - 176
pages/myrecords/index.vue

@@ -1,16 +1,31 @@
 <template>
-  <view class="app-content">
-    <view class="header"><view class="log" @tap="fall"></view>{{ navname }}<view class="up" @tap="seach"></view></view>
-    <view class="nav">
-      <view :class="action === index ? 'nav_lists': 'nav_list'" v-for="(item, index) in list" :key="index" @tap="lop(index)">{{item.name}}</view>
-    </view>
-    <view class="content">
-      <view class="list" v-for="(item, index) in detailedTable" :key="index" @tap = 'uplist'>
-        {{ item.name }}
-        <view class="listup"></view>
-      </view>
-    </view>
-  </view>
+	<view class="app-content">
+		<view class="header">
+			<view class="log" @tap="fall"></view>{{ navname }}
+		</view>
+		<view class="nav">
+			<view :class="action === index ? 'nav_lists': 'nav_list'" v-for="(item, index) in list" :key="index"
+				@tap="lop(index)">{{item.name}}</view>
+		</view>
+		<view class="content">
+			<view class="content_bootom" style="top:0">
+				<scroll-view scroll-y="true" class="scroll-Y">
+					<view class="up" v-for="(item, index) in listdata" :key="index">
+						<view class="list"  @tap="toDetail(item.luggageNum)">
+							<p>{{ item.luggageNum }}</p>
+						</view>
+						<view class="normal">
+							{{item.carrierFlightsDate!=null?item.carrierFlightsDate:"-"}}
+						</view>
+						<view class="normal">
+							{{item.carrierFlights!=null?item.carrierFlights:"-"}}
+						</view>
+						
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+	</view>
 </template>
 <script>
 	import Nav from '../../components/header/nav.vue'
@@ -18,187 +33,307 @@
 		data() {
 			return {
 				navname: '我的记录',
-        action:0,
-        list: [{
-          name: '分拣'
-        },{
-          name: '装车'
-        },{
-          name: '上机'
-        },{
-          name: '卸机'
-        },{
-          name: '卸车'
-        }],
-        detailedTable: [
-          {
-            name: '离港:HU7410   CKG-CSX (113/171)'
-          },
-          {
-            name: '离港:HU7410   CKG-CSX (113/171)'
-          },
-          {
-            name: '离港:HU7410   CKG-CSX (113/171)'
-          },
-          {
-            name: '离港:HU7410   CKG-CSX (113/171)'
-          },
-          {
-            name: '离港:HU7410   CKG-CSX (113/171)'
-          }
-        ]
+				action: 0,
+				list: [{
+					name: '分拣',
+					type: 'SORT'
+				}, {
+					name: '装车',
+					type: 'LOAD'
+				}, {
+					name: '装机',
+					type: 'INFL'
+				}, {
+					name: '卸机',
+					type: 'UNLOAD'
+				}, {
+					name: '到达',
+					type: 'ARRIVED'
+				}, {
+					name: '提取',
+					type: 'extract'
+				}],
+				listdata: [],
+				nodeCode:null
 			}
 		},
-		created(option) {
-		},
-		onLoad(){
-		},
-		onUnload() {
+		created(option) {},
+		onLoad(option) {
+			if(option.nodeCode){
+				this.list.map((item,index) =>{
+					if(item.type==option.nodeCode){
+						this.action = index
+					}
+				})
+				this.nodeCode = option.nodeCode
+				this.getList()
+			}
+			else{
+				this.nodeCode = this.list[this.action].type
+				this.getList()
+			}
 		},
+		onUnload() {},
 		onShow() {
+			if(this.nodeCode){
+				this.getList()
+			}
 		},
-		mounted() {
-		},
+		mounted() {},
 		components: {
 			Nav
 		},
 		methods: {
-      uplist () {
-        uni.redirectTo({
+			uplist() {
+				uni.redirectTo({
 					url: "/pages/loadingdetails/index"
 				})
-      },
-      lop(index) {
-        this.action = index
-      },
-			seach () {
-				uni.redirectTo({
-					url: "/pages/search/index"
+			},
+			lop(index) {
+				this.action = index
+				this.nodeCode = this.list[index].type
+				this.getList()
+			},
+			async getList() {
+				let data = {
+					"serviceId": 3008,
+					"page": 1,
+					"pageSize": 9999,
+					"dataContent": [{
+						"agentNumber": this.$storage.getJson("users").user_name,
+						"nodeCode": this.nodeCode
+					}]
+				}
+				await this.$http.httpPost('/openApi/query', data).then(res => {
+					if (res.code == "0") {
+						this.listdata = res.returnData
+					} else {
+						uni.showToast({
+							icon: 'none',
+							title: "查询信息失败",
+							duration: 5000
+						});
+					}
+				})
+			},
+			toDetail(luggageNum){
+				uni.navigateTo({
+					url: "/pages/detail/index?luggageNum="+luggageNum
 				})
 			},
-      fall () {
-        uni.switchTab({
-					url: "/pages/mypage/index"
+			fall() {
+				uni.navigateBack({
+					delta:1
 				})
-      }
+			}
 		},
 	}
 </script>
 
 <style lang="scss" scoped>
-.app-content{
-  >.header{
-    width: 100%;
-    height: 4.375rem;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    // background: rgba(49,85,99,1);
-    color: rgb(16, 17, 22);
-    font-family: Noto Sans SC;
-    font-size: 1rem;
-    position: relative;
-    >.log{
-      width: .375rem;
-      height: .75rem;
-      font-size: .75rem;
-      position: absolute;
-      left: 1.5rem;
-      background: url('../../static/ico@1x.png') no-repeat;
-      background-size: 100% 100%;
-    }
-    >.up{
-      width: .8456rem;
-      height: .8456rem;
-      position: absolute;
-      right: 1.5rem;
-      background: url('../../static/search.png') no-repeat;
-      background-size: 100% 100%;
-      // color: rgb(37, 121, 160);
-      // font-family: Noto Sans SC;
-      // font-size: .875rem;
-      // font-weight: 500;
-    }
-  }
-  >.nav{
-    height: 2rem;
-    display: flex;
-    align-items: center;
-    padding: 0 .75rem 0 .75rem;
-    >.nav_list{
-      margin: 0 .75rem 0 .75rem;
-      color: rgb(16, 17, 22);
-      font-family: Noto Sans SC;
-      font-size: 14px;
-      height: 100%;
-    }
-    >.nav_lists{
-      margin: 0 .75rem 0 .75rem;
-      color: rgb(37, 121, 160);
-      font-family: Noto Sans SC;
-      font-size: 14px;
-      font-size: 14px;
-      height: 100%;
-      border-bottom: 2px solid rgb(37, 121, 160);
-    }
-  }
-  >.content{
-    margin-left: 1.5rem;
-    >.list{
-      height: 3.375rem;
-      display: flex;
-      align-items: center;
-      border-bottom: 1px solid rgb(238, 238, 238);
-      position: relative;
-      color: rgb(0, 0, 0);
-      font-family: Noto Sans SC;
-      font-size: 13px;
-      font-weight: 400;
-      >p{
-        color: rgb(0, 0, 0);
-        font-family: Noto Sans SC;
-        font-size: 13px;
-        font-weight: 400;
-        margin-right: 2.1875rem;
-      }
-      >.listup{
-        width: .25rem;
-        height: .5rem;
-        background: url('../../static/icos.png') no-repeat;
-        background-size: 100% 100%;
-        position: absolute;
-        right: 1.5rem;
-      }
-    }
-    >.picturearea{
-      margin-top: 1.875rem;
-      >.name{
-        color: rgb(0, 0, 0);
-        font-family: Noto Sans SC;
-        font-size: .8125rem;
-        font-weight: 500;
-      }
-      >.content_list{
-        width: 100%;
-        display: flex;
-        margin-top: 1.25rem;
-        >.mg{
-          width: 5.5rem;
-          height: 5.5rem;
-          background: rgb(197, 207, 211);
-          display: flex;
-          align-items: center;
-          justify-content: center;
-          margin-right: .625rem;
-          >.mg_lg{
-            width: 1.75rem;
-            height: 1.75rem;
-            background: url('../../static/shi.png') no-repeat;
-            background-size: 100% 100%;
-          }
-        }
-      }
-    }
-  }
-}
+	.app-content {
+		height: 100vh;
+		overflow: hidden;
+		>.header {
+			width: 100%;
+			height: 4.375rem;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			// background: rgba(49,85,99,1);
+			color: rgb(16, 17, 22);
+			font-family: Noto Sans SC;
+			font-size: 1rem;
+			position: relative;
+
+			>.log {
+				width: .375rem;
+				height: .75rem;
+				font-size: .75rem;
+				position: absolute;
+				left: 1.5rem;
+				background: url('../../static/ico@1x.png') no-repeat;
+				background-size: 100% 100%;
+			}
+
+			>.up {
+				width: .8456rem;
+				height: .8456rem;
+				position: absolute;
+				right: 1.5rem;
+				background: url('../../static/search.png') no-repeat;
+				background-size: 100% 100%;
+				// color: rgb(37, 121, 160);
+				// font-family: Noto Sans SC;
+				// font-size: .875rem;
+				// font-weight: 500;
+			}
+		}
+
+		>.nav {
+			height: 2rem;
+			display: flex;
+			align-items: center;
+			padding: 0 .75rem 0 .75rem;
+
+			>.nav_list {
+				margin: 0 .75rem 0 .75rem;
+				color: rgb(16, 17, 22);
+				font-family: Noto Sans SC;
+				font-size: 14px;
+				height: 100%;
+			}
+
+			>.nav_lists {
+				margin: 0 .75rem 0 .75rem;
+				color: rgb(37, 121, 160);
+				font-family: Noto Sans SC;
+				font-size: 14px;
+				font-size: 14px;
+				height: 100%;
+				border-bottom: 2px solid rgb(37, 121, 160);
+			}
+		}
+
+		>.content {
+			width: 100%;
+			height: calc(100vh - 3.5rem);
+			position: relative;
+			// margin-top: 2.5rem;
+			// overflow: hidden;
+			// background: rgb(49, 85, 99);
+			>.content_top {
+				width: 100%;
+				// background: rgb(49, 85, 99);
+				padding-bottom: 1.3125rem;
+
+				>.craid {
+					// width: 100%;
+					height: 5.625rem;
+					padding: 0 2.5625rem 0 2.5625rem;
+					display: flex;
+					justify-content: space-between;
+					flex-wrap: wrap;
+					align-items: center;
+
+					>.craid_data {
+						display: flex;
+						flex-direction: column;
+						justify-content: center;
+						align-items: start;
+
+						>p {
+							color: rgb(255, 255, 255);
+							font-family: Noto Sans SC;
+							font-size: 18px;
+							font-weight: 700;
+						}
+
+						>span {
+							color: rgb(255, 255, 255);
+							font-family: Noto Sans SC;
+							font-size: 13px;
+							font-weight: 500;
+						}
+					}
+
+					>.aircraft {
+						width: 1.75rem;
+						height: 1.75rem;
+						background: url('../../static/hang.png') no-repeat;
+						background-size: 100% 100%;
+					}
+				}
+			}
+
+			>.content_bootom {
+				width: 100%;
+				// height: calc(100vh - 20.9375rem - 4.375rem);
+				padding-bottom: 0;
+				position: absolute;
+				bottom: 0;
+				top: 20.75rem;
+				// border-radius: 6px 6px 0px 0px;
+				overflow: hidden;
+				background: rgb(255, 255, 255);
+				padding: 0 10px;
+				box-sizing: border-box;
+				padding-left: 1rem;
+				.up {
+					width: 100%;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					border-bottom: 1px solid rgb(238, 238, 238);
+					box-sizing: border-box;
+					// transform: all 3s;
+					>.down_up {
+						width: .875rem;
+						height: .875rem;
+						background: url('../../static/xia.png') no-repeat;
+						background-size: 100% 100%;
+					}
+					
+					>.error{
+						color:red
+					}
+					>.normal{
+						color:#4682b4 
+					}
+					>.list {
+						position: relative;
+						height: 3rem;
+						display: flex;
+						align-items: center;
+						transform: all 3s;
+						right: 0;
+						color: rgb(0, 0, 0);
+						font-family: Noto Sans SC;
+						font-size: 16px;
+						font-weight: 500;
+					}
+				
+					>.delete {
+						width: 3.75rem;
+						height: 3.75rem;
+						background: rgb(237, 101, 101);
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						position: relative;
+						right: -3.75rem;
+						transform: all 3s;
+				
+						>.log {
+							width: .875rem;
+							height: .875rem;
+							background: url('../../static/vector@1x.png') no-repeat;
+							background-size: 100% 100%;
+						}
+					}
+				}
+				
+				.scroll-Y {
+					// height: calc(100% - 2.5rem - 2.75rem - 2.25rem - 2.25rem);
+					height: calc(100% - 2.5rem - 2.75rem);
+				}
+
+				.but {
+					width: 20.5625rem;
+					height: 2.5rem;
+					background: linear-gradient(179.10deg, rgba(51, 161, 165, 1.00) 11.326%, rgba(59, 111, 142, 1.00) 119.032%, rgba(59, 111, 142, 1.00) 119.032%, rgba(59, 111, 142, 1.00) 119.032%);
+					border-radius: .25rem;
+					color: rgb(255, 255, 255);
+					font-family: Noto Sans SC;
+					font-size: 1rem;
+					margin: 0 auto;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					margin-top: 0.25rem;
+					margin-bottom: 2.25rem;
+				}
+			}
+		}
+	}
 </style>

+ 250 - 204
pages/sorting/index.vue

@@ -43,7 +43,8 @@
 						<view class="log" @tap="scan('2')"></view>
 					</view>
 					<view :class="getlooterClass">
-						<input class="input" v-model.trim="currentLuggageNum" disabled="true" @tap="baggageEntry" type="text"
+						<input class="input" v-model.trim="currentLuggageNum" disabled="true" @tap="baggageEntry"
+							type="text"
 							placeholder-style="font-size:.8125rem;color:rgb(189, 214, 231);display:flex;justify-content: start;"
 							placeholder="请输入行李号" />
 						<view class="log_l"></view>
@@ -53,22 +54,34 @@
 			</view>
 			<view class="content_bootom" :style="{top:dataheight}">
 				<view class="choice" @touchmove="movetran">
-					<view :class="action === true ?'handle':'handles'" @tap="clicker(true)">已处理({{listdate1.length}}件)</view>
-					<view :class="action !== true ?'handle':'handles'" @tap="clicker(false)">未处理({{listdate2.length}}件)</view>
+					<view :class="action === true ?'handle':'handles'" @tap="clicker(true)">已处理({{listdate1.length}}件)
+					</view>
+					<view :class="action !== true ?'handle':'handles'" @tap="clicker(false)">未处理({{listdate2.length}}件)
+					</view>
 				</view>
 				<scroll-view scroll-y="true" class="scroll-Y">
-					<view v-if="action === true" :class="item.types ? 'ups':'up'" v-for="(item, index) in listdate1" :key="index"
-						@touchstart="start" @touchend="(e)=>end(e,item)">
-						<view class="list"  @tap="toDetail(item.luggageNum)">行李编号:{{ item.luggageNum }}</view>
-						<view :class="item.abnormalType!=null?'error':'normal'">{{item.abnormalType!=null?item.abnormalType:"正常"}}</view>
-						<view class="down_up" v-if="pagename == 'LOAD' && item.abnormalType!='OFF'" @tap="up(item,index)"></view>
+					<view v-if="action === true" :class="item.types ? 'ups':'up'" v-for="(item, index) in listdate1"
+						:key="index" @touchstart="start" @touchend="(e)=>end(e,item)">
+						<view class="list" @tap="toDetail(item.luggageNum)">{{ item.luggageNum }}</view>
+						<view class="normal">
+							{{item.specialType!=null?item.specialType:" "}}
+						</view>
+						<view :class="item.abnormalType!=null?'error':'normal'">
+							{{item.abnormalType!=null?item.abnormalType:"正常"}}</view>
+						<view class="down_up" v-if="pagename == 'LOAD' && item.abnormalType!='OFF'"
+							@tap="up(item,index)"></view>
 						<view class="delete" v-if="pagename == 'LOAD' && item.abnormalType!='OFF'">
 							<view class="log" @click="()=>up(item,index)"></view>
 						</view>
 					</view>
-					<view v-if="action !== true" :class="item.types ? 'ups':'up'" v-for="(item, index) in listdate2" :key="index">
-						<view class="list"  @tap="toDetail(item.luggageNum)">行李编号:{{ item.luggageNum }}</view>
-						<view :class="item.abnormalType!=null?'error':'normal'">{{item.abnormalType!=null?item.abnormalType:"正常"}}</view>
+					<view v-if="action !== true" :class="item.types ? 'ups':'up'" v-for="(item, index) in listdate2"
+						:key="index">
+						<view class="list" @tap="toDetail(item.luggageNum)">{{ item.luggageNum }}</view>
+						<view class="normal">
+							{{item.specialType!=null?item.specialType:" "}}
+						</view>
+						<view :class="item.abnormalType!=null?'error':'normal'">
+							{{item.abnormalType!=null?item.abnormalType:"正常"}}</view>
 						<!-- <view class="down_up" @tap="up"></view> -->
 					</view>
 				</scroll-view>
@@ -77,15 +90,15 @@
 		</view>
 		<!-- 提示信息和下拉弹窗 -->
 		<mask-model :headername="headername" :typeShow="typeShow" :tabname="tabname" ref="showMask" btnType="1"
-			@confirm="confirm" @next="next" @load="load" @cancel="cancel" titleColoe="#666666" cancelColor="#666666" confirmColor="#007AFF"
-			:maskTitle="maskTitle"></mask-model>
+			@confirm="confirm" @next="next" @load="load" @cancel="cancel" titleColoe="#666666" cancelColor="#666666"
+			confirmColor="#007AFF" :maskTitle="maskTitle"></mask-model>
 		<!-- 一键弹窗 -->
-		<mask-model :headername="headername" :typeShow="typeShow" ref="showMask2" btnType="1"
-			@confirm="confirm2" @cancel="cancel" titleColoe="#666666" cancelColor="#666666" confirmColor="#007AFF"
+		<mask-model :headername="headername" :typeShow="typeShow" ref="showMask2" btnType="1" @confirm="confirm2"
+			@cancel="cancel" titleColoe="#666666" cancelColor="#666666" confirmColor="#007AFF"
 			:maskTitle="maskTitle2"></mask-model>
 		<!-- 航班开始操作弹窗 -->
-		<mask-model :headername="headername" :typeShow="typeShow" ref="showMask3" btnType="1"
-			@confirm="confirm3" @cancel="cancel3" titleColoe="#666666" cancelColor="#666666" confirmColor="#007AFF"
+		<mask-model :headername="headername" :typeShow="typeShow" ref="showMask3" btnType="1" @confirm="confirm3"
+			@cancel="cancel3" titleColoe="#666666" cancelColor="#666666" confirmColor="#007AFF"
 			:maskTitle="maskTitle3"></mask-model>
 	</view>
 </template>
@@ -106,58 +119,61 @@
 				arr: [],
 				navname: '',
 				action: true,
-				listdate:[],
+				listdate: [],
 				listdate1: [],
-				loadNumber:0,
+				loadNumber: 0,
 				listdate2: [],
 				startData: {
 					clientX: 0,
 					clientY: 0
 				},
 				stratvalue: '', //开始位置
-				container_ID:'',
+				container_ID: '',
 				endvalue: '', //结束位置
 				maskTitle: '该行李不属于当前航班,请选择处理方式。',
-				maskTitle2:"",
-				maskTitle3:"",
+				maskTitle2: "",
+				maskTitle3: "",
 				tabname: '', //航班名称
 				typeShow: true,
 				headername: '提示信息',
-				flightNO:null,
-				flightDate:null,
-				onFlightDate:null,
-				flightDetail:{},
-				index:0,
-				currentLuggageNum:null,
-				pagename:"",
-				currentLuggage:null,
-				currentIndex:null,
-				abnormalList:[
-					{
-						"type":null,
-						"name":"无"
+				flightNO: "null",
+				flightDate: null,
+				outAirport:null,
+				landAirport:null,
+				onFlightDate: null,
+				flightDetail: {},
+				index: 0,
+				currentLuggageNum: null,
+				pagename: "",
+				currentLuggage: null,
+				currentIndex: null,
+				abnormalList: [{
+						"type": null,
+						"name": "无"
 					},
 					{
-						"type":"NAL",
-						"name":"未被授权的装载"
+						"type": "NAL",
+						"name": "未被授权的装载"
 					},
 					{
-						"type":"OFF",
-						"name":"已卸载"
+						"type": "OFF",
+						"name": "已卸载"
 					},
 					{
-						"type":"UNS",
-						"name":"未找到"
+						"type": "UNS",
+						"name": "未找到"
 					},
 					{
-						"type":"OND",
-						"name":"在场未装载,未被授权"
+						"type": "OND",
+						"name": "在场未装载,未被授权"
 					},
 					{
-						"type":"ONA",
-						"name":"在场未装载,已授权"
+						"type": "ONA",
+						"name": "在场未装载,已授权"
 					}
 				],
+				oldRfidList: [],
+				
 			}
 		},
 		created(option) {},
@@ -165,8 +181,10 @@
 			this.pagename = option.item
 			this.flightNO = option.flightNO
 			this.flightDate = option.date
+			this.outAirport  = option.outAirport 
+			this.landAirport  = option.landAirport 
 			this.getNode()
-			switch (this.pagename){
+			switch (this.pagename) {
 				case "SORT":
 					this.navname = "分拣"
 					break;
@@ -185,31 +203,54 @@
 				default:
 					break;
 			}
-			if(this.flightNO!="null"&&this.flightNO){
+			if (this.flightNO != "null" && this.flightNO) {
 				this.getFlightData()
-				this.getluggageList()
 			}
+			console.log("onLoad")
 		},
 		onUnload() {
 			uni.$off("scancodemsg");
+			this.$devapi.RFIDStopInventory()
+			this.$devapi.ISRFIDOPEN = !this.$devapi.ISRFIDOPEN
 		},
 		onShow() {
 			uni.$on("scancodemsg", (data) => {
+				// data.msg = '0089580761'
 				if (data.msg.trim().length > 9) {
 					this.currentLuggageNum = data.msg.trim()
-					this.getluggage(this.currentLuggageNum,true)
+					this.getluggage(this.currentLuggageNum, true)
 				}
-				if(data.msg.trim().length < 9){
+				if (data.msg.trim().length < 9) {
 					this.container_ID = data.msg.trim()
 				}
 			});
+			uni.$on("scancodeList", (data) => {
+				// data.msg = ['0089580818','0089580819','0089580820', '0089580783', '0089580816']
+				if (this.flightNO == "null" && data.msg.length > 0) {
+					this.currentLuggageNum = data.msg[0].trim()
+					this.getluggage(this.currentLuggageNum, true)
+					this.$devapi.RFIDStopInventory()
+					this.$devapi.ISRFIDOPEN = !this.$devapi.ISRFIDOPEN
+				} else if (this.flightNO && data.msg.length > 0) {
+					data.msg.map(item => {
+						if (_.findIndex(this.listdate1, function(o) {
+								return o.luggageNum == item
+							}) < 0) {
+							if (item.trim().length > 9) {
+								this.currentLuggageNum = item.trim()
+								this.getluggage(this.currentLuggageNum, true)
+							}
+						}
+					})
+				}
+			});
 			if (this.$storage.getJson('airport')) {
 				this.index = this.$storage.getJson('airport')
 			}
-			if(this.flightNO!="null"&&this.flightNO){
+			if (this.flightNO != "null" && this.flightNO) {
 				this.getFlightData()
-				this.getluggageList()
 			}
+			console.log("onShow")
 		},
 		onHide() {
 			uni.$off("scancodemsg");
@@ -234,20 +275,18 @@
 			maskModel: maskModel,
 		},
 		methods: {
-			scan(type){
+			scan(type) {
 				let that = this
 				uni.scanCode({
 					onlyFromCamera: true,
-					success: function (res) {
-						if(type=="1"){
+					success: function(res) {
+						if (type == "1") {
 							that.stratvalue = res.result;
-						}
-						else if(type=="2"){
+						} else if (type == "2") {
 							that.container_ID = res.result;
-						}
-						else{
+						} else {
 							that.currentLuggageNum = res.result
-							that.getluggage(that.currentLuggageNum,true)
+							that.getluggage(that.currentLuggageNum, true)
 						}
 					}
 				});
@@ -261,24 +300,27 @@
 				await this.$http.httpPost('/openApi/query', data).then(res => {
 					if (res.code == "0") {
 						res.returnData.map(item => {
-							if(item.nodeCode == this.pagename){
+							if (item.nodeCode == this.pagename) {
 								this.stratvalue = item.nodeDescribe;
 							}
 						})
 					}
 				})
 			},
-			next(data){
+			next(data) {
 				this.flightNO = this.currentLuggage.carrierFlights;
 				this.flightDate = this.currentLuggage.carrierFlightsDate;
+				this.outAirport = this.currentLuggage.outAirport;
+				this.landAirport = this.currentLuggage.landAirport;
 				this.loadNumber = 0;
 				this.getFlightData()
-				this.getluggageList()
 				this.$refs.showMask.hide();
 			},
-			load(){
+			load() {
 				this.currentLuggage.carrierFlights = this.flightNO
 				this.currentLuggage.carrierFlightsDate = this.flightDate;
+				this.currentLuggage.outAirport = this.outAirport;
+				this.currentLuggage.landAirport = this.landAirport;
 				let datas = this.setLuggage()
 				this.sendData(datas)
 			},
@@ -288,59 +330,65 @@
 					"page": 1,
 					"pageSize": 10,
 					"dataContent": [{
-						"carrierFlights":this.flightNO
+						"carrierFlights": this.flightNO
 					}],
 					"event": "0"
 				}
 				await this.$http.httpPost('/openApi/query', data).then(res => {
-					if (res.code == "0"&&res.returnData.length>0) {
+					if (res.code == "0" && res.returnData.length > 0) {
 						this.flightDetail = []
-						if(this.flightDate&&this.flightDate!="null"){
-							res.returnData.map(item =>{
-								if(this.flightDate == item.carrierFlightsDate){
+						if (this.flightDate && this.flightDate != "null") {
+							console.log(this.outAirport)
+							console.log(this.landAirport)
+							res.returnData.map(item => {
+								if (this.flightDate == item.carrierFlightsDate && this.outAirport == item.outAirport&& this.landAirport == item.landAirport) {
 									this.flightDetail = item
+									this.getluggageList()
 								}
 							})
-						}
-						else{
+						} else {
 							this.flightDetail = res.returnData[0]
+							this.getluggageList()
 						}
-						if(this.flightDetail.scheduleTakeOffTime){
-							this.flightDetail.scheduleTakeOffTime = this.flightDetail.scheduleTakeOffTime.split("T")[1]
-						}
-						else{
+						if (this.flightDetail.scheduleTakeOffTime) {
+							this.flightDetail.scheduleTakeOffTime = this.flightDetail.scheduleTakeOffTime
+								.split("T")[1]
+						} else {
 							item.scheduleTakeOffTime = "-"
 						}
-						if(this.flightDetail.scheduleLandInTime){
-							this.flightDetail.scheduleLandInTime = this.flightDetail.scheduleLandInTime.split("T")[1]
-						}
-						else{
+						if (this.flightDetail.scheduleLandInTime) {
+							this.flightDetail.scheduleLandInTime = this.flightDetail.scheduleLandInTime.split(
+								"T")[1]
+						} else {
 							item.scheduleLandInTime = "-"
 						}
-					}
-					else{
+						
+					} else {
 						this.$scanAudio.src = "../../static/hqhb.mp3"
 						this.$scanAudio.play()
 						uni.showToast({
-							icon:'none',
-							title: "未查询到"+this.flightNO+"航班信息",
+							icon: 'none',
+							title: "未查询到" + this.flightNO + "航班信息",
 							duration: 5000
 						});
 					}
 				})
 			},
-			async getluggageList(){
+			async getluggageList() {
+				console.log(123)
 				let data = {
-				    "serviceId": 3001,
+					"serviceId": 3001,
 					"page": 1,
 					"pageSize": 999,
-				    "dataContent": {
-				        "carrierFlights": this.flightNO,
-						"carrierFlightsDate":this.flightDate
-				    },
-				    "event": "0"
+					"dataContent": {
+						"carrierFlights": this.flightDetail.carrierFlights,
+						"carrierFlightsDate": this.flightDetail.carrierFlightsDate,
+						"outAirport":this.flightDetail.outAirport,
+						"landAirport":this.flightDetail.landAirport
+					},
+					"event": "0"
 				}
-				
+
 				await this.$http.httpPost('/openApi/query', data).then(res => {
 					this.listdate1 = []
 					this.listdate2 = []
@@ -348,53 +396,48 @@
 						this.listdate = res.returnData;
 						res.returnData.map(item => {
 							this.abnormalList.map(item2 => {
-								if(item.abnormalType == item2.type){
+								if (item.abnormalType == item2.type) {
 									item.abnormalName = item2.name
 								}
 							})
-							switch (this.pagename){
+							switch (this.pagename) {
 								case "SORT":
-									if(item.sorting_time!=null){
+									if (item.sorting_time != null) {
 										this.listdate1.push(item)
 										this.listdate1.sort(this.compareDesc("sorting_time"))
-									}
-									else{
+									} else {
 										this.listdate2.push(item)
 									}
 									break;
 								case "LOAD":
-									if(item.loading_time!=null){
+									if (item.loading_time != null) {
 										this.listdate1.push(item)
 										this.listdate1.sort(this.compareDesc("loading_time"))
-									}
-									else{
+									} else {
 										this.listdate2.push(item)
 									}
 									break;
-								case "INFL":				
-									if(item.installation_time!=null){
+								case "INFL":
+									if (item.installation_time != null) {
 										this.listdate1.push(item)
 										this.listdate1.sort(this.compareDesc("installation_time"))
-									}
-									else{
+									} else {
 										this.listdate2.push(item)
 									}
 									break;
 								case "UNLOAD":
-									if(item.unloadtime!=null){
+									if (item.unloadtime != null) {
 										this.listdate1.push(item)
 										this.listdate1.sort(this.compareDesc("unloadtime"))
-									}
-									else{
+									} else {
 										this.listdate2.push(item)
 									}
 									break;
 								case "ARRIVED":
-									if(item.arrivedtime!=null){
+									if (item.arrivedtime != null) {
 										this.listdate1.push(item)
 										this.listdate1.sort(this.compareDesc("arrivedtime"))
-									}
-									else{
+									} else {
 										this.listdate2.push(item)
 									}
 									break;
@@ -402,67 +445,71 @@
 									break;
 							}
 						})
-						console.log(this.loadNumber)
-						if(this.loadNumber == 0&&this.currentLuggageNum!=null){
+						if (this.loadNumber == 0 && this.currentLuggageNum != null) {
 							this.loadNumber = this.listdate1.length;
 							let datas = this.setLuggage()
 							this.sendData(datas)
-						}
-						else{
+						} else {
 							this.loadNumber = this.listdate1.length;
 						}
 					}
-	
+
 				})
 			},
-			async getluggage(num,isSend){
+			async getluggage(num, isSend) {
 				let data = {
-				    "serviceId": 3002,
-				    "page": 1,
-				    "pageSize": 10,
-				    "dataContent": {
-				        "luggageNum":num,//行李号
-				    },
-				    "event": "0"
+					"serviceId": 3002,
+					"page": 1,
+					"pageSize": 1,
+					"dataContent": {
+						"luggageNum": num, //行李号
+					},
+					"event": "0"
 				}
 				await this.$http.httpPost('/openApi/query', data).then(res => {
-					if(res.code == "0"&&res.returnData.length>0){
+					if (res.code == "0" && res.returnData.length > 0) {
 						this.currentLuggage = res.returnData[0];
-						console.log(this.flightNO)
-						if(this.flightNO !="null"&&this.flightNO&&this.flightNO == res.returnData[0].carrierFlights&&isSend==true){
+						if (this.flightNO != "null" && this.flightNO && this.flightNO == res.returnData[0]
+							.carrierFlights && isSend == true) {
 							let datas = this.setLuggage()
 							this.sendData(datas)
-						}
-						else if(this.flightNO !="null"&&this.flightNO&&this.flightNO != res.returnData[0].carrierFlights){
-							this.tabname = res.returnData[0].carrierFlights
-							this.typeShow = true
-							this.$refs.showMask.show();
-							this.$scanAudio.src = "../../static/qzcz.mp3"
-							this.$scanAudio.play()
-						}
-						else if(this.flightNO =="null"){
+						} else if (this.flightNO != "null" && this.flightNO && this.flightNO != res.returnData[
+								0].carrierFlights) {
+							if (this.$storage.get('times') == 1 && this.$storage.get('device') == 1) {
+								return
+							} else {
+								this.tabname = res.returnData[0].carrierFlights
+								this.typeShow = true
+								this.$refs.showMask.show();
+								this.$scanAudio.src = "../../static/qzcz.mp3"
+								this.$scanAudio.play()
+							}
+
+						} else if (this.flightNO == "null") {
 							this.typeShow = false
-							this.maskTitle3 = '是否对航班:'+ res.returnData[0].carrierFlights + "行李进行"+this.navname+"操作?"
+							this.maskTitle3 = '是否对航班:' + res.returnData[0].carrierFlights + "行李进行" + this
+								.navname + "操作?"
 							this.headername = '提示'
 							this.$refs.showMask3.show();
 							this.$scanAudio.src = "../../static/kscz.mp3"
 							this.$scanAudio.play()
 						}
-					}
-					else{
+					} else {
+						this.$devapi.RFIDStopInventory()
+						this.$devapi.ISRFIDOPEN = !this.$devapi.ISRFIDOPEN
 						this.$scanAudio.src = "../../static/hqxl.mp3"
 						this.$scanAudio.play()
 						uni.showToast({
-							icon:'none',
-							title: "未查询到"+this.currentLuggageNum+"行李信息",
+							icon: 'none',
+							title: "未查询到" + this.currentLuggageNum + "行李信息",
 							duration: 5000
 						});
 					}
 				})
 			},
-			setLuggage(data){
+			setLuggage(data) {
 				let arr = []
-				if(data){
+				if (data) {
 					data.map(item => {
 						item.nodeCode = this.pagename;
 						item.nodeName = this.navname;
@@ -477,8 +524,7 @@
 						arr.push(item)
 					})
 					return arr
-				}
-				else{
+				} else {
 					this.currentLuggage.nodeCode = this.pagename;
 					this.currentLuggage.nodeName = this.navname;
 					this.currentLuggage.location_code = this.stratvalue;
@@ -492,9 +538,9 @@
 					arr.push(this.currentLuggage)
 					return arr
 				}
-				
+
 			},
-			async sendData(result){
+			async sendData(result) {
 				let that = this;
 				let data = {
 					"serviceId": 3005,
@@ -503,40 +549,38 @@
 				}
 				await this.$http.httpPost('/openApi/query', data).then(res => {
 					if (res.code == "0") {
-						if(result.length>1){
-							setTimeout(function(){
+						if (result.length > 1) {
+							setTimeout(function() {
 								uni.showToast({
-									icon:'none',
+									icon: 'none',
 									title: "操作行李成功",
 									duration: 5000
 								});
 								that.getluggageList()
-							},3000)
-						}
-						else{
+							}, 3000)
+						} else {
 							this.getluggageList()
 						}
-					}
-					else{
+					} else {
 						this.$scanAudio.src = "../../static/czsb.mp3"
 						this.$scanAudio.play()
 						uni.showToast({
-							icon:'none',
+							icon: 'none',
 							title: "操作失败",
 							duration: 5000
 						});
 					}
 				})
-				
+
 			},
 			datatime() {
 				let dataTime = Format("yyyy-MM-dd hh:mm:ss", new Date());
 				return dataTime
 			},
 			//下拉
-			up(item,index) {
+			up(item, index) {
 				this.currentLuggageNum = item.luggageNum;
-				this.getluggage(this.currentLuggageNum,false);
+				this.getluggage(this.currentLuggageNum, false);
 				this.currentIndex = index
 				this.typeShow = false
 				this.maskTitle = '是否确定要拉下该件行李?'
@@ -546,49 +590,46 @@
 				this.$scanAudio.play()
 			},
 			confirm: function(e) { //确定按钮
-				this.currentLuggage.abnormalState="OFF"
-				this.currentLuggage.abnormalName="拉下"
+				this.currentLuggage.abnormalState = "OFF"
+				this.currentLuggage.abnormalName = "拉下"
 				let datas = this.setLuggage()
 				this.sendData(datas)
 			},
 			confirm2(e) { //确定一键操作按钮
 				uni.showToast({
-					icon:'none',
+					icon: 'none',
 					title: "操作中",
 					duration: 5000
 				});
 				let data = this.listdate2
 				let datas = this.setLuggage(data)
 				this.sendData(datas)
-				// this.listdate2.map((item,index) =>{
-				// 	this.currentLuggage = item;
-				// 	this.currentLuggageNum = item.luggageNum;
-					
-				// 	this.sendData()
-				// })
 			},
-			
+
 			confirm3: function(e) { //确定按钮
+				this.$devapi.RFIDStartInventory()
+				this.$devapi.ISRFIDOPEN = !this.$devapi.ISRFIDOPEN
 				this.flightNO = this.currentLuggage.carrierFlights
 				this.flightDate = this.currentLuggage.carrierFlightsDate
+				this.landAirport = this.currentLuggage.landAirport
+				this.outAirport = this.currentLuggage.outAirport
 				this.getFlightData();
-				this.getluggageList();
 			},
 			cancel3: function() { //取消按钮
-				this.flightNO=null
+				this.flightNO = "null"
 			},
 			cancel: function() { //取消按钮
 				console.log('您点击了取消按钮');
 			},
-			toDetail(num){
+			toDetail(num) {
 				uni.navigateTo({
 					// url: "/pages/detail/index?luggageNum=" + data.msg
-					url: "/pages/detail/index?luggageNum="+num
+					url: "/pages/detail/index?luggageNum=" + num
 				})
 			},
 			clickOrder() {
 				this.typeShow = false
-				this.maskTitle2 = '是否确定要一键'+this.navname+'全部行李?'
+				this.maskTitle2 = '是否确定要一键' + this.navname + '全部行李?'
 				this.headername = '操作提示'
 				this.$refs.showMask2.show();
 				this.$scanAudio.src = "../../static/yjzc.mp3"
@@ -606,30 +647,30 @@
 			},
 			fall() {
 				uni.navigateBack({
-					delta:1
+					delta: 1
 				})
 			},
 			clicker(e) {
 				this.action = !this.action
-				if(e != this.action){
+				if (e != this.action) {
 					this.action = e
 				}
 			},
-			
+
 			compareDesc(propertyName) {
-			  return function(object1, object2) {
-			    var value1 = object1[propertyName];
-			    var value2 = object2[propertyName];
-			    if(value2 < value1) {
-			      return -1;
-			    } else if(value2 > value1) {
-			      return 1;
-			    } else {
-			      return 0;
-			    }
-			  }
+				return function(object1, object2) {
+					var value1 = object1[propertyName];
+					var value2 = object2[propertyName];
+					if (value2 < value1) {
+						return -1;
+					} else if (value2 > value1) {
+						return 1;
+					} else {
+						return 0;
+					}
+				}
 			},
-			
+
 			movetran(e) {
 				let arr = uni.getSystemInfoSync().windowHeight;
 				this.dataheight = (e.changedTouches[0].clientY / 16) + 'rem'
@@ -706,7 +747,7 @@
 						}
 					}
 
-					.fight_center{
+					.fight_center {
 						width: 3rem;
 						display: flex;
 						flex-direction: column;
@@ -717,6 +758,7 @@
 						font-size: 16px;
 						line-height: 24px;
 						font-weight: 700;
+
 						>.aircraft {
 							width: 1.75rem;
 							height: 1.75rem;
@@ -725,19 +767,22 @@
 						}
 					}
 				}
-				>.craids{
+
+				>.craids {
 					height: 5.625rem;
 					padding: 0 2.5625rem 0 2.5625rem;
 					display: flex;
 					justify-content: center;
 					align-items: center;
-					>p{
+
+					>p {
 						color: rgb(189, 214, 231);
 						font-family: Noto Sans SC;
 						font-size: 13px;
 						font-weight: 500;
 					}
 				}
+
 				>.scanning {
 					height: 12rem;
 					padding: 0 1.5rem 0 1.5rem;
@@ -856,6 +901,7 @@
 					width: 100%;
 					display: flex;
 					align-items: center;
+					justify-content: space-between;
 					margin-left: 1rem;
 					border-bottom: 1px solid rgb(238, 238, 238);
 
@@ -866,26 +912,27 @@
 						background: url('../../static/xia.png') no-repeat;
 						background-size: 100% 100%;
 					}
-					
-					>.error{
+
+					>.error {
 						width: 20%;
-						color:red
+						color: red
 					}
-					>.normal{
+
+					>.normal {
 						width: 20%;
-						color:#4682b4 
+						color: #4682b4
 					}
+
 					>.list {
-						width: 70%;
 						position: relative;
-						height: 3.75rem;
+						height: 3rem;
 						display: flex;
 						align-items: center;
 						transform: all 3s;
 						right: 0;
 						color: rgb(0, 0, 0);
 						font-family: Noto Sans SC;
-						font-size: 13px;
+						font-size: 16px;
 						font-weight: 500;
 					}
 
@@ -913,6 +960,7 @@
 					width: 100%;
 					display: flex;
 					align-items: center;
+					justify-content: space-between;
 					margin-left: 1rem;
 					border-bottom: 1px solid rgb(238, 238, 238);
 
@@ -927,18 +975,16 @@
 					}
 
 					>.list {
-						width: 97%;
 						position: relative;
-						height: 3.75rem;
+						height: 3rem;
 						display: flex;
 						align-items: center;
-						right: 3.75rem;
-						// right: 0;
+						transform: all 3s;
+						right: 0;
 						color: rgb(0, 0, 0);
 						font-family: Noto Sans SC;
-						font-size: 13px;
+						font-size: 16px;
 						font-weight: 500;
-						transform: all 3s;
 					}
 
 					>.delete {

+ 0 - 1
uni_modules/uni-easyinput/components/uni-easyinput/common.js

@@ -8,7 +8,6 @@ export const debounce = function(func, wait = 1000, immediate = true) {
 	let timer;
 	console.log(1);
 	return function() {
-		console.log(123);
 		let context = this,
 			args = arguments;
 		if (timer) clearTimeout(timer);

BIN
unpackage/cache/apk/__UNI__5D0FFCC_cm.apk


+ 1 - 0
unpackage/cache/apk/apkurl

@@ -0,0 +1 @@
+https://ide.dcloud.net.cn/build/download/73da4990-f521-11ed-aca7-f1edbd0db623

Plik diff jest za duży
+ 0 - 0
unpackage/cache/apk/cmManifestCache.json


+ 3 - 0
unpackage/cache/certdata

@@ -0,0 +1,3 @@
+andrCertfile=D:/HBuilderX/plugins/app-safe-pack/Test.keystore
+andrCertAlias=android
+andrCertPass=ep/Tdjka4Y7WYqDB6/S7dw==

BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-hdpi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-xhdpi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-xxhdpi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/icon-android-xxxhdpi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/splash-android-hdpi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/splash-android-xhdpi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/.manifest/splash-android-xxhdpi.png


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappchooselocation.js


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/__uniapperror.png


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappes6.js


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappopenlocation.js


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniapppicker.js


Plik diff jest za duży
+ 6 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappquill.js


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappquillimageresize.js


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappscan.js


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/__uniappsuccess.png


+ 25 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/__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>

+ 8 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/app-config-service.js

@@ -0,0 +1,8 @@
+
+var isReady=false;var onReadyCallbacks=[];
+var isServiceReady=false;var onServiceReadyCallbacks=[];
+var __uniConfig = {"pages":["pages/index/index","pages/login/index","pages/flightdetails/index","pages/sorting/index","pages/baggagecheck/index","pages/mypage/index","pages/myrecords/index","pages/search/index","pages/loadingdetails/index","pages/help/index","pages/individual/index","pages/extract/index","pages/abnormal/index","pages/baggageEntry/index","pages/locationEntry/index","pages/detail/index","pages/message/message"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8","navigationStyle":"custom"},"tabBar":{"color":"#7A7E83","selectedColor":"#33A1A5","borderStyle":"black","fontSize":"14px","backgroundColor":"#ffffff","list":[{"pagePath":"pages/index/index","text":"首页","iconPath":"static/ic_home_tabbar_default.png","selectedIconPath":"static/ic_home_tabbar_check.png"},{"pagePath":"pages/message/message","text":"消息","iconPath":"static/ic_message_tabbar_default.png","selectedIconPath":"static/ic_message_tabbar_check.png"},{"pagePath":"pages/mypage/index","text":"我的","iconPath":"static/ic_user_tabbar_default.png","selectedIconPath":"static/ic_user_tabbar_check.png"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":false,"autoclose":false},"appname":"BRS","compilerVersion":"3.8.7","entryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
+var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"首页"}},{"path":"/pages/login/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/flightdetails/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/sorting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/baggagecheck/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/mypage/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationStyle":"custom"}},{"path":"/pages/myrecords/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/search/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/loadingdetails/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/help/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/individual/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/extract/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/abnormal/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/baggageEntry/index","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/locationEntry/index","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/detail/index","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/message/message","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}}];
+__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
+__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
+service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});

+ 1 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/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()})([]);

Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/app-service.js


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/app-view.js


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/manifest.json


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/nativeplugins/Lizii-uhfmagic-sdk/android/uhfmagicrf-android-release.aar


+ 28 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/nativeplugins/Lizii-uhfmagic-sdk/package.json

@@ -0,0 +1,28 @@
+{
+	"name": "Lizii-magic RFID 插件",  
+	"id": "Lizii-uhfmagic-sdk",  
+	"version": "1.0",  
+	"description": "Lizii-uhfmagic RFID 插件",  
+	"_dp_type":"nativeplugin",  
+	"_dp_nativeplugin":{ 
+		"android": {
+			"plugins": [  
+				{
+					"type": "module",  
+					"name": "Lizii-uhfmagic-sdk",
+				    "class": "cn.lizii.uhfmagicrf.UhfMagicModule"
+				}
+			],  
+			"hooksClass": "cn.lizii.uhfmagicrf.UHFMagicAppProxy",  
+			"integrateType": "aar",  
+			"dependencies": [
+			], 
+			"abis": [
+				"armeabi",
+				"armeabi-v7a",
+				"arm64-v8a"
+			],
+			"minSdkVersion": "19"
+		}
+	}
+}

BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/Icon@1x.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/bagzu.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/bei.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/beijing.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/bg.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/czhb.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/czsb.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/gongzuo.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/gou.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/hang.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/hqhb.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/hqxl.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_code_dark.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_home_tabbar_check.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_home_tabbar_default.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_message_tabbar_check.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_message_tabbar_default.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_user_tabbar_check.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ic_user_tabbar_default.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ico.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/ico@1x.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/icos.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/jilu.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/kaiguan.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/kscz.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/lg 64 brs.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/login.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/logo.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/mima.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/qzcz.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/radio.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/saoma.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/search.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/sflx.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/shi.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/shuai.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/vector@1x.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/voice.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/xia.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/static/yjzc.mp3


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/delete.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/nosee.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/search.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/liu-search/static/see.png


BIN
unpackage/cache/wgt/__UNI__5D0FFCC/uni_modules/uni-icons/components/uni-icons/uniicons.ttf


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/view.css


Plik diff jest za duży
+ 0 - 0
unpackage/cache/wgt/__UNI__5D0FFCC/view.umd.min.js


BIN
unpackage/debug/android_debug.apk


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików