1719cf3b3de762ad28678b37a2b19534.json 25 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/dataSimulation/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/dataSimulation/index.vue","mtime":1708395041887},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKaW1wb3J0IHZpZGVvTGluZSBmcm9tICJAL2NvbXBvbmVudHMvdmlkZW9QbGF5ZXIvdmlkZW9MaW5lIjsKaW1wb3J0IHZpZGVvUGxheWVyIGZyb20gIkAvY29tcG9uZW50cy92aWRlb1BsYXllci92aWRlb1BsYXllciI7CmltcG9ydCBwbGF5YmFjayBmcm9tICIuL3BsYXliYWNrIjsKLy8gaW1wb3J0IGNhbWVyYUluZm9NZXNzYWdlIGZyb20gIkAvY29tcG9uZW50cy92aWRlb1BsYXllci9jYW1lcmFJbmZvTWVzc2FnZSI7CmltcG9ydCB7CiAgY2FtZXJhVHJlZSwKICBpbnZpdGUsCiAgcmVjb3JkcywKICB2aWRlb1F1YW50aXR5LAogIGxpbmVEYXRlLAogIHZpZGVvSGlzdG9yaWNhbEFsYXJtLAogIGdldEFsYXJtLAogIGJlc2VHZXRDYW1lcmFDb2RlLAp9IGZyb20gIkAvYXBpL3ZpZGVvIjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAidmlkZW9TZXJ2aWNlIiwKICBjb21wb25lbnRzOiB7IHZpZGVvTGluZSwgdmlkZW9QbGF5ZXIsIHBsYXliYWNrIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC4uLm1hcEdldHRlcnMoWyJuYW1lIl0pLAogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGNoZWNrYm94QXJyOiBbXSwKICAgICAgY2hlY2tib3hPYmo6IHt9LAogICAgICB2aWRlb0xpc3Q6IFtdLAogICAgICB0eXBlOiAwLAogICAgICBnZXRGaXJzdFJlZGlvTGlzdDogW10sCiAgICAgIGdldFNlY29uZFJlZGlvTGlzdDogW10sCiAgICAgIGlzU2hvdzogdHJ1ZSwKICAgICAgY2FtZXJhQ29kZTogIiIsIC8vIFvmkYTlg4/mnLpdIOW9k+WJjemAieaLqeeggQogICAgICBjYW1lcmFUcmVlSW5kZXg6ICItMSIsIC8vIOW9k+WJjemAieaLqQogICAgICBjYW1lcmFUcmVlRGF0YTogW10sIC8vIOinhumikeagkQogICAgICBmYWNpbGl0eVF1YW50aXR5OiAiIiwgLy8g6K6+5aSH5pWw6YePCiAgICAgIHNlYXJjaFRleHQ6ICIiLAogICAgICB2aWRlb1R5cGU6IDEsIC8vIFvmkYTlg4/mnLpdIOW9k+WJjS/ljoblj7Lop4bpopEKICAgICAgY2FtZXJhSW5mbzogewogICAgICAgIC8vIOW9k+WJjeaRhOWDj+acuuS/oeaBrwogICAgICAgIGNhbWVyYUNvZGU6ICIiLAogICAgICAgIGFsYXJtVHlwZTogIiIsCiAgICAgICAgbGluZURpcjogIiIsCiAgICAgICAgZGVwdElkOiAiIiwKICAgICAgICBhbGFybU1pbGU6ICIiLAogICAgICAgIGJlZ2luTWlsZTogIiIsCiAgICAgICAgaW5zdGFsbExvbmdpdHVkZTogIiIsCiAgICAgICAgcmVsZWFzZWRUaW1lOiAiIiwKICAgICAgfSwKICAgICAgaGlzdG9yaWNhbEFsYXJtOiB7fSwgLy8gW+aRhOWDj+acul3ljoblj7LmlbDmja4KICAgIH07CiAgfSwKICBtb3VudGVkKCkgewogICAgdGhpcy5jYW1lcmFUcmVlKCk7CiAgICAvLyB0aGlzLnZpZGVvUXVhbnRpdHkoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGNsaWNrcygpIHsKICAgICAgdGhpcy5jaGVja2JveE9iaiA9IHt9OwogICAgICBPYmplY3Qua2V5cyh0aGlzLmNoZWNrYm94T2JqKS5tYXAoKGl0ZW0pID0+IHsKICAgICAgICB0aGlzLmNoZWNrYm94T2JqW2l0ZW1dID0gZmFsc2U7CiAgICAgIH0pOwoKICAgICAgdGhpcy5jaGVja2JveEFyciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoW3t9LCB7fSwge30sIHt9XSkpOwogICAgICB0aGlzLmNhbWVyYVRyZWVEYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNhbWVyYVRyZWVEYXRhKSk7CiAgICAgIAogICAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5lbC1jYXJkX19ib2R5IC5lbC1tZW51Om50aC1vZi10eXBlKDEpIGlucHV0IikpLm1hcChpdGVtID0+IHsKICAgICAgICBpZihpdGVtLmNoZWNrZWQpewogICAgICAgICAgaXRlbS5jbGljaygpCiAgICAgICAgfQogICAgICB9KQoKICAgICAgdGhpcy4kZm9yY2VVcGRhdGUoKTsKICAgIH0sCiAgICBnZXROdW0oY29kZSkgewogICAgICB2YXIgaW5kZXggPSB0aGlzLnR5cGUgPT09IDAgPyAxIDogNDsKICAgICAgdmFyIGRlZmluZCA9CiAgICAgICAgdGhpcy5jaGVja2JveEFyci5maWx0ZXIoKHJlcykgPT4gcmVzLmNhbWVyYUNvZGUpLmxlbmd0aCA9PT0gaW5kZXg7CiAgICAgIGlmIChkZWZpbmQpIHsKICAgICAgICByZXR1cm4gIXRoaXMuY2hlY2tib3hBcnIuZmlsdGVyKChyZXMpID0+IHJlcy5jYW1lcmFDb2RlID09PSBjb2RlKQogICAgICAgICAgLmxlbmd0aDsKICAgICAgfQogICAgICByZXR1cm4gZGVmaW5kOwogICAgfSwKICAgIGdldFR5cGUocmVzKSB7CiAgICAgIHRoaXMudHlwZSA9IHJlczsKICAgICAgdmFyIGluZGV4ID0gdGhpcy50eXBlID09PSAwID8gMSA6IDQ7CiAgICAgIHRoaXMuY2hlY2tib3hBcnIubGVuZ3RoID0gaW5kZXg7CiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY2hlY2tib3hPYmopLm1hcCgoaXRlbSkgPT4gewogICAgICAgIHRoaXMuY2hlY2tib3hPYmpbaXRlbV0gPSBmYWxzZTsKICAgICAgfSk7CiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmNoZWNrYm94QXJyLmxlbmd0aDsgaW5kZXgrKykgewogICAgICAgIC8vIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNoZWNrYm94QXJyW2luZGV4XTsKICAgICAgICAvLyBpZiAoZWxlbWVudCkgewogICAgICAgIHRoaXMuY2hlY2tib3hBcnJbaW5kZXhdID0ge307CiAgICAgICAgLy8gfQogICAgICB9CiAgICAgIHRoaXMuY2hlY2tib3hBcnIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY2hlY2tib3hBcnIpKTsKICAgIH0sCiAgICBjaGVja2JveENsaWNrKGtleSwgdmFsdWUpIHsKICAgICAgdmFyIGNoZWNrYm94QXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNoZWNrYm94QXJyKSk7CiAgICAgIGlmICghdGhpcy5jaGVja2JveE9ialtrZXldKSB7CiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGVja2JveEFyci5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKGNoZWNrYm94QXJyW2ldLmNhbWVyYUNvZGUgPT09IGtleSkgewogICAgICAgICAgICBjaGVja2JveEFycltpXSA9IHt9OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zdCBkYXRhID0gewogICAgICAgICAgY2FtZXJhQ29kZToga2V5LAogICAgICAgICAgdmFsdWU6IHRoaXMuY2hlY2tib3hPYmpba2V5XSwKICAgICAgICB9OwogICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjaGVja2JveEFyci5sZW5ndGg7IGluZGV4KyspIHsKICAgICAgICAgIGNvbnN0IGl0ZW0gPSBjaGVja2JveEFycltpbmRleF07CiAgICAgICAgICBpZiAoIWl0ZW0uY2FtZXJhQ29kZSkgewogICAgICAgICAgICBjaGVja2JveEFycltpbmRleF0gPSBkYXRhOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY29uc29sZS5sb2coa2V5LCAiZmZmZmYiKTsKICAgICAgICBiZXNlR2V0Q2FtZXJhQ29kZShrZXkpLnRoZW4oKHJlcykgPT4gewogICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNoZWNrYm94QXJyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmNoZWNrYm94QXJyW2ldLmNhbWVyYUNvZGUgPT09IGtleSkgewogICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hBcnJbaV0uc3JjID0gcmVzLmRhdGEudXJsICsgIj8iICsgTWF0aC5yYW5kb20oKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgdGhpcy5jaGVja2JveEFyciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jaGVja2JveEFycikpOwogICAgICAgIH0pOwogICAgICB9CgogICAgICBpZiAoCiAgICAgICAgY2hlY2tib3hBcnIuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNhbWVyYUNvZGUpLmxlbmd0aCA+IDQgJiYKICAgICAgICB0aGlzLmNoZWNrYm94T2JqW2tleV0KICAgICAgKSB7CiAgICAgICAgdGhpcy5jaGVja2JveE9ialtrZXldID0gZmFsc2U7CiAgICAgICAgdGhpcy5jaGVja2JveE9iaiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jaGVja2JveE9iaikpOwogICAgICAgIGNoZWNrYm94QXJyLnNwbGljZShjaGVja2JveEFyci5sZW5ndGggLSAxLCAxKTsKICAgICAgfQoKICAgICAgdGhpcy5jaGVja2JveEFyciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY2hlY2tib3hBcnIpKTsKICAgIH0sCiAgICAvLyDop4bpopHmkq3mlL4KICAgIHZpZGVvUGxheSh2YWwsIGluZGV4KSB7CiAgICAgIHRoaXMudmlkZW9UeXBlID0gMTsKICAgICAgaWYgKGluZGV4KSB0aGlzLmNhbWVyYVRyZWVJbmRleCA9IGluZGV4OwogICAgICB0aGlzLmNhbWVyYUNvZGUgPSB2YWw7CiAgICB9LAogICAgLy8g6I635Y+W5pGE5YOP5py65qCRCiAgICBjYW1lcmFUcmVlKCkgewogICAgICBjYW1lcmFUcmVlKHsKICAgICAgICByYWlsd2F5Q29kZTogdGhpcy5zZWFyY2hUZXh0LAogICAgICB9KS50aGVuKChyZXMpID0+IHsKICAgICAgICB0aGlzLmNhbWVyYVRyZWVEYXRhID0gW107CiAgICAgICAgLy8gY29uc29sZS5sb2cocmVzLmRhdGEuY2hpbGRyZW4sJ2RhdGFhYWFhYWFhYWFhYWEuLi4uLi4uLi4uLi4uLi4uLi4nKQoKICAgICAgICBsZXQgY29kZSA9ICIiOwoKICAgICAgICB0aGlzLmNhbWVyYVRyZWVEYXRhID0gcmVzLmRhdGEuY2hpbGRyZW4ubWFwKChpdGVtLCBpbmRleCkgPT4gewogICAgICAgICAgaXRlbS5pbmRleCA9IGAke2luZGV4fWA7CiAgICAgICAgICBpdGVtLmxhYmVsID0gaXRlbS5uYW1lOwogICAgICAgICAgaXRlbS52YWx1ZSA9IGl0ZW0uY29kZTsKICAgICAgICAgIGl0ZW0uaXNTZWxlY3QgPSBmYWxzZTsKCiAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgaXRlbS5pc1ZpZGVvID0gZmFsc2U7CgogICAgICAgICAgICAvLyDnrKzkuoznuqcKICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5tYXAoKGl0ZW0yLCBpbmRleDIpID0+IHsKICAgICAgICAgICAgICB0aGlzLmdldEZpcnN0UmVkaW9MaXN0LnB1c2goaXRlbTIpOwogICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZ2V0Rmlyc3RSZWRpb0xpc3QsICIqKioqKioqKioiKTsKICAgICAgICAgICAgICBpdGVtMi5pbmRleCA9IGAke2luZGV4fS0ke2luZGV4Mn1gOwogICAgICAgICAgICAgIGl0ZW0yLmxhYmVsID0gaXRlbTIubmFtZTsKICAgICAgICAgICAgICBpdGVtMi52YWx1ZSA9IGl0ZW0yLmNvZGU7CiAgICAgICAgICAgICAgaXRlbTIuaXNTZWxlY3QgPSBmYWxzZTsKCiAgICAgICAgICAgICAgaWYgKGl0ZW0yLmNoaWxkcmVuICYmIGl0ZW0yLmNoaWxkcmVuLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIGl0ZW0yLmlzVmlkZW8gPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAvLyDnrKzkuInnuqcKICAgICAgICAgICAgICAgIGl0ZW0yLmNoaWxkcmVuLm1hcCgoaXRlbTMsIGluZGV4MykgPT4gewogICAgICAgICAgICAgICAgICBpdGVtMy5pbmRleCA9IGAke2luZGV4fS0ke2luZGV4Mn0tJHtpbmRleDN9YDsKICAgICAgICAgICAgICAgICAgaXRlbTMubGFiZWwgPSBpdGVtMy5uYW1lOwogICAgICAgICAgICAgICAgICBpdGVtMy52YWx1ZSA9IGl0ZW0zLmNvZGU7CiAgICAgICAgICAgICAgICAgIGl0ZW0zLmlzU2VsZWN0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgIGl0ZW0zLmlzVmlkZW8gPSB0cnVlOwoKICAgICAgICAgICAgICAgICAgaWYgKGNvZGUgPT0gIiIpIHsKICAgICAgICAgICAgICAgICAgICBjb2RlID0gaXRlbTMuY29kZTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbWVyYVRyZWVJbmRleCA9IGl0ZW0zLmluZGV4OwogICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTM7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaXRlbTIuaXNWaWRlbyA9IHRydWU7CiAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSAiIikgewogICAgICAgICAgICAgICAgICBjb2RlID0gaXRlbTIuY29kZTsKICAgICAgICAgICAgICAgICAgdGhpcy5jYW1lcmFUcmVlSW5kZXggPSBpdGVtMi5pbmRleDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHJldHVybiBpdGVtMjsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpdGVtLmlzVmlkZW8gPSB0cnVlOwogICAgICAgICAgICBpZiAoY29kZSA9PSAiIikgewogICAgICAgICAgICAgIGNvZGUgPSBpdGVtLmNvZGU7CiAgICAgICAgICAgICAgdGhpcy5jYW1lcmFUcmVlSW5kZXggPSBpdGVtLmluZGV4OwogICAgICAgICAgICB9CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgfSk7CiAgICAgICAgY29uc29sZS5sb2codGhpcy5jYW1lcmFUcmVlRGF0YSwgInRoaXMuY2FtZXJhVHJlZURhdGEqKi8vLy8vLyIpOwoKICAgICAgICB0aGlzLiRzZXQodGhpcy5jYW1lcmFUcmVlRGF0YSk7CiAgICAgICAgaWYgKGNvZGUpIHRoaXMudmlkZW9QbGF5KGNvZGUpOwogICAgICB9KTsKICAgIH0sCiAgfSwKfTsK"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmLA;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;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/dataSimulation","sourcesContent":["<template>\n <el-card\n body-style=\"{padding:'0px'}\"\n style=\"height: calc(100vh - 113px)\"\n class=\"dashboard-container\"\n >\n <el-container style=\"height: 100%\" class=\"videoService\">\n <el-aside\n style=\"\n padding: 10px 20px 30px 30px;\n box-shadow: rgb(193 193 193) 0px 0px 10px;\n \"\n >\n <div\n style=\"\n display: flex;\n justify-content: space-between;\n align-items: center;\n \"\n >\n <div\n style=\"\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n \"\n >\n <div\n style=\"\n display: flex;\n justify-content: space-between;\n align-items: center;\n justify-content: center;\n width: 250px;\n background: #eee;\n height: 40px;\n color: #2766dd;\n \"\n >\n 相机列表\n <!-- <span style=\"color: #2766dd\">{{ facilityQuantity }}</span> -->\n </div>\n <!-- <div></div> -->\n </div>\n </div>\n\n <el-input\n v-model=\"searchText\"\n class=\"input-with-select\"\n placeholder=\"请输入相机编码或线路名称\"\n style=\"margin-top: 10px\"\n suffix-icon=\"el-icon-search\"\n clearable\n @change=\"cameraTree\"\n />\n <div\n style=\"\n font-size: 14px;\n float: right;\n position: relative;\n top: 8px;\n width: 50px;\n text-align: center;\n color: #f7f8f8;\n background: #2766dd;\n padding: 5px;\n border-radius: 2px;\n cursor: pointer;\n \"\n @click=\"clicks\"\n >\n 重置\n </div>\n <el-menu\n :default-active=\"cameraTreeIndex\"\n style=\"\n margin-top: 40px;\n height: calc(100% - 130px);\n visibility: auto;\n overflow-y: auto;\n \"\n >\n <div\n style=\"\n color: #b9b9b9;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n \"\n v-if=\"cameraTreeData.length <= 0\"\n >\n 暂无数据\n </div>\n <!--1级-->\n <el-submenu v-for=\"item1 in cameraTreeData\" :index=\"item1.index\">\n <template slot=\"title\">\n <div style=\"height: 100%; display: flex; align-items: center\">\n <img\n src=\"@/assets/1.png\"\n style=\"margin-right: 5px; width: 15px\"\n />\n <div>{{ item1.name }}</div>\n </div>\n </template>\n\n <!--2级-->\n <template v-for=\"item2 in item1.children\">\n <template v-if=\"item2.children.length > 0\">\n <!--2级有下级-->\n <el-submenu :index=\"item2.index\">\n <template slot=\"title\">{{ item2.name }}</template>\n\n <!--3级-->\n <!-- @click=\"videoPlay(item3.code, item2.index)\" -->\n <el-menu-item\n v-for=\"item3 in item2.children\"\n :index=\"item3.index\"\n >\n <el-checkbox\n :disabled=\"getNum(item3.code)\"\n @change=\"checkboxClick(item3.code)\"\n v-model=\"checkboxObj[item3.code]\"\n ><img\n src=\"@/assets/2.png\"\n style=\"\n width: 20px;\n height: 15px;\n margin-bottom: 3px;\n margin-right: 3px;\n \"\n />\n {{ item3.name }}</el-checkbox\n >\n </el-menu-item>\n </el-submenu>\n </template>\n <template v-else>\n <!--2级无下级-->\n <!-- @click=\"videoPlay(item2.code, item2.index)\" -->\n <el-menu-item :index=\"item2.index\">\n <el-checkbox\n :disabled=\"getNum(item2.code)\"\n @change=\"checkboxClick(item2.code)\"\n v-model=\"checkboxObj[item2.code]\"\n ><img\n src=\"@/assets/2.png\"\n style=\"\n width: 20px;\n height: 15px;\n margin-bottom: 3px;\n margin-right: 3px;\n \"\n />\n {{ item2.name }}</el-checkbox\n >\n </el-menu-item>\n </template>\n </template>\n </el-submenu>\n </el-menu>\n </el-aside>\n\n <playback\n style=\"padding: 60px 20px 20px 20px\"\n :videoType=\"videoType\"\n @getType=\"getType\"\n :checkboxArr=\"checkboxArr\"\n :cameraCode=\"cameraCode\"\n @tabChange=\"palyAndPlaybackTabChange\"\n :getAllCamera=\"this.getFirstRedioList\"\n ></playback>\n </el-container>\n </el-card>\n</template>\n \n <script>\nimport { mapGetters } from \"vuex\";\nimport videoLine from \"@/components/videoPlayer/videoLine\";\nimport videoPlayer from \"@/components/videoPlayer/videoPlayer\";\nimport playback from \"./playback\";\n// import cameraInfoMessage from \"@/components/videoPlayer/cameraInfoMessage\";\nimport {\n cameraTree,\n invite,\n records,\n videoQuantity,\n lineDate,\n videoHistoricalAlarm,\n getAlarm,\n beseGetCameraCode,\n} from \"@/api/video\";\n\nexport default {\n name: \"videoService\",\n components: { videoLine, videoPlayer, playback },\n computed: {\n ...mapGetters([\"name\"]),\n },\n data() {\n return {\n checkboxArr: [],\n checkboxObj: {},\n videoList: [],\n type: 0,\n getFirstRedioList: [],\n getSecondRedioList: [],\n isShow: true,\n cameraCode: \"\", // [摄像机] 当前选择码\n cameraTreeIndex: \"-1\", // 当前选择\n cameraTreeData: [], // 视频树\n facilityQuantity: \"\", // 设备数量\n searchText: \"\",\n videoType: 1, // [摄像机] 当前/历史视频\n cameraInfo: {\n // 当前摄像机信息\n cameraCode: \"\",\n alarmType: \"\",\n lineDir: \"\",\n deptId: \"\",\n alarmMile: \"\",\n beginMile: \"\",\n installLongitude: \"\",\n releasedTime: \"\",\n },\n historicalAlarm: {}, // [摄像机]历史数据\n };\n },\n mounted() {\n this.cameraTree();\n // this.videoQuantity();\n },\n methods: {\n clicks() {\n this.checkboxObj = {};\n Object.keys(this.checkboxObj).map((item) => {\n this.checkboxObj[item] = false;\n });\n\n this.checkboxArr = JSON.parse(JSON.stringify([{}, {}, {}, {}]));\n this.cameraTreeData = JSON.parse(JSON.stringify(this.cameraTreeData));\n \n Array.from(document.querySelectorAll(\".el-card__body .el-menu:nth-of-type(1) input\")).map(item => {\n if(item.checked){\n item.click()\n }\n })\n\n this.$forceUpdate();\n },\n getNum(code) {\n var index = this.type === 0 ? 1 : 4;\n var defind =\n this.checkboxArr.filter((res) => res.cameraCode).length === index;\n if (defind) {\n return !this.checkboxArr.filter((res) => res.cameraCode === code)\n .length;\n }\n return defind;\n },\n getType(res) {\n this.type = res;\n var index = this.type === 0 ? 1 : 4;\n this.checkboxArr.length = index;\n Object.keys(this.checkboxObj).map((item) => {\n this.checkboxObj[item] = false;\n });\n for (let index = 0; index < this.checkboxArr.length; index++) {\n // const element = this.checkboxArr[index];\n // if (element) {\n this.checkboxArr[index] = {};\n // }\n }\n this.checkboxArr = JSON.parse(JSON.stringify(this.checkboxArr));\n },\n checkboxClick(key, value) {\n var checkboxArr = JSON.parse(JSON.stringify(this.checkboxArr));\n if (!this.checkboxObj[key]) {\n for (let i = 0; i < checkboxArr.length; i++) {\n if (checkboxArr[i].cameraCode === key) {\n checkboxArr[i] = {};\n }\n }\n } else {\n const data = {\n cameraCode: key,\n value: this.checkboxObj[key],\n };\n for (let index = 0; index < checkboxArr.length; index++) {\n const item = checkboxArr[index];\n if (!item.cameraCode) {\n checkboxArr[index] = data;\n break;\n }\n }\n console.log(key, \"fffff\");\n beseGetCameraCode(key).then((res) => {\n for (let i = 0; i < this.checkboxArr.length; i++) {\n if (this.checkboxArr[i].cameraCode === key) {\n this.checkboxArr[i].src = res.data.url + \"?\" + Math.random();\n }\n }\n this.checkboxArr = JSON.parse(JSON.stringify(this.checkboxArr));\n });\n }\n\n if (\n checkboxArr.filter((item) => item.cameraCode).length > 4 &&\n this.checkboxObj[key]\n ) {\n this.checkboxObj[key] = false;\n this.checkboxObj = JSON.parse(JSON.stringify(this.checkboxObj));\n checkboxArr.splice(checkboxArr.length - 1, 1);\n }\n\n this.checkboxArr = JSON.parse(JSON.stringify(checkboxArr));\n },\n // 视频播放\n videoPlay(val, index) {\n this.videoType = 1;\n if (index) this.cameraTreeIndex = index;\n this.cameraCode = val;\n },\n // 获取摄像机树\n cameraTree() {\n cameraTree({\n railwayCode: this.searchText,\n }).then((res) => {\n this.cameraTreeData = [];\n // console.log(res.data.children,'dataaaaaaaaaaaaa..................')\n\n let code = \"\";\n\n this.cameraTreeData = res.data.children.map((item, index) => {\n item.index = `${index}`;\n item.label = item.name;\n item.value = item.code;\n item.isSelect = false;\n\n if (item.children && item.children.length > 0) {\n item.isVideo = false;\n\n // 第二级\n item.children.map((item2, index2) => {\n this.getFirstRedioList.push(item2);\n console.log(this.getFirstRedioList, \"*********\");\n item2.index = `${index}-${index2}`;\n item2.label = item2.name;\n item2.value = item2.code;\n item2.isSelect = false;\n\n if (item2.children && item2.children.length > 0) {\n item2.isVideo = false;\n\n // 第三级\n item2.children.map((item3, index3) => {\n item3.index = `${index}-${index2}-${index3}`;\n item3.label = item3.name;\n item3.value = item3.code;\n item3.isSelect = false;\n item3.isVideo = true;\n\n if (code == \"\") {\n code = item3.code;\n this.cameraTreeIndex = item3.index;\n }\n\n return item3;\n });\n } else {\n item2.isVideo = true;\n if (code == \"\") {\n code = item2.code;\n this.cameraTreeIndex = item2.index;\n }\n }\n\n return item2;\n });\n } else {\n item.isVideo = true;\n if (code == \"\") {\n code = item.code;\n this.cameraTreeIndex = item.index;\n }\n }\n\n return item;\n });\n console.log(this.cameraTreeData, \"this.cameraTreeData**//////\");\n\n this.$set(this.cameraTreeData);\n if (code) this.videoPlay(code);\n });\n },\n },\n};\n</script>\n \n <style lang=\"scss\" scoped>\n.dashboard {\n &-container {\n margin: 30px 30px 30px;\n }\n\n &-text {\n font-size: 30px;\n line-height: 46px;\n }\n}\n\n::v-deep .el-submenu__title {\n height: 45px;\n}\n\n::v-deep .el-submenu .el-menu-item {\n height: 42px;\n line-height: 42px;\n padding: 0 45px;\n min-width: 200px;\n}\n\n::v-deep .el-card__body {\n height: 100%;\n padding: 0;\n}\n\n::v-deep .el-menu {\n border: none;\n}\n\n.el-menu--horizontal > .el-menu-item.is-active {\n background-color: #20a0ff;\n color: #ffffff;\n height: 35px;\n line-height: 35px;\n}\n\n.el-menu-item.is-active {\n background-color: #2766dd;\n color: #ffffff;\n}\n\n.el-menu--horizontal > .el-menu-item {\n height: 35px;\n line-height: 35px;\n}\n\n.el-card.is-always-shadow,\n.el-card.is-hover-shadow:focus {\n box-shadow: none;\n}\n\n.el-card {\n border: 1px solid#FFFF;\n background-color: #fff;\n}\n</style>\n \n <style lang=\"scss\">\n.videoService {\n .el-aside .el-menu-item.is-active {\n background: #e9f1f7 !important;\n color: #2866dd !important;\n }\n\n .el-menu-item:hover {\n background: #e4e4e4 !important;\n }\n}\n.className1 {\n background: #000;\n .jessibuca-container {\n height: calc(100% - 20px);\n }\n}\n</style>"]}]}