d707288e0e4d88a80c38265e539d39fa.json 42 KB

1
  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/department/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/system/department/index.vue","mtime":1708395041890},{"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:aW1wb3J0IF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIGZyb20gIi9Vc2Vycy9jYW9nZS9EZXNrdG9wL1x1NTczMFx1OEQyOFx1NzNCMFx1NTczQS9WZWhpY2xlTW9uaXRvci1XRUIvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIuanMiOwppbXBvcnQgX3R5cGVvZiBmcm9tICIvVXNlcnMvY2FvZ2UvRGVza3RvcC9cdTU3MzBcdThEMjhcdTczQjBcdTU3M0EvVmVoaWNsZU1vbml0b3ItV0VCL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiOwppbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICIvVXNlcnMvY2FvZ2UvRGVza3RvcC9cdTU3MzBcdThEMjhcdTczQjBcdTU3M0EvVmVoaWNsZU1vbml0b3ItV0VCL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLXNlYXJjaC1wYXJhbXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLXNlYXJjaC1wYXJhbXMuZGVsZXRlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmhhcy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5zaXplLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAudGVzdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmRvdC1hbGwuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuc3RpY2t5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gImVsZW1lbnQtdWkiOwppbXBvcnQgeyBtYXBHZXR0ZXJzIH0gZnJvbSAndnVleCc7CmltcG9ydCB7IGdldERlcHRMaXN0IGFzIF9nZXREZXB0TGlzdCwgZGVsRGVwdCwgdXBkYXRlRGVwdCBhcyBfdXBkYXRlRGVwdCwgZXhwb3J0RGVwdExpc3QgYXMgX2V4cG9ydERlcHRMaXN0LCBhZGREZXB0IH0gZnJvbSAnQC9hcGkvc3lzTWFuYWdlJzsKaW1wb3J0IGVkaXREZXB0RGlhbG9nIGZyb20gJy4vY29tcG9uZW50cy9lZGl0RGVwdERpYWxvZy52dWUnOwppbXBvcnQgYWRkRGVwdERpYWxvZyBmcm9tICcuL2NvbXBvbmVudHMvYWRkRGVwdERpYWxvZy52dWUnOwppbXBvcnQgYWRkVG9wRGVwdERpYWxvZyBmcm9tICcuL2NvbXBvbmVudHMvYWRkVG9wRGVwdERpYWxvZy52dWUnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ2hvbWUnLAogIGNvbXB1dGVkOiBfb2JqZWN0U3ByZWFkKHt9LCBtYXBHZXR0ZXJzKFsnbmFtZSddKSksCiAgY29tcG9uZW50czogewogICAgZWRpdERlcHREaWFsb2c6IGVkaXREZXB0RGlhbG9nLAogICAgYWRkRGVwdERpYWxvZzogYWRkRGVwdERpYWxvZywKICAgIGFkZFRvcERlcHREaWFsb2c6IGFkZFRvcERlcHREaWFsb2cKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBzZWFyY2hEYXRhOiB7CiAgICAgICAgZGVwdE5hbWU6ICcnLAogICAgICAgIHN0YXR1czogJycKICAgICAgfSwKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgZGVwdExpc3Q6IFtdLAogICAgICBzdGF0dXNPcHRpb25zOiBbewogICAgICAgIGxhYmVsOiAn5ZCv55SoJywKICAgICAgICB2YWx1ZTogJzEnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+WBnOeUqCcsCiAgICAgICAgdmFsdWU6ICcyJwogICAgICB9XSwKICAgICAgZWRpdERlcHREYXRhOiB7CiAgICAgICAgZGlhbG9nVmlzaWJsZTogZmFsc2UsCiAgICAgICAgZGF0YToge30KICAgICAgfSwKICAgICAgYWRkRGVwdERhdGE6IHsKICAgICAgICBkaWFsb2dWaXNpYmxlOiBmYWxzZSwKICAgICAgICBkYXRhOiB7fQogICAgICB9LAogICAgICBhZGRUb3BEZXB0RGF0YTogewogICAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlCiAgICAgIH0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nZXREZXB0TGlzdCh0aGlzLnNlYXJjaERhdGEpOwogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlVXBkYXRlOiBmdW5jdGlvbiBoYW5kbGVVcGRhdGUocm93LCBzdGF0dXMpIHsKICAgICAgaWYgKHN0YXR1cyA9PSAiMSIpIHsKICAgICAgICByb3cuc3RhdHVzID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICByb3cuc3RhdHVzID0gZmFsc2U7CiAgICAgIH0KICAgICAgdGhpcy5lZGl0RGVwdERhdGEuZGF0YSA9IF9vYmplY3RTcHJlYWQoe30sIHJvdyk7CiAgICAgIHRoaXMuZWRpdERlcHREYXRhLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgfSwKICAgIGhhbmRsZUFkZDogZnVuY3Rpb24gaGFuZGxlQWRkKHJvdykgewogICAgICB0aGlzLmFkZERlcHREYXRhLmRhdGEgPSByb3c7CiAgICAgIHRoaXMuYWRkRGVwdERhdGEuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgYWRkVG9wRGVwdDogZnVuY3Rpb24gYWRkVG9wRGVwdCgpIHsKICAgICAgdGhpcy5hZGRUb3BEZXB0RGF0YS5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICBhZGREZXB0QnRuOiBmdW5jdGlvbiBhZGREZXB0QnRuKHBheWxvYWQpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdmFyIHVwZGF0ZURhdGEgPSBfb2JqZWN0U3ByZWFkKHt9LCBwYXlsb2FkKTsKICAgICAgZGVsZXRlIHVwZGF0ZURhdGEucGFyZW50TmFtZTsKICAgICAgaWYgKHVwZGF0ZURhdGEuc3RhdHVzKSB7CiAgICAgICAgdXBkYXRlRGF0YS5zdGF0dXMgPSAxOwogICAgICB9IGVsc2UgewogICAgICAgIHVwZGF0ZURhdGEuc3RhdHVzID0gMjsKICAgICAgfQogICAgICBhZGREZXB0KHVwZGF0ZURhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgIF90aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICBtZXNzYWdlOiAn5re75Yqg5oiQ5Yqf77yBJwogICAgICAgICAgfSk7CiAgICAgICAgICBfdGhpcy5nZXREZXB0TGlzdChfdGhpcy5zZWFyY2hEYXRhKTsKICAgICAgICAgIF90aGlzLmFkZERlcHREYXRhLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICBtZXNzYWdlOiByZXMubXNnCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGFkZFRvcERlcHRCdG46IGZ1bmN0aW9uIGFkZFRvcERlcHRCdG4ocGF5bG9hZCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdmFyIHVwZGF0ZURhdGEgPSBfb2JqZWN0U3ByZWFkKHt9LCBwYXlsb2FkKTsKICAgICAgaWYgKHVwZGF0ZURhdGEuc3RhdHVzKSB7CiAgICAgICAgdXBkYXRlRGF0YS5zdGF0dXMgPSAxOwogICAgICB9IGVsc2UgewogICAgICAgIHVwZGF0ZURhdGEuc3RhdHVzID0gMjsKICAgICAgfQogICAgICBkZWxldGUgdXBkYXRlRGF0YS5wYXJlbnROYW1lOwogICAgICBhZGREZXB0KHVwZGF0ZURhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgIF90aGlzMi4kbWVzc2FnZSh7CiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgbWVzc2FnZTogJ+a3u+WKoOaIkOWKn++8gScKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXMyLmdldERlcHRMaXN0KF90aGlzMi5zZWFyY2hEYXRhKTsKICAgICAgICAgIF90aGlzMi5hZGRUb3BEZXB0RGF0YS5kaWFsb2dWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMi4kbWVzc2FnZSh7CiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsCiAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tc2cKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZXhwb3J0RGVwdExpc3Q6IGZ1bmN0aW9uIGV4cG9ydERlcHRMaXN0KCkgewogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIGRlcHROYW1lOiB0aGlzLnNlYXJjaERhdGEuZGVwdE5hbWUsCiAgICAgICAgc3RhdHVzOiB0aGlzLnNlYXJjaERhdGEuc3RhdHVzCiAgICAgIH07CiAgICAgIF9leHBvcnREZXB0TGlzdChwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMudHlwZSA9PSAiYXBwbGljYXRpb24vanNvbiIpIHsKICAgICAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOwogICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQocmVzLCAndXRmLTgnKTsKICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBtc2cgPSBKU09OLnBhcnNlKHJlYWRlci5yZXN1bHQpOwogICAgICAgICAgICBpZiAobXNnLmNvZGUgPT0gMjAwKSB7CiAgICAgICAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbcmVzXSwgewogICAgICAgICAgICAgICAgdHlwZTogJ3RleHQvcGxhaW47Y2hhcnNldD11dGYtOCcKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB2YXIgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgICAgICAgICAgYS5ocmVmID0gdXJsOwogICAgICAgICAgICAgIGEuZG93bmxvYWQgPSAn6YOo6Zeo5L+h5oGvLnhsc3gnOwogICAgICAgICAgICAgIGEuY2xpY2soKTsKICAgICAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIE1lc3NhZ2UoewogICAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywKICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG1zZy5tc2cKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbcmVzXSwgewogICAgICAgICAgICB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JwogICAgICAgICAgfSk7CiAgICAgICAgICB2YXIgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgIGEuaHJlZiA9IHVybDsKICAgICAgICAgIGEuZG93bmxvYWQgPSAn6YOo6Zeo5L+h5oGvLnhsc3gnOwogICAgICAgICAgYS5jbGljaygpOwogICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldERlcHRMaXN0OiBmdW5jdGlvbiBnZXREZXB0TGlzdChwYXJhbXMpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIF9nZXREZXB0TGlzdChwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzMy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7CiAgICAgICAgICBfdGhpczMuZGVwdExpc3QgPSBfdGhpczMuaGFuZGxlVHJlZShyZXMuZGF0YSwgImRlcHRJZCIpOwogICAgICAgICAgLy8gdGhpcy5kZXB0TGlzdCA9IHJlcy5kYXRhCiAgICAgICAgICBfdGhpczMubG9hZGluZyA9IGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczMuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICBtZXNzYWdlOiByZXMubXNnCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHBhcnNlVGltZTogZnVuY3Rpb24gcGFyc2VUaW1lKHRpbWUsIHBhdHRlcm4pIHsKICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDAgfHwgIXRpbWUpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgICB2YXIgZm9ybWF0ID0gcGF0dGVybiB8fCAne3l9LXttfS17ZH0ge2h9OntpfTp7c30nOwogICAgICB2YXIgZGF0ZTsKICAgICAgaWYgKF90eXBlb2YodGltZSkgPT09ICdvYmplY3QnKSB7CiAgICAgICAgZGF0ZSA9IHRpbWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJyAmJiAvXlswLTldKyQvLnRlc3QodGltZSkpIHsKICAgICAgICAgIHRpbWUgPSBwYXJzZUludCh0aW1lKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJykgewogICAgICAgICAgdGltZSA9IHRpbWUucmVwbGFjZShuZXcgUmVnRXhwKC8tL2dtKSwgJy8nKS5yZXBsYWNlKCdUJywgJyAnKS5yZXBsYWNlKG5ldyBSZWdFeHAoL1wuW1xkXXszfS9nbSksICcnKTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiB0aW1lID09PSAnbnVtYmVyJyAmJiB0aW1lLnRvU3RyaW5nKCkubGVuZ3RoID09PSAxMCkgewogICAgICAgICAgdGltZSA9IHRpbWUgKiAxMDAwOwogICAgICAgIH0KICAgICAgICBkYXRlID0gbmV3IERhdGUodGltZSk7CiAgICAgIH0KICAgICAgdmFyIGZvcm1hdE9iaiA9IHsKICAgICAgICB5OiBkYXRlLmdldEZ1bGxZZWFyKCksCiAgICAgICAgbTogZGF0ZS5nZXRNb250aCgpICsgMSwKICAgICAgICBkOiBkYXRlLmdldERhdGUoKSwKICAgICAgICBoOiBkYXRlLmdldEhvdXJzKCksCiAgICAgICAgaTogZGF0ZS5nZXRNaW51dGVzKCksCiAgICAgICAgczogZGF0ZS5nZXRTZWNvbmRzKCksCiAgICAgICAgYTogZGF0ZS5nZXREYXkoKQogICAgICB9OwogICAgICB2YXIgdGltZV9zdHIgPSBmb3JtYXQucmVwbGFjZSgveyh5fG18ZHxofGl8c3xhKSt9L2csIGZ1bmN0aW9uIChyZXN1bHQsIGtleSkgewogICAgICAgIHZhciB2YWx1ZSA9IGZvcm1hdE9ialtrZXldOwogICAgICAgIC8vIE5vdGU6IGdldERheSgpIHJldHVybnMgMCBvbiBTdW5kYXkKICAgICAgICBpZiAoa2V5ID09PSAnYScpIHsKICAgICAgICAgIHJldHVybiBbJ+aXpScsICfkuIAnLCAn5LqMJywgJ+S4iScsICflm5snLCAn5LqUJywgJ+WFrSddW3ZhbHVlXTsKICAgICAgICB9CiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwICYmIHZhbHVlIDwgMTApIHsKICAgICAgICAgIHZhbHVlID0gJzAnICsgdmFsdWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiB2YWx1ZSB8fCAwOwogICAgICB9KTsKICAgICAgcmV0dXJuIHRpbWVfc3RyOwogICAgfSwKICAgIC8v5Yig6Zmk6YOo6ZeoCiAgICBoYW5kbGVEZWxldGU6IGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShzY29wZSkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgn56Gu5a6a6KaB5Yig6Zmk5ZCXPycsICfkv6Hmga/mj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBkZWxEZXB0KHNjb3BlLmRlcHRJZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7CiAgICAgICAgICAgIF90aGlzNC4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip/vvIEnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBfdGhpczQuZ2V0RGVwdExpc3QoX3RoaXM0LnNlYXJjaERhdGEpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tc2cKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczQuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogJ2luZm8nLAogICAgICAgICAgbWVzc2FnZTogJ+W3suWPlua2iOWIoOmZpCcKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAogICAgLy/kv67mlLkKICAgIGVkaXREZXB0OiBmdW5jdGlvbiBlZGl0RGVwdChzY29wZSkgewogICAgICB2YXIgbmV3U2NvcGUgPSBfb2JqZWN0U3ByZWFkKHt9LCBzY29wZSk7CiAgICAgIGlmIChuZXdTY29wZS5zdGF0dXMgPT0gJzEnKSB7CiAgICAgICAgbmV3U2NvcGUuc3RhdHVzID0gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbmV3U2NvcGUuc3RhdHVzID0gdHJ1ZTsKICAgICAgfQogICAgICB0aGlzLmVkaXREZXB0RGF0YS5kYXRhID0gX29iamVjdFNwcmVhZCh7fSwgc2NvcGUpOwogICAgICB0aGlzLmVkaXREZXB0RGF0YS5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICB1cGRhdGVEZXB0OiBmdW5jdGlvbiB1cGRhdGVEZXB0KHBheWxvYWQpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIF91cGRhdGVEZXB0KHBheWxvYWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHsKICAgICAgICAgIF90aGlzNS4kbWVzc2FnZSh7CiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgbWVzc2FnZTogJ+S/ruaUueaIkOWKn++8gScKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXM1LmVkaXREZXB0RGF0YS5kaWFsb2dWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgICBfdGhpczUuZ2V0RGVwdExpc3QoX3RoaXM1LnNlYXJjaERhdGEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczUuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICBtZXNzYWdlOiByZXMubXNnCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHNlYXJjaEJ0bjogZnVuY3Rpb24gc2VhcmNoQnRuKCkgewogICAgICB0aGlzLmdldERlcHRMaXN0KHRoaXMuc2VhcmNoRGF0YSk7CiAgICB9LAogICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkgewogICAgICB0aGlzLnNlYXJjaERhdGEgPSB7CiAgICAgICAgZGVwdE5hbWU6ICcnLAogICAgICAgIHN0YXR1czogJycKICAgICAgfTsKICAgICAgdGhpcy5nZXREZXB0TGlzdCh0aGlzLnNlYXJjaERhdGEpOwogICAgfSwKICAgIGhhbmRsZVRyZWU6IGZ1bmN0aW9uIGhhbmRsZVRyZWUoZGF0YSwgaWQsIHBhcmVudElkLCBjaGlsZHJlbikgewogICAgICB2YXIgY29uZmlnID0gewogICAgICAgIGlkOiBpZCB8fCAnaWQnLAogICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCB8fCAncGFyZW50SWQnLAogICAgICAgIGNoaWxkcmVuTGlzdDogY2hpbGRyZW4gfHwgJ2NoaWxkcmVuJwogICAgICB9OwogICAgICB2YXIgY2hpbGRyZW5MaXN0TWFwID0ge307CiAgICAgIHZhciBub2RlSWRzID0ge307CiAgICAgIHZhciB0cmVlID0gW107CiAgICAgIHZhciBfaXRlcmF0b3IgPSBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcihkYXRhKSwKICAgICAgICBfc3RlcDsKICAgICAgdHJ5IHsKICAgICAgICBmb3IgKF9pdGVyYXRvci5zKCk7ICEoX3N0ZXAgPSBfaXRlcmF0b3IubigpKS5kb25lOykgewogICAgICAgICAgdmFyIGQgPSBfc3RlcC52YWx1ZTsKICAgICAgICAgIHZhciBfcGFyZW50SWQgPSBkW2NvbmZpZy5wYXJlbnRJZF07CiAgICAgICAgICBpZiAoY2hpbGRyZW5MaXN0TWFwW19wYXJlbnRJZF0gPT0gbnVsbCkgewogICAgICAgICAgICBjaGlsZHJlbkxpc3RNYXBbX3BhcmVudElkXSA9IFtdOwogICAgICAgICAgfQogICAgICAgICAgbm9kZUlkc1tkW2NvbmZpZy5pZF1dID0gZDsKICAgICAgICAgIGNoaWxkcmVuTGlzdE1hcFtfcGFyZW50SWRdLnB1c2goZCk7CiAgICAgICAgfQogICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBfaXRlcmF0b3IuZShlcnIpOwogICAgICB9IGZpbmFsbHkgewogICAgICAgIF9pdGVyYXRvci5mKCk7CiAgICAgIH0KICAgICAgdmFyIF9pdGVyYXRvcjIgPSBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcihkYXRhKSwKICAgICAgICBfc3RlcDI7CiAgICAgIHRyeSB7CiAgICAgICAgZm9yIChfaXRlcmF0b3IyLnMoKTsgIShfc3RlcDIgPSBfaXRlcmF0b3IyLm4oKSkuZG9uZTspIHsKICAgICAgICAgIHZhciBfZCA9IF9zdGVwMi52YWx1ZTsKICAgICAgICAgIHZhciBfcGFyZW50SWQyID0gX2RbY29uZmlnLnBhcmVudElkXTsKICAgICAgICAgIGlmIChub2RlSWRzW19wYXJlbnRJZDJdID09IG51bGwpIHsKICAgICAgICAgICAgdHJlZS5wdXNoKF9kKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIF9pdGVyYXRvcjIuZShlcnIpOwogICAgICB9IGZpbmFsbHkgewogICAgICAgIF9pdGVyYXRvcjIuZigpOwogICAgICB9CiAgICAgIGZvciAodmFyIF9pID0gMCwgX3RyZWUgPSB0cmVlOyBfaSA8IF90cmVlLmxlbmd0aDsgX2krKykgewogICAgICAgIHZhciB0ID0gX3RyZWVbX2ldOwogICAgICAgIGFkYXB0VG9DaGlsZHJlbkxpc3QodCk7CiAgICAgIH0KICAgICAgZnVuY3Rpb24gYWRhcHRUb0NoaWxkcmVuTGlzdChvKSB7CiAgICAgICAgaWYgKGNoaWxkcmVuTGlzdE1hcFtvW2NvbmZpZy5pZF1dICE9PSBudWxsKSB7CiAgICAgICAgICBvW2NvbmZpZy5jaGlsZHJlbkxpc3RdID0gY2hpbGRyZW5MaXN0TWFwW29bY29uZmlnLmlkXV07CiAgICAgICAgfQogICAgICAgIGlmIChvW2NvbmZpZy5jaGlsZHJlbkxpc3RdKSB7CiAgICAgICAgICB2YXIgX2l0ZXJhdG9yMyA9IF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyKG9bY29uZmlnLmNoaWxkcmVuTGlzdF0pLAogICAgICAgICAgICBfc3RlcDM7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBmb3IgKF9pdGVyYXRvcjMucygpOyAhKF9zdGVwMyA9IF9pdGVyYXRvcjMubigpKS5kb25lOykgewogICAgICAgICAgICAgIHZhciBjID0gX3N0ZXAzLnZhbHVlOwogICAgICAgICAgICAgIGFkYXB0VG9DaGlsZHJlbkxpc3QoYyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICBfaXRlcmF0b3IzLmUoZXJyKTsKICAgICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIF9pdGVyYXRvcjMuZigpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdHJlZTsKICAgIH0KICB9Cn07"},{"version":3,"names":["Message","mapGetters","getDeptList","delDept","updateDept","exportDeptList","addDept","editDeptDialog","addDeptDialog","addTopDeptDialog","name","computed","_objectSpread","components","data","searchData","deptName","status","loading","deptList","statusOptions","label","value","editDeptData","dialogVisible","addDeptData","addTopDeptData","created","methods","handleUpdate","row","handleAdd","addTopDept","addDeptBtn","payload","_this","updateData","parentName","then","res","code","$message","type","message","msg","addTopDeptBtn","_this2","params","reader","FileReader","readAsText","onload","JSON","parse","result","blob","Blob","url","window","URL","createObjectURL","a","document","createElement","href","download","click","revokeObjectURL","_this3","handleTree","parseTime","time","pattern","arguments","length","format","date","_typeof","test","parseInt","replace","RegExp","toString","Date","formatObj","y","getFullYear","m","getMonth","d","getDate","h","getHours","i","getMinutes","s","getSeconds","getDay","time_str","key","handleDelete","scope","_this4","$confirm","confirmButtonText","cancelButtonText","deptId","catch","editDept","newScope","_this5","searchBtn","reset","id","parentId","children","config","childrenList","childrenListMap","nodeIds","tree","_iterator","_createForOfIteratorHelper","_step","n","done","push","err","e","f","_iterator2","_step2","_i","_tree","t","adaptToChildrenList","o","_iterator3","_step3","c"],"sources":["src/views/system/department/index.vue"],"sourcesContent":["<template>\r\n <div class=\"dashboard-container\">\r\n <div class=\"search-content\">\r\n <el-input style=\"width: 220px;\" v-model=\"searchData.deptName\" placeholder=\"请输入部门名称\" clearable></el-input>\r\n <el-select style=\"width: 220px;\" clearable placeholder=\"请选择状态\" v-model=\"searchData.status\">\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 <!-- <el-button type=\"primary\" @click=\"searchBtn()\">搜索</el-button>\r\n <el-button @click=\"reset()\">重置</el-button> -->\r\n <div class=\"search\" @click=\"searchBtn()\">查询</div>\r\n <div class=\"reset\" @click=\"reset()\">重置</div>\r\n </div>\r\n </div>\r\n <div class=\"table-content\">\r\n <div style=\"width: 100%;height: 30px;\">\r\n <div class=\"btn\" @click=\"addTopDept()\">\r\n <span class=\"icon font_family\">&#xe604;</span>\r\n 新增\r\n </div>\r\n <div class=\"btn\" @click=\"exportDeptList()\">\r\n <span class=\"icon font_family\">&#xe605;</span>\r\n <a>导出</a>\r\n </div>\r\n </div>\r\n <el-table :indent=\"50\" ref=\"tableRef\" v-loading=\"loading\" :data=\"deptList\" row-key=\"deptId\"\r\n :default-expand-all=\"true\" highlight-current-row style=\"width: 100%\"\r\n :tree-props=\"{ children: 'children', hasChildren: 'hasChildren' }\">\r\n <el-table-column prop=\"deptName\" label=\"部门名称\" width=\"320\"></el-table-column>\r\n <el-table-column prop=\"deptCode\" label=\"部门编码\"></el-table-column>\r\n <el-table-column prop=\"orderNum\" label=\"排序\" width=\"200\"></el-table-column>\r\n <el-table-column prop=\"status\" label=\"状态\" width=\"80\">\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 prop=\"remarks\" label=\"备注\" show-overflow-tooltip></el-table-column> -->\r\n <el-table-column label=\"创建时间\" align=\"center\" prop=\"createTime\" width=\"200\">\r\n <template #default=\"scope\">\r\n <span>{{ parseTime(scope.row.createTime) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\" width=\"200\">\r\n <template slot-scope=\"scope\">\r\n <el-button type=\"text\" style=\"color: #2866DD;font-size: 14px;\"\r\n @click=\"handleUpdate(scope.row, scope.row.status)\">修改</el-button>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <el-button type=\"text\" style=\"color: #2866DD;font-size: 14px\" @click=\"handleAdd(scope.row)\"\r\n v-hasPermi=\"['system:dept:add']\">新增</el-button>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <el-button type=\"text\" style=\"color: #2866DD;font-size: 14px\" @click=\"handleDelete(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n <template v-slot:empty>\r\n <svg-icon icon-class=\"search-none\" style=\"font-size: 64px\" />\r\n <p>暂无数据</p>\r\n </template>\r\n </el-table>\r\n <editDeptDialog :editDeptData=\"editDeptData\" @updateDept=\"updateDept\"></editDeptDialog>\r\n <addDeptDialog :addDeptData=\"addDeptData\" v-if=\"addDeptData.dialogVisible\" @addDeptBtn=\"addDeptBtn\"></addDeptDialog>\r\n <addTopDeptDialog v-if=\"addTopDeptData.dialogVisible\" :addTopDeptData=\"addTopDeptData\"\r\n @addTopDeptBtn=\"addTopDeptBtn\"></addTopDeptDialog>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { Message } from \"element-ui\";\r\nimport { mapGetters } from 'vuex'\r\nimport { getDeptList, delDept, updateDept, exportDeptList, addDept } from '@/api/sysManage'\r\nimport editDeptDialog from './components/editDeptDialog.vue'\r\nimport addDeptDialog from './components/addDeptDialog.vue'\r\nimport addTopDeptDialog from './components/addTopDeptDialog.vue'\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 editDeptDialog,\r\n addDeptDialog,\r\n addTopDeptDialog\r\n },\r\n data() {\r\n return {\r\n searchData: {\r\n deptName: '',\r\n status: ''\r\n },\r\n loading: true,\r\n deptList: [],\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 editDeptData: {\r\n dialogVisible: false,\r\n data: {}\r\n },\r\n addDeptData: {\r\n dialogVisible: false,\r\n data: {}\r\n },\r\n addTopDeptData: {\r\n dialogVisible: false,\r\n }\r\n }\r\n },\r\n created() {\r\n this.getDeptList(this.searchData)\r\n },\r\n methods: {\r\n handleUpdate(row, status) {\r\n if (status == \"1\") {\r\n row.status = true\r\n } else {\r\n row.status = false\r\n }\r\n this.editDeptData.data = { ...row }\r\n this.editDeptData.dialogVisible = true\r\n },\r\n handleAdd(row) {\r\n this.addDeptData.data = row\r\n this.addDeptData.dialogVisible = true\r\n },\r\n addTopDept() {\r\n this.addTopDeptData.dialogVisible = true\r\n },\r\n addDeptBtn(payload) {\r\n let updateData = { ...payload }\r\n delete updateData.parentName\r\n if (updateData.status) {\r\n updateData.status = 1\r\n } else {\r\n updateData.status = 2\r\n }\r\n addDept(updateData).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '添加成功!'\r\n });\r\n this.getDeptList(this.searchData)\r\n this.addDeptData.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 addTopDeptBtn(payload) {\r\n let updateData = { ...payload }\r\n if (updateData.status) {\r\n updateData.status = 1\r\n } else {\r\n updateData.status = 2\r\n }\r\n delete updateData.parentName\r\n addDept(updateData).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '添加成功!'\r\n });\r\n this.getDeptList(this.searchData)\r\n this.addTopDeptData.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 exportDeptList() {\r\n let params = {\r\n deptName:this.searchData.deptName,\r\n status:this.searchData.status\r\n }\r\n exportDeptList(params).then(res => {\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 getDeptList(params) {\r\n getDeptList(params).then(res => {\r\n this.loading = true;\r\n if (res.code == 200) {\r\n this.deptList = this.handleTree(res.data, \"deptId\")\r\n // this.deptList = res.data\r\n this.loading = 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 parseTime(time, pattern) {\r\n if (arguments.length === 0 || !time) {\r\n return null\r\n }\r\n const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'\r\n let date\r\n if (typeof time === 'object') {\r\n date = time\r\n } else {\r\n if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {\r\n time = parseInt(time)\r\n } else if (typeof time === 'string') {\r\n time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\\.[\\d]{3}/gm), '');\r\n }\r\n if ((typeof time === 'number') && (time.toString().length === 10)) {\r\n time = time * 1000\r\n }\r\n date = new Date(time)\r\n }\r\n const formatObj = {\r\n y: date.getFullYear(),\r\n m: date.getMonth() + 1,\r\n d: date.getDate(),\r\n h: date.getHours(),\r\n i: date.getMinutes(),\r\n s: date.getSeconds(),\r\n a: date.getDay()\r\n }\r\n const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {\r\n let value = formatObj[key]\r\n // Note: getDay() returns 0 on Sunday\r\n if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }\r\n if (result.length > 0 && value < 10) {\r\n value = '0' + value\r\n }\r\n return value || 0\r\n })\r\n return time_str\r\n },\r\n //删除部门\r\n handleDelete(scope) {\r\n this.$confirm('确定要删除吗?', '信息提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n delDept(scope.deptId).then(res => {\r\n if (res.code == 200) {\r\n this.$message({\r\n type: 'success',\r\n message: '删除成功!'\r\n });\r\n this.getDeptList(this.searchData)\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 editDept(scope) {\r\n let newScope = { ...scope }\r\n if (newScope.status == '1') {\r\n newScope.status = false\r\n } else {\r\n newScope.status = true\r\n }\r\n this.editDeptData.data = { ...scope }\r\n this.editDeptData.dialogVisible = true\r\n },\r\n updateDept(payload) {\r\n updateDept(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.editDeptData.dialogVisible = false\r\n this.getDeptList(this.searchData)\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 searchBtn() {\r\n this.getDeptList(this.searchData)\r\n },\r\n reset() {\r\n this.searchData = {\r\n deptName: '',\r\n status: ''\r\n }\r\n this.getDeptList(this.searchData)\r\n },\r\n handleTree(data, id, parentId, children) {\r\n let config = {\r\n id: id || 'id',\r\n parentId: parentId || 'parentId',\r\n childrenList: children || 'children'\r\n };\r\n\r\n var childrenListMap = {};\r\n var nodeIds = {};\r\n var tree = [];\r\n\r\n for (let d of data) {\r\n let parentId = d[config.parentId];\r\n if (childrenListMap[parentId] == null) {\r\n childrenListMap[parentId] = [];\r\n }\r\n nodeIds[d[config.id]] = d;\r\n childrenListMap[parentId].push(d);\r\n }\r\n\r\n for (let d of data) {\r\n let parentId = d[config.parentId];\r\n if (nodeIds[parentId] == null) {\r\n tree.push(d);\r\n }\r\n }\r\n\r\n for (let t of tree) {\r\n adaptToChildrenList(t);\r\n }\r\n\r\n function adaptToChildrenList(o) {\r\n if (childrenListMap[o[config.id]] !== null) {\r\n o[config.childrenList] = childrenListMap[o[config.id]];\r\n }\r\n if (o[config.childrenList]) {\r\n for (let c of o[config.childrenList]) {\r\n adaptToChildrenList(c);\r\n }\r\n }\r\n }\r\n return tree;\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: 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 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 .operateBtn {\r\n display: flex;\r\n justify-content: center;\r\n color: #1E9FFF;\r\n\r\n div {\r\n margin: 0 5px;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .pagination {\r\n margin: 10px 0;\r\n width: 100%;\r\n height: 20px;\r\n\r\n .el-pagination {\r\n float: right;\r\n }\r\n }\r\n }\r\n\r\n}\r\n</style>\r\n"],"mappings":"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"}]}