Переглянути джерело

图片新增,中英文转换,设备新增

asd26269546 2 роки тому
батько
коміт
b954097238
63 змінених файлів з 1812 додано та 781 видалено
  1. 4 1
      lang/cn.js
  2. 67 50
      lang/en.js
  3. 103 0
      lang/en2.js
  4. 140 140
      manifest.json
  5. 21 0
      pages.json
  6. 9 0
      pages/equipment/clothInspecting.vue
  7. 57 16
      pages/equipment/equipment.vue
  8. 11 2
      pages/equipment/injectionMolding.vue
  9. 451 0
      pages/equipment/injectionNeedle.vue
  10. 199 284
      pages/equipment/rollPrinter.vue
  11. 405 0
      pages/equipment/threadedHead.vue
  12. 69 33
      pages/equipment/warpKnitting.vue
  13. 1 1
      pages/user/login.vue
  14. 18 8
      pages/user/user.vue
  15. BIN
      static/icon_bpq.png
  16. BIN
      static/icon_flp.png
  17. BIN
      static/icon_kjsj.png
  18. BIN
      static/icon_mjzt.png
  19. BIN
      static/icon_yskqzf.png
  20. BIN
      static/icon_yxms.png
  21. BIN
      static/icon_yxzt.png
  22. BIN
      static/img_jbj.png
  23. 0 1
      unpackage/dist/build/app-plus/app-config-service.js
  24. 0 0
      unpackage/dist/build/app-plus/app-service.js
  25. 0 0
      unpackage/dist/build/app-plus/app-view.js
  26. 0 0
      unpackage/dist/build/app-plus/manifest.json
  27. BIN
      unpackage/dist/build/app-plus/static/icon_bpq.png
  28. BIN
      unpackage/dist/build/app-plus/static/icon_flp.png
  29. BIN
      unpackage/dist/build/app-plus/static/icon_kjsj.png
  30. BIN
      unpackage/dist/build/app-plus/static/icon_mjzt.png
  31. BIN
      unpackage/dist/build/app-plus/static/icon_yskqzf.png
  32. BIN
      unpackage/dist/build/app-plus/static/icon_yxms.png
  33. BIN
      unpackage/dist/build/app-plus/static/icon_yxzt.png
  34. BIN
      unpackage/dist/build/app-plus/static/img_jbj.png
  35. 0 1
      unpackage/dist/dev/app-plus/app-config-service.js
  36. 0 0
      unpackage/dist/dev/app-plus/app-service.js
  37. 255 244
      unpackage/dist/dev/app-plus/app-view.js
  38. BIN
      unpackage/dist/dev/app-plus/static/icon_bpq.png
  39. BIN
      unpackage/dist/dev/app-plus/static/icon_flp.png
  40. BIN
      unpackage/dist/dev/app-plus/static/icon_kjsj.png
  41. BIN
      unpackage/dist/dev/app-plus/static/icon_mjzt.png
  42. BIN
      unpackage/dist/dev/app-plus/static/icon_yskqzf.png
  43. BIN
      unpackage/dist/dev/app-plus/static/icon_yxms.png
  44. BIN
      unpackage/dist/dev/app-plus/static/icon_yxzt.png
  45. BIN
      unpackage/dist/dev/app-plus/static/img_jbj.png
  46. BIN
      unpackage/res/icons/1024x1024.png
  47. BIN
      unpackage/res/icons/120x120.png
  48. BIN
      unpackage/res/icons/144x144.png
  49. BIN
      unpackage/res/icons/152x152.png
  50. BIN
      unpackage/res/icons/167x167.png
  51. BIN
      unpackage/res/icons/180x180.png
  52. BIN
      unpackage/res/icons/192x192.png
  53. BIN
      unpackage/res/icons/20x20.png
  54. BIN
      unpackage/res/icons/29x29.png
  55. BIN
      unpackage/res/icons/40x40.png
  56. BIN
      unpackage/res/icons/58x58.png
  57. BIN
      unpackage/res/icons/60x60.png
  58. BIN
      unpackage/res/icons/72x72.png
  59. BIN
      unpackage/res/icons/76x76.png
  60. BIN
      unpackage/res/icons/80x80.png
  61. BIN
      unpackage/res/icons/87x87.png
  62. BIN
      unpackage/res/icons/96x96.png
  63. 2 0
      util/http.js

+ 4 - 1
lang/cn.js

