From cb321bb4368f7bf76bc8a3ad38604abd5e5a0dba Mon Sep 17 00:00:00 2001
From: lgq <1015864684@qq.com>
Date: 星期一, 07 七月 2025 11:44:13 +0800
Subject: [PATCH] 1.修改打包脚本,每次从code里复制最新的编译结果和www文件 2.增加snmp服务/usr/local/bin/snmpd, 默认不启动,启动时需要再/work/run.sh里调用/usr/local/script/start_snmpd脚本,注意要后台运行

---
 local/version                                   |    2 
 local/www/images/wsd-single/wsd-single/dz2.png  |    0 
 local/www/js/page/warn-list.js                  |  195 +----
 local/default/iot_cfg.db                        |    0 
 local/www/cgi-bin/sys-network/save              |    2 
 local/www/detail-jmkt.html                      |   34 
 local/www/cgi-bin/upload/upload.cgi             |    0 
 local/www/cgi-bin/warn-list/update              |    2 
 local/www/js/page/device-common.js              |   11 
 local/www/css/page/single/single.css            |    2 
 local/www/images/wsd-single/wsd-single/dz1.png  |    0 
 local/www/js/page/record-his.js                 |   75 +
 local/app/fzBus                                 |    0 
 local/www/cgi-bin/sys-set/systemSpace           |    2 
 local/www/sys-param-set.html                    |    5 
 local/www/js/page/three-img.js                  |  464 +++++++++------
 local/www/cgi-bin/device-debug/debug            |    3 
 local/www/cgi-bin/upload/start_upgrade          |    1 
 local/www/detail-wsd-single2.html               |  125 ++++
 local/www/js/page/sys-set.js                    |    2 
 local/www/cgi-bin/action/open-door              |   26 
 local/app/svr                                   |    0 
 local/bin/snmp_cfg                              |    0 
 local/www/cgi-bin/register/query_sn             |    5 
 local/www/js/page/index.js                      |   10 
 local/bin/snmp_val.sh                           |   33 +
 local/www/device-common.html                    |    8 
 local/www/index.html                            |    2 
 local/www/sys-register.html                     |    2 
 local/bin/db                                    |    0 
 local/www/cgi-bin/snmp/enable                   |   24 
 local/www/cgi-bin/bin.tgz                       |    0 
 new_board_upgrade/upgrade/app.tgz               |    0 
 upgrade/app.tgz                                 |    0 
 make_app.sh                                     |    5 
 local/app/NetModule                             |    0 
 local/www/css/page/warn-list.css                |    2 
 local/www/cgi-bin/action/open-door-do           |   28 
 local/default/sysConfig.json                    |    6 
 local/www/cgi-bin/download/download.cgi         |    0 
 local/www/cgi-bin/snmp/query                    |   20 
 local/www/cgi-bin/snmp/download                 |   18 
 local/bin/snmpd                                 |    0 
 local/www/cgi-bin/state/query-device            |   49 
 local/www/cgi-bin/route/add                     |   15 
 local/www/css/page/detail-wsd-single2.css       |  239 ++++++++
 local/www/images/wsd-single/wsd-single/icn2.png |    0 
 local/www/cgi-bin/do/do                         |   42 +
 local/bin/msg                                   |    0 
 local/www/sys-debug.html                        |   24 
 local/script/start_snmpd                        |    1 
 local/www/js/page/device-net.js                 |   13 
 local/bin/export.sh                             |    9 
 local/www/images/wsd-single/wsd-single/icn1.png |    0 
 local/www/sys-set.html                          |   26 
 local/app/MainControl                           |    0 
 local/www/sys-snmp-conf.html                    |  190 ++++++
 local/app/linkage                               |    0 
 local/www/device-expand.html                    |    8 
 local/www/cgi-bin/bin/jsoner                    |    0 
 60 files changed, 1,275 insertions(+), 455 deletions(-)

diff --git a/local/app/MainControl b/local/app/MainControl
index 7a11ea6..6013180 100755
--- a/local/app/MainControl
+++ b/local/app/MainControl
Binary files differ
diff --git a/local/app/NetModule b/local/app/NetModule
index 97a4421..05beec5 100755
--- a/local/app/NetModule
+++ b/local/app/NetModule
Binary files differ
diff --git a/local/app/fzBus b/local/app/fzBus
index 0d28a84..be74c7b 100755
--- a/local/app/fzBus
+++ b/local/app/fzBus
Binary files differ
diff --git a/local/app/linkage b/local/app/linkage
index b5d91e8..a0759ec 100755
--- a/local/app/linkage
+++ b/local/app/linkage
Binary files differ
diff --git a/local/app/svr b/local/app/svr
index 3f40e5f..6f8fe7f 100755
--- a/local/app/svr
+++ b/local/app/svr
Binary files differ
diff --git a/local/bin/db b/local/bin/db
index 54a634e..3031883 100755
--- a/local/bin/db
+++ b/local/bin/db
Binary files differ
diff --git a/local/bin/export.sh b/local/bin/export.sh
new file mode 100755
index 0000000..51fe1e6
--- /dev/null
+++ b/local/bin/export.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+sqlite3 /work/iot_cfg.db ".headers on " "select d.name as 璁惧鍚嶇О,'1.3.6.1.4.1.27116.'||d.id||'.'||a.passcode as OID, d.id as 璁惧ID, a.passcode as 閫氶亾鍙�, a.name as 鏁版嵁鍚嶇О,a.note as 澶囨敞  from device d left join accuracy a on d.id=a.id   where uploadFlag=0" > /tmp/oid_list.csv
+sqlite3 /work/iot_cfg.db "SELECT     name as 璁惧鍚嶇О, '1.3.6.1.4.1.27116.'||id||'.3' as OID, id as 璁惧ID, 3 as 閫氶亾鍙� , '鐘舵��' as 鏁版嵁鍚嶇О, '0-姝e父;1-鍛婅' as 澶囨敞   FROM ioDevice ;" >> /tmp/oid_list.csv
+
+sed -i 's/|/,/g' /tmp/oid_list.csv
+
+
+/usr/local/bin/snmp_cfg -f /work/snmp.json /tmp/oid_list.csv
diff --git a/local/bin/msg b/local/bin/msg
index d7c10ff..d4351f5 100755
--- a/local/bin/msg
+++ b/local/bin/msg
Binary files differ
diff --git a/local/bin/snmp_cfg b/local/bin/snmp_cfg
new file mode 100755
index 0000000..3336ea1
--- /dev/null
+++ b/local/bin/snmp_cfg
Binary files differ
diff --git a/local/bin/snmp_val.sh b/local/bin/snmp_val.sh
new file mode 100755
index 0000000..d09feb4
--- /dev/null
+++ b/local/bin/snmp_val.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+
+
+
+# 鑾峰彇浼犲叆鐨� OID
+OID="$1"
+jsoner=./jsoner
+
+#echo "鑴氭湰琚皟鐢�, OID: $OID"
+chn=${OID##*.}
+id=${OID%.*}
+id=${id##*.}
+
+#echo "id: $id chn: $chn"
+
+chn=`expr $chn - 1 `
+
+#echo "$jsoner -g /tmp/$id value-$chn.value" 
+val=`$jsoner -g /tmp/$id value-$chn.value`
+ret=$?
+#echo "ret = $ret"
+
+if [ $ret -eq 0 ]
+then 
+	RESPONSE="{\"type\": \"OctetString\", \"value\": \"$val\" }"
+	echo "$RESPONSE"
+
+else 
+	# 榛樿杩斿洖
+	RESPONSE="{\"type\": \"OctetString\", \"value\": \"noData\"}"
+	echo "$RESPONSE"
+fi
\ No newline at end of file
diff --git a/local/bin/snmpd b/local/bin/snmpd
new file mode 100755
index 0000000..a7387a6
--- /dev/null
+++ b/local/bin/snmpd
Binary files differ
diff --git a/local/default/iot_cfg.db b/local/default/iot_cfg.db
index 99482f9..77ce79b 100644
--- a/local/default/iot_cfg.db
+++ b/local/default/iot_cfg.db
Binary files differ
diff --git a/local/default/sysConfig.json b/local/default/sysConfig.json
index 2e8953c..1ec6256 100755
--- a/local/default/sysConfig.json
+++ b/local/default/sysConfig.json
@@ -1,8 +1,12 @@
 {
     "contacter": "",
 	"mainShow": "1",
+	"menu3DVld": "0",
+	"linkage": "0",
+	"etcPlat": "0",
+	"snmp": 0,
     "name": "鍔ㄧ幆鐩戞帶绯荤粺",
     "opPhone": "4006271116",
     "opVendor": "椋庢鑷磋繙淇℃伅鎶�鏈偂浠芥湁闄愬叕鍙�",
-    "usedTime": "20250301"
+    "usedTime": "20250501"
 }
diff --git a/local/script/start_snmpd b/local/script/start_snmpd
new file mode 100755
index 0000000..5b45c74
--- /dev/null
+++ b/local/script/start_snmpd
@@ -0,0 +1 @@
+/usr/local/bin/snmpd run-server  --bindTo 0.0.0.0:161  --configFile /work/snmp.json --logLevel=error >/tmp/log
diff --git a/local/version b/local/version
index 63a19d8..7804e1e 100644
--- a/local/version
+++ b/local/version
@@ -1,3 +1,3 @@
-2025-06-20-v001
+2025-07-07-v001
 type=1
 IGD3000
diff --git a/local/www/cgi-bin/action/open-door b/local/www/cgi-bin/action/open-door
index 44ffcfc..95f35c7 100755
--- a/local/www/cgi-bin/action/open-door
+++ b/local/www/cgi-bin/action/open-door
@@ -1,5 +1,6 @@
 #!/bin/sh
-# 璁剧疆DO鐘舵�� 楂橀�烢TC鐢ㄧ殑DO寮�闂�
+# 寮�闂�
+#
 echo -en "Content-type: text/html; charset=utf-8\n\n"
 #*****************************************************
 source ../bin/env.sh
@@ -7,22 +8,11 @@
 jsoner="../bin/jsoner"
 
 
-read content
-id=`$jsoner $content  id`
+read result
 
-if [ $? -eq 0 ]
-then
-    echo "{\"code\":\"success\"}"
-else
-    echo "{\"code\":\"error\"}"
-fi
-if [ $id -eq 7 ]
-then
-    echo 1 > /usr/local/dev/do1
-    exec /work/data/local/www/cgi-bin/action/close1
-else 
-    echo 1 > /usr/local/dev/do2
-    exec /work/data/local/www/cgi-bin/action/close2 
-fi 
+id=`$jsoner $result id`
 
-#echo "query device list: $content"> log
+`/usr/local/bin/msg set $id 8 1`
+ 
+#echo $result > log
+
diff --git a/local/www/cgi-bin/action/open-door-do b/local/www/cgi-bin/action/open-door-do
new file mode 100755
index 0000000..44ffcfc
--- /dev/null
+++ b/local/www/cgi-bin/action/open-door-do
@@ -0,0 +1,28 @@
+#!/bin/sh
+# 璁剧疆DO鐘舵�� 楂橀�烢TC鐢ㄧ殑DO寮�闂�
+echo -en "Content-type: text/html; charset=utf-8\n\n"
+#*****************************************************
+source ../bin/env.sh
+db="../bin/db"
+jsoner="../bin/jsoner"
+
+
+read content
+id=`$jsoner $content  id`
+
+if [ $? -eq 0 ]
+then
+    echo "{\"code\":\"success\"}"
+else
+    echo "{\"code\":\"error\"}"
+fi
+if [ $id -eq 7 ]
+then
+    echo 1 > /usr/local/dev/do1
+    exec /work/data/local/www/cgi-bin/action/close1
+else 
+    echo 1 > /usr/local/dev/do2
+    exec /work/data/local/www/cgi-bin/action/close2 
+fi 
+
+#echo "query device list: $content"> log
diff --git a/local/www/cgi-bin/bin.tgz b/local/www/cgi-bin/bin.tgz
index 3bdc260..79b8d1c 100644
--- a/local/www/cgi-bin/bin.tgz
+++ b/local/www/cgi-bin/bin.tgz
Binary files differ
diff --git a/local/www/cgi-bin/bin/jsoner b/local/www/cgi-bin/bin/jsoner
index aaa22f5..0a60817 100755
--- a/local/www/cgi-bin/bin/jsoner
+++ b/local/www/cgi-bin/bin/jsoner
Binary files differ
diff --git a/local/www/cgi-bin/device-debug/debug b/local/www/cgi-bin/device-debug/debug
index b4aa0ca..07dc9a2 100755
--- a/local/www/cgi-bin/device-debug/debug
+++ b/local/www/cgi-bin/device-debug/debug
@@ -29,6 +29,7 @@
 cid2=`$jsoner $arg cid2`
 data=`$jsoner $arg data`
 oid=`$jsoner $arg oid`
+community=`$jsoner $arg community`
 
 
 case "$debug" in 
@@ -39,7 +40,7 @@
 string)
 content=`msg string $type $ip $port $data`;;
 snmp)
-content=`msg snmp $ver $ip $oid`;;
+content=`msg snmp $ver $ip $oid $port $community`;;
 esac
 
 #echo $content
diff --git a/local/www/cgi-bin/do/do b/local/www/cgi-bin/do/do
new file mode 100755
index 0000000..dfa1e27
--- /dev/null
+++ b/local/www/cgi-bin/do/do
@@ -0,0 +1,42 @@
+#!/bin/sh
+#鎵цURL鐨勫弬鏁板懡浠�
+#渚嬶細http://192.168.1.123/cgi-bin/do/do?sqlite3 /work/iot_cfg.db "select * from alarm"
+export PATH=/sbin:/usr/sbin:$PATH
+echo -en "Content-type: text/html; charset=utf-8\n\n"
+#*****************************************************
+source ../bin/env.sh
+db="../bin/db"
+jsoner="../bin/jsoner"
+
+# 1. 鑾峰彇鍙傛暟閫昏緫
+if [ "$REQUEST_METHOD" = "GET" ]; then
+    # 浠嶶RL鑾峰彇鍙傛暟锛堟牸寮忥細?key=value锛�
+    params="$QUERY_STRING"  # 鍐呯疆鐜鍙橀噺[5,7](@ref)
+elif [ "$REQUEST_METHOD" = "POST" ]; then
+    # 浠庢爣鍑嗚緭鍏ヨ鍙朠OST鏁版嵁
+    read -t 5 params  # 5绉掕秴鏃堕槻姝㈤樆濉瀃6](@ref)
+else
+    echo "error: Unsupported method"
+    exit 1
+fi
+
+# 2. 鍙傛暟楠岃瘉涓庤緭鍑�
+if [ -z "$params" ]; then
+    echo "error: No parameters received"
+else
+    # 绠�鏄撹В鐮佸鐞嗭紙绌烘牸鍜岀壒娈婂瓧绗︼級
+    decoded_params=$(echo "$params" | sed -e 's/%20/ /g' -e 's/%22/"/g' -e 's/%2F/\//g' -e 's/+/ /g')
+    # 鍛戒护瀛楃涓插啓鍏ユ枃浠�
+    echo "$decoded_params" > /tmp/.cmd
+fi
+
+#3. 鎵ц鍛戒护
+data=`sh /tmp/.cmd`
+
+if [ $? -eq 0 ]
+then
+    echo  "{\"code\":\"success\",\"result\":\"$data\"}"
+else
+	echo "{\"code\":\"error\",\"result\":\"$data\"}"
+fi
+
diff --git a/local/www/cgi-bin/download/download.cgi b/local/www/cgi-bin/download/download.cgi
new file mode 100755
index 0000000..e3821cd
--- /dev/null
+++ b/local/www/cgi-bin/download/download.cgi
Binary files differ
diff --git a/local/www/cgi-bin/register/query_sn b/local/www/cgi-bin/register/query_sn
index 85339e4..9ecb587 100755
--- a/local/www/cgi-bin/register/query_sn
+++ b/local/www/cgi-bin/register/query_sn
@@ -1,5 +1,6 @@
 #!/bin/sh
 # 鏌ヨ-涓插彛璁惧
+export PATH=/sbin:/usr/sbin:$PATH
 echo -en "Content-type: text/html; charset=utf-8\n\n"
 #*****************************************************
 source ../bin/env.sh
@@ -11,7 +12,11 @@
 
 #echo "query device list: $content" >> log
 
+tmp=`sqlite3 /work/iot_cfg.db "select id from machine"`
+
+if [ "$tmp" = "" ];then
 /usr/local/script/update_sn  > /dev/null
+fi
  
 sn=`sqlite3 /work/iot_cfg.db "select id from machine"`
 
diff --git a/local/www/cgi-bin/route/add b/local/www/cgi-bin/route/add
index 1927b36..d74457b 100755
--- a/local/www/cgi-bin/route/add
+++ b/local/www/cgi-bin/route/add
@@ -17,9 +17,9 @@
 
 dev=`$jsoner $data Interface`
 
-cmd="route add -net $des gateway $gate netmask $mask dev $dev"
+cmd="route add -net $des  netmask $mask dev $dev"
 
-str="route del -net $des gateway $gate netmask $mask dev $dev"
+str="route del -net $des netmask $mask dev $dev"
 
 file="/work/route_list"
 
@@ -40,6 +40,17 @@
     fi
 done < "$file"
 
+if [ -f $file ] 
+then 
+    if [ -s $file ] 
+    then 
+	echo "" >>/dev/null
+    else 
+        echo "$cmd" >> $file    
+    fi
+else	
+    echo "$cmd" >> $file    
+fi 
 $cmd
 
 echo "{\"code\":\"success\"}"
diff --git a/local/www/cgi-bin/snmp/download b/local/www/cgi-bin/snmp/download
new file mode 100755
index 0000000..1c4bf65
--- /dev/null
+++ b/local/www/cgi-bin/snmp/download
@@ -0,0 +1,18 @@
+#!/bin/sh
+# 绔彛閰嶇疆-鏌ヨ
+echo -en "Content-type: text/html; charset=utf-8\n\n"
+#*****************************************************
+source ../bin/env.sh
+db="../bin/db"
+
+file="/tmp/oid_list.csv"
+/usr/local/bin/export.sh  >> /dev/null
+
+if [ -f "$file" ]
+then
+    echo "{\"code\":\"success\"}"
+else
+    echo "{\"code\":\"error\"}"
+fi
+ 
+
diff --git a/local/www/cgi-bin/snmp/enable b/local/www/cgi-bin/snmp/enable
new file mode 100755
index 0000000..7e0cc76
--- /dev/null
+++ b/local/www/cgi-bin/snmp/enable
@@ -0,0 +1,24 @@
+#!/bin/sh
+#SNMP妯$粍鐘舵�佹煡璇�
+export PATH=/sbin:/usr/sbin:$PATH
+echo -en "Content-type: text/html; charset=utf-8\n\n"
+#*****************************************************
+source ../bin/env.sh
+db="../bin/db"
+jsoner="../bin/jsoner"
+
+read content                                
+
+enable=`$jsoner $content enable`
+
+cfg=`jsoner -g /work/sysConfig.json snmp`
+
+if [ "$enable" == "true" ]
+then
+    `jsoner -s /work/sysConfig.json snmp "1"` > /dev/null
+    
+else
+    `jsoner -s /work/sysConfig.json snmp "0"` > /dev/null
+fi
+
+echo "{\"code\": \"success\"}"
diff --git a/local/www/cgi-bin/snmp/query b/local/www/cgi-bin/snmp/query
new file mode 100755
index 0000000..84a0829
--- /dev/null
+++ b/local/www/cgi-bin/snmp/query
@@ -0,0 +1,20 @@
+#!/bin/sh
+#SNMP妯$粍鐘舵�佹煡璇�
+export PATH=/sbin:/usr/sbin:$PATH
+echo -en "Content-type: text/html; charset=utf-8\n\n"
+#*****************************************************
+source ../bin/env.sh
+db="../bin/db"
+
+
+enable=`jsoner -g /work/sysConfig.json snmp`
+
+if [ "$enable" == "1" ]
+then
+    echo "{\"enable\": true}"
+else
+    echo "{\"enable\": false}"
+fi
+
+ 
+
diff --git a/local/www/cgi-bin/state/query-device b/local/www/cgi-bin/state/query-device
index c9335f2..9c3d211 100755
--- a/local/www/cgi-bin/state/query-device
+++ b/local/www/cgi-bin/state/query-device
@@ -10,37 +10,30 @@
 # 瀹氫箟瑕佹搷浣滅殑鏂囦欢
 file="/tmp/device_status"
 
-# 鐢熸垚涓存椂鏂囦欢
-temp_file=$(mktemp)
-delete_pattern=$(mktemp)
+cat $file
 
-# 鑾峰彇闇�瑕佸垹闄ょ殑琛屽彿鑼冨洿锛堝墠涓�琛�+褰撳墠琛�+鍚庝笁琛岋級
-awk '/^[[:space:]]*"id"[[:space:]]*:[[:space:]]*"25[67]"[[:space:]]*,/ {
-    start = NR - 1 > 0 ? NR - 1 : 1
-        end = NR + 3
-            for (i = start; i <= end; i++) 
-                    print i
-                    }' "$file" | sort -nu > "$delete_pattern"
+exit
+
+# # 鐢熸垚涓存椂鏂囦欢
+# temp_file=$(mktemp)
+# delete_pattern=$(mktemp)
+
+# # 鑾峰彇闇�瑕佸垹闄ょ殑琛屽彿鑼冨洿锛堝墠涓�琛�+褰撳墠琛�+鍚庝笁琛岋級
+# awk '/^[[:space:]]*"id"[[:space:]]*:[[:space:]]*"25[67]"[[:space:]]*,/ {
+#     start = NR - 1 > 0 ? NR - 1 : 1
+#         end = NR + 3
+#             for (i = start; i <= end; i++) 
+#                     print i
+#                     }' "$file" | sort -nu > "$delete_pattern"
                     
-                    # 鎵ц杩囨护骞舵樉绀虹粨鏋
-                    awk 'NR == FNR {del[$1]; next} !(FNR in del)' "$delete_pattern" "$file" > $temp_file
-num=`wc -l < $temp_file`
-if [ $num -gt 2 ]
-then
-sed -i '$d' $temp_file
-sed -i '$d' $temp_file
-echo "}
-]" >> $temp_file
-else
-# 鏂囦欢琛屾暟涓嶅ぇ浜�2
-echo "[]" > $temp_file
-fi	  
-cat $temp_file
-                    # 鍙�夛細濡傛灉瑕佺洿鎺ヤ慨鏀瑰師鏂囦欢锛屽彇娑堜互涓嬫敞閲�
-                    # mv "$temp_file" "$file"
+#                     # 鎵ц杩囨护骞舵樉绀虹粨鏋�
+#                     awk 'NR == FNR {del[$1]; next} !(FNR in del)' "$delete_pattern" "$file" | tee "$temp_file"
                     
-                    # 娓呯悊涓存椂鏂囦欢
-                    rm "$delete_pattern" "$temp_file"
+#                     # 鍙�夛細濡傛灉瑕佺洿鎺ヤ慨鏀瑰師鏂囦欢锛屽彇娑堜互涓嬫敞閲�
+#                     # mv "$temp_file" "$file"
+                    
+#                     # 娓呯悊涓存椂鏂囦欢
+#                     rm "$delete_pattern" "$temp_file"
 
  
 
diff --git a/local/www/cgi-bin/sys-network/save b/local/www/cgi-bin/sys-network/save
index 0ef2698..b1a1c48 100755
--- a/local/www/cgi-bin/sys-network/save
+++ b/local/www/cgi-bin/sys-network/save
@@ -16,6 +16,6 @@
     echo "{\"code\": \"error\"}" 
 fi
 
-/usr/local/script/set_net
+#/usr/local/script/set_net
 #echo "QUERY_STRING: '$REQUEST_METHOD' " > ./log
 #echo $content >> log
diff --git a/local/www/cgi-bin/sys-set/systemSpace b/local/www/cgi-bin/sys-set/systemSpace
index 1dc9c95..37c9a22 100755
--- a/local/www/cgi-bin/sys-set/systemSpace
+++ b/local/www/cgi-bin/sys-set/systemSpace
@@ -6,7 +6,7 @@
 db="../bin/db"
 jsoner="../bin/jsoner"
 
-path="/work"
+path="/work/data"
 
 
 df_output=$(df -h $path | tail -n 1)
diff --git a/local/www/cgi-bin/upload/start_upgrade b/local/www/cgi-bin/upload/start_upgrade
index a1ca892..e83f553 100755
--- a/local/www/cgi-bin/upload/start_upgrade
+++ b/local/www/cgi-bin/upload/start_upgrade
@@ -20,6 +20,7 @@
 then
     	chmod 777 /work/data/$filename
     	/work/data/$filename > /dev/null
+		/usr/local/script/update_sn > /dev/null
 	echo "{\"code\": \"success\"}"
 else
 	echo "{\"code\": \"error\"}"
diff --git a/local/www/cgi-bin/upload/upload.cgi b/local/www/cgi-bin/upload/upload.cgi
index 2ac563a..46df1dc 100755
--- a/local/www/cgi-bin/upload/upload.cgi
+++ b/local/www/cgi-bin/upload/upload.cgi
Binary files differ
diff --git a/local/www/cgi-bin/warn-list/update b/local/www/cgi-bin/warn-list/update
index 5aa9642..ccf84d5 100755
--- a/local/www/cgi-bin/warn-list/update
+++ b/local/www/cgi-bin/warn-list/update
@@ -19,4 +19,4 @@
 fi
 
 sn=`$jsoner $content sn`
-`msg alarm $id` > /dev/null
+`msg alarm $sn` > /dev/null
diff --git a/local/www/css/page/detail-wsd-single2.css b/local/www/css/page/detail-wsd-single2.css
new file mode 100644
index 0000000..b2d737e
--- /dev/null
+++ b/local/www/css/page/detail-wsd-single2.css
@@ -0,0 +1,239 @@
+@charset "utf-8";
+
+/*-----------------
+  Author:xxxx
+  update:2020
+ -------------------*/
+
+
+@font-face {
+    font-family: DINCond-Bold;
+}
+
+
+body {
+    font-family: "寰蒋闆呴粦", Arial, sans-serif;
+    font-size: 14px;
+    background: #282e35;
+    position: relative;
+}
+
+i, em {
+    font-style: normal;
+}
+
+a {
+    text-decoration: none;
+}
+
+.fl {
+    float: left;
+}
+
+.fr {
+    float: right;
+}
+
+.i-container {
+    width: 100%;
+    min-width: 1290px;
+    margin-left: auto;
+    margin-right: auto;
+    overflow: hidden;
+    background: url(../../images/b-bg.jpg) center no-repeat;
+    background-size: 100% 100%;
+}
+
+
+.jmkt-main {
+    overflow: hidden;
+    padding: 0 20px;
+    margin-top: 20px;
+}
+
+
+.mj-item {
+    position: relative;
+    height: 1000px;
+    margin: 15px;
+    overflow: hidden;
+    -webkit-border-radius: 8px;
+    border-radius: 8px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    padding: 10px 0;
+}
+
+
+.mj-item1 {
+    background-color: rgba(33, 185, 255,0.1);
+    /*background: url(../../images/wsd-bg1.png) center no-repeat;*/
+    /*background-size: 100% 100%;*/
+}
+
+.mj-item2 {
+    background-color: rgba(33, 185, 255,0.1);
+    /*background: url(../../images/wsd-bg2.png) center no-repeat;*/
+    /*background-size: 100% 100%;*/
+}
+
+.mj-item-img {
+    max-width: 320px;
+    max-height: 320px;
+    width: 80%;
+    position: absolute;
+    z-index: 2;
+    left: 0;
+    bottom: 0;
+}
+
+
+.mj-itemCon {
+    position: absolute;
+    left: 0;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    z-index: 5;
+}
+
+.mj-itemCon h4 {
+    line-height: 30px;
+    font-size: 80px;
+    color: #fff;
+    font-weight: bold;
+    padding: 0 25px;
+    text-align: center;
+}
+
+.mj-itemCon h4 span {
+    color: #3edcff;
+    font-size: 24px;
+    font-weight: normal;
+
+}
+
+.mj-itemCon p {
+    line-height: 1;
+    font-size: 210px;
+    margin-top: 10px;
+    color: #3edcff;
+    padding-right: 25px;
+
+    font-weight: bold;
+    font-family: DINCond-Bold;
+    position: absolute;
+    top: 10%;
+    width: 100%;
+    text-align: center;
+}
+
+.mj-itemCon p i {
+    font-size: 120px;
+    font-family: arial;
+    font-weight: normal;
+}
+
+
+
+.wsd-icon .dz {
+    position: absolute;
+    top: 40%;
+    left: 15%;
+    width: 640px;
+    height: 640px;
+    z-index: 2;
+}
+.wsd-icon .icn {
+    position: absolute;
+    top: 38%;
+    left: 32%;
+    width: 360px;
+    height: 360px;
+    z-index: 3;
+    -webkit-animation: bounce-down 8s linear infinite;
+    -moz-animation: bounce-down 8s linear infinite;
+    -o-animation: bounce-down 8s linear infinite;
+    animation: bounce-down 8s linear infinite;
+}
+@keyframes bounce-down {
+    25% {
+        transform: translateY(-50px)
+    }
+    100%,
+    50% {
+        transform: translateY(0)
+    }
+
+    75% {
+        transform: translateY(50px)
+    }
+}
+
+
+@media only screen and (max-width:1280px) and (max-height: 800px){
+    .i-container {
+        min-width: 1045px;
+        height: 100%;
+        overflow-y: scroll;
+    }
+    /** 闅愯棌鍒楄〃涓嬫媺婊氬姩鏉� **/
+    .div-body::-webkit-scrollbar {
+        display: none;
+    }
+    /*IE 10+ ----闅愯棌婊氬姩鏉�*/
+    .div-body {
+        -ms-overflow-style: none;
+    }
+    /*Firefox ----闅愯棌婊氬姩鏉�*/
+    .div-body {
+        scrollbar-width: none;
+    }
+
+
+    .pdgxq-group {
+        overflow: hidden;
+        height: 48px;
+        width: 325px;
+        margin: 22px 20px 0 20px;
+        background-image: url(../../images/jmkt-chuli.png);
+        background-size: 100% 100%;
+    }
+    .jmkt-chuli {
+        padding: 0 7px 0 15px;
+    }
+    .jmkt-yichuli {
+        padding: 0 5px 0 37px;
+    }
+    .pdgxq-group-item {
+        width: 120px;
+    }
+    .lsyg-jkxx-box {
+        margin: 25px 4px 20px 4px;
+        height: 440px;
+        overflow: hidden;
+        position: relative;
+    }
+    .mj-item {
+        margin: 5px;
+        height: 340px;
+        padding: 0px 0px;
+    }
+    .mj-itemCon p {
+        font-size: 60px;
+    }
+    .mj-itemCon p i {
+        font-size: 60px;
+    }
+
+    .pdgxq-m1-left {
+        height: 650px;
+    }
+    .pdgxq-m1-right {
+        height: 460px;
+    }
+    .wsd-icon{
+       margin-top: 0px;
+    }
+
+}
diff --git a/local/www/css/page/single/single.css b/local/www/css/page/single/single.css
index a7eb8f7..0967552 100644
--- a/local/www/css/page/single/single.css
+++ b/local/www/css/page/single/single.css
@@ -786,4 +786,4 @@
 	.databoard-crac__wind-speed::before {display: block;width: 70px;height: 70px;background: url(assets/databoard-icon-wind-big.png) no-repeat center;background-size: contain;margin-bottom: 20px;will-change: transform;}
 	.databoard-crac__wind-speed {margin-left: 32px;padding: 0;text-align: center;font-size: 16px;font-weight: 400;color: #4fccff;line-height: 22px;}
 	.databoard-crac__wind .databoard-crac__wind--label, .databoard-crac__wind .databoard-crac__wind--input {height: 22px;font-size: 14px;line-height: 22px;}
-}
+}
\ No newline at end of file
diff --git a/local/www/css/page/warn-list.css b/local/www/css/page/warn-list.css
index ea12346..2090e37 100644
--- a/local/www/css/page/warn-list.css
+++ b/local/www/css/page/warn-list.css
@@ -515,7 +515,7 @@
 	}
 }
 
-@media only screen and (max-width:1080px) and (max-height: 1920px){
+@media only screen and (max-width:1080px) and (min-width: 1750px){
 	.i-container {
 		min-width: 845px;
 		height: 100%;
diff --git a/local/www/detail-jmkt.html b/local/www/detail-jmkt.html
index 817c4f1..be5c207 100644
--- a/local/www/detail-jmkt.html
+++ b/local/www/detail-jmkt.html
@@ -543,26 +543,36 @@
     function sendAction(passcode,valId) {
         var passcode = passcode;
         var value = $("#"+valId).val();
-
-        if(valId == "stop"){
+/*
+        if(valId == "stop")
+        {
             passcode = "10";
             value = "1";
-        }else if(valId == "open"){
+        }else if(valId == "open")
+        {
             passcode = "9";
             value = "1";
-        }else{
-            if(passcode == "9"){
-                if(value == "-1"){
+        }
+        else
+        {
+            if(passcode == "9")
+            {
+                if(value == "-1")
+                {
                     layer.msg("寮�-鍏虫満鍛戒护锛氳閫夋嫨瑕佸彂閫佺殑鍛戒护锛�");
                     return ;
-                }else if(value == "0"){
+                }
+                else if(value == "0")
+                {
                     passcode = "12";
-                }else if(value == "1"){
+                }
+                else if(value == "1")
+                {
                     passcode = "13";
                 }
             }
         }
-
+*/
         var address = deviceInfo.address;
         var param = {"id": id,"address": address,"passcode": passcode,"value":value};
         // console.log(param);
@@ -643,7 +653,7 @@
                 <div class="pop-item pop-item-all">
                     <div class="layui-form-item" style="text-align: center;">
                         <button type="button" class="layui-btn layui-btn-normal pop-complete-btn"
-                                onclick="sendAction('9','runStatus1');" style="width: 20%;font-size: 18px;">纭畾</button>
+                                onclick="sendAction('101','runStatus1');" style="width: 20%;font-size: 18px;">纭畾</button>
                     </div>
                 </div>
             </div><!--pop-group end-->
@@ -697,7 +707,7 @@
                 <div class="pop-item pop-item-all">
                     <div class="layui-form-item" style="text-align: center;">
                         <button type="button" class="layui-btn layui-btn-normal pop-complete-btn"
-                                onclick="sendAction('11','setTem1');" style="width: 20%;font-size: 18px;">纭畾</button>
+                                onclick="sendAction('102','setTem1');" style="width: 20%;font-size: 18px;">纭畾</button>
                     </div>
                 </div>
             </div><!--pop-group end-->
@@ -751,7 +761,7 @@
                 <div class="pop-item pop-item-all">
                     <div class="layui-form-item" style="text-align: center;">
                         <button type="button" class="layui-btn layui-btn-normal pop-complete-btn"
-                                onclick="sendAction('13','setHum1');" style="width: 20%;font-size: 18px;">纭畾</button>
+                                onclick="sendAction('106','setHum1');" style="width: 20%;font-size: 18px;">纭畾</button>
                     </div>
                 </div>
             </div><!--pop-group end-->
diff --git a/local/www/detail-wsd-single2.html b/local/www/detail-wsd-single2.html
new file mode 100644
index 0000000..4665a17
--- /dev/null
+++ b/local/www/detail-wsd-single2.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <title>鏅鸿兘鏈烘埧绠$悊骞冲彴-娓╂箍搴�</title>
+    <link rel="stylesheet" type="text/css" href="./plugins/layui/css/layui.css"/>
+    <link rel="stylesheet" type="text/css" href="css/page/detail-wsd-single2.css"/>
+    <style>
+
+
+    </style>
+</head>
+
+<body class="pdgxq-body">
+<div class="i-container div-body">
+    <div class="jmkt-main">
+        <div class="layui-fluid">
+            <div class="pdgxq-m1 layui-row layui-col-space20">
+                <div class="layui-col-md6">
+                    <div class="mj-item mj-item1">
+
+                        <div class="mj-itemCon">
+                            <h4><span class="time">2020-10-30 15:30:26</span></h4>
+                            <div class="wsd-icon">
+                                <img class="icn" src="./images/icon-wendu.png"/>
+                                <img class="dz" src="images/wsd-single/dz2.png" alt="">
+                            </div>
+                            <p><span id="tem">22.1</span><i>鈩�</i></p>
+                        </div>
+
+                    </div>
+
+                </div><!--pdgxq-m1-left end-->
+
+                <div class="layui-col-md6">
+                    <div class="mj-item mj-item2">
+                        <div class="mj-itemCon">
+                            <h4><span class="time">2020-10-30 15:30:26</span></h4>
+                            <div class="wsd-icon">
+                                <img class="icn" src="./images/icon-shidu.png"/>
+                                <img class="dz" src="images/wsd-single/dz1.png" alt="">
+                            </div>
+                            <p><span id="hum">36.4</span><i>%</i></p>
+                        </div>
+                    </div>
+
+                </div><!--pdgxq-m1-left end-->
+
+            </div><!--pdgxq-m1 end-->
+
+        </div>
+
+    </div><!--jmkt-main end-->
+
+</div> <!--i-container end-->
+
+<script src="./js/jquery.min.js"></script>
+
+<script type="text/javascript">
+
+    $(function () {
+        //鑾峰彇URL涓殑鍙傛暟id
+        var deviceId = "1";
+
+        console.log("-----deviceId=" + deviceId);
+
+        if (!deviceId) {
+            console.log("娌℃湁鑾峰彇鍒拌澶嘔D锛屾棤娉曟煡鐪嬬洃鎺т俊鎭�");
+            return false;
+        }
+
+        //鏍规嵁璁惧ID浠庢帴鍙d腑鑾峰彇瀹炴椂鐩戞帶
+        queryData(deviceId);
+        //瀹氭椂鍣紝姣�5绉掓煡璇竴娆★紱鏌ヨ璁惧淇℃伅骞舵覆鏌�
+        setInterval(function () {
+            queryData(deviceId);
+        },2000);
+
+    }).call(this);
+
+
+    function queryData(deviceId) {
+        var data = {id: deviceId};
+        $.post("./cgi-bin/detail/query-data", JSON.stringify(data), function (data, status) {
+            if ("success" == status) {
+                // console.log('---------鑾峰彇鍒扮殑璁惧瀹炴椂鏁版嵁-----' + data);
+                renderInfo(data);
+            } else {
+                console.log("鏁版嵁鏌ヨ鍑洪敊锛岃閲嶆柊鎿嶄綔锛�");
+            }
+        }, "json");
+    };
+
+    //寮�濮嬫覆鏌�
+    function renderInfo(deviceData) {
+
+        //瀹炴椂鏁版嵁
+        var list = deviceData.value;
+        //鏃堕棿鏍煎紡鍖� yyyy-MM-dd hh:mm
+        var time = deviceData.time;
+        time = time.slice(0,4)+"-"+time.slice(4,6)+"-"+time.slice(6,8)+" "+time.slice(8,10)+":"+time.slice(10,12);
+        var cur;
+        for (var i = 1; i <= list.length; i++) {
+            cur = list[i - 1];
+
+            //娓╁害鐘舵��
+            if(cur.passcode == 3){
+                $("#tem").html(cur.value);
+            }
+            //婀垮害鐘舵��
+            if(cur.passcode == 4){
+                $("#hum").html(cur.value);
+            }
+            //鏇存柊鏃堕棿
+            $(".time").html(time);
+        }
+    }
+</script>
+
+<script src="./js/page/detail.js"></script>
+</body>
+</html>
diff --git a/local/www/device-common.html b/local/www/device-common.html
index 1391617..161ad4f 100644
--- a/local/www/device-common.html
+++ b/local/www/device-common.html
@@ -194,6 +194,14 @@
                                 <option value="6">COM6</option>
                                 <option value="7">COM7</option>
                                 <option value="8">COM8</option>
+                                <option value="9">COM9</option>
+                                <option value="10">COM10</option>
+                                <option value="11">COM11</option>
+                                <option value="12">COM12</option>
+                                <option value="13">COM13</option>
+                                <option value="14">COM14</option>
+                                <option value="15">COM15</option>
+                                <option value="16">COM16</option>
                             </select>
                         </div>
                     </div>
diff --git a/local/www/device-expand.html b/local/www/device-expand.html
index 8c6e39f..d52b99b 100644
--- a/local/www/device-expand.html
+++ b/local/www/device-expand.html
@@ -218,6 +218,14 @@
 								<option value="6">COM6</option>
 								<option value="7">COM7</option>
 								<option value="8">COM8</option>
+                                <option value="9">COM9</option>
+                                <option value="10">COM10</option>
+                                <option value="11">COM11</option>
+                                <option value="12">COM12</option>
+                                <option value="13">COM13</option>
+                                <option value="14">COM14</option>
+                                <option value="15">COM15</option>
+                                <option value="16">COM16</option>							
 							</select>
 						</div>
 					</div>
diff --git a/local/www/images/wsd-single/wsd-single/dz1.png b/local/www/images/wsd-single/wsd-single/dz1.png
new file mode 100644
index 0000000..cb0aecb
--- /dev/null
+++ b/local/www/images/wsd-single/wsd-single/dz1.png
Binary files differ
diff --git a/local/www/images/wsd-single/wsd-single/dz2.png b/local/www/images/wsd-single/wsd-single/dz2.png
new file mode 100644
index 0000000..3eeabac
--- /dev/null
+++ b/local/www/images/wsd-single/wsd-single/dz2.png
Binary files differ
diff --git a/local/www/images/wsd-single/wsd-single/icn1.png b/local/www/images/wsd-single/wsd-single/icn1.png
new file mode 100644
index 0000000..a423770
--- /dev/null
+++ b/local/www/images/wsd-single/wsd-single/icn1.png
Binary files differ
diff --git a/local/www/images/wsd-single/wsd-single/icn2.png b/local/www/images/wsd-single/wsd-single/icn2.png
new file mode 100644
index 0000000..5a8de0c
--- /dev/null
+++ b/local/www/images/wsd-single/wsd-single/icn2.png
Binary files differ
diff --git a/local/www/index.html b/local/www/index.html
index b0b7491..cbfdc9d 100644
--- a/local/www/index.html
+++ b/local/www/index.html
@@ -76,7 +76,7 @@
                             <a class="J_menuItem" data-id="0" href="record-his.html">鍘嗗彶鏁版嵁</a>
                         </li>
                         <li>
-                            <a class="J_menuItem" data-id="0" href="three-img.html" id="menu3DVld" >鍏ㄦ櫙瀵艰埅</a>
+                            <a class="J_menuItem" data-id="0" href="three-img.html" style="display: none;" id="menu3DVld" >鍏ㄦ櫙瀵艰埅</a>
                         </li>
                     </ul>
 
diff --git a/local/www/js/page/device-common.js b/local/www/js/page/device-common.js
index 01d40ee..2791415 100644
--- a/local/www/js/page/device-common.js
+++ b/local/www/js/page/device-common.js
@@ -28,7 +28,7 @@
 
 //鍒濆鍖栧崗璁簱鍒楄〃
 initLibname();
-initDevLibname();
+
 
 $(document).ready(function () {
     //娣诲姞鍗忚搴撲笅鎷夌洃鍚�
@@ -561,16 +561,7 @@
     });
 };
 
-function initDevLibname() {
 
-    $.get("./cgi-bin/do/find_debug_libname", function (data, status) {
-        if (data != null) {
-            renderDevLibname(data);
-        } else {
-            window.parent.notify("绯荤粺鍚庢湡鍗忚搴撳垪琛ㄥけ璐ワ紒");
-        }
-    }, "json");
-}
 
 function renderDevLibname(list) {
     $.each(list, function (index, item) {
diff --git a/local/www/js/page/device-net.js b/local/www/js/page/device-net.js
index 842c631..79a68f1 100644
--- a/local/www/js/page/device-net.js
+++ b/local/www/js/page/device-net.js
@@ -14,7 +14,6 @@
 
 //鍒濆鍖栧崗璁簱鍒楄〃
 initLibname();
-initDevLibname();
 
 
 $(document).ready(function () {
@@ -272,7 +271,7 @@
         libnamezh: $("#device-libname option[value='"+ $("#device-libname").val() +"']").text(),
         type: $("#device-type").val(),
         vld: $("#device-vld").val(),
-        userName: $("#dev-libname").val(),
+        userName: $("#device-userName").val(),
         passwd: $("#device-passwd").val(),
         // userName: $("#dev-libname").val(),
         taskNo: $("#device-taskNo").val(),
@@ -556,15 +555,7 @@
     });
 };
 
-function initDevLibname() {
-    $.get("./cgi-bin/do/find_debug_libname", function (data, status) {
-        if (data != null) {
-            renderDevLibname(data);
-        } else {
-            window.parent.notify("绯荤粺鍚庢湡鍗忚搴撳垪琛ㄥけ璐ワ紒");
-        }
-    }, "json");
-}
+
 
 function renderDevLibname(list) {
     $.each(list, function (index, item) {
diff --git a/local/www/js/page/index.js b/local/www/js/page/index.js
index 71ccfa6..30510cb 100644
--- a/local/www/js/page/index.js
+++ b/local/www/js/page/index.js
@@ -66,7 +66,7 @@
 
 
 $(document).ready(function () {
-    //checkLogin();
+    checkLogin();
 });
 
 //鍒濆鍖栬彍鍗�
@@ -90,9 +90,9 @@
         if ("success" == status) {
             window.SYS_SET = data;
             //绯荤粺鍚嶇О
-            // $("#sys-name").text(window.SYS_SET.name);
+            $("#sys-name").text(window.SYS_SET.name);
             // $("#menu3DVld").hide();
-            if(window.SYS_SET.menu3DVld == 1){
+            if(window.SYS_SET.menu3DVld == "1"){
                 $("#menu3DVld").show();
             }
             if(window.SYS_SET.linkage == "1"){
@@ -152,12 +152,14 @@
                 parentEle.append("<li><a class='J_menuItem' id='hw' href='detail-hw.html?id=999&type=" + data.type + "'>绾㈠鐩戞帶</a></li>");
             }
             tag_hw = false;
-        } else if ("3008" == data.type) {//娓╂劅
+        }
+        else if ("3008" == data.type) {//娓╂劅
             if (tag_wg) {
                 parentEle.append("<li><a class='J_menuItem' id='wg' href='detail-wg.html?id=999&type=" + data.type + "'>娓╂劅</a></li>");
             }
             tag_wg = false;
         }
+
         else if ("3012" == data.type) {//娑堥槻寮�鍏抽噺
             if (tag_xf) {
                 parentEle.append("<li><a class='J_menuItem' id='xf' href='detail-xf.html?id=999&type=" + data.type + "'>娑堥槻</a></li>");
diff --git a/local/www/js/page/record-his.js b/local/www/js/page/record-his.js
index 59066d1..3f2abd9 100644
--- a/local/www/js/page/record-his.js
+++ b/local/www/js/page/record-his.js
@@ -162,7 +162,7 @@
 
 //娓叉煋鍘嗗彶鏁版嵁鍒楄〃
 function renderRecordInfo(data) {
-
+    var num = getWHNum();
     var div_body_x = false;
     var thead = "";
     thead += "<tr><th style='width: 100px'>ID</th>";
@@ -172,22 +172,6 @@
     var theadData = [];
 
     if (data != null && data.length > 0) {
-        // $.each(data, function (index, item) {
-        //     html += "<tr><td>" + item.id + "</td>";
-        //     html += "<td>" + item.name + "</td>";
-        //     html += "<td>" + timeStr(item.time) + "</td>";
-        //     var tempData = eval(item.value);
-        //     var temp = '';
-        //     for (var i = 0; i < tempData.length; i++) {
-        //         if (i != 0) {
-        //             temp += "锛�";
-        //         }
-        //         temp += tempData[i].name + "=" + tempData[i].value;
-        //     }
-        //     html += "</tr>";
-        // });
-
-
         //鑾峰彇琛ㄥご
         $.each(data, function (index, item) {
             var tempData = eval(item.value);
@@ -197,12 +181,12 @@
         });
         // console.log(theadData);
         for(var i=0;i<theadData.length;i++){
-            if(i >= 5){
+            if(i >= num){
                 break;
             }
             thead += "<th style='width: 150px'>"+ theadData[i].name +"</th>";
         }
-        thead += "<th style='width: 150px'>璇︽儏</th>";
+        thead += "<th style=''>璇︽儏</th>";
         thead += "</tr>";
 
         $.each(data, function (index, item) {
@@ -211,7 +195,7 @@
             tbody += "<td>" + timeStr(item.time) + "</td>";
             var tempData = eval(item.value);
             for (var i = 0; i < theadData.length; i++) {
-                if(i >= 5){
+                if(i >= num){
                     break;
                 }
                 if(i < tempData.length){
@@ -226,10 +210,10 @@
             dataMap[key] = tempData;
         });
     } else {
-        thead += "<th style='width: 150px'>鏁版嵁</th></tr>";
+        thead += "<th style=''>鏁版嵁</th></tr>";
         tbody += '<tr><td colspan="4">鏆傛湭鏌ュ埌鏁版嵁</td></tr>';
     }
-    $("#div-body").attr("style","height: 615px;");
+    // $("#div-body").attr("style","height: 615px;");
     $("#thead").html(thead);
     $("#recordList").html(tbody);
 }
@@ -261,7 +245,6 @@
 
 //瀵煎嚭Excel鐐瑰嚮浜嬩欢
 function generateClick(){
-    // var tableId = "record-his-list";
     var request = {};
     request.id = $("#deviceId").val();
     if(!request.id)
@@ -365,6 +348,7 @@
 }
 
 function getTable(data) {
+
     var thead = "";
     thead += "<tr><th style='width: 100px'>ID</th>";
     thead += "<th style='width: 180px'>璁惧鍚嶇О</th>";
@@ -445,11 +429,14 @@
     });
 
     $("#tbody").html(html);
+
+    var paramWH = getWH("detail");
     layer.open({
         skin: 'mypop',
         type: 1,
         title: false,
-        area: ['40%', '65%'],
+        // area: ['40%', '65%'],
+        area: [paramWH.w, paramWH.h],
         closeBtn: 0,
         shade: 0,
         scrollbar: false,
@@ -464,3 +451,43 @@
 
 
 
+
+function getWH(tag) {
+    var res = {
+        w:"50%",
+        h:"64%"
+    };
+    if(screen.width==1920 && screen.height==1080){
+        res = {w:"80%",h:"64%"};
+        if(tag == "batchHandle"){
+            res = {w:"80%",h:"64%"};
+        }
+    }else if(screen.width==1280 && screen.height==1024){
+        res = {w:"80%",h:"64%"};
+        if(tag == "detail"){
+            res = {w:"80%",h:"95%"};
+        }
+        if(tag == "batchHandle"){
+            res = {w:"80%",h:"64%"};
+        }
+    }else if(screen.width==1280 && screen.height==800){
+        res = {w:"80%",h:"64%"};
+        if(tag == "detail"){
+            res = {w:"80%",h:"95%"};
+        }
+        if(tag == "batchHandle"){
+            res = {w:"80%",h:"64%"};
+        }
+    }
+    return res;
+}
+
+function getWHNum() {
+    var res = 5;
+    if(screen.width==1920){
+        res = 5;
+    }else if(screen.width==1280){
+        res = 1;
+    }
+    return res;
+}
diff --git a/local/www/js/page/sys-set.js b/local/www/js/page/sys-set.js
index 4a39179..a060d57 100644
--- a/local/www/js/page/sys-set.js
+++ b/local/www/js/page/sys-set.js
@@ -2,7 +2,7 @@
 var laydate;
 var form;
 var test = {"name":"绯荤粺鍚嶇О","screenName":"澶у睆鍚嶇О","screenSlogan":"澶у睆鏍囪","opVendor":"杩愮淮鍘傚晢","opPhone":"180********"
-    ,"contacter":"鑱旂郴浜�","usedTime":"2022-08-14 15:16:18","menu3DVld":"1"};
+    ,"contacter":"鑱旂郴浜�","usedTime":"2022-08-14 15:16:18","menu3DVld":"1", "etcPlat":"0", "linkage":"0"};
 var sysInfo = {};
 (function () {
     layui.use(['layer', 'form', 'laydate'], function () {
diff --git a/local/www/js/page/three-img.js b/local/www/js/page/three-img.js
index bd305cb..70852f4 100644
--- a/local/www/js/page/three-img.js
+++ b/local/www/js/page/three-img.js
@@ -20,50 +20,58 @@
 
 var testList = [
     {
-        "id":"21",
+        "id":"2211",
         "name":"娓╂箍搴�#1",
-        "category":"2001",
-        "type":"0",
-        "leftV":"0.4840",
-        "topV":"0.2015",
-        "value":[{
-            "passcode":"3",
-            "name":"娓╁害",
-            "value":"18"
-        },{
-            "passcode":"4",
-            "name":"婀垮害",
-            "value":"60"
-        }]
-    },{
-        "id":"2",
-        "name":"娓╂箍搴�#1",
-        "category":"2001",
-        "type":"0",
-        "leftV":"0.4840",
-        "topV":"0.2015",
-        "value":[{
-            "passcode":"3",
-            "name":"娓╁害",
-            "value":"18"
-        },{
-            "passcode":"4",
-            "name":"婀垮害",
-            "value":"60"
-        }]
-    },{
-        "id":"3",
-        "name":"绮惧瘑绌鸿皟#1",
         "category":"3004",
+        "type":"0",
+        "leftV":"0.4040",
+        "topV":"0.2515",
+        "value":[{
+            "passcode":"2",
+            "name":"娓╁害",
+            "value":"1"
+        },{
+            "passcode":"3",
+            "name":"娓╁害",
+            "value":"18"
+        },{
+            "passcode":"4",
+            "name":"婀垮害",
+            "value":"60"
+        }]
+    },{
+        "id":"2221",
+        "name":"娓╂箍搴�#1",
+        "category":"2002",
+        "type":"0",
+        "leftV":"0.4840",
+        "topV":"0.2015",
+        "value":[{
+            "passcode":"3",
+            "name":"娓╁害",
+            "value":"18"
+        },{
+            "passcode":"4",
+            "name":"婀垮害",
+            "value":"60"
+        }]
+    },{
+        "id":"3331",
+        "name":"绮惧瘑绌鸿皟#1",
+        "category":"2002",
         "type":"0",
         "leftV":"0.6840",
         "topV":"0.5015",
         "value":[{
             "passcode":"1",
             "name":"娓╁害",
-            "value":"18"
+            "value":"1"
         },{
             "passcode":"2",
+            "name":"娓╁害",
+            "value":"1"
+        },{
+            "passcode":"3",
             "name":"婀垮害",
             "value":"60"
         }]
@@ -144,7 +152,9 @@
     if(imgData){
         $("#img-three").attr('src', imgData);
     }
-    // $("#img-three").css("height", imgHei);
+    $("#img-three").css("height", imgHei);
+    // $("#img-three").css("width", "100%");
+    $("#img-three").show();
 };
 
 //鑾峰彇璁惧鍒楄〃锛屾覆鏌撴樉绀鸿澶囦俊鎭�
@@ -179,74 +189,113 @@
     var tagValue;
     var category;
     var recordMap;
-    var warnState;
+    var warnState = 0;
     var i;
-    console.log("=========鎵�鏈夎澶囦俊鎭�=========");
-    console.log(listDevice);
+    var name;
+    var warnStr = " warn-div ";
+    // console.log("=========鎵�鏈夎澶囦俊鎭�=========");
+    // console.log(listDevice);
     $.each(listDevice, function (index, device) {
+
         i = index;
         left = (parentWidth * device.leftV).toFixed(4);
         top = (parentHeight * device.topV).toFixed(4);
         category = device.category;//璁惧绫诲瀷
         id = device.id;//璁惧ID
-        if(id && category){
-            if(category != CATEGORY.D2090.code && category != CATEGORY.D2091.code){
-                recordMap = device.value;//璁惧鐩戞帶灞炴�ч泦鍚�
-                warnState = device.type;
-                tagValue = addCurData(category, recordMap, warnState,device);
-                temp = "";
-                if(device.id == thId1 || device.id == thId2){
-                    if(device.id == thId1){
-                        thData1 = device;
+        name = device.name;
+
+        if(category != CATEGORY.D3009.code){
+            if(id && category){
+                if(category != CATEGORY.D2090.code && category != CATEGORY.D2091.code){
+                    recordMap = device.value;//璁惧鐩戞帶灞炴�ч泦鍚�
+                    warnState = device.type;
+                    tagValue = addCurData(category, recordMap, warnState,device);
+                    warnState = tagValue.warnState;
+                    if(warnState == 0){
+                        warnStr = "";
                     }else{
-                        thData2 = device;
-                    }
-                    temp += "<div id='" + device.id
-                        + "' class='tip arrow_box'  style='left:" + left+ "px;top:" + top + "px;display: none;' "
-                        + "name='" + device.name + "' category='" + category + "' index='" + index + "'>";
-                    temp += "<div class = 'div-c'>";
-                    temp += "</div>";
-                    temp += "<div class = 'div-d' style='font-size: 14px;'><p style='margin-bottom: 5px;'><span>闇茬偣娓╁害1</span><span style='margin-left: 10%;'>闇茬偣娓╁害2</span></p>" +
-                        "<p><span style='margin-left: 1%;background-color: rgba(21, 221, 86, 1);padding: 0% 5%;'>22.2鈩�</span>" +
-                        "<span style='margin-left: 15%;background-color: rgba(21, 221, 86, 1);padding: 0% 5%;'>22.2鈩�</span></div>";
-                    temp += "</div>";
-
-                }else{
-                    if ("FULL" == tagValue.code) {
-                        temp += "<div id='" + device.id
-                            + "' class='tip arrow_box'  style='left:" + left+ "px;top:" + top + "px;' "
-                            + "name='" + device.name + "' category='" + category + "' index='" + index + "'>";
-                    } else {
-                        temp += "<div id='" + device.id
-                            + "' class='tip arrow_min'  style='left:" + left + "px;top:" + top + "px;' "
-                            + "name='" + device.name + "' category='" + category + "' index='" + index + "'>";
+                        warnStr = " warn-div ";
                     }
 
-                    temp += "<div class = 'div-c'>";
-                    temp += addCurImg(category);
-                    temp += "</div>";
-                    temp += tagValue.htm;
-                    temp += "</div>";
-                }
-                // if(category == CATEGORY.D3001.code){
-                //     console.log("=========闂ㄧ璁惧=========璁惧淇℃伅锛�");
-                //     console.log(device);
-                // }
+                    temp = "";
+                    if(device.id == thId1 || device.id == thId2){
+                        if(device.id == thId1){
+                            thData1 = device;
+                        }else{
+                            thData2 = device;
+                        }
+                        temp += "<div id='" + device.id
+                            + "' class='tip arrow_box "+warnStr+"'  style='left:" + left+ "px;top:" + top + "px;display: none;' "
+                            + "name='" + device.name + "' category='" + category + "' index='" + index + "'>";
+                        temp += "<div class = 'div-c'>";
+                        temp += "</div>";
+                        temp += "<div class = 'div-d' style='font-size: 14px;'><p style='margin-bottom: 5px;'><span>闇茬偣娓╁害1</span><span style='margin-left: 10%;'>闇茬偣娓╁害2</span></p>" +
+                            "<p><span style='margin-left: 1%;background-color: rgba(21, 221, 86, 1);padding: 0% 5%;'>22.2鈩�</span>" +
+                            "<span style='margin-left: 15%;background-color: rgba(21, 221, 86, 1);padding: 0% 5%;'>22.2鈩�</span></div>";
+                        temp += "</div>";
 
-                if(device.id != "1001" && device.id != "1002"){
+                    }else{
+                        if ("FULL" == tagValue.code) {
+                            temp += "<div id='" + device.id
+                                + "' class='tip arrow_box "+warnStr+"'  style='left:" + left+ "px;top:" + top + "px;' "
+                                + "name='" + device.name + "' category='" + category + "' index='" + index + "'>";
+                            temp += "<div class = 'div-c'>";
+                            temp += addCurImg(category,warnState);
+                            temp += "</div>";
+                            temp += tagValue.htm;
+
+                            // temp += "<div class = 'div-d' style='margin-top: -5px;'>";
+                            // temp += "<span style='padding: 2px;background-color: #524c4c;color: white;'>";
+                            // temp += name;
+                            // temp += "</span>";
+                            // temp += "</div>";
+
+                            temp += "</div>";
+                        } else {
+                            temp += "<div id='" + device.id
+                                + "' class='tip arrow_min "+warnStr+"'  style='left:" + left + "px;top:" + top + "px;' "
+                                + "name='" + device.name + "' category='" + category + "' index='" + index + "'>";
+                            temp += "<div class = 'div-c'>";
+                            temp += addCurImg(category,warnState);
+                            temp += "</div>";
+                            temp += tagValue.htm;
+
+                            // temp += "<div class = 'div-d' style='margin-top: -10px;'>";
+                            // temp += "<span style='padding: 2px;background-color: #524c4c;color: white;'>";
+                            // temp += name;
+                            // temp += "</span>";
+                            // temp += "</div>";
+
+                            temp += "</div>";
+                        }
+
+                        // temp += "<div class = 'div-c'>";
+                        // temp += addCurImg(category);
+                        // temp += "</div>";
+                        // temp += tagValue.htm;
+                        // temp += "</div>";
+                    }
+                    // if(category == CATEGORY.D3001.code){
+                    //     console.log("=========闂ㄧ璁惧=========璁惧淇℃伅锛�");
+                    //     console.log(device);
+                    // }
+
+                    // if(device.id != "1001" && device.id != "1002"){
+                    //     //鍒犻櫎鍘熸湁鍏冪礌锛屽湪杩涜杩藉姞
+                    //     $("#"+device.id).remove();
+                    //     parent.append(temp);
+                    //
+                    // }
                     //鍒犻櫎鍘熸湁鍏冪礌锛屽湪杩涜杩藉姞
                     $("#"+device.id).remove();
                     parent.append(temp);
-
                 }
-                // //鍒犻櫎鍘熸湁鍏冪礌锛屽湪杩涜杩藉姞
-                // $("#"+device.id).remove();
-                // parent.append(temp);
+            }else{
+                console.log("=========娌℃湁鑾峰彇鍒拌璁惧鐨勮澶噄d锛堢被鍨嬶級=========璁惧淇℃伅锛�");
+                console.log(device);
             }
-        }else{
-            console.log("=========娌℃湁鑾峰彇鍒拌璁惧鐨勮澶噄d锛堢被鍨嬶級=========璁惧淇℃伅锛�");
-            console.log(device);
         }
+
 
 
     });
@@ -308,25 +357,25 @@
             name = "娓╂劅";
         }
         if (category == CATEGORY.D3004.code) {
-            // url = "./detail-video.html?id=999&type=" + category;
-            // name = "瑙嗛";
-            var html = '';
-            html += '<iframe class="J_iframe" name="iframe0" width="100%" height="100%" ';
-            html += 'src="./detail-video-pop.html?id='+deviceId+'&type='+category+'" ';
-            html += ' frameborder="0" data-id="detail-ty-2.html" seamless></iframe>';
-            $("#video .popCon").html(html);
-            $("#device-name").text(name);
-            layer.open({
-                skin: 'mypop',
-                type: 1,
-                title: false,
-                area: ['100%', '100%'],
-                closeBtn: 0,
-                shade: 0,
-                scrollbar: false,
-                content: $('#video')
-            });
-            return;
+            url = "./detail-video.html?id=999&type=" + category;
+            name = "瑙嗛";
+            // var html = '';
+            // html += '<iframe class="J_iframe" name="iframe0" width="100%" height="100%" ';
+            // html += 'src="./detail-video-pop.html?id='+deviceId+'&type='+category+'" ';
+            // html += ' frameborder="0" data-id="detail-ty-2.html" seamless></iframe>';
+            // $("#video .popCon").html(html);
+            // $("#device-name").text(name);
+            // layer.open({
+            //     skin: 'mypop',
+            //     type: 1,
+            //     title: false,
+            //     area: ['100%', '100%'],
+            //     closeBtn: 0,
+            //     shade: 0,
+            //     scrollbar: false,
+            //     content: $('#video')
+            // });
+            // return;
         }
         // console.log("===================璺宠浆==================");
         // console.log("url="+url);
@@ -586,20 +635,22 @@
             recordMap[record[i].passcode] = record[i];
         }
     }
-    var result = {code: "FULL", htm: ""};
+    var result = {code: "FULL", htm: "",warnState:0};
     var temp = "";
-    //娓╂箍搴�-鍙樉绀烘俯搴﹀拰婀垮害
+    // //娓╂箍搴�-鍙樉绀烘俯搴﹀拰婀垮害
     if (category == CATEGORY.D2001.code) {
         if(recordMap){
             if(recordMap[1] && recordMap[1].value == 1){
                 temp += "<div class = 'div-d font-warn'>";
                 // temp += "<p><span>"+device.name+"</span></p>";
                 temp += "<p><span>閫氳寮傚父</span></p>";
+                result.warnState = 1;
             }else{
                 if(recordMap[2] && recordMap[2].value == 1){
                     temp += "<div class = 'div-d font-warn'>";
                     // temp += "<p><span>"+device.name+"</span></p>";
                     // temp += "<p><span>鎶ヨ</span></p>";
+                    result.warnState = 1;
                 }else{
                     temp += "<div class = 'div-d'>";
                     // temp += "<p><span>"+device.name+"</span></p>";
@@ -616,6 +667,7 @@
             temp += "<div class = 'div-d font-warn'>";
             temp += "<p><span>"+device.name+"</span></p>";
             temp += "<p><span>閫氳寮傚父</span></p>";
+            result.warnState = 1;
         }
         temp += "</div>";
         result.htm = temp;
@@ -628,108 +680,114 @@
                 temp += "<div class = 'div-d font-warn'>";
                 // temp += "<p><span>"+device.name+"</span></p>";
                 temp += "<p><span>閫氳寮傚父</span></p>";
+                result.warnState = 1;
             }else{
                 if(recordMap[2] && recordMap[2].value == 1){
                     temp += "<div class = 'div-d font-warn'>";
                     // temp += "<p><span>"+device.name+"</span></p>";
                     // temp += "<p><span>鎶ヨ</span></p>";
+                    result.warnState = 1;
                 }else{
                     temp += "<div class = 'div-d'>";
                     // temp += "<p><span>"+device.name+"</span></p>";
                     // temp += "<p><span>姝e父</span></p>";
-                }
-                if (recordMap[6]) {
-                    temp += "<p><span>璁惧畾娓╁害锛�" + recordMap[7].value + "鈩�</span></p>";
-                }
-                if (recordMap[6]) {
-                    temp += "<p><span>璁惧畾婀垮害锛�" + recordMap[7].value + "%</span></p>";
-                }
-            }
-        }else{
-            temp += "<div class = 'div-d font-warn'>";
-            temp += "<p><span>"+device.name+"</span></p>";
-            temp += "<p><span>閫氳寮傚父</span></p>";
-        }
-        temp += "</div>";
-        result.htm = temp;
-        return result;
-    }
-    //鏅�氱┖璋�
-    if (category == CATEGORY.D2003.code) {
-        if(recordMap){
-            if(recordMap[1] && recordMap[1].value == 1){
-                temp += "<div class = 'div-d font-warn'>";
-                // temp += "<p><span>"+device.name+"</span></p>";
-                temp += "<p><span>閫氳寮傚父</span></p>";
-            }else{
-                if(recordMap[2] && recordMap[2].value == 1){
-                    temp += "<div class = 'div-d font-warn'>";
-                    // temp += "<p><span>"+device.name+"</span></p>";
-                    // temp += "<p><span>鎶ヨ</span></p>";
-                }else{
-                    temp += "<div class = 'div-d'>";
-                    // temp += "<p><span>"+device.name+"</span></p>";
-                    // temp += "<p><span>姝e父</span></p>";
-                }
-                if (recordMap[3]) {
-                    temp += "<p><span>璁惧畾娓╁害锛�" + recordMap[3].value + "鈩�</span></p>";
                 }
                 if (recordMap[4]) {
-                    temp += "<p><span>璁惧畾婀垮害锛�" + recordMap[4].value + "%</span></p>";
+                    temp += "<p><span>瀹ゅ唴娓╁害锛�" + recordMap[4].value + "鈩�</span></p>";
+                }
+                if (recordMap[5]) {
+                    temp += "<p><span>瀹ゅ唴婀垮害锛�" + recordMap[5].value + "%</span></p>";
+                }
+                if (recordMap[6]) {
+                    temp += "<p><span>璁惧畾娓╁害" + recordMap[6].value + "鈩�</span></p>";
                 }
             }
         }else{
             temp += "<div class = 'div-d font-warn'>";
             temp += "<p><span>"+device.name+"</span></p>";
             temp += "<p><span>閫氳寮傚父</span></p>";
+            result.warnState = 1;
         }
         temp += "</div>";
         result.htm = temp;
         return result;
     }
-    //鐢垫睜
-    if (category == CATEGORY.D1005.code) {
-        if(recordMap){
-            if(recordMap[1] && recordMap[1].value == 1){
-                temp += "<div class = 'div-d font-warn'>";
-                // temp += "<p><span>"+device.name+"</span></p>";
-                temp += "<p><span>閫氳寮傚父</span></p>";
-            }else{
-                if(recordMap[2] && recordMap[2].value == 1){
-                    temp += "<div class = 'div-d font-warn'>";
-                    // temp += "<p><span>"+device.name+"</span></p>";
-                    // temp += "<p><span>鎶ヨ</span></p>";
-                }else{
-                    temp += "<div class = 'div-d'>";
-                    // temp += "<p><span>"+device.name+"</span></p>";
-                    // temp += "<p><span>姝e父</span></p>";
-                }
-                if (recordMap[125]) {
-                    temp += "<p><span>鎬� 鐢� 鍘嬶細" + recordMap[125].value + "</span></p>";
-                }
-                if (recordMap[124]) {
-                    temp += "<p><span>鎬� 鐢� 娴侊細" + recordMap[124].value + "</span></p>";
-                }
-                // if (recordMap[3]) {
-                //     temp += "<p><span>鐢垫睜涓暟锛�" + recordMap[3].value + "</span></p>";
-                // }
-                // if (recordMap[126]) {
-                //     temp += "<p><span>鍚庡鏃堕棿锛�" + recordMap[126].value + "</span></p>";
-                // }
-            }
-        }else{
-            temp += "<div class = 'div-d font-warn'>";
-            temp += "<p><span>"+device.name+"</span></p>";
-            temp += "<p><span>閫氳寮傚父</span></p>";
-        }
-        temp += "</div>";
-        // temp += "</marquee>";
-        result.htm = temp;
-        return result;
-    }
+    // //鏅�氱┖璋�
+    // if (category == CATEGORY.D2003.code) {
+    //     if(recordMap){
+    //         if(recordMap[1] && recordMap[1].value == 1){
+    //             temp += "<div class = 'div-d font-warn'>";
+    //             // temp += "<p><span>"+device.name+"</span></p>";
+    //             temp += "<p><span>閫氳寮傚父</span></p>";
+    //         }else{
+    //             if(recordMap[2] && recordMap[2].value == 1){
+    //                 temp += "<div class = 'div-d font-warn'>";
+    //                 // temp += "<p><span>"+device.name+"</span></p>";
+    //                 // temp += "<p><span>鎶ヨ</span></p>";
+    //             }else{
+    //                 temp += "<div class = 'div-d'>";
+    //                 // temp += "<p><span>"+device.name+"</span></p>";
+    //                 // temp += "<p><span>姝e父</span></p>";
+    //             }
+    //             if (recordMap[3]) {
+    //                 temp += "<p><span>璁惧畾娓╁害锛�" + recordMap[3].value + "鈩�</span></p>";
+    //             }
+    //             if (recordMap[4]) {
+    //                 temp += "<p><span>璁惧畾婀垮害锛�" + recordMap[4].value + "%</span></p>";
+    //             }
+    //         }
+    //     }else{
+    //         temp += "<div class = 'div-d font-warn'>";
+    //         temp += "<p><span>"+device.name+"</span></p>";
+    //         temp += "<p><span>閫氳寮傚父</span></p>";
+    //     }
+    //     temp += "</div>";
+    //     result.htm = temp;
+    //     return result;
+    // }
+    // //鐢垫睜
+    // if (category == CATEGORY.D1005.code) {
+    //     if(recordMap){
+    //         if(recordMap[1] && recordMap[1].value == 1){
+    //             temp += "<div class = 'div-d font-warn'>";
+    //             // temp += "<p><span>"+device.name+"</span></p>";
+    //             temp += "<p><span>閫氳寮傚父</span></p>";
+    //         }else{
+    //             if(recordMap[2] && recordMap[2].value == 1){
+    //                 temp += "<div class = 'div-d font-warn'>";
+    //                 // temp += "<p><span>"+device.name+"</span></p>";
+    //                 // temp += "<p><span>鎶ヨ</span></p>";
+    //             }else{
+    //                 temp += "<div class = 'div-d'>";
+    //                 // temp += "<p><span>"+device.name+"</span></p>";
+    //                 // temp += "<p><span>姝e父</span></p>";
+    //             }
+    //             if (recordMap[125]) {
+    //                 temp += "<p><span>鎬� 鐢� 鍘嬶細" + recordMap[125].value + "</span></p>";
+    //             }
+    //             if (recordMap[124]) {
+    //                 temp += "<p><span>鎬� 鐢� 娴侊細" + recordMap[124].value + "</span></p>";
+    //             }
+    //             // if (recordMap[3]) {
+    //             //     temp += "<p><span>鐢垫睜涓暟锛�" + recordMap[3].value + "</span></p>";
+    //             // }
+    //             // if (recordMap[126]) {
+    //             //     temp += "<p><span>鍚庡鏃堕棿锛�" + recordMap[126].value + "</span></p>";
+    //             // }
+    //         }
+    //     }else{
+    //         temp += "<div class = 'div-d font-warn'>";
+    //         temp += "<p><span>"+device.name+"</span></p>";
+    //         temp += "<p><span>閫氳寮傚父</span></p>";
+    //     }
+    //     temp += "</div>";
+    //     // temp += "</marquee>";
+    //     result.htm = temp;
+    //     return result;
+    // }
     if(category == CATEGORY.D3001.code){
         temp += "<div class = 'div-d'>";
-        temp += "<p><span>"+device.name+"</span></p>";
+        // temp += "<p><span>"+device.name+"</span></p>";
         temp += "</div>";
         result.htm = temp;
         result.code = "EMPTY";
@@ -752,21 +810,24 @@
                 temp += "<div class = 'div-d font-warn'>";
                 // temp += "<p><span>"+device.name+"</span></p>";
                 temp += "<p><span>閫氳寮傚父</span></p>";
+                result.warnState = 1;
             }else{
                 if(recordMap[2] && recordMap[2].value == 1){
                     temp += "<div class = 'div-d font-warn'>";
                     // temp += "<p><span>"+device.name+"</span></p>";
                     temp += "<p><span>鎶ヨ</span></p>";
+                    result.warnState = 1;
                 }else{
-                    temp += "<div class = 'div-d'>";
+                    temp += "<div class = 'div-d '>";
                     // temp += "<p><span>"+device.name+"</span></p>";
                     temp += "<p><span>姝e父</span></p>";
                 }
             }
         }else{
             temp += "<div class = 'div-d font-warn'>";
-            temp += "<p><span>"+device.name+"</span></p>";
+            // temp += "<p><span>"+device.name+"</span></p>";
             temp += "<p><span>閫氳寮傚父</span></p>";
+            result.warnState = 1;
         }
         temp += "</div>";
         result.htm = temp;
@@ -778,23 +839,26 @@
     if(recordMap){
         if(recordMap[1] && recordMap[1].value == 1){
             temp += "<div class = 'div-d font-warn'>";
-            temp += "<p><span>"+device.name+"</span></p>";
-            temp += "<p><span>閫氳寮傚父</span></p>";
+            // temp += "<p><span>"+device.name+"</span></p>";
+            // temp += "<p><span>閫氳寮傚父</span></p>";
+            result.warnState = 1;
         }else{
             if(recordMap[2] && recordMap[2].value == 1){
                 temp += "<div class = 'div-d font-warn'>";
-                temp += "<p><span>"+device.name+"</span></p>";
-                temp += "<p><span>鎶ヨ</span></p>";
+                // temp += "<p><span>"+device.name+"</span></p>";
+                // temp += "<p><span>鎶ヨ</span></p>";
+                result.warnState = 1;
             }else{
                 temp += "<div class = 'div-d'>";
-                temp += "<p><span>"+device.name+"</span></p>";
-                temp += "<p><span>姝e父</span></p>";
+                // temp += "<p><span>"+device.name+"</span></p>";
+                // temp += "<p><span>姝e父</span></p>";
             }
         }
     }else{
         temp += "<div class = 'div-d font-warn'>";
-        temp += "<p><span>"+device.name+"</span></p>";
-        temp += "<p><span>閫氳寮傚父</span></p>";
+        // temp += "<p><span>"+device.name+"</span></p>";
+        // temp += "<p><span>閫氳寮傚父</span></p>";
+        result.warnState = 1;
     }
     temp += "</div>";
     result.htm = temp;
@@ -808,7 +872,7 @@
  * @param category
  * @returns {String}
  */
-function addCurImg(category) {
+function addCurImg(category,warnState) {
     //娓╂箍搴�
     if (category == CATEGORY.D2001.code) {
         return "<img src='images/icon-ht@64.png'/>";
@@ -823,10 +887,16 @@
     }
     //UPS-涓夌浉
     if (category == CATEGORY.D1002.code) {
+        if(warnState == 1){
+            return "<img src='images/icon-ups@64.png'/>";
+        }
         return "<img src='images/icon-ups@64.png'/>";
     }
     //UPS-鍗曞悜
     if (category == CATEGORY.D1001.code) {
+        if(warnState == 1){
+            return "<img src='images/icon-ups@64.png'/>";
+        }
         return "<img src='images/icon-ups@64.png'/>";
     }
     //闂ㄧ
@@ -836,10 +906,12 @@
     //绮惧瘑绌鸿皟
     if (category == CATEGORY.D2002.code) {
         return "<img src='images/img-kt.png'/>";
+        // return "<img src='images/icon-ups@64.png'/>";
     }
     //鏅�氱┖璋�
     if (category == CATEGORY.D2003.code) {
         return "<img src='images/img-kt2.png'/>";
+        // return "<img src='images/icon-ups@64.png'/>";
     }
     //椋庢満
     if (category == CATEGORY.D2004.code) {
diff --git a/local/www/js/page/warn-list.js b/local/www/js/page/warn-list.js
index 957476a..e766fbe 100644
--- a/local/www/js/page/warn-list.js
+++ b/local/www/js/page/warn-list.js
@@ -29,7 +29,7 @@
             , trigger: 'click'
             , theme: 'custom'
         });
-
+        renderPageInfo(2,50);
         //娓叉煋鎸夐挳浣嶇疆
         renderParamBtn();
 
@@ -119,7 +119,7 @@
 
         $.each(data, function (index, item) {
             // if(item.flag == 0){
-                html += '<tr><td><input class="ckeck" name="ckeck" type="checkbox" id="'+item.sn+'"/></td>';
+                html += '<tr>';
                 // html += '<td>' + (index + 1) + '</td>';
                 html += '<td>' + item.sn + '</td>';
                 html += '<td>' + item.name + '</td>';
@@ -172,7 +172,7 @@
             "processTime": timeStr1(data.processTime),
             "id": data.id
         };
-        console.log(comData);
+        // console.log(comData);
 
         $.post("./cgi-bin/warn-list/update", JSON.stringify(comData), function (data, status) {
             if ("success" == status) {
@@ -205,40 +205,19 @@
         "processTime": new Date().Format("yyyy-MM-dd hh:mm:ss")
     });
 
-    if(screen.width==1920 && screen.height==1080){
-        layer.open({
-            skin: 'mypop',
-            type: 1,
-            title: false,
-            area: ['50%', '62%'],
-            closeBtn: 0,
-            shade: 0,
-            scrollbar: false,
-            content: $('#editWarnDom')
-        });
-    }else if(screen.width==1280 && screen.height==1024){
-        layer.open({
-            skin: 'mypop',
-            type: 1,
-            title: false,
-            area: ['80%', '64%'],
-            closeBtn: 0,
-            shade: 0,
-            scrollbar: false,
-            content: $('#editWarnDom')
-        });
-    }else{
-        layer.open({
-            skin: 'mypop',
-            type: 1,
-            title: false,
-            area: ['50%', '62%'],
-            closeBtn: 0,
-            shade: 0,
-            scrollbar: false,
-            content: $('#editWarnDom')
-        });
-    }
+    var paramWH = getWH("detail");
+    layer.open({
+        skin: 'mypop',
+        type: 1,
+        title: false,
+        // area: ['50%', '62%'],
+        area: [paramWH.w, paramWH.h],
+        closeBtn: 0,
+        shade: 0,
+        scrollbar: false,
+        content: $('#editWarnDom')
+    });
+
 
 };
 
@@ -260,11 +239,13 @@
         "processTime": new Date().Format("yyyy-MM-dd hh:mm:ss")
     });
 
+    var paramWH = getWH("detail");
     layer.open({
         skin: 'mypop',
         type: 1,
         title: false,
-        area: ['50%', '62%'],
+        // area: ['50%', '62%'],
+        area: [paramWH.w, paramWH.h],
         closeBtn: 0,
         shade: 0,
         scrollbar: false,
@@ -409,41 +390,18 @@
 
 //鎵瑰鐞�
 function batchHandle() {
-    console.log("=============鎵瑰鐞�============");
-    checkbox_warn = [];
-    var b;
-    var id= "";
-    $('[name=ckeck]:checked').each(function() {
-        id= "";
-        b = false;
-        b = $(this).prop('checked');
-        if(b){
-            id = $(this).attr('id');
-            checkbox_warn.push(warnMap[id]);
-        }
-    });
-    if(checkbox_warn.length <= 0){
-        layer.msg("閫夋嫨涓嶈兘涓虹┖锛�");
-        return;
-    }
-    console.log(checkbox_warn);
-    for(var i=0;i<checkbox_warn.length;i++){
-        if(checkbox_warn[i].flag !=0 ){
-            console.log(checkbox_warn[i]);
-            console.log("閫変腑鐨勬暟鎹腑瀛樺湪宸茬粡澶勭悊杩囩殑鏁版嵁锛�");
-            layer.msg("閫変腑鐨勬暟鎹腑瀛樺湪宸茬粡澶勭悊杩囩殑鏁版嵁锛�");
-            return;
-        }
-    }
+
 
     $("#batch_processTime").attr("readOnly","readOnly");
     $("#batch_processTime").val(new Date().Format("yyyy-MM-dd hh:mm:ss"));
+    var paramWH = getWH("batchHandle");
     layer.open({
         skin: 'mypop',
         type: 1,
         // title: '璀︽姤淇℃伅',
         title: false,
-        area: ['50%', '35%'],
+        // area: ['50%', '35%'],
+        area: [paramWH.w, paramWH.h],
         closeBtn: 0,
         shade: 0,
         scrollbar: false,
@@ -458,46 +416,6 @@
 
 //鎵归噺淇敼璀︽姤鐘舵��
 function warnUpdateBatch() {
-    // //鍚屾杩涜
-    // $.ajaxSettings.async = false;
-    // var param = {};
-    // var note = $("#batch_note").val();
-    // var processTime = $("#batch_processTime").val();
-    // if(note){
-    //     if(checkbox_warn && checkbox_warn.length > 0){
-    //         for(var i=0;i<checkbox_warn.length;i++){
-    //             param = {};
-    //             param = {
-    //                 "sn": checkbox_warn[i].sn,
-    //                 "flag": 1,
-    //                 "note": note,
-    //                 "processTime": timeStr1(processTime),
-    //                 "id": checkbox_warn[i].id
-    //             };
-    //             $.post("./cgi-bin/warn-list/update-batch", JSON.stringify(param), function (data, status) {
-    //                 if ("success" == status) {
-    //                     //鍏抽棴寮圭獥
-    //                     // closepopBtn();
-    //                     //閲嶆柊鍒锋柊姝ら〉闈㈡暟鎹�
-    //                     // queryWarn();
-    //                 } else {
-    //                     window.parent.notify("澶勭悊澶辫触锛岃閲嶆柊鎿嶄綔锛�");
-    //                 }
-    //             }, "json");
-    //         }
-    //         //鍏抽棴寮圭獥
-    //         closepopBtn();
-    //         //閲嶆柊鍒锋柊姝ら〉闈㈡暟鎹�
-    //         queryWarn();
-    //     }else{
-    //         layer.msg("娌℃湁閫変腑鏁版嵁锛岃鍏堥�変腑鏁版嵁锛�");
-    //         console.log("娌℃湁閫変腑鏁版嵁锛岃鍏堥�変腑鏁版嵁锛�");
-    //     }
-    // }else{
-    //     layer.msg("澶勭悊璇存槑涓嶈兘涓虹┖锛�");
-    //     console.log("澶勭悊璇存槑涓嶈兘涓虹┖锛�");
-    // }
-
 
     //鍚屾杩涜
     $.ajaxSettings.async = false;
@@ -509,7 +427,7 @@
     if(note){
 
         param = {
-            "sn": sns,
+            // "sn": sns,
             "note": note,
             "processTime": timeStr1(processTime)
         };
@@ -524,38 +442,6 @@
             }
         }, "json");
 
-        // if(checkbox_warn && checkbox_warn.length > 0){
-        //     for(var i=0;i<checkbox_warn.length;i++){
-        //         sns += checkbox_warn[i].sn;
-        //         ids += checkbox_warn[i].id;
-        //         if(i < checkbox_warn.length -1){
-        //             sns += ",";
-        //             ids += ",";
-        //         }
-        //     }
-        //     param = {
-        //         "sn": sns,
-        //         "note": note,
-        //         "processTime": timeStr1(processTime)
-        //     };
-        //     $.post("./cgi-bin/warn-list/update-batch", JSON.stringify(param), function (data, status) {
-        //         if ("success" == status) {
-        //             //鍏抽棴寮圭獥
-        //             closepopBtn();
-        //             //閲嶆柊鍒锋柊姝ら〉闈㈡暟鎹�
-        //             queryWarn();
-        //         } else {
-        //             window.parent.notify("澶勭悊澶辫触锛岃閲嶆柊鎿嶄綔锛�");
-        //         }
-        //     }, "json");
-        //     // //鍏抽棴寮圭獥
-        //     // closepopBtn();
-        //     // //閲嶆柊鍒锋柊姝ら〉闈㈡暟鎹�
-        //     // queryWarn();
-        // }else{
-        //     layer.msg("娌℃湁閫変腑鏁版嵁锛岃鍏堥�変腑鏁版嵁锛�");
-        //     console.log("娌℃湁閫変腑鏁版嵁锛岃鍏堥�変腑鏁版嵁锛�");
-        // }
     }else{
         layer.msg("澶勭悊璇存槑涓嶈兘涓虹┖锛�");
         console.log("澶勭悊璇存槑涓嶈兘涓虹┖锛�");
@@ -570,6 +456,9 @@
     }else if(screen.width==1280 && screen.height==1024){
         // $("#param-btn").addClass("layui-col-md4");
         $("#param-btn").removeClass("layui-col-md4");
+    }else if(screen.width==1280 && screen.height==800){
+        // $("#param-btn").addClass("layui-col-md4");
+        $("#param-btn").removeClass("layui-col-md4");
     }else{
         // $("#param-btn").addClass("layui-col-md6");
         $("#param-btn").removeClass("layui-col-md6");
@@ -578,4 +467,34 @@
 
 }
 
+function getWH(tag) {
+    var res = {
+        w:"50%",
+        h:"64%"
+    };
+    if(screen.width==1920 && screen.height==1080){
+        res = {w:"80%",h:"64%"};
+        if(tag == "batchHandle"){
+            res = {w:"80%",h:"64%"};
+        }
+    }else if(screen.width==1280 && screen.height==1024){
+        res = {w:"80%",h:"64%"};
+        if(tag == "detail"){
+            res = {w:"80%",h:"95%"};
+        }
+        if(tag == "batchHandle"){
+            res = {w:"80%",h:"64%"};
+        }
+    }else if(screen.width==1280 && screen.height==800){
+        res = {w:"80%",h:"64%"};
+        if(tag == "detail"){
+            res = {w:"80%",h:"95%"};
+        }
+        if(tag == "batchHandle"){
+            res = {w:"80%",h:"64%"};
+        }
+    }
+    return res;
+}
+
 
diff --git a/local/www/sys-debug.html b/local/www/sys-debug.html
index 8ecee95..c023d8c 100644
--- a/local/www/sys-debug.html
+++ b/local/www/sys-debug.html
@@ -95,6 +95,14 @@
                                             <option value="6">COM6</option>
                                             <option value="7">COM7</option>
                                             <option value="8">COM8</option>
+                                            <option value="9">COM9</option>
+                                            <option value="10">COM10</option>
+                                            <option value="11">COM11</option>
+                                            <option value="12">COM12</option>
+                                            <option value="13">COM13</option>
+                                            <option value="14">COM14</option>
+                                            <option value="15">COM15</option>
+                                            <option value="16">COM16</option>
                                         </select>
                                     </div>
                                 </div>
@@ -216,6 +224,14 @@
                                             <option value="6">COM6</option>
                                             <option value="7">COM7</option>
                                             <option value="8">COM8</option>
+                                            <option value="9">COM9</option>
+                                            <option value="10">COM10</option>
+                                            <option value="11">COM11</option>
+                                            <option value="12">COM12</option>
+                                            <option value="13">COM13</option>
+                                            <option value="14">COM14</option>
+                                            <option value="15">COM15</option>
+                                            <option value="16">COM16</option>											
                                         </select>
                                     </div>
                                 </div>
@@ -337,6 +353,14 @@
                                             <option value="6">COM6</option>
                                             <option value="7">COM7</option>
                                             <option value="8">COM8</option>
+                                            <option value="9">COM9</option>
+                                            <option value="10">COM10</option>
+                                            <option value="11">COM11</option>
+                                            <option value="12">COM12</option>
+                                            <option value="13">COM13</option>
+                                            <option value="14">COM14</option>
+                                            <option value="15">COM15</option>
+                                            <option value="16">COM16</option>											
                                         </select>
                                     </div>
                                 </div>
diff --git a/local/www/sys-param-set.html b/local/www/sys-param-set.html
index b472eb1..82de834 100644
--- a/local/www/sys-param-set.html
+++ b/local/www/sys-param-set.html
@@ -43,6 +43,7 @@
                         <li class=""><span>璺敱琛�</span></li>
                         <li class=""><span>鍥藉瘑閰嶇疆</span></li>
                         <li class=""><span>MQTT</span></li>
+                        <li class=""><span>SNMP</span></li>
                         <li id="etc" class="" style="display: none;"><span>楂橀�烢TC鐪佸钩鍙伴厤缃�</span></li>
                     </ul>
                     <div class="layui-tab-content">
@@ -75,6 +76,10 @@
                                     data-id="sys-mqtt-conf.html" seamless></iframe>
                         </div>
                         <div class="layui-tab-item">
+                            <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="sys-snmp-conf.html" frameborder="0"
+                                    data-id="sys-snmp-conf.html" seamless></iframe>
+                        </div>
+                        <div class="layui-tab-item">
                             <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="sys-etc-param.html" frameborder="0"
                                     data-id="sys-etc-param.html" seamless></iframe>
                         </div>
diff --git a/local/www/sys-register.html b/local/www/sys-register.html
index cd3fde2..d6f0a13 100644
--- a/local/www/sys-register.html
+++ b/local/www/sys-register.html
@@ -57,7 +57,7 @@
 						<div class="layui-card" style="height: 270px;">
 							<div class="layui-card-header layui-row">
 								<div class="layui-col-md11">
-									娉ㄥ唽鏈烘鐮�
+									娉ㄥ唽鏈哄櫒鐮�
 								</div>
 								<div class="layui-col-md1">
 									<button class="layui-btn layui-btn-normal" style="height: 25px;line-height: 25px;"
diff --git a/local/www/sys-set.html b/local/www/sys-set.html
index 2c7f4ac..435f1d9 100644
--- a/local/www/sys-set.html
+++ b/local/www/sys-set.html
@@ -71,7 +71,33 @@
 													</div>
 												</div>
 											</div>
+											
+											<div class="layui-form-item layui-col-md12" style="display: none;">
+												<div class="layui-inline">
+													<label class="layui-form-label">ETC骞冲彴閰嶇疆椤甸潰锛�</label>
+													<div class="layui-input-block">
+<!--														<input type="text" name="screenSlogan" class="layui-input" placeholder="璇疯緭鍏�">-->
+														<select class="layui-select layui-input" id="etcPlat" name="etcPlat">
+															<option value="0">鍚�</option>
+															<option value="1">鏄�</option>
+														</select>
+													</div>
+												</div>
+											</div>
 
+											<div class="layui-form-item layui-col-md12" style="display: none;">
+												<div class="layui-inline">
+													<label class="layui-form-label">鑱斿姩閰嶇疆锛�</label>
+													<div class="layui-input-block">
+<!--														<input type="text" name="screenSlogan" class="layui-input" placeholder="璇疯緭鍏�">-->
+														<select class="layui-select layui-input" id="linkage" name="linkage">
+															<option value="0">鍚�</option>
+															<option value="1">鏄�</option>
+														</select>
+													</div>
+												</div>
+											</div>
+											
 											<div class="layui-form-item layui-col-md12">
 												<div class="layui-inline">
 													<label class="layui-form-label">杩愮淮鍘傚晢锛�</label>
diff --git a/local/www/sys-snmp-conf.html b/local/www/sys-snmp-conf.html
new file mode 100644
index 0000000..c79ccbe
--- /dev/null
+++ b/local/www/sys-snmp-conf.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport"
+	content="width=device-width, initial-scale=1, maximum-scale=1">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<meta name="renderer" content="webkit">
+<title>鏅鸿兘杩愮淮绠$悊绯荤粺-SNMP</title>
+
+	<link rel="stylesheet" type="text/css" href="plugins/layui/css/layui.css" />
+	<link rel="stylesheet" type="text/css" href="css/page/device-control.css" />
+	<style>
+		.layui-col-md4 {
+			width: 100%;
+		}
+
+		.layui-inline {
+			margin-left: unset;
+		}
+
+		.layui-layer-dialog .layui-layer-content {
+			border-bottom: solid 1px #eae5e5;
+		}
+		.btns button{
+			width: 120px;
+		}
+
+	</style>
+</head>
+
+<body class="pdgxq-body">
+	<div class="i-container">
+		<div class="jmkt-main">
+			<div class="layui-fluid">
+				<div class="pdgxq-m1 layui-row layui-col-space20">
+					<!--pdgxq-m1-left end-->
+					<div class="layui-col-lg12 layui-col-md12 img-main" id="img-main" style="padding: 20px;">
+						<div class="pdgxq-m1-left pdgxq-m1-box" style="width: 100%;">
+							<form class="layui-form" id="form-param" lay-filter="form-param" action="">
+								<div class="layui-row" style="padding: 20px 0;">
+
+									<div class="layui-col-md4">
+										<div class="layui-inline" style="margin-left: -16%">
+											<label class="layui-form-label">SNMP鍔熻兘锛�</label>
+											<div class="layui-input-block">
+												<input type="checkbox" id="enable" name="enable" lay-skin="switch"
+													   lay-filter="switch" lay-text="鍚敤|鍋滅敤">
+											</div>
+										</div>
+									</div>
+									<div class="layui-col-md4">
+										<div class="layui-inline">
+											<label class="layui-form-label">鐗堟湰鍙凤細</label>
+											<div class="layui-input-block">
+												<input id="ver" type="text" name="ver" value="V2.0"
+													   class="layui-input" readonly>
+											</div>
+										</div>
+									</div>
+									<div class="layui-col-md4">
+										<div class="layui-inline">
+											<label class="layui-form-label">鍏辩敤浣撳悕绉帮細</label>
+											<div class="layui-input-block">
+												<input id="publicName" type="text" name="publicName" value="public"
+													   class="layui-input" readonly>
+											</div>
+										</div>
+									</div>
+									<div class="layui-col-md4">
+										<div class="layui-inline">
+											<label class="layui-form-label">绔彛鍙凤細</label>
+											<div class="layui-input-block">
+												<input id="port" type="text" name="port" value="161"
+													   class="layui-input" readonly>
+											</div>
+										</div>
+									</div>
+
+									<div class="layui-col-md4" style="">
+										<div class="layui-inline">
+											<div class="layui-input-block btns" style="margin-left: 15px">
+
+												<button style="margin-right: 50px; font-size: 16px"
+														class="layui-btn layui-btn-warm"
+														onclick="javaScript:downLoadF(); return false;">瀵煎嚭OID琛�
+												</button>
+											</div>
+										</div>
+									</div>
+
+								</div>
+							</form>
+						</div>
+					</div>
+
+				</div>
+				<!--pdgxq-m1 end-->
+			</div>
+		</div>
+		<!--jmkt-main end-->
+	</div>
+	<!--i-container end-->
+
+	<script type="text/javascript" src="js/jquery.min.js"></script>
+	<script src="plugins/layui/layui.js"></script>
+	<script src="js/constant.js"></script>
+	<script type="text/javascript">
+
+		var layer;// 瀹氫箟鍏ㄥ眬鍙橀噺
+		var form;
+		var laydate;
+		$(function () {
+			layui.use(['layer', 'form', 'laydate'], function () {
+				layer = layui.layer;
+				form = layui.form;
+				laydate = layui.laydate;
+
+				form.on('switch(switch)', function(data){
+					//寮�鍏崇姸鎬佹敼鍙樻椂瑙﹀彂
+					changeStatus(this.checked);
+				});
+				query();
+			});
+		});
+
+		function query() {
+			$.ajaxSettings.async = false;
+			$.get("./cgi-bin/snmp/query", function (data, status) {
+				if ("success" == status) {
+					form.val('form-param', {
+						"enable": data.enable//0-鍚敤锛�1-绂佺敤
+					});
+					form.render();
+				} else {
+					window.parent.parent.notify("绯荤粺鑾峰彇鐩戞帶璁惧淇℃伅澶辫触锛�");
+				}
+			}, "json");
+		}
+
+		/**
+		 * 淇敼鐘舵��
+		 * @param enable  true  or  false
+		 */
+		function changeStatus(enable) {
+			var obj = {"enable":enable};
+			$.post("./cgi-bin/snmp/enable", JSON.stringify(obj), function (data, status) {
+				if (data.code == "success") {
+					//window.parent.parent.notify("鏁版嵁淇濆瓨鎴愬姛");
+					window.parent.parent.notify("SNMP妯$粍鐘舵�佷繚瀛樻垚鍔�");
+				} else {
+					window.parent.parent.notify("鏁版嵁淇濆瓨鍑洪敊锛岃閲嶆柊鎿嶄綔锛�"+data.msg+"锛�");
+				}
+			}, "json");
+		}
+
+		//瀵煎嚭
+		function downLoadF() {
+			$.ajaxSettings.async = false;
+			$.get("./cgi-bin/snmp/download", function (data, status) {
+				if ("success" == data.code) {
+					downLoadF2();
+				}else{
+					window.parent.parent.notify("鐢熸垚oid琛ㄥ嚭閿�");
+				}
+			}, "json");
+		}
+		
+		function downLoadF2() {
+			var fileName = "oid_list.csv";
+			var url = "./cgi-bin/download/download.cgi?filename=/tmp/oid_list.csv";
+
+			// 瀵逛簬<a>鏍囩锛屽彧鏈� Firefox 鍜� Chrome锛堝唴鏍革級 鏀寔 download 灞炴��
+			if ('download' in document.createElement('a')) { // 鏀寔a鏍囩download鐨勬祻瑙堝櫒
+				var link = document.createElement('a'); // 鍒涘缓a鏍囩
+				link.download = fileName;// a鏍囩娣诲姞灞炴��
+				link.style.display = 'none';
+				// link.href = URL.createObjectURL(blob);
+				link.href = url;
+				document.body.appendChild(link);
+				link.click(); // 鎵ц涓嬭浇
+				URL.revokeObjectURL(link.href); // 閲婃斁url
+				document.body.removeChild(link); // 閲婃斁鏍囩
+			} else { // 鍏朵粬娴忚鍣�
+				navigator.msSaveBlob(url, fileName);
+			}
+		}
+	</script>
+</body>
+</html>
diff --git a/make_app.sh b/make_app.sh
index 40c53b7..3fb916f 100755
--- a/make_app.sh
+++ b/make_app.sh
@@ -12,13 +12,16 @@
 OUTPUT=../output
 #--------------------------------------------------------
 
+cp ./bin/* local/ -fr
+chmod +x local/bin/*
+chmod +x local/app/*
+chmod +x local/www/cgi-bin/*/*
 
 timeStr=`date '+%Y-%m-%d'`
 echo $timeStr-v$1 > local/version
 echo "type=1" >> local/version
 echo "IGD3000" >> local/version
 
-#cp ./bin/* local/ -fr
 tar cvzf app.tgz local
  
 #mksquashfs local app-$timeStr\.img -b 128K -comp xz
diff --git a/new_board_upgrade/upgrade/app.tgz b/new_board_upgrade/upgrade/app.tgz
index 5d31559..e13e208 100644
--- a/new_board_upgrade/upgrade/app.tgz
+++ b/new_board_upgrade/upgrade/app.tgz
Binary files differ
diff --git a/upgrade/app.tgz b/upgrade/app.tgz
index 5d31559..e13e208 100644
--- a/upgrade/app.tgz
+++ b/upgrade/app.tgz
Binary files differ

--
Gitblit v1.9.3