From 53fcac4b5b9739d866e48aec091f041555c722ee Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 15:51:48 +0800
Subject: [PATCH] 倾斜度js

---
 src/main/webapp/static/js/crnTiltRecord/crnTiltRecord.js |  299 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 299 insertions(+), 0 deletions(-)

diff --git a/src/main/webapp/static/js/crnTiltRecord/crnTiltRecord.js b/src/main/webapp/static/js/crnTiltRecord/crnTiltRecord.js
new file mode 100644
index 0000000..98a7e4a
--- /dev/null
+++ b/src/main/webapp/static/js/crnTiltRecord/crnTiltRecord.js
@@ -0,0 +1,299 @@
+var pageCurr;
+layui.use(['table', 'laydate', 'form', 'layer'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+
+    // 璁板綍鏃堕棿鑼冨洿閫夋嫨鍣紙鍗曚釜杈撳叆妗嗘樉绀鸿寖鍥达級
+    layDate.render({
+        elem: '#recordTime',
+        type: 'datetime',
+        range: true,  // 鑼冨洿閫夋嫨锛屼娇鐢ㄩ粯璁ゅ垎闅旂 " - "
+        format: 'yyyy-MM-dd HH:mm:ss'
+    });
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#crnTiltRecord',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/crnTiltRecord/list/auth',
+        page: true,
+        limit: 16,
+        limits: [16, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        cols: [[
+            {field: 'id', title: 'ID', sort: true, align: 'center', width: 80}
+            ,{field: 'crnNo', align: 'center', title: '鍫嗗灈鏈虹紪鍙�', sort: true, width: 120}
+            ,{field: 'tiltValue', align: 'center', title: '鍊炬枩搴﹀��', sort: true, width: 120, templet: function(d){
+                return d.tiltValue != null ? d.tiltValue.toFixed(4) + '掳' : '-';
+            }}
+            ,{field: 'tiltX', align: 'center', title: 'X鏂瑰悜鍊炬枩搴�', sort: true, width: 140, templet: function(d){
+                return d.tiltX != null ? d.tiltX.toFixed(4) + '掳' : '-';
+            }}
+            ,{field: 'tiltY', align: 'center', title: 'Y鏂瑰悜鍊炬枩搴�', sort: true, width: 140, templet: function(d){
+                return d.tiltY != null ? d.tiltY.toFixed(4) + '掳' : '-';
+            }}
+            // ,{field: 'tiltZ', align: 'center', title: 'Z鏂瑰悜鍊炬枩搴�', sort: true, width: 140, templet: function(d){
+            //     return d.tiltZ != null ? d.tiltZ.toFixed(4) + '掳' : '-';
+            // }}
+            ,{field: 'recordTime$', align: 'center', title: '璁板綍鏃堕棿', sort: true, width: 180}
+            ,{field: 'prevTiltValue', align: 'center', title: '涓婃鍊炬枩搴�', sort: true, width: 120, templet: function(d){
+                return d.prevTiltValue != null ? d.prevTiltValue.toFixed(4) + '掳' : '-';
+            }}
+            ,{field: 'tiltChange', align: 'center', title: '鍙樺寲閲�', sort: true, width: 120, templet: function(d){
+                if (d.tiltChange == null) return '-';
+                var change = d.tiltChange.toFixed(4);
+                var color = d.tiltChange > 0 ? 'red' : (d.tiltChange < 0 ? 'green' : 'black');
+                return '<span style="color: ' + color + '">' + change + '掳</span>';
+            }}
+            ,{field: 'recordType$', align: 'center', title: '璁板綍绫诲瀷', sort: true, width: 100}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 100}
+        ]],
+        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) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr = curr;
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(crnTiltRecord)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            if (this.value) {
+                searchData[this.name] = this.value;
+            }
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {
+                curr: pageCurr
+            }
+        });
+    });
+
+    // 鐩戝惉宸ュ叿鏉�
+    table.on('toolbar(crnTiltRecord)', function(obj){
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch(obj.event){
+            case 'manualRecord':
+                manualRecord();
+                break;
+            case 'exportData':
+                exportData();
+                break;
+        }
+    });
+
+    // 鐩戝惉琛屽伐鍏蜂簨浠�
+    table.on('tool(crnTiltRecord)', function(obj){
+        var data = obj.data;
+        switch(obj.event){
+            case 'detail':
+                showDetail(data);
+                break;
+        }
+    });
+
+    // 鎼滅储
+    form.on('submit(search)', function(data){
+        pageCurr = 1;
+        tableReload(false);
+        return false;
+    });
+
+    // 閲嶇疆锛堝畬鍏ㄥ鐢ㄦ湀缁撶鐞嗙殑閲嶇疆閫昏緫锛�
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        // 鎵嬪姩娓呯┖鏃ユ湡鑼冨洿閫夋嫨鍣�
+        $('#recordTime').val('');
+        // 鏄惧紡娓呯┖琛ㄦ牸閰嶇疆涓殑 where 鍙傛暟
+        if (tableIns && tableIns.config) {
+            tableIns.config.where = {};
+        }
+        // 浣跨敤 setTimeout 纭繚琛ㄥ崟鍊艰瀹屽叏娓呯┖鍚庡啀閲嶆柊鍔犺浇琛ㄦ牸
+        setTimeout(function() {
+            tableReload(false);
+        }, 0);
+        return false;
+    });
+
+    // tableReload 鍑芥暟锛堝畬鍏ㄥ鐢ㄦ湀缁撶鐞嗙殑閫昏緫锛�
+    function tableReload(child) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            var value = this.value;
+            // 鍙鐞嗛潪绌哄��
+            if (value && value.trim() !== '') {
+                searchData[this.name] = value;
+            }
+        });
+
+        // 鑾峰彇 table 瀹炰緥
+        var tableInstance = child ? parent.tableIns : tableIns;
+        
+        // 濡傛灉 searchData 涓虹┖瀵硅薄锛岄渶瑕佹樉寮忎紶鍏ヨ鐩栨墍鏈夊彲鑳藉弬鏁扮殑瀵硅薄
+        // 鍥犱负 layui table 鍙兘浼氬悎骞舵棫鐨勫弬鏁帮紝鍗充娇浼犲叆绌哄璞′篃鍙兘淇濈暀鏃у��
+        if (Object.keys(searchData).length === 0) {
+            if (tableInstance && tableInstance.config) {
+                // 鍏堜繚瀛樻棫鐨� where 涓彲鑳藉瓨鍦ㄧ殑鎵�鏈夐敭
+                var oldWhereKeys = [];
+                if (tableInstance.config.where) {
+                    for (var key in tableInstance.config.where) {
+                        if (tableInstance.config.where.hasOwnProperty(key)) {
+                            oldWhereKeys.push(key);
+                        }
+                    }
+                }
+                
+                // 瀹屽叏鏇挎崲 where 瀵硅薄
+                tableInstance.config.where = {};
+                
+                // 濡傛灉涔嬪墠鏈夊弬鏁帮紝鍒涘缓涓�涓槑纭鐩栫殑瀵硅薄锛屽皢鎵�鏈夋棫鍙傛暟璁剧疆涓虹┖瀛楃涓�
+                // 浣跨敤绌哄瓧绗︿覆鑰屼笉鏄� null锛屽洜涓� layui 鍙兘浼氳繃婊� null 鍊�
+                if (oldWhereKeys.length > 0) {
+                    var overrideWhere = {};
+                    oldWhereKeys.forEach(function(key) {
+                        overrideWhere[key] = ''; // 璁剧疆涓虹┖瀛楃涓叉潵瑕嗙洊鏃у��
+                    });
+                    searchData = overrideWhere;
+                } else {
+                    // 鍗充娇娌℃湁鏃у弬鏁帮紝涔熷垱寤轰竴涓寘鍚墍鏈夊彲鑳藉弬鏁扮殑绌哄璞�
+                    // 杩欐牱鍙互纭繚瑕嗙洊浠讳綍鍙兘鐨勬棫鍙傛暟
+                    searchData = {
+                        crnNo: '',
+                        recordTime: ''
+                    };
+                }
+            }
+        }
+        
+        // 鏋勫缓 reload 鍙傛暟
+        var reloadOptions = {
+            where: searchData,
+            page: {
+                curr: pageCurr
+            },
+            done: function (res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr = curr;
+                if (res.data.length === 0 && count !== 0) {
+                    var reloadTableInstance = child ? parent.tableIns : tableIns;
+                    // 濡傛灉 searchData 涓虹┖锛屼篃瀹屽叏鏇挎崲 where 瀵硅薄
+                    if (Object.keys(searchData).length === 0 && reloadTableInstance && reloadTableInstance.config) {
+                        reloadTableInstance.config.where = {};
+                    }
+                    reloadTableInstance.reload({
+                        where: searchData,
+                        page: {
+                            curr: pageCurr-1
+                        }
+                    });
+                    pageCurr -= 1;
+                }
+            }
+        };
+        
+        tableInstance.reload(reloadOptions);
+    }
+
+    // 鏄剧ず璇︽儏
+    function showDetail(data) {
+        var content = '<div style="padding: 20px;">' +
+            '<table class="layui-table" lay-skin="line">' +
+            '<tr><td style="width: 150px;">ID锛�</td><td>' + (data.id || '-') + '</td></tr>' +
+            '<tr><td>鍫嗗灈鏈虹紪鍙凤細</td><td>' + (data.crnNo || '-') + '</td></tr>' +
+            '<tr><td>鍊炬枩搴﹀�硷細</td><td>' + (data.tiltValue != null ? data.tiltValue.toFixed(4) + '掳' : '-') + '</td></tr>' +
+            '<tr><td>X鏂瑰悜鍊炬枩搴︼細</td><td>' + (data.tiltX != null ? data.tiltX.toFixed(4) + '掳' : '-') + '</td></tr>' +
+            '<tr><td>Y鏂瑰悜鍊炬枩搴︼細</td><td>' + (data.tiltY != null ? data.tiltY.toFixed(4) + '掳' : '-') + '</td></tr>' +
+            // '<tr><td>Z鏂瑰悜鍊炬枩搴︼細</td><td>' + (data.tiltZ != null ? data.tiltZ.toFixed(4) + '掳' : '-') + '</td></tr>' +
+            '<tr><td>涓婃鍊炬枩搴︼細</td><td>' + (data.prevTiltValue != null ? data.prevTiltValue.toFixed(4) + '掳' : '-') + '</td></tr>' +
+            '<tr><td>鍙樺寲閲忥細</td><td>' + (data.tiltChange != null ? data.tiltChange.toFixed(4) + '掳' : '-') + '</td></tr>' +
+            '<tr><td>璁板綍鏃堕棿锛�</td><td>' + (data.recordTime$ || '-') + '</td></tr>' +
+            '<tr><td>璁板綍绫诲瀷锛�</td><td>' + (data.recordType$ || '-') + '</td></tr>' +
+            '</table>' +
+            '</div>';
+        
+        layer.open({
+            type: 1,
+            title: '鍊炬枩搴﹁褰曡鎯�',
+            area: ['600px', '500px'],
+            content: content,
+            btn: ['鍏抽棴'],
+            yes: function(index) {
+                layer.close(index);
+            }
+        });
+    }
+
+    // 鎵嬪姩瑙﹀彂璁板綍
+    function manualRecord() {
+        layer.confirm('纭畾瑕佹墜鍔ㄨЕ鍙戝�炬枩搴﹁褰曞悧锛�', {
+            icon: 3,
+            title: '鎻愮ず'
+        }, function(index) {
+            layer.close(index);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl + '/crn/tiltRecord/manual',
+                type: 'POST',
+                headers: {token: localStorage.getItem('token')},
+                data: {},
+                success: function(res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200) {
+                        layer.msg('鎵嬪姩瑙﹀彂璁板綍鎴愬姛', {icon: 1});
+                        tableIns.reload();
+                    } else {
+                        layer.msg(res.msg || '鎵嬪姩瑙﹀彂澶辫触', {icon: 2});
+                    }
+                },
+                error: function() {
+                    layer.close(loadIndex);
+                    layer.msg('璇锋眰澶辫触', {icon: 2});
+                }
+            });
+        });
+    }
+
+    // 瀵煎嚭鏁版嵁
+    function exportData() {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            if (this.value) {
+                searchData[this.name] = this.value;
+            }
+        });
+        
+        var params = [];
+        for (var key in searchData) {
+            params.push(key + '=' + encodeURIComponent(searchData[key]));
+        }
+        var url = baseUrl + '/crnTiltRecord/export/auth?' + params.join('&');
+        window.open(url);
+    }
+});

--
Gitblit v1.9.1