ca746846ca41b7de7c239f4fd0294b19.json 47 KB

1
  1. {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/sum/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/sum/index.vue","mtime":1708395041889},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js","mtime":1708395147257},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js","mtime":1708395147382}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gImVjaGFydHMiOw0KaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gInZ1ZXgiOw0KDQppbXBvcnQgew0KICBnZXRCYXNpY2RhdGEsDQogIGFsYXJtVHlwZVN0YXRpc3RpYywNCiAgYWxhcm1Nb250aFN0YXRpc3RpYywNCiAgZXhwb3J0RGF0YVN0YXRpc3RpY01vbnRoLA0KICBhbGFybVR5cGVBcmVhQ291bnQsDQogIGFsYXJtVHlwZUFyZWFDb3VudEV4cG9ydA0KfSBmcm9tICJAL2FwaS9zdW0iOw0KaW1wb3J0IHsgZ2V0TGluZVdheUxpc3QgfSBmcm9tICdAL2FwaS9hY2NvdW50L2NhbWVyYScNCmltcG9ydCByYW5raW5nRGlhbG9nIGZyb20gIi4vY29tcG9uZW50cy9yYW5raW5nRGlhbG9nLnZ1ZSI7DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJob21lIiwNCiAgY29tcHV0ZWQ6IHsNCiAgICAuLi5tYXBHZXR0ZXJzKFsibmFtZSJdKSwNCiAgfSwNCiAgY29tcG9uZW50czogew0KICAgIHJhbmtpbmdEaWFsb2cNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgcGFyYW1zOiB7DQogICAgICAgIHJhaWx3YXlDb2RlOiAnJywNCiAgICAgICAgY3VycmVudFllYXI6ICcnLA0KICAgICAgICBjdXJyZW50TW9udGg6ICcnDQogICAgICB9LA0KICAgICAgdGltZTogJycsDQogICAgICBiYXNpY0RhdGE6IHsNCiAgICAgICAgdmVoaWNsZU51bTogbnVsbCwNCiAgICAgICAgdGVybWluYWxOdW06IG51bGwsDQogICAgICAgIGFsYXJtTnVtOiBudWxsLA0KICAgICAgICBjYW1lcmFOdW06IG51bGwNCiAgICAgIH0sDQogICAgICBkaXNhc3RlclByb3BvcnRpb25EYXRhOiBbXSwNCiAgICAgIGRpc2Vhc2VOdW06MCwNCiAgICAgIG1vbnRoRGF0YTogW10sDQogICAgICBudW1EYXRhOiBbXSwNCiAgICAgIGdldEFsYXJtTW9uRGF0YTogW10sDQogICAgICBzdGFydE1vbnQ6IFsNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnMScsDQogICAgICAgICAgbGFiZWw6ICcx5pyIJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICcyJywNCiAgICAgICAgICBsYWJlbDogJzLmnIgnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB2YWx1ZTogJzMnLA0KICAgICAgICAgIGxhYmVsOiAnM+aciCcNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnNCcsDQogICAgICAgICAgbGFiZWw6ICc05pyIJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICc1JywNCiAgICAgICAgICBsYWJlbDogJzXmnIgnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB2YWx1ZTogJzYnLA0KICAgICAgICAgIGxhYmVsOiAnNuaciCcNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnNycsDQogICAgICAgICAgbGFiZWw6ICc35pyIJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICc4JywNCiAgICAgICAgICBsYWJlbDogJzjmnIgnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB2YWx1ZTogJzknLA0KICAgICAgICAgIGxhYmVsOiAnOeaciCcNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnMTAnLA0KICAgICAgICAgIGxhYmVsOiAnMTDmnIgnDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB2YWx1ZTogJzExJywNCiAgICAgICAgICBsYWJlbDogJzEx5pyIJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdmFsdWU6ICcxMicsDQogICAgICAgICAgbGFiZWw6ICcxMuaciCcNCiAgICAgICAgfQ0KICAgICAgXSwNCiAgICAgIGxpbmVXYXlEYXRhOiBbXSwNCiAgICAgIGN1c3RvbUNvbG9yOiAnIzY3OTFGRicsDQogICAgICBob21lRGlzYXN0ZXJMb2NhdGlvbkRhdGE6IFtdLA0KICAgICAgcmFua2luZ0RhdGE6IHsNCiAgICAgICAgZGlhbG9nVmlzaWJsZTogZmFsc2UsDQogICAgICB9DQogICAgfQ0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIHRoaXMuaW5pdERpc2FzdGVyUHJvcG9ydGlvbigpDQogICAgdGhpcy5nZXRBbGFybU1vbnRoRGF0YUxpc3QoKQ0KICAgIHRoaXMuYWxhcm1UeXBlQXJlYUNvdW50KCkNCiAgICB0aGlzLmdldExpbmVXYXlMaXN0KCkNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICBnZXRCYXNpY2RhdGEoKS50aGVuKHJlcyA9PiB7DQogICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7DQogICAgICAgIHRoaXMuYmFzaWNEYXRhLnZlaGljbGVOdW0gPSByZXMuZGF0YS52ZWhpY2xlTnVtDQogICAgICAgIHRoaXMuYmFzaWNEYXRhLnRlcm1pbmFsTnVtID0gcmVzLmRhdGEudGVybWluYWxOdW0NCiAgICAgICAgdGhpcy5iYXNpY0RhdGEuYWxhcm1OdW0gPSByZXMuZGF0YS5hbGFybU51bQ0KICAgICAgICB0aGlzLmJhc2ljRGF0YS5jYW1lcmFOdW0gPSByZXMuZGF0YS5jYW1lcmFOdW0NCiAgICAgIH0NCiAgICB9KQ0KICB9LA0KICBtZXRob2RzOiB7DQogICAgZXhwb3J0RGF0YVN0YXRpc3RpY01vbnRoKCkgew0KDQogICAgICBleHBvcnREYXRhU3RhdGlzdGljTW9udGgoJy9zZXJ2aWNlL2RhdGFTdGF0aXN0aWMvZXhwb3J0RGF0YVN0YXRpc3RpY01vbnRoJywgdGhpcy5wYXJhbXMpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgLy8gY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7IHR5cGU6ICd0ZXh0L3BsYWluO2NoYXJzZXQ9dXRmLTgnIH0pOw0KICAgICAgICAvLyBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsNCiAgICAgICAgLy8gY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsNCiAgICAgICAgLy8gYS5ocmVmID0gdXJsOw0KICAgICAgICAvLyBhLmRvd25sb2FkID0gJ+aKpeitpui2i+WKv+WIhuaekC54bHN4JzsNCiAgICAgICAgLy8gYS5jbGljaygpOw0KICAgICAgICAvLyB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpOw0KDQogICAgICAgIGlmIChyZXMudHlwZSA9PSAiYXBwbGljYXRpb24vanNvbiIpIHsNCiAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOyANCiAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChyZXMsICd1dGYtOCcpOyANCiAgICAgICAgICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgY29uc3QgbXNnID0gSlNPTi5wYXJzZShyZWFkZXIucmVzdWx0KTsNCiAgICAgICAgICAgIGlmKG1zZy5jb2RlID09IDIwMCl7DQogICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbcmVzXSwgeyB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JyB9KTsNCiAgICAgICAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7DQogICAgICAgICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgICAgICAgIGEuaHJlZiA9IHVybDsNCiAgICAgICAgICAgICAgYS5kb3dubG9hZCA9ICfmiqXorabotovlir/liIbmnpAueGxzeCc7DQogICAgICAgICAgICAgIGEuY2xpY2soKTsNCiAgICAgICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsNCiAgICAgICAgICAgIH0gZWxzZXsNCiAgICAgICAgICAgICAgTWVzc2FnZSh7DQogICAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywNCiAgICAgICAgICAgICAgICBtZXNzYWdlOiBtc2cubXNnDQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSAgICAgIA0KICAgICAgICAgIH0NCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7IHR5cGU6ICd0ZXh0L3BsYWluO2NoYXJzZXQ9dXRmLTgnIH0pOw0KICAgICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOw0KICAgICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgICAgYS5ocmVmID0gdXJsOw0KICAgICAgICAgIGEuZG93bmxvYWQgPSAn5oql6K2m6LaL5Yq/5YiG5p6QLnhsc3gnOw0KICAgICAgICAgIGEuY2xpY2soKTsNCiAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpOw0KICAgICAgICB9DQoNCg0KICAgICAgfSkNCg0KICAgIH0sDQogICAgYWxhcm1UeXBlQXJlYUNvdW50RXhwb3J0KCkgew0KDQoNCiAgICAgIGFsYXJtVHlwZUFyZWFDb3VudEV4cG9ydCgnL3NlcnZpY2UvZGF0YVN0YXRpc3RpYy9hbGFybVR5cGVBcmVhQ291bnRFeHBvcnQnLCB0aGlzLnBhcmFtcykudGhlbihyZXMgPT4gew0KDQogICAgICAgIC8vIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbcmVzXSwgeyB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JyB9KTsNCiAgICAgICAgLy8gY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7DQogICAgICAgIC8vIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgIC8vIGEuaHJlZiA9IHVybDsNCiAgICAgICAgLy8gYS5kb3dubG9hZCA9ICfmiqXorabpopHlj5HlnLDngrnmjpLlkI0ueGxzeCc7DQogICAgICAgIC8vIGEuY2xpY2soKTsNCiAgICAgICAgLy8gd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsNCg0KICAgICAgICBpZiAocmVzLnR5cGUgPT0gImFwcGxpY2F0aW9uL2pzb24iKSB7DQogICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsgDQogICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQocmVzLCAndXRmLTgnKTsgDQogICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UocmVhZGVyLnJlc3VsdCk7DQogICAgICAgICAgICBpZihtc2cuY29kZSA9PSAyMDApew0KICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3Jlc10sIHsgdHlwZTogJ3RleHQvcGxhaW47Y2hhcnNldD11dGYtOCcgfSk7DQogICAgICAgICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOw0KICAgICAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOw0KICAgICAgICAgICAgICBhLmhyZWYgPSB1cmw7DQogICAgICAgICAgICAgIGEuZG93bmxvYWQgPSAn5oql6K2m6aKR5Y+R5Zyw54K55o6S5ZCNLnhsc3gnOw0KICAgICAgICAgICAgICBhLmNsaWNrKCk7DQogICAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7DQogICAgICAgICAgICB9IGVsc2V7DQogICAgICAgICAgICAgIE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsDQogICAgICAgICAgICAgICAgbWVzc2FnZTogbXNnLm1zZw0KICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gICAgICANCiAgICAgICAgICB9DQogICAgICAgIH1lbHNlew0KICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbcmVzXSwgeyB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JyB9KTsNCiAgICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsNCiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOw0KICAgICAgICAgIGEuaHJlZiA9IHVybDsNCiAgICAgICAgICBhLmRvd25sb2FkID0gJ+aKpeitpumikeWPkeWcsOeCueaOkuWQjS54bHN4JzsNCiAgICAgICAgICBhLmNsaWNrKCk7DQogICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsNCiAgICAgICAgfQ0KDQogICAgICB9KQ0KDQoNCiAgICB9LA0KICAgIGluaXREaXNhc3RlclByb3BvcnRpb24oKSB7DQogICAgICB0aGlzLmRpc2FzdGVyUHJvcG9ydGlvbkRhdGEgPSBbXQ0KICAgICAgdGhpcy5kaXNlYXNlTnVtID0gMA0KICAgICAgYWxhcm1UeXBlU3RhdGlzdGljKHRoaXMucGFyYW1zKS50aGVuKHJlcyA9PiB7ICAgICAgICANCiAgICAgICAgaWYgKHJlcy5kYXRhKSB7DQogICAgICAgICAgcmVzLmRhdGEuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgICAgIHRoaXMuZGlzZWFzZU51bSArPSBpdGVtLmZyZXF1ZW5jeQ0KICAgICAgICAgICAgdGhpcy5kaXNhc3RlclByb3BvcnRpb25EYXRhLnB1c2goew0KICAgICAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQoaXRlbS5wZXJjZW50LnNsaWNlKDAsIC0xKSksDQogICAgICAgICAgICAgIG5hbWU6IGl0ZW0uYWxhcm1UeXBlVmFsdWUsDQogICAgICAgICAgICAgIGZyZXF1ZW5jeTogaXRlbS5mcmVxdWVuY3kNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgfSkNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLmRpc2FzdGVyUHJvcG9ydGlvbkRhdGEgPSBbXQ0KICAgICAgICAgIHRoaXMuZGlzZWFzZU51bSA9IDANCiAgICAgICAgfQ0KICAgICAgICBsZXQgZWNQaWUgPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsYXJtVHlwZVN0YXRpc3RpYycpKTsNCiAgICAgICAgbGV0IHBpZU9wdGlvbiA9IHsNCiAgICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nICwNCiAgICAgICAgICAgIGZvcm1hdHRlcjooaXRlbSkgPT4geyAgICAgICAgICAgICAgDQogICAgICAgICAgICAgIHJldHVybiBpdGVtLmRhdGEubmFtZSArICdccicgKyBpdGVtLmRhdGEudmFsdWUgKyAnJScgKyAnXHInICsgaXRlbS5kYXRhLmZyZXF1ZW5jeSArICfmrKEnDQogICAgICAgICAgICB9DQogICAgICAgICAgfSwNCiAgICAgICAgICBsZWdlbmQ6IHsNCiAgICAgICAgICAgIG9yaWVudDogJ3ZlcnRpY2FsJywNCiAgICAgICAgICAgIHRvcDogJzY1JScsDQogICAgICAgICAgICByaWdodDogJzQwJywgICAgICAgICAgICANCiAgICAgICAgICB9LA0KICAgICAgICAgIHNlcmllczogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICBuYW1lOiAn54G+5a6z5Y2g5q+UJywNCiAgICAgICAgICAgICAgdHlwZTogJ3BpZScsDQogICAgICAgICAgICAgIHJhZGl1czogWyc1NSUnLCAnNzAlJ10sDQogICAgICAgICAgICAgIGNlbnRlcjogWyIzNSUiLCAiNDUlIl0sDQogICAgICAgICAgICAgIGF2b2lkTGFiZWxPdmVybGFwOiBmYWxzZSwgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJywNCiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogKCkgPT4gew0KICAgICAgICAgICAgICAgICAgbGV0IHN0ciA9ICfmiqXorabmgLvmlbAnICsgJ1xuJyArIGAke3RoaXMuZGlzZWFzZU51bX1gDQogICAgICAgICAgICAgICAgICByZXR1cm4gc3RyDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQzFDMUMnLA0KICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDI1LA0KICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNiwNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgLy8gZW1waGFzaXM6IHsNCiAgICAgICAgICAgICAgLy8gICBsYWJlbDogew0KICAgICAgICAgICAgICAvLyAgICAgc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgLy8gICAgIGZvbnRTaXplOiA0MCwNCiAgICAgICAgICAgICAgLy8gICAgIGZvbnRXZWlnaHQ6ICdib2xkJw0KICAgICAgICAgICAgICAvLyAgIH0NCiAgICAgICAgICAgICAgLy8gfSwNCiAgICAgICAgICAgICAgbGFiZWxMaW5lOiB7DQogICAgICAgICAgICAgICAgc2hvdzogZmFsc2UNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgZGF0YTogdGhpcy5kaXNhc3RlclByb3BvcnRpb25EYXRhDQogICAgICAgICAgICB9DQogICAgICAgICAgXQ0KICAgICAgICB9DQogICAgICAgIGVjUGllLnNldE9wdGlvbihwaWVPcHRpb24pOw0KICAgICAgfSkNCg0KICAgIH0sDQogICAgZ2V0QWxhcm1Nb250aERhdGFMaXN0KCkgew0KICAgICAgdGhpcy5tb250aERhdGEgPSBbXQ0KICAgICAgdGhpcy5udW1EYXRhID0gW10NCiAgICAgIGFsYXJtTW9udGhTdGF0aXN0aWModGhpcy5wYXJhbXMpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgdGhpcy5nZXRBbGFybU1vbkRhdGEgPSByZXMuZGF0YQ0KICAgICAgICB0aGlzLmdldEFsYXJtTW9uRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgaWYgKGl0ZW0pIHsNCiAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtcy5jdXJyZW50TW9udGgpIHsNCiAgICAgICAgICAgICAgdGhpcy5tb250aERhdGEucHVzaChpdGVtLm1vbnRoc3RhICsgJ+aXpScpDQogICAgICAgICAgICAgIHRoaXMubnVtRGF0YS5wdXNoKGl0ZW0uZnJlcXVlbmN5KQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgdGhpcy5tb250aERhdGEucHVzaChpdGVtLm1vbnRoc3RhICsgJ+aciCcpDQogICAgICAgICAgICAgIHRoaXMubnVtRGF0YS5wdXNoKGl0ZW0uZnJlcXVlbmN5KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgdmFyIG15Q2hhcnQgPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VjaGFydEFuYWx5RGF0YScpKQ0KICAgICAgICAvLyDmjIflrprlm77ooajnmoTphY3nva7pobnlkozmlbDmja4NCiAgICAgICAgY29uc3Qgb3B0aW9uID0gew0KICAgICAgICAgIHRpdGxlOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgIHN1YnRleHQ6ICfmiqXorabmlbDvvIjmrKHvvIknLA0KICAgICAgICAgICAgICBsZWZ0OiAyNSwgLy8g6Led56a75bem6L655L2N572uDQogICAgICAgICAgICAgIHRvcDogMjAsIC8vIOi3neemu+S4iumdouS9jee9rg0KICAgICAgICAgICAgICBzdWJ0ZXh0U3R5bGU6IHsNCiAgICAgICAgICAgICAgICAvLyDorr7nva7kuoznuqfmoIfpopjnmoTmoLflvI8NCiAgICAgICAgICAgICAgICBjb2xvcjogJyMwMDAnDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICBdLA0KICAgICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICAgIHRyaWdnZXI6ICdheGlzJw0KICAgICAgICAgIH0sDQogICAgICAgICAgbGVnZW5kOiB7DQogICAgICAgICAgICAvLyBkYXRhOiBbIuiuoeWIkuaVsOmHjyJdLA0KICAgICAgICAgICAgcmlnaHQ6ICc2MCcsDQogICAgICAgICAgICB0ZXh0U3R5bGU6IHsNCiAgICAgICAgICAgICAgZm9udFNpemU6IDEwLCAvLyDlrZfkvZPlpKflsI8NCiAgICAgICAgICAgICAgY29sb3I6ICcjMDAwJyAvLyDlrZfkvZPpopzoibINCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9LA0KICAgICAgICAgIHhBeGlzOiB7DQogICAgICAgICAgICBkYXRhOiB0aGlzLm1vbnRoRGF0YSwNCiAgICAgICAgICAgIGF4aXNMaW5lOiB7DQogICAgICAgICAgICAgIC8vIHjovbTnur/nmoTpopzoibLku6Xlj4rlrr3luqYNCiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgbGluZVN0eWxlOiB7DQogICAgICAgICAgICAgICAgY29sb3I6ICcjMDAwJywNCiAgICAgICAgICAgICAgICB3aWR0aDogMCwNCiAgICAgICAgICAgICAgICB0eXBlOiAnZGFzaGVkJw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc0xhYmVsOiB7DQogICAgICAgICAgICAgIGludGVydmFsOiAwDQogICAgICAgICAgICAgIC8vIHJvdGF0ZTogMzUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9LA0KICAgICAgICAgIGFuaW1hdGlvbjogdHJ1ZSwNCiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogNTAwMCwNCiAgICAgICAgICB5QXhpczogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICBuYW1lOiAn5oql6K2m5pWw77yI5qyh77yJJywNCiAgICAgICAgICAgICAgbWluOiAwLA0KICAgICAgICAgICAgICBtYXg6IG51bGwsDQogICAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICAgIC8vIOWIhuWJsue6v+mFjee9rg0KICAgICAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICAgICAgbGluZVN0eWxlOiB7DQogICAgICAgICAgICAgICAgICB0eXBlOiAnbGluZScsDQogICAgICAgICAgICAgICAgICBjb2xvcjogJyNFQkVFRjUnDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICBheGlzTGFiZWw6IHsNCiAgICAgICAgICAgICAgICAvLyB56L205paH5a2X55qE6YWN572uDQogICAgICAgICAgICAgICAgdGV4dFN0eWxlOiB7DQogICAgICAgICAgICAgICAgICBjb2xvcjogJyMwMDAnIC8vIFnovbTlhoXlrrnmloflrZfpopzoibINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgIG1pbjogNDAsDQogICAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICAgIC8vIOWIhuWJsue6v+mFjee9rg0KICAgICAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICAgICAgbGluZVN0eWxlOiB7DQogICAgICAgICAgICAgICAgICB0eXBlOiAnZGFzaGVkJywNCiAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjgpJw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgYXhpc0xhYmVsOiB7DQogICAgICAgICAgICAgICAgLy8geei9tOaWh+Wtl+eahOmFjee9rg0KICAgICAgICAgICAgICAgIHRleHRTdHlsZTogew0KICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMDAwJyAvLyBZ6L205YaF5a655paH5a2X6aKc6ImyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgXSwNCiAgICAgICAgICB0aXRsZTogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAvLyB0aXRsZeS4uuagh+mimOmDqOWIhu+8jOacieS4gOe6p+agh+mimHRleHTvvIzkuoznuqfmoIfpophzdWJ0ZXh044CC6L+Z6YeM5oiR5Lus5L2/55So5LqM57qn5qCH6aKY77yM5YaN5L+u5pS55LiA5LiL6L+Z5Liq5LqM57qn5qCH6aKY55qE5L2N572u5Y2z5Y+v5Ye6546w5oiR5Lus5oOz6KaB55qE5pWI5p6c5LqG77yM5b2T54S25qC35byP5Lmf5Y+v5Lul6YCa6L+HdGl0bGUuc3VidGV4dFN0eWxl5Y676YWN572uDQogICAgICAgICAgICAgIHN1YnRleHQ6ICfljZXkvY3vvIjkuIfku7bvvIknLA0KICAgICAgICAgICAgICBsZWZ0OiAtNSwgLy8g6Led56a75bem6L655L2N572uDQogICAgICAgICAgICAgIHRvcDogMjAsIC8vIOi3neemu+S4iumdouS9jee9rg0KICAgICAgICAgICAgICBzdWJ0ZXh0U3R5bGU6IHsNCiAgICAgICAgICAgICAgICAvLyDorr7nva7kuoznuqfmoIfpopjnmoTmoLflvI8NCiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC43KScNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgLy8gdGl0bGXkuLrmoIfpopjpg6jliIbvvIzmnInkuIDnuqfmoIfpoph0ZXh077yM5LqM57qn5qCH6aKYc3VidGV4dOOAgui/memHjOaIkeS7rOS9v+eUqOS6jOe6p+agh+mimO+8jOWGjeS/ruaUueS4gOS4i+i/meS4quS6jOe6p+agh+mimOeahOS9jee9ruWNs+WPr+WHuueOsOaIkeS7rOaDs+imgeeahOaViOaenOS6hu+8jOW9k+eEtuagt+W8j+S5n+WPr+S7pemAmui/h3RpdGxlLnN1YnRleHRTdHlsZeWOu+mFjee9rg0KICAgICAgICAgICAgICBzdWJ0ZXh0OiAn5Y2V5L2N77yI5LiH5Lu277yJJywNCiAgICAgICAgICAgICAgcmlnaHQ6IC01LCAvLyDot53nprvlt6bovrnkvY3nva4NCiAgICAgICAgICAgICAgdG9wOiAyMCwgLy8g6Led56a75LiK6Z2i5L2N572uDQogICAgICAgICAgICAgIHN1YnRleHRTdHlsZTogew0KICAgICAgICAgICAgICAgIC8vIOiuvue9ruS6jOe6p+agh+mimOeahOagt+W8jw0KICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjcpJw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgXSwNCiAgICAgICAgICBzZXJpZXM6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgdHlwZTogJ2JhcicsIC8vIOW9oueKtuS4uuafseeKtuWbvg0KICAgICAgICAgICAgICAvLyBuYW1lOiAn6K6h5YiS5pWw6YePJywNCiAgICAgICAgICAgICAgLy8geUF4aXNJbmRleDoxLA0KICAgICAgICAgICAgICBkYXRhOiB0aGlzLm51bURhdGEsDQogICAgICAgICAgICAgIGJhcldpZHRoOiAyMCwNCiAgICAgICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICAgICAgLy8NCiAgICAgICAgICAgICAgICBub3JtYWw6IHsNCiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzI4NjZERCcNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICBdDQogICAgICAgIH0NCiAgICAgICAgLy8g5L2/55So5Yia5oyH5a6a55qE6YWN572u6aG55ZKM5pWw5o2u5pi+56S65Zu+6KGo44CCDQogICAgICAgIG15Q2hhcnQuc2V0T3B0aW9uKG9wdGlvbikNCiAgICAgIH0pDQogICAgfSwNCiAgICBnZXRMaW5lV2F5TGlzdCgpIHsNCiAgICAgIGdldExpbmVXYXlMaXN0KHt9KS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5saW5lV2F5RGF0YSA9IHJlcy5kYXRhDQogICAgICB9KQ0KICAgIH0sDQogICAgc2VhcmNoRGF0YSgpIHsNCiAgICAgIHRoaXMuaW5pdERpc2FzdGVyUHJvcG9ydGlvbigpDQogICAgICB0aGlzLmdldEFsYXJtTW9udGhEYXRhTGlzdCgpDQogICAgICB0aGlzLmFsYXJtVHlwZUFyZWFDb3VudCgpDQogICAgfSwNCiAgICByZXNldCgpIHsNCiAgICAgIHRoaXMucGFyYW1zID0gew0KICAgICAgICByYWlsd2F5Q29kZTogJycsDQogICAgICAgIGN1cnJlbnRZZWFyOiAnJywNCiAgICAgICAgY3VycmVudE1vbnRoOiAnJw0KICAgICAgfQ0KICAgICAgdGhpcy5pbml0RGlzYXN0ZXJQcm9wb3J0aW9uKCkNCiAgICAgIHRoaXMuZ2V0QWxhcm1Nb250aERhdGFMaXN0KCkNCiAgICAgIHRoaXMuYWxhcm1UeXBlQXJlYUNvdW50KCkNCiAgICB9LA0KICAgIGFsYXJtVHlwZUFyZWFDb3VudCgpIHsNCiAgICAgIHRoaXMuaG9tZURpc2FzdGVyTG9jYXRpb25EYXRhID0gW10NCiAgICAgIGFsYXJtVHlwZUFyZWFDb3VudCh7DQogICAgICAgIHBhZ2VOdW06IDEsDQogICAgICAgIHBhZ2VTaXplOiA1LA0KICAgICAgICByYWlsd2F5Q29kZTogdGhpcy5wYXJhbXMucmFpbHdheUNvZGUsDQogICAgICAgIGN1cnJlbnRZZWFyOiB0aGlzLnBhcmFtcy5jdXJyZW50WWVhciwNCiAgICAgICAgY3VycmVudE1vbnRoOiB0aGlzLnBhcmFtcy5jdXJyZW50TW9udGgNCiAgICAgIH0pLnRoZW4ocmVzID0+IHsNCiAgICAgICAgdGhpcy5ob21lRGlzYXN0ZXJMb2NhdGlvbkRhdGEgPSByZXMuZGF0YS5yZWNvcmRzDQogICAgICB9KQ0KICAgIH0sDQogICAgcGVyY2VudGFnZSh2YWwpIHsNCiAgICAgIHJldHVybiB2YWwgLyAodmFsICsgNSkgKiAxMDANCiAgICB9LA0KICAgIG1vcmUoKSB7DQogICAgICB0aGlzLnJhbmtpbmdEYXRhLmRpYWxvZ1Zpc2libGUgPSB0cnVlDQogICAgfQ0KICB9DQp9Ow0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/sum","sourcesContent":["<template>\r\n <div class=\"dashboard-container\">\r\n <div class=\"basicData\">\r\n <el-row :gutter=\"15\">\r\n <el-col :span=\"6\">\r\n <div class=\"grid-content\">\r\n <div class=\"sumName\">已加装机车(辆)</div>\r\n <div class=\"sunNum\" style=\"color: #2250C8;\">{{ this.basicData.vehicleNum }}</div>\r\n <img src=\"@/assets/编组 19.png\" width=\"66px\">\r\n </div>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <div class=\"grid-content\">\r\n <div class=\"sumName\">车载终端(台)</div>\r\n <div class=\"sunNum\" style=\"color: #FAD44A;\">{{ this.basicData.terminalNum }}</div>\r\n <img src=\"@/assets/编组 20.png\" width=\"66px\">\r\n </div>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <div class=\"grid-content\">\r\n <div class=\"sumName\">接入报警(条)</div>\r\n <div class=\"sunNum\" style=\"color: #F04762;\">{{ this.basicData.alarmNum }}</div>\r\n <img src=\"@/assets/编组 21.png\" width=\"66px\">\r\n </div>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <div class=\"grid-content\">\r\n <div class=\"sumName\">接入摄像机(台)</div>\r\n <div class=\"sunNum\" style=\"color: #04E14C;\">{{ this.basicData.cameraNum }}</div>\r\n <img src=\"@/assets/编组 22.png\" width=\"66px\">\r\n </div>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n <div class=\"chart-content\">\r\n <div class=\"searchc-ontent\">\r\n <el-select v-model=\"params.railwayCode\" placeholder=\"请选择线路\" style=\"width: 272px;\" clearable>\r\n <el-option v-for=\"item in lineWayData\" :key=\"item.railwayCode\" :label=\"item.railwayName\"\r\n :value=\"item.railwayCode\" />\r\n </el-select>\r\n <el-date-picker value-format=\"yyyy\" v-model=\"params.currentYear\" style=\"width: 272px;\" type=\"year\"\r\n placeholder=\"请选择年份\">\r\n </el-date-picker>\r\n <el-select style=\"width: 272px;\" v-model=\"params.currentMonth\" placeholder=\"请选择月份\" clearable>\r\n <el-option v-for=\"item in startMont\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\" />\r\n </el-select>\r\n <div class=\"search-btn\">\r\n <div class=\"search\" @click=\"searchData\">查询</div>\r\n <div class=\"reset\" @click=\"reset\">重置</div>\r\n </div>\r\n </div>\r\n <div class=\"diseaseAndDisaster\">\r\n <div class=\"s1\">\r\n <div class=\"topTitle\">\r\n <div style=\"width: 3px;height: 13px;background-color: #2250C8;display: inline-block;margin-right: 4px;\"></div>\r\n <span style=\"color: #1C1C1C;font-size: 16px;font-weight: 500;\">报警类型占比</span>\r\n </div>\r\n <div id=\"alarmTypeStatistic\" :style=\"{ width: '100%', height: '100%' }\"></div>\r\n </div>\r\n <div class=\"s2\"></div>\r\n <div class=\"s3\">\r\n <div class=\"topTitle\">\r\n <div style=\"width: 3px;height: 13px;background-color: #2250C8;display: inline-block;margin-right: 4px;\"></div>\r\n <span style=\"color: #1C1C1C;font-size: 16px;font-weight: 500;\">报警频发地点</span>\r\n <div class=\"exportData\" @click=\"alarmTypeAreaCountExport()\">导出数据</div>\r\n </div>\r\n <div style=\"width: 100%;height: 66px;\"></div>\r\n \r\n \r\n <div v-if=\"homeDisasterLocationData.length != 0\" v-for=\"(item, index) in homeDisasterLocationData\" class=\"ranking\">\r\n <div class=\"index\" v-if=\"index == 0 || index == 1 || index == 2\">\r\n {{ index + 1 }}\r\n </div>\r\n <div class=\"index1\" v-if=\"index == 3 || index == 4\">\r\n {{ index + 1 }}\r\n </div>\r\n <span>{{ item.railwayName }}</span>&nbsp;\r\n <span>{{ item.alarmMiles }}</span>\r\n <el-progress style=\"width: 55%;position: relative;left: 180px;top: -23px;\" :color=\"customColor\"\r\n :show-text=\"false\" :stroke-width=\"10\" :percentage=\"percentage(item.frequency)\"></el-progress>\r\n <span style=\"display: inline-block;float: right;position: relative;top: -45px;\">{{\r\n item.frequency + '次' }}</span>\r\n </div>\r\n <div @click=\"more\" class=\"moreStyle\" style=\"font-size: 12px;\r\n color: red;\r\n height: 20px;\r\n line-height: 20px;\r\n display: inline-block;\r\n position: absolute;\r\n right: 44px;\r\n bottom: 37px;\r\n cursor: pointer;\">\r\n 更多>\r\n </div>\r\n <div v-if=\"homeDisasterLocationData.length == 0\" style=\"text-align: center;\">\r\n <img src=\"@/assets/暂无数据.png\" style=\"text-align: center;\"/>\r\n </div>\r\n <rankingDialog v-if=\"rankingData.dialogVisible\" :rankingData=\"rankingData\" :nedData=\"params\"></rankingDialog>\r\n </div>\r\n </div>\r\n <div class=\"alarmStatistics\">\r\n <div class=\"topTitle\">\r\n <div style=\"width: 3px;height: 13px;background-color: #2250C8;display: inline-block;margin-right: 4px;\"></div>\r\n <span style=\"color: #1C1C1C;font-size: 16px;font-weight: 500;\">报警趋势分析</span>\r\n <div class=\"exportData\" @click=\"exportDataStatisticMonth()\">导出数据</div>\r\n </div>\r\n <div id=\"echartAnalyData\" style=\"width: 100%; height: 90%\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport * as echarts from \"echarts\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\nimport {\r\n getBasicdata,\r\n alarmTypeStatistic,\r\n alarmMonthStatistic,\r\n exportDataStatisticMonth,\r\n alarmTypeAreaCount,\r\n alarmTypeAreaCountExport\r\n} from \"@/api/sum\";\r\nimport { getLineWayList } from '@/api/account/camera'\r\nimport rankingDialog from \"./components/rankingDialog.vue\";\r\nexport default {\r\n name: \"home\",\r\n computed: {\r\n ...mapGetters([\"name\"]),\r\n },\r\n components: {\r\n rankingDialog\r\n },\r\n data() {\r\n return {\r\n params: {\r\n railwayCode: '',\r\n currentYear: '',\r\n currentMonth: ''\r\n },\r\n time: '',\r\n basicData: {\r\n vehicleNum: null,\r\n terminalNum: null,\r\n alarmNum: null,\r\n cameraNum: null\r\n },\r\n disasterProportionData: [],\r\n diseaseNum:0,\r\n monthData: [],\r\n numData: [],\r\n getAlarmMonData: [],\r\n startMont: [\r\n {\r\n value: '1',\r\n label: '1月'\r\n },\r\n {\r\n value: '2',\r\n label: '2月'\r\n },\r\n {\r\n value: '3',\r\n label: '3月'\r\n },\r\n {\r\n value: '4',\r\n label: '4月'\r\n },\r\n {\r\n value: '5',\r\n label: '5月'\r\n },\r\n {\r\n value: '6',\r\n label: '6月'\r\n },\r\n {\r\n value: '7',\r\n label: '7月'\r\n },\r\n {\r\n value: '8',\r\n label: '8月'\r\n },\r\n {\r\n value: '9',\r\n label: '9月'\r\n },\r\n {\r\n value: '10',\r\n label: '10月'\r\n },\r\n {\r\n value: '11',\r\n label: '11月'\r\n },\r\n {\r\n value: '12',\r\n label: '12月'\r\n }\r\n ],\r\n lineWayData: [],\r\n customColor: '#6791FF',\r\n homeDisasterLocationData: [],\r\n rankingData: {\r\n dialogVisible: false,\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.initDisasterProportion()\r\n this.getAlarmMonthDataList()\r\n this.alarmTypeAreaCount()\r\n this.getLineWayList()\r\n },\r\n created() {\r\n getBasicdata().then(res => {\r\n if (res.code == 200) {\r\n this.basicData.vehicleNum = res.data.vehicleNum\r\n this.basicData.terminalNum = res.data.terminalNum\r\n this.basicData.alarmNum = res.data.alarmNum\r\n this.basicData.cameraNum = res.data.cameraNum\r\n }\r\n })\r\n },\r\n methods: {\r\n exportDataStatisticMonth() {\r\n\r\n exportDataStatisticMonth('/service/dataStatistic/exportDataStatisticMonth', this.params).then(res => {\r\n // const blob = new Blob([res], { type: 'text/plain;charset=utf-8' });\r\n // const url = window.URL.createObjectURL(blob);\r\n // const a = document.createElement('a');\r\n // a.href = url;\r\n // a.download = '报警趋势分析.xlsx';\r\n // a.click();\r\n // window.URL.revokeObjectURL(url);\r\n\r\n if (res.type == \"application/json\") {\r\n const reader = new FileReader(); \r\n reader.readAsText(res, 'utf-8'); \r\n reader.onload = function () {\r\n const msg = JSON.parse(reader.result);\r\n if(msg.code == 200){\r\n const blob = new Blob([res], { type: 'text/plain;charset=utf-8' });\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = '报警趋势分析.xlsx';\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n } else{\r\n Message({\r\n type: 'error',\r\n message: msg.msg\r\n });\r\n } \r\n }\r\n }else{\r\n const blob = new Blob([res], { type: 'text/plain;charset=utf-8' });\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = '报警趋势分析.xlsx';\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n\r\n\r\n })\r\n\r\n },\r\n alarmTypeAreaCountExport() {\r\n\r\n\r\n alarmTypeAreaCountExport('/service/dataStatistic/alarmTypeAreaCountExport', this.params).then(res => {\r\n\r\n // const blob = new Blob([res], { type: 'text/plain;charset=utf-8' });\r\n // const url = window.URL.createObjectURL(blob);\r\n // const a = document.createElement('a');\r\n // a.href = url;\r\n // a.download = '报警频发地点排名.xlsx';\r\n // a.click();\r\n // window.URL.revokeObjectURL(url);\r\n\r\n if (res.type == \"application/json\") {\r\n const reader = new FileReader(); \r\n reader.readAsText(res, 'utf-8'); \r\n reader.onload = function () {\r\n const msg = JSON.parse(reader.result);\r\n if(msg.code == 200){\r\n const blob = new Blob([res], { type: 'text/plain;charset=utf-8' });\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = '报警频发地点排名.xlsx';\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n } else{\r\n Message({\r\n type: 'error',\r\n message: msg.msg\r\n });\r\n } \r\n }\r\n }else{\r\n const blob = new Blob([res], { type: 'text/plain;charset=utf-8' });\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = '报警频发地点排名.xlsx';\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n\r\n })\r\n\r\n\r\n },\r\n initDisasterProportion() {\r\n this.disasterProportionData = []\r\n this.diseaseNum = 0\r\n alarmTypeStatistic(this.params).then(res => { \r\n if (res.data) {\r\n res.data.forEach(item => {\r\n this.diseaseNum += item.frequency\r\n this.disasterProportionData.push({\r\n value: parseInt(item.percent.slice(0, -1)),\r\n name: item.alarmTypeValue,\r\n frequency: item.frequency\r\n })\r\n })\r\n } else {\r\n this.disasterProportionData = []\r\n this.diseaseNum = 0\r\n }\r\n let ecPie = echarts.init(document.getElementById('alarmTypeStatistic'));\r\n let pieOption = {\r\n tooltip: {\r\n show: true,\r\n trigger: 'item' ,\r\n formatter:(item) => { \r\n return item.data.name + '\\r' + item.data.value + '%' + '\\r' + item.data.frequency + '次'\r\n }\r\n },\r\n legend: {\r\n orient: 'vertical',\r\n top: '65%',\r\n right: '40', \r\n },\r\n series: [\r\n {\r\n name: '灾害占比',\r\n type: 'pie',\r\n radius: ['55%', '70%'],\r\n center: [\"35%\", \"45%\"],\r\n avoidLabelOverlap: false, \r\n label: {\r\n position: 'center',\r\n show: true,\r\n formatter: () => {\r\n let str = '报警总数' + '\\n' + `${this.diseaseNum}`\r\n return str\r\n },\r\n color: '#1C1C1C',\r\n lineHeight: 25,\r\n fontSize: 16,\r\n },\r\n // emphasis: {\r\n // label: {\r\n // show: true,\r\n // fontSize: 40,\r\n // fontWeight: 'bold'\r\n // }\r\n // },\r\n labelLine: {\r\n show: false\r\n },\r\n data: this.disasterProportionData\r\n }\r\n ]\r\n }\r\n ecPie.setOption(pieOption);\r\n })\r\n\r\n },\r\n getAlarmMonthDataList() {\r\n this.monthData = []\r\n this.numData = []\r\n alarmMonthStatistic(this.params).then(res => {\r\n this.getAlarmMonData = res.data\r\n this.getAlarmMonData.forEach((item) => {\r\n if (item) {\r\n if (this.params.currentMonth) {\r\n this.monthData.push(item.monthsta + '日')\r\n this.numData.push(item.frequency)\r\n } else {\r\n this.monthData.push(item.monthsta + '月')\r\n this.numData.push(item.frequency)\r\n }\r\n }\r\n })\r\n var myChart = echarts.init(document.getElementById('echartAnalyData'))\r\n // 指定图表的配置项和数据\r\n const option = {\r\n title: [\r\n {\r\n subtext: '报警数(次)',\r\n left: 25, // 距离左边位置\r\n top: 20, // 距离上面位置\r\n subtextStyle: {\r\n // 设置二级标题的样式\r\n color: '#000'\r\n }\r\n }\r\n ],\r\n tooltip: {\r\n trigger: 'axis'\r\n },\r\n legend: {\r\n // data: [\"计划数量\"],\r\n right: '60',\r\n textStyle: {\r\n fontSize: 10, // 字体大小\r\n color: '#000' // 字体颜色\r\n }\r\n },\r\n xAxis: {\r\n data: this.monthData,\r\n axisLine: {\r\n // x轴线的颜色以及宽度\r\n show: true,\r\n lineStyle: {\r\n color: '#000',\r\n width: 0,\r\n type: 'dashed'\r\n }\r\n },\r\n axisLabel: {\r\n interval: 0\r\n // rotate: 35\r\n }\r\n },\r\n animation: true,\r\n animationDuration: 5000,\r\n yAxis: [\r\n {\r\n name: '报警数(次)',\r\n min: 0,\r\n max: null,\r\n splitLine: {\r\n // 分割线配置\r\n show: true,\r\n lineStyle: {\r\n type: 'line',\r\n color: '#EBEEF5'\r\n }\r\n },\r\n axisLabel: {\r\n // y轴文字的配置\r\n textStyle: {\r\n color: '#000' // Y轴内容文字颜色\r\n }\r\n }\r\n },\r\n {\r\n min: 40,\r\n splitLine: {\r\n // 分割线配置\r\n show: true,\r\n lineStyle: {\r\n type: 'dashed',\r\n color: 'rgba(255,255,255,0.8)'\r\n }\r\n },\r\n axisLabel: {\r\n // y轴文字的配置\r\n textStyle: {\r\n color: '#000' // Y轴内容文字颜色\r\n }\r\n }\r\n }\r\n ],\r\n title: [\r\n {\r\n // title为标题部分,有一级标题text,二级标题subtext。这里我们使用二级标题,再修改一下这个二级标题的位置即可出现我们想要的效果了,当然样式也可以通过title.subtextStyle去配置\r\n subtext: '单位(万件)',\r\n left: -5, // 距离左边位置\r\n top: 20, // 距离上面位置\r\n subtextStyle: {\r\n // 设置二级标题的样式\r\n color: 'rgba(255,255,255,0.7)'\r\n }\r\n },\r\n {\r\n // title为标题部分,有一级标题text,二级标题subtext。这里我们使用二级标题,再修改一下这个二级标题的位置即可出现我们想要的效果了,当然样式也可以通过title.subtextStyle去配置\r\n subtext: '单位(万件)',\r\n right: -5, // 距离左边位置\r\n top: 20, // 距离上面位置\r\n subtextStyle: {\r\n // 设置二级标题的样式\r\n color: 'rgba(255,255,255,0.7)'\r\n }\r\n }\r\n ],\r\n series: [\r\n {\r\n type: 'bar', // 形状为柱状图\r\n // name: '计划数量',\r\n // yAxisIndex:1,\r\n data: this.numData,\r\n barWidth: 20,\r\n itemStyle: {\r\n //\r\n normal: {\r\n color: '#2866DD'\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n // 使用刚指定的配置项和数据显示图表。\r\n myChart.setOption(option)\r\n })\r\n },\r\n getLineWayList() {\r\n getLineWayList({}).then((res) => {\r\n this.lineWayData = res.data\r\n })\r\n },\r\n searchData() {\r\n this.initDisasterProportion()\r\n this.getAlarmMonthDataList()\r\n this.alarmTypeAreaCount()\r\n },\r\n reset() {\r\n this.params = {\r\n railwayCode: '',\r\n currentYear: '',\r\n currentMonth: ''\r\n }\r\n this.initDisasterProportion()\r\n this.getAlarmMonthDataList()\r\n this.alarmTypeAreaCount()\r\n },\r\n alarmTypeAreaCount() {\r\n this.homeDisasterLocationData = []\r\n alarmTypeAreaCount({\r\n pageNum: 1,\r\n pageSize: 5,\r\n railwayCode: this.params.railwayCode,\r\n currentYear: this.params.currentYear,\r\n currentMonth: this.params.currentMonth\r\n }).then(res => {\r\n this.homeDisasterLocationData = res.data.records\r\n })\r\n },\r\n percentage(val) {\r\n return val / (val + 5) * 100\r\n },\r\n more() {\r\n this.rankingData.dialogVisible = true\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.dashboard {\r\n &-container {\r\n margin: 30px;\r\n }\r\n\r\n &-text {\r\n font-size: 30px;\r\n line-height: 46px;\r\n }\r\n}\r\n\r\n.dashboard-container {\r\n .basicData {\r\n background-color: #F5F5F5;\r\n\r\n .grid-content {\r\n height: 116px;\r\n background-color: #fff;\r\n\r\n .sumName {\r\n position: relative;\r\n top: 16px;\r\n left: 21px;\r\n color: #272727;\r\n font-size: 16px;\r\n }\r\n\r\n .sunNum {\r\n position: relative;\r\n top: 27px;\r\n left: 21px;\r\n font-size: 24px;\r\n font-family: PingFangSC-Semibold, PingFang SC;\r\n font-weight: 600;\r\n }\r\n\r\n img {\r\n display: block;\r\n float: right;\r\n margin-right: 20px;\r\n margin-top: -20px;\r\n }\r\n }\r\n }\r\n\r\n .chart-content {\r\n padding: 0 15px 28px;\r\n margin-top: 10px;\r\n background-color: #fff;\r\n width: 100%;\r\n\r\n .searchc-ontent {\r\n background-color: #fff;\r\n height: 76px;\r\n width: 100%;\r\n // margin-left: 10px;\r\n display: flex;\r\n align-items: center;\r\n\r\n .el-input {\r\n margin-right: 20px;\r\n }\r\n\r\n .el-select {\r\n margin-right: 20px;\r\n }\r\n\r\n .search-btn {\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n // margin-left: 10px;\r\n\r\n div {\r\n // margin: 0 6px;\r\n display: inline-block;\r\n width: 80px;\r\n height: 40px;\r\n border-radius: 2px;\r\n font-size: 14px;\r\n line-height: 40px;\r\n text-align: center;\r\n }\r\n\r\n div:hover {\r\n cursor: pointer;\r\n }\r\n\r\n .search {\r\n // margin: 0 10px;\r\n background-color: #2766DD;\r\n color: #F7F8FB;\r\n }\r\n\r\n .search:hover {\r\n background-color: #4D85F4;\r\n }\r\n\r\n .reset {\r\n color: #333334;\r\n margin-left: 10px;\r\n border: 1px solid #D7D7D7;\r\n }\r\n\r\n .reset:hover {\r\n color: #1F9FFF;\r\n border: 1px solid #1F9FFF;\r\n }\r\n }\r\n }\r\n\r\n .diseaseAndDisaster {\r\n width: 100%;\r\n height: 484px;\r\n\r\n .s1 {\r\n height: 484px;\r\n width: 49.5%;\r\n float: left;\r\n box-shadow: 0 12px 48px 16px rgba(0, 0, 0, 0.03);\r\n\r\n .topTitle {\r\n width: 100%;\r\n height: 54px;\r\n padding: 23px 0 0 10px;\r\n border-bottom: 1px solid rgba(228, 228, 228, 1);\r\n }\r\n }\r\n\r\n .s2 {\r\n height: 484px;\r\n width: 1%;\r\n float: left;\r\n }\r\n\r\n .s3 {\r\n height: 484px;\r\n width: 49.5%;\r\n float: left;\r\n box-shadow: 0 12px 48px 16px rgba(0, 0, 0, 0.03);\r\n position: relative;\r\n\r\n .topTitle {\r\n width: 100%;\r\n height: 54px;\r\n padding: 23px 0 0 10px;\r\n border-bottom: 1px solid rgba(228, 228, 228, 1);\r\n\r\n .exportData {\r\n position: relative;\r\n top: -13px;\r\n margin-right: 20px;\r\n width: 98px;\r\n height: 34px;\r\n color: #fff;\r\n font-size: 14px;\r\n background-color: #2766DD;\r\n border-radius: 2px;\r\n text-align: center;\r\n line-height: 34px;\r\n float: right;\r\n cursor: pointer;\r\n }\r\n\r\n .exportData:hover {\r\n background-color: #4D85F4;\r\n }\r\n }\r\n\r\n .ranking {\r\n width: 80%;\r\n height: 55px;\r\n line-height: 35px;\r\n margin: 0 auto;\r\n font-size: 14px;\r\n\r\n .index {\r\n margin-right: 36px;\r\n display: inline-block;\r\n width: 28px;\r\n height: 16px;\r\n line-height: 16px;\r\n border-radius: 8px;\r\n background-color: #223E87;\r\n text-align: center;\r\n color: #fff;\r\n }\r\n\r\n .index1 {\r\n margin-right: 36px;\r\n display: inline-block;\r\n width: 28px;\r\n height: 16px;\r\n line-height: 16px;\r\n border-radius: 8px;\r\n background-color: #DDE7FF;\r\n text-align: center;\r\n color: #696969;\r\n }\r\n\r\n // .moreStyle{\r\n // font-size: 12px;\r\n // color: #2766DD;\r\n // cursor: pointer;\r\n // }\r\n }\r\n }\r\n }\r\n\r\n .alarmStatistics {\r\n width: 100%;\r\n height: 484px;\r\n margin-top: 15px;\r\n box-shadow: 0 12px 48px 16px rgba(0, 0, 0, 0.03);\r\n\r\n .topTitle {\r\n width: 100%;\r\n height: 54px;\r\n padding: 23px 0 0 10px;\r\n border-bottom: 1px solid rgba(228, 228, 228, 1);\r\n\r\n .exportData {\r\n position: relative;\r\n top: -13px;\r\n margin-right: 20px;\r\n width: 98px;\r\n height: 34px;\r\n color: #fff;\r\n font-size: 14px;\r\n background-color: #2766DD;\r\n border-radius: 2px;\r\n text-align: center;\r\n line-height: 34px;\r\n float: right;\r\n cursor: pointer;\r\n }\r\n\r\n .exportData:hover {\r\n background-color: #4D85F4;\r\n }\r\n }\r\n }\r\n\r\n }\r\n}\r\n</style>\r\n"]}]}