c0248dce226efab73885b3c0e253626e.json 24 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/videoService/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/videoService/index.vue","mtime":1708395041893},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKaW1wb3J0IHZpZGVvTGluZSBmcm9tICJAL2NvbXBvbmVudHMvdmlkZW9QbGF5ZXIvdmlkZW9MaW5lIjsKaW1wb3J0IHZpZGVvUGxheWVyIGZyb20gIkAvY29tcG9uZW50cy92aWRlb1BsYXllci92aWRlb1BsYXllciI7CmltcG9ydCBwbGF5YmFjayBmcm9tICJAL2NvbXBvbmVudHMvdmlkZW9QbGF5ZXIvcGxheWJhY2siOwovLyBpbXBvcnQgY2FtZXJhSW5mb01lc3NhZ2UgZnJvbSAiQC9jb21wb25lbnRzL3ZpZGVvUGxheWVyL2NhbWVyYUluZm9NZXNzYWdlIjsKaW1wb3J0IHsKICBjYW1lcmFUcmVlLAogIGludml0ZSwKICByZWNvcmRzLAogIHZpZGVvUXVhbnRpdHksCiAgbGluZURhdGUsCiAgdmlkZW9IaXN0b3JpY2FsQWxhcm0sCiAgZ2V0QWxhcm0sCn0gZnJvbSAiQC9hcGkvdmlkZW8iOwoKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJ2aWRlb1NlcnZpY2UiLAogIGNvbXBvbmVudHM6IHsgdmlkZW9MaW5lLCB2aWRlb1BsYXllciwgcGxheWJhY2sgfSwKICBjb21wdXRlZDogewogICAgLi4ubWFwR2V0dGVycyhbIm5hbWUiXSksCiAgfSwKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgY2hlY2tib3hBcnI6IFtdLAogICAgICBjaGVja2JveE9iajoge30sCiAgICAgIHZpZGVvTGlzdDogW10sCiAgICAgIHR5cGU6IDAsCiAgICAgIGdldEZpcnN0UmVkaW9MaXN0OiBbXSwKICAgICAgZ2V0U2Vjb25kUmVkaW9MaXN0OiBbXSwKICAgICAgaXNTaG93OiB0cnVlLAogICAgICBjYW1lcmFDb2RlOiAiIiwgLy8gW+aRhOWDj+acul0g5b2T5YmN6YCJ5oup56CBCiAgICAgIGNhbWVyYVRyZWVJbmRleDogIi0xIiwgLy8g5b2T5YmN6YCJ5oupCiAgICAgIGNhbWVyYVRyZWVEYXRhOiBbXSwgLy8g6KeG6aKR5qCRCiAgICAgIGZhY2lsaXR5UXVhbnRpdHk6ICIiLCAvLyDorr7lpIfmlbDph48KICAgICAgc2VhcmNoVGV4dDogIiIsCiAgICAgIHZpZGVvVHlwZTogMSwgLy8gW+aRhOWDj+acul0g5b2T5YmNL+WOhuWPsuinhumikQogICAgICBjYW1lcmFJbmZvOiB7CiAgICAgICAgLy8g5b2T5YmN5pGE5YOP5py65L+h5oGvCiAgICAgICAgY2FtZXJhQ29kZTogIiIsCiAgICAgICAgYWxhcm1UeXBlOiAiIiwKICAgICAgICBsaW5lRGlyOiAiIiwKICAgICAgICBkZXB0SWQ6ICIiLAogICAgICAgIGFsYXJtTWlsZTogIiIsCiAgICAgICAgYmVnaW5NaWxlOiAiIiwKICAgICAgICBpbnN0YWxsTG9uZ2l0dWRlOiAiIiwKICAgICAgICByZWxlYXNlZFRpbWU6ICIiLAogICAgICB9LAogICAgICBoaXN0b3JpY2FsQWxhcm06IHt9LCAvLyBb5pGE5YOP5py6XeWOhuWPsuaVsOaNrgogICAgfTsKICB9LAogIG1vdW50ZWQoKSB7CiAgICB0aGlzLmNhbWVyYVRyZWUoKTsKICAgIC8vIHRoaXMudmlkZW9RdWFudGl0eSgpOwogIH0sCiAgbWV0aG9kczogewogICAgY2xpY2tzKCkgewogICAgICAvLyB0aGlzLmNoZWNrYm94T2JqID0ge307CiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY2hlY2tib3hPYmopLm1hcCgoaXRlbSkgPT4gewogICAgICAgIHRoaXMuY2hlY2tib3hPYmpbaXRlbV0gPSBmYWxzZTsKICAgICAgfSk7CgogICAgICB0aGlzLmNoZWNrYm94QXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShbe30sIHt9LCB7fSwge31dKSk7CiAgICAgIHRoaXMuY2FtZXJhVHJlZURhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY2FtZXJhVHJlZURhdGEpKTsKCiAgICAgIHRoaXMuJGZvcmNlVXBkYXRlKCk7CiAgICB9LAogICAgZ2V0TnVtKGNvZGUpIHsKICAgICAgdmFyIGluZGV4ID0gdGhpcy50eXBlID09PSAwID8gMSA6IDQ7CiAgICAgIHZhciBkZWZpbmQgPQogICAgICAgIHRoaXMuY2hlY2tib3hBcnIuZmlsdGVyKChyZXMpID0+IHJlcy5jYW1lcmFDb2RlKS5sZW5ndGggPT09IGluZGV4OwogICAgICBpZiAoZGVmaW5kKSB7CiAgICAgICAgcmV0dXJuICF0aGlzLmNoZWNrYm94QXJyLmZpbHRlcigocmVzKSA9PiByZXMuY2FtZXJhQ29kZSA9PT0gY29kZSkKICAgICAgICAgIC5sZW5ndGg7CiAgICAgIH0KICAgICAgcmV0dXJuIGRlZmluZDsKICAgIH0sCiAgICBnZXRUeXBlKHJlcykgewogICAgICB0aGlzLnR5cGUgPSByZXM7CiAgICAgIHZhciBpbmRleCA9IHRoaXMudHlwZSA9PT0gMCA/IDEgOiA0OwogICAgICB0aGlzLmNoZWNrYm94QXJyLmxlbmd0aCA9IGluZGV4OwogICAgICBPYmplY3Qua2V5cyh0aGlzLmNoZWNrYm94T2JqKS5tYXAoKGl0ZW0pID0+IHsKICAgICAgICB0aGlzLmNoZWNrYm94T2JqW2l0ZW1dID0gZmFsc2U7CiAgICAgIH0pOwogICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5jaGVja2JveEFyci5sZW5ndGg7IGluZGV4KyspIHsKICAgICAgICAvLyBjb25zdCBlbGVtZW50ID0gdGhpcy5jaGVja2JveEFycltpbmRleF07CiAgICAgICAgLy8gaWYgKGVsZW1lbnQpIHsKICAgICAgICB0aGlzLmNoZWNrYm94QXJyW2luZGV4XSA9IHt9OwogICAgICAgIC8vIH0KICAgICAgfQogICAgICB0aGlzLmNoZWNrYm94QXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNoZWNrYm94QXJyKSk7CiAgICB9LAogICAgY2hlY2tib3hDbGljayhrZXksIHZhbHVlKSB7CiAgICAgIHZhciBjaGVja2JveEFyciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jaGVja2JveEFycikpOwogICAgICBpZiAoIXRoaXMuY2hlY2tib3hPYmpba2V5XSkgewogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hlY2tib3hBcnIubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChjaGVja2JveEFycltpXS5jYW1lcmFDb2RlID09PSBrZXkpIHsKICAgICAgICAgICAgY2hlY2tib3hBcnJbaV0gPSB7fTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgZGF0YSA9IHsKICAgICAgICAgIGNhbWVyYUNvZGU6IGtleSwKICAgICAgICAgIHZhbHVlOiB0aGlzLmNoZWNrYm94T2JqW2tleV0sCiAgICAgICAgfTsKICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2hlY2tib3hBcnIubGVuZ3RoOyBpbmRleCsrKSB7CiAgICAgICAgICBjb25zdCBpdGVtID0gY2hlY2tib3hBcnJbaW5kZXhdOwogICAgICAgICAgaWYgKCFpdGVtLmNhbWVyYUNvZGUpIHsKICAgICAgICAgICAgY2hlY2tib3hBcnJbaW5kZXhdID0gZGF0YTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJlY29yZHMoa2V5LCB0cnVlKS50aGVuKChyZXMpID0+IHsKICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jaGVja2JveEFyci5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAodGhpcy5jaGVja2JveEFycltpXS5jYW1lcmFDb2RlID09PSBrZXkpIHsKICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94QXJyW2ldLnNyYyA9IHJlcy5kYXRhLy8gKyAiPyIgKyBNYXRoLnJhbmRvbSgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLmNoZWNrYm94QXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNoZWNrYm94QXJyKSk7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGlmICgKICAgICAgICBjaGVja2JveEFyci5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2FtZXJhQ29kZSkubGVuZ3RoID4gNCAmJgogICAgICAgIHRoaXMuY2hlY2tib3hPYmpba2V5XQogICAgICApIHsKICAgICAgICB0aGlzLmNoZWNrYm94T2JqW2tleV0gPSBmYWxzZTsKICAgICAgICB0aGlzLmNoZWNrYm94T2JqID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNoZWNrYm94T2JqKSk7CiAgICAgICAgY2hlY2tib3hBcnIuc3BsaWNlKGNoZWNrYm94QXJyLmxlbmd0aCAtIDEsIDEpOwogICAgICB9CgogICAgICB0aGlzLmNoZWNrYm94QXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjaGVja2JveEFycikpOwogICAgfSwKICAgIC8vIOinhumikeaSreaUvgogICAgdmlkZW9QbGF5KHZhbCwgaW5kZXgpIHsKICAgICAgdGhpcy52aWRlb1R5cGUgPSAxOwogICAgICBpZiAoaW5kZXgpIHRoaXMuY2FtZXJhVHJlZUluZGV4ID0gaW5kZXg7CiAgICAgIHRoaXMuY2FtZXJhQ29kZSA9IHZhbDsKICAgIH0sCiAgICAvLyDojrflj5bmkYTlg4/mnLrmoJEKICAgIGNhbWVyYVRyZWUoKSB7CiAgICAgIGNhbWVyYVRyZWUoewogICAgICAgIHJhaWx3YXlDb2RlOiB0aGlzLnNlYXJjaFRleHQsCiAgICAgIH0pLnRoZW4oKHJlcykgPT4gewogICAgICAgIHRoaXMuY2FtZXJhVHJlZURhdGEgPSBbXTsKICAgICAgICAvLyBjb25zb2xlLmxvZyhyZXMuZGF0YS5jaGlsZHJlbiwnZGF0YWFhYWFhYWFhYWFhYS4uLi4uLi4uLi4uLi4uLi4uLicpCgogICAgICAgIGxldCBjb2RlID0gIiI7CgogICAgICAgIHRoaXMuY2FtZXJhVHJlZURhdGEgPSByZXMuZGF0YS5jaGlsZHJlbi5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7CiAgICAgICAgICBpdGVtLmluZGV4ID0gYCR7aW5kZXh9YDsKICAgICAgICAgIGl0ZW0ubGFiZWwgPSBpdGVtLm5hbWU7CiAgICAgICAgICBpdGVtLnZhbHVlID0gaXRlbS5jb2RlOwogICAgICAgICAgaXRlbS5pc1NlbGVjdCA9IGZhbHNlOwoKICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkgewogICAgICAgICAgICBpdGVtLmlzVmlkZW8gPSBmYWxzZTsKCiAgICAgICAgICAgIC8vIOesrOS6jOe6pwogICAgICAgICAgICBpdGVtLmNoaWxkcmVuLm1hcCgoaXRlbTIsIGluZGV4MikgPT4gewogICAgICAgICAgICAgIHRoaXMuZ2V0Rmlyc3RSZWRpb0xpc3QucHVzaChpdGVtMik7CiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5nZXRGaXJzdFJlZGlvTGlzdCwgIioqKioqKioqKiIpOwogICAgICAgICAgICAgIGl0ZW0yLmluZGV4ID0gYCR7aW5kZXh9LSR7aW5kZXgyfWA7CiAgICAgICAgICAgICAgaXRlbTIubGFiZWwgPSBpdGVtMi5uYW1lOwogICAgICAgICAgICAgIGl0ZW0yLnZhbHVlID0gaXRlbTIuY29kZTsKICAgICAgICAgICAgICBpdGVtMi5pc1NlbGVjdCA9IGZhbHNlOwoKICAgICAgICAgICAgICBpZiAoaXRlbTIuY2hpbGRyZW4gJiYgaXRlbTIuY2hpbGRyZW4ubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgaXRlbTIuaXNWaWRlbyA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIC8vIOesrOS4iee6pwogICAgICAgICAgICAgICAgaXRlbTIuY2hpbGRyZW4ubWFwKChpdGVtMywgaW5kZXgzKSA9PiB7CiAgICAgICAgICAgICAgICAgIGl0ZW0zLmluZGV4ID0gYCR7aW5kZXh9LSR7aW5kZXgyfS0ke2luZGV4M31gOwogICAgICAgICAgICAgICAgICBpdGVtMy5sYWJlbCA9IGl0ZW0zLm5hbWU7CiAgICAgICAgICAgICAgICAgIGl0ZW0zLnZhbHVlID0gaXRlbTMuY29kZTsKICAgICAgICAgICAgICAgICAgaXRlbTMuaXNTZWxlY3QgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgaXRlbTMuaXNWaWRlbyA9IHRydWU7CgogICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSAiIikgewogICAgICAgICAgICAgICAgICAgIGNvZGUgPSBpdGVtMy5jb2RlOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhVHJlZUluZGV4ID0gaXRlbTMuaW5kZXg7CiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtMzsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpdGVtMi5pc1ZpZGVvID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGlmIChjb2RlID09ICIiKSB7CiAgICAgICAgICAgICAgICAgIGNvZGUgPSBpdGVtMi5jb2RlOwogICAgICAgICAgICAgICAgICB0aGlzLmNhbWVyYVRyZWVJbmRleCA9IGl0ZW0yLmluZGV4OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0yOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGl0ZW0uaXNWaWRlbyA9IHRydWU7CiAgICAgICAgICAgIGlmIChjb2RlID09ICIiKSB7CiAgICAgICAgICAgICAgY29kZSA9IGl0ZW0uY29kZTsKICAgICAgICAgICAgICB0aGlzLmNhbWVyYVRyZWVJbmRleCA9IGl0ZW0uaW5kZXg7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gaXRlbTsKICAgICAgICB9KTsKICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNhbWVyYVRyZWVEYXRhLCAidGhpcy5jYW1lcmFUcmVlRGF0YSoqLy8vLy8vIik7CgogICAgICAgIHRoaXMuJHNldCh0aGlzLmNhbWVyYVRyZWVEYXRhKTsKICAgICAgICBpZiAoY29kZSkgdGhpcy52aWRlb1BsYXkoY29kZSk7CiAgICAgIH0pOwogICAgfSwKICB9LAp9Owo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoLA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/videoService","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 \"\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 \"@/components/videoPlayer/playback\";\n// import cameraInfoMessage from \"@/components/videoPlayer/cameraInfoMessage\";\nimport {\n cameraTree,\n invite,\n records,\n videoQuantity,\n lineDate,\n videoHistoricalAlarm,\n getAlarm,\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 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 records(key, true).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// + \"?\" + 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>"]}]}