whychdw
2020-08-01 82467a48f5fc8753cdb966752035c6a039f0063d
定期重启
1个文件已添加
1个文件已修改
269 ■■■■■ 已修改文件
zijing/WebRoot/control.jsp 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zijing/WebRoot/js/dischargetest/restart-circle.js 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zijing/WebRoot/control.jsp
@@ -287,6 +287,11 @@
                                        <span class="whyc-btn-txt">停止离线养护</span>
                                    </a>
                                    <br>
                                    <a href="javascript:void(0);" id="sys_restart_circle" class="whyc-btn whyc-btn-disabled">
                                        <span class="whyc-btn-icon fa fa-calendar"></span>
                                        <span class="whyc-btn-txt">定期重启设备</span>
                                    </a>
                                    <br>
                                    <a href="javascript:void(0);" id="sys_restart" class="whyc-btn whyc-btn-disabled">
                                        <span class="whyc-btn-icon fa fa-stop-circle"></span>
                                        <span class="whyc-btn-txt">重启设备</span>
@@ -1054,6 +1059,45 @@
        </div>
    </div>
    
    <!-- 离线养护 -->
    <div class="popup" id="restartCirclePopup">
        <div class="popup-title"><span>定期启动参数设置</span> <a href="javascript:;" class="close">X</a></div>
        <div class="popup-content">
            <div class="popup-tbl">
                <input type="hidden" id="restart_circle_dev_id" />
                <table>
                    <tbody>
                        <tr>
                            <th>机房名称</th>
                            <th>重启开始时间</th>
                        </tr>
                        <tr>
                            <td><input type="text" id="restart_circle_home" value=""  readonly="readonly"/></td>
                            <td><input type="text" id="restart_circle_restart_starttime" value="" /></td>
                        </tr>
                        <tr>
                            <th>重启周期(天)</th>
                            <th>重启计划</th>
                        </tr>
                        <tr>
                            <td><input type="text" id="restart_circle_restart_cycle" value=""/></td>
                            <td>
                                <select id="restart_circle_restart_en">
                                    <option value="0">不启用</option>
                                    <option value="1">启用</option>
                                </select>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
        <div class="popup-footer">
            <input type="button" name="" id="restart_circle_btn_flush" value="读取" >                    <!-- 读取 -->
            <input type="button" name="" id="restart_circle_btn_ensure" class="status-change-btn" value="设定" >                <!-- 设定 -->
        </div>
    </div>
    <!-- 61850系统参数 -->
    <div class="popup" id="sys61850Popup">
        <div class="popup-title"><span>系统参数设置</span> <a href="javascript:;" class="close">X</a></div>
@@ -1288,7 +1332,8 @@
        var curing_popup = new Popup($('#curingPopup'));
        var outline_maintain_popup = new Popup($('#outlineMaintainPopup'));
        var localNav = new Popup($('#localNav'));
        var sys61850_popup = new Popup($('#sys61850Popup'))
        var sys61850_popup = new Popup($('#sys61850Popup'));
        var restartCirclePopup = new Popup($('#restartCirclePopup'));
        // 充放电弹出框设置
        $(function() {
            // 初始化LD9充放电弹出框
@@ -1330,6 +1375,11 @@
            $('#sys61850Popup').find('.close').bind('click', function() {
                sys61850_popup.hidePopup();    // 隐藏sys61850弹出框和遮罩层
            });
            // 初始化restartCirclePopup弹出框
            $('#restartCirclePopup').find('.close').bind('click', function() {
                restartCirclePopup.hidePopup();    // 隐藏sys61850弹出框和遮罩层
            });
            
            // 窗口大小改变
            $(window).resize(function() {
@@ -1340,6 +1390,7 @@
                curing_popup.hidePopup();    // 隐藏除硫养护面板和遮罩层
                outline_maintain_popup.hidePopup();    // 隐藏离线养护功能和遮罩层
                sys61850_popup.hidePopup();    // 隐藏sys61850弹出框和遮罩层
                restartCirclePopup.hidePopup(); // 隐藏restartCirclePopup弹出框和遮罩层
            });
        });
        //初始化柱状图
@@ -5113,6 +5164,7 @@
    </script>
    <script type="text/javascript" src="js/dischargetest/sys61850.js?v=<%=Math.random() %>"></script>
    <script type="text/javascript" src="js/dischargetest/outline-maintain.js?v=<%=Math.random() %>"></script>
    <script type="text/javascript" src="js/dischargetest/restart-circle.js?v=<%=Math.random() %>"></script>
    <script type="text/javascript" src="js/Title.js"></script>
    <script type="text/javascript" src="js/control.js"></script>
    <script type="text/javascript" src="js/dischargetest/curing.js"></script>