@@ -101,6 +101,9 @@ export const lang = {
 		alignmentSpeed:"对版速度"
 	},
 	login:{
+		deviceInformation:"设备信息",
+		switchLanguage:'switch English',
+		logOut:'退出登录',
 		title:"ByteSailing管理系统",
 		form:{
 			tenantId:"请输入租户ID",
@@ -109,7 +112,7 @@ export const lang = {
 			
 		},
 		loginText:'登录',
-		demo:"demo示例",
+		demo:"demo",
 		agreement:{
 			text:"已阅读并同意:Bytesailing",
 			clause:"服务条款",

+ 67 - 50
lang/en.js

@@ -3,90 +3,107 @@ export const lang = {
 	equipment:{
 		stat:"Status",
 		model:'Model No.',
-		running:"Running",
+		running:" Running",
 		offLine:"Off-line",
 		standby:"Standby",
-		auxiliaryMachine:"Auxiliary Equipment",
+		auxiliaryMachine:"Auxiliary",
 		yield:"Output",
-		temperature:"Average Temperature",
-		humidity:"Average Humidity",
-		equipmentStatus:"Machine State",
-		operatingMode:"Operation Mode",
+		temperature:"Avg. Temp.",
+		humidity:"Avg.HMD",
+		equipmentStatus:"Mach. State",
+		operatingMode:"Operate Mode",
 		productionData:"Output Data",
-		ultimateOutput:"Limit Output",
-		actualOutput:"Actual Output",
+		ultimateOutput:"Limite O/P",
+		actualOutput:"Actual O/P",
 	},
 	sterilization:{
-		name:"ETO Sterilization Machine",
+		name:"EO Machine",
 		pressure:"Air Pressure",
 		gasTemp:"Gas Temp",
-		EO:"E.O.Temperature",
-		waterTemperature:"Water Temperature",
+		EO:"E.O. Temp.",
+		waterTemperature:"Water Temp.",
 		humidity:"Humidity",
-		averageTemperature:"Average Temperature",
-		hotbox:"Temperature Box",
+		averageTemperature:"Avg. Temp.",
+		hotbox:"Temp. Box",
 	},
 	threadedHead:{
-		name:"Lock Connector",
-		converterStartup:"Frequency Converter Start",
-		mainCompressedAirValve:"Compressed Air Main Valve",
-		separatingDisc:"Separation Plate",
-		injectionValve:"Spaying Valve",
-		stationVibrationDisk:"Station Vibrate-Feeder",
+		name:"Lock Head",
+		converterStartup:"Freq. Conv. Start",
+		mainCompressedAirValve:"Comp. Air Valve",
+		separatingDisc:"Separate disc",
+		injectionValve:"Spay Valve",
+		stationVibrationDisk:"Vibrator",
 	},
 	rollPrinting:{
-		name:"Pad Printing Machine",
-		frequencyOfMainMotor:"Main Motor Frequency",
-		injectionValve:"Oil Spaying Valve",
-		variableFrequencyMotor:"Variable Frequency Motor",
-		frequency:"Frequency",
-		heatingMotor:"eating Motor",
-		firstCurrentTemperature:"1st Current Temperature",
-		secondCurrentTemperature:"2nd Current Temperature",
-		fuelInjectionMotor:"Oil Spaying Motor",
-		oilPumpMotor:"Oil Pump Motor",
-		storageMotor:"Material Storage Motor",
-		centrifugalMotor:"Centrifuge Motor",
-		
+		name:"Pad Printer",
+		frequencyOfMainMotor:"Main Motor Freq.",
+		injectionValve:"Spay Valve",
+		variableFrequencyMotor:"VFD Motor",
+		frequency:"Freq.",
+		heatingMotor:"Heat Motor",
+		firstCurrentTemperature:"1st Current Temp.",
+		secondCurrentTemperature:"2nd Current Temp.",
+		fuelInjectionMotor:"Spay Motor",
+		oilPumpMotor:"Pump Motor",
+		storageMotor:"Storage Motor",
+		centrifugalMotor:"Centrif. Motor",
 	},
 	injection:{
-		name:"Plastic Injection Molding Machine",
-		MoldStatus:"Mold Status",
-		hydraulicPress:"Hydraulic Machine",
-		hydraulicOilTemperature:"Hydraulic Oil Temperature",
-		cylinderTemperature:"Barrel Temperature",
+		name:"IMM",
+		MoldStatus:"Mold State",
+		hydraulicPress:"HYD Machine",
+		hydraulicOilTemperature:"HYD Oil Temp.",
+		cylinderTemperature:"Barrel Temp.",
 		channel:"Channel",
 		pressure:"Pressure",
 		speed:"Speed",
-		videoInstruction:"Video instruction"
 	},
 	assemblingMachine:{
 		name:'Assembly Machine',
 		mainMotor:"Main Motor",
 		valve:"Air Valve",
 		centrifuge:"Centrifuge",
-		frequencyOfMainMotor:"Main Motor Frequency",
-		stopperRate:"Gasket Rate ",
+		frequencyOfMainMotor:"Main Motor Freq.",
 		tipVelocity:"Needle Rate",
-		rubberStopperSentHorizontally:"Gasket Horizontal-Feeding",
-		needleTipFlatFeeding:"Needle Horizontal-Feeding ",
+		rubberStopperSentHorizontally:"Gasket Feeding",
+		needleTipFlatFeeding:"Needle Feeding",
+		},
+	warpKnitting:{
+		name:'warp Knitting',
+		spindleSpeed:'Speed',
+		jaca:'PJ',
+		traverse:'EL',
+		currentClothLength:'current Length',
+		setClothLength:'set Length',
+		density:'density',
+		warpLetOffAxis:'EBC',
+		remainingTurns:'remainTurns',
+		timeRemaining:'time left',
+		traction:' EAC',
+		crimp:' take up',
+		processwidth:'width',
+		processHeight:'Height',
+		totalNumberOfAxles:' total bar',
 	},
 	packer:{
 		name:'Packing Machine',
-		production:'12 hours Output',
-		plannedOutput:"Planned Output ",
+		production:'12h Output',
+		plannedOutput:"Planned O/P",
 		versionsPerMinute:"Version/Minute",
 		numberOfModules:"pcs/mold",
-		singleModeDistance:'distance each mold',
-		alignmentDistance:"version-matching distance",
-		jogSpeed:"jog speed ",
+		singleModeDistance:'Space each mold',
+		alignmentDistance:"Version Distance",
+		jogSpeed:"jog speed",
 		chainSpeed:'Chain Speed',
-		alignmentSpeed:"version-matching speed"
+		alignmentSpeed:"Version Speed",
 	},
 	login:{
+		deviceInformation:"device information",
+		switchLanguage:'切换中文',
+		logOut:'log out',
 		title:"ByteSailing Management System",
 		form:{
-			tenantId:"Please enter the user ID",
+			tenantId:"Please enter the tenant ID",
 			username:"Please enter the account number",
 			password:"Please enter the password",
 			
@@ -94,7 +111,7 @@ export const lang = {
 		loginText:'Log In',
 		demo:"demo",
 		agreement:{
-			text:"Red and Agree bytesailing",
+			text:"Read and Agree:ByteSailing",
 			clause:"Service Term",
 			agreement:"Privacy Agreement",
 			and:"and"

+ 103 - 0
lang/en2.js

@@ -0,0 +1,103 @@
+
+export const lang = {
+	equipment:{
+		stat:"Status",
+		model:'Model No.',
+		running:"Running",
+		offLine:"Off-line",
+		standby:"Standby",
+		auxiliaryMachine:"Auxiliary Equipment",
+		yield:"Output",
+		temperature:"Average Temperature",
+		humidity:"Average Humidity",
+		equipmentStatus:"Machine State",
+		operatingMode:"Operation Mode",
+		productionData:"Output Data",
+		ultimateOutput:"Limit Output",
+		actualOutput:"Actual Output",
+	},
+	sterilization:{
+		name:"ETO Sterilization Machine",
+		pressure:"Air Pressure",
+		gasTemp:"Gas Temp",
+		EO:"E.O.Temperature",
+		waterTemperature:"Water Temperature",
+		humidity:"Humidity",
+		averageTemperature:"Average Temperature",
+		hotbox:"Temperature Box",
+	},
+	threadedHead:{
+		name:"Lock Connector",
+		converterStartup:"Frequency Converter Start",
+		mainCompressedAirValve:"Compressed Air Main Valve",
+		separatingDisc:"Separation Plate",
+		injectionValve:"Spaying Valve",
+		stationVibrationDisk:"Station Vibrate-Feeder",
+	},
+	rollPrinting:{
+		name:"Pad Printing Machine",
+		frequencyOfMainMotor:"Main Motor Frequency",
+		injectionValve:"Oil Spaying Valve",
+		variableFrequencyMotor:"Variable Frequency Motor",
+		frequency:"Frequency",
+		heatingMotor:"eating Motor",
+		firstCurrentTemperature:"1st Current Temperature",
+		secondCurrentTemperature:"2nd Current Temperature",
+		fuelInjectionMotor:"Oil Spaying Motor",
+		oilPumpMotor:"Oil Pump Motor",
+		storageMotor:"Material Storage Motor",
+		centrifugalMotor:"Centrifuge Motor",
+		
+	},
+	injection:{
+		name:"Plastic Injection Molding Machine",
+		MoldStatus:"Mold Status",
+		hydraulicPress:"Hydraulic Machine",
+		hydraulicOilTemperature:"Hydraulic Oil Temperature",
+		cylinderTemperature:"Barrel Temperature",
+		channel:"Channel",
+		pressure:"Pressure",
+		speed:"Speed",
+		videoInstruction:"Video instruction"
+	},
+	assemblingMachine:{
+		name:'Assembly Machine',
+		mainMotor:"Main Motor",
+		valve:"Air Valve",
+		centrifuge:"Centrifuge",
+		frequencyOfMainMotor:"Main Motor Frequency",
+		stopperRate:"Gasket Rate ",
+		tipVelocity:"Needle Rate",
+		rubberStopperSentHorizontally:"Gasket Horizontal-Feeding",
+		needleTipFlatFeeding:"Needle Horizontal-Feeding ",
+	},
+	packer:{
+		name:'Packing Machine',
+		production:'12 hours Output',
+		plannedOutput:"Planned Output ",
+		versionsPerMinute:"Version/Minute",
+		numberOfModules:"pcs/mold",
+		singleModeDistance:'distance each mold',
+		alignmentDistance:"version-matching distance",
+		jogSpeed:"jog speed ",
+		chainSpeed:'Chain Speed',
+		alignmentSpeed:"version-matching speed"
+	},
+	login:{
+		title:"ByteSailing Management System",
+		form:{
+			tenantId:"Please enter the user ID",
+			username:"Please enter the account number",
+			password:"Please enter the password",
+			
+		},
+		loginText:'Log In',
+		demo:"demo",
+		agreement:{
+			text:"Red and Agree bytesailing",
+			clause:"Service Term",
+			agreement:"Privacy Agreement",
+			and:"and"
+		},
+	},
+}

+ 140 - 140
manifest.json

@@ -1,142 +1,142 @@
 {
-	"name": "GrandStar Textile IoT",
-	"appid": "__UNI__C76B472",
-	"description": "GrandStar Textile IoT",
-	"versionName": "1.0.6",
-	"versionCode": 106,
-	"transformPx": false,
-	/* 5+App特有相关 */
-	"app-plus": {
-		"compatible": {
-			"ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持  
-		},
-		"usingComponents": true,
-		"nvueStyleCompiler": "uni-app",
-		"compilerVersion": 3,
-		"splashscreen": {
-			"alwaysShowBeforeRender": true,
-			"waiting": true,
-			"autoclose": true,
-			"delay": 0
-		},
-		/* 模块配置 */
-		"modules": {
-			"VideoPlayer": {}
-		},
-		/* 应用发布信息 */
-		"distribute": {
-			/* android打包配置 */
-			"android": {
-				"permissions": [
-					"<uses-feature android:name=\"android.hardware.camera\"/>",
-					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-				]
-			},
-			/* ios打包配置 */
-			"ios": {
-				"dSYMs": false,
-				"idfa": false,
-				"privacyDescription": {
-					"NSPhotoLibraryUsageDescription": "该应用需要读取你的相册,以便进行及时通讯",
-					"NSPhotoLibraryAddUsageDescription": "该应用需要你的相机,拍摄上传用户信息,以便进行及时通讯",
-					"NSCameraUsageDescription": "该应用需要你的摄像头,以便你进行视频实时通讯",
-					"NSMicrophoneUsageDescription": "该应用需要使用你的麦克风,以便你进行语音通话"
-				}
-			},
-			/* SDK配置 */
-			"sdkConfigs": {
-				"ad": {}
-			},
-			"splashscreen": {
-				"useOriginalMsgbox": true
-			},
-			"icons": {
-				"android": {
-					"xxxhdpi": "unpackage/res/icons/192x192.png",
-					"xxhdpi": "unpackage/res/icons/144x144.png",
-					"xhdpi": "unpackage/res/icons/96x96.png",
-					"hdpi": "unpackage/res/icons/72x72.png"
-				},
-				"ios": {
-					"appstore": "unpackage/res/icons/1024x1024.png",
-					"iphone": {
-						"app@2x": "unpackage/res/icons/120x120.png",
-						"app@3x": "unpackage/res/icons/180x180.png",
-						"notification@2x": "unpackage/res/icons/40x40.png",
-						"notification@3x": "unpackage/res/icons/60x60.png",
-						"settings@2x": "unpackage/res/icons/58x58.png",
-						"settings@3x": "unpackage/res/icons/87x87.png",
-						"spotlight@2x": "unpackage/res/icons/80x80.png",
-						"spotlight@3x": "unpackage/res/icons/120x120.png"
-					},
-					"ipad": {
-						"app": "unpackage/res/icons/76x76.png",
-						"app@2x": "unpackage/res/icons/152x152.png",
-						"notification": "unpackage/res/icons/20x20.png",
-						"notification@2x": "unpackage/res/icons/40x40.png",
-						"proapp@2x": "unpackage/res/icons/167x167.png",
-						"settings": "unpackage/res/icons/29x29.png",
-						"settings@2x": "unpackage/res/icons/58x58.png",
-						"spotlight": "unpackage/res/icons/40x40.png",
-						"spotlight@2x": "unpackage/res/icons/80x80.png"
-					}
-				}
-			}
-		},
-		"nativePlugins": {}
-	},
-	/* 快应用特有相关 */
-	"quickapp": {},
-	/* 小程序特有相关 */
-	"mp-weixin": {
-		"appid": "wxe4a17c2bc0287527",
-		"setting": {
-			"urlCheck": false,
-			"es6": true
-		},
-		"usingComponents": true
-	},
-	"mp-alipay": {
-		"usingComponents": true
-	},
-	"mp-baidu": {
-		"usingComponents": true
-	},
-	"mp-toutiao": {
-		"usingComponents": true
-	},
-	"uniStatistics": {
-		"enable": false
-	},
-	"vueVersion": "2",
-	"h5": {
-		"devServer": {
-			"port": 8080,
-			"proxy": {
-				"/api": {
-					"target": "https://cfm.bytesail.cn",
-					"pathRewrite": {
-						"^/api": ""
-					}
-				}
-			}
-		},
-		"unipush": {
-			"enable": false
-		}
-	},
-	"fallbackLocale": "zh-Hans"
+    "name" : "GrandStar Textile IoT",
+    "appid" : "__UNI__C76B472",
+    "description" : "GrandStar Textile IoT",
+    "versionName" : "1.0.6",
+    "versionCode" : 106,
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "compatible" : {
+            "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持  
+        },
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {
+            "VideoPlayer" : {}
+        },
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {
+                "dSYMs" : false,
+                "idfa" : false,
+                "privacyDescription" : {
+                    "NSPhotoLibraryUsageDescription" : "该应用需要读取你的相册,以便进行及时通讯",
+                    "NSPhotoLibraryAddUsageDescription" : "该应用需要你的相机,拍摄上传用户信息,以便进行及时通讯",
+                    "NSCameraUsageDescription" : "该应用需要你的摄像头,以便你进行视频实时通讯",
+                    "NSMicrophoneUsageDescription" : "该应用需要使用你的麦克风,以便你进行语音通话"
+                }
+            },
+            /* SDK配置 */
+            "sdkConfigs" : {
+                "ad" : {}
+            },
+            "splashscreen" : {
+                "useOriginalMsgbox" : true
+            },
+            "icons" : {
+                "android" : {
+                    "xxxhdpi" : "unpackage/res/icons/192x192.png",
+                    "xxhdpi" : "unpackage/res/icons/144x144.png",
+                    "xhdpi" : "unpackage/res/icons/96x96.png",
+                    "hdpi" : "unpackage/res/icons/72x72.png"
+                },
+                "ios" : {
+                    "appstore" : "unpackage/res/icons/1024x1024.png",
+                    "iphone" : {
+                        "app@2x" : "unpackage/res/icons/120x120.png",
+                        "app@3x" : "unpackage/res/icons/180x180.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "notification@3x" : "unpackage/res/icons/60x60.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "settings@3x" : "unpackage/res/icons/87x87.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
+                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
+                    },
+                    "ipad" : {
+                        "app" : "unpackage/res/icons/76x76.png",
+                        "app@2x" : "unpackage/res/icons/152x152.png",
+                        "notification" : "unpackage/res/icons/20x20.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "proapp@2x" : "unpackage/res/icons/167x167.png",
+                        "settings" : "unpackage/res/icons/29x29.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "spotlight" : "unpackage/res/icons/40x40.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
+                    }
+                }
+            }
+        },
+        "nativePlugins" : {}
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "wxe4a17c2bc0287527",
+        "setting" : {
+            "urlCheck" : false,
+            "es6" : true
+        },
+        "usingComponents" : true
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "2",
+    "h5" : {
+        "devServer" : {
+            "port" : 8080,
+            "proxy" : {
+                "/api" : {
+                    "target" : "https://cfm.bytesail.cn",
+                    "pathRewrite" : {
+                        "^/api" : ""
+                    }
+                }
+            }
+        },
+        "unipush" : {
+            "enable" : false
+        }
+    },
+    "fallbackLocale" : "zh-Hans"
 }

+ 21 - 0
pages.json

@@ -129,6 +129,27 @@
 			}
 		},
 		{
+			"path": "pages/equipment/threadedHead",
+			"style": {
+				"navigationBarTitleText": "螺纹头",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/equipment/clothInspecting",
+			"style": {
+				"navigationBarTitleText": "验布机",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/equipment/injectionNeedle",
+			"style": {
+				"navigationBarTitleText": "注射针",
+				"navigationStyle": "custom"
+			}
+		},
+		{
 			"path": "pages/equipment/instructionsVideo",
 			"style": {
 				"navigationBarTitleText": "视频说明书",

+ 9 - 0
pages/equipment/clothInspecting.vue

@@ -0,0 +1,9 @@
+<template>
+	<div>验布机</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 57 - 16
pages/equipment/equipment.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="equipment">
 		<commons-header :isBack="false"></commons-header>
-		
+		<div>刷新</div>
 		<!-- <view  v-if="!isJinbian" class="search-warp">
 			<view class="left-select" @click="openSelectQd(2)">
 				<span class="icon">&#xe6c4;</span>
@@ -18,14 +18,15 @@
 			<ul>
 				<li v-for="i in listData" :key="i.id">
 					 <!-- v-if="i.type == 1" -->
-					<view class="list-warp"  @click="toDtl" v-if="i.type == 1">
+					<view class="list-warp"  @click="toDtl(i.equipmentNo,i.type)" v-if="i.type == 1 || i.type == 2 || i.type == 3 || i.type == 4 || i.type == 5  || i.type == 7">
 						<view class="list-main-info">
 							<view class="img">
 								<image src="../../static/images/icon_bzj@2x.png" mode=""></image>
 							</view>
 							<view class="text">
 								<view class="list-main-title">
-									{{$t('injection.name')}}
+									{{i.name}}
+									<!-- {{$t('injection.name')}} -->
 									<span class="commons-close">{{offLine}}</span>
 								</view>
 								<view class="list-main-model">
@@ -90,7 +91,7 @@
 					</view> -->
 				</li>
 				 <!-- v-if="i.type === 8" -->
-				<li @click="toDtl5"  v-for="i in listData" :key="i.id">
+				<li @click="toDtl5"  v-for="i in listData" :key="i.id" v-if="i.type === 9">
 					<view class="list-warp">
 						<view class="list-main-info">
 							<view class="img">
@@ -113,7 +114,7 @@
 					</view>
 					
 				</li>
-				<li  @click="toDtl2"  v-for="i in listData" :key="i.id" v-if="i.type == 9">
+				<li  @click="toDtl2"  v-for="i in listData" :key="i.id" v-if="i.type == 8">
 					<view class="list-warp">
 						<view class="list-main-info">
 							<view class="img">
@@ -176,9 +177,11 @@
 					分组1 <i class="iconfont">&#xe71b;</i>
 				</view> -->
 				<view class="list-content">
-					<view class="equ-list" @click="toDtl4()">
-						<view class="state" style="background:#999">
-							{{offLine}}
+					<view class="equ-list" @click="toDtl(i.equipmentNo,i.type)">
+						<view class="state" :style="!i.swichType ? 'background:#999' : ''">
+							
+							{{i.swichType ? running : offLine}}
+							
 						</view>
 						<view class="img-or-text">
 							<image src="../../static/jinbian/icon_jbj.png" mode=""></image>
@@ -238,16 +241,44 @@
 				listData:[],
 			}
 		},
-		onLoad() {
+		created() {
 			const v = this
-			v.$post('/api/syringe-production/factoryProduct/list',{}).then(res => {
-				
-				v.listData = res.data
-				console.log(v.listData )
-			})
+			v.getList()
 			
 		},
 		methods: {
+			getList(){
+				const v = this
+				v.$post('/api/syringe-production/factoryProduct/list',{}).then(res => {
+					for (var i = 0; i < res.data.length; i++) {
+						res.data[i].swichType = false
+						v.getDtl(res.data[i].equipmentNo,i)
+					}
+					v.listData = res.data
+					setTimeout(()=>{
+						v.getList()
+					},20000)
+				})
+			},
+			getDtl(_id, _index) {
+				const v = this
+				v.$post('/api/syringe-production/factoryProduct/getData', {
+					equipmentNo: _id
+				}).then(res => {
+					
+					const time1 = new Date(res.data.eventTime).getTime()
+					const time2 = new Date().getTime()
+					if (time1 + 600000 > time2) {
+						
+						v.listData[_index].swichType = true
+					} else {
+						v.listData[_index].swichType = false
+					}
+			
+				})
+			
+			
+			},
 			selectMaterialList(){
 				this.$refs.popup1.close()
 				this.$refs.popup2.close()
@@ -281,9 +312,19 @@
 					url: '/pages/equipment/sterilization'
 				})
 			},
-			toDtl(){
+			toDtl(_id,_type){
+				const equipmentObj = {
+					1:'injectionMolding',
+					2:'rollPrinter',
+					3:'assemblyMachine',
+					4:'threadedHead',
+					5:'injectionNeedle',
+					6:'warpKnitting',
+					7:'clothInspecting',
+				}
+				// 1 注塑机 2 滚印机 3 组装机 4 螺纹头 5 注射针 6经编机 7验布机
 				uni.navigateTo({
-					url: '/pages/equipment/injectionMolding'
+					url: '/pages/equipment/'+ equipmentObj[_type] +'?id=' + _id
 				})
 			},
 			toRouter(j) {

+ 11 - 2
pages/equipment/injectionMolding.vue

@@ -232,11 +232,20 @@
 				yeya:0,
 			}
 		},
-		onLoad() {
+		onLoad(option) {
 			const v = this
-			//v.qiehuan()
+			console.log(option)
+			v.getData(option.id)
 		},
 		methods: {
+			getData(_id){
+				const v = this
+				v.$post('/api/syringe-production/factoryProduct/getData',{equipmentNo:_id}).then(res => {
+					
+					
+					console.log(res )
+				})
+			},
 			toInstructionsVideo(){
 				uni.navigateTo({
 					url: '/pages/equipment/instructionsVideo'

+ 451 - 0
pages/equipment/injectionNeedle.vue

@@ -0,0 +1,451 @@
+<template>
+	<!--  注射针 -->
+	<view class="equipmentDtl">
+		<commons-header title=" 注射针"></commons-header>
+		<view class="equ-img">
+			<image src="../../static/img_jbj.png" mode=""></image>
+			<!-- <view class="err-modal">
+				<image src="../../static/icon_jb@2x.png" mode=""></image>
+			</view> -->
+		</view>
+		<view class="state">
+			<view class="state-box">
+				<image src="../../static/icon_sbzt.png" mode=""></image>
+				<view class="text">
+					<view class="label">
+						设备状态
+					</view>
+					<view class="state-text" style="color: #3FBF31;">
+						{{swichType ? '在线' : '离线'}}
+					</view>
+				</view>
+			</view>
+			<view class="state-box">
+				<image src="../../static/icon_gzms.png" mode=""></image>
+				<view class="text">
+					<view class="label">
+						工作模式 
+					</view>
+					<view class="state-text" style="color:#FF8800">
+						自动
+					</view>
+				</view>
+			</view>
+			
+		</view>
+		<view class="ebc-content">
+			<view class="commons-title">
+				上座
+			</view>
+			<ul>
+				<li>
+					<view class="list-long">
+						<view class="" style="display: flex;">
+							<image src="../../static/icon_yxzt.png" mode=""></image>
+							<view class="list-label" style="line-height: 80rpx;color: #666666;">运行状态</view>
+						</view>
+						<view class="list-val"  style="line-height: 80rpx;">
+							正常
+						</view>
+					</view>
+				</li>
+				<li>
+					<view class="list-long">
+						<view class="" style="display: flex;">
+							<image src="../../static/icon_yxms.png" mode=""></image>
+							<view class="list-label" style="line-height: 80rpx;color: #666666;">运行模式</view>
+						</view>
+						<view class="list-val"  style="line-height: 80rpx;">
+							自动
+						</view>
+					</view>
+				</li>
+				<li>
+					<view class="list-long">
+						<view class="" style="display: flex;">
+							<image src="../../static/icon_kjsj.png" mode=""></image>
+							<view class="list-label" style="line-height: 80rpx;color: #666666;">开机时间</view>
+						</view>
+						<view class="list-val"  style="line-height: 80rpx;">
+							6.5H
+						</view>
+					</view>
+				</li>
+			</ul>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getInfo
+	} from "@/util/api.js";
+	import Vue from 'vue'
+	import commonsHeader from '../../components/commons-header/index.vue'
+	export default {
+		components: {
+			commonsHeader
+		},
+		data() {
+			return {
+				userInfoData: [],
+				notificationData: [],
+				
+				equData:{
+					properties:{
+						status:{
+							main_speed:0,
+							bu_len:0,
+						},
+						parameter:{
+							max_bulen:0,
+						},
+					},
+					
+				},
+				axisData:[],
+				swichType:false,
+			}
+		},
+		onLoad(option) {
+			const v = this
+			//v.getData(option.id)
+		},
+		methods: {
+			getData(_id){
+				const v = this
+				
+				v.$post('/api/syringe-production/factoryProduct/getData',{equipmentNo:_id}).then(res => {
+					console.log(res.data)
+					this.axisData = []
+					
+					for (let key in res.data.properties.parameter) {
+						if(key.substring(0,11) === 'axis_allnum'){
+							this.axisData.push({
+								axis:res.data.properties.parameter[key],
+								index:key.substring(12,13),
+								curr:res.data.properties.status['curr_num_' + key.substring(12,13)] || 0,
+								time:res.data.properties.status['left_time_' + key.substring(12,13)] || 0,
+							})
+						}
+					}
+					function up(x,y){
+						return x.index -y.index;
+					} 
+					this.axisData.sort(up)
+					v.equData = res.data
+					const time1 = new Date(res.data.eventTime).getTime()
+					const time2 = new Date().getTime()
+					if(time1 + 600000 > time2){
+						this.swichType = true
+					}else{
+						this.swichType = false
+					}
+					console.log(time1,time2)
+				})
+				setTimeout(()=>{
+					if(v.equData) v.getData(_id)
+				},5000)
+			},
+			toRouter(j) {
+				console.log(j)
+				uni.navigateTo({
+					url: '/pages/' + j.menuKey + '/' + j.menuKey
+				})
+			},
+		},
+	}
+</script>
+
+<style lang="less">
+	.equipmentDtl {
+		background-color: #f0f0f0;
+		min-height: 100vh;
+		margin-top: 128rpx;
+		.ebc-content{
+			background-color: #fff;
+			margin: 24rpx 24rpx;
+			border-radius: 10rpx;
+			padding-bottom: 24rpx;
+			padding-top:8rpx;
+			.list-long{
+				height: 122rpx;
+				margin: 24rpx 24rpx 0;
+				display: flex;
+				justify-content: space-between;
+				background-color: #F1F1F1;
+				padding: 24rpx 24rpx;
+				box-sizing: border-box; 
+				border-radius: 10rpx;
+				font-size: 24rpx;
+				.list-val{
+					font-size: 32rpx;
+					
+				}
+				image{
+					width: 80rpx;
+					height: 80rpx;
+					margin-right: 24rpx;
+				}
+			}
+			.list-bc{
+				display: flex;
+				justify-content: space-between;
+				padding: 0 24rpx;
+				.bc-box{
+					height: 112rpx;
+					width: 48%;
+					display: flex;
+					background-color: #F1F1F1;
+					padding: 18rpx 24rpx;
+					box-sizing: border-box; 
+					border-radius: 10rpx;
+					font-size: 24rpx;
+					.list-val{
+						font-size: 32rpx;
+						font-weight: bold;
+					}
+					image{
+						width: 80rpx;
+						height: 80rpx;
+						margin-right: 24rpx;
+					}
+				}
+			}
+		}
+		.action{
+			display: flex;
+			justify-content: space-between;
+			margin: 24rpx 24rpx 0;
+			
+			li{
+				width: 32%;
+				text-align: center;
+				background-color: #fff;
+				font-size: 28rpx;
+				border-radius: 10rpx;
+				padding: 24rpx 0;
+				image{
+					width: 100rpx;
+					height: 100rpx;
+				}
+				.state-text{
+					text-align: center;
+				}
+			}
+		}
+		.rate-warp{ 
+			margin-top: 20rpx;
+			.sm-rate{
+				display: flex;
+				justify-content: space-between;
+				flex-wrap: wrap;
+				padding: 0 24rpx;
+				li{
+					
+					background-color: #fff;
+					border-radius: 10rpx;
+					height: 120rpx;
+					display: flex;
+					justify-content: space-between;
+					margin-top: 24rpx;
+					align-items: center;
+					padding: 0 24rpx;
+					width: 296rpx;
+					font-size: 28rpx;
+					color: #666;
+					.right-box{
+						font-size: 32rpx;
+						color: #333;
+						.line{
+							width: 70rpx;
+							height: 8rpx;
+							background: rgba(238,238,238,1);
+							border-radius: 4rpx;
+							margin-top: 6rpx;
+							.box{
+								width:50%;
+								background-color: #BB99F6;
+								height: 100%;
+								border-radius: 12rpx;
+							}
+						}
+					}
+				}
+			}
+			.big-rate{
+				li{
+					margin-top: 24rpx;
+					height: 128rpx;
+					display: flex;
+					align-items: center;
+					background-color: #fff;
+					margin: 0 24rpx;
+					border-radius: 10rpx;
+					padding: 0 24rpx;
+					
+					.text{
+						font-weight: 500;
+						font-size: 28rpx;
+						color: #333;
+					}
+					.line{
+						width: 240rpx;
+						margin-left: 90rpx;
+						height: 24rpx;
+						background: rgba(238,238,238,1);
+						margin-right: 40rpx;
+						border-radius: 12rpx;
+						
+						.box{
+							width:50%;
+							background-color: rgba(255,175,83,1);
+							height: 100%;
+							border-radius: 12rpx;
+						}
+					}
+				}
+			}
+			
+		}
+		.parts-list{
+			padding: 0 24rpx;
+			margin-top: 24rpx;
+			ul{
+				display: flex;
+				justify-content: space-between;
+			}
+			li{
+				width: 32%;
+				padding: 30rpx 0;
+				text-align: center;
+				position: relative;
+				background-color: #fff;
+				image{
+					width: 60rpx;
+					height: 60rpx;
+					display: block;
+					margin: 0 auto 20rpx;
+				}
+			}
+			.before{
+				width: 30rpx;
+				height: 30rpx;
+				border-radius: 50%;
+				background-color: rgba(204,204,204,0.2);
+				
+				display: block;
+				position: absolute;
+				right: 16rpx;
+				top: 16rpx;
+				
+			}
+			.before::before{
+				position: absolute;
+				display: block;
+				top: 7rpx;
+				left: 7rpx;
+				width: 19rpx; 
+				height: 19rpx;
+				border-radius: 50%;
+				content:" ";
+				background: #cccccc;
+				
+			}
+			.before.succes{
+				background-color: rgba(63,191,49,0.2);
+			}
+			.before.succes::before{
+				background: #3FBF31;
+			}
+		}
+		.echarts {
+			background: #fff;
+			margin: 24rpx 24rpx 0;
+			.content{
+				
+				.text{
+					font-size: 28rpx;
+					font-weight: 700;
+					color: #333;
+					text-align: center;
+					margin-bottom: 40rpx;
+				}
+			}
+			.title{
+				font-size: 28rpx;
+				height: 90rpx;
+				line-height: 90rpx;
+				display: flex;
+				padding: 0 24rpx;
+				font-weight: 500;
+				image{
+					width: 40rpx;
+					height: 40rpx;
+					margin-top: 25rpx;
+					margin-right: 16rpx;
+				}
+			}
+		}
+
+		.parts-list {}
+
+		.equ-img {
+			padding: 24rpx;
+			background-color: #ffffff;
+			position: relative;
+			image {
+				width: 100%;
+				height: 395rpx;
+			}
+			.err-modal{
+				position: absolute;
+				left: 0;
+				right: 0;
+				bottom: 0;
+				top: 0;
+				background: rgba(0,0,0,0.60);
+				text-align: center;
+				display: flex;
+				align-items: center;
+				
+				image{
+					width: 160rpx;
+					height: 160rpx;
+					margin: 0 auto;
+				}
+			}
+		}
+
+		.state {
+			display: flex;
+			justify-content: space-between;
+			margin: 24rpx 24rpx 0;
+
+			.state-box {
+				padding: 20rpx;
+				width: 48%;
+				background-color: #fff;
+				display: flex;
+				box-sizing: border-box;
+				border-radius: 10rpx;
+				.text{
+					padding: 12rpx 0;
+				}
+				.state-text{
+					font-size: 32rpx;
+					font-weight: bold;
+					margin-top: 5rpx;
+				}
+				.label{
+					font-weight: 400;
+					font-size: 28rpx;
+				}
+				image {
+					width: 110rpx;
+					height: 110rpx;
+				}
+			}
+		}
+	}
+</style>

+ 199 - 284
pages/equipment/rollPrinter.vue

@@ -1,40 +1,57 @@
 <template>
-	<!-- 注塑机 -->
-	<view class="equipmentDtl">
-		<commons-header title='注塑机'></commons-header>
+	<!-- 滚印机 -->
+	<view class="rollPrinter">
+		<commons-header title="滚印机"></commons-header>
 		<view class="equ-img">
-			<image src="../../static/images/zsj.png" mode=""></image>
-			<!-- <view class="err-modal">
-				<image src="../../static/images/icon_dqwd.png" mode=""></image>
-			</view> -->
+			<image src="../../static/images/img_jq@2x (2).png" mode=""></image>
+			<view class="err-modal">
+				<image src="../../static/images/icon_jb@2x.png" mode=""></image>
+			</view>
 		</view>
 		<view class="state">
 			<view class="state-box">
-				<image src="../../static/icon_sbzt.png" mode=""></image>
+				
 				<view class="text">
+					<image src="../../static/icon_sbzt1.png" mode=""></image>
 					<view class="label">
 						设备状态
 					</view>
-					<view class="state-text">
-						离线
-					</view>
+					
+				</view>
+				<view class="state-text">
+					正常
 				</view>
 			</view>
 			<view class="state-box">
-				<image src="../../static/icon_gzms.png" mode=""></image>
+				
 				<view class="text">
+					<image src="../../static/icon_gzms1.png" mode=""></image>
 					<view class="label">
 						工作模式
 					</view>
-					<view class="state-text">
-						离线
+					
+				</view>
+				<view class="state-text">
+					自动
+				</view>
+			</view>
+			<view class="state-box">
+				
+				<view class="text">
+					<image src="../../static/icon_zdjpl1.png" mode=""></image>
+					<view class="label">
+						主电机频率
 					</view>
+					
+				</view>
+				<view class="state-text">
+					300Hz
 				</view>
 			</view>
 		</view>
 		<view class="echarts">
 			<view class="title">
-				<image src="../../static/btn_kanban_blue.png" mode=""></image>
+				<image src="../../static/icon_clsj@2x.png" mode=""></image>
 				<span>产量数据</span>
 			</view>
 			<view class="content">
@@ -44,76 +61,123 @@
 				<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
 			</view>
 		</view>
+		
 		<view class="parts-list">
 			<ul>
 				<li>
-					<image src="../../static/btn_kanban_blue.png" mode=""></image>
+					<image src="../../static/icon_pyf.png" mode=""></image>
 					<view>
-						液压机
+						1#喷油阀
 					</view>
 					<view class="before succes">
 					</view>
 				</li>
 				<li>
-					<view class="temperature">
-						{{yeya}}℃
-					</view>
+					<image src="../../static/icon_pyf.png" mode=""></image>
 					<view>
-						液压油温度
+						2#喷油阀
 					</view>
-					<view class="before-icon">
-						<span class="iconfont">&#xe6c2;</span>
+					<view class="before">
 					</view>
 				</li>
 				<li>
-					<view class="temperature">
-						{{tongti}}℃
-					</view>
+					
+					<image src="../../static/icon_pyf.png" mode=""></image>
 					<view>
-						筒体温度
+						3#喷油阀
 					</view>
-					<view class="before-icon">
-						<span class="iconfont">&#xe6c2;</span>
+					<view class="before">
 					</view>
 				</li>
 			</ul>
 		</view>
-		<ul class="pressure-warp">
-			<li v-for="(i,index) in tongdao">
-				<view class="label">
-					通道{{index + 1}}
+		<view class="parts-list-2" style="margin-bottom: 0rpx;">
+			<view class="parts-list-2-box" style="margin-bottom: 0;">
+				<image src="../../static/icon_bpdj.png" mode=""></image>
+				<view class="">
+					变频点击
 				</view>
-				<view class="pressure-chart">
-					<view class="pressure-zhen"
-						:style="'transform: rotate('+ (i.yali - 50) *2.7 +'deg);'"
-					>
-						<image src="../../static/images/zhen.png" mode=""></image>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box" style="margin-bottom: 0;">
+				<image src="../../static/icon_pl.png" mode=""></image>
+				<view class="text" style="line-height: 40rpx;">
+					<p style="font-size: 32rpx;color: #333;font-weight: bold;margin-top: 10rpx;">300Hz</p>
+					<p style="color: #666;font-size: 28rpx;">频率</p>
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			
+		</view>
+		<view class="parts-list" style="margin-top: 0;">
+			<ul>
+				<li>
+					<image src="../../static/icon_jrdj.png" mode=""></image>
+					<view>
+						加热电机
+					</view>
+					<view class="before succes">
+					</view>
+				</li>
+				<li>
+					<view class="" style="line-height: 80rpx;font-size: 40rpx;font-weight: bold;">
+						80℃
+					</view>
+					<view>
+						第一当前温度   
+					</view>
+					<view class="before">
+					</view>
+				</li>
+				<li>
+					
+					<view class="" style="line-height: 80rpx;font-size: 40rpx;font-weight: bold;">
+						80℃
+					</view>
+					<view>
+						第二当前温度
 					</view>
-					<!-- :style="'background-image: conic-gradient(from 135deg ,#fff 90deg,#FFAF53 90deg,#FF8800 '+ (i.yali * 0.75 + 25) +'%, #EEEEEE 0%);'" -->
-					<view class="pressure-line"
-						
-					>
-						
+					<view class="before">
 					</view>
+				</li>
+			</ul>
+		</view>
+		<view class="parts-list-2">
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_pydj.png" mode=""></image>
+				<view class="">
+					喷油电机
 				</view>
-				<view class="pressure">
-					{{i.yali}} Bar
+				<view class="before">
 				</view>
-				<view style="padding-bottom: 40rpx;border-bottom:1rpx solid #DDDDDD;margin:0 40rpx">
-					压力{{index + 1}}
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_ybdj.png" mode=""></image>
+				<view class="text">
+					油泵电机
 				</view>
-				<view style="margin-top:40rpx">
-					速度{{index + 1}}
+				<view class="before">
 				</view>
-				<view class="num">
-					{{i.sudu}}%
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_xldj.png" mode=""></image>
+				<view class="">
+					蓄料电机
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_lxdj.png" mode=""></image>
+				<view class="text">
+					离心电机
 				</view>
-				<view class="line">
-					<view class="box" :style="'width:' + i.sudu + '%'"></view>
+				<view class="before">
 				</view>
-			</li>
-		</ul>
-		<button class="footer-btn" @click="toInstructionsVideo">视频说明书</button>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -129,69 +193,6 @@
 		},
 		data() {
 			return {
-				tongdao:[
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					}
-				],
-				tongdao1:[
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					}
-				],
-				tongdao2:[
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},
-					{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					},{
-						name:"通道1",
-						yali:0,
-						sudu:0,
-					}
-				],
 				userInfoData: [],
 				notificationData: [],
 				opts: {
@@ -215,62 +216,38 @@
 					}
 				},
 				chartData: {
-					categories: ["8", "9", "10", "11", "12", "13"],
-					series: [
-						{
-							name: "实际产量",
-							data: [0, 0, 0, 0, 0, 0]
-						},{
-							name: "极限产量",
-							data: [0, 0, 0, 0, 0, 0]
+					categories: ["2016", "2017", "2018", "2019", "2020", "2021"],
+					series: [{
+							name: "产量A",
+							data: [35, 8, 25, 37, 4, 20]
 						},
+						{
+							name: "产量B",
+							data: [70, 40, 65, 100, 44, 68]
+						}
 					]
-				},
-				qiehuantype:1,
-				tongti:0,
-				yeya:0,
+				}
 			}
 		},
 		onLoad() {
 			const v = this
-			//v.qiehuan()
+			// v.$post('/wx/login/getUserInfo').then(res => {
+			// 	v.userInfoData = res.data
+			// 	Vue.prototype.$userInfo = res.data
+			// 	uni.setStorage({
+			// 		key: "userInfo",
+			// 		data: res.data,
+			// 		success(res) {
+
+			// 		},
+			// 		fail(res) {}
+			// 	})
+			// })
+			// v.$post('/wx/message/notification',{}).then(res=>{
+			// 	v.notificationData = res.data
+			// })
 		},
 		methods: {
-			toInstructionsVideo(){
-				uni.navigateTo({
-					url: '/pages/equipment/instructionsVideo'
-				})
-			},
-			qiehuan(){
-				const tongdao = [
-					{
-						name:"通道1",
-						yali:10 + (Math.round(Math.random()*100) - 50) / 10,
-						sudu:70 + (Math.round(Math.random()*100) - 50) / 10,
-					},
-					{
-						name:"通道1",
-						yali:50 + (Math.round(Math.random()*100) - 50) / 10,
-						sudu:80 + (Math.round(Math.random()*100) - 50) / 10,
-					},
-					{
-						name:"通道1",
-						yali:80 + (Math.round(Math.random()*100) - 50) / 10,
-						sudu:50 + (Math.round(Math.random()*100) - 50) / 10,
-					},{
-						name:"通道1",
-						yali:40 + (Math.round(Math.random()*100) - 50) / 10,
-						sudu:40 + (Math.round(Math.random()*100) - 50) / 10,
-					}
-				]
-				this.tongdao = tongdao
-				this.tongti = 82 + (Math.round(Math.random()*100) - 50) / 10
-				this.yeya = 82 + (Math.round(Math.random()*100) - 50) / 10
-				
-				setTimeout(()=>{
-					this.qiehuan()
-				},5000)
-			},
 			toRouter(j) {
 				console.log(j)
 				uni.navigateTo({
@@ -281,113 +258,63 @@
 	}
 </script>
 
-<style lang="less" scoped>
-	.equipmentDtl {
+<style lang="less">
+	.rollPrinter {
 		background-color: #f0f0f0;
 		min-height: 100vh;
 		margin-top: 128rpx;
-		.footer-btn{
-			margin: 20rpx;
-			background: blue;
-			color: #fff;
-		}
-		.pressure-chart{
-			height: 100rpx;
-			width: 100rpx;
-			// background-image: conic-gradient(from 135deg ,#fff 90deg, #EEEEEE 26%);
-			background: url(../../static/images/ybp.png);
-			background-size: 100% 100%;
-			border-radius: 50%;
-			margin: 20rpx auto;
-			position: relative;
-			.pressure-zhen{
-				position: absolute;
-				z-index: 2;
-				top:0;
-				left: 0;
-				right: 0;
-				bottom: 0;
-				transform: rotate(70deg);
-				transition: all ease .5s;
+		.parts-list-2{
+			padding: 20rpx 24rpx;
+			display: flex;
+			justify-content: space-between;
+			flex-flow: row wrap;
+			.parts-list-2-box{
+				width: 49%;
+				height: 140rpx;
+				background-color: #fff;
+				border-radius: 10rpx;
+				display: flex;
+				padding: 20rpx 24rpx;
+				line-height: 90rpx;
+				box-sizing: border-box;
+				position: relative;
+				margin-bottom: 20rpx;
+				font-size: 28rpx;
 				image{
-					width:36rpx;
-					height: 36rpx;
-					margin-top: 22rpx;
-					
+					width: 100rpx;
+					height: 100rpx;
+					margin-right: 20rpx;
 				}
 			}
-			.pressure-line{
-				position: absolute;
-				top:0;
-				left: 0;
-				right: 0;
-				bottom: 0;
-				z-index: 1;
-				// background-image: conic-gradient(from 135deg ,#fff 90deg,#FFAF53 90deg,#FF8800 0%, #EEEEEE 0%);
+			.before{
+				width: 30rpx;
+				height: 30rpx;
 				border-radius: 50%;
-				transition: all ease .5s;
+				background-color: rgba(204,204,204,0.2);
 				
+				display: block;
+				position: absolute;
+				right: 16rpx;
+				top: 16rpx;
 				
 			}
-			.pressure-line::before{
+			.before::before{
 				position: absolute;
 				display: block;
-				top:20rpx;
-				left: 20rpx;
-				right: 20rpx;
-				bottom: 20rpx;
-				content:" ";
-				background-color: #fff;
+				top: 7rpx;
+				left: 7rpx;
+				width: 19rpx; 
+				height: 19rpx;
 				border-radius: 50%;
+				content:" ";
+				background: #cccccc;
+				
 			}
-		}
-		.pressure-chart::before{
-			position: absolute;
-			display: block;
-			inset: 20rpx 20rpx 20rpx 20rpx;
-			content:" ";
-			background-color: #fff;
-			border-radius: 50%;
-		}
-		.pressure-warp{
-			display: flex;
-			justify-content: space-between;
-			padding: 0 24rpx;
-			margin-top: 24rpx;
-			li{
-				width: 23%;
-				text-align: center;
-				background-color: #fff;
-				padding: 32rpx 0;
-				border-radius: 10rpx;
-				font-size: 24rpx;
-				color: #666666;
-				.pressure-chart{
-					
-				}
-				.label{
-					color: #333333;
-					font-size: 28rpx;
-				}
-				.pressure{
-					font-size: 32rpx;
-					color: #333;
-					margin: 10rpx 0;
-				}
-				.line{
-					width: 100rpx;
-					height: 20rpx;
-					background: #EEEEEE;
-					border-radius: 10rpx;
-					margin: 16rpx auto 0;
-					.box{
-						width:80%;
-						background: linear-gradient(270deg, #3370FF 0%, #A0BBFB 100%);
-						height: 100%;
-						border-radius: 10rpx;
-						transition: all ease .5s;
-					}
-				}
+			.before.succes{
+				background-color: rgba(63,191,49,0.2);
+			}
+			.before.succes::before{
+				background: #3FBF31;
 			}
 		}
 		.parts-list{
@@ -403,13 +330,6 @@
 				text-align: center;
 				position: relative;
 				background-color: #fff;
-				.temperature{
-					font-size: 40rpx;
-					font-weight: bold;
-					height: 60rpx;
-					margin: 0 auto 20rpx;
-					line-height: 60rpx;
-				}
 				image{
 					width: 60rpx;
 					height: 60rpx;
@@ -417,25 +337,17 @@
 					margin: 0 auto 20rpx;
 				}
 			}
-			.before-icon{
-				width: 30rpx;
-				height: 30rpx;
-				position: absolute;
-				right: 16rpx;
-				top: 16rpx;
-				i{
-					color: #3FBF31;
-				}
-			}
 			.before{
 				width: 30rpx;
 				height: 30rpx;
 				border-radius: 50%;
 				background-color: rgba(204,204,204,0.2);
+				
 				display: block;
 				position: absolute;
 				right: 16rpx;
 				top: 16rpx;
+				
 			}
 			.before::before{
 				position: absolute;
@@ -521,26 +433,29 @@
 
 			.state-box {
 				padding: 20rpx;
-				width: 48%;
+				width: 32%;
 				background-color: #fff;
-				display: flex;
+				
 				box-sizing: border-box;
 				border-radius: 10rpx;
 				.text{
 					padding: 12rpx 0;
+					display: flex;
+					font-size: 22rpx;
 				}
 				.state-text{
 					font-size: 32rpx;
 					font-weight: bold;
-					margin-top: 5rpx;
+					margin-top: 10rpx;
+					text-align: center;
 				}
 				.label{
-					font-weight: 400;
-					font-size: 28rpx;
+					font-size: 24rpx;
 				}
 				image {
-					width: 110rpx;
-					height: 110rpx;
+					width: 40rpx;
+					height: 40rpx;
+					margin-right: 16rpx;
 				}
 			}
 		}

+ 405 - 0
pages/equipment/threadedHead.vue

@@ -0,0 +1,405 @@
+<template>
+	<!-- 螺纹头 -->
+	<view class="equipmentDtl">
+		<commons-header title="螺纹头"></commons-header>
+		<view class="equ-img">
+			<image src="../../static/images/icon_dqwd.png" mode=""></image>
+			<view class="err-modal">
+				<image src="../../static/images/icon_dqwd.png" mode=""></image>
+			</view>
+		</view>
+		<view class="state">
+			<view class="state-box">
+				<image src="../../static/icon_sbzt.png" mode=""></image>
+				<view class="text">
+					<view class="label">
+						设备状态
+					</view>
+					<view class="state-text">
+						正常
+					</view>
+				</view>
+			</view>
+			<view class="state-box">
+				<image src="../../static/icon_gzms.png" mode=""></image>
+				<view class="text">
+					<view class="label">
+						设备状态
+					</view>
+					<view class="state-text">
+						正常
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="echarts">
+			<view class="title">
+				<image src="../../static/icon_clsj@2x.png" mode=""></image>
+				<span>产量数据</span>
+			</view>
+			<view class="content">
+				<view class="text">
+					12小时产量
+				</view>
+				<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
+			</view>
+		</view>
+		<view class="parts-list">
+			<ul>
+				<li>
+					<image src="../../static/icon_bpq.png" mode=""></image>
+					<view>
+						变频器启动
+					</view>
+					<view class="before succes">
+					</view>
+				</li>
+				<li>
+					<image src="../../static/icon_yskqzf.png" mode=""></image>
+					<view>
+						压缩空气总阀
+					</view>
+					<view class="before">
+					</view>
+				</li>
+				<li>
+					
+					<image src="../../static/icon_flp.png" mode=""></image>
+					<view>
+						分离盘
+					</view>
+					<view class="before">
+					</view>
+				</li>
+			</ul>
+		</view>
+		<view class="parts-list-2">
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_mjzt.png" mode=""></image>
+				<view class="">
+					1#喷油阀
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_mjzt.png" mode=""></image>
+				<view class="text">
+					2喷油阀
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_mjzt.png" mode=""></image>
+				<view class="">
+					3#喷油阀
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_mjzt.png" mode=""></image>
+				<view class="text">
+					4#喷油阀
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_pl.png" mode=""></image>
+				<view class="">
+					2#工位振动盘
+				</view>
+				<view class="before">
+				</view>
+			</view>
+			<view class="parts-list-2-box">
+				<image src="../../static/icon_pl.png" mode=""></image>
+				<view class="text">
+					3#工位振动盘
+				</view>
+				<view class="before">
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getInfo
+	} from "@/util/api.js";
+	import Vue from 'vue'
+	import commonsHeader from '../../components/commons-header/index.vue'
+	export default {
+		components: {
+			commonsHeader
+		},
+		data() {
+			return {
+				userInfoData: [],
+				notificationData: [],
+				opts: {
+					color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
+						"#ea7ccc"
+					],
+					padding: [15, 10, 0, 15],
+					legend: {},
+					xAxis: {
+						disableGrid: true
+					},
+					yAxis: {
+						gridType: "dash",
+						dashLength: 2
+					},
+					extra: {
+						line: {
+							type: "straight",
+							width: 2
+						}
+					}
+				},
+				chartData: {
+					categories: ["2016", "2017", "2018", "2019", "2020", "2021"],
+					series: [{
+							name: "产量A",
+							data: [35, 8, 25, 37, 4, 20]
+						},
+						{
+							name: "产量B",
+							data: [70, 40, 65, 100, 44, 68]
+						}
+					]
+				}
+			}
+		},
+		onLoad() {
+			const v = this
+			// v.$post('/wx/login/getUserInfo').then(res => {
+			// 	v.userInfoData = res.data
+			// 	Vue.prototype.$userInfo = res.data
+			// 	uni.setStorage({
+			// 		key: "userInfo",
+			// 		data: res.data,
+			// 		success(res) {
+
+			// 		},
+			// 		fail(res) {}
+			// 	})
+			// })
+			// v.$post('/wx/message/notification',{}).then(res=>{
+			// 	v.notificationData = res.data
+			// })
+		},
+		methods: {
+			toRouter(j) {
+				console.log(j)
+				uni.navigateTo({
+					url: '/pages/' + j.menuKey + '/' + j.menuKey
+				})
+			},
+		},
+	}
+</script>
+
+<style lang="less">
+	.equipmentDtl {
+		background-color: #f0f0f0;
+		min-height: 100vh;
+		margin-top: 128rpx;
+		.parts-list-2{
+			padding: 20rpx 24rpx;
+			display: flex;
+			justify-content: space-between;
+			flex-flow: row wrap;
+			.parts-list-2-box{
+				width: 49%;
+				height: 140rpx;
+				background-color: #fff;
+				border-radius: 10rpx;
+				display: flex;
+				padding: 20rpx 24rpx;
+				line-height: 90rpx;
+				box-sizing: border-box;
+				position: relative;
+				margin-bottom: 20rpx;
+				font-size: 28rpx;
+				image{
+					width: 100rpx;
+					height: 100rpx;
+					margin-right: 20rpx;
+				}
+			}
+			.before{
+				width: 30rpx;
+				height: 30rpx;
+				border-radius: 50%;
+				background-color: rgba(204,204,204,0.2);
+				
+				display: block;
+				position: absolute;
+				right: 16rpx;
+				top: 16rpx;
+				
+			}
+			.before::before{
+				position: absolute;
+				display: block;
+				top: 7rpx;
+				left: 7rpx;
+				width: 19rpx; 
+				height: 19rpx;
+				border-radius: 50%;
+				content:" ";
+				background: #cccccc;
+				
+			}
+			.before.succes{
+				background-color: rgba(63,191,49,0.2);
+			}
+			.before.succes::before{
+				background: #3FBF31;
+			}
+		}
+		.parts-list{
+			padding: 0 24rpx;
+			margin-top: 24rpx;
+			ul{
+				display: flex;
+				justify-content: space-between;
+			}
+			li{
+				width: 32%;
+				padding: 30rpx 0;
+				text-align: center;
+				position: relative;
+				background-color: #fff;
+				image{
+					width: 60rpx;
+					height: 60rpx;
+					display: block;
+					margin: 0 auto 20rpx;
+				}
+			}
+			.before{
+				width: 30rpx;
+				height: 30rpx;
+				border-radius: 50%;
+				background-color: rgba(204,204,204,0.2);
+				
+				display: block;
+				position: absolute;
+				right: 16rpx;
+				top: 16rpx;
+				
+			}
+			.before::before{
+				position: absolute;
+				display: block;
+				top: 7rpx;
+				left: 7rpx;
+				width: 19rpx; 
+				height: 19rpx;
+				border-radius: 50%;
+				content:" ";
+				background: #cccccc;
+				
+			}
+			.before.succes{
+				background-color: rgba(63,191,49,0.2);
+			}
+			.before.succes::before{
+				background: #3FBF31;
+			}
+		}
+		.echarts {
+			background: #fff;
+			margin: 24rpx 24rpx 0;
+			.content{
+				
+				.text{
+					font-size: 28rpx;
+					font-weight: 700;
+					color: #333;
+					text-align: center;
+					margin-bottom: 40rpx;
+				}
+			}
+			.title{
+				font-size: 28rpx;
+				height: 90rpx;
+				line-height: 90rpx;
+				display: flex;
+				padding: 0 24rpx;
+				font-weight: 500;
+				image{
+					width: 40rpx;
+					height: 40rpx;
+					margin-top: 25rpx;
+					margin-right: 16rpx;
+				}
+			}
+		}
+
+		.parts-list {}
+
+		.equ-img {
+			padding: 24rpx;
+			background-color: #ffffff;
+			position: relative;
+			image {
+				width: 100%;
+				height: 395rpx;
+			}
+			.err-modal{
+				position: absolute;
+				left: 0;
+				right: 0;
+				bottom: 0;
+				top: 0;
+				background: rgba(0,0,0,0.60);
+				text-align: center;
+				display: flex;
+				align-items: center;
+				
+				image{
+					width: 160rpx;
+					height: 160rpx;
+					margin: 0 auto;
+				}
+			}
+		}
+
+		.state {
+			display: flex;
+			justify-content: space-between;
+			margin: 24rpx 24rpx 0;
+
+			.state-box {
+				padding: 20rpx;
+				width: 48%;
+				background-color: #fff;
+				display: flex;
+				box-sizing: border-box;
+				border-radius: 10rpx;
+				.text{
+					padding: 12rpx 0;
+				}
+				.state-text{
+					font-size: 32rpx;
+					font-weight: bold;
+					margin-top: 5rpx;
+				}
+				.label{
+					font-weight: 400;
+					font-size: 28rpx;
+				}
+				image {
+					width: 110rpx;
+					height: 110rpx;
+				}
+			}
+		}
+	}
+</style>

+ 69 - 33
pages/equipment/warpKnitting.vue

@@ -1,12 +1,12 @@
 <template>
 	<!-- 精编机 -->
 	<view class="equipmentDtl">
-		<commons-header title="精编机"></commons-header>
+		<commons-header :title="$t('warpKnitting.name')"></commons-header>
 		<view class="equ-img">
-			<image src="../../static/images/icon_dqwd.png" mode=""></image>
-			<view class="err-modal">
-				<image src="../../static/images/icon_dqwd.png" mode=""></image>
-			</view>
+			<image src="../../static/img_jbj.png" mode=""></image>
+			<!-- <view class="err-modal">
+				<image src="../../static/icon_jb@2x.png" mode=""></image>
+			</view> -->
 		</view>
 		<view class="state">
 			<view class="state-box">
@@ -16,7 +16,7 @@
 						设备状态
 					</view>
 					<view class="state-text" style="color: #3FBF31;">
-						离线
+						{{swichType ? '在线' : '离线'}} 
 					</view>
 				</view>
 			</view>
@@ -24,10 +24,10 @@
 				<image src="../../static/jinbian/icon_gzms.png" mode=""></image>
 				<view class="text">
 					<view class="label">
-						主轴转速
+						主轴转速 
 					</view>
 					<view class="state-text">
-						0 RPM
+						{{equData.properties.status.main_speed / 2}} RPM
 					</view>
 				</view>
 			</view>
@@ -37,7 +37,7 @@
 			<li>
 				<image src="../../static/jinbian/icon_ebc2.png" mode=""></image>
 				<p>EBC</p>
-				<view class="state-text">离线</view>
+				<view class="state-text">{{swichType ? '在线' : '离线'}}</view>
 			</li>
 			<li>
 				<image src="../../static/jinbian/icon_jk2.png" mode=""></image>
@@ -72,7 +72,7 @@
 					<view class="text">
 						<view class="list-label">当前布长</view>
 						<view class="list-val">
-							0M
+							{{equData.properties.status.bu_len / 100}} M
 						</view>
 					</view>
 				</view>
@@ -81,7 +81,7 @@
 					<view class="text">
 						<view class="list-label">设定布长</view>
 						<view class="list-val">
-							0M
+							{{equData.properties.parameter.max_bulen}} M
 						</view>
 					</view>
 				</view>
@@ -92,17 +92,18 @@
 					<view class="list-label" style="line-height: 80rpx;">密度</view>
 				</view>
 				<view class="list-val"  style="line-height: 80rpx;">
-					0M
+					{{equData.properties.parameter.bumi}} Row/cm
 				</view>
 			</view>
-			<view class="list-long">
+			<view class="list-long" v-for="i in axisData">
 				<view class="" style="display: flex;">
 					<image src="../../static/jinbian/icon_xlj.png" mode=""></image>
-					<view class="list-label" style="line-height: 80rpx;font-size: 28rpx;font-weight: bold;">送经轴1</view>
+					<view class="list-label" style="line-height: 80rpx;font-size: 28rpx;font-weight: bold;">送经轴{{i.index}}</view>
 				</view>
 				<view class="list-val"  style="line-height: 40rpx;color: #666666;font-size: 24rpx;">
-					<p>剩余圈数:0 N</p>
-					<p>剩余时间:0 H</p>
+					<!-- {{i.axis - i.curr}} -->
+					<p>剩余圈数:{{i.curr}} N</p>
+					<p>剩余时间:{{i.time}} H</p>
 				</view>
 			</view>
 			<view class="list-bc mt-24">
@@ -210,28 +211,63 @@
 						},
 						
 					]
-				}
+				},
+				equData:{
+					properties:{
+						status:{
+							main_speed:0,
+							bu_len:0,
+						},
+						parameter:{
+							max_bulen:0,
+						},
+					},
+					
+				},
+				axisData:[],
+				swichType:false,
 			}
 		},
-		onLoad() {
+		onLoad(option) {
 			const v = this
-			// v.$post('/wx/login/getUserInfo').then(res => {
-			// 	v.userInfoData = res.data
-			// 	Vue.prototype.$userInfo = res.data
-			// 	uni.setStorage({
-			// 		key: "userInfo",
-			// 		data: res.data,
-			// 		success(res) {
-
-			// 		},
-			// 		fail(res) {}
-			// 	})
-			// })
-			// v.$post('/wx/message/notification',{}).then(res=>{
-			// 	v.notificationData = res.data
-			// })
+			v.getData(option.id)
 		},
 		methods: {
+			getData(_id){
+				const v = this
+				
+				v.$post('/api/syringe-production/factoryProduct/getData',{equipmentNo:_id}).then(res => {
+					console.log(res.data)
+					this.axisData = []
+					
+					for (let key in res.data.properties.parameter) {
+						if(key.substring(0,11) === 'axis_allnum'){
+							this.axisData.push({
+								axis:res.data.properties.parameter[key],
+								index:key.substring(12,13),
+								curr:res.data.properties.status['curr_num_' + key.substring(12,13)] || 0,
+								time:res.data.properties.status['left_time_' + key.substring(12,13)] || 0,
+							})
+						}
+					}
+					function up(x,y){
+						return x.index -y.index;
+					} 
+					this.axisData.sort(up)
+					v.equData = res.data
+					const time1 = new Date(res.data.eventTime).getTime()
+					const time2 = new Date().getTime()
+					if(time1 + 600000 > time2){
+						this.swichType = true
+					}else{
+						this.swichType = false
+					}
+					console.log(time1,time2)
+				})
+				setTimeout(()=>{
+					if(v.equData) v.getData(_id)
+				},5000)
+			},
 			toRouter(j) {
 				console.log(j)
 				uni.navigateTo({

+ 1 - 1
pages/user/login.vue

@@ -30,7 +30,7 @@
 			</view>
 			<button type="default" @click="lodingFn">{{$t('login.loginText')}}</button>
 			<p @click="toDemo" class="demo">{{$t('login.demo')}}</p>
-			<p @click="change11">切换 {{system_info}}</p>
+			<!-- <p @click="change11">切换 {{system_info}}</p> -->
 		</view>
 	</view>
 </template>

+ 18 - 8
pages/user/user.vue

@@ -6,10 +6,10 @@
 			</view>
 			<view class="user-text">
 				<view class="name">
-					admin
+					{{userData.real_name}}
 				</view>
 				<view class="address">
-					福建宏星电子科技有限公司
+					<!-- 福建宏星电子科技有限公司 -->
 				</view>
 			</view>
 			<view class="">
@@ -21,7 +21,7 @@
 				<view class="list-left">
 					<image src="../../static/images/icon_sbxx@2x.png" mode=""></image>
 					<view class="text">
-						设备信息
+						{{$t('login.deviceInformation')}}
 					</view>
 					<uni-icons style="color:#fff" type="right" size="30"></uni-icons>
 				</view>
@@ -29,11 +29,11 @@
 					<uni-icons color="#999" type="right" size="30"></uni-icons>
 				</view>
 			</li>
-			<li>
+			<li @click="changeLang">
 				<view class="list-left">
 					<image src="../../static/images/icon_qhyy@2x.png" mode=""></image>
 					<view class="text">
-						切换语言
+						{{$t('login.switchLanguage')}}
 					</view>
 					<uni-icons style="color:#fff" type="right" size="30"></uni-icons>
 				</view>
@@ -43,19 +43,29 @@
 			</li>
 		</ul>
 		<view class="login-out" @click="logout">
-			退出登录
+			{{$t('login.logOut')}}
 		</view>
 	</view>
 </template>
 
 <script>
+	import Vue from 'vue' 
 	export default{
 		data(){
 			return {
-				
+				userData:Vue.prototype.$token,
 			}
 		},
 		methods:{
+			changeLang() {
+				let system_info = uni.getStorageSync('locale');
+				console.log(system_info)
+				!system_info || system_info == 'zh-CN' ? system_info = this._i18n.locale = 'en' : 
+				system_info = this._i18n.locale = 'zh-CN'
+				
+				uni.setStorageSync('locale', system_info);
+				
+			},
 			logout(){
 				uni.navigateTo({
 					url: '/pages/user/login'
@@ -63,7 +73,7 @@
 			},
 		},
 		created(){
-			
+			console.log(this.userData)
 		},
 	}
 </script>

BIN
static/icon_bpq.png


BIN
static/icon_flp.png


BIN
static/icon_kjsj.png


BIN
static/icon_mjzt.png


BIN
static/icon_yskqzf.png


BIN
static/icon_yxms.png


BIN
static/icon_yxzt.png


BIN
static/img_jbj.png


Різницю між файлами не показано, бо вона завелика
+ 0 - 1
unpackage/dist/build/app-plus/app-config-service.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
unpackage/dist/build/app-plus/app-service.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
unpackage/dist/build/app-plus/app-view.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
unpackage/dist/build/app-plus/manifest.json


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


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


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


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


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


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


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


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


Різницю між файлами не показано, бо вона завелика
+ 0 - 1
unpackage/dist/dev/app-plus/app-config-service.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
unpackage/dist/dev/app-plus/app-service.js


Різницю між файлами не показано, бо вона завелика
+ 255 - 244
unpackage/dist/dev/app-plus/app-view.js


BIN
unpackage/dist/dev/app-plus/static/icon_bpq.png


BIN
unpackage/dist/dev/app-plus/static/icon_flp.png


BIN
unpackage/dist/dev/app-plus/static/icon_kjsj.png


BIN
unpackage/dist/dev/app-plus/static/icon_mjzt.png


BIN
unpackage/dist/dev/app-plus/static/icon_yskqzf.png


BIN
unpackage/dist/dev/app-plus/static/icon_yxms.png


BIN
unpackage/dist/dev/app-plus/static/icon_yxzt.png


BIN
unpackage/dist/dev/app-plus/static/img_jbj.png


BIN
unpackage/res/icons/1024x1024.png


BIN
unpackage/res/icons/120x120.png


BIN
unpackage/res/icons/144x144.png


BIN
unpackage/res/icons/152x152.png


BIN
unpackage/res/icons/167x167.png


BIN
unpackage/res/icons/180x180.png


BIN
unpackage/res/icons/192x192.png


BIN
unpackage/res/icons/20x20.png


BIN
unpackage/res/icons/29x29.png


BIN
unpackage/res/icons/40x40.png


BIN
unpackage/res/icons/58x58.png


BIN
unpackage/res/icons/60x60.png


BIN
unpackage/res/icons/72x72.png


BIN
unpackage/res/icons/76x76.png


BIN
unpackage/res/icons/80x80.png


BIN
unpackage/res/icons/87x87.png


BIN
unpackage/res/icons/96x96.png


+ 2 - 0
util/http.js

@@ -75,6 +75,7 @@ export function post(url, req = {}, ) {
 			method: 'POST',
 			header: hander,
 			success: (res) => {
+				
 				if (res.data.code == 401) {
 					uni.showToast({
 						icon: "error",
@@ -109,6 +110,7 @@ export function post(url, req = {}, ) {
 				}
 			},
 			fail: (err) => {
+				console.log(err)
 				uni.showToast({
 					icon: "error",
 					title: '服务器错误',

Деякі файли не було показано, через те що забагато файлів було змінено