From cbd3fb82b1d15c0a82b63496add7b7af37ac8738 Mon Sep 17 00:00:00 2001
From: whyczyk <525500596@qq.com>
Date: 星期三, 23 三月 2022 10:56:39 +0800
Subject: [PATCH] 修改实时监控数据表格不出来的问题

---
 src/pages/monitoring/js/api.js           |   11 
 src/assets/js/const/const_61850.js       |  268 ++++++++++++++++++++
 src/pages/monitoring/real-monitoring.vue |  368 ++++++++++++++++++++++++++++
 src/assets/js/const/const_9100.js        |   80 ++++++
 4 files changed, 727 insertions(+), 0 deletions(-)

diff --git a/src/assets/js/const/const_61850.js b/src/assets/js/const/const_61850.js
new file mode 100644
index 0000000..80a55c4
--- /dev/null
+++ b/src/assets/js/const/const_61850.js
@@ -0,0 +1,268 @@
+
+export default {
+	workstates: ["鍦ㄧ嚎娴厖", "棰勫厖鐢�", "鏍稿娴嬭瘯", "鍋滅數鏀剧數", "鍐呴樆娴嬭瘯", "K1/D1娴嬭瘯", '绂荤嚎鍏绘姢娴嬭瘯', '鏈煡'],
+	alarmstates: ["缁х數鍣↘1鍛婅", "閫氳鍛婅", "璁惧杩囨俯鍛婅", "浜屾瀬绠1鍛婅"],
+	stopreasons: {
+		0: '璁惧鎺夌數', 1: '鎵嬪姩缁堟', 2: '鏀剧數鏃堕棿鍒�', 3: '鏀剧數瀹归噺鍒�', 4: '鍗曚綋鐢靛帇涓嬮檺鍒�', 5: '鍗曚綋娓╁害涓婇檺鍒�', 6: '缁勭鐢靛帇涓嬮檺鍒�',
+		7: '甯傜數涓柇', 8: '鍗曚綋妯″潡閫氫俊寮傚父', 9: '瀛樺偍鏁版嵁婊�', 10: '鏈哄唴娓╁害寮傚父', 11: '鏀剧數鐢垫祦寮傚父', 12: '鍚庡彴閫氫俊涓柇', 13: '鍐呴儴绋嬪簭寮傚父',
+		14: '鐢垫簮鐢靛帇楂�', 15: '鍗忚杞�氫俊寮傚父', 16: '鍏朵粬', 27: '鍏朵粬璁惧鍦ㄥ伐浣�', 28: '鍏朵粬璁惧鏁呴殰鍋滄', 29: '鐢靛帇杩囬珮鎴栬繃浣�', 30: '骞叉帴鐐规晠闅�',
+		31: '鍗曚綋寮傚父', 32: '鐢靛帇杈撳叆杩囬珮鎴栬繃浣�', 33: '鐢垫睜鐢垫祦寮傚父', 34: "kd娴嬭瘯鏁呴殰", 35: "鍒囨崲瑁呯疆閫氫俊寮傚父", 36: "鍒囨崲瑁呯疆鏁呴殰",
+		37: "鍒囨崲瑁呯疆鎺ヨЕ鍣ㄥ紓甯�", 100: '鏈煡'
+	},
+	failreasons: {
+		0: '鏃�', 1: '鏆傚仠', 2: '姝e湪鏀剧數娴嬭瘯', 3: '姝e湪绛夊緟鏀剧數', 4: '姝e湪闄愭祦鍏呯數', 5: '姝e湪鐩磋繛鍏呯數', 6: '姝e湪绛夊緟鍏呯數', 7: '鏀剧數鏃堕棿鍒板仠姝�',
+		8: '鏀剧數瀹归噺鍒板仠姝�', 9: '鍗曚綋鐢靛帇涓嬮檺鍒板仠姝�', 10: '缁勭鐢靛帇涓嬮檺鍒板仠姝�', 11: '甯傜數涓柇鍋滄', 12: '瀛樺偍鏁版嵁婊″仠姝�', 13: '鏈哄唴娓╁害寮傚父鍋滄',
+		14: '鏀剧數鐢垫祦杩囨祦鍋滄', 15: '鍚庡彴閫氫俊涓柇鍋滄', 16: '璐熻浇妯″潡閫氫俊涓柇鍋滄', 17: '閫夋嫨妯″潡閫氫俊涓柇鍋滄', 18: '璐熻浇妯″潡鏀剧數杩囧姛鐜囧仠姝�',
+		19: '鍐呴儴绋嬪簭寮傚父鍋滄', 20: '甯傜數鎭㈠鍋滄鍗囧帇鏀剧數', 21: '鍏呯數杩囩▼涓競鐢典腑鏂�', 22: '缁勭鐢靛帇涓嬮檺', 23: '鍗曚綋娓╁害涓婇檺鍒板仠姝�', 24: '鍦ㄧ嚎鐢靛帇寮傚父楂樺仠姝�',
+		25: '鍗忚浆閫氫俊寮傚父鍋滄', 26: '鍗曚綋閫氫俊寮傚父鍋滄', 27: '鍏朵粬璁惧鍦ㄥ伐浣�', 28: '鍏朵粬璁惧鏁呴殰鍋滄', 29: '鐢靛帇杩囬珮鎴栬繃浣�', 30: '骞叉帴鐐硅緭鍏ユ晠闅�',
+		31: '鍗曚綋寮傚父', 32: '鐢靛帇杈撳叆杩囬珮鎴栬繃浣�', 33: '鐢垫睜鐢垫祦寮傚父', 34: 'kd娴嬭瘯鏁呴殰', 35: '鍏朵粬鐨勮澶囬�氫俊鏁呴殰',
+		51: '鍏朵粬璁惧鏆傚仠', 52: '鍏朵粬璁惧姝e湪鏀剧數娴嬭瘯', 53: '鍏朵粬璁惧姝e湪绛夊緟鏀剧數', 54: '鍏朵粬璁惧姝e湪闄愭祦鍏呯數', 55: '鍏朵粬璁惧姝e湪鐩磋繛鍏呯數',
+		56: '鍏朵粬璁惧姝e湪绛夊緟鍏呯數', 57: '鍏朵粬璁惧鏀剧數鏃堕棿鍒板仠姝�', 58: '鍏朵粬璁惧鏀剧數瀹归噺鍒板仠姝�', 59: '鍏朵粬璁惧鍗曚綋鐢靛帇涓嬮檺鍒板仠姝�',
+		60: '鍏朵粬璁惧缁勭鐢靛帇涓嬮檺鍒板仠姝�', 61: '鍏朵粬璁惧甯傜數涓柇鍋滄', 62: '鍏朵粬璁惧瀛樺偍鏁版嵁婊″仠姝�', 63: '鍏朵粬璁惧鏈哄唴娓╁害寮傚父鍋滄',
+		64: '鍏朵粬璁惧鏀剧數鐢垫祦杩囨祦鍋滄', 65: '鍏朵粬璁惧鍚庡彴閫氫俊涓柇鍋滄', 66: '鍏朵粬璁惧璐熻浇妯″潡閫氫俊涓柇鍋滄', 67: '鍏朵粬璁惧閫夋嫨妯″潡閫氫俊涓柇鍋滄',
+		68: '鍏朵粬璁惧璐熻浇妯″潡鏀剧數杩囧姛鐜囧仠姝�', 69: '鍏朵粬璁惧鍐呴儴绋嬪簭寮傚父鍋滄', 70: '鍏朵粬璁惧甯傜數鎭㈠鍋滄鍗囧帇鏀剧數', 71: '鍏朵粬璁惧鍏呯數杩囩▼涓競鐢典腑鏂�',
+		72: '鍏朵粬璁惧缁勭鐢靛帇涓嬮檺', 73: '鍏朵粬璁惧鍗曚綋娓╁害涓婇檺鍒板仠姝�', 74: '鍏朵粬璁惧鍦ㄧ嚎鐢靛帇寮傚父楂樺仠姝�', 75: '鍏朵粬璁惧鍗忚浆閫氫俊寮傚父鍋滄',
+		76: '鍏朵粬璁惧鍗曚綋閫氫俊寮傚父鍋滄', 77: '鍏朵粬璁惧鍦ㄥ伐浣�', 78: '鍏朵粬璁惧鏁呴殰鍋滄', 79: '鍏朵粬璁惧鐢靛帇杩囬珮鎴栬繃浣�', 80: '鍏朵粬璁惧骞叉帴鐐硅緭鍏ユ晠闅�',
+		81: '鍏朵粬璁惧鍗曚綋寮傚父', 82: '鍏朵粬璁惧鐢靛帇杈撳叆杩囬珮鎴栬繃浣�', 83: '鍏朵粬璁惧鐢垫睜鐢垫祦寮傚父', 84: '鍏朵粬璁惧kd娴嬭瘯鏁呴殰',
+	},
+	cmd: {
+		start: 81,	// 鍚姩娴嬭瘯
+		stop: 83,	// 鍋滄娴嬭瘯
+		set: 40,	// 璁剧疆鍙傛暟
+		get: 41,	// 鑾峰彇鍙傛暟
+	},
+	testType: [
+		{
+			label: '鏍稿鏀剧數',
+			value: 37,
+		},
+		{
+			label: '鍐呴樆娴嬭瘯',
+			value: 50
+		},
+		{
+			label: 'K1/D1娴嬭瘯',
+			value: 72
+		},
+	],
+	dischargeRules: {
+		DisCurr: {		// 鏍稿鐢垫祦
+			pattern: /^[0-9]{1,3}$/,
+			regVal: true,
+			min: 1,
+			max: 300,
+			msg: '鍙栧�艰寖鍥�1~300锛堟暣鏁帮級'
+		},
+		DisTime: {		// 鏍稿鏃堕暱
+			pattern: /^[0-9]{1,4}$/,
+			regVal: true,
+			min: 1,
+			max: 10000,
+			msg: '鍙栧�艰寖鍥�1~10000锛堟暣鏁帮級'
+		},
+		DisCap: {		// 鏍稿瀹归噺
+			pattern: /^[0-9]{1,4}$/,
+			regVal: true,
+			min: 1,
+			max: 2000,
+			msg: '鍙栧�艰寖鍥�1~2000锛堟暣鏁帮級'
+		},
+		GroupVol_Low: {		// 缁勭鐢靛帇涓嬮檺
+			pattern: /^[0-9]+(\.[0-9]{0,1})?$/,
+			regVal: true,
+			min: 43,
+			max: 54,
+			msg: '鍙栧�艰寖鍥�43.0~54.0'
+		},
+		MonomerVol_Low: {		// 鍗曚綋鐢靛帇涓嬮檺
+			pattern: /^[0-9]{1,2}(\.[0-9]{0,2})?$/,
+			regVal: true,
+			min: 1.8,
+			max: 2.25,
+			msg: '鍙栧�艰寖鍥�1.80~2.25锛堜繚鐣欎袱浣嶅皬鏁帮級'
+		},
+		MonomerTmp_High: {		// 鍗曚綋娓╁害涓婇檺
+			pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/,
+			regVal: true,
+			min: 10,
+			max: 60,
+			msg: '鍙栧�艰寖鍥�10~60锛堜繚鐣欎竴浣嶅皬鏁帮級'
+		}
+	},
+	stateList: [
+		{
+			id: 1,
+			name: "workState",
+			type: "",
+			icon: "",
+			text: "璁惧宸ヤ綔鐘舵�侊細",
+			value: "鍦ㄧ嚎娴厖",
+			show: false
+		},
+		{
+			id: 2,
+			name: "connect",
+			type: "",
+			icon: "el-icon-tongxun",
+			text: "姹囬泦鍣ㄩ�氳锛�",
+			value: "姝e父",
+			show: false
+		},
+		{
+			id: 3,
+			name: "devTemp",
+			type: "",
+			icon: "el-icon-wendu",
+			text: "璁惧娓╁害锛�",
+			value: "姝e父",
+			show: false
+		},
+		{
+			id: 4,
+			name: "contact",
+			type: "",
+			icon: "el-icon-fenxiang",
+			text: "骞叉帴鐐癸細",
+			value: "姝e父",
+			show: false
+		},
+		{
+			id: 7,
+			name: "resDay",
+			type: "",
+			icon: "",
+			text: "鍓╀綑澶╂暟锛�",
+			value: "0",
+			notShow: true,
+			show: false
+		},
+		{
+			id: 8,
+			name: "workMode",
+			type: "",
+			icon: "",
+			text: "宸ヤ綔妯″紡锛�",
+			value: "鍋滄",
+			notShow: true,
+			show: false
+		},
+		{
+			id: 9,
+			name: "groupVol",
+			type: "",
+			icon: "",
+			text: "缁勭鐢靛帇锛�",
+			value: "0",
+			unit: "V",
+			notShow: true,
+			show: false
+		},
+		{
+			id: 10,
+			name: "peakVol",
+			type: "",
+			icon: "",
+			text: "宄板�肩數鍘嬶細",
+			value: "0",
+			unit: "V",
+			notShow: true,
+			show: false
+		},
+		// {
+		// 	id: 110,
+		// 	name: "xuHang",
+		// 	type: "",
+		// 	icon: "",
+		// 	text: "棰勪及缁埅鏃堕暱锛�",
+		// 	value: "???",
+		// 	show: true
+		// },
+	],
+	historyStateList: [
+		// {
+		// 	id: 5,
+		// 	name: "stopReason",
+		// 	type: "",
+		// 	icon: "",
+		// 	text: "鏍稿缁堟鍘熷洜锛�",
+		// 	value: "鏈煡",
+		// 	show: false
+		// },
+		{
+			id: 6,
+			name: "failReason",
+			type: "",
+			icon: "",
+			text: "鎿嶄綔澶辫触鍘熷洜锛�",
+			value: "鏈煡",
+			show: false
+		}
+	],
+	lastCapacityTest: [
+		{
+			id: 11,
+			name: 'test_starttime',
+			type: '',
+			icon: '',
+			text: '寮�濮嬫椂闂达細',
+			value: '鏈煡',
+			show: true
+		},
+		{
+			id: 12,
+			name: 'test_cap',
+			type: '',
+			icon: '',
+			text: '娴嬭瘯瀹归噺锛�',
+			value: '鏈煡',
+			show: true
+		},
+		{
+			id: 13,
+			name: 'test_timelong',
+			type: '',
+			icon: '',
+			text: '娴嬭瘯鏃堕暱锛�',
+			value: '鏈煡',
+			show: true
+		},
+		{
+			id: 14,
+			name: 're_cap',
+			type: '',
+			icon: '',
+			text: '鍓╀綑瀹归噺锛�',
+			value: '鏈煡',
+			show: true
+		},
+		{
+			id: 15,
+			name: 'endurance_time',
+			type: '',
+			icon: '',
+			text: '缁埅鏃堕暱锛�',
+			value: '鏈煡',
+			show: true
+		},
+		{
+			id: 16,
+			name: "stopReason",
+			type: "",
+			icon: "",
+			text: "缁堟鍘熷洜锛�",
+			value: "鏈煡",
+			show: true
+		}
+	],
+	getItemByName(name, list) {
+		let result = false;
+		for (let i = 0; i < list.length; i++) {
+			let item = list[i];
+			if (item.name == name) {
+				result = item;
+				break;
+			}
+		}
+		return result;
+	}
+};
\ No newline at end of file
diff --git a/src/assets/js/const/const_9100.js b/src/assets/js/const/const_9100.js
new file mode 100644
index 0000000..ee7537b
--- /dev/null
+++ b/src/assets/js/const/const_9100.js
@@ -0,0 +1,80 @@
+export default {
+    workstates: ['鍦ㄧ嚎鐩戞祴', '鏀剧數娴嬭瘯', '鍏呯數娴嬭瘯', '鍐呴樆娴嬭瘯', '鏈煡'],
+    alarmstates: [
+        '鏃�', '鏆傚仠', '鏀剧數娴嬭瘯', '鏀剧數绛夊緟', '闄愭祦鍏呯數', '鐩存祦鍏呯數', '鍏呯數绛夊緟', '娴嬭瘯鏃堕棿鍒�',
+        '娴嬭瘯瀹归噺鍒�', '鍗曚綋涓嬮檺鍒�', '缁勭涓嬮檺鍒�', '甯傜數寮傚父', '瀛樺偍鍗′笉瓒�', '璐熻浇娓╁害楂�', '鐢垫祦寮傚父', '杩滅▼閫氫俊鍧�',
+        '璐熻浇閫氫俊鍧�', '閫夋嫨閫氫俊鍧�', '杞芥ā鍧楁斁鐢佃繃鍔熺巼鍋滄', '鍐呴儴绋嬪簭寮傚父鍋滄', '甯傜數鎭㈠鍋滄鍗囧帇鏀剧數', '鍏呯數杩囩▼涓競鐢典腑鏂�',
+        '鍚堣矾鍣ㄦ斁鐢靛姛鑳界粍绔數鍘嬩笅闄�', '娓╁害涓婇檺鍒�', '鏈煡'
+    ],
+    cmd: {
+        get: 41,
+        set: 40,
+        start: 81,
+        stop: 83
+    },
+    testType: [
+        {
+            label: '瀹归噺娴嬭瘯',
+            value: 37,
+        },
+        {
+            label: '鍐呴樆娴嬭瘯',
+            value: 50
+        },
+        {
+            label: 'K1/D1娴嬭瘯',
+            value: 72
+        },
+        {
+            label: '鍏呯數娴嬭瘯',
+            value: 0x40,
+        }
+    ],
+    testType1: [
+        {
+            label: '瀹归噺娴嬭瘯',
+            value: 37,
+        },
+        {
+            label: '鍏呯數娴嬭瘯',
+            value: 0x40,
+        }
+    ],
+    dischargeRules: {
+        DisCurr: {  // 鏀剧數鐢垫祦
+            pattern: /^[0-9]+(\.[0-9]*)?$/,
+            regVal: true,
+            min: 0,
+            max: 1000,
+            msg: '鍙栧�艰寖鍥�0~1000'
+        },
+        DisCap: {   // 娴嬭瘯瀹归噺
+            pattern: /^[0-9]+$/,
+            regVal: true,
+            min: 0,
+            max: 90000,
+            msg: '鍙栧�艰寖鍥�0~90000锛堟暣鏁帮級'
+        },
+        DisTime: {  // 娴嬭瘯鏃堕暱
+            pattern: /^[0-9]+$/,
+            regVal: true,
+            min: 0,
+            max: 5940,
+            msg: '鍙栧�艰寖鍥�0~5940锛堟暣鏁帮級'
+        },
+        MonomerVol_Low: {       // 鍗曚綋涓嬮檺闃�鍊�
+            pattern: /^[0-9]+(\.[0-9]*)?$/,
+            regVal: true,
+            min: 0,
+            max: 20,
+            msg: '鍙栧�艰寖鍥�0~20'
+        },
+        GroupVol_Low: {        // 缁勭涓嬮檺闃�鍊�
+            pattern: /^[0-9]+(\.[0-9]*)?$/,
+            regVal: true,
+            min: 0,
+            max: 420,
+            msg: '鍙栧�艰寖鍥�0~420'
+        }
+    }
+};
\ No newline at end of file
diff --git a/src/pages/monitoring/js/api.js b/src/pages/monitoring/js/api.js
index 5d87abd..9269373 100644
--- a/src/pages/monitoring/js/api.js
+++ b/src/pages/monitoring/js/api.js
@@ -46,6 +46,17 @@
     })
 }
 /**
+ * 鏍规嵁璁惧id鏌ヨ璁惧褰撳墠鐨勫紑鍏崇姸鎬�
+ * json={"dev_id":910000022}
+ */
+export const realTimePowerOff = (params) => {
+    return axios({
+        method: "post",
+        url: "Fbs9100_stateAction_action_serchContactorState",
+        data: "json=" + JSON.stringify(params)
+    })
+}
+/**
  * 鏍规嵁鐢垫睜缁刬d鏌ヨ璇ョ數姹犵粍涓墍鏈夌數姹犱俊鎭�  (鍥捐〃鏁版嵁)
  * json={"BattGroupId":1005074}
  */