zijing/WebRoot/js/dischargetest/restart-circle.js
New file
@@ -0,0 +1,215 @@
;(function() {
    // 定义popup
    var popup = restartCirclePopup;
    // 按钮事件
    var btns = {
        disabled: function() {
            $('#restart_circle_btn_ensure').addClass('whyc-btn-disabled');
        },
        active: function() {
            $('#restart_circle_btn_ensure').removeClass('whyc-btn-disabled');
        },
        ensure: function(param) {
            if(param) {
                $('#restart_circle_btn_ensure').removeClass('whyc-btn-disabled');     // 设置参数可以点击
            }else {
                $('#restart_circle_btn_ensure').addClass('whyc-btn-disabled'); // 设定参数无效
            }
        }
    };
    // 重启周期
    $('#restart_circle_restart_cycle').testVal({
        pattern: /^[0-9]+$/,
        regVal: true,
        min: 1,
        max: Infinity,
        msg: '取值范围大于0整数'
    });
    $('#restartCirclePopup').on('input propertychange', 'input[type=text]', function() {
        setPopupStates($(this).attr('id'), $(this).val());
    });
    // 重启开始时间
    var nowDate = new Date().format('yyyy-MM-dd hh:mm:ss');
    layui.laydate.render({
        elem: '#restart_circle_restart_starttime', //指定元素
        type: 'datetime',
        value: nowDate
    });
    // 点击读取并显示面板
    $('#sys_restart_circle').click(function() {
        read(true);
    });
    // 读取参数
    $('#restart_circle_btn_flush').click(function() {
        // 读取参数
        read();
    });
    // 点击更新参数
    $('#restart_circle_btn_ensure').click(function() {
        // 可以点击
        if(!$(this).hasClass('whyc-btn-disabled')) {
            // 设置参数
            update();
        }
    });
    // 初始化面板的data值
    function init() {
        // 获取所有文本框
        var textList = popup.popup.find('input[type=text]');
        popup.popup.data('errRead', true);        // 读取失败
        popup.popup.data('errSet', true);        // 设置失败或未设置
        // 遍历文本框移除错误提示信息
        textList.each(function() {
            $(this).removeClass('error-data');
            $(this).next('i').removeClass('error-data');
        });
        // 按钮不可点
        // btns.disabled();
    }
    // 读取参数
    function read(isShow) {
        var batt = getBatt();
        var searchParams = {
            dev_id: batt.FBSDeviceId,
        };
        // 初始化内容
        init();
        // 添加等待框
        var load = layer.load(1);
        // 请求后台
        $.ajax({
            type: 'post',
            async: true,
            url: 'Dev_restart_planAction!serchByCondition',
            data: 'json='+JSON.stringify(searchParams),
            dataType: 'json',
            success: function(res) {
                var rs = JSON.parse(res.result);
                var data = {
                    dev_id: batt.FBSDeviceId,
                    stationName: batt.StationName,
                    restart_starttime: new Date().format('yyyy-MM-dd hh:mm:ss'),
                    restart_cycle: 1,
                    restart_en: 0,
                };
                // 注:这个没有对错都可以设定
                if(rs.code ==1) {
                    // 设置启动和设定按钮可以操作
                    btns.ensure(true);
                    popup.popup.data('errRead', false);
                    data = rs.data[0];
                }else {
                    // 设置启动和设定按钮可以操作
                    btns.ensure(true);
                    popup.popup.data('errRead', false);
                    layer.msg('读取参数失败!');
                }
                // 设置参数
                setParams(data);
                if(isShow) {
                    popup.showPopup();
                }
            },
            error: function(){
                popup.popup.data('errRead', true);
                layer.msg('读取参数失败!');
            },
            complete: function() {
                layer.close(load);
            }
        });
    }
    // 更新参数
    function update() {
        var setParams = getParams();
        var load = layer.load(1);
        // 请求后台
        $.ajax({
            type: 'post',
            async: true,
            url: 'Dev_restart_planAction!update',
            data: 'json='+JSON.stringify(setParams),
            dataType: 'json',
            success: function(res) {
                var rs = JSON.parse(res.result);
                if(rs.code == 1) {
                    popup.popup.data('errSet', false);
                    layer.msg('设置参数成功!');
                }else {
                    popup.popup.data('errSet', true);
                    layer.msg('设置参数失败!');
                }
            },
            error: function(){
                popup.popup.data('errSet', true);
                layer.msg('设置参数失败!');
            },
            complete: function() {
                layer.close(load);
            }
        });
    }
    // 设置参数
    function setParams(data) {
        $('#restart_circle_dev_id').val(data.dev_id);   // 设别id
        $('#restart_circle_home').val(data.stationName);    // 机房名称
        $('#restart_circle_restart_starttime').val(data.restart_starttime);       // 重启开始时间
        $('#restart_circle_restart_cycle').val(data.restart_cycle);    // 重启周期
        $('#restart_circle_restart_en').val(data.restart_en);       // 重启计划
    }
    // 获取参数
    function getParams() {
        return {
            dev_id: $('#restart_circle_dev_id').val(),
            restart_starttime: $('#restart_circle_restart_starttime').val(),
            restart_cycle: $('#restart_circle_restart_cycle').val(),
            restart_en: $('#restart_circle_restart_en').val(),
        }
    }
    // 设置面板状态
    function setPopupStates(id, val) {
        // 获取所有文本框
        var textList = popup.popup.find('input[type=text]');
        // 读取错误
        var errRead = popup.popup.data('errRead'); // 获取是否读取参数失败
        // 设置按钮不可点
        btns.disabled();
        // 读取设备参数失败
        if(errRead) {
            return false;    // 结束函数运行
        }
        // 遍历面板下的所有文本框查看是否有错误数据
        var isDisabled = false;
        textList.each(function() {
            if($(this).hasClass('error-data')) {
                isDisabled = true;
            }
        });
        // 存在错误的数据
        if(isDisabled) {
            btns.disabled();
            return false;    // 结束函数运行
        }else {
            // 设置失败
            btns.ensure(true);
        }
    }
})();