#
luxiaotao1123
2022-02-26 d7b1c94688aed6c5757c0b9b33e45e9120b3501c
#
5个文件已修改
1个文件已添加
755 ■■■■ 已修改文件
src/main/java/com/zy/sc/manager/entity/Issue.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/hostTable.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/issue/issue.js 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/issue/issue.html 149 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/issue/issue_detl.html 471 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/sc/manager/entity/Issue.java
@@ -249,7 +249,7 @@
        if (Cools.isEmpty(this.startTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime);
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime).substring(0, 10);
    }
    public String getEndTime$(){
src/main/webapp/static/js/common.js
@@ -231,7 +231,7 @@
var popupRight;
var sensorByDetl;
var issueByDetl;
var sensorByMap;
src/main/webapp/static/js/hostTable.js
@@ -122,7 +122,7 @@
    /* 删除 */
    function doDel(obj) {
        layer.confirm('确定要删除此单据类型吗?', {
        layer.confirm('确定要删除此项目吗?', {
            skin: 'layui-layer-admin',
            shade: .1
        }, function (i) {
src/main/webapp/static/js/issue/issue.js
@@ -1,48 +1,56 @@
var pageCurr;
var tableData;
var insTb2;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['table','laydate', 'form', 'admin'], function(){
}).extend({
    dropdown: 'dropdown/dropdown',
    notice: 'notice/notice',
}).use(['table','laydate', 'form', 'util', 'admin', 'dropdown', 'notice', 'treeTable', 'xmSelect'], function(){
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var layDate = layui.laydate;
    var form = layui.form;
    var admin = layui.admin;
    var util = layui.util;
    var notice = layui.notice;
    var treeTable = layui.treeTable;
    var xmSelect = layui.xmSelect;
    // 数据渲染
    tableIns = table.render({
        elem: '#issue',
    insTb2 = table.render({
        elem: '#issueTable',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/issue/list/auth',
        page: true,
        limit: 16,
        limits: [16, 30, 50, 100, 200, 500],
        toolbar: '#toolbar',
        cellMinWidth: 50,
        limit: 15,
        limits: [15, 30, 50, 100, 200, 500],
        toolbar: '#issueToolbar',
        height: 'full-100',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'id', align: 'center',title: 'ID'}
            ,{field: 'uuid', align: 'center',title: '故障编号'}
            ,{field: 'hostId$', align: 'center',title: '所属项目'}
            ,{field: 'issueType$', align: 'center',title: '故障类型'}
            ,{field: 'hostId$', align: 'center',title: '所属项目', templet: '#hostTpl', width: 130}
            ,{field: 'uuid', align: 'center',title: '故障编号', width: 180}
            ,{field: 'issueType$', align: 'center',title: '故障类型', templet: '#issueTypeTpl', width: 110}
            ,{field: 'title', align: 'center',title: '问题概述'}
            ,{field: 'reason', align: 'center',title: '故障原因'}
            ,{field: 'deal', align: 'center',title: '解决办法'}
            ,{field: 'files', align: 'center',title: '文件列表'}
            ,{field: 'img', align: 'center',title: '图片'}
            ,{field: 'startTime$', align: 'center',title: '发生日期'}
            ,{field: 'endTime$', align: 'center',title: '处理日期'}
            ,{field: 'lastTime$', align: 'center',title: '更新日期'}
            ,{field: 'discoverer', align: 'center',title: '发现人'}
            ,{field: 'tel', align: 'center',title: '联系方式'}
            ,{field: 'dealer', align: 'center',title: '供应商'}
            ,{field: 'settle$', align: 'center',title: '流程'}
            ,{field: 'status$', align: 'center',title: '状态'}
            ,{field: 'createBy$', align: 'center',title: '添加人员'}
            ,{field: 'createTime$', align: 'center',title: '添加时间'}
            ,{field: 'updateBy$', align: 'center',title: '修改人员'}
            ,{field: 'updateTime$', align: 'center',title: '修改时间'}
            ,{field: 'memo', align: 'center',title: '备注'}
            ,{field: 'reason', align: 'center',title: '故障原因', hide: true}
            ,{field: 'deal', align: 'center',title: '解决办法', hide: true}
            ,{field: 'files', align: 'center',title: '文件列表', hide: true}
            ,{field: 'img', align: 'center',title: '图片', hide: true}
            ,{field: 'startTime$', align: 'center',title: '发生日期', width: 120}
            ,{field: 'endTime$', align: 'center',title: '处理日期', hide: true}
            ,{field: 'lastTime$', align: 'center',title: '更新日期', hide: true}
            ,{field: 'discoverer', align: 'center',title: '发现人', hide: true}
            ,{field: 'tel', align: 'center',title: '联系方式', hide: true}
            ,{field: 'dealer', align: 'center',title: '供应商', hide: true}
            ,{field: 'settle$', align: 'center',title: '流程', templet: '#settleTpl', width: 110}
            ,{field: 'status$', align: 'center',title: '状态', hide: true}
            ,{field: 'createBy$', align: 'center',title: '添加人员', hide: true}
            ,{field: 'createTime$', align: 'center',title: '添加时间', hide: true}
            ,{field: 'updateBy$', align: 'center',title: '修改人员', hide: true}
            ,{field: 'updateTime$', align: 'center',title: '修改时间', hide: true}
            ,{field: 'memo', align: 'center',title: '备注', hide: true}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:150}
        ]],
@@ -66,32 +74,15 @@
                top.location.href = baseUrl+"/";
            }
            pageCurr=curr;
            limit();
            // limit();
        }
    });
    // 监听排序事件
    table.on('sort(issue)', function (obj) {
        var searchData = {};
        $.each($('#search-box [name]').serializeArray(), function() {
            searchData[this.name] = this.value;
        });
        searchData['orderByField'] = obj.field;
        searchData['orderByType'] = obj.type;
        tableIns.reload({
            where: searchData,
            page: {curr: 1}
        });
    });
    // 监听头工具栏事件
    table.on('toolbar(issue)', function (obj) {
    table.on('toolbar(issueTable)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id).data;
        switch(obj.event) {
            case 'addData':
                showEditModel();
                break;
            case 'deleteData':
            case 'del':
               if (checkStatus.length === 0) {
                   layer.msg('请选择要删除的数据', {icon: 2});
                   return;
@@ -101,49 +92,11 @@
               });
               del(ids);
               break;
            case 'exportData':
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
                    var fields=[];
                    obj.config.cols[0].map(function (col) {
                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                            titles.push(col.title);
                            fields.push(col.field);
                        }
                    });
                    var exportData = {};
                    $.each($('#search-box [name]').serializeArray(), function() {
                        exportData[this.name] = this.value;
                    });
                    var param = {
                        'issue': exportData,
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/issue/export/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        dataType:'json',
                        contentType:'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            layer.closeAll();
                            if (res.code === 200) {
                                table.exportFile(titles,res.data,'xls');
                            } else if (res.code === 403) {
                                top.location.href = baseUrl+"/";
                            } else {
                                layer.msg(res.msg, {icon: 2})
                            }
                        }
                    });
                });
                break;
        }
    });
    // 监听行工具事件
    table.on('tool(issue)', function(obj){
    table.on('tool(issueTable)', function(obj){
        var data = obj.data;
        switch (obj.event) {
            case 'edit':
@@ -211,7 +164,7 @@
                    layer.close(loadIndex);
                    if (res.code === 200){
                        layer.msg(res.msg, {icon: 1});
                        tableReload();
                        $(".layui-laypage-btn")[0].click();
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";
                    } else {
src/main/webapp/views/issue/issue.html
@@ -9,45 +9,132 @@
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
    <link rel="stylesheet" href="../../static/css/common.css" media="all">
    <link rel="stylesheet" href="../../static/css/originTable.css" media="all">
    <style>
        body {
            color: #595959;
            background-color: #f5f7f9;
        }
        .admin-form {
            padding: 25px 30px 0 0 !important;
            margin: 0 !important;
        }
        /*!* 权限控制 *!*/
        /*#btn-add {*/
        /*    display: none;*/
        /*}*/
        /*#btn-delete {*/
        /*    display: none;*/
        /*}*/
        /*.btn-edit {*/
        /*    display: none;*/
        /*}*/
        /*.btn-more {*/
        /*    display: none;*/
        /*}*/
    </style>
</head>
<body>
<!-- 搜索栏 -->
<div id="search-box" class="layui-form layui-card-header">
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off">
<!-- 正文开始 -->
<div class="layui-fluid" style="padding-bottom: 0;">
    <div class="layui-row layui-col-space15">
        <!-- 左 -->
        <div class="layui-col-md3" id="left-table">
            <div class="layui-card">
                <div class="layui-card-body" style="padding: 10px;">
                    <form class="layui-form toolbar">
                        <div class="layui-form-item">
                            <div class="layui-inline" style="max-width: 140px;">
                                <input name="name" class="layui-input" placeholder="输入项目名称"/>
                            </div>
                            <div class="layui-inline">
                                <button class="layui-btn icon-btn" lay-filter="originTableSearch" lay-submit>
                                    <i class="layui-icon">&#xe615;</i>搜索
                                </button>
                                <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
                                    <i class="layui-icon">&#xe666;</i>重置
                                </button>
                            </div>
                        </div>
                    </form>
                    <table id="originTable" lay-filter="originTable"></table>
                </div>
            </div>
        </div>
        <!-- 右 -->
        <div class="layui-col-md9">
            <div class="layui-card">
                <div class="layui-card-body" style="padding: 10px;">
                    <form class="layui-form toolbar">
                        <div class="layui-form-item">
                            <div class="layui-inline">
                                <label class="layui-form-label">故障编号:</label>
                                <div class="layui-input-inline">
                                    <input name="uuid" class="layui-input" placeholder="故障编号"/>
                                </div>
                            </div>
                            <div class="layui-inline">&emsp;
                                <button class="layui-btn icon-btn" lay-filter="sensorTbSearch" lay-submit>
                                    <i class="layui-icon">&#xe615;</i>搜索
                                </button>
                            </div>
                        </div>
                    </form>
                    <table id="issueTable" lay-filter="issueTable"></table>
                </div>
            </div>
        </div>
    </div>
    <!-- 待添加 -->
    <div id="data-search-btn" class="layui-btn-container layui-form-item">
        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button>
        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button>
    </div>
</div>
<!-- 表格 -->
<div class="layui-form">
    <table class="layui-hide" id="issue" lay-filter="issue"></table>
</div>
<script type="text/html" id="toolbar">
<!-- 头工具栏 -->
<script type="text/html" id="issueToolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>
        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button>
        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="del"><i class="layui-icon">&#xe640;</i>删除</button>
    </div>
</script>
<!-- 行工具栏 -->
<script type="text/html" id="operate">
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>
    <a class="layui-btn layui-btn-xs btn-edit" lay-event="detl" ew-event="popupRight"
       data-type="1" data-window="top" data-area="1250px" data-url="issue/issue_detl.html">
        <i class="layui-icon">&#xe6b2;</i>查看</a>
    <a class="layui-btn layui-btn-xs layui-btn-primary btn-edit" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>修改</a>
</script>
<!-- 行样式 -->
<script type="text/html" id="hostTpl">
    <span name="hostId$" class="layui-badge layui-badge-gray">{{d.hostId$}}</span>
</script>
<script type="text/html" id="issueTypeTpl">
    <span name="issueType$" class="layui-badge layui-badge-gray">{{d.issueType$}}</span>
</script>
<script type="text/html" id="settleTpl">
    <span name="settle"
          {{# if( d.settle === 1){ }}
          class="layui-badge layui-badge-blue"
          {{# }else if(d.settle === 2){ }}
          class="layui-badge layui-badge-blue"
          {{# }else if(d.settle === 3){ }}
          class="layui-badge layui-badge-blue"
          {{# }else if(d.settle === 4){ }}
          class="layui-badge layui-badge-green"
          {{# }else if(d.settle === 5){ }}
          class="layui-badge layui-badge-red"
          {{# }else if(d.settle === 6){ }}
          class="layui-badge layui-badge-gray"
          {{# } }}
    >{{d.settle$}}</span>
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/hostTable.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/issue/issue.js" charset="utf-8"></script>
</body>
<!-- 表单弹窗 -->
@@ -228,5 +315,23 @@
        </div>
    </form>
</script>
<!-- 项目编辑窗口 -->
<script type="text/html" id="hostEditDialog">
    <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label layui-form-required">项目名称:</label>
            <div class="layui-input-block">
                <input name="name" placeholder="请输入项目名称" class="layui-input"
                       lay-verType="tips" lay-verify="required" required/>
            </div>
        </div>
        <div class="layui-form-item text-right">
            <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>保存</button>
            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
        </div>
    </form>
</script>
</html>
src/main/webapp/views/issue/issue_detl.html
New file
@@ -0,0 +1,471 @@
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="../static/css/jquery.upload.css" media="all"/>
<style>
    #formAdvForm {
        background-color: #f3f3f3;
    }
    #formAdvForm .layui-form-item {
        margin-top: 20px;
        margin-bottom: 0;
    }
    #formAdvForm .layui-form-item .layui-inline {
        margin-bottom: 25px;
        margin-right: 0;
    }
    .form-group-bottom {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 10px 20px;
        background-color: #fff;
        box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05);
    }
    .cool-divider {
        float: left;
        margin: 4px 18px;
        display: inline-block;
        height: 32px;
        width: 1px;
        vertical-align: middle;
        position: relative;
        top: -.06em;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
        margin-top: 5px !important;
        margin-bottom: 5px !important;
        background: #c8d1dabd;
    }
    .sensor-label {
        display: inline-block;
        float: left;
        font-size: 16px;
        font-weight: bolder;
        height: 40px;
        line-height: 40px;
        text-align: center;
        white-space: nowrap;
        vertical-align: baseline;
        border-radius: .25em;
    }
    .online-info {
        display: inline-block;
        float: left;
        font-weight: bold;
        text-shadow: 0 1px 0 rgb(0 0 0 / 20%);
        padding: .3em .6em;
        font-size: 85%;
        height: 30px;
        line-height: 30px;
        color: #fff;
        text-align: center;
        white-space: nowrap;
        vertical-align: baseline;
        border-radius: .25em;
    }
    .online-success {
        background-color: #5cb85c;
    }
    .online-fail {
        background-color: #d9534f;
    }
</style>
<!-- 正文开始 -->
<form class="layui-form" id="formAdvForm" lay-filter="formAdvForm">
    <div class="layui-fluid" style="padding-bottom: 75px;">
        <!-- 定位 -->
<!--        <div class="layui-card">-->
<!--            <div class="layui-card-header">定位</div>-->
<!--            <div class="layui-card-body">-->
<!--                <div class="upload-box clear">-->
<!--                    <div id="map" style="width: 100%; height: 200px"></div>-->
<!--                </div>-->
<!--            </div>-->
<!--        </div>-->
        <!-- 图片 -->
        <div class="layui-card">
            <div class="layui-card-header">图片</div>
            <div class="layui-card-body">
                <div class="upload-box clear">
                    <div class="image-box"></div>
                </div>
            </div>
        </div>
        <!-- 基本信息 -->
        <div class="layui-card">
            <div class="layui-card-header">基本信息</div>
            <div class="layui-card-body">
                <div class="layui-form-item layui-row">
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">设备编号:</label>
                        <div class="layui-input-block">
                            <input name="uuid" placeholder="请输入设备编号" class="layui-input"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">所属项目:</label>
                        <div class="layui-input-block">
                            <input name="hostId$" placeholder="请输入所属项目" class="layui-input"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">ccid:</label>
                        <div class="layui-input-block">
                            <input name="sim" placeholder="请输入sim卡号" class="layui-input"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">系统状态:</label>
                        <div class="layui-input-block">
                            <select name="status">
                                <option value="1">启用</option>
                                <option value="0">禁用</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">添加时间:</label>
                        <div class="layui-input-block">
                            <input id="formAdvDateSel1" name="createTime$" placeholder="请选择日期"
                                   class="layui-input icon-date" autocomplete="off"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label ">添加人员:</label>
                        <div class="layui-input-block">
                            <input name="createBy$" placeholder="请输入添加人员" class="layui-input"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label ">地理位置:</label>
                        <div class="layui-input-block">
                            <input name="locationMore" placeholder="未知" class="layui-input" disabled/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label ">具体描述:</label>
                        <div class="layui-input-block">
                            <input name="desc" placeholder="暂无" class="layui-input"/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- 设备参数 -->
        <div class="layui-card">
            <div class="layui-card-header">设备参数</div>
            <div class="layui-card-body">
                <div class="layui-form-item layui-row">
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">主题-topic:</label>
                        <div class="layui-input-block">
                            <input name="topic" placeholder="请输入主题" class="layui-input"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">地址-ip:</label>
                        <div class="layui-input-block">
                            <input name="ip" placeholder="请输入ip地址" class="layui-input"/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">端口-port:</label>
                        <div class="layui-input-block">
                            <input type="number" name="port" placeholder="请输入端口" class="layui-input"
                                   lay-verType="tips" lay-verify="number" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">信号值:</label>
                        <div class="layui-input-block">
                            <input type="number" name="signal" placeholder="请输入信号值" class="layui-input"
                                   lay-verType="tips" lay-verify="number" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">电池电量:</label>
                        <div class="layui-input-block">
                            <input type="number" name="battery" placeholder="请输入电量" class="layui-input"
                                   lay-verType="tips" lay-verify="number" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">环境温度-℃:</label>
                        <div class="layui-input-block">
                            <input type="number" name="tempe" placeholder="请输入温度" class="layui-input"
                                   lay-verType="tips" lay-verify="number" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">充电状态:</label>
                        <div class="layui-input-block">
                            <select name="charge">
                                <option value="1">充电中</option>
                                <option value="0">不在充电</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">倾斜角度-°:</label>
                        <div class="layui-input-block">
                            <input type="number" name="tiltZ" placeholder="倾斜角度" class="layui-input"
                                   lay-verType="tips" lay-verify="number" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">破损状态:</label>
                        <div class="layui-input-block">
                            <select name="worn">
                                <option value="1">已破损</option>
                                <option value="0">未破损</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">水位情况:</label>
                        <div class="layui-input-block">
                            <select name="overflow">
                                <option value="0">水位正常</option>
                                <option value="1">水位超标</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">光伏功能:</label>
                        <div class="layui-input-block">
                            <select name="agc">
                                <option value="1">有</option>
                                <option value="0">没有</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">形状:</label>
                        <div class="layui-input-block">
                            <select name="shape">
                                <option value="1">圆形</option>
                                <option value="2">长方形</option>
                                <option value="3">正方形</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md4">
                        <label class="layui-form-label">尺寸:</label>
                        <div class="layui-input-block">
                            <input type="number" name="size" placeholder="请输入尺寸" class="layui-input"/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- 报文日志 -->
        <div class="layui-card">
            <div class="layui-card-header">报文日志</div>
            <div class="layui-card-body">
                <table id="sensorLogTable" lay-filter="sensorLogTable"></table>
            </div>
        </div>
    </div>
    <div class="form-group-bottom text-right">
        <div>
            <span class="online-info">在线,可以进行远程操作</span>
            <div class="cool-divider"></div>
            <span class="sensor-label"></span>
        </div>
        <button class="layui-btn" lay-filter="refresh" lay-submit><i class="layui-icon">&#xe666;</i>&emsp;刷新&emsp;</button>
    </div>
</form>
<!--<script type="text/javascript" src="../static/js/tools/jquery.upload.min.js" charset="utf-8"></script>-->
<script type="text/javascript" src="../static/js/upload/jquery.upload.js" charset="utf-8"></script>
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=24c671d7d8365d7eaff888498538452f"></script>
<script>
    var map;
    var issueId = top.issueByDetl;
    layui.config({
        base: baseUrl + "/static/layui/lay/modules/"
    }).extend({
        notice: 'notice/notice',
    }).use(['form', 'table', 'laydate', 'notice'], function () {
        var $ = layui.jquery;
        var form = layui.form;
        var table = layui.table;
        var laydate = layui.laydate;
        var notice = layui.notice;
        form.render('select');
        init();
        function init(){
            notice.msg('正在载入数据......', {icon: 4, position: "topRight"});
            $.ajax({
                url: baseUrl + "/issue/" + issueId + "/auth",
                headers: {'token': localStorage.getItem('token')},
                method: 'GET',
                success: function (res) {
                    notice.destroy();
                    if (res.code === 200) {
                        var issue = res.data;
                        top.sensorByDetl = null;
                        // 地图
                        // map = new AMap.Map('map', {
                        //     resizeEnable: true,
                        //     zoom: 13,
                        //     center: [sensor.lon, sensor.lat]
                        // });
                        // marker = new AMap.Marker({
                        //     icon: "https://dz-admin.oss-cn-hangzhou.aliyuncs.com/other/marker.png",
                        //     position:[sensor.lon, sensor.lat]
                        // });
                        // marker.setMap(map);
                        // 设备唯一码
                        $('.sensor-label').text(issue.uuid);
                        // 设备明细
                        form.val('formAdvForm', issue);
                        // 日志表格
                        initLogTable(issue.id);
                        // 图片
                        initImgs(sensor.id, issue.imgArr);
                        // 在线情况
                        $('.online-info').attr("class", sensor.online?"online-info online-success":"online-info online-fail");
                        $('.online-info').text(sensor.online?"在线,可以进行远程操作":"离线,不能进行远程操作");
                    } else if (res.code === 403) {
                        top.location.href = baseUrl + "/";
                    } else {
                        layer.msg(res.msg, {icon: 2})
                    }
                }
            })
        }
        /* 渲染表格 */
        var LogTb;
        function initLogTable(sensorId){
            if (sensorId == null) {
                return false;
            }
            if (typeof LogTb === "undefined") {
                LogTb = table.render({
                    elem: '#sensorLogTable',
                    headers: {token: localStorage.getItem('token')},
                    url: baseUrl+'/sensorLog/list/auth',
                    where: {sensor_id: sensorId},
                    page: true,
                    limit: 10,
                    limits: [10, 30, 50, 100, 200, 500],
                    cols: [[
                        {type: 'numbers', title: '#'}
                        // ,{field: 'id', align: 'center',title: 'ID'}
                        // ,{field: 'hostId$', align: 'center',title: '授权商户', templet: '#hostTpl', width: 140}
                        // ,{field: 'sensorId$', align: 'center',title: '设备编号'}
                        // ,{field: 'senserType$', align: 'center',title: '设备类型'}
                        ,{field: 'data', align: 'center',title: '报文'}
                        ,{field: 'createTime$', align: 'center',title: '时间', minWidth: 200, width: 200}
                        // ,{field: 'memo', align: 'center',title: '备注'}
                    ]],
                    request: {
                        pageName: 'curr',
                        pageSize: 'limit'
                    },
                    parseData: function (res) {
                        return {
                            'code': res.code,
                            'msg': res.msg,
                            'count': res.data.total,
                            'data': res.data.records
                        }
                    },
                    response: {
                        statusCode: 200
                    },
                    done: function(res, curr, count) {
                        $('#sensorLogTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick', function(){
                            var id = JSON.stringify($('#sensorLogTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover").data('index'));
                            layer.open({
                                type: 1,
                                shade: false,
                                area: '500px',
                                title: false,
                                content: "<div style='color: #ffffff;font-size: 18px;overflow: hidden;" +
                                    "background-color: #5FB878;padding: 15px 10px;word-break:break-all;'>" + res.data[id].data + "</div>"
                            });
                        })
                    }
                });
            } else {
                LogTb.reload();
            }
        }
        /* 渲染图片 */
        function initImgs(sensorId, imgArr) {
            if (imgArr == null) {
                imgArr = [];
            }
            // https://gitee.com/gouguoyin/ajax-image-upload?_from=gitee_search#http://www.gouguoyin.cn/ajax-image-upload
            $(".image-box").ajaxImageUpload({
                fileInput : 'file',
                postUrl : baseUrl + '/sensor/upload.action', //上传的服务器地址
                width : 180,
                height : 180,
                imageUrl: imgArr,
                postData : { sensorId: sensorId },
                maxNum: 5, //允许上传图片数量
                allowZoom : true, //允许放大
                maxSize : 3, //允许上传图片的最大尺寸,单位M
                appendMethod : 'after',
                before : function () {
                    // layer.msg('上传前回调函数2');
                },
                success : function(json){
                },
                complete : function () {
                    layer.msg('上传成功', {icon: 1});
                },
                delete : function (src) {
                    $.ajax({
                        url: baseUrl + "/sensor/remove.action",
                        headers: {'token': localStorage.getItem('token')},
                        method: 'POST',
                        data: {
                            sensorId: sensorId,
                            src: src
                        },
                        // async: false,
                        success: function (res) {
                            if (res.code === 200) {
                                layer.msg(res.msg, {icon: 1})
                            } else if (res.code === 403) {
                                top.location.href = baseUrl + "/";
                            } else {
                                layer.msg(res.msg, {icon: 2})
                            }
                        }
                    })
                },
                error : function (e) {
                    layer.msg(e.msg + '(' + e.code + ')', {icon: 2});
                }
            });
        }
        /* 渲染laydate */
        laydate.render({
            elem: '#createTime\\$',
            type: 'datetime'
        });
        /* 监听表单提交 */
        form.on('submit(refresh)', function (data) {
            init();
            return false;
        });
    });
</script>