app.017bdaaa.js.map 120 KB

1
  1. {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/layout/layout.vue?a0a4","webpack:///./src/App.vue?4bca","webpack:///./src/App.vue","webpack:///./src/App.vue?eabf","webpack:///./src/views/login/login.vue","webpack:///./src/static/js/token.js","webpack:///./src/views/login/login.vue?542f","webpack:///./src/views/layout/layout.vue","webpack:///./src/views/layout/layout.vue?adc9","webpack:///./src/views/monitor/logs.vue","webpack:///./src/views/monitor/logs.vue?0713","webpack:///./src/views/system/item.vue","webpack:///./src/views/system/item.vue?b00b","webpack:///./src/views/system/group.vue","webpack:///./src/views/system/group.vue?5339","webpack:///./src/views/devices/lp.vue","webpack:///./src/views/devices/lp.vue?552d","webpack:///./src/views/devices/ubi.vue","webpack:///./src/views/devices/ubi.vue?c747","webpack:///./src/views/map/lp.vue","webpack:///./src/views/map/lp.vue?70a6","webpack:///./src/views/system/users.vue","webpack:///./src/views/system/users.vue?32be","webpack:///./src/router/index.js","webpack:///./src/static/js/global.js","webpack:///./src/static/js/axiosCfg.js","webpack:///./src/static/js/http.js","webpack:///./src/main.js","webpack:///./src/views/map/lp.vue?8361","webpack:///./src/views/layout/static/logo.png","webpack:///./src/views/login/login.vue?1ff0"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","id","script","render","class","ref","model","form","label-width","rules","label","prop","username","type","password","submitForm","TokenManager","setToken","tokenAndName","localStorage","setItem","JSON","stringify","getToken","getItem","removeToken","removeItem","required","message","trigger","methods","formName","this","$refs","validate","valid","$http","Post","$global","login","then","res","$router","replace","__scopeId","src","alt","width","default-active","background-color","text-color","index","title","to","style","dropdown","logout","nickname","Component","mounted","initToken","Get","verify","obj","parse","query","openNum","size","clearable","placeholder","mList","item","code","remark","submit","page","records","header-cell-class-name","cell-class-name","stripe","default","scope","row","placement","content","reference","min-width","background","layout","current-page","current","total","page-size","pagination","getAllInstruction","getListPage","param","params","logs","listPage","console","log","instructions","status","addDialog","max-height","handleUpdate","handlePass","handleRefuse","footer","addSubmit","addForm","maxlength","updateDialog","updateSubmit","updateForm","save","$message","success","refresh","update","forbidden","permit","itemId","group","groupId","filterable","groups","detailHandler","detailDialog","column","border","detail","wakeInt","thresh","temp","battery","s4g","dataType","x","y","z","anglex","angley","anglexz","lon","lat","getDevicesList","getGroupList","getDeviceDetail","lp","listAll","arr","forEach","height","powerVolt","toFixed","effect","signal4g","parseInt","editRemark","ubi","deviceBase","updateRemark","openNumList","device","anglez","updateTime","site","map","markers","icon","deviceList","activated","initMap","getDeviceList","option","zoom","AMap","Map","Icon","image","imageSize","latGcj","lonGcj","setZoomAndCenter","warning","addMarkers","devices","that","remove","buildMarker","add","Marker","position","deviceId","animation","on","admin","edit","setGroups","setAdmin","groupDialog","setGroupSubmit","groupList","show-checkbox","node-key","highlight-current","props","defaultProps","accordion","children","selUserId","getUserList","users","userId","adminAccess","getNoAccessGroups","tree","getCheckedKeys","error","substr","saveGroupAccess","routes","path","component","Layout","Logs","DevicesLp","DevicesUbi","MapLp","Group","Users","Login","router","createRouter","history","createWebHashHistory","server","URL","webSocket","Axios","defaults","headers","interceptors","request","use","config","tokenStr","token","response","ElMessage","msg","loading","openLoad","close","ElLoading","service","text","closeLoad","Http","url","Promise","resolve","reject","post","Qs","Download","fileName","responseType","link","document","createElement","display","href","createObjectURL","Blob","setAttribute","body","appendChild","click","revokeObjectURL","removeChild","app","createApp","App","globalProperties","Global","ElementPlus","mount"],"mappings":"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","file":"js/app.017bdaaa.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./layout.vue?vue&type=style&index=0&id=00ea7316&scoped=true&lang=scss\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=1fe9bf02&lang=scss\"","<template>\r\n <div id=\"app\">\r\n <router-view/>\r\n </div>\r\n</template>\r\n\r\n<style lang=\"scss\">\r\n #app {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n</style>\r\n","import { render } from \"./App.vue?vue&type=template&id=1fe9bf02\"\nconst script = {}\n\nimport \"./App.vue?vue&type=style&index=0&id=1fe9bf02&lang=scss\"\nscript.render = render\n\nexport default script","<template>\r\n\t<div class=\"zy-template\">\r\n\t\t<div class=\"login\">\r\n\t\t\t<div class=\"login__left\"></div>\r\n\t\t\t<div class=\"login__right\">\r\n\t\t\t\t<div class=\"login__right__box\">\r\n\t\t\t\t\t<h1>登录您的账户</h1>\r\n\t\t\t\t\t<el-form ref=\"loginForm\" :model=\"form\" label-width=\"60px\" :rules=\"rules\">\r\n\t\t\t\t\t\t<el-form-item label=\"账号:\" prop=\"username\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"form.username\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t<el-form-item label=\"密码:\" prop=\"password\">\r\n\t\t\t\t\t\t\t<el-input type=\"password\" v-model=\"form.password\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" @click=\"submitForm('loginForm')\">登录</el-button>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport TokenManager from '../../static/js/token.js'\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tform: {\r\n\t\t\t\t\tusername: \"\",\r\n\t\t\t\t\tpassword: \"\"\r\n\t\t\t\t},\r\n\t\t\t\trules: {\r\n\t\t\t\t\tusername: [{\r\n\t\t\t\t\t\trequired: true,\r\n\t\t\t\t\t\tmessage: '请输入用户名',\r\n\t\t\t\t\t\ttrigger: 'blur'\r\n\t\t\t\t\t}],\r\n\t\t\t\t\tpassword: [{\r\n\t\t\t\t\t\trequired: true,\r\n\t\t\t\t\t\tmessage: '请输入密码',\r\n\t\t\t\t\t\ttrigger: 'blur'\r\n\t\t\t\t\t}]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 提交表单时间\r\n\t\t\t */\r\n\t\t\tsubmitForm(formName) {\r\n\t\t\t\tthis.$refs[formName].validate((valid) => {\r\n\t\t\t\t\tif (!valid) return false;\r\n\t\t\t\t\t//提交表单\r\n\t\t\t\t\tthis.$http.Post(this.$global.login, this.form).then(res => {\r\n\t\t\t\t\t\tTokenManager.setToken(res.data);\r\n\t\t\t\t\t\tthis.$router.replace(\"/\")\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t.zy-template {\r\n\t\tbackground-size: cover;\r\n\t\tbackground: rgb(218, 234, 251) url(\"./static/bg.png\") no-repeat center;\r\n\t\toverflow: hidden;\r\n\t\theight: 100%;\r\n\r\n\t\t& .login {\r\n\t\t\tbackground: white;\r\n\t\t\toverflow: hidden;\r\n\t\t\tborder-radius: 15px;\r\n\t\t\tmargin: 5% auto;\r\n\t\t\twidth: 80%;\r\n\t\t\theight: 80%;\r\n\t\t\tbox-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\r\n\r\n\t\t\t&__left {\r\n\t\t\t\tfloat: left;\r\n\t\t\t\ttransform: rotateY(180deg);\r\n\t\t\t\twidth: 60%;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tbackground-size: 85%;\r\n\t\t\t\tbackground-repeat: no-repeat;\r\n\t\t\t\tbackground-image: url(static/satellite.png);\r\n\t\t\t\tbackground-position: center;\r\n\t\t\t}\r\n\r\n\t\t\t&__right {\r\n\t\t\t\twidth: 40%;\r\n\t\t\t\tfloat: left;\r\n\r\n\t\t\t\t&__box {\r\n\t\t\t\t\tmargin: 30% auto;\r\n\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\twidth: 300px;\r\n\r\n\t\t\t\t\t& h1 {\r\n\t\t\t\t\t\tmargin: 30px 0;\r\n\t\t\t\t\t\tfont-size: 28px;\r\n\t\t\t\t\t\tfont-weight: normal;\r\n\t\t\t\t\t\tcolor: #1F2533;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t& .el-button {\r\n\t\t\t\t\t\twidth: 300px;\r\n\t\t\t\t\t\tdisplay: block;\r\n\t\t\t\t\t\tmargin: 0 auto;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t& .el-form-item {\r\n\t\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\t\tpadding: 5px 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","const TokenManager = {\r\n\t/**\r\n\t * localStorage 存放token\r\n\t */\r\n\tsetToken: function(tokenAndName) {\r\n\t\twindow.localStorage.setItem(\"BMS_TOKEN\", JSON.stringify(tokenAndName));\r\n\t},\r\n\r\n\t/**\r\n\t * 获取Token\r\n\t */\r\n\tgetToken: function() {\r\n\t\treturn window.localStorage.getItem(\"BMS_TOKEN\");\r\n\t},\r\n\r\n\t/**\r\n\t * 注销登录\r\n\t */\r\n\tremoveToken: function() {\r\n\t\twindow.localStorage.removeItem(\"BMS_TOKEN\");\r\n\t}\r\n};\r\nexport default TokenManager;\r\n","import { render } from \"./login.vue?vue&type=template&id=1f087cb8&scoped=true\"\nimport script from \"./login.vue?vue&type=script&lang=js\"\nexport * from \"./login.vue?vue&type=script&lang=js\"\n\nimport \"./login.vue?vue&type=style&index=0&id=1f087cb8&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-1f087cb8\"\n\nexport default script","<template>\r\n\t<el-container class=\"container\">\r\n\t\t<el-aside width=\"200px\">\r\n\t\t\t<div class=\"logo\">\r\n\t\t\t\t<img src=\"./static/logo.png\" alt=\"logo\">\r\n\t\t\t</div>\r\n\t\t\t<el-menu default-active=\"1\" background-color=\"#141B2E\" text-color=\"#E4ECFF\">\r\n\t\t\t\t<el-submenu index=\"1\">\r\n\t\t\t\t\t<template #title><i class=\"el-icon-monitor\"></i>设备管理</template>\r\n\t\t\t\t\t<router-link to=\"/map/lp\">\r\n\t\t\t\t\t\t<el-menu-item index=\"1-1\">位置分布</el-menu-item>\r\n\t\t\t\t\t</router-link>\r\n\t\t\t\t\t<router-link to=\"/devices/lp\">\r\n\t\t\t\t\t\t<el-menu-item index=\"1-2\">设备列表-路牌</el-menu-item>\r\n\t\t\t\t\t</router-link>\r\n\t\t\t\t\t<router-link to=\"/devices/ubi\">\r\n\t\t\t\t\t\t<el-menu-item index=\"1-3\">设备列表-普适型</el-menu-item>\r\n\t\t\t\t\t</router-link>\r\n\t\t\t\t</el-submenu>\r\n\r\n\t\t\t\t<el-submenu index=\"2\">\r\n\t\t\t\t\t<template #title><i class=\"el-icon-monitor\"></i>设备监控</template>\r\n\t\t\t\t\t<router-link to=\"/logs\">\r\n\t\t\t\t\t\t<el-menu-item index=\"2-1\">MQTT消息日志</el-menu-item>\r\n\t\t\t\t\t</router-link>\r\n\t\t\t\t</el-submenu>\r\n\r\n\t\t\t\t<el-submenu index=\"3\">\r\n\t\t\t\t\t<template #title><i class=\"el-icon-setting\"></i>系统设置</template>\r\n\t\t\t\t\t<router-link to=\"/users\">\r\n\t\t\t\t\t\t<el-menu-item index=\"3-1\">用户管理</el-menu-item>\r\n\t\t\t\t\t</router-link>\r\n\t\t\t\t\t<router-link to=\"/groups\">\r\n\t\t\t\t\t\t<el-menu-item index=\"3-2\">设备组管理</el-menu-item>\r\n\t\t\t\t\t</router-link>\r\n\t\t\t\t</el-submenu>\r\n\r\n\t\t\t</el-menu>\r\n\t\t</el-aside>\r\n\t\t<el-container>\r\n\t\t\t<el-header class='header' style=\"height: 50px;\">\r\n\t\t\t\t<div class=\"dropdown\">\r\n\t\t\t\t\t<el-dropdown trigger=\"click\">\r\n\t\t\t\t\t\t<span class=\"el-dropdown-link\">\r\n\t\t\t\t\t\t\t{{nickname}}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<template #dropdown>\r\n\t\t\t\t\t\t\t<el-dropdown-menu>\r\n\t\t\t\t\t\t\t\t<el-dropdown-item @click=\"logout\">退出登录</el-dropdown-item>\r\n\t\t\t\t\t\t\t</el-dropdown-menu>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-dropdown>\r\n\t\t\t\t</div>\r\n\t\t\t</el-header>\r\n\t\t\t<el-main>\r\n\t\t\t\t<!-- vue3.0配置-->\r\n\t\t\t\t<router-view v-slot=\"{Component}\">\r\n\t\t\t\t\t<keep-alive>\r\n\t\t\t\t\t\t<component :is=\"Component\" />\r\n\t\t\t\t\t</keep-alive>\r\n\t\t\t\t</router-view>\r\n\t\t\t</el-main>\r\n\t\t</el-container>\r\n\t</el-container>\r\n</template>\r\n\r\n<script>\r\n\timport TokenManager from '../../static/js/token.js'\r\n\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tnickname: '管理员',\r\n\t\t\t};\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.initToken();\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 查看token信息\r\n\t\t\t */\r\n\t\t\tinitToken: function() {\r\n\t\t\t\tthis.$http.Get(this.$global.verify, {}).then(res => {\r\n\t\t\t\t\tconst obj = JSON.parse(TokenManager.getToken());\r\n\t\t\t\t\tthis.nickname = obj.nickname;\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 退出\r\n\t\t\t */\r\n\t\t\tlogout: function() {\r\n\t\t\t\tthis.$http.Get(this.$global.logout, {}).then(res => {\r\n\t\t\t\t\tthis.$router.replace(\"/login\");\r\n\t\t\t\t\tTokenManager.removeToken();\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t.container {\r\n\t\theight: 100%;\r\n\r\n\t\t& .logo {\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tpadding-top: 10px;\r\n\t\t\tpadding-left: 20px;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 60px;\r\n\r\n\t\t\t& img {\r\n\t\t\t\twidth: 40px;\r\n\t\t\t\theight: 40px;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t& .header {\r\n\t\t\tbackground: #f3f5f9;\r\n\r\n\t\t\t& .dropdown {\r\n\t\t\t\tfloat: right;\r\n\t\t\t\tmargin-right: 30px;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tline-height: 50px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t& .el-main {\r\n\t\t\tbackground: #f3f5f9;\r\n\t\t\theight: 100%;\r\n\t\t\toverflow-x: hidden;\r\n\t\t\toverflow-y: scroll;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tpadding: 0 15px 20px 20px;\r\n\r\n\t\t}\r\n\r\n\t\t& .el-aside {\r\n\t\t\theight: 100%;\r\n\t\t\tbackground: #141b2e;\r\n\r\n\t\t\t& .el-menu {\r\n\t\t\t\tborder: none;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import { render } from \"./layout.vue?vue&type=template&id=00ea7316&scoped=true\"\nimport script from \"./layout.vue?vue&type=script&lang=js\"\nexport * from \"./layout.vue?vue&type=script&lang=js\"\n\nimport \"./layout.vue?vue&type=style&index=0&id=00ea7316&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-00ea7316\"\n\nexport default script","<template>\r\n\t<div class=\"zy-template\">\r\n\t\t<div class=\"zy-main-title\">MQTT消息日志</div>\r\n\t\t<div class=\"zy-module\">\r\n\t\t\t<el-form ref=\"form\" :model=\"query\" label-width=\"60px\">\r\n\t\t\t\t<el-form-item label=\"设备码:\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-input v-model=\"query.openNum\" size=\"mini\" clearable></el-input>\r\n\t\t\t\t</el-form-item>\r\n\r\n\t\t\t\t<el-form-item label=\"类型:\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-select v-model=\"query.type\" size=\"mini\" value=\"\" placeholder=\" \" clearable>\r\n\t\t\t\t\t\t<el-option value=\"0\" label=\"服务器接收\" />\r\n\t\t\t\t\t\t<el-option value=\"1\" label=\"服务器发送\" />\r\n\t\t\t\t\t</el-select>\r\n\t\t\t\t</el-form-item>\r\n\r\n\t\t\t\t<el-form-item label=\"指令:\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-select v-model=\"query.m\" size=\"mini\" value=\"\" placeholder=\" \" clearable>\r\n\t\t\t\t\t\t<el-option :value=\"item.code\" :label=\"item.remark\" v-for=\"item in mList\" />\r\n\t\t\t\t\t</el-select>\r\n\t\t\t\t</el-form-item>\r\n\r\n\t\t\t\t<el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n\t\t\t</el-form>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"zy-module\">\r\n\t\t\t<el-table :data=\"page.records\" header-cell-class-name=\"zy-table-header-cell\" cell-class-name='zy-table-cell'\r\n\t\t\t\tstripe>\r\n\t\t\t\t<el-table-column prop=\"openNum\" label=\"设备ID\" width=\"150\" />\r\n\t\t\t\t<el-table-column label=\"类型\" width=\"80\">\r\n\t\t\t\t\t<template #default=\"scope\">{{scope.row.type==0?'接收':'发送'}}</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"指令\" width=\"80\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-popover placement=\"bottom\" :width=\"120\" trigger=\"click\" :content=\"scope.row.remark\">\r\n\t\t\t\t\t\t\t<template #reference>\r\n\t\t\t\t\t\t\t\t<el-tag style=\"cursor: pointer;\">{{scope.row.m}}</el-tag>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-popover>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column prop=\"content\" label=\"内容\" min-width=\"500\" />\r\n\t\t\t\t<el-table-column prop=\"createTime\" label=\"时间\" width=\"180\" />\r\n\t\t\t</el-table>\r\n\r\n\t\t\t<el-pagination class=\"zy-table-pagination\" background layout=\"prev, pager, next\"\r\n\t\t\t\t:current-page=\"page.current\" :total=\"page.total\" :page-size=\"page.size\" @current-change=\"pagination\" />\r\n\t\t</div>\r\n\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tquery: {\r\n\t\t\t\t\topenNum: \"\",\r\n\t\t\t\t\ttype: null,\r\n\t\t\t\t\tm: null\r\n\t\t\t\t},\r\n\t\t\t\tmList: null, //指令列表\r\n\t\t\t\tpage: {\r\n\t\t\t\t\tcurrent: 1,\r\n\t\t\t\t\tsize: 20,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.getAllInstruction();\r\n\t\t\tthis.getListPage();\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 提交查询条件\r\n\t\t\t */\r\n\t\t\tsubmit: function() {\r\n\t\t\t\tconst param = {\r\n\t\t\t\t\tcurrent: 1,\r\n\t\t\t\t\tsize: this.page.size,\r\n\t\t\t\t\topenNum: this.query.openNum,\r\n\t\t\t\t\ttype: this.query.type,\r\n\t\t\t\t\tm: this.query.m,\r\n\t\t\t\t};\r\n\t\t\t\tthis.getListPage(param);\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 分页点击事件\r\n\t\t\t */\r\n\t\t\tpagination: function(current) {\r\n\t\t\t\tconst param = {\r\n\t\t\t\t\tcurrent: current,\r\n\t\t\t\t\tsize: this.page.size,\r\n\t\t\t\t\topenNum: this.query.openNum,\r\n\t\t\t\t\ttype: this.query.type,\r\n\t\t\t\t\tm: this.query.m,\r\n\t\t\t\t};\r\n\t\t\t\tthis.getListPage(param);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 获取日志列表\r\n\t\t\t */\r\n\t\t\tgetListPage: function(params) {\r\n\t\t\t\tthis.$http.Post(this.$global.logs.listPage, params).then(res => {\r\n\t\t\t\t\tthis.page = res.data;\r\n\t\t\t\t\tconsole.log(res.data)\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 获取全部的指令\r\n\t\t\t */\r\n\t\t\tgetAllInstruction() {\r\n\t\t\t\tthis.$http.Get(this.$global.logs.instructions, {}).then(res => {\r\n\t\t\t\t\tthis.mList = res.data;\r\n\t\t\t\t\tconsole.log(res.data)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n</style>\r\n","import { render } from \"./logs.vue?vue&type=template&id=d79a7bc0\"\nimport script from \"./logs.vue?vue&type=script&lang=js\"\nexport * from \"./logs.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\r\n <div class=\"zy-template\">\r\n <div class=\"zy-main-title\">项目管理</div>\r\n <div class=\"zy-module\">\r\n <el-form :model=\"query\" label-width=\"80px\">\r\n <el-form-item label=\"关键字\" class=\"zy-search-form-item\">\r\n <el-input v-model=\"query.name\" size=\"mini\" placeholder=\"项目名/项目编号\" clearable></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"状态\" class=\"zy-search-form-item\">\r\n <el-select v-model=\"query.status\" size=\"mini\" clearable placeholder=\"不选默认全部\">\r\n <el-option label=\"禁用\" value=\"0\"/>\r\n <el-option label=\"启用\" value=\"1\"/>\r\n </el-select>\r\n </el-form-item>\r\n <el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n </el-form>\r\n </div>\r\n\r\n <div class=\"zy-module\">\r\n <el-button type=\"primary\" size=\"small\" style=\"margin-bottom: 20px;\" @click=\"addDialog = true\">增加</el-button>\r\n <el-table :data=\"page.records\" max-height=\"800\" stripe size=\"small\"\r\n header-cell-class-name=\"zy-table-header-cell\" cell-class-name='zy-table-cell'>\r\n <el-table-column prop=\"name\" label=\"项目名称\" width=\"120\" min-width=\"5%\"/>\r\n <el-table-column label=\"项目备注\" min-width=\"30%\">\r\n <template #default=\"scope\">\r\n <div style=\"height: 24px; overflow: hidden;\">\r\n {{scope.row.remark}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"状态\" width=\"60\">\r\n <template #default=\"scope\">\r\n <el-tag type=\"danger\" size=\"mini\" v-if=\"scope.row.status==0\">禁用</el-tag>\r\n <el-tag type=\"success\" size=\"mini\" v-if=\"scope.row.status==1\">启用</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createTime\" label=\"创建时间\" width=\"160\"/>\r\n <el-table-column label=\"操作\" width=\"100\" min-width=\"10%\">\r\n <template #default=\"scope\">\r\n <el-button @click=\"handleUpdate(scope.row)\" type=\"text\" size=\"small\">修改</el-button>\r\n <el-button @click=\"handlePass(scope.row.id)\" type=\"text\" size=\"small\" style=\"color: #67c23a\"\r\n v-if=\"scope.row.status==0\">启用\r\n </el-button>\r\n <el-button @click=\"handleRefuse(scope.row.id)\" type=\"text\" size=\"small\" style=\"color: #f56c6c;\"\r\n v-if=\"scope.row.status==1\">禁用\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-pagination class=\"zy-table-pagination\" background layout=\"prev, pager, next\"\r\n :current-page=\"page.current\" :total=\"page.total\" :page-size=\"page.size\"\r\n @current-change=\"pagination\"/>\r\n </div>\r\n\r\n <el-dialog title=\"添加项目\" v-model=\"addDialog\" width=\"500px\">\r\n <el-form :model=\"addForm\" label-width=\"100px\" :rules=\"rules\">\r\n <el-form-item label=\"项目名称:\" prop=\"name\">\r\n <el-input v-model=\"addForm.name\" maxlength=\"30\"></el-input>\r\n </el-form-item>\r\n\r\n <el-form-item label=\"备注:\">\r\n <el-input type=\"textarea\" v-model=\"addForm.remark\" maxlength=\"100\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"addDialog = false\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"addSubmit('addForm')\">提 交</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"修改项目\" v-model=\"updateDialog\" width=\"500px\">\r\n <el-form ref=\"updateForm\" :model=\"updateForm\" label-width=\"100px\" :rules=\"rules\">\r\n <el-form-item label=\"项目名称:\" prop=\"name\">\r\n <el-input v-model=\"updateForm.name\" maxlength=\"30\"></el-input>\r\n </el-form-item>\r\n\r\n <el-form-item label=\"备注:\">\r\n <el-input type=\"textarea\" v-model=\"updateForm.remark\" maxlength=\"100\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"updateDialog = false\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"updateSubmit('updateForm')\">提 交</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n data() {\r\n return {\r\n query: {\r\n name: null,\r\n status: null\r\n },\r\n page: {\r\n current: 1,\r\n size: 10,\r\n },\r\n addDialog: false, //增加表单\r\n updateDialog: false, //更新表单\r\n addForm: {//添加表单\r\n name: null,\r\n remark: null\r\n },\r\n updateForm: {//更新表单\r\n id: null,\r\n name: null,\r\n remark: null\r\n },\r\n rules: {\r\n name: [{\r\n required: true,\r\n message: '项目名必填',\r\n trigger: 'blur'\r\n }],\r\n }\r\n };\r\n },\r\n mounted() {\r\n this.getListPage(this.page);\r\n },\r\n methods: {\r\n /**\r\n * 提交查询条件\r\n */\r\n submit: function () {\r\n const params = {\r\n name: this.query.name,\r\n status: this.query.status\r\n };\r\n this.getListPage(params);\r\n },\r\n\r\n /**\r\n * 分页点击事件\r\n */\r\n pagination: function (current) {\r\n const params = {\r\n name: this.query.name,\r\n status: this.query.status,\r\n current: current,\r\n size: this.page.size,\r\n };\r\n this.getListPage(params);\r\n },\r\n\r\n /**\r\n * 获取设备列表\r\n */\r\n getListPage: function (params) {\r\n this.$http.Get(this.$global.item.listPage, params).then(res => {\r\n console.log(res.data);\r\n this.page = res.data;\r\n })\r\n },\r\n\r\n /**\r\n * 更新项目\r\n */\r\n handleUpdate: function (obj) {\r\n this.updateDialog = true;\r\n this.updateForm = {\r\n id: obj.id,\r\n name: obj.name,\r\n remark: obj.remark\r\n }\r\n },\r\n\r\n /**\r\n * 提交增加表单\r\n */\r\n addSubmit: function (formName) {\r\n this.$refs[formName].validate((valid) => {\r\n if (!valid) return false;\r\n this.$http.Post(this.$global.item.save, this.addForm).then(res => {\r\n this.$message.success(\"添加成功!\");\r\n this.refresh();\r\n })\r\n });\r\n },\r\n\r\n /**\r\n * 提交更新表单\r\n */\r\n updateSubmit: function (formName) {\r\n this.$refs[formName].validate((valid) => {\r\n if (!valid) return false;\r\n this.$http.Post(this.$global.item.update, this.updateForm).then(res => {\r\n this.$message.success(\"修改成功!\");\r\n this.refresh();\r\n })\r\n });\r\n },\r\n\r\n /**\r\n * 禁用\r\n */\r\n forbidden: function (id) {\r\n },\r\n\r\n /**\r\n * 启用\r\n */\r\n permit: function (id) {\r\n },\r\n\r\n\r\n /**\r\n * 刷新列表\r\n */\r\n refresh: function () {\r\n this.addDialog = false;\r\n this.updateDialog = false;\r\n const params = {\r\n key: this.query.key,\r\n status: this.query.status,\r\n current: this.page.current,\r\n size: this.page.size,\r\n };\r\n this.getListPage(params);\r\n }\r\n }\r\n };\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\r\n</style>\r\n","import { render } from \"./item.vue?vue&type=template&id=4d6459ae&scoped=true\"\nimport script from \"./item.vue?vue&type=script&lang=js\"\nexport * from \"./item.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-4d6459ae\"\n\nexport default script","<template>\r\n\t<div class=\"zy-template\">\r\n\t\t<div class=\"zy-main-title\">设备组管理</div>\r\n\t\t<div class=\"zy-module\">\r\n\t\t\t<el-form :model=\"query\" label-width=\"80px\">\r\n\t\t\t\t<el-form-item label=\"关键字\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-input v-model=\"query.name\" size=\"mini\" placeholder=\"编号/名称/备注\" clearable></el-input>\r\n\t\t\t\t</el-form-item>\r\n\r\n\t\t\t\t<el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n\t\t\t</el-form>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"zy-module\">\r\n\t\t\t<el-button type=\"primary\" size=\"small\" style=\"margin-bottom: 20px;\" @click=\"addDialog = true\">增加</el-button>\r\n\t\t\t<el-table :data=\"page.records\" max-height=\"800\" stripe size=\"small\"\r\n\t\t\t\theader-cell-class-name=\"zy-table-header-cell\" cell-class-name='zy-table-cell'>\r\n\t\t\t\t<el-table-column prop=\"code\" label=\"设备组编号\" width=\"100\" />\r\n\t\t\t\t<el-table-column prop=\"type\" label=\"所属设备类型\" width=\"100\" />\r\n\t\t\t\t<el-table-column prop=\"name\" label=\"设备组名称\" width=\"120\" />\r\n\t\t\t\t<el-table-column prop=\"item\" label=\"所属项目\" width=\"150\" />\r\n\t\t\t\t<el-table-column label=\"备注\" min-width=\"500\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t{{scope.row.remark}}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column prop=\"createTime\" label=\"创建时间\" width=\"180\" />\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"100\" min-width=\"10%\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button @click=\"handleUpdate(scope.row)\" type=\"text\" size=\"small\">编辑</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<el-pagination class=\"zy-table-pagination\" background layout=\"prev, pager, next\"\r\n\t\t\t\t:current-page=\"page.current\" :total=\"page.total\" :page-size=\"page.size\" @current-change=\"pagination\" />\r\n\t\t</div>\r\n\r\n\t\t<el-dialog title=\"添加设备组\" v-model=\"addDialog\" width=\"500px\">\r\n\t\t\t<el-form ref=\"addForm\" :model=\"addForm\" label-width=\"100px\" :rules=\"rules\">\r\n\t\t\t\t<el-form-item label=\"设备组编号:\" prop=\"code\">\r\n\t\t\t\t\t<el-input v-model=\"addForm.code\" maxlength=\"30\" placeholder=\"不可重复\"></el-input>\r\n\t\t\t\t</el-form-item>\r\n\r\n\t\t\t\t<el-form-item label=\"设备组名称:\">\r\n\t\t\t\t\t<el-input v-model=\"addForm.name\" maxlength=\"30\"></el-input>\r\n\t\t\t\t</el-form-item>\r\n\r\n <el-form-item label=\"设备类型:\" prop=\"type\">\r\n <el-select v-model=\"addForm.type\" size=\"mini\" placeholder=\"请选择\">\r\n <el-option label=\"普适型\" value=\"gnss\"/>\r\n <el-option label=\"路牌\" value=\"lupai\"/>\r\n </el-select>\r\n </el-form-item>\r\n\r\n\t\t\t\t<el-form-item label=\"备注:\">\r\n\t\t\t\t\t<el-input type=\"textarea\" v-model=\"addForm.remark\" maxlength=\"100\"></el-input>\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-form>\r\n\t\t\t\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"addDialog = false\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"addSubmit('addForm')\">提 交</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\r\n\t\t<el-dialog title=\"修改设备组\" v-model=\"updateDialog\" width=\"500px\">\r\n\t\t\t<el-form ref=\"updateForm\" :model=\"updateForm\" label-width=\"100px\" :rules=\"rules\">\r\n\t\t\t\t<el-form-item label=\"设备组编号:\" prop=\"code\">\r\n\t\t\t\t\t<el-input v-model=\"updateForm.code\" maxlength=\"30\" placeholder=\"不可重复\"></el-input>\r\n\t\t\t\t</el-form-item>\r\n\r\n\t\t\t\t<el-form-item label=\"设备组名称:\">\r\n\t\t\t\t\t<el-input v-model=\"updateForm.name\" maxlength=\"30\"></el-input>\r\n\t\t\t\t</el-form-item>\r\n\r\n <el-form-item label=\"设备类型:\" prop=\"type\">\r\n <el-select v-model=\"updateForm.type\" size=\"mini\" placeholder=\"请选择\">\r\n <el-option label=\"普适型\" value=\"gnss\"/>\r\n <el-option label=\"路牌\" value=\"lupai\"/>\r\n </el-select>\r\n </el-form-item>\r\n\r\n\t\t\t\t<el-form-item label=\"备注:\">\r\n\t\t\t\t\t<el-input type=\"textarea\" v-model=\"updateForm.remark\" maxlength=\"100\"></el-input>\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"updateDialog = false\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"updateSubmit('updateForm')\">提 交</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tquery: {\r\n\t\t\t\t\tkey: null,\r\n\t\t\t\t},\r\n\t\t\t\tpage: {\r\n\t\t\t\t\tcurrent: 1,\r\n\t\t\t\t\tsize: 20,\r\n\t\t\t\t},\r\n\t\t\t\taddDialog: false, //增加表单\r\n\t\t\t\tupdateDialog: false, //更新表单\r\n\t\t\t\tupdateForm: {}, //更新表单\r\n\t\t\t\taddForm: { //添加表单\r\n\t\t\t\t\tcode: null,\r\n\t\t\t\t\tname: null,\r\n\t\t\t\t\ttype: null,\r\n\t\t\t\t\tremark: null\r\n\t\t\t\t},\r\n\t\t\t\trules: {\r\n\t\t\t\t\tcode: [{\r\n\t\t\t\t\t\trequired: true,\r\n\t\t\t\t\t\tmessage: '项目编号必填',\r\n\t\t\t\t\t\ttrigger: 'blur'\r\n\t\t\t\t\t}],\r\n type: [{\r\n required: true,\r\n message: '所属设备类型必选',\r\n trigger: 'change'\r\n }],\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.getListPage(this.page);\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 提交查询条件\r\n\t\t\t */\r\n\t\t\tsubmit: function() {\r\n\t\t\t\tconst params = {\r\n\t\t\t\t\tname: this.query.name,\r\n\t\t\t\t\titemId: this.query.itemId,\r\n\t\t\t\t\tstatus: this.query.status\r\n\t\t\t\t};\r\n\t\t\t\tthis.getListPage(params);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 分页点击事件\r\n\t\t\t */\r\n\t\t\tpagination: function(current) {\r\n\t\t\t\tconst params = {\r\n\t\t\t\t\tname: this.query.name,\r\n\t\t\t\t\tcurrent: current,\r\n\t\t\t\t\tsize: this.page.size,\r\n\t\t\t\t};\r\n\t\t\t\tthis.getListPage(params);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 获取设备列表\r\n\t\t\t */\r\n\t\t\tgetListPage: function(params) {\r\n\t\t\t\tthis.$http.Get(this.$global.group.listPage, params).then(res => {\r\n\t\t\t\t\tthis.page = res.data;\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 更新设备组\r\n\t\t\t */\r\n\t\t\thandleUpdate: function(obj) {\r\n\t\t\t\tthis.updateForm = {\r\n\t\t\t\t\tid: obj.id,\r\n\t\t\t\t\tcode: obj.code,\r\n\t\t\t\t\tname: obj.name,\r\n\t\t\t\t\ttype: obj.type,\r\n\t\t\t\t\tremark: obj.remark\r\n\t\t\t\t};\r\n\t\t\t\tconsole.log(this.updateForm);\r\n\t\t\t\tthis.updateDialog = true;\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 提交增加表单\r\n\t\t\t */\r\n\t\t\taddSubmit: function(formName) {\r\n\t\t\t\tthis.$refs[formName].validate((valid) => {\r\n\t\t\t\t\tif (!valid) return false;\r\n\t\t\t\t\t//提交表单\r\n\t\t\t\t\tthis.$http.Post(this.$global.group.save, this.addForm).then(res => {\r\n\t\t\t\t\t\tthis.$message.success(\"添加成功!\");\r\n\t\t\t\t\t\tthis.refresh();\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 提交更新表单\r\n\t\t\t */\r\n\t\t\tupdateSubmit: function(formName) {\r\n\t\t\t\tthis.$refs[formName].validate((valid) => {\r\n\t\t\t\t\tif (!valid) return false;\r\n\t\t\t\t\t//提交表单\r\n\t\t\t\t\tthis.$http.Post(this.$global.group.update, this.updateForm).then(res => {\r\n\t\t\t\t\t\tthis.$message.success(\"修改成功!\");\r\n\t\t\t\t\t\tthis.refresh();\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 刷新列表\r\n\t\t\t */\r\n\t\t\trefresh: function() {\r\n\t\t\t\tthis.addDialog = false;\r\n\t\t\t\tthis.updateDialog = false;\r\n\t\t\t\tconst params = {\r\n\t\t\t\t\tkey: this.query.key,\r\n\t\t\t\t\tcurrent: this.page.current,\r\n\t\t\t\t\tsize: this.page.size,\r\n\t\t\t\t};\r\n\t\t\t\tthis.getListPage(params);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\r\n</style>\r\n","import { render } from \"./group.vue?vue&type=template&id=25f9e008&scoped=true\"\nimport script from \"./group.vue?vue&type=script&lang=js\"\nexport * from \"./group.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-25f9e008\"\n\nexport default script","<template>\r\n\t<div class=\"zy-template\">\r\n\t\t<div class=\"zy-main-title\">设备列表-路牌</div>\r\n\t\t<div class=\"zy-module\">\r\n\t\t\t<el-form ref=\"form\" :model=\"query\" label-width=\"60px\">\r\n\t\t\t\t<el-form-item label=\"设备码:\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-input v-model=\"query.openNum\" size=\"mini\" clearable></el-input>\r\n\t\t\t\t</el-form-item>\r\n\t\t\t\t<el-form-item label=\"设备组:\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-select v-model=\"query.groupId\" filterable clearable placeholder=\" \" size=\"mini\">\r\n\t\t\t\t\t\t<el-option v-for=\"item in groups\" :key=\"item\" :value=\"item\" />\r\n\t\t\t\t\t</el-select>\r\n\t\t\t\t</el-form-item>\r\n\t\t\t\t<el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n\t\t\t</el-form>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"zy-module\">\r\n\t\t\t<el-table :data=\"page.records\" header-cell-class-name=\"zy-table-header-cell\" cell-class-name='zy-table-cell'\r\n\t\t\t\tstripe>\r\n\t\t\t\t<el-table-column prop=\"openNum\" label=\"设备码\" min-width=\"180\">\r\n\t\t\t\t\t<template #default=\"scope\">IMEI{{scope.row.openNum}}</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column prop=\"groupId\" label=\"设备组\" min-width=\"120\" />\r\n\t\t\t\t<el-table-column prop=\"createTime\" label=\"创建时间\" min-width=\"180\" />\r\n\t\t\t\t<el-table-column prop=\"battery\" label=\"电量\" min-width=\"80\" />\r\n\t\t\t\t<el-table-column prop=\"s4g\" label=\"信号\" min-width=\"80\" />\r\n\t\t\t\t<el-table-column label=\"状态\" min-width=\"100\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-tag type=\"success\" v-if=\"scope.row.status===1\" size=\"small\">在线</el-tag>\r\n\t\t\t\t\t\t<el-tag type=\"danger\" v-if=\"scope.row.status===0\" size=\"small\">离线</el-tag>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column prop=\"updateTime\" label=\"最近通讯时间\" min-width=\"180\" />\r\n\t\t\t\t<el-table-column label=\"操作\" min-width=\"80\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button @click=\"detailHandler(scope.row.openNum)\" type=\"text\" size=\"small\">详情</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<el-pagination class=\"zy-table-pagination\" background layout=\"prev, pager, next\"\r\n\t\t\t\t:current-page=\"page.current\" :total=\"page.total\" :page-size=\"page.size\" @current-change=\"pagination\" />\r\n\t\t</div>\r\n\r\n\t\t<el-dialog title=\"设备详情\" v-model=\"detailDialog\" width=\"500px\">\r\n\t\t\t<el-descriptions :column=\"2\" border>\r\n\t\t\t\t<el-descriptions-item label=\"设备码:\">{{detail.openNum}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"唤醒间隔:\">{{detail.wakeInt}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"阈值:\">{{detail.thresh}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"温度:\">{{detail.temp}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"电量:\">{{detail.battery}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"信号:\">{{detail.s4g}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"上传类型:\">{{detail.dataType}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"X:\">{{detail.x}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"Y:\">{{detail.y}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"Z:\">{{detail.z}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"angleX:\">{{detail.anglex}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"angleY:\">{{detail.angley}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"angleZ:\">{{detail.anglexz}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"经度:\">{{detail.lon}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"纬度:\">{{detail.lat}}</el-descriptions-item>\r\n\t\t\t\t<el-descriptions-item label=\"定位模式:\">{{detail.mode==1?'GPS':'基站'}}</el-descriptions-item>\r\n\t\t\t</el-descriptions>\r\n\t\t</el-dialog>\r\n\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tquery: {\r\n\t\t\t\t\topenNum: \"\",\r\n\t\t\t\t\ttype: null,\r\n\t\t\t\t},\r\n\t\t\t\tpage: {\r\n\t\t\t\t\tcurrent: 1,\r\n\t\t\t\t\tsize: 20,\r\n\t\t\t\t},\r\n\t\t\t\tgroups: [], //设备组\r\n\t\t\t\tdetailDialog: false, //详情弹出框\r\n\t\t\t\tdetail: {}, //设备详情\r\n\t\t\t};\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.getDevicesList();\r\n\t\t\tthis.getGroupList();\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t/**\r\n\t\t\t * 提交查询条件\r\n\t\t\t */\r\n\t\t\tsubmit: function() {\r\n\t\t\t\tconst param = {\r\n\t\t\t\t\tcurrent: 1,\r\n\t\t\t\t\tsize: this.page.size,\r\n\t\t\t\t\tgroupId: this.query.groupId,\r\n\t\t\t\t\topenNum: this.query.openNum,\r\n\t\t\t\t};\r\n\t\t\t\tthis.getDevicesList(param);\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 分页点击事件\r\n\t\t\t */\r\n\t\t\tpagination: function(current) {\r\n\t\t\t\tconst param = {\r\n\t\t\t\t\tcurrent: current,\r\n\t\t\t\t\tsize: this.page.size,\r\n\t\t\t\t\tgroupId: this.query.groupId,\r\n\t\t\t\t\topenNum: this.query.openNum,\r\n\t\t\t\t};\r\n\t\t\t\tthis.getDevicesList(param);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 查看详情\r\n\t\t\t */\r\n\t\t\tdetailHandler: function(openNum) {\r\n\t\t\t\tthis.detailDialog = true;\r\n\t\t\t\tthis.getDeviceDetail(openNum);\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 获取设备列表\r\n\t\t\t */\r\n\t\t\tgetDevicesList: function(params) {\r\n\t\t\t\tthis.$http.Get(this.$global.lp.listPage, params).then(res => {\r\n\t\t\t\t\tthis.page = res.data;\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 获取设备详情\r\n\t\t\t */\r\n\t\t\tgetDeviceDetail: function(openNum) {\r\n\t\t\t\tconst params = {\r\n\t\t\t\t\topenNum: openNum\r\n\t\t\t\t}\r\n\t\t\t\tthis.$http.Get(this.$global.lp.detail, params).then(res => {\r\n\t\t\t\t\tthis.detail = res.data;\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 获取设备组\r\n\t\t\t */\r\n\t\t\tgetGroupList() {\r\n\t\t\t\tthis.$http.Get(this.$global.group.listAll, {}).then(res => {\r\n\t\t\t\t\tconst arr = [];\r\n\t\t\t\t\tthis.groups = res.data.forEach(item => {\r\n\t\t\t\t\t\tif (item.type == 'lupai') {\r\n\t\t\t\t\t\t\tarr.push(item.code)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.groups = arr;\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n","import { render } from \"./lp.vue?vue&type=template&id=283bbb41\"\nimport script from \"./lp.vue?vue&type=script&lang=js\"\nexport * from \"./lp.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\r\n <div class=\"zy-template\">\r\n <div class=\"zy-main-title\">设备列表-普适型</div>\r\n <div class=\"zy-module\">\r\n <el-form ref=\"form\" :model=\"query\" label-width=\"60px\">\r\n <el-form-item label=\"设备码:\" class=\"zy-search-form-item\">\r\n <el-input v-model=\"query.openNum\" size=\"mini\" clearable></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"设备组:\" class=\"zy-search-form-item\">\r\n <el-select v-model=\"query.groupId\" filterable clearable placeholder=\" \" size=\"mini\">\r\n <el-option v-for=\"item in groups\" :key=\"item\" :value=\"item\"/>\r\n </el-select>\r\n </el-form-item>\r\n <el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n </el-form>\r\n </div>\r\n\r\n <div class=\"zy-module\">\r\n <el-table :data=\"page.records\" header-cell-class-name=\"zy-table-header-cell\" cell-class-name='zy-table-cell'\r\n stripe>\r\n <el-table-column prop=\"openNum\" label=\"设备码\" min-width=\"180\">\r\n <template #default=\"scope\">IMEI{{scope.row.openNum}}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"groupId\" label=\"设备组\" min-width=\"120\"/>\r\n <el-table-column label=\"状态\" min-width=\"100\">\r\n <template #default=\"scope\">\r\n <el-tag type=\"success\" v-if=\"scope.row.status===1\" size=\"small\">在线</el-tag>\r\n <el-tag type=\"danger\" v-if=\"scope.row.status===0\" size=\"small\">离线</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"设备二维码\" min-width=\"120\">\r\n <el-popover placement=\"right\" :width=\"200\" trigger=\"click\">\r\n <template #reference>\r\n <el-button type=\"text\">点击查看</el-button>\r\n </template>\r\n <img src=\"http://lq.ailishi.org:4032/chenyi/static/bg.59f1ed01.png\" alt=\"二维码\" width=\"200\"\r\n height=\"200\">\r\n </el-popover>\r\n </el-table-column>\r\n <el-table-column label=\"电池电压\" min-width=\"80\">\r\n <template #default=\"scope\">\r\n {{scope.row.powerVolt==null?'':scope.row.powerVolt.toFixed(2)}}\r\n <el-tooltip effect=\"dark\" content=\"电压低于10V\" placement=\"right-start\"\r\n v-if=\"scope.row.powerVolt!=null && scope.row.powerVolt.toFixed(2)<10\">\r\n <i class=\"el-icon-warning warning\"/>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"4G信号\" min-width=\"80\">\r\n <template #default=\"scope\">\r\n {{scope.row.signal4g}}\r\n <el-tooltip effect=\"dark\" content=\"信号值低于18\" placement=\"right-start\"\r\n v-if=\"scope.row.signal4g != null && scope.row.signal4g!==''&& parseInt(scope.row.signal4g)<18\">\r\n <i class=\"el-icon-warning warning\"/>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"oemType\" label=\"板卡类型\" min-width=\"100\"/>\r\n <el-table-column prop=\"version\" label=\"软件版本号\" min-width=\"100\"/>\r\n <el-table-column prop=\"lon\" label=\"经度\" min-width=\"120\"/>\r\n <el-table-column prop=\"lat\" label=\"纬度\" min-width=\"120\"/>\r\n <el-table-column prop=\"satNum\" label=\"卫星颗数\" min-width=\"80\"/>\r\n <el-table-column prop=\"sim\" label=\"卡号\" min-width=\"120\"/>\r\n <el-table-column prop=\"freq\" label=\"上传频率(秒)\" min-width=\"120\"/>\r\n <el-table-column prop=\"updateTime\" label=\"最近通讯时间\" min-width=\"180\"/>\r\n <el-table-column prop=\"createTime\" label=\"创建时间\" min-width=\"180\"/>\r\n <el-table-column prop=\"remark\" label=\"备注\" min-width=\"240\"/>\r\n <el-table-column label=\"操作\" min-width=\"80\">\r\n <template #default=\"scope\">\r\n <el-button @click=\"editRemark(scope.row)\" type=\"text\" size=\"small\">备注</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-pagination class=\"zy-table-pagination\" background layout=\"prev, pager, next\"\r\n :current-page=\"page.current\" :total=\"page.total\" :page-size=\"page.size\"\r\n @current-change=\"pagination\"/>\r\n </div>\r\n\r\n <el-dialog title=\"设备详情\" v-model=\"detailDialog\" width=\"500px\">\r\n <el-descriptions :column=\"2\" border>\r\n <el-descriptions-item label=\"设备码:\">{{detail.openNum}}</el-descriptions-item>\r\n <el-descriptions-item label=\"定位模式:\">{{detail.mode==1?'GPS':'基站'}}</el-descriptions-item>\r\n </el-descriptions>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"编辑\" v-model=\"updateDialog\" width=\"500px\">\r\n <el-form ref=\"updateForm\" :model=\"updateForm\" label-width=\"100px\" :rules=\"rules\">\r\n <el-form-item label=\"备注:\">\r\n <el-input type=\"textarea\" v-model=\"updateForm.remark\" maxlength=\"100\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"updateDialog = false\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"updateSubmit('updateForm')\">提 交</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n data() {\r\n return {\r\n query: {\r\n openNum: \"\",\r\n type: null,\r\n },\r\n page: {\r\n current: 1,\r\n size: 20,\r\n },\r\n groups: [], //设备组\r\n detailDialog: false, //详情弹出框\r\n updateDialog: false, //更新表单\r\n updateForm: {}, //更新表单\r\n detail: {}, //设备详情\r\n };\r\n },\r\n mounted() {\r\n this.getListPage();\r\n this.getGroupList();\r\n },\r\n methods: {\r\n /**\r\n * 提交查询条件\r\n */\r\n submit: function () {\r\n const param = {\r\n current: 1,\r\n size: this.page.size,\r\n groupId: this.query.groupId,\r\n openNum: this.query.openNum,\r\n };\r\n this.getListPage(param);\r\n },\r\n\r\n /**\r\n * 分页点击事件\r\n */\r\n pagination: function (current) {\r\n const param = {\r\n current: current,\r\n size: this.page.size,\r\n groupId: this.query.groupId,\r\n openNum: this.query.openNum,\r\n };\r\n this.getListPage(param);\r\n },\r\n\r\n /**\r\n * 编辑备注\r\n */\r\n editRemark: function (obj) {\r\n this.updateForm = {\r\n openNum: obj.openNum,\r\n remark: obj.remark\r\n };\r\n this.updateDialog = true;\r\n },\r\n\r\n /**\r\n * 获取设备列表\r\n */\r\n getListPage: function (params) {\r\n this.$http.Get(this.$global.ubi.listPage, params).then(res => {\r\n this.page = res.data;\r\n })\r\n },\r\n\r\n /**\r\n * 提交更新表单\r\n */\r\n updateSubmit: function (formName) {\r\n this.$refs[formName].validate((valid) => {\r\n if (!valid) return false;\r\n //提交表单\r\n this.$http.Post(this.$global.deviceBase.updateRemark, this.updateForm).then(res => {\r\n this.$message.success(\"修改成功!\");\r\n this.refresh();\r\n })\r\n });\r\n },\r\n\r\n /**\r\n * 获取设备组\r\n */\r\n getGroupList() {\r\n this.$http.Get(this.$global.group.listAll, {}).then(res => {\r\n const arr = [];\r\n this.groups = res.data.forEach(item => {\r\n if (item.type == 'gnss') {\r\n arr.push(item.code)\r\n }\r\n });\r\n this.groups = arr;\r\n })\r\n },\r\n\r\n /**\r\n * 刷新列表\r\n */\r\n refresh: function () {\r\n this.updateDialog = false;\r\n const params = {\r\n current: this.page.current,\r\n size: this.page.size,\r\n groupId: this.query.groupId,\r\n openNum: this.query.openNum,\r\n };\r\n this.getListPage(params);\r\n }\r\n }\r\n };\r\n</script>\r\n","import { render } from \"./ubi.vue?vue&type=template&id=c9d2b8b2\"\nimport script from \"./ubi.vue?vue&type=script&lang=js\"\nexport * from \"./ubi.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\r\n\t<div class=\"zy-template\">\r\n\t\t<div class=\"zy-main-title title\">设备列表-路牌</div>\r\n\t\t<div class=\"zy-module search\">\r\n\t\t\t<el-form ref=\"form\" :model=\"form\" label-width=\"60px\">\r\n\t\t\t\t<el-form-item label=\"设备码:\" class=\"zy-search-form-item\">\r\n\t\t\t\t\t<el-select v-model=\"form.openNum\" filterable clearable placeholder=\" \" size=\"mini\">\r\n\t\t\t\t\t\t<el-option v-for=\"item in openNumList\" :key=\"item\" :value=\"item\" />\r\n\t\t\t\t\t</el-select>\r\n\t\t\t\t</el-form-item>\r\n\t\t\t\t<el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n\t\t\t</el-form>\r\n\t\t</div>\r\n\r\n\t\t<div id=\"map\" class=\"map\">\r\n\t\t\t<div class=\"map__panel\" v-if=\"device != null\">\r\n\t\t\t\t<p>设 备 号: {{device.openNum}}</p>\r\n\t\t\t\t<p>设 备 组: {{device.groupId}}</p>\r\n\t\t\t\t<p>状 态: {{device.status==1?\"在线\":\"离线\"}}</p>\r\n\t\t\t\t<p>电 量: {{device.battery}}</p>\r\n\t\t\t\t<p>温 度: {{device.temp}}</p>\r\n\t\t\t\t<p>信号强度: {{device.s4g}}</p>\r\n\t\t\t\t<p>唤醒间隔(小时): {{device.wakeInt}}</p>\r\n\t\t\t\t<p>阈值: {{device.thresh}}</p>\r\n\t\t\t\t<p>X: {{device.x}}</p>\r\n\t\t\t\t<p>Y: {{device.y}}</p>\r\n\t\t\t\t<p>Z: {{device.z}}</p>\r\n\t\t\t\t<p>angleX: {{device.anglex}}</p>\r\n\t\t\t\t<p>angleY: {{device.angley}}</p>\r\n\t\t\t\t<p>angleZ: {{device.anglez}}</p>\r\n\t\t\t\t<p>经 度: {{device.lon}}</p>\r\n\t\t\t\t<p>纬 度: {{device.lat}}</p>\r\n\t\t\t\t<p>定位模式: {{device.mode==1?\"GPS\":\"基站\"}}</p>\r\n\t\t\t\t<p>上传时间: {{device.updateTime}}</p>\r\n\t\t\t\t<p>位置: {{device.site}}</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tmap: null, //地图对象\r\n\t\t\t\tmarkers: [], //地图中已经有的标记\r\n\t\t\t\ticon: '', //地图中的图标\r\n\t\t\t\tform: {\r\n\t\t\t\t\topenNum: \"\"\r\n\t\t\t\t}, //搜索选择的设备号\r\n\t\t\t\topenNumList: [], // 选择框匹配的设备号\r\n\t\t\t\tdeviceList: [], //全部的设备集合\r\n\t\t\t\tdevice: null, //选中的设备对象\r\n\t\t\t}\r\n\t\t},\r\n\t\tactivated() {\r\n\t\t\tthis.initMap();\r\n\t\t\tthis.getDeviceList();\r\n\t\t},\r\n\t\tmethods: {\r\n\r\n\t\t\t/**\r\n\t\t\t * 初始化地图\r\n\t\t\t */\r\n\t\t\tinitMap: function() {\r\n\t\t\t\tconst option = {\r\n\t\t\t\t\tzoom: 6\r\n\t\t\t\t};\r\n\t\t\t\tthis.map = new AMap.Map('map', option);\r\n\t\t\t\t//默认图标样式\r\n\t\t\t\tthis.icon = new AMap.Icon({\r\n\t\t\t\t\timage: \"/static/img/point.png\",\r\n\t\t\t\t\tsize: [40, 40],\r\n\t\t\t\t\timageSize: [40, 40]\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 提交搜索\r\n\t\t\t */\r\n\t\t\tsubmit: function() {\r\n\t\t\t\tif (this.form.openNum === \"\") return;\r\n\t\t\t\tthis.deviceList.forEach(item => {\r\n\t\t\t\t\tif (this.form.openNum === item.openNum) {\r\n\t\t\t\t\t\tif (item.latGcj != null && item.lonGcj != null) {\r\n\t\t\t\t\t\t\tthis.map.setZoomAndCenter(16, [item.lonGcj, item.latGcj]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.$message.warning(\"该设备暂无定位信息\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.device = item;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 向地图中添加标记\r\n\t\t\t */\r\n\t\t\taddMarkers: function(devices) {\r\n\t\t\t\tconst that = this;\r\n\t\t\t\tconst markers = [];\r\n\t\t\t\t//清空原来的标记点\r\n\t\t\t\tif (this.markers != null && this.markers.length !== 0) {\r\n\t\t\t\t\tthis.map.remove(this.markers);\r\n\t\t\t\t}\r\n\t\t\t\tdevices.forEach(item => {\r\n\t\t\t\t\tif (item.latGcj != null && item.lonGcj != null) {\r\n\t\t\t\t\t\tmarkers.push(that.buildMarker(item))\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.map.add(markers);\r\n\t\t\t\tthis.markers = markers;\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 构建 地图标记物\r\n\t\t\t */\r\n\t\t\tbuildMarker: function(item) {\r\n\t\t\t\tconst that = this;\r\n\t\t\t\treturn new AMap.Marker({\r\n\t\t\t\t\tposition: [item.lonGcj, item.latGcj],\r\n\t\t\t\t\ticon: this.icon, // 添加 Icon 图标 URL\r\n\t\t\t\t\ttitle: item.deviceId,\r\n\t\t\t\t\tanimation: \"AMAP_ANIMATION_DROP\"\r\n\t\t\t\t}).on(\"click\", function() {\r\n\t\t\t\t\tthat.map.setZoomAndCenter(16, [item.lonGcj, item.latGcj]);\r\n\t\t\t\t\tthat.device = item;\r\n\t\t\t\t})\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * 获取设备列表\r\n\t\t\t */\r\n\t\t\tgetDeviceList: function() {\r\n\t\t\t\tthis.$http.Get(this.$global.lp.listAll, {}).then(res => {\r\n\t\t\t\t\tthis.deviceList = res.data;\r\n\t\t\t\t\tconsole.log(res.data);\r\n\t\t\t\t\tthis.openNumList = res.data.map(item => {\r\n\t\t\t\t\t\treturn item.openNum;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.addMarkers(this.deviceList);\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t.zy-template {\r\n\t\tposition: relative;\r\n\t\tbox-sizing: border-box;\r\n\t\tpadding-top: 150px;\r\n\t\theight: 100%;\r\n\r\n\t\t.title {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0px;\r\n\t\t}\r\n\r\n\t\t.search {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 40px;\r\n\t\t}\r\n\r\n\t\t.map {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100%;\r\n\t\t\tposition: relative;\r\n\r\n\t\t\t&__panel {\r\n\t\t\t\tcolor: white;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tz-index: 9;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tright: 10px;\r\n\t\t\t\ttop: 10px;\r\n\t\t\t\twidth: 220px;\r\n\t\t\t\tpadding: 10px;\r\n\t\t\t\tborder-radius: 5px;\r\n\t\t\t\tbackground: rgba(0, 0, 0, .5);\r\n\r\n\t\t\t\t& p {\r\n\t\t\t\t\tfont-size: 14px;\r\n\t\t\t\t\tline-height: 20px;\r\n\t\t\t\t\tmargin: 0 0 3px;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import { render } from \"./lp.vue?vue&type=template&id=4ef70a8e&scoped=true\"\nimport script from \"./lp.vue?vue&type=script&lang=js\"\nexport * from \"./lp.vue?vue&type=script&lang=js\"\n\nimport \"./lp.vue?vue&type=style&index=0&id=4ef70a8e&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-4ef70a8e\"\n\nexport default script","<template>\r\n <div class=\"zy-template\">\r\n <div class=\"zy-main-title\">用户管理</div>\r\n <div class=\"zy-module\">\r\n <el-form ref=\"form\" :model=\"query\" label-width=\"60px\">\r\n <el-form-item label=\"关键字:\" class=\"zy-search-form-item\">\r\n <el-input v-model=\"query.key\" size=\"mini\" placeholder=\"用户名/昵称/手机号/随机码\"></el-input>\r\n </el-form-item>\r\n <el-button type=\"primary\" size=\"mini\" @click=\"submit\">查询</el-button>\r\n </el-form>\r\n </div>\r\n\r\n <div class=\"zy-module\">\r\n <el-table :data=\"page.records\" stripe header-cell-class-name=\"zy-table-header-cell\"\r\n cell-class-name='zy-table-cell'>\r\n <!--<el-table-column prop=\"openId\" label=\"微信open-id\" width=\"300\" />-->\r\n <el-table-column prop=\"randomCode\" label=\"随机码\" min-width=\"120\"/>\r\n <el-table-column label=\"管理员权限\" min-width=\"80\">\r\n <template #default=\"scope\">\r\n <el-tag type=\"success\" v-if=\"scope.row.admin===1\" size=\"small\">是</el-tag>\r\n <el-tag v-if=\"scope.row.admin===0\" size=\"small\">否</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createTime\" label=\"注册时间\" min-width=\"180\"/>\r\n <el-table-column prop=\"remark\" label=\"备注\" min-width=\"250\"/>\r\n <el-table-column label=\"操作\" min-width=\"150\">\r\n <template #default=\"scope\">\r\n <el-button @click=\"edit(scope.row)\" type=\"text\" size=\"small\">编辑</el-button>\r\n <el-button @click=\"setGroups(scope.row.id)\" type=\"text\" size=\"small\">配置设备组</el-button>\r\n <el-button @click=\"setAdmin(scope.row)\" type=\"text\" size=\"small\"\r\n :class=\"scope.row.admin===0?'':'red'\">\r\n {{scope.row.admin===0?'设为管理员':'取消管理员'}}\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <el-pagination class=\"zy-table-pagination\" background layout=\"prev, pager, next\" :total=\"page.total\"\r\n :page-size=\"page.size\" @current-change=\"pagination\" :current-page=\"page.current\"/>\r\n </div>\r\n\r\n <el-dialog title=\"配置权限\" v-model=\"groupDialog\" width=\"500px\">\r\n <el-form label-width=\"100px\">\r\n <el-form-item label=\"配置组:\">\r\n <el-tree :data=\"groupList\" show-checkbox node-key=\"code\" ref=\"tree\" highlight-current\r\n :props=\"defaultProps\" accordion>\r\n </el-tree>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"groupDialog = false\" size=\"small\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"success\" @click=\"setGroupSubmit\" size=\"small\">提 交</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"编辑\" v-model=\"updateDialog\" width=\"500px\">\r\n <el-form ref=\"updateForm\" :model=\"updateForm\" label-width=\"100px\" :rules=\"rules\">\r\n <el-form-item label=\"备注:\">\r\n <el-input type=\"textarea\" v-model=\"updateForm.remark\" maxlength=\"100\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"updateDialog = false\">取 消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"updateSubmit('updateForm')\">提 交</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n data() {\r\n return {\r\n query: {\r\n key: ''\r\n },\r\n page: {\r\n current: 1,\r\n size: 20,\r\n },\r\n defaultProps: {\r\n children: 'children',\r\n label: 'name'\r\n },\r\n groupDialog: false, //配置设备组权限弹出框\r\n updateDialog: false, //更新表单\r\n updateForm: {}, //更新表单\r\n selUserId: null, //选中的用户的ID\r\n groupList: null, //设备组权限列表\r\n };\r\n },\r\n mounted() {\r\n this.getUserList(this.page);\r\n },\r\n methods: {\r\n\r\n /**\r\n * 提交查询条件\r\n */\r\n submit: function () {\r\n const param = {\r\n key: this.query.key\r\n };\r\n this.getUserList(param);\r\n },\r\n\r\n /**\r\n * 分页点击事件\r\n */\r\n pagination: function (current) {\r\n const param = {\r\n key: this.query.key,\r\n current: current,\r\n size: this.page.size,\r\n };\r\n this.getUserList(param);\r\n },\r\n\r\n /**\r\n * 获取用户列表\r\n */\r\n getUserList: function (params) {\r\n const that = this;\r\n this.$http.Get(this.$global.users.listPage, params).then(res => {\r\n that.page = res.data;\r\n })\r\n },\r\n\r\n /**\r\n * 设置设备组权限\r\n */\r\n setGroups: function (id) {\r\n this.groupDialog = true;\r\n this.selUserId = id;\r\n this.getGroupList(id);\r\n },\r\n\r\n /**\r\n * 设置管理员权限\r\n */\r\n setAdmin: function (obj) {\r\n const param = {\r\n userId: obj.id,\r\n admin: obj.admin == 1 ? 0 : 1\r\n };\r\n this.$http.Post(this.$global.users.adminAccess, param).then(res => {\r\n this.$message.success(\"设置成功!\");\r\n this.refresh();\r\n })\r\n },\r\n\r\n /**\r\n * 获取权限列表\r\n */\r\n getGroupList: function (userId) {\r\n const param = {\r\n userId: userId\r\n };\r\n this.$http.Get(this.$global.users.getNoAccessGroups, param).then(res => {\r\n const arr = [];\r\n for (let key in res.data) {\r\n arr.push({\r\n name: key,\r\n children: res.data[key]\r\n })\r\n }\r\n console.log(arr);\r\n this.groupList = arr;\r\n })\r\n },\r\n\r\n /**\r\n * 提交设备组权限配置\r\n */\r\n setGroupSubmit: function () {\r\n const arr = this.$refs.tree.getCheckedKeys(true);\r\n if (arr == null || arr.length <= 0) {\r\n this.$message.error(\"至少配置一个组!\");\r\n return;\r\n }\r\n let groups = \"\";\r\n arr.forEach(item => {\r\n groups += (item + \",\")\r\n });\r\n groups = groups.substr(0, groups.length - 1);\r\n const params = {\r\n userId: this.selUserId,\r\n groups: groups\r\n };\r\n this.$http.Post(this.$global.users.saveGroupAccess, params).then(res => {\r\n this.$message.success(\"配置成功!\");\r\n this.groupDialog = false;\r\n })\r\n },\r\n\r\n /**\r\n * 编辑\r\n */\r\n edit: function (obj) {\r\n this.updateForm = {\r\n id: obj.id,\r\n remark: obj.remark\r\n };\r\n this.updateDialog = true;\r\n },\r\n\r\n /**\r\n * 提交更新表单\r\n */\r\n updateSubmit: function (formName) {\r\n this.$refs[formName].validate((valid) => {\r\n if (!valid) return false;\r\n //提交表单\r\n this.$http.Post(this.$global.users.updateRemark, this.updateForm).then(res => {\r\n this.$message.success(\"修改成功!\");\r\n this.refresh();\r\n })\r\n });\r\n },\r\n\r\n /**\r\n * 刷新列表\r\n */\r\n refresh: function () {\r\n this.updateDialog = false;\r\n const params = {\r\n key: this.query.key,\r\n current: this.page.current,\r\n size: this.page.size,\r\n };\r\n this.getUserList(params);\r\n },\r\n\r\n }\r\n };\r\n</script>\r\n","import { render } from \"./users.vue?vue&type=template&id=1736589e\"\nimport script from \"./users.vue?vue&type=script&lang=js\"\nexport * from \"./users.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import {\r\n\tcreateRouter,\r\n\tcreateWebHashHistory\r\n} from 'vue-router'\r\nimport Login from \"../views/login/login\";\r\nimport Layout from \"../views/layout/layout\";\r\nimport Logs from \"../views/monitor/logs\";\r\nimport Item from \"../views/system/item\";\r\nimport Group from \"../views/system/group\";\r\nimport DevicesLp from \"../views/devices/lp\";\r\nimport DevicesUbi from \"../views/devices/ubi\";\r\nimport MapLp from \"../views/map/lp\";\r\nimport Users from \"../views/system/users\";\r\n\r\nconst routes = [{\r\n\t\tpath: \"/\",\r\n\t\tname: \"Layout\",\r\n\t\tcomponent: Layout,\r\n\t\tchildren: [{\r\n\t\t\t\tpath: \"/logs\",\r\n\t\t\t\tname: \"Logs\",\r\n\t\t\t\tcomponent: Logs\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/devices/lp\",\r\n\t\t\t\tname: \"DevicesLp\",\r\n\t\t\t\tcomponent: DevicesLp\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/devices/ubi\",\r\n\t\t\t\tname: \"DevicesUbi\",\r\n\t\t\t\tcomponent: DevicesUbi\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/map/lp\",\r\n\t\t\t\tname: \"MapLp\",\r\n\t\t\t\tcomponent: MapLp\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/groups\",\r\n\t\t\t\tname: \"Group\",\r\n\t\t\t\tcomponent: Group\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/users\",\r\n\t\t\t\tname: \"Users\",\r\n\t\t\t\tcomponent: Users\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tpath: \"/login\",\r\n\t\tname: \"Login\",\r\n\t\tcomponent: Login,\r\n\t}\r\n];\r\nconst router = createRouter({\r\n\thistory: createWebHashHistory(),\r\n\troutes\r\n});\r\n\r\nexport default router\r\n","const server = \"http://lq.ailishi.org:4032/bms/api/operate/\";\r\n// const server = \"http://localhost:8081/bms/api/operate/\";\r\n\r\nconst URL = {\r\n //登录\r\n login: server + \"admin/login.do\",\r\n //注销\r\n logout: server + \"admin/logout.do\",\r\n //验证token\r\n verify: server + \"admin/verify.do\",\r\n\r\n //用户\r\n users: {\r\n //列表\r\n listPage: server + \"user/listPage.do\",\r\n //管理员权限\r\n adminAccess: server + \"user/adminAccess.do\",\r\n //获取某用户没有权限的设备组\r\n getNoAccessGroups: server + \"user/getNoAccessGroups.do\",\r\n //保存设备组权限\r\n saveGroupAccess: server + \"user/saveGroupAccess.do\",\r\n //备注\r\n updateRemark: server + \"user/remark.do\",\r\n },\r\n //设备基础信息\r\n deviceBase: {\r\n updateRemark: server + \"device/base/remark.do\",\r\n },\r\n //路牌\r\n lp: {\r\n //分页列表\r\n listPage: server + \"device/lp/listPage.do\",\r\n //分布图-列表\r\n listAll: server + \"device/lp/listAll.do\",\r\n //设备详情\r\n detail: server + \"device/lp/detail.do\",\r\n },\r\n //普适型\r\n ubi: {\r\n //分页列表\r\n listPage: server + \"device/ubi/listPage.do\",\r\n //设备详情\r\n detail: server + \"device/ubi/detail.do\",\r\n },\r\n //mqtt日志\r\n logs: {\r\n //列表\r\n listPage: server + \"logs/listPage.do\",\r\n //全部指令\r\n instructions: server + \"logs/instruction.do\",\r\n },\r\n //设备组管理\r\n group: {\r\n //列表\r\n listPage: server + \"group/listPage.do\",\r\n //增\r\n save: server + \"group/save.do\",\r\n //查询全部设备组\r\n listAll: server + \"group/listAll.do\",\r\n //更新\r\n update: server + \"group/update.do\",\r\n },\r\n\r\n //webSocket 地址\r\n webSocket: \"wss://www.mang406.top/webSocket/\",\r\n};\r\n\r\nexport default {\r\n URL\r\n};\r\n","//Http配置\r\nimport Axios from 'axios'\r\nimport {\r\n\tElMessage\r\n} from 'element-plus'\r\nimport router from \"../../router\"\r\nimport TokenManager from \"./token\"\r\nAxios.defaults.headers['channel'] = 'bms';\r\n\r\n/**\r\n * 拦截http请求\r\n */\r\nAxios.interceptors.request.use(config => {\r\n\tconst tokenStr = TokenManager.getToken();\r\n\tif (tokenStr != null) config.headers['token'] = JSON.parse(TokenManager.getToken()).token;\r\n\treturn config;\r\n});\r\n\r\n\r\n/**\r\n * 拦截http响应\r\n */\r\nAxios.interceptors.response.use(res => {\r\n\t\tswitch (res.data.status) { //状态码\r\n\t\t\tcase 200:\r\n\t\t\t\treturn res.data;\r\n\t\t\tcase 300: //警告\r\n\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 400: //无权限\r\n\t\t\t\tElMessage.error(\"请先登录\");\r\n\t\t\t\trouter.replace(\"/login\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase 500: //服务器错误\r\n\t\t\t\tElMessage.error(\"服务器开小差了\");\r\n\t\t\t\tbreak;\r\n\t\t\tdefault: //无状态码\r\n\t\t\t\tElMessage.error(\"请求状态异常\");\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthrow \"stop\";\r\n\t},\r\n\terror => {\r\n\t\tconsole.log(error);\r\n\t\tthrow \"stop\";\r\n\t});\r\nexport default Axios\r\n","import Axios from \"./axiosCfg\";\r\nimport Qs from \"qs\";\r\nimport {\r\n\tElLoading\r\n} from \"element-plus\";\r\n\r\nlet loading; //加载框\r\n/**\r\n * 打开加载框\r\n */\r\nfunction openLoad() {\r\n\tif (loading != null) loading.close();\r\n\t//打开加载框\r\n\tloading = ElLoading.service({\r\n\t\ttext: \"正在加载\",\r\n\t});\r\n}\r\n\r\n/**\r\n * 关闭加载框\r\n */\r\nfunction closeLoad() {\r\n\tif (loading != null) {\r\n\t\tloading.close();\r\n\t}\r\n}\r\n\r\nlet Http = {\r\n\t/**\r\n\t * Post请求\r\n\t */\r\n\tPost: function(url, data) {\r\n\t\t//打开加载框\r\n\t\topenLoad();\r\n\t\t//发送请求\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tAxios.post(url, Qs.stringify(data))\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tresolve(res);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(res => {})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tcloseLoad();\r\n\t\t\t\t})\r\n\t\t});\r\n\t},\r\n\t/**\r\n\t * Get请求\r\n\t */\r\n\tGet: function(url, data) {\r\n\t\t//打开加载框\r\n\t\topenLoad();\r\n\t\t//请求数据\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tAxios.get(url, {params: data})\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tresolve(res);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(res => {\r\n\t\t\t\t\tconsole.log(res)\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tcloseLoad();\r\n\t\t\t\t})\r\n\t\t});\r\n\t},\r\n\t/**\r\n\t * 下载\r\n\t */\r\n\tDownload: function(url, data, fileName) {\r\n\t\tAxios.post(url, Qs.stringify(data), {\r\n\t\t\tresponseType: \"blob\"\r\n\t\t}).then(res => {\r\n\t\t\tlet link = document.createElement(\"a\");\r\n\t\t\tlink.style.display = \"none\";\r\n\t\t\tlink.href = window.URL.createObjectURL(new Blob([res]));\r\n\t\t\tlink.setAttribute(\"download\", fileName); // 自定义下载文件名(如exemple.txt)\r\n\t\t\tdocument.body.appendChild(link);\r\n\t\t\tlink.click();\r\n\t\t\tURL.revokeObjectURL(link.href); // 释放URL 对象\r\n\t\t\tdocument.body.removeChild(link);\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport default {\r\n\tHttp\r\n};\r\n","import {createApp} from 'vue'\r\nimport ElementPlus from 'element-plus';\r\nimport \"./static/element-ui.css\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport Global from './static/js/global'\r\nimport Http from './static/js/http'\r\nimport './static/js/token'\r\n\r\nconst app = createApp(App);\r\napp.config.globalProperties.$http = Http.Http;\r\napp.config.globalProperties.$global = Global.URL;\r\napp.use(router).use(ElementPlus).mount('#app');","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./lp.vue?vue&type=style&index=0&id=4ef70a8e&scoped=true&lang=scss\"","module.exports = __webpack_public_path__ + \"img/logo.e8ecd770.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./login.vue?vue&type=style&index=0&id=1f087cb8&scoped=true&lang=scss\""],"sourceRoot":""}