sgj
15 小时以前 711221e4b28157efc1762508e73e07311aa57a1e
fzzy-igdss-web/src/main/resources/static/security/snap/snapRecord.js
@@ -24,7 +24,9 @@
        count: typeof totalItems !== 'undefined' ? totalItems : 0,
        limit: typeof pageSize !== 'undefined' ? pageSize : 6,
        curr: typeof currentPage !== 'undefined' ? currentPage : 1,
        layout: [ 'prev', 'page', 'next', 'refresh', 'skip'],
        layout: [ 'prev',  'next', ],
        prev: '<i class="layui-icon layui-icon-left"></i>',
        next: '<i class="layui-icon layui-icon-right"></i>',
        jump: function (obj, first) {
            if (!first) {
                searchRecord(obj.curr, obj.limit)
@@ -45,7 +47,9 @@
        count: totalCount,
        limit: pageSize,
        curr: currentPage,
        layout: ['prev', 'page', 'next', 'refresh', 'skip'],
        layout: ['prev',  'next', ],
        prev: '<i class="layui-icon layui-icon-left"></i>',
        next: '<i class="layui-icon layui-icon-right"></i>',
        jump: function (obj, first) {
            if (!first) {
                searchRecord(obj.curr, obj.limit)
@@ -94,7 +98,8 @@
    // 添加表单查询条件
    var form = document.getElementById('snapRecord-form');
    if (form) {
        var inputs = form.querySelectorAll('input[name], select[name]');
        // 处理普通输入框和选择框
        var inputs = form.querySelectorAll('input[name]:not([type="hidden"]), select[name]');
        inputs.forEach(function(input) {
            if (input.value) { // 只添加非空值
                params[input.name] = input.value;
@@ -136,52 +141,95 @@
    // 生成图片卡片
    var html = '';
    records.forEach(function(record) {
        //标签展示
        var tagsHtml = '';
        if (record.tags) {
            var tags = record.tags.split(',');
            tags.forEach(function(tag) {
                tagsHtml += `
            <span class="tag-person">
                <i class="layui-icon layui-icon-note"></i>
                <span>${tag.trim()}</span>
            </span>
        `;
            });
        }
        html += `
            <div class="gallery-item">
                <img  src="${record.imgName || '/logo-sm.png'}" alt="${record.id}"
                     data-url="${record.imgName || '/logo-sm.png'}" data-id="${record.id}"
                     class="gallery-img" onclick="showSnapRecordPreview(this.getAttribute('data-url'))">
                <div class="gallery-info">
                    <div class="gallery-header">
<!--                        <h3 class="gallery-title">${record.id}</h3>-->
                        <div class="gallery-tags">
                            <span class="tag-person">
                                <i class="layui-icon layui-icon-note"></i>
                                <span>汽车</span>
                            </span>
                            <span class="tag-person">
                                <i class="layui-icon layui-icon-note"></i>
                                <span>卡车</span>
                            </span>
                            <span class="tag-person">
                                <i class="layui-icon layui-icon-note"></i>
                                <span>翻斗车</span>
                            </span>
                        </div>
                    </div>
                    <div class="gallery-meta">
                         <div style="display: flex; align-items: center; gap: 15px;width: 100%">
                             <div class="meta-item" style="width: 50%">
                                <i class="layui-icon layui-icon-video"></i>
                                <span>${record.cameraId || ''}</span>
                            </div>
                            <div class="meta-item" style="width: 50%">
                                <i class="layui-icon layui-icon-date"></i>
                                <span>${formatDate(record.snapTime)}</span>
                            </div>
                         </div>
                        <div class="meta-item">
                            <i class="layui-icon layui-icon-home"></i>
                            <span>${record.deptId || ''}</span>
                        </div>
                    </div>
    <div class="gallery-item">
        <img  src="${record.imgName || '/logo-sm.png'}" alt="${record.id}"
             data-url="${record.imgName || '/logo-sm.png'}" data-id="${record.id}"
             class="gallery-img" onclick="showSnapRecordPreview(this.getAttribute('data-url'))">
        <div class="gallery-info">
            <div class="gallery-header">
                <div class="gallery-tags">
                    ${tagsHtml}
                </div>
            </div>
        `;
            <div class="gallery-meta">
                 <div style="display: flex; align-items: center; gap: 15px;width: 100%">
                     <div class="meta-item" style="width: 50%">
                        <i class="layui-icon layui-icon-video"></i>
                        <span>${getCameraName(record.cameraId) || record.cameraId || ''}</span>
                    </div>
                    <div class="meta-item" style="width: 50%">
                        <i class="layui-icon layui-icon-date"></i>
                        <span>${formatDate(record.snapTime)}</span>
                    </div>
                 </div>
                 <div class="meta-item">
                    <i class="layui-icon layui-icon-home"></i>
                    <span>${getDeptName(record.deptId) || record.deptId || ''}</span>
                 </div>
            </div>
        </div>
    </div>
`;
    });
    container.innerHTML = html;
}
/**
 * 根据摄像头ID获取摄像头名称
 * @param {string} cameraId - 摄像头ID
 * @returns {string|null} 摄像头名称或null
 */
function getCameraName(cameraId) {
    // 确保cameraList存在且为数组
    if (typeof cameraList !== 'undefined' && Array.isArray(cameraList) && cameraId) {
        // 查找匹配的摄像头对象
        var camera = cameraList.find(function(item) {
            return item.id === cameraId;
        });
        // 返回摄像头名称,如果找不到则返回null
        return camera ? camera.name : null;
    }
    return null;
}
/**
 * 根据库区ID获取库区名称
 * @param {string} deptId - 摄像头ID
 * @returns {string|null} 摄像头名称或null
 */
function getDeptName(deptId) {
    // 确保deptList存在且为数组
    if (typeof deptList !== 'undefined' && Array.isArray(deptList) && deptId) {
        // 查找匹配的摄像头对象
        var dept = deptList.find(function(item) {
            return item.id === deptId;
        });
        // 返回摄像头名称,如果找不到则返回null
        return dept ? dept.kqmc : null;
    }
    return null;
}
/**
 * 格式化日期
@@ -289,5 +337,13 @@
}
function openConf() {
    var url = ctx + "com.fzzy.igds.SnapConf.d";
    $.modal.openTab("抓拍配置", url);
    var options = {
        title: "抓拍配置",
        url: url,
        btn: 0,
        yes: function (index, layero) {
            $.modal.close(index);
        }
    };
    $.modal.openOptions(options);
}