81041
2018-10-29 b98272182a7628142195dbd1c6ff90a3ad196c5b
Merge branch 'dev_lxw' of https://whyclxw1@gitlab.com/whyclxw1/gx_tieta.git into dev_lxw
2个文件已添加
3个文件已修改
514 ■■■■■ 已修改文件
gx_tieta/WebRoot/batt-traffic-statistics.jsp 381 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/control.jsp 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/ele-match-group.jsp 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/pages/js/pages/siderbar.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/test-voice.html 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/batt-traffic-statistics.jsp
New file
@@ -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>
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>
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);
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);
gx_tieta/WebRoot/test-voice.html
New file
@@ -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>