whyczyk
2020-10-28 64b7d07f3c3901ed9bb377b5f4a2f554df5c16c9
前台提交内容
2个文件已添加
12个文件已修改
602 ■■■■■ 已修改文件
package-lock.json 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/login-img.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/excel/Blob.js 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/excel/Export2Excel.js 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ContentBox.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/HdwBadgeBtn.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/PageHeader.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ProcessState.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/HomeList.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/alarmMager/batteryrTimequery.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/HomeList.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/index.vue 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json
@@ -2255,6 +2255,15 @@
      "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=",
      "dev": true
    },
    "adler-32": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
      "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
      "requires": {
        "exit-on-epipe": "~1.0.1",
        "printj": "~1.1.0"
      }
    },
    "aggregate-error": {
      "version": "3.0.1",
      "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz?cache=0&sync_timestamp=1570167911603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.0.1.tgz",
@@ -3281,6 +3290,16 @@
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
      "dev": true
    },
    "cfb": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz",
      "integrity": "sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==",
      "requires": {
        "adler-32": "~1.2.0",
        "crc-32": "~1.2.0",
        "printj": "~1.1.2"
      }
    },
    "chalk": {
      "version": "2.4.2",
      "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
@@ -3572,6 +3591,22 @@
        "@types/q": "^1.5.1",
        "chalk": "^2.4.1",
        "q": "^1.1.2"
      }
    },
    "codepage": {
      "version": "1.14.0",
      "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
      "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=",
      "requires": {
        "commander": "~2.14.1",
        "exit-on-epipe": "~1.0.1"
      },
      "dependencies": {
        "commander": {
          "version": "2.14.1",
          "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
          "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
        }
      }
    },
    "collection-visit": {
@@ -3953,6 +3988,15 @@
            "json-parse-better-errors": "^1.0.1"
          }
        }
      }
    },
    "crc-32": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
      "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
      "requires": {
        "exit-on-epipe": "~1.0.1",
        "printj": "~1.1.0"
      }
    },
    "create-ecdh": {
@@ -5218,6 +5262,11 @@
        "strip-eof": "^1.0.0"
      }
    },
    "exit-on-epipe": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
      "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw=="
    },
    "expand-brackets": {
      "version": "2.1.4",
      "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
@@ -5536,6 +5585,11 @@
        "schema-utils": "^2.5.0"
      }
    },
    "file-saver": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz",
      "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw=="
    },
    "file-uri-to-path": {
      "version": "1.0.0",
      "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz",
@@ -5695,6 +5749,11 @@
      "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
      "dev": true
    },
    "frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
    },
    "fragment-cache": {
      "version": "0.2.1",
@@ -9085,6 +9144,11 @@
        "utila": "~0.4"
      }
    },
    "printj": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
      "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ=="
    },
    "process": {
      "version": "0.11.10",
      "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
@@ -10270,6 +10334,14 @@
      "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz",
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
      "dev": true
    },
    "ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "requires": {
        "frac": "~1.1.2"
      }
    },
    "sshpk": {
      "version": "1.16.1",
@@ -11951,6 +12023,16 @@
      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
      "dev": true
    },
    "wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
    },
    "word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
    },
    "word-wrap": {
      "version": "1.2.3",
      "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
@@ -12033,6 +12115,29 @@
        "async-limiter": "~1.0.0"
      }
    },
    "xlsx": {
      "version": "0.16.8",
      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.8.tgz",
      "integrity": "sha512-qWub4YCn0xLEGHI7WWhk6IJ73MDu7sPSJQImxN6/LiI8wsHi0hUhICEDbyqBT+jgFgORZxrii0HvhNSwBNAPoQ==",
      "requires": {
        "adler-32": "~1.2.0",
        "cfb": "^1.1.4",
        "codepage": "~1.14.0",
        "commander": "~2.17.1",
        "crc-32": "~1.2.0",
        "exit-on-epipe": "~1.0.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      },
      "dependencies": {
        "commander": {
          "version": "2.17.1",
          "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
          "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
        }
      }
    },
    "xtend": {
      "version": "4.0.2",
      "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz",
package.json
@@ -12,6 +12,7 @@
    "core-js": "^3.6.5",
    "echarts": "^4.8.0",
    "element-ui": "^2.13.2",
    "file-saver": "^2.0.2",
    "inmap": "^2.3.3",
    "js-md5": "^0.7.3",
    "moment": "^2.27.0",
@@ -21,7 +22,8 @@
    "vue-layer": "^1.2.0",
    "vue-router": "^3.4.3",
    "vuejs-progress-bar": "^1.2.2",
    "vuex": "^3.5.1"
    "vuex": "^3.5.1",
    "xlsx": "^0.16.8"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^4.5.0",
src/assets/images/login-img.png

src/assets/js/excel/Blob.js
New file
@@ -0,0 +1,204 @@
/* eslint-disable */
/* Blob.js*/
/*global self, unescape */
/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,
  plusplus: true */
/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */
(function(view) {
    "use strict";
    view.URL = view.URL || view.webkitURL;
    if (view.Blob && view.URL) {
        try {
            new Blob;
            return;
        } catch (e) {}
    }
    // Internally we use a BlobBuilder implementation to base Blob off of
    // in order to support older browsers that only have BlobBuilder
    var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) {
        var
            get_class = function(object) {
                return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];
            },
            FakeBlobBuilder = function BlobBuilder() {
                this.data = [];
            },
            FakeBlob = function Blob(data, type, encoding) {
                this.data = data;
                this.size = data.length;
                this.type = type;
                this.encoding = encoding;
            },
            FBB_proto = FakeBlobBuilder.prototype,
            FB_proto = FakeBlob.prototype,
            FileReaderSync = view.FileReaderSync,
            FileException = function(type) {
                this.code = this[this.name = type];
            },
            file_ex_codes = (
                "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " +
                "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR"
            ).split(" "),
            file_ex_code = file_ex_codes.length,
            real_URL = view.URL || view.webkitURL || view,
            real_create_object_URL = real_URL.createObjectURL,
            real_revoke_object_URL = real_URL.revokeObjectURL,
            URL = real_URL,
            btoa = view.btoa,
            atob = view.atob
            ,
            ArrayBuffer = view.ArrayBuffer,
            Uint8Array = view.Uint8Array
            ,
            origin = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;
        FakeBlob.fake = FB_proto.fake = true;
        while (file_ex_code--) {
            FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;
        }
        // Polyfill URL
        if (!real_URL.createObjectURL) {
            URL = view.URL = function(uri) {
                var
                    uri_info = document.createElementNS("http://www.w3.org/1999/xhtml", "a"),
                    uri_origin;
                uri_info.href = uri;
                if (!("origin" in uri_info)) {
                    if (uri_info.protocol.toLowerCase() === "data:") {
                        uri_info.origin = null;
                    } else {
                        uri_origin = uri.match(origin);
                        uri_info.origin = uri_origin && uri_origin[1];
                    }
                }
                return uri_info;
            };
        }
        URL.createObjectURL = function(blob) {
            var
                type = blob.type,
                data_URI_header;
            if (type === null) {
                type = "application/octet-stream";
            }
            if (blob instanceof FakeBlob) {
                data_URI_header = "data:" + type;
                if (blob.encoding === "base64") {
                    return data_URI_header + ";base64," + blob.data;
                } else if (blob.encoding === "URI") {
                    return data_URI_header + "," + decodeURIComponent(blob.data);
                }
                if (btoa) {
                    return data_URI_header + ";base64," + btoa(blob.data);
                } else {
                    return data_URI_header + "," + encodeURIComponent(blob.data);
                }
            } else if (real_create_object_URL) {
                return real_create_object_URL.call(real_URL, blob);
            }
        };
        URL.revokeObjectURL = function(object_URL) {
            if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) {
                real_revoke_object_URL.call(real_URL, object_URL);
            }
        };
        FBB_proto.append = function(data /*, endings*/ ) {
            var bb = this.data;
            // decode data to a binary string
            if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) {
                var
                    str = "",
                    buf = new Uint8Array(data),
                    i = 0,
                    buf_len = buf.length;
                for (; i < buf_len; i++) {
                    str += String.fromCharCode(buf[i]);
                }
                bb.push(str);
            } else if (get_class(data) === "Blob" || get_class(data) === "File") {
                if (FileReaderSync) {
                    var fr = new FileReaderSync;
                    bb.push(fr.readAsBinaryString(data));
                } else {
                    // async FileReader won't work as BlobBuilder is sync
                    throw new FileException("NOT_READABLE_ERR");
                }
            } else if (data instanceof FakeBlob) {
                if (data.encoding === "base64" && atob) {
                    bb.push(atob(data.data));
                } else if (data.encoding === "URI") {
                    bb.push(decodeURIComponent(data.data));
                } else if (data.encoding === "raw") {
                    bb.push(data.data);
                }
            } else {
                if (typeof data !== "string") {
                    data += ""; // convert unsupported types to strings
                }
                // decode UTF-16 to binary string
                bb.push(unescape(encodeURIComponent(data)));
            }
        };
        FBB_proto.getBlob = function(type) {
            if (!arguments.length) {
                type = null;
            }
            return new FakeBlob(this.data.join(""), type, "raw");
        };
        FBB_proto.toString = function() {
            return "[object BlobBuilder]";
        };
        FB_proto.slice = function(start, end, type) {
            var args = arguments.length;
            if (args < 3) {
                type = null;
            }
            return new FakeBlob(
                this.data.slice(start, args > 1 ? end : this.data.length), type, this.encoding
            );
        };
        FB_proto.toString = function() {
            return "[object Blob]";
        };
        FB_proto.close = function() {
            this.size = 0;
            delete this.data;
        };
        return FakeBlobBuilder;
    }(view));
    view.Blob = function(blobParts, options) {
        var type = options ? (options.type || "") : "";
        var builder = new BlobBuilder();
        if (blobParts) {
            for (var i = 0, len = blobParts.length; i < len; i++) {
                if (Uint8Array && blobParts[i] instanceof Uint8Array) {
                    builder.append(blobParts[i].buffer);
                } else {
                    builder.append(blobParts[i]);
                }
            }
        }
        var blob = builder.getBlob(type);
        if (!blob.slice && blob.webkitSlice) {
            blob.slice = blob.webkitSlice;
        }
        return blob;
    };
    var getPrototypeOf = Object.getPrototypeOf || function(object) {
        return object.__proto__;
    };
    view.Blob.prototype = getPrototypeOf(new view.Blob());
}(
    typeof self !== "undefined" && self ||
    typeof window !== "undefined" && window ||
    this
));
src/assets/js/excel/Export2Excel.js
New file
@@ -0,0 +1,179 @@
/* eslint-disable */
import FileSaver from 'file-saver'
import Blob from './Blob.js'
import XLSX from 'xlsx'
function generateArray(table) {
    var out = [];
    var rows = table.querySelectorAll('tr');
    var ranges = [];
    for (var R = 0; R < rows.length; ++R) {
        var outRow = [];
        var row = rows[R];
        var columns = row.querySelectorAll('td');
        for (var C = 0; C < columns.length; ++C) {
            var cell = columns[C];
            var colspan = cell.getAttribute('colspan');
            var rowspan = cell.getAttribute('rowspan');
            var cellValue = cell.innerText;
            if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;
            //Skip ranges
            ranges.forEach(function(range) {
                if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {
                    for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);
                }
            });
            //Handle Row Span
            if (rowspan || colspan) {
                rowspan = rowspan || 1;
                colspan = colspan || 1;
                ranges.push({
                    s: {
                        r: R,
                        c: outRow.length
                    },
                    e: {
                        r: R + rowspan - 1,
                        c: outRow.length + colspan - 1
                    }
                });
            };
            //Handle Value
            outRow.push(cellValue !== "" ? cellValue : null);
            //Handle Colspan
            if (colspan)
                for (var k = 0; k < colspan - 1; ++k) outRow.push(null);
        }
        out.push(outRow);
    }
    return [out, ranges];
};
function datenum(v, date1904) {
    if (date1904) v += 1462;
    var epoch = Date.parse(v);
    return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
}
function sheet_from_array_of_arrays(data, opts) {
    var ws = {};
    var range = {
        s: {
            c: 10000000,
            r: 10000000
        },
        e: {
            c: 0,
            r: 0
        }
    };
    for (var R = 0; R != data.length; ++R) {
        for (var C = 0; C != data[R].length; ++C) {
            if (range.s.r > R) range.s.r = R;
            if (range.s.c > C) range.s.c = C;
            if (range.e.r < R) range.e.r = R;
            if (range.e.c < C) range.e.c = C;
            var cell = {
                v: data[R][C]
            };
            if (cell.v == null) continue;
            var cell_ref = XLSX.utils.encode_cell({
                c: C,
                r: R
            });
            if (typeof cell.v === 'number') cell.t = 'n';
            else if (typeof cell.v === 'boolean') cell.t = 'b';
            else if (cell.v instanceof Date) {
                cell.t = 'n';
                cell.z = XLSX.SSF._table[14];
                cell.v = datenum(cell.v);
            } else cell.t = 's';
            ws[cell_ref] = cell;
        }
    }
    if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
    return ws;
}
function Workbook() {
    if (!(this instanceof Workbook)) return new Workbook();
    this.SheetNames = [];
    this.Sheets = {};
}
function s2ab(s) {
    var buf = new ArrayBuffer(s.length);
    var view = new Uint8Array(buf);
    for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
    return buf;
}
export function export_table_to_excel(id) {
    var theTable = document.getElementById(id);
    console.log('a')
    var oo = generateArray(theTable);
    var ranges = oo[1];
    /* original data */
    var data = oo[0];
    var ws_name = "SheetJS";
    console.log(data);
    var wb = new Workbook(),
        ws = sheet_from_array_of_arrays(data);
    /* add ranges to worksheet */
    // ws['!cols'] = ['apple', 'banan'];
    ws['!merges'] = ranges;
    /* add worksheet to workbook */
    wb.SheetNames.push(ws_name);
    wb.Sheets[ws_name] = ws;
    var wbout = XLSX.write(wb, {
        bookType: 'xlsx',
        bookSST: false,
        type: 'binary'
    });
    saveAs(new Blob([s2ab(wbout)], {
        type: "application/octet-stream"
    }), "test.xlsx")
}
function formatJson(jsonData) {
    console.log(jsonData)
}
export function export_json_to_excel(th, jsonData, defaultTitle) {
    /* original data */
    var data = jsonData;
    data.unshift(th);
    var ws_name = "SheetJS";
    var wb = new Workbook(),
        ws = sheet_from_array_of_arrays(data);
    /* add worksheet to workbook */
    wb.SheetNames.push(ws_name);
    wb.Sheets[ws_name] = ws;
    var wbout = XLSX.write(wb, {
        bookType: 'xlsx',
        bookSST: false,
        type: 'binary'
    });
    var title = defaultTitle || '列表'
    saveAs(new Blob([s2ab(wbout)], {
        type: "application/octet-stream"
    }), title + ".xlsx")
}
src/components/ContentBox.vue
@@ -101,13 +101,13 @@
        margin-right: 4px;
        padding-left: 10px;
        border-radius: 4px;
        font-size: 14px;
        font-size: 20px;
        text-align: center;
        background-image: linear-gradient(to right, #0c3688, #042271);
        background-image: -ms-linear-gradient(to right, #0c3688, #042271);
        background-image: -webkit-linear-gradient(to right, #0c3688, #042271);
        background-image: -moz-linear-gradient(to right, #0c3688, #042271);
        line-height: 32px;
        line-height: 36px;
        font-weight: bold;
        color: #00feff;
    }
src/components/HdwBadgeBtn.vue
@@ -42,7 +42,7 @@
    background-color: #001260;
    border-radius: 2px;
    border: 1px solid #0090fd;
    color: #4ba1fa;
    color: #FFFFFF;
    align-items: center;
}
.hdw-badge-btn {
src/components/PageHeader.vue
@@ -104,7 +104,7 @@
                        backgroundColor: '#FFE329'
                    },
                    layout: {
                        height: 20,
                        height: 15,
                        width: 60,
                        verticalTextAlign: 70,
                        horizontalTextAlign: 35,
@@ -573,18 +573,20 @@
<style scoped>
    .page-header-container {
        height: 63px;
        height: 70px;
    }
    .page-header-content {
        height: 100%;
        overflow: hidden;
        padding-top: 5px;
        box-sizing: border-box;
    }
    .page-header-left {
        height: 100%;
        background: url(../assets/images/page-header-left-bg.png) 0 0 no-repeat;
        background-size: 150% 100%;
        background-size: 150% 94%;
        display: flex;
        align-items: center;
        padding-right: 130px;
@@ -598,13 +600,14 @@
    }
    .page-header-left span {
        font-size: 32px;
        font-size: 33px;
        color: #00FEFF;
        font-weight: bold;
        letter-spacing: 7px;
    }
    .page-header-left span.sys-version {
        font-size: 28px;
        font-size: 24px;
        margin-left: 4px;
        color: #00FEFF;
        font-weight: normal;
@@ -623,6 +626,7 @@
        padding-left: 18px;
        display: flex;
        align-items: center;
        margin-bottom: 6px;
    }
    .header-info-item {
@@ -688,4 +692,5 @@
        margin-left: 8px;
        vertical-align: middle;
    }
</style>
src/components/ProcessState.vue
@@ -48,8 +48,8 @@
        margin-right: 10px;
        vertical-align: top;
        cursor: pointer;
        width: 20px;
        height: 20px;
        width: 22px;
        height: 22px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
src/pages/HomeList.vue
@@ -1,5 +1,6 @@
<template>
    <content-box title="站点列表"
    titleLeft
    toggle
    @toggleChange="toggleChange" 
    style="width:320px">
src/pages/alarmMager/batteryrTimequery.vue
@@ -118,7 +118,7 @@
        </div>
        <!-- 表单 -->
        <div class="flex-page-content">
            <el-table stripe size="small" :data="table.datas" height="100%" class="tableCent">
            <el-table id="batteryrTimequeryTable" stripe size="small" :data="table.datas" height="100%" class="tableCent">
                <el-table-column v-for="header in table.headers" :key="header.prop" :prop="header.prop" :label="header.label"
                 :width="header.width" :min-width="header.minWidth" align="center"></el-table-column>
                <el-table-column label="确认告警" align="center" :width="80">
@@ -140,7 +140,7 @@
        <div class="flex-page-footer" slot="footer">
            <div class="el-pagination-btns">
                <el-button type="primary" round size="mini" icon="el-icon-search" @click="paramsAlram">查询</el-button>
                <el-button type="primary" round size="mini" icon="el-icon-wallet">导出</el-button>
                <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile">导出</el-button>
            </div>
            <el-pagination class="pagess" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryInfo.pagenum"
             :page-sizes="[10, 20, 30, 50, 100]" :page-size="queryInfo.pagesize" layout="total, sizes, prev, pager, next, jumper"
@@ -163,6 +163,10 @@
    import {
        Timeout,
    } from "../../assets/js/tools";
    // 引入导出表格
    import {
        export_json_to_excel
    } from '../../assets/js/excel/Export2Excel.js'
    export default {
        data() {
            return {
@@ -326,6 +330,10 @@
            this.startTimer(); /* 定时请求 */
        },
        methods: {
            // 导出表格
            exportFile() {
                export_json_to_excel(this.table.headers, this.table.datas);
            },
            /* 维护区 */
            async vindicateData() {
                const resType = await dataType();
src/pages/dataTest/HomeList.vue
@@ -1,5 +1,6 @@
<template>
    <content-box title="站点列表"
    titleLeft
    toggle
    @toggleChange="toggleChange" 
    style="width:320px"
src/pages/index.vue
@@ -1,8 +1,6 @@
<template>
    <flex-layout direction="row" class="page-index">
        <home-list
            slot="header"
            @leaf-click="leafClick"></home-list>
        <home-list slot="header" @leaf-click="leafClick"></home-list>
        <div class="map-container">
            <div class="map-content" id="allmap"></div>
            <div class="map-icon-details-wrapper">
@@ -405,15 +403,24 @@
                let pt = new BMap.Point(item.lng, item.lat);
                let mk = new BMap.Marker(pt);    // 定义marker点
                // 向mk点添加label
                var home_name = new BMap.Label(item.title, {offset: new BMap.Size(20, -10)});
                home_name.setStyle({display: 'none', padding: '4px 2px'});
                    var home_name = new BMap.Label(item.title, {
                        offset: new BMap.Size(20, -10)
                    });
                    home_name.setStyle({
                        display: 'none',
                        padding: '4px 2px'
                    });
                mk.setLabel(home_name);
                mk.addEventListener('mouseover', function (e) {
                    this.getLabel().setStyle({display: 'block'});
                        this.getLabel().setStyle({
                            display: 'block'
                        });
                });
                mk.addEventListener('mouseout', function (e) {
                    this.getLabel().setStyle({display: 'none'});
                        this.getLabel().setStyle({
                            display: 'none'
                        });
                });
                mk.addEventListener('click', function (e) {
                    var target = e.target;
@@ -469,7 +476,10 @@
        },
        // 查询告警落后的信息
        searchHomeNum(sId, dev_id, homeData) {
            searchHomeNum({StationId: sId, FBSDeviceId: dev_id}).then(res => {
                searchHomeNum({
                    StationId: sId,
                    FBSDeviceId: dev_id
                }).then(res => {
                let rs = JSON.parse(res.data.result);
                homeData.nums = rs;
                this.showMapPanel(homeData);
@@ -648,7 +658,6 @@
</script>
<style scoped lang="less">
.page-index {
    color: #ffffff;
}
@@ -658,6 +667,9 @@
    margin-left: 4px;
    box-sizing: border-box;
    height: 100%;
        border: 1px solid #143a92;
        border-radius: 8px;
        padding: 10px;
}
.map-content {
@@ -675,33 +687,44 @@
.pie-item {
    flex: 1;
}
.map-icon-details-wrapper {
    position: absolute;
    bottom: 8px;
    right: 8px;
        bottom: 16px;
        right: 20px;
    z-index: 99;
    background-color: #FFFFFF;
    color: #000000;
        background-color: #052272;
        color: #00ffff;
}
.map-icon-details-title {
    padding: 2px 8px;
        padding: 6px 12px;
    font-size: 14px;
    color: #FFFFFF;
    background-image: linear-gradient(#00A5EC, #078cc4, #00A5EC);
        background: #0b388b;
    font-weight: bold;
        color: #00ffff;
}
    .map-icon-details-content {
        padding: 10px 12px;
    }
.map-icon-item {
    padding: 2px 8px;
        padding: 4px 8px;
}
.map-icon-item .item-wrapper {
    display: inline-block;
}
.item-wrapper.icon-wrapper img {
    width: 30px;
    height: auto;
    vertical-align: middle;
    margin-right: 4px;
        margin-right: 8px;
}
.item-wrapper.text-wrapper {
    font-size: 12px;
}
src/pages/login.vue
@@ -119,16 +119,16 @@
        .logo{
            display: flex;
            align-items: center;
            font-size: 36px;
            font-size: 48px;
            color: #007fe1;
            font-weight: bold;
            .logoImg{
                height: 38px;
                margin-right: 20px;
                height: 40px;
                margin-right: 14px;
            }
        }
        .picImg{
            width: 600px;
            width: 580px;
            margin-top: 12vh;
        }
    }
@@ -198,12 +198,12 @@
        color: #007fe1;
    }
    
    @media screen and (max-width: 1366px) {
    @media screen and (max-width: 1680px) {
        .sliderCon .logo{
            font-size: 30px;
            font-size: 40px;
        }
        .sliderCon .picImg{
            width: 440px;
            width: 480px;
        }
        .login_box{
            width: 400px;