Files
education/frontend/node_modules/.cache/vue-loader/ee4842db282338a51f33548b07ead0f4.json
T

1 line
9.0 KiB
JSON

{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\monitor\\online\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\monitor\\online\\index.vue","mtime":1787567871629},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBsaXN0LCBmb3JjZUxvZ291dCB9IGZyb20gIkAvYXBpL21vbml0b3Ivb25saW5lIg0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJPbmxpbmUiLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICAvLyDpga7nvanlsYINCiAgICAgIGxvYWRpbmc6IHRydWUsDQogICAgICAvLyDmgLvmnaHmlbANCiAgICAgIHRvdGFsOiAwLA0KICAgICAgLy8g6KGo5qC85pWw5o2uDQogICAgICBsaXN0OiBbXSwNCiAgICAgIHBhZ2VOdW06IDEsDQogICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAvLyDooajmoLzpq5jluqYNCiAgICAgIHRhYmxlSGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQgLSAyNDAsDQogICAgICAvLyDmn6Xor6Llj4LmlbANCiAgICAgIHF1ZXJ5UGFyYW1zOiB7DQogICAgICAgIGlwYWRkcjogdW5kZWZpbmVkLA0KICAgICAgICB1c2VyTmFtZTogdW5kZWZpbmVkDQogICAgICB9DQogICAgfQ0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMuZ2V0TGlzdCgpDQogIH0sDQogIG1vdW50ZWQoKSB7DQogICAgdGhpcy5nZXRUYWJsZUhlaWdodCgpDQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZ2V0VGFibGVIZWlnaHQpDQogIH0sDQogIGJlZm9yZURlc3Ryb3koKSB7DQogICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZ2V0VGFibGVIZWlnaHQpDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBnZXRUYWJsZUhlaWdodCgpIHsNCiAgICAgIHRoaXMudGFibGVIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSAyNDANCiAgICB9LA0KICAgIC8qKiDmn6Xor6LnmbvlvZXml6Xlv5fliJfooaggKi8NCiAgICBnZXRMaXN0KCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZQ0KICAgICAgbGlzdCh0aGlzLnF1ZXJ5UGFyYW1zKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgdGhpcy5saXN0ID0gcmVzcG9uc2Uucm93cw0KICAgICAgICB0aGlzLnRvdGFsID0gcmVzcG9uc2UudG90YWwNCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgIH0pDQogICAgfSwNCiAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlUXVlcnkoKSB7DQogICAgICB0aGlzLnBhZ2VOdW0gPSAxDQogICAgICB0aGlzLmdldExpc3QoKQ0KICAgIH0sDQogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqLw0KICAgIHJlc2V0UXVlcnkoKSB7DQogICAgICB0aGlzLnJlc2V0Rm9ybSgicXVlcnlGb3JtIikNCiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKQ0KICAgIH0sDQogICAgLyoqIOW8uumAgOaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZUZvcmNlTG9nb3V0KHJvdykgew0KICAgICAgdGhpcy4kbW9kYWwuY29uZmlybSgn5piv5ZCm56Gu6K6k5by66YCA5ZCN56ew5Li6IicgKyByb3cudXNlck5hbWUgKyAnIueahOeUqOaIt++8nycpLnRoZW4oZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiBmb3JjZUxvZ291dChyb3cudG9rZW5JZCkNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICB0aGlzLmdldExpc3QoKQ0KICAgICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLlvLrpgIDmiJDlip8iKQ0KICAgICAgfSkuY2F0Y2goKCkgPT4ge30pDQogICAgfQ0KICB9DQp9DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/monitor/online","sourcesContent":["<template>\r\n <div class=\"app-container monitor-online\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" size=\"small\" :inline=\"true\" label-width=\"68px\">\r\n <el-form-item label=\"登录地址\" prop=\"ipaddr\">\r\n <el-input\r\n v-model=\"queryParams.ipaddr\"\r\n placeholder=\"请输入登录地址\"\r\n clearable\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"用户名称\" prop=\"userName\">\r\n <el-input\r\n v-model=\"queryParams.userName\"\r\n placeholder=\"请输入用户名称\"\r\n clearable\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\r\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\r\n </el-form-item>\r\n\r\n </el-form>\r\n <el-table\r\n v-loading=\"loading\"\r\n :data=\"list.slice((pageNum-1)*pageSize,pageNum*pageSize)\"\r\n style=\"width: 100%;\"\r\n :height=\"tableHeight\"\r\n >\r\n <el-table-column label=\"序号\" type=\"index\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"会话编号\" align=\"center\" prop=\"tokenId\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"登录名称\" align=\"center\" prop=\"userName\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"部门名称\" align=\"center\" prop=\"deptName\" />\r\n <el-table-column label=\"主机\" align=\"center\" prop=\"ipaddr\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"登录地点\" align=\"center\" prop=\"loginLocation\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"浏览器\" align=\"center\" prop=\"browser\" />\r\n <el-table-column label=\"操作系统\" align=\"center\" prop=\"os\" />\r\n <el-table-column label=\"登录时间\" align=\"center\" prop=\"loginTime\" width=\"180\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ parseTime(scope.row.loginTime) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\">\r\n <template slot-scope=\"scope\">\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleForceLogout(scope.row)\"\r\n v-hasPermi=\"['monitor:online:forceLogout']\"\r\n >强退</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination v-show=\"total>0\" :total=\"total\" :page.sync=\"pageNum\" :limit.sync=\"pageSize\" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { list, forceLogout } from \"@/api/monitor/online\"\r\n\r\nexport default {\r\n name: \"Online\",\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 总条数\r\n total: 0,\r\n // 表格数据\r\n list: [],\r\n pageNum: 1,\r\n pageSize: 10,\r\n // 表格高度\r\n tableHeight: window.innerHeight - 240,\r\n // 查询参数\r\n queryParams: {\r\n ipaddr: undefined,\r\n userName: undefined\r\n }\r\n }\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n mounted() {\r\n this.getTableHeight()\r\n window.addEventListener('resize', this.getTableHeight)\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.getTableHeight)\r\n },\r\n methods: {\r\n getTableHeight() {\r\n this.tableHeight = window.innerHeight - 240\r\n },\r\n /** 查询登录日志列表 */\r\n getList() {\r\n this.loading = true\r\n list(this.queryParams).then(response => {\r\n this.list = response.rows\r\n this.total = response.total\r\n this.loading = false\r\n })\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.pageNum = 1\r\n this.getList()\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.resetForm(\"queryForm\")\r\n this.handleQuery()\r\n },\r\n /** 强退按钮操作 */\r\n handleForceLogout(row) {\r\n this.$modal.confirm('是否确认强退名称为\"' + row.userName + '\"的用户?').then(function() {\r\n return forceLogout(row.tokenId)\r\n }).then(() => {\r\n this.getList()\r\n this.$modal.msgSuccess(\"强退成功\")\r\n }).catch(() => {})\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.monitor-online ::v-deep .el-table ::-webkit-scrollbar {\r\n display: none;\r\n}\r\n.monitor-online ::v-deep .el-table {\r\n scrollbar-width: none;\r\n -ms-overflow-style: none;\r\n}\r\n.monitor-online ::v-deep .el-table__body-wrapper::-webkit-scrollbar {\r\n display: none;\r\n}\r\n.monitor-online ::v-deep .el-table__body-wrapper {\r\n scrollbar-width: none;\r\n -ms-overflow-style: none;\r\n}\r\n</style>\r\n\r\n"]}]}