alarm_list.html 11.9 KB
{% extends 'admin/admin.html' %}
{% import "common/admin_page.html" as pg %}
{% block css %}
    <style>
        * {
            font-family: "Microsoft YaHei";
        }

        .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
            vertical-align: middle;
            text-align: center;
        }

        /* 遮罩层样式 */
        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            display: none; /* 默认隐藏 */
        }

        /* 弹窗样式 */
        .popup {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            padding: 20px;
            background-color: #fff;
            border: 1px solid #ccc;
            border-radius: 5px;
            display: none; /* 默认隐藏 */
        }
    </style>
{% endblock %}
{% block content %}
    <!--内容-->
    <section class="content-header">
        <h1>安监物联管理系统</h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-dashboard"></i> 数据分析</a></li>
            <li class="active">报警列表</li>
        </ol>
    </section>
    <section class="content" id="showcontent">
        <div class="row">
            <div class="col-md-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">报警列表</h3>
                        <div class="box-tools">
                        <form action="" method="POST">
                        <div class="input-group input-group-sm" style="width: 450px;">
                            <div class="input-group date col-sm-12 pull-right">
                                  <div class="input-group-addon">
                                        <i class="fa fa-calendar"></i>
                                  </div>
                                  <input name="datepicker1" value="{{ st }}" type="datetime-local" class="form-control pull-right" id="datepicker1">
                                  <div class="input-group-addon">
                                        <i class="fa fa-calendar"></i>
                                  </div>
                                  <input name="datepicker2" value="{{ et }}" type="datetime-local" class="form-control pull-right" id="datepicker2">
                                  <div class="input-group-addon" >
                                        <i class="fa fa-calendar" style="display: none"></i>
                                  </div>
                                  <input name="keywords" value="{{ key }}" placeholder="请输入关键字..." style="width: 150px" type="text" class="form-control pull-right" id="name">


                                <div class="input-group-btn">
                                        <button id="btn" class="btn btn-default"><i class="fa fa-search"></i>
                                        </button>
                                </div>
                            </div>
                        </div>
                        </form>
                    </div>
                    </div>
                    <div class="box-body table-responsive no-padding">
                    {% for msg in get_flashed_messages(category_filter=["ok"]) %}
                        <div class="alert alert-success alert-dismissible">
                            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×
                            </button>
                            <h4><i class="icon fa fa-check"></i> 操作成功</h4>
                            {{ msg }}
                        </div>
                    {% endfor %}
                        <table class="table table-hover" id="table">
                            <tbody>
                            <tr>
                                <th>编号</th>
                                <th>报警类型</th>

                                <th>报警内容</th>
                                <th>报警区域</th>
                                <th>图片内容</th>
                                <th>是否处理</th>
                                <th>备注</th>
                                <th>报警时间</th>
                                <th>操作</th>

                            </tr>
                            {% for v in page_data.items %}
                                <tr>
                                    <td>{{ v.id }}</td>
                                    <td>{{ v.device.devicetype.name }}</td>
                                    <td>{{ v.msg }}</td>
                                    <td>{{ v.device.detectingpoint.name ~ v.device.detectingpoint.no }}</td>

                                    <td
                                           {% if v.preview == 1 %}
                                            id="{{ url_for('static', filename='uploads/alarms/'+v.img) }}"
                                            {%  endif %}
                                    >

                                        <img style="width: 80px;height: 80px;"
                                             {% if v.preview == 1 %}
                                             src="{{ url_for('static', filename='uploads/alarms/'+v.img) }}"
                                             {% else %}
                                             src="{{ url_for('static', filename='uploads/alarms/'+'v.img') }}"
                                             {% endif %}
                                             class="img-responsive center-block" alt="">

                                    </td>
                                    {% if v.handle == 1 %}
                                        <td id="{{ v.handle_user }}"></td>
                                    {% else %}
                                        <td></td>
                                    {% endif %}
                                    <td>
                                        {{ v.remark }}
                                    </td>
                                    <td>
                                        {{ v.addtime }}
                                    </td>
                                    <td>
                                    <button id="{{ loop.index0 + 1 }}" onclick="handle(this)" class="btn btn-success btn-xs">
                                        {% if v.handle == 1 %}
                                        重新处理
                                        {% else %}
                                            处理
                                        {% endif %}
                                    </button>

                                    <button onclick="details(this)" id="{{ loop.index0 + 1 }}" class="btn btn-info btn-xs">预览</button>
                                    <button class="btn btn-danger btn-xs" onclick="{if(confirm('确定是否删除当条记录吗?')){location.href='{{ url_for('admin.alarm_del',id=v.id) }}';}return false;}">
                                        删除
                                    </button>

                                    </td>

                                </tr>
                            {% endfor %}
                            </tbody>
                        </table>
                    </div>
                    <div class="box-footer clearfix">
                        {{ pg.page(page_data,'admin.alarm_list') }}
                    </div>
                </div>
            </div>
        </div>
    </section>
    <!--内容-->

    <div class="overlay" id="overlay"></div>
    <div class="popup" id="popup">

    </div>