diff --git a/src/pages/monitoring/real-monitoring.vue b/src/pages/monitoring/real-monitoring.vue
index 5a05922..2c26adf 100644
--- a/src/pages/monitoring/real-monitoring.vue
+++ b/src/pages/monitoring/real-monitoring.vue
@@ -122,6 +122,7 @@
 	searchBattInfo,
 	getBattGroupInfo,
 	realTimeAlarm,
+	realTimePowerOff,
 	realTimeSearch,
 	realTimeGroup,
 	JhStateActionSerchByCondition,
@@ -131,11 +132,20 @@
 import progressBlockVerticalBar from "@/components/chart/progress-block-vertical-bar";
 import getMarkLineData from "@/components/chart/js/getMarkLineData";
 import getTblHeader from "@/pages/monitoring/js/getTblHeader";
+import const_61850 from "@/assets/js/const/const_61850";
+import const_9100 from "@/assets/js/const/const_9100";
+import const_ld_nine from "@/assets/js/const/const_ld_nine";
 let vol, resChart, temp, conduct, currChart, leakVol;
 export default {
 	data() {
 		let pageConfig = this.$store.getters["user/realTabsConfig"];
+		let stateList = const_61850.stateList;
+		let historyStateList = const_61850.historyStateList;
+		let lastCapacityTest = const_61850.lastCapacityTest;
 		return {
+			stateList: stateList,
+			historyStateList: historyStateList,
+			lastCapacityTest: lastCapacityTest,
 			showPopup: false,
 			cascaderValue: '',
 			fieldValue: '璇烽�夋嫨绔欑偣',
@@ -475,6 +485,364 @@
 			let batt = this.batt;
 			if (this.$units.regEquipType(batt.FBSDeviceId, ["LD9"])) {
 				this.realTimeLd9Data();
+			} else {
+				this.realTimePowerOffs();
+			}
+		},
+		/* 鏌ヨ鐢佃矾鍥惧紑鍏崇姸鎬佸拰淇℃伅 */
+		realTimePowerOffs() {
+			let batt = this.batt;
+			// 璁惧涓�61850鏄剧ず鍙充晶鐨勯潰鏉�
+			if (this.$units.regEquipType(batt.FBSDeviceId, ["equip61850"])) {
+				this.stateListShow = true;
+			} else {
+				this.stateListShow = false;
+			}
+			// 鏌ヨ鍚庡彴鏁版嵁
+			realTimePowerOff({
+				dev_id: batt.FBSDeviceId,
+			}).then((res) => {
+				let rs = JSON.parse(res.data.result);
+				let outTime = 2 * 60; //璁惧瓒呮椂鏃堕棿(2鍒嗛挓)
+				let isOutTime = true; //閫氳涓柇        鍒ゆ柇璁惧鏄惁閫氳涓柇    true:涓柇    false:姝e父
+				if (rs.code == 1) {
+					let data = rs.data[0];
+					// 璁剧疆鐗堟湰鍙�
+					this.dev_version = data.dev_version;
+					// 鍩虹淇℃伅
+					this.setEquipBase(data);
+
+					// 鍒ゆ柇鏄惁瓒呮椂
+					var nowTime = new Date(data.note).getTime(); //褰撳墠鏃堕棿
+					var record = new Date(data.record_datetime).getTime();
+					if (Math.abs(nowTime - record) / 1000 > outTime) {
+						this.disconnect();
+					} else {
+						// 鏈秴鏃舵墽琛岄�昏緫
+						let dev_id = batt.FBSDeviceId;
+						this.diagram.powerCut = 0;
+						// 璁惧涓�61850
+						if (this.$units.regEquipType(dev_id, "equip61850")) {
+							this.setEquip61850(data);
+						} else if (
+							this.$units.regEquipType(dev_id, ["BTS", "BTS9110", "BTS9120", "lithium", "LD9"])
+						) {
+							this.setEquipBTS(data);
+						} else if (this.$units.regEquipType(dev_id, ["BTS9605", "BTS9611"])) {
+							this.setEquip9605(data);
+						} else {
+							this.disconnect();
+						}
+					}
+				} else {
+					// 璁剧疆鐗堟湰鍙�
+					this.dev_version = "";
+					// 璁惧澶勪簬鏈繛鎺�
+					this.disconnect();
+				}
+			});
+		},
+		// 璁剧疆stateList鐨勫��
+		setStateList(name, value, type) {
+			let stateList = this.stateList;
+			for (let i = 0; i < stateList.length; i++) {
+				let state = stateList[i];
+				if (state.name == name) {
+					state.value = value;
+					state.type = type ? type : "";
+				}
+			}
+
+			let historyStateList = this.historyStateList;
+			for (let i = 0; i < historyStateList.length; i++) {
+				let state = historyStateList[i];
+				if (state.name == name) {
+					state.value = value;
+					state.type = type ? type : "";
+				}
+			}
+
+			for (let i = 0, list = this.lastCapacityTest, j = list.length; i < j; i++) {
+				let state = list[i];
+				if (state.name == name) {
+					state.value = value;
+					state.type = type || "";
+				}
+			}
+		},
+		// 9605璁惧
+		setEquip9605(data) {
+			let batt = this.batt;
+			// 鍏抽棴閬僵灞�
+			this.maskShow = false;
+			//  鐢佃矾鍥剧被鍨�
+			let workstatus = parseInt(data.dev_workstate); //[0:'鍦ㄧ嚎鐩戞祴',1:'鏀剧數娴嬭瘯',2:'鍏呯數娴嬭瘯',3:'鍐呴樆娴嬭瘯',4:'鏈煡'];
+			this.diagram.desc = "";
+			let battstate = this.inputs.batt_state;
+			let alarmstatus = data.dev_alarmstate;
+
+			// 璁剧疆鍋滅數鏀剧數鐘舵��
+			if (data.dev_onlinevollow) {
+				this.inputs.batt_state = 5;
+				this.diagram.type = 5;
+				this.diagram.desc = "(寮�鍏抽棴鍚�)";
+				this.diagram.powerCut = 1;
+				// 褰撳墠璁惧鏄疊TS璁惧
+				if (workstatus === 0 && data.dev_res_test_state !== 0) {
+					this.diagram.desc += "(鍐呴樆娴嬭瘯)";
+				}
+				return;
+			}
+			// 鍒ゆ柇workstatus
+			switch (workstatus) {
+				case 0:
+					this.diagram.type = 0;
+					//this.diagram.desc = '(寮�鍏抽棴鍚�)';
+					// 褰撳墠璁惧鏄疊TS璁惧
+					if (data.dev_res_test_state !== 0) {
+						this.diagram.type = 6;
+						this.diagram.desc += "(鍐呴樆娴嬭瘯)";
+					}
+					break;
+				case 1:
+					this.diagram.type = 1;
+					//this.diagram.desc = '(寮�鍏虫柇寮�)';
+					break;
+				case 2:
+					this.diagram.type = 2;
+					//this.diagram.desc = '(寮�鍏虫柇寮�)';
+					break;
+				default:
+					this.diagram.type = -1;
+					this.maskShow = true;
+					break;
+			}
+		},
+		// BTS璁惧淇℃伅
+		setEquipBTS(data) {
+			let batt = this.batt;
+			// 鍏抽棴閬僵灞�
+			this.maskShow = false;
+			//  鐢佃矾鍥剧被鍨�
+			let workstatus = parseInt(data.dev_workstate); //[0:'鍦ㄧ嚎鐩戞祴',1:'鏀剧數娴嬭瘯',2:'鍏呯數娴嬭瘯',3:'鍐呴樆娴嬭瘯',4:'鏈煡'];
+			this.diagram.desc = "";
+			let battstate = this.inputs.batt_state;
+			let alarmstatus = data.dev_alarmstate;
+
+			// 鏄惁涓洪攤鐢垫睜
+			let isLithium = this.$units.regEquipType(batt.FBSDeviceId, "lithium");
+
+			// 璁剧疆鍋滅數鏀剧數鐘舵��
+			if (data.dev_onlinevollow) {
+				this.inputs.batt_state = 5;
+				this.diagram.type = 5;
+				this.diagram.desc = "(寮�鍏抽棴鍚�)";
+				this.diagram.powerCut = 1;
+				// 褰撳墠璁惧鏄疊TS璁惧
+				if (workstatus === 0 && data.dev_res_test_state !== 0) {
+					this.diagram.desc += "(鍐呴樆娴嬭瘯)";
+				}
+
+				// 閿傜數姹犺缁嗘弿杩颁负绌�
+				if (isLithium) {
+					this.diagram.desc = "";
+				}
+
+				return;
+			}
+			// 鍒ゆ柇workstatus
+			switch (workstatus) {
+				case 0:
+					this.diagram.type = 0;
+					this.diagram.desc = "(寮�鍏抽棴鍚�)";
+					// 褰撳墠璁惧鏄疊TS璁惧
+					if (data.dev_res_test_state !== 0) {
+						this.diagram.desc += "(鍐呴樆娴嬭瘯)";
+					}
+					break;
+				case 1:
+					if (
+						data.dev_testgroupnum > 0 &&
+						data.dev_testgroupnum === batt.GroupIndexInFBSDevice + 1
+					) {
+						this.diagram.type = 1;
+						this.diagram.desc = "(寮�鍏虫柇寮�)";
+					} else {
+						if (battstate === 3) {
+							this.diagram.type = 1;
+							this.diagram.desc = "(寮�鍏虫柇寮�)";
+						} else {
+							this.diagram.type = 0;
+							this.diagram.desc = "(寮�鍏抽棴鍚�)";
+						}
+					}
+
+					// 褰撳墠璁惧鏄疊TS璁惧
+					if (data.dev_testtype == 209) {
+						this.diagram.desc += "(KD娴嬭瘯)";
+						this.diagram.type = 3;
+					}
+					break;
+				case 2:
+					//杈ㄥ埆褰撳墠鐢垫睜缁勬槸鍚﹀湪鍏呯數
+					if (
+						this.diagram.type == 2 ||
+						(data.dev_testgroupnum > 0 &&
+							data.dev_testgroupnum === batt.GroupIndexInFBSDevice + 1)
+					) {
+						//鍏呯數
+						if (
+							alarmstatus === 1 ||
+							alarmstatus === 2 ||
+							alarmstatus === 3 ||
+							alarmstatus === 4 ||
+							alarmstatus === 6
+						) {
+							//闄愭祦鍏呯數      -->甯搁棴鎺ヨЕ鍣ㄦ柇寮�
+							this.diagram.type = 2;
+							this.diagram.desc = "(寮�鍏虫柇寮�)";
+						} else {
+							//鐩存祦鍏呯數     -->甯搁棴鎺ヨЕ鍣ㄩ棴鍚�
+							this.diagram.type = 2;
+							this.diagram.desc = "(寮�鍏抽棴鍚�)";
+						}
+					} else {
+						this.diagram.type = 0;
+						this.diagram.desc = "(寮�鍏抽棴鍚�)";
+					}
+					break;
+				default:
+					this.diagram.type = -1;
+					this.maskShow = true;
+					break;
+			}
+
+			// 閿傜數姹犺缁嗘弿杩颁负绌�
+			if (isLithium) {
+				this.diagram.desc = "";
+			}
+		},
+		// 61850璁惧淇℃伅
+		setEquip61850(data) {
+			//  鐢佃矾鍥剧被鍨�
+			let workstatus = parseInt(data.dev_workstate); //[0:'鍦ㄧ嚎鐩戞祴',1:'鏀剧數娴嬭瘯',2:'鍏呯數娴嬭瘯',3:'鍐呴樆娴嬭瘯',4:'鏈煡'];
+			this.diagram.desc = "";
+			// 鍏抽棴閬僵灞�
+			this.maskShow = false;
+			// 璁剧疆鍋滅數鏀剧數鐘舵��
+			if (data.dev_onlinevollow) {
+				this.inputs.batt_state = 5;
+				this.diagram.type = 5;
+				this.diagram.desc = "(寮�鍏抽棴鍚�)";
+				this.diagram.powerCut = 1;
+				// 褰撳墠璁惧鏄疊TS璁惧
+				if (workstatus === 0 && data.dev_res_test_state !== 0) {
+					this.diagram.desc += "(鍐呴樆娴嬭瘯)";
+				}
+				return;
+			}
+
+			switch (workstatus) {
+				case 0: //娴厖鐘舵�佹嫇鎵戝浘
+					this.diagram.type = 0;
+					this.diagram.desc = "(寮�鍏抽棴鍚�)";
+					break;
+				case 4: //娴厖鐘舵��(鍐呴樆娴嬭瘯)鎷撴墤鍥�
+					this.diagram.type = 0;
+					// 褰撳墠璁惧鏄惁鏄唴闃绘祴璇�
+					this.diagram.desc = "(寮�鍏抽棴鍚�)";
+					this.diagram.desc += "(鍐呴樆娴嬭瘯)";
+					break;
+				case 1: //鍏呯數鐘舵�佹嫇鎵戝浘
+					this.diagram.type = 2;
+					this.diagram.desc = "(寮�鍏虫柇寮�)";
+					break;
+				case 2: //鏀剧數鐘舵�佹嫇鎵戝浘
+					this.diagram.type = 1;
+					this.diagram.desc = "(寮�鍏虫柇寮�)";
+					break;
+				case 3: //鏀剧數鐘舵�佹嫇鎵戝浘
+					this.diagram.type = 5;
+					break;
+				case 5: //鏀剧數鐘舵��(KD娴嬭瘯)鎷撴墤鍥�
+					this.diagram.type = 3;
+					this.diagram.desc = "(寮�鍏虫柇寮�)";
+					this.diagram.desc += "(KD娴嬭瘯)";
+					break;
+				case 6: // 绂荤嚎鍏绘姢娴嬭瘯
+					this.diagram.type = 4;
+					this.diagram.desc = "绂荤嚎鍏绘姢娴嬭瘯";
+					break;
+				default:
+					//鏈煡
+					this.diagram.type = -1;
+					this.diagram.desc = "(鏈煡)";
+					this.maskShow = true;
+					break;
+			}
+
+			// 璁惧宸ヤ綔鐘舵��
+			let workStates = const_61850.workstates;
+			this.setStateList("workState", workStates[data.dev_workstate]);
+			// 鏍稿缁堟鍘熷洜
+			// let stopReasons = const_61850.stopreasons;
+			// if (data.dev_workstate == 2) {
+			//   this.setStateList("stopReason", "鏈煡");
+			// } else {
+			//   this.setStateList(
+			//     "stopReason",
+			//     stopReasons[data.dev_last_captest_stop_type]
+			//   );
+			// }
+
+			// 鎿嶄綔澶辫触鍘熷洜
+			let failReasons = const_61850.failreasons;
+			this.setStateList("failReason", failReasons[data.dev_alarmstate]);
+
+			// 鍛婅淇℃伅
+			let alarms = data.dev_61850alarms.split(",");
+			// alarms = ['false', 'false', 'true', 'false', 'true'];
+			// 閫氳鐘舵��
+			if (alarms[1] == "true") {
+				this.setStateList("connect", "寮傚父", "table-row-error");
+			} else {
+				this.setStateList("connect", "姝e父", "");
+			}
+
+			// 娓╁害
+			if (alarms[2] == "true") {
+				this.setStateList("devTemp", "寮傚父", "table-row-error");
+			} else {
+				this.setStateList("devTemp", "姝e父", "");
+			}
+
+			// 骞叉帴鐐�
+			if (alarms[4] == "true") {
+				this.setStateList("contact", "寮傚父", "table-row-error");
+			} else {
+				this.setStateList("contact", "姝e父", "");
+			}
+		},
+		// 鍩虹淇℃伅
+		setEquipBase(data) {
+			let groupIndex = this.batt.GroupIndexInFBSDevice;
+			// 璁惧鐨勬俯搴�
+			this.diagram.temp = data.dev_temp;
+			let contactRes = (groupIndex != 0
+				? data.dev_conresist1
+				: data.dev_conresist
+			).toHold(2);
+			let dropVol = (groupIndex != 0
+				? data.dev_condvoldp1
+				: data.dev_condvoldp
+			).toHold(2);
+			let alarms = data.dev_61850alarms.split(",");
+			if (alarms.length) {
+				this.diagram.contactRes = alarms[0] == "true" ? "k1寮傚父" : contactRes;
+				this.diagram.dropVol = alarms[3] == "true" ? "D1寮傚父" : dropVol;
+			} else {
+				this.diagram.contactRes = contactRes;
+				this.diagram.dropVol = dropVol;
 			}
 		},
 		realTimeLd9Data() {

--
Gitblit v1.9.1