1 |
- {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/system/user/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/system/user/index.vue","mtime":1708395041892},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/babel.config.js","mtime":1708395041663},{"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:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiL1VzZXJzL2Nhb2dlL0Rlc2t0b3AvXHU1NzMwXHU4RDI4XHU3M0IwXHU1NzNBL1ZlaGljbGVNb25pdG9yLVdFQi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmRlbGV0ZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5oYXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLXNlYXJjaC1wYXJhbXMuc2l6ZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gJ3Z1ZXgnOwppbXBvcnQgeyBnZXRMaXN0IGFzIF9nZXRMaXN0LCBnZXREZXB0VHJlZSBhcyBfZ2V0RGVwdFRyZWUsIHVzZXJJbmZvcm1hdGlvbiwgZGVsVXNlciBhcyBfZGVsVXNlciwgYWRkVXNlciBhcyBfYWRkVXNlciwgdXBkYXRlVXNlciwgZ2V0RXhjZWwsIGV4cG9ydFVzZXJMaXN0LCBpbXBvcnRVc2VyLCBkaWN0aW9uYXJ5TGlzdCwgZGF0YVBlcm1pc3Npb24sIHJlc2V0UHdkIGFzIF9yZXNldFB3ZCB9IGZyb20gJ0AvYXBpL3N5c01hbmFnZSc7CmltcG9ydCBkZXRhaWxlRGlhbG9nIGZyb20gJy4vY29tcG9udGVucy9kZXRhaWxlRGlhbG9nLnZ1ZSc7CmltcG9ydCBhZGRVc2VyRGlhbG9nIGZyb20gJy4vY29tcG9udGVucy9hZGRVc2VyRGlhbG9nLnZ1ZSc7CmltcG9ydCB1cGRhdGVVc2VyRGlhbG9nIGZyb20gJy4vY29tcG9udGVucy91cGRhdGVVc2VyRGlhbG9nLnZ1ZSc7CmltcG9ydCBhdXRob3JpdHlEaWFsb2cgZnJvbSAnLi9jb21wb250ZW5zL2F1dGhvcml0eURpYWxvZy52dWUnOwppbXBvcnQgeyBpcyB9IGZyb20gJ0BiYWJlbC90eXBlcyc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnaG9tZScsCiAgY29tcHV0ZWQ6IF9vYmplY3RTcHJlYWQoe30sIG1hcEdldHRlcnMoWyduYW1lJ10pKSwKICBjb21wb25lbnRzOiB7CiAgICBkZXRhaWxlRGlhbG9nOiBkZXRhaWxlRGlhbG9nLAogICAgYWRkVXNlckRpYWxvZzogYWRkVXNlckRpYWxvZywKICAgIHVwZGF0ZVVzZXJEaWFsb2c6IHVwZGF0ZVVzZXJEaWFsb2csCiAgICBhdXRob3JpdHlEaWFsb2c6IGF1dGhvcml0eURpYWxvZwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0TGlzdCh0aGlzLmRhdGEpOwogICAgdGhpcy5nZXREZXB0VHJlZSgpOwogICAgdGhpcy5nZXRBbGxBdXRob3JpdHkoKTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICAvLyBsZXQgaGVpZ2h0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbGVmdFRyZWUnKSAgICAKICAgIC8vIHRoaXMubGVmdFRyZWVIZWlnaHQgPSBoZWlnaHRbMF0uY2xpZW50SGVpZ2h0CiAgICB2YXIgaGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDIwMCArICJweCI7CiAgICB0aGlzLnN0eWxlT2JqLmhlaWdodCA9IGhlaWdodDsKICB9LAogIHdhdGNoOiB7CiAgICBmaWx0ZXJUZXh0OiBmdW5jdGlvbiBmaWx0ZXJUZXh0KHZhbCkgewogICAgICB0aGlzLiRyZWZzLnRyZWUuZmlsdGVyKHZhbCk7CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbGVmdFRyZWVIZWlnaHQ6IDAsCiAgICAgIHN0eWxlT2JqOiB7CiAgICAgICAgaGVpZ2h0OiAnJwogICAgICB9LAogICAgICB1cGxvYWREaWFsb2c6IGZhbHNlLAogICAgICBmaWxlTGlzdDogW10sCiAgICAgIGF1dGhvcml0eURhdGE6IHsKICAgICAgICBkaWFsb2dWaXNpYmxlOiBmYWxzZSwKICAgICAgICBpZDogJycsCiAgICAgICAgZGljdFZhbHVlOiAnJywKICAgICAgICBkYXRhOiBbXQogICAgICB9LAogICAgICAvLyDlr7zlhaUKICAgICAgZGF0YUZvcm06IHsKICAgICAgICBuYW1lOiAiIiwKICAgICAgICBmaWxlOiBudWxsCiAgICAgIH0sCiAgICAgIGZpbHRlclRleHQ6ICcnLAogICAgICBkZWZhdWx0UHJvcHM6IHsKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJywKICAgICAgICBsYWJlbDogJ2xhYmVsJwogICAgICB9LAogICAgICB0YWJsZURhdGE6IFtdLAogICAgICBkYXRhOiB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgICAgbmlja05hbWU6ICcnLAogICAgICAgIHBob25lTnVtOiAnJywKICAgICAgICBzdGF0dXM6ICcnLAogICAgICAgIGRlcHRJZDogJycKICAgICAgfSwKICAgICAgdG90YWw6IDAsCiAgICAgIHRyZWVEYXRhOiBbXSwKICAgICAgc3RhdHVzT3B0aW9uczogW3sKICAgICAgICBsYWJlbDogJ+WQr+eUqCcsCiAgICAgICAgdmFsdWU6ICcxJwogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICflgZznlKgnLAogICAgICAgIHZhbHVlOiAnMicKICAgICAgfV0sCiAgICAgIGRldGFpbGVEYXRhOiB7CiAgICAgICAgZGlhbG9nVmlzaWJsZTogZmFsc2UsCiAgICAgICAgcmVtYXJrOiAnJywKICAgICAgICBkYXRhOiB7fQogICAgICB9LAogICAgICBhZGRVc2VyRGF0YTogewogICAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICAgIGRhdGE6IHt9CiAgICAgIH0sCiAgICAgIHVwZGF0ZVVzZXJEYXRhOiB7CiAgICAgICAgZGlhbG9nVmlzaWJsZTogZmFsc2UsCiAgICAgICAgZGF0YToge30sCiAgICAgICAgaXNFZGl0OiBudWxsCiAgICAgIH0sCiAgICAgIGRlbFVzZXJMaXN0OiAnJywKICAgICAgaWRzOiBbXQogICAgfTsKICB9LAogIG1ldGhvZHM6IHsKICAgIHJldHVyblJvbGVOYW1lczogZnVuY3Rpb24gcmV0dXJuUm9sZU5hbWVzKGFycikgewogICAgICB2YXIgcm9sZU5hbWVzID0gJyc7CiAgICAgIGFyci5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcm9sZU5hbWVzICs9IGl0ZW0gKyAnICc7CiAgICAgIH0pOwogICAgICByZXR1cm4gcm9sZU5hbWVzOwogICAgfSwKICAgIGltcG9ydExvYWRJbjogZnVuY3Rpb24gaW1wb3J0TG9hZEluKCkgewogICAgICB0aGlzLnVwbG9hZERpYWxvZyA9IHRydWU7CiAgICB9LAogICAgdXBsb2FkRmlsZUxpc3Q6IGZ1bmN0aW9uIHVwbG9hZEZpbGVMaXN0KGZpbGUpIHsKICAgICAgaWYgKGZpbGUuc3RhdHVzID09PSAncmVhZHknKSB7CiAgICAgICAgdGhpcy5maWxlTGlzdC5wdXNoKGZpbGUpOwogICAgICAgIGlmICh0aGlzLmZpbGVMaXN0Lmxlbmd0aCA+IDEpIHsKICAgICAgICAgIHRoaXMuZmlsZUxpc3Quc3BsaWNlKDAsIDEpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIC8v5LiL6L295qih5p2/CiAgICBkb3duRXhjZWw6IGZ1bmN0aW9uIGRvd25FeGNlbCgpIHsKICAgICAgZ2V0RXhjZWwoJy9zeXN0ZW0vdXNlci9kb3dubG9hRXhjZWwnKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7CiAgICAgICAgICB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JwogICAgICAgIH0pOwogICAgICAgIHZhciB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICBhLmhyZWYgPSB1cmw7CiAgICAgICAgYS5kb3dubG9hZCA9ICfmlrDlop7nlKjmiLfmqKHmnb8ueGxzeCc7CiAgICAgICAgYS5jbGljaygpOwogICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7CiAgICAgIH0pOwogICAgfSwKICAgIGZpbHRlck5vZGU6IGZ1bmN0aW9uIGZpbHRlck5vZGUodmFsdWUsIGRhdGEpIHsKICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHRydWU7CiAgICAgIHJldHVybiBkYXRhLmxhYmVsLmluZGV4T2YodmFsdWUpICE9PSAtMTsKICAgIH0sCiAgICBnZXRMaXN0OiBmdW5jdGlvbiBnZXRMaXN0KGRhdGEpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgX2dldExpc3QoZGF0YSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkgewogICAgICAgICAgX3RoaXMudGFibGVEYXRhID0gcmVzLmRhdGEucmVjb3JkczsKICAgICAgICAgIF90aGlzLnRvdGFsID0gcmVzLmRhdGEudG90YWw7CiAgICAgICAgICAvLyB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgICAvLyAgIGxldCBoZWlnaHRNc2cgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdyaWdodFRhYmxlJykKICAgICAgICAgIC8vICAgdGhpcy5zdHlsZU9iai5oZWlnaHQgPSBoZWlnaHRNc2dbMF0uY2xpZW50SGVpZ2h0ICsgJ3B4JwogICAgICAgICAgLy8gfSkKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICBtZXNzYWdlOiByZXMubXNnCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZU5vZGVDbGljazogZnVuY3Rpb24gaGFuZGxlTm9kZUNsaWNrKHYpIHsKICAgICAgdGhpcy5kYXRhLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmRhdGEuZGVwdElkID0gdi5pZDsKICAgICAgdGhpcy5nZXRMaXN0KHRoaXMuZGF0YSk7CiAgICB9LAogICAgZ2V0RGVwdFRyZWU6IGZ1bmN0aW9uIGdldERlcHRUcmVlKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgX2dldERlcHRUcmVlKCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMyLnRyZWVEYXRhID0gcmVzLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZVNpemVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNpemVDaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMuZGF0YS5wYWdlU2l6ZSA9IHZhbDsKICAgICAgdGhpcy5nZXRMaXN0KHRoaXMuZGF0YSk7CiAgICB9LAogICAgaGFuZGxlQ3VycmVudENoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ3VycmVudENoYW5nZSh2YWwpIHsKICAgICAgdGhpcy5kYXRhLnBhZ2VOdW0gPSB2YWw7CiAgICAgIHRoaXMuZ2V0TGlzdCh0aGlzLmRhdGEpOwogICAgfSwKICAgIHNlYXJjaFVzZXI6IGZ1bmN0aW9uIHNlYXJjaFVzZXIoKSB7CiAgICAgIHRoaXMuZGF0YS5kZXB0SWQgPSAnJzsKICAgICAgdGhpcy5nZXRMaXN0KHRoaXMuZGF0YSk7CiAgICB9LAogICAgLy/mn6XnnIvor6bmg4UKICAgIHZpZXdEZXRhaWxzOiBmdW5jdGlvbiB2aWV3RGV0YWlscyhzY29wZSkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdXNlckluZm9ybWF0aW9uKHNjb3BlLmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczMuZGV0YWlsZURhdGEuZGF0YSA9IHJlcy5kYXRhOwogICAgICAgIF90aGlzMy5kZXRhaWxlRGF0YS5yZW1hcmsgPSByZXMucm9sZXNbMF0ucmVtYXJrOwogICAgICB9KTsKICAgICAgdGhpcy5kZXRhaWxlRGF0YS5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICAvL+mHjee9rgogICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkgewogICAgICB0aGlzLmRhdGEgPSB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgICAgbmlja05hbWU6ICcnLAogICAgICAgIHBob25lTnVtOiAnJywKICAgICAgICBzdGF0dXM6ICcnLAogICAgICAgIGRlcHRJZDogJycKICAgICAgfTsKICAgICAgdGhpcy5nZXRMaXN0KHRoaXMuZGF0YSk7CiAgICB9LAogICAgLy/kv67mlLnnlKjmiLcKICAgIHVwZGF0ZVVzZXJCdG46IGZ1bmN0aW9uIHVwZGF0ZVVzZXJCdG4ocGF5bG9hZCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdmFyIHBhcmFtcyA9IHsKICAgICAgICBpZDogcGF5bG9hZC5pZCwKICAgICAgICB1c2VyTmFtZTogcGF5bG9hZC51c2VyTmFtZSwKICAgICAgICBwYXNzd29yZDogcGF5bG9hZC5wYXNzd29yZCwKICAgICAgICBuaWNrTmFtZTogcGF5bG9hZC5uaWNrTmFtZSwKICAgICAgICBzZXg6IHBheWxvYWQuc2V4LAogICAgICAgIGRlcHRJZDogcGF5bG9hZC5kZXB0SWQsCiAgICAgICAgcm9sZUlkczogcGF5bG9hZC5yb2xlSWRzLAogICAgICAgIHBob25lTnVtOiBwYXlsb2FkLnBob25lTnVtLAogICAgICAgIGVtYWlsOiBwYXlsb2FkLmVtYWlsLAogICAgICAgIHN0YXR1czogcGF5bG9hZC5zdGF0dXMgPyAxIDogMgogICAgICB9OwogICAgICB1cGRhdGVVc2VyKHBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkgewogICAgICAgICAgX3RoaXM0LiRtZXNzYWdlKHsKICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICBtZXNzYWdlOiAn5L+u5pS55oiQ5YqfIScKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXM0LmdldExpc3QoX3RoaXM0LmRhdGEpOwogICAgICAgICAgX3RoaXM0LnVwZGF0ZVVzZXJEYXRhLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM0LiRtZXNzYWdlKHsKICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywKICAgICAgICAgICAgbWVzc2FnZTogcmVzLm1zZwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBkZWxVc2VyOiBmdW5jdGlvbiBkZWxVc2VyKHNjb3BlKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCfnoa7lrpropoHliKDpmaTlkJc/JywgJ+S/oeaBr+aPkOekuicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF9kZWxVc2VyKHNjb3BlLmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsCiAgICAgICAgICAgICAgbWVzc2FnZTogJ+WIoOmZpOaIkOWKnyEnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgdG90YWxQYWdlID0gTWF0aC5jZWlsKChfdGhpczUudG90YWwgLSAxKSAvIF90aGlzNS5kYXRhLnBhZ2VTaXplKTsKICAgICAgICAgICAgdmFyIHBhZ2VOdW0gPSBfdGhpczUuZGF0YS5wYWdlTnVtID4gdG90YWxQYWdlID8gdG90YWxQYWdlIDogX3RoaXM1LmRhdGEucGFnZU51bTsKICAgICAgICAgICAgX3RoaXM1LmRhdGEucGFnZU51bSA9IHBhZ2VOdW0gPCAxID8gMSA6IHBhZ2VOdW07CiAgICAgICAgICAgIF90aGlzNS5nZXRMaXN0KF90aGlzNS5kYXRhKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIF90aGlzNS4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywKICAgICAgICAgICAgICBtZXNzYWdlOiByZXMubXNnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM1LiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdpbmZvJywKICAgICAgICAgIG1lc3NhZ2U6ICflt7Llj5bmtojliKDpmaQnCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8v5paw5aKe55So5oi35oyJ6ZKuCiAgICBhZGRVc2VyQnRuOiBmdW5jdGlvbiBhZGRVc2VyQnRuKCkgewogICAgICB0aGlzLmFkZFVzZXJEYXRhLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgfSwKICAgIHVwZGF0ZVVzZXI6IGZ1bmN0aW9uIHVwZGF0ZVVzZXIoc2NvcGUsIGlzRWRpdCkgewogICAgICB2YXIgbmV3U2NvcGUgPSBfb2JqZWN0U3ByZWFkKHt9LCBzY29wZSk7CiAgICAgIGlmIChuZXdTY29wZS5zdGF0dXMgPT0gMSkgewogICAgICAgIG5ld1Njb3BlLnN0YXR1cyA9IHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbmV3U2NvcGUuc3RhdHVzID0gZmFsc2U7CiAgICAgIH0KICAgICAgbmV3U2NvcGUuc2V4ID0gbmV3U2NvcGUuc2V4LnRvU3RyaW5nKCk7CiAgICAgIHRoaXMudXBkYXRlVXNlckRhdGEuaXNFZGl0ID0gIWlzRWRpdDsKICAgICAgdGhpcy51cGRhdGVVc2VyRGF0YS5kYXRhID0gbmV3U2NvcGU7CiAgICAgIHRoaXMudXBkYXRlVXNlckRhdGEuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgYWRkVXNlcjogZnVuY3Rpb24gYWRkVXNlcihwYXlsb2FkKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICBpZiAocGF5bG9hZC5zdGF0dXMpIHsKICAgICAgICBwYXlsb2FkLnN0YXR1cyA9IDE7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcGF5bG9hZC5zdGF0dXMgPSAyOwogICAgICB9CiAgICAgIF9hZGRVc2VyKHBheWxvYWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgIF90aGlzNi4kbWVzc2FnZSh7CiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgbWVzc2FnZTogJ+aWsOWinuaIkOWKn++8gScKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXM2LmFkZFVzZXJEYXRhLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTsKICAgICAgICAgIF90aGlzNi5nZXRMaXN0KF90aGlzNi5kYXRhKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM2LiRtZXNzYWdlKHsKICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywKICAgICAgICAgICAgbWVzc2FnZTogcmVzLm1zZwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7fSk7CiAgICB9LAogICAgLy/lpJrpgInnlKjmiLcKICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZTogZnVuY3Rpb24gaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHYpIHsKICAgICAgdmFyIGlkcyA9IFtdOwogICAgICB2YXIgZGVsVXNlckxpc3QgPSAnJzsKICAgICAgdi5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgZGVsVXNlckxpc3QgKz0gZWxlbWVudC5pZCArICcsJzsKICAgICAgICBpZHMucHVzaChlbGVtZW50LmlkKTsKICAgICAgfSk7CiAgICAgIHRoaXMuaWRzID0gaWRzOwogICAgICBkZWxVc2VyTGlzdCA9IGRlbFVzZXJMaXN0LnNsaWNlKDAsIGRlbFVzZXJMaXN0Lmxlbmd0aCAtIDEpOwogICAgICB0aGlzLmRlbFVzZXJMaXN0ID0gZGVsVXNlckxpc3Q7CiAgICB9LAogICAgLy/mibnph4/liKDpmaTnlKjmiLcKICAgIGJhdGNoRGVsVXNlcjogZnVuY3Rpb24gYmF0Y2hEZWxVc2VyKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgICAgaWYgKHRoaXMuZGVsVXNlckxpc3QubGVuZ3RoID09IDApIHsKICAgICAgICByZXR1cm4gdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeimgeWIoOmZpOeahOeUqOaItyEnCiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgdGhpcy4kY29uZmlybSgn56Gu5a6a6KaB5Yig6Zmk5ZCXPycsICfkv6Hmga/mj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfZGVsVXNlcihfdGhpczcuZGVsVXNlckxpc3QpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkgewogICAgICAgICAgICBfdGhpczcuJG1lc3NhZ2UoewogICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgICBtZXNzYWdlOiAn5Yig6Zmk5oiQ5YqfIScKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciB0b3RhbFBhZ2UgPSBNYXRoLmNlaWwoKF90aGlzNy50b3RhbCAtIDEpIC8gX3RoaXM3LmRhdGEucGFnZVNpemUpOwogICAgICAgICAgICB2YXIgcGFnZU51bSA9IF90aGlzNy5kYXRhLnBhZ2VOdW0gPiB0b3RhbFBhZ2UgPyB0b3RhbFBhZ2UgOiBfdGhpczcuZGF0YS5wYWdlTnVtOwogICAgICAgICAgICBfdGhpczcuZGF0YS5wYWdlTnVtID0gcGFnZU51bSA8IDEgPyAxIDogcGFnZU51bTsKICAgICAgICAgICAgX3RoaXM3LmdldExpc3QoX3RoaXM3LmRhdGEpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tc2cKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczcuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogJ2luZm8nLAogICAgICAgICAgbWVzc2FnZTogJ+W3suWPlua2iOWIoOmZpCcKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAogICAgLy/lr7zlh7rnlKjmiLcKICAgIGV4cG90clVzZXI6IGZ1bmN0aW9uIGV4cG90clVzZXIoKSB7CiAgICAgIGlmICh0aGlzLmlkcy5sZW5ndGggPT0gMCkgewogICAgICAgIHJldHVybiB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdlcnJvcicsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup6KaB5a+85Ye655qE55So5oi35L+h5oGvIScKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgcGFyYW1zID0gewogICAgICAgICAgbmlja05hbWU6IHRoaXMuZGF0YS5uaWNrTmFtZSwKICAgICAgICAgIHBob25lTnVtOiB0aGlzLmRhdGEucGhvbmVOdW0sCiAgICAgICAgICBzdGF0dXM6IHRoaXMuZGF0YS5zdGF0dXMsCiAgICAgICAgICBpZHM6IHRoaXMuaWRzCiAgICAgICAgfTsKICAgICAgICBleHBvcnRVc2VyTGlzdChwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgLy8gY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7IHR5cGU6ICd0ZXh0L3BsYWluO2NoYXJzZXQ9dXRmLTgnIH0pOwogICAgICAgICAgLy8gY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICAvLyBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICAgICAgLy8gYS5ocmVmID0gdXJsOwogICAgICAgICAgLy8gYS5kb3dubG9hZCA9ICfnlKjmiLfkv6Hmga8ueGxzeCc7CiAgICAgICAgICAvLyBhLmNsaWNrKCk7CiAgICAgICAgICAvLyB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpOwoKICAgICAgICAgIGlmIChyZXMudHlwZSA9PSAiYXBwbGljYXRpb24vanNvbiIpIHsKICAgICAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KHJlcywgJ3V0Zi04Jyk7CiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgdmFyIG1zZyA9IEpTT04ucGFyc2UocmVhZGVyLnJlc3VsdCk7CiAgICAgICAgICAgICAgaWYgKG1zZy5jb2RlID09IDIwMCkgewogICAgICAgICAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbcmVzXSwgewogICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgICAgIGEuaHJlZiA9IHVybDsKICAgICAgICAgICAgICAgIGEuZG93bmxvYWQgPSAn55So5oi35L+h5oGvLnhsc3gnOwogICAgICAgICAgICAgICAgYS5jbGljaygpOwogICAgICAgICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgTWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG1zZy5tc2cKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW3Jlc10sIHsKICAgICAgICAgICAgICB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwogICAgICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgYS5ocmVmID0gdXJsOwogICAgICAgICAgICBhLmRvd25sb2FkID0gJ+eUqOaIt+S/oeaBry54bHN4JzsKICAgICAgICAgICAgYS5jbGljaygpOwogICAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgLy8g5Yik5pat5paH5Lu25Liq5pWwCiAgICBoYW5kbGVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShmaWxlLCBmaWxlTGlzdCkgewogICAgICBpZiAoZmlsZUxpc3QubGVuZ3RoID49IDIpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKGZpbGVMaXN0Lmxlbmd0aCA9PT0gMSkgewogICAgICAgIHRoaXMuaGFzRmlsZSA9IHRydWU7CiAgICAgIH0KICAgICAgdGhpcy5kYXRhRm9ybS5maWxlID0gZmlsZTsKICAgIH0sCiAgICAvLyDlr7zlhaUKICAgIGh0dHBSZXF1ZXN0OiBmdW5jdGlvbiBodHRwUmVxdWVzdChwYXJhbSkgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKICAgICAgdmFyIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7CiAgICAgIC8vIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIHRoaXMuZGF0YUZvcm0uZmlsZS5yYXcpOwogICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCB0aGlzLmZpbGVMaXN0WzBdLnJhdyk7CiAgICAgIHZhciBjb25maWdIZWFkZXJzID0gewogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICJDb250ZW50LVR5cGUiOiAibXVsdGlwYXJ0L2Zvcm0tZGF0YSIKICAgICAgICB9CiAgICAgIH07CiAgICAgIHZhciBpc0h0dHBSZXF1ZXN0ID0gdGhpcy5maWxlTGlzdFswXS5yYXcubmFtZS5zcGxpdCgnLicpOwogICAgICBpZiAoaXNIdHRwUmVxdWVzdFtpc0h0dHBSZXF1ZXN0Lmxlbmd0aCAtIDFdID09ICd4bHN4JyB8fCBpc0h0dHBSZXF1ZXN0W2lzSHR0cFJlcXVlc3QubGVuZ3RoIC0gMV0gPT0gJ3hscycpIHsKICAgICAgICBpbXBvcnRVc2VyKGZvcm1EYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgICAgX3RoaXM4LiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsCiAgICAgICAgICAgICAgbWVzc2FnZTogJ+WvvOWFpeaIkOWKnyEnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgdWlkID0gX3RoaXM4LmZpbGVMaXN0WzBdLnJhdy51aWQ7CiAgICAgICAgICAgIHZhciBpZHggPSBfdGhpczguJHJlZnMudXBsb2FkRmlsZS51cGxvYWRGaWxlcy5maW5kSW5kZXgoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICByZXR1cm4gaXRlbS51aWQgPT09IHVpZDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIF90aGlzOC4kcmVmcy51cGxvYWRGaWxlLnVwbG9hZEZpbGVzLnNwbGljZShpZHgsIDEpOwogICAgICAgICAgICBfdGhpczguZ2V0TGlzdChfdGhpczguZGF0YSk7CiAgICAgICAgICAgIF90aGlzOC51cGxvYWREaWFsb2cgPSBmYWxzZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIF90aGlzOC4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywKICAgICAgICAgICAgICBtZXNzYWdlOiByZXMubXNnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogJ2Vycm9yJywKICAgICAgICAgIG1lc3NhZ2U6ICfkuIrkvKDnmoTmlofku7blj6rog73mmK94bHPku6Xlj4p4bHN45qC85byPIScKICAgICAgICB9KTsKICAgICAgICB2YXIgdWlkID0gdGhpcy5maWxlTGlzdFswXS5yYXcudWlkOwogICAgICAgIHZhciBpZHggPSB0aGlzLiRyZWZzLnVwbG9hZEZpbGUudXBsb2FkRmlsZXMuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICByZXR1cm4gaXRlbS51aWQgPT09IHVpZDsKICAgICAgICB9KTsKICAgICAgICB0aGlzLiRyZWZzLnVwbG9hZEZpbGUudXBsb2FkRmlsZXMuc3BsaWNlKGlkeCwgMSk7CiAgICAgIH0KICAgIH0sCiAgICAvL+iOt+WPluWFqOmDqOadg+mZkOS/oeaBrwogICAgZ2V0QWxsQXV0aG9yaXR5OiBmdW5jdGlvbiBnZXRBbGxBdXRob3JpdHkoKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgICBkaWN0aW9uYXJ5TGlzdCgnZGF0YV9wZXJtaXNzaW9uJykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkgewogICAgICAgICAgX3RoaXM5LmF1dGhvcml0eURhdGEuZGF0YSA9IHJlcy5kYXRhOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgYXV0aG9yaXR5QnRuOiBmdW5jdGlvbiBhdXRob3JpdHlCdG4oc2NvcGUpIHsKICAgICAgdGhpcy5hdXRob3JpdHlEYXRhLmRpY3RWYWx1ZSA9IHNjb3BlLmRhdGFQZXJtaXNzaW9uLnRvU3RyaW5nKCk7CiAgICAgIHRoaXMuYXV0aG9yaXR5RGF0YS5pZCA9IHNjb3BlLmlkOwogICAgICB0aGlzLmF1dGhvcml0eURhdGEuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgdXBkYXRlQXV0aG9yaXR5OiBmdW5jdGlvbiB1cGRhdGVBdXRob3JpdHkocGF5bG9hZCkgewogICAgICB2YXIgX3RoaXMxMCA9IHRoaXM7CiAgICAgIGRhdGFQZXJtaXNzaW9uKHBheWxvYWQuaWQsIHBheWxvYWQuZGF0YVBlcm1pc3Npb24pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgIF90aGlzMTAuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsCiAgICAgICAgICAgIG1lc3NhZ2U6ICfkv67mlLnmiJDlip8hJwogICAgICAgICAgfSk7CiAgICAgICAgICBfdGhpczEwLmdldExpc3QoX3RoaXMxMC5kYXRhKTsKICAgICAgICAgIF90aGlzMTAuYXV0aG9yaXR5RGF0YS5kaWFsb2dWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICByZXNldFB3ZDogZnVuY3Rpb24gcmVzZXRQd2Qocm93KSB7CiAgICAgIHZhciBfdGhpczExID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgn5piv5ZCm6YeN572u5a+G56CBPycsICfkv6Hmga/mj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfcmVzZXRQd2Qocm93LmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgICAgX3RoaXMxMS5nZXRMaXN0KF90aGlzMTEuZGF0YSk7CiAgICAgICAgICAgIF90aGlzMTEuJG1lc3NhZ2UoewogICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgICBtZXNzYWdlOiAn6YeN572u5oiQ5YqfIScKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfdGhpczExLiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tc2cKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczExLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICdpbmZvJywKICAgICAgICAgIG1lc3NhZ2U6ICflt7Llj5bmtojvvIEnCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0KfTs="},{"version":3,"names":["mapGetters","getList","getDeptTree","userInformation","delUser","addUser","updateUser","getExcel","exportUserList","importUser","dictionaryList","dataPermission","resetPwd","detaileDialog","addUserDialog","updateUserDialog","authorityDialog","is","name","computed","_objectSpread","components","created","data","getAllAuthority","mounted","height","document","documentElement","clientHeight","styleObj","watch","filterText","val","$refs","tree","filter","leftTreeHeight","uploadDialog","fileList","authorityData","dialogVisible","id","dictValue","dataForm","file","defaultProps","children","label","tableData","pageNum","pageSize","nickName","phoneNum","status","deptId","total","treeData","statusOptions","value","detaileData","remark","addUserData","updateUserData","isEdit","delUserList","ids","methods","returnRoleNames","arr","roleNames","forEach","item","importLoadIn","uploadFileList","push","length","splice","downExcel","then","res","blob","Blob","type","url","window","URL","createObjectURL","a","createElement","href","download","click","revokeObjectURL","filterNode","indexOf","_this","code","records","$message","message","msg","handleNodeClick","v","_this2","handleSizeChange","handleCurrentChange","searchUser","viewDetails","scope","_this3","roles","reset","updateUserBtn","payload","_this4","params","userName","password","sex","roleIds","email","_this5","$confirm","confirmButtonText","cancelButtonText","totalPage","Math","ceil","catch","addUserBtn","newScope","toString","_this6","err","handleSelectionChange","element","slice","batchDelUser","_this7","expotrUser","reader","FileReader","readAsText","onload","JSON","parse","result","Message","handleChange","hasFile","httpRequest","param","_this8","formData","FormData","append","raw","configHeaders","headers","isHttpRequest","split","uid","idx","uploadFile","uploadFiles","findIndex","_this9","authorityBtn","updateAuthority","_this10","row","_this11"],"sources":["src/views/system/user/index.vue"],"sourcesContent":["<template>\r\n <div class=\"dashboard-container\">\r\n <div class=\"search-content\">\r\n <el-input style=\"width: 220px;\" placeholder=\"请输入姓名\" v-model=\"data.nickName\" clearable></el-input>\r\n <el-input style=\"width: 220px;\" placeholder=\"请输入电话号码\" v-model=\"data.phoneNum\" clearable></el-input>\r\n <el-select style=\"width: 220px;\" v-model=\"data.status\" clearable placeholder=\"请选择状态\">\r\n <el-option v-for=\"item in statusOptions\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\">\r\n </el-option>\r\n </el-select>\r\n <div class=\"search-btn\">\r\n <div class=\"search\" @click=\"searchUser\">查询</div>\r\n <div class=\"reset\" @click=\"reset()\">重置</div>\r\n </div>\r\n </div>\r\n <div class=\"table-content\">\r\n <div class=\"leftTree\" :style=\"styleObj\">\r\n <el-input placeholder=\"请输入部门\" v-model=\"filterText\">\r\n </el-input>\r\n <el-tree class=\"filter-tree\" :data=\"treeData\" :props=\"defaultProps\" default-expand-all\r\n @node-click=\"handleNodeClick\" :filter-node-method=\"filterNode\" ref=\"tree\">\r\n </el-tree>\r\n </div>\r\n <div class=\"rightTable\">\r\n <div class=\"btn\" @click=\"addUserBtn\">\r\n <span class=\"icon font_family\"></span>\r\n 新增\r\n </div>\r\n <div class=\"btn\" @click=\"batchDelUser\">\r\n <span class=\"icon font_family\"></span>\r\n 批量删除\r\n </div>\r\n <div class=\"btn\" @click=\"importLoadIn\">\r\n <span class=\"icon font_family\"></span>\r\n 导入\r\n </div>\r\n <div class=\"btn\" @click=\"expotrUser\">\r\n <span class=\"icon font_family\"></span>\r\n <a>导出</a>\r\n </div>\r\n <div class=\"btn\" @click=\"downExcel()\">\r\n <span class=\"icon font_family\"></span>\r\n <a>下载模板</a>\r\n </div>\r\n <el-dialog center :visible.sync=\"uploadDialog\" title=\"用户导入\" width=\"620px\">\r\n <el-upload ref=\"uploadFile\" class=\"upload-demo\" style=\"margin-left:110px\" drag action=\"#\"\r\n :http-request=\"uploadHttpRequest\" :auto-upload=\"false\" :file-list=\"fileList\" :on-change=\"uploadFileList\">\r\n <i class=\"el-icon-upload\" />\r\n <div class=\"el-upload__text\">将文件拖到此处,或<em>点击上传</em></div>\r\n <!-- <div class=\"el-upload__tip\">只能上传xls/xlsx文件,且不超过500kb</div> -->\r\n </el-upload>\r\n <div class=\"hxj\">支持扩展名: xls/xlsx</div>\r\n <div class=\"hxj\">请先下载模板,根据模板内容填写,再上传文件 <span class=\"xzmba\" @click=\"downExcel\">下载模板</span> </div>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <div class=\"search\" @click=\"httpRequest\">保 存</div>\r\n <div class=\"reset\" @click=\"uploadDialog = false\">取 消</div>\r\n </div>\r\n </el-dialog>\r\n <el-table ref=\"multipleTable\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n <el-table-column fixed type=\"selection\" width=\"55\">\r\n </el-table-column>\r\n <!-- <el-table-column fixed type=\"index\" label=\"序号\" width=\"70\">\r\n </el-table-column> -->\r\n <el-table-column fixed prop=\"userName\" label=\"账号\" width=\"100\">\r\n </el-table-column>\r\n <el-table-column property=\"nickName\" label=\"真实姓名\" width=\"100\">\r\n </el-table-column>\r\n <el-table-column property=\"deptName\" label=\"部门名称\" show-overflow-tooltip width=\"220\">\r\n </el-table-column>\r\n <el-table-column property=\"roleName\" label=\"所属角色\" width=\"120\" show-overflow-tooltip=\"true\">\r\n <template slot-scope=\"scope\">\r\n {{ returnRoleNames(scope.row.roleNames) }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"phoneNum\" label=\"联系电话\" width=\"120\">\r\n </el-table-column>\r\n <!-- <el-table-column property=\"email\" label=\"联系邮箱\" width=\"190\">\r\n </el-table-column> -->\r\n <el-table-column label=\"状态\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"startUsing\" v-if=\"scope.row.status == 1\">启用</div>\r\n <div class=\"Deactivate\" v-else>停用</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"createTime\" sortable label=\"创建时间\" width=\"160\">\r\n </el-table-column>\r\n <el-table-column fixed=\"right\" label=\"操作\" width=\"250\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"operateBtn\">\r\n <div v-if=\"scope.row.id !== 1\" @click=\"updateUser(scope.row, true)\">修改</div>\r\n <div v-if=\"scope.row.id !== 1\" @click=\"delUser(scope.row)\">删除</div>\r\n <div v-if=\"scope.row.id !== 1\" @click=\"authorityBtn(scope.row)\">数据权限</div>\r\n <!-- <div @click=\"viewDetails(scope.row)\">详情查看</div> -->\r\n <div @click=\"updateUser(scope.row, false)\">详情查看</div>\r\n <div @click=\"resetPwd(scope.row)\">重置密码</div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <detaileDialog class=\"detaileDialog\" :detaileData=\"detaileData\"></detaileDialog>\r\n <addUserDialog v-if=\"addUserData.dialogVisible\" :addUserData=\"addUserData\" @addUser=\"addUser\"></addUserDialog>\r\n <updateUserDialog v-if=\"updateUserData.dialogVisible\" :updateUserData=\"updateUserData\"\r\n @updateUserBtn=\"updateUserBtn\"></updateUserDialog>\r\n <authorityDialog v-if=\"authorityData.dialogVisible\" :authorityData=\"authorityData\"\r\n @updateAuthority=\"updateAuthority\"></authorityDialog>\r\n <div class=\"pagination\">\r\n <el-pagination @size-change=\"handleSizeChange\" @current-change=\"handleCurrentChange\" :page-sizes=\"[10, 15, 20]\"\r\n :page-size=\"this.data.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"total\">\r\n </el-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters } from 'vuex'\r\nimport { getList, getDeptTree, userInformation, delUser, addUser, updateUser, getExcel, exportUserList, importUser, dictionaryList, dataPermission, resetPwd } from '@/api/sysManage'\r\nimport detaileDialog from './compontens/detaileDialog.vue'\r\nimport addUserDialog from './compontens/addUserDialog.vue'\r\nimport updateUserDialog from './compontens/updateUserDialog.vue'\r\nimport authorityDialog from './compontens/authorityDialog.vue'\r\nimport { is } from '@babel/types'\r\nexport default {\r\n name: 'home',\r\n computed: {\r\n ...mapGetters([\r\n 'name'\r\n ])\r\n },\r\n components: {\r\n detaileDialog,\r\n addUserDialog,\r\n updateUserDialog,\r\n authorityDialog\r\n },\r\n created() {\r\n this.getList(this.data)\r\n this.getDeptTree()\r\n this.getAllAuthority()\r\n },\r\n mounted() {\r\n // let height = document.getElementsByClassName('leftTree') \r\n // this.leftTreeHeight = height[0].clientHeight\r\n const height = document.documentElement.clientHeight - 200 + \"px\";\r\n this.styleObj.height = height\r\n },\r\n watch: {\r\n filterText(val) {\r\n this.$refs.tree.filter(val);\r\n }\r\n },\r\n data() {\r\n return {\r\n leftTreeHeight: 0,\r\n styleObj: {\r\n height: ''\r\n },\r\n uploadDialog: false,\r\n fileList: [],\r\n authorityData: {\r\n dialogVisible: false,\r\n id: '',\r\n dictValue: '',\r\n data: []\r\n },\r\n // 导入\r\n dataForm: {\r\n name: \"\",\r\n file: null,\r\n },\r\n filterText: '',\r\n defaultProps: {\r\n children: 'children',\r\n label: 'label'\r\n },\r\n tableData: [],\r\n data: {\r\n pageNum: 1,\r\n pageSize: 10,\r\n nickName: '',\r\n phoneNum: '',\r\n status: '',\r\n deptId: ''\r\n },\r\n total: 0,\r\n treeData: [],\r\n statusOptions: [\r\n {\r\n label: '启用',\r\n value: '1'\r\n },\r\n {\r\n label: '停用',\r\n value: '2'\r\n }\r\n ],\r\n detaileData: {\r\n dialogVisible: false,\r\n remark: '',\r\n data: {}\r\n },\r\n addUserData: {\r\n dialogVisible: false,\r\n data: {}\r\n },\r\n updateUserData: {\r\n dialogVisible: false,\r\n data: {\r\n },\r\n isEdit: null\r\n },\r\n delUserList: '',\r\n ids: []\r\n }\r\n },\r\n methods: {\r\n returnRoleNames(arr) {\r\n let roleNames = ''\r\n arr.forEach(item => {\r\n roleNames+=item+' '\r\n })\r\n return roleNames\r\n },\r\n importLoadIn: function () {\r\n this.uploadDialog = true\r\n },\r\n uploadFileList(file) {\r\n if (file.status === 'ready') {\r\n this.fileList.push(file)\r\n if (this.fileList.length > 1) {\r\n this.fileList.splice(0, 1)\r\n }\r\n }\r\n },\r\n //下载模板\r\n downExcel() {\r\n getExcel('/system/user/downloaExcel').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 },\r\n filterNode(value, data) {\r\n if (!value) return true;\r\n return data.label.indexOf(value) !== -1;\r\n },\r\n getList(data) {\r\n getList(data).then(res => {\r\n if (res.code == 200) {\r\n this.tableData = res.data.records\r\n this.total = res.data.total\r\n // this.$nextTick(() => {\r\n // let heightMsg = document.getElementsByClassName('rightTable')\r\n // this.styleObj.height = heightMsg[0].clientHeight + 'px'\r\n // })\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n })\r\n },\r\n handleNodeClick(v) {\r\n this.data.pageNum = 1\r\n this.data.deptId = v.id\r\n this.getList(this.data)\r\n },\r\n getDeptTree() {\r\n getDeptTree().then(res => {\r\n this.treeData = res.data\r\n })\r\n },\r\n handleSizeChange(val) {\r\n this.data.pageSize = val\r\n this.getList(this.data)\r\n },\r\n handleCurrentChange(val) {\r\n this.data.pageNum = val\r\n this.getList(this.data)\r\n },\r\n searchUser() {\r\n this.data.deptId = ''\r\n this.getList(this.data)\r\n },\r\n //查看详情\r\n viewDetails(scope) {\r\n userInformation(scope.id).then(res => {\r\n this.detaileData.data = res.data\r\n this.detaileData.remark = res.roles[0].remark\r\n })\r\n this.detaileData.dialogVisible = true\r\n },\r\n //重置\r\n reset() {\r\n this.data = {\r\n pageNum: 1,\r\n pageSize: 10,\r\n nickName: '',\r\n phoneNum: '',\r\n status: '',\r\n deptId: ''\r\n }\r\n this.getList(this.data)\r\n },\r\n //修改用户\r\n updateUserBtn(payload) {\r\n let params = {\r\n id: payload.id,\r\n userName: payload.userName,\r\n password: payload.password,\r\n nickName: payload.nickName,\r\n sex: payload.sex,\r\n deptId: payload.deptId,\r\n roleIds: payload.roleIds,\r\n phoneNum: payload.phoneNum,\r\n email: payload.email,\r\n status: payload.status ? 1 : 2\r\n }\r\n updateUser(params).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '修改成功!'\r\n });\r\n this.getList(this.data)\r\n this.updateUserData.dialogVisible = false\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n })\r\n },\r\n delUser(scope) {\r\n this.$confirm('确定要删除吗?', '信息提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n delUser(scope.id).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '删除成功!'\r\n });\r\n\r\n const totalPage = Math.ceil((this.total - 1) / this.data.pageSize)\r\n const pageNum = this.data.pageNum > totalPage ? totalPage : this.data.pageNum\r\n this.data.pageNum = pageNum < 1 ? 1 : pageNum\r\n this.getList(this.data)\r\n\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n })\r\n }).catch(() => {\r\n this.$message({\r\n type: 'info',\r\n message: '已取消删除'\r\n });\r\n });\r\n },\r\n //新增用户按钮\r\n addUserBtn() {\r\n this.addUserData.dialogVisible = true\r\n },\r\n updateUser(scope, isEdit) {\r\n let newScope = { ...scope }\r\n if (newScope.status == 1) {\r\n newScope.status = true\r\n } else {\r\n newScope.status = false\r\n }\r\n newScope.sex = newScope.sex.toString()\r\n this.updateUserData.isEdit = !isEdit\r\n this.updateUserData.data = newScope\r\n this.updateUserData.dialogVisible = true\r\n },\r\n addUser(payload) {\r\n if (payload.status) {\r\n payload.status = 1\r\n } else {\r\n payload.status = 2\r\n }\r\n addUser(payload).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '新增成功!'\r\n });\r\n this.addUserData.dialogVisible = false\r\n this.getList(this.data)\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n }).catch(err => {\r\n\r\n })\r\n },\r\n //多选用户\r\n handleSelectionChange(v) {\r\n let ids = []\r\n let delUserList = ''\r\n v.forEach(element => {\r\n delUserList += element.id + ','\r\n ids.push(element.id)\r\n });\r\n this.ids = ids\r\n delUserList = delUserList.slice(0, delUserList.length - 1)\r\n this.delUserList = delUserList\r\n },\r\n //批量删除用户\r\n batchDelUser() {\r\n if (this.delUserList.length == 0) {\r\n return this.$message({\r\n type: 'error',\r\n message: '请选择要删除的用户!'\r\n });\r\n }\r\n this.$confirm('确定要删除吗?', '信息提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n delUser(this.delUserList).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '删除成功!'\r\n });\r\n const totalPage = Math.ceil((this.total - 1) / this.data.pageSize)\r\n const pageNum = this.data.pageNum > totalPage ? totalPage : this.data.pageNum\r\n this.data.pageNum = pageNum < 1 ? 1 : pageNum\r\n this.getList(this.data)\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n })\r\n }).catch(() => {\r\n this.$message({\r\n type: 'info',\r\n message: '已取消删除'\r\n });\r\n });\r\n },\r\n //导出用户\r\n expotrUser() {\r\n if (this.ids.length == 0) {\r\n return this.$message({\r\n type: 'error',\r\n message: '请选择要导出的用户信息!'\r\n });\r\n } else {\r\n let params = {\r\n nickName: this.data.nickName,\r\n phoneNum: this.data.phoneNum,\r\n status: this.data.status,\r\n ids: this.ids\r\n }\r\n exportUserList(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 // 判断文件个数\r\n handleChange(file, fileList) {\r\n if (fileList.length >= 2) {\r\n return;\r\n }\r\n if (fileList.length === 1) {\r\n this.hasFile = true;\r\n }\r\n this.dataForm.file = file;\r\n },\r\n // 导入\r\n httpRequest(param) {\r\n let formData = new FormData();\r\n // formData.append('file', this.dataForm.file.raw);\r\n formData.append('file', this.fileList[0].raw)\r\n let configHeaders = {\r\n headers: { \"Content-Type\": \"multipart/form-data\" }\r\n };\r\n let isHttpRequest = this.fileList[0].raw.name.split('.')\r\n if (isHttpRequest[isHttpRequest.length - 1] == 'xlsx' || isHttpRequest[isHttpRequest.length - 1] == 'xls') {\r\n importUser(formData).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '导入成功!'\r\n });\r\n let uid = this.fileList[0].raw.uid\r\n let idx = this.$refs.uploadFile.uploadFiles.findIndex(item => item.uid === uid)\r\n this.$refs.uploadFile.uploadFiles.splice(idx, 1)\r\n this.getList(this.data)\r\n this.uploadDialog = false\r\n }else{\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n })\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: '上传的文件只能是xls以及xlsx格式!'\r\n });\r\n let uid = this.fileList[0].raw.uid\r\n let idx = this.$refs.uploadFile.uploadFiles.findIndex(item => item.uid === uid)\r\n this.$refs.uploadFile.uploadFiles.splice(idx, 1)\r\n }\r\n },\r\n //获取全部权限信息\r\n getAllAuthority() {\r\n dictionaryList('data_permission').then(res => {\r\n if (res.code == 200) {\r\n this.authorityData.data = res.data\r\n }\r\n })\r\n },\r\n authorityBtn(scope) {\r\n this.authorityData.dictValue = scope.dataPermission.toString()\r\n this.authorityData.id = scope.id\r\n this.authorityData.dialogVisible = true\r\n },\r\n updateAuthority(payload) {\r\n dataPermission(payload.id, payload.dataPermission).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '修改成功!'\r\n });\r\n this.getList(this.data)\r\n this.authorityData.dialogVisible = false\r\n }\r\n })\r\n },\r\n resetPwd(row) {\r\n this.$confirm('是否重置密码?', '信息提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n resetPwd(row.id).then(res => {\r\n if (res.code == 200) {\r\n this.getList(this.data)\r\n this.$message({\r\n type: 'success',\r\n message: '重置成功!'\r\n });\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.msg\r\n });\r\n }\r\n })\r\n }).catch(() => {\r\n this.$message({\r\n type: 'info',\r\n message: '已取消!'\r\n });\r\n });\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 .search-content {\r\n width: 100%;\r\n height: 74px;\r\n background-color: #fff;\r\n display: flex;\r\n align-items: center;\r\n padding-left: 10px;\r\n\r\n .el-input {\r\n margin: 0 10px;\r\n }\r\n\r\n .el-select {\r\n margin: 0 10px;\r\n }\r\n\r\n .search-btn {\r\n // display: inline-block;\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-right: 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 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 .table-content {\r\n margin-top: 15px;\r\n width: 100%;\r\n background-color: #fff;\r\n\r\n .leftTree {\r\n float: left;\r\n width: 14.2%;\r\n padding: 20px 10px 20px;\r\n // height: 100%;\r\n // height: document.documentElement.clientHeight - 100 + \"px\";\r\n background-color: #fff;\r\n overflow: auto;\r\n }\r\n\r\n .rightTable {\r\n float: right;\r\n width: 85%;\r\n background-color: #fff;\r\n padding: 0 20px;\r\n\r\n .btn {\r\n margin: 15px 20px 15px 0;\r\n cursor: pointer;\r\n float: left;\r\n text-align: center;\r\n width: 98px;\r\n height: 34px;\r\n border-radius: 2px;\r\n border: 1px solid #ABC7FD;\r\n line-height: 34px;\r\n font-weight: 400;\r\n font-size: 14px;\r\n color: #2250C8;\r\n background-color: #E7EEFF;\r\n }\r\n\r\n .btn:hover {\r\n color: #FFFFFF;\r\n background-color: #2250C8;\r\n border: 1px solid #2250C8;\r\n }\r\n\r\n .btn:active {\r\n color: #FFFFFF;\r\n background-color: #194DA4;\r\n border: 1px solid #194DA4;\r\n }\r\n\r\n .startUsing {\r\n width: 54px;\r\n height: 24px;\r\n margin: 14.5px auto 0;\r\n line-height: 24px;\r\n text-align: center;\r\n font-size: 12px;\r\n color: #00974D;\r\n border-radius: 4px;\r\n background-color: #E7FAF0;\r\n border: 1px solid #BEFDDD;\r\n }\r\n\r\n .Deactivate {\r\n width: 54px;\r\n height: 24px;\r\n margin: 14.5px auto 0;\r\n line-height: 24px;\r\n text-align: center;\r\n font-size: 12px;\r\n color: #FF9933;\r\n border-radius: 4px;\r\n background-color: #FFF3E8;\r\n border: 1px solid #FDE6CF;\r\n }\r\n\r\n .operateBtn {\r\n display: flex;\r\n justify-content: center;\r\n color: #2866DD;\r\n\r\n div {\r\n font-size: 12px;\r\n margin: 0 5px;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .pagination {\r\n float: right;\r\n margin: 10px 0;\r\n }\r\n }\r\n }\r\n\r\n .xzmba {\r\n color: #2766DD;\r\n text-decoration: underline;\r\n cursor: pointer;\r\n }\r\n\r\n .hxj {\r\n height: 46px;\r\n line-height: 46px;\r\n text-align: center;\r\n }\r\n\r\n .search_btn {\r\n background-color: #2766DD;\r\n color: #F7F8FB;\r\n font-size: 14px;\r\n }\r\n\r\n .search_btn:hover {\r\n background-color: #4D85F4;\r\n }\r\n\r\n .reset_btn {\r\n color: #565656;\r\n font-size: 14px;\r\n border: 1px solid #D7D7D7;\r\n }\r\n\r\n .reset_btn:hover {\r\n color: #1F9FFF;\r\n border: 1px solid #1F9FFF;\r\n background: none;\r\n }\r\n}\r\n\r\n.dialog-footer {\r\n div {\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 12px;\r\n background-color: #2766DD;\r\n color: #fff;\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 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</style>\r\n"],"mappings":"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"}]}
|