{% endblock %}



{% block js %}
    <script>
        $(document).ready(function () {
            $("#g-9").addClass("active");
            $("#g-9-3").addClass("active");
        });

        /*const openbtn=document.getElementById('openbtn');
        const closebtn=document.getElementById('closebtn');
        const popup=document.getElementById('popup');
        const overlay=document.getElementById('overlay');
        openbtn.addEventListener('click',function(){
            popup.style.display='block';
            overlay.style.display='block';
        });*/

        function  details(obj) {
            popup.style.display='block';
            overlay.style.display='block';

            var id = $(obj).attr("id");

            var name = document.getElementById("table").rows[id].cells[1].innerText;
            var msg = document.getElementById("table").rows[id].cells[2].innerText;
            var path = document.getElementById("table").rows[id].cells[4].id;
            var area = document.getElementById("table").rows[id].cells[3].innerText;
            var handle = document.getElementById("table").rows[id].cells[5].innerText;
            var user = document.getElementById("table").rows[id].cells[5].id;
            var remark = document.getElementById("table").rows[id].cells[6].innerText;

            //alert(path)
            document.getElementById('popup').innerHTML = `
            <label>
                报警类型:${name}
            </label><br><br>

            <label>报警内容:${msg}</label><br><br>
            <label>报警区域:${area}</label><br><br>
            <label>是否处理:${handle}</label><br><br>
            <label>处理账号:${user}</label><br><br>
            <label>备注信息:${remark}</label><br><br>
            <img src="${path}" style="width: 720px; height: 480px"><br><br>


            <button id="closebtn" type="button" class="btn btn-sm btn-danger pull-right" onclick="close_btn()">关闭</button>
            `
        }

        function handle(obj) {
            popup.style.display='block';
            overlay.style.display='block';

            var id = $(obj).attr("id");

            var no = document.getElementById("table").rows[id].cells[0].innerText;
            var name = document.getElementById("table").rows[id].cells[1].innerText;
            var msg = document.getElementById("table").rows[id].cells[2].innerText;
            var path = document.getElementById("table").rows[id].cells[4].id;
            var area = document.getElementById("table").rows[id].cells[3].innerText;

            //alert(path)
            document.getElementById('popup').innerHTML = `

            <label id="no" style="display: none">${no}</label>
            <label id="no">
                报警类型:${name}
            </label><br><br>

            <label>报警内容:${msg}</label><br><br>
            <label>报警区域:${area}</label><br><br>
            <label>处理详情:</label><br>
            <textarea id="handleinfo" class="form-control" style="width: 720px; height: 480px"></textarea><br><br>

            <div class="pull-right">
            <button id="closebtn" type="button" class="btn btn-sm btn-danger " onclick="close_btn()">关闭</button>
            <button id="submitbtn" type="button" class="btn btn-sm btn-info " onclick="submit_btn()">提交</button>
            </div>

            `
        }

        function close_btn () {
            popup.style.display='none';
            overlay.style.display='none';
        }

        function submit_btn () {
            var no = document.getElementById("no").innerText;
            var msg = document.getElementById("handleinfo").value;
            if (msg === "" || msg == null)
            {
                alert("请输入处理信息");
            }
            //alert(no);
            //alert(msg)
            $.ajax({
                type: "GET",
                url: "http://127.0.0.1:5000/alarm/edit",
                data: {  no: no, msg: msg },
                dataType: 'json',
                success: function (res) {
                    //alert(res);
                    location.reload();
                }

            });
        }



    </script>
{% endblock %}