From b98272182a7628142195dbd1c6ff90a3ad196c5b Mon Sep 17 00:00:00 2001 From: 81041 <81041@192.168.10.8> Date: 星期一, 29 十月 2018 13:30:08 +0800 Subject: [PATCH] Merge branch 'dev_lxw' of https://whyclxw1@gitlab.com/whyclxw1/gx_tieta.git into dev_lxw --- gx_tieta/WebRoot/control.jsp | 34 +++ gx_tieta/WebRoot/batt-traffic-statistics.jsp | 381 ++++++++++++++++++++++++++++++++++++++++++ gx_tieta/WebRoot/ele-match-group.jsp | 4 gx_tieta/WebRoot/test-voice.html | 76 ++++++++ gx_tieta/WebRoot/pages/js/pages/siderbar.js | 19 +- 5 files changed, 502 insertions(+), 12 deletions(-) diff --git a/gx_tieta/WebRoot/batt-traffic-statistics.jsp b/gx_tieta/WebRoot/batt-traffic-statistics.jsp new file mode 100644 index 0000000..56a6455 --- /dev/null +++ b/gx_tieta/WebRoot/batt-traffic-statistics.jsp @@ -0,0 +1,381 @@ +<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> +<%@ taglib uri="/struts-tags" prefix="s" %> +<!DOCTYPE HTML> +<html> + <head> + <base href="<%=basePath%>"> + + <title>娴侀噺缁熻</title> <!--娴侀噺缁熻--> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="css/basic.css" rel="stylesheet"> + <link rel="stylesheet" href="css/BrdwMaint.css"> + <link rel="stylesheet" type="text/css" href="css/loading.css"> + <link rel="stylesheet" type="text/css" href="css/dischargeplan_layout.css"> + <link rel="stylesheet" type="text/css" href="src/css/layui.css"> + <meta http-equiv="pragma" content="no-cache"> + <meta http-equiv="cache-control" content="no-cache"> + <meta http-equiv="expires" content="0"> + <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> + <meta http-equiv="description" content="This is my page"> + <style type="text/css"> + body { + overflow-x: hidden !important; + } + #tbHead table{ + width: 100%; + } + #tbBrdw { + overflow: auto; + } + #tbBrdw tbody tr:hover { + background-color: #DDDDDD; + } + #cardOption .con_table { + overflow: auto; + } + #tbBrdw table { + width: 100%; + } + #tbBrdw table i.fa-refresh { + font-size:18px; + cursor: pointer; + } + #cardOption input[type="checkbox"] { + vertical-align: middle; + } + #cardOption table thead input[type="checkbox"]{ + margin-left: 4px; + } + </style> + </head> + <body> + <!--澶撮儴鍐呭寮�濮�--> + <jsp:include page="Top.jsp" flush="true"/> + <!--澶撮儴鍐呭缁撴潫--> + <!--瀵艰埅寮�濮�--> + <jsp:include page="nav.jsp" flush="true"/> + <!-- 涓讳綋鍐呭 --> + <div id="main"> + <div id="eleInfor"> + <span class="summary">娴侀噺缁熻</span> + <div class="checkCon"> + <!-- 缁存姢鍖轰俊鎭� --> + <form action="" id="search_form"> + <table> + <tr class="fWeight"> + <td>鐪�</td> <!-- 鐪� --> + <td>甯�</td> <!-- 甯� --> + <td><s:text name="Computer_name"/></td> <!-- 鏈烘埧鍚嶇О --> + <td>缁熻鏂瑰紡</td> + <td colspan="2" style="width: 30%;">鏃堕棿娈�</td> + </tr> + <tr> + <td> + <select id="station_name1"> + + </select> + </td> + <td> + <select id="city"> + + </select> + </td> + <td> + <select id="station_name"> + </select> + </td> + <td> + <select> + <option>鎸夊勾缁熻</option> + <option>鎸夋湀缁熻</option> + <option>鎸夋棩缁熻</option> + </select> + </td> + <td><input type="text" id="startalm" readonly="readonly" name="bmd.adata.alm_start_time" value="2000-1-1" /></td> + <td><input type="text" id="endTalm" readonly="readonly" name="bmd.adata.alm_start_time1" /></td> + </tr> + </table> + </form> + </div> + </div> + <!-- 琛ㄦ牸鍥哄畾鐨勫ご閮� --> + <div id="tbHead"></div> + <!-- 琛ㄦ牸婊氬姩鐨勯儴鍒� --> + <div id="tbBrdw"></div> + + + + <!-- 鎸夐挳鍐呭 --> + <div id="paging"> + <span>鎬昏</span> + <span>5000</span> + </div> + </div> + + <!-- 鏁翠綋鐏拌壊閬僵灞� --> + <div id="allShade"></div> + <script type="text/javascript" src="js/loading.js"></script> + <script type="text/javascript" src="js/createTab.js"></script> + <script type="text/javascript" src="src/layui.js"></script> + + <script type="text/javascript" src="js/eleHistWarn1-jquery.ui.js"></script> + <script type="text/javascript"> + layui.use(['layer'], function() { + var layer = layui.layer; + var arrTh = new Array(); // 琛ㄦ牸鐨勫ご閮� + var arrTd = new Array(); // 琛ㄦ牸鐨勮〃浣� + var tblStatus = new Array(); // 琛ㄦ牸鐘舵�佹暟缁� + var tblOptsHd = new Array(); // 琛ㄦ牸閫夐」澶撮儴 + var tblOptsBd = new Array(); // 琛ㄦ牸閫夐」鏁扮粍 + arrTh = ['鏃堕棿娈�', '鏈烘埧鍚嶇О','娴侀噺','缁熻鏃堕棿']; + //arrTh = ['<s:text name="Maintenance_area"/>', '<s:text name="Computer_name"/>', '<s:text name="Nominal_capacity"/>(AH)', '<s:text name="Actual_capacity"/>(AH)','<s:text name="Residual_capacity"/>(AH)', '<s:text name="real_time"/><s:text name="Current"/>(A)', '<s:text name="Power_cut"/><s:text name="Endurance"/><s:text name="Time"/>']; + //tblOptsHd = ['缂栧彿', '閫夐」', '鏄惁閫夋嫨']; + tblOptsHd = ['<s:text name="Number"/>', '<s:text name="Options"/>', '<s:text name="IsChecked"/>']; + var tblHd = $('#tbHead'); + var tblBd = $('#tbBrdw'); + + // 鏍规嵁琛ㄦ牸鐨勫ご閮ㄧ敓鎴愯〃鏍奸�夐」鍜岃〃鏍肩殑鐘舵�佹暟缁� + $(function() { + centerDiv($('#cardOption')); + // 閬嶅巻琛ㄦ牸澶撮儴鐢熸垚鐘舵�佹暟缁� + for(var i = 0; i < arrTh.length; i++) { + tblStatus.push(1); + var temp = new Array(); + temp.push(i+1); + temp.push(arrTh[i]); + temp.push('<input type="checkbox" checked="checked"/>'); + + tblOptsBd.push(temp); + } + var cardHd = $('#cardOption .tbHead'); + var cardBd = $('#cardOption .con_table'); + createCard(cardHd, tblOptsHd, tblOptsBd); + createCard(cardBd, tblOptsHd, tblOptsBd); + }); + + // 鐢熸垚琛ㄦ牸 + $(function() { + for(i=0;i<5000;i++){arrTd.push(i)} + createAllTbl(tblHd, tblBd, arrTh, arrTd, tblStatus); + // 鐐瑰嚮琛ㄦ牸閫夐」鏄剧ず琛ㄦ牸閫夐」寮瑰嚭妗� + $('#paging .card-opt').click(function() { + var checkboxList = $('#cardOption .con_table table tbody').find('input[type="checkbox"]'); + // 鏍规嵁鐘舵�佹暟缁勪慨鏀硅〃鏍奸�夐」澶嶉�夋鐨勭姸鎬� + for(var i = 0; i < tblStatus.length; i++) { + if(tblStatus[i] == 1) { + checkboxList.eq(i).prop('checked', true); + }else{ + checkboxList.eq(i).prop('checked', false); + } + } + $('#cardOption').show(); + $('#allShade').show(); + }); + + // 鐐瑰嚮鍙栨秷鍜岀‘瀹氶殣钘忚〃鏍奸�夐」绐楀彛鍜岄伄缃╁眰 + $('#cardOption .en-card-opts').click(function() { + // 鏍规嵁琛ㄦ牸閫夐」鐨勫閫夋璁剧疆鐘舵�佹暟缁� + var checkboxList = $('#cardOption .con_table table tbody').find('input[type="checkbox"]'); + checkboxList.each(function(i) { + if($(this).is(':checked')) { + tblStatus[i] = 1; + }else{ + tblStatus[i] = 0; + } + }); + createAllTbl(tblHd, tblBd, arrTh, arrTd, tblStatus); + $('#cardOption').hide(); + $('#allShade').hide(); + }); + $('#cardOption .out-card-opts').click(function() { + $('#cardOption').hide(); + $('#allShade').hide(); + }); + }); + + // 鏍规嵁琛ㄦ牸鐨勭殑澶撮儴鐢熸垚 + $(function() { + $('#endtime').val(new Date().format('yyyy-MM-dd')); + }); + + // 鍒濆鍖栭〉闈㈤珮搴� + $(function() { + pageInit(); + $(window).resize(function() { + pageInit(); + }); + }); + + // 鍒濆鍖栭〉闈㈠唴瀹� + function pageInit() { + var winHt = $(window).height(); + var bodyHt = $('body').height(); + var tblHt = $('#tbBrdw').height(); + var shiftHt = winHt - bodyHt - 32; + if(shiftHt > 0) { + $('#tbBrdw').height(shiftHt + tblHt); + } + } + + // 鐢熸垚琛ㄦ牸鐨勫ご閮ㄥ拰琛ㄤ綋 + function createAllTbl (header, body, arrTh, arrTd, status) { + //console.info(status); + var newArrTh = new Array(); + var newArrTd = new Array(); + newArrTh = getArrTh(status, arrTh); + newArrTd = getArrTd(status, arrTd); + createTablenew(header, newArrTh, newArrTd); + createTablenew(body, newArrTh, newArrTd); + // 瀹氫箟琛ㄦ牸鐨勫ご閮ㄥ拰琛ㄤ綋瀹藉害涓�鑷� + var bdWidth = body.find('table').width(); + header.find('table').width(bdWidth); + } + + //瀵逛簬寮瑰嚭涓插彛杩涜瀹氫綅(position:fixed) + function centerDiv(ele){ + //鑾峰彇灞忓箷鐨勯珮搴﹀寮瑰嚭绐楀彛杩涜瀹氫綅 + var srnHei=$(window).height(); //灞忓箷鐨勯珮搴� + var eleHei=ele.height(); //寮瑰嚭绐楀彛鐨勯珮搴� + var topHei=parseInt((srnHei-eleHei)/2); //鑾峰彇灞呬腑楂樺害 + ele.css({ + 'top':topHei + }); + } + + + + + + + + // 鐪�-甯�-鏈烘埧-鐢垫睜缁� + $(document).ready(function(){ + //椤甸潰鍔犺浇鏃舵煡璇㈢淮鎶ゅ尯涓殑鏋㈢航绫诲瀷 + $.post("User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup",null,function(data){ + data=data.result; + data=eval("("+data+")"); + //console.info(data); + if(data.code==1 && data.data.length>0){ + var $select = $("#station_name1"); + $select.text(''); + for(var i=0;i<=data.data.length;i++){ + $option=$("<option></option>"); + if(i==0){ + $option.html("<s:text name='All'/>(<s:text name='Common'/>"+data.data.length+"<s:text name='Species'/>)"); + $option.attr("value", ""); + }else{ + $option.text(data.data[i-1]); + $option.attr("value",data.data[i-1]); + } + $select.append($option); + } + }else{ + $("#station_name1").text('').html('<option>鏆傛棤绠$悊鐨勭淮鎶ゅ尯</option>'); + } + findCity(); + }); + }); + + function findCity() { + var data = { + StationName1: $("#station_name1").val() + }; + // 璇锋眰鑾峰彇褰撳墠鐪佷笅鐨勫競 + $.ajax({ + type: "post", + url: "BattInfAction!serchStationName2", + async:true, + dataType:'json', + data:"json = "+JSON.stringify(data), + success: function(data){ + var rs = JSON.parse(data.result); + var $select = $("#city"); + if(rs.code == 1) { + var _data= rs.data; + // 鏍规嵁鏁版嵁鏋勯�犵敓鎴愪笅鎷夊垪琛ㄧ殑鏁版嵁 + var optsList = []; + for(var i=0;i<_data.length;i++){ + var __data = _data[i]; + var tmp = getOptionsData(__data.StationName2, __data.StationName2, __data); + optsList.push(tmp); + } + // 鏍规嵁鏁版嵁鐢熸垚涓嬫媺鍒楄〃 + createOptions($select, optsList, true); + }else { + $select.text('').html('<option>鏆傛棤鍙祴甯�</option>'); + } + findStationNamebyStationname1(); + } + }); + } + //褰撶淮鎶ゅ尯鐨勫�煎彉鎹㈡椂鏇存柊甯� + $('#station_name1').change(function(){ + findCity(); + }); + //褰撶淮鎶ゅ尯鐨勫�煎彉鎹㈡椂鏇存柊鏈烘埧绔欑偣 + $('#city').change(function(){ + findStationNamebyStationname1(); + }); + + //鏍规嵁鐪侊紝甯傛煡璇㈢珯鐐� + function findStationNamebyStationname1(){ + findStationNamebyStationname1.stations = new Array(); + var tmp = { + StationName1:$("#station_name1").val(), + StationName2:$("#city").val() + }; + //var selectvalue=$("#station_name1 option:selected").val(); + //alert(selectvalue); + $.post("BattInfAction!serchStationName3","json="+JSON.stringify(tmp),function(data){ + var rs = JSON.parse(data.result); + if(rs.code==1){ + var _data = rs.data; + var $select = $("#station_name"); + // 鏍规嵁鏁版嵁鏋勯�犵敓鎴愪笅鎷夊垪琛ㄧ殑鏁版嵁 + var optsList = []; + for(var i=0;i<_data.length;i++){ + var __data = _data[i]; + //console.info(__data); + var _attr = { + StationId: __data.FBSDeviceId, + }; + var tmp = getOptionsData(__data.StationName3, __data.StationName, __data, _attr); + optsList.push(tmp); + } + findStationNamebyStationname1.stations = _data; + // 鏍规嵁鏁版嵁鐢熸垚涓嬫媺鍒楄〃 + createOptions($select, optsList, true); + }else{ + $("#station_name").text('').html('<option>鏆傛棤鍙祴鏈烘埧绔欑偣</option>'); + } + }); + } + }); + + + + + //鑾峰彇閫変腑鐨勬満鎴垮璞� + function getSelectStation(dev_id,arr){ + if(arr != undefined && arr.length > 0){ + for(var i=0;i<arr.length;i++){ + if(arr[i].FBSDeviceId == dev_id){ + return arr[i]; + } + } + } + return undefined; + } + + + + + + </script> + </body> +</html> \ No newline at end of file diff --git a/gx_tieta/WebRoot/control.jsp b/gx_tieta/WebRoot/control.jsp index f2bd975..094ebad 100644 --- a/gx_tieta/WebRoot/control.jsp +++ b/gx_tieta/WebRoot/control.jsp @@ -281,7 +281,13 @@ <!-- 鐢垫睜缁勬満鍘嗗崱璇︾粏淇℃伅--> <div id="card_infor"> <span class="title-log"><s:text name="The_battery_pack_machine_through_the_card"/></span> <!-- 鐢垫睜缁勬満鍘嗗崱 --> - <div class="con-list ele-infor con-show"> + <div id="cardInfoTab" class="whyc-tab-card"> + <ul class="whyc-tab-title"> + <li class="whyc-tab-this">鐢垫睜缁勪俊鎭�</li> + <li class="">鍩虹珯淇℃伅</li> + </ul> + </div> + <div class="con-list ele-infor con-show" style="height: 400px;overflow-y: auto"> <table> <tr> <th id="card_infor_left"><s:text name="Parameter_name"/></th> <!-- 鍙傛暟鍚嶇О --> @@ -358,6 +364,14 @@ <tr> <td><s:text name="Head"/></td> <!-- 璐熻矗浜� --> <td></td> + </tr> + </table> + </div> + <div class="con-list ele-infor" style="height: 400px;overflow-y: auto"> + <table> + <tr> + <th id="card_infor_left"><s:text name="Parameter_name"/></th> <!-- 鍙傛暟鍚嶇О --> + <th><s:text name="Parameter_value"/></th> <!-- 鍙傛暟鍊� --> </tr> </table> </div> @@ -4167,6 +4181,24 @@ } }); + + // 鏈哄巻鍗℃ā鍧� + $(function() { + // 鑾峰彇閫夐」鍗″垪琛� + var tabs = $('#cardInfoTab .whyc-tab-title li'); + var tabContents = $('#card_infor .con-list'); + // 鐐瑰嚮tabs瑙﹀彂 + tabs.click(function() { + var index = $(this).index(); + // 绉婚櫎鐗规晥 + tabs.removeClass('whyc-tab-this'); + tabContents.removeClass('con-show'); + + // 鏄剧ず鐗规晥 + $(this).addClass('whyc-tab-this'); + tabContents.eq(index).addClass('con-show'); + }); + }); </script> <script type="text/javascript" src="js/Title.js"></script> <script type="text/javascript" src="js/control.js"></script> diff --git a/gx_tieta/WebRoot/ele-match-group.jsp b/gx_tieta/WebRoot/ele-match-group.jsp index 86ac658..2b7fd9a 100644 --- a/gx_tieta/WebRoot/ele-match-group.jsp +++ b/gx_tieta/WebRoot/ele-match-group.jsp @@ -476,7 +476,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName1, 'province', __data); + var tmp = treeView.getFolder(__data.StationName1, 'province', __data.StationName1, __data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -509,7 +509,7 @@ for(var i=0; i<_data.length;i++) { var __data = _data[i]; var txt = '<input type="radio" name="city">'+ __data.StationName2; - var tmp = treeView.getFolder(txt, 'city', __data); + var tmp = treeView.getFolder(txt, 'city', __data.StationName2,__data); formatData.push(tmp); } treeView.treeView(container, formatData); diff --git a/gx_tieta/WebRoot/pages/js/pages/siderbar.js b/gx_tieta/WebRoot/pages/js/pages/siderbar.js index 9a2d311..3b56f4d 100644 --- a/gx_tieta/WebRoot/pages/js/pages/siderbar.js +++ b/gx_tieta/WebRoot/pages/js/pages/siderbar.js @@ -65,7 +65,7 @@ // 璁剧疆瀹瑰櫒鐨勫搴� _prop.setContainer = function() { var eleWidth = this.ele.width(); - this.container.width(eleWidth+20); + //this.container.width(eleWidth+20); }; // 鐢熸垚鍒楄〃 @@ -88,7 +88,7 @@ var _data = $.extend({}, defaults, data[i]); // 璁剧疆鍐呭瀹瑰櫒 var _li = $('<li></li>'); - var _a = $('<a href="javascript:;" id="'+_data.txt+'" class="sider-menu-folder"></a>'); + var _a = $('<a href="javascript:;" id="'+_data.id+'" class="sider-menu-folder"></a>'); var _i = $('<i class="fa fa fa-caret-right"></i>'); var _span = $('<span class="treeview-txt">'+_data.txt+'</span>'); if(_data.file) { @@ -111,10 +111,11 @@ }; // 鑾峰彇folder鐨勪竴鏉℃暟鎹� - _prop.getFolder = function (txt, cla,attr) { + _prop.getFolder = function (txt, cla, id,attr) { var tmp = {}; tmp.txt = txt; tmp.cla = cla; + tmp.id = id; tmp.attr = attr; return tmp; }; @@ -237,7 +238,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName1, 'province', __data); + var tmp = treeView.getFolder(__data.StationName1, 'province', __data.StationName1,__data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -279,7 +280,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName2, 'city', __data); + var tmp = treeView.getFolder(__data.StationName2, 'city', __data.StationName2, __data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -324,7 +325,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName, 'home', __data); + var tmp = treeView.getFolder(__data.StationName, 'home', __data.StationName,__data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -480,7 +481,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName1, 'province', __data); + var tmp = treeView.getFolder(__data.StationName1, 'province', __data.StationName1,__data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -520,7 +521,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName2, 'city', __data); + var tmp = treeView.getFolder(__data.StationName2, 'city', __data.StationName2, __data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -563,7 +564,7 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName, 'home', __data); + var tmp = treeView.getFolder(__data.StationName, 'home', __data.StationName, __data); formatData.push(tmp); } treeView.treeView(container, formatData); diff --git a/gx_tieta/WebRoot/test-voice.html b/gx_tieta/WebRoot/test-voice.html new file mode 100644 index 0000000..36515d7 --- /dev/null +++ b/gx_tieta/WebRoot/test-voice.html @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<html> + + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>H5璇煶鎾姤鍔熻兘</title> + <style> + article {margin: 0 auto;max-width: 800px;text-align: center;} + textarea {max-width: 600px;width:100%;text-align: left;} + button{border-radius: 3px;border: 1px solid #dddddd;height: 30px;width: 80px;cursor: pointer;} + </style> + <link rel="stylesheet" href="src/css/layui.css"> + </head> + + <body> + 鎴戞槸璇煶鎾姤 + </body> + <script type="text/javascript" src="src/layui.all.js"></script> + <script> + + // 璁剧疆璇煶鎾姤瀵硅薄 + var Voice = function() { + this.speak = window.speechSynthesis; + this.voice = ''; + this.zh_CN = false; + this._setLang(); // 鑾峰彇骞舵娴嬫槸鍚︽湁涓枃鐨勭幆澧� + }; + + // 鎾姤璇煶 + Voice.prototype.play = function(txt) { + if(!this.zh_CN) { + if(layer) { + layer.msg('浣犵殑鐢佃剳涓嶆敮鎸佷腑鏂囨挱鎶ワ紒'); + }else { + alert('浣犵殑鐢佃剳涓嶆敮鎸佷腑鏂囨挱鎶ワ紒'); + } + return; + } + this.cancel(); + var to_speak = new SpeechSynthesisUtterance(txt); + to_speak.voice = this.voice; // 璁惧畾涓枃鎾姤 + + this.speak.speak(to_speak); + + }; + + // 閫�鍑哄綋鍓嶆挱鎶� + Voice.prototype.cancel = function() { + this.speak.cancel(); + }; + + // 妫�鏌ュ綋鍓嶈瑷�鐜 + Voice.prototype._setLang = function() { + var _this = this; + setTimeout(function(){ + var voices = _this.speak.getVoices(); + for(var i=0; i<voices.length; i++) { + var _voices = voices[0]; + if(_voices.lang === 'zh-CN') { + _this.zh_CN = true; + _this.voice = _voices; + } + } + }, 0); + }; + + + var voice = new Voice(); + + setTimeout(function() { + voice.play('鎴戞槸璇煶鎾姤'); + }, 3000); + </script> + +</html> \ No newline at end of file -- Gitblit v1.9.1