1 |
- {"remainingRequest":"D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\test\\ssi-satoken\\ui\\src\\views\\auditManager\\logininfo\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\test\\ssi-satoken\\ui\\src\\views\\auditManager\\logininfo\\index.vue","mtime":1696909835000},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1697005520931},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1697005523218},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1697005520931},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1697005524089}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQoNCmltcG9ydCB7ZGVib3VuY2V9IGZyb20gImxvZGFzaCI7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogIkxvZ2luaW5mb3IiLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBzaG93VGFibGU6IHRydWUsDQogICAgICBjdXJyZW50UGFnZTogMSwNCiAgICAgIHBhZ2VTaXplOiAxMCwNCiAgICAgIC8vIOaAu+adoeaVsA0KICAgICAgdG90YWw6IDAsDQogICAgICBzdGF0dXNPcHRpb25zOiBbDQogICAgICAgIHt2YWx1ZTogJzAnLCBsYWJlbDogJ+aIkOWKnyd9LA0KICAgICAgICB7dmFsdWU6ICcxJywgbGFiZWw6ICflpLHotKUnfQ0KICAgICAgXSwNCiAgICAgIC8vIOmBrue9qeWxgg0KICAgICAgbG9hZGluZzogdHJ1ZSwNCiAgICAgIC8vIOmAieS4reaVsOe7hA0KICAgICAgaWRzOiBbXSwNCiAgICAgIC8vIOmdnuWNleS4quemgeeUqA0KICAgICAgc2luZ2xlOiB0cnVlLA0KICAgICAgLy8g6Z2e5aSa5Liq56aB55SoDQogICAgICBtdWx0aXBsZTogdHJ1ZSwNCiAgICAgIC8vIOmAieaLqeeUqOaIt+WQjQ0KICAgICAgc2VsZWN0TmFtZTogIiIsDQogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YNCiAgICAgIHNob3dTZWFyY2g6IHRydWUsDQogICAgICAvLyDooajmoLzmlbDmja4NCiAgICAgIGxpc3Q6IFtdLA0KICAgICAgLy8g5pel5pyf6IyD5Zu0DQogICAgICBkYXRlUmFuZ2U6IFtdLA0KICAgICAgLy8g6buY6K6k5o6S5bqPDQogICAgICBkZWZhdWx0U29ydDoge3Byb3A6ICdsb2dpblRpbWUnLCBvcmRlcjogJ2Rlc2NlbmRpbmcnfSwNCiAgICAgIC8vIOafpeivouWPguaVsA0KICAgICAgcXVlcnlQYXJhbXM6IHsNCiAgICAgICAgaXBhZGRyOiB1bmRlZmluZWQsDQogICAgICAgIHVzZXJOYW1lOiB1bmRlZmluZWQsDQogICAgICAgIHN0YXR1czogdW5kZWZpbmVkDQogICAgICB9LA0KICAgICAgc29ydE9yZGVyOiAnbG9naW5UaW1lJmRlc2MnLA0KICAgIH07DQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgdGhpcy5nZXRMaXN0KCk7DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBzb3J0Q2hhbmdlRXZlbnQoe2NvbHVtbiwgcHJvcGVydHksIG9yZGVyfSkgew0KICAgICAgaWYgKG9yZGVyID09IG51bGwpIHsNCiAgICAgICAgb3JkZXIgPSAnZGVzYycNCiAgICAgIH0NCiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxDQogICAgICB0aGlzLnNvcnRPcmRlciA9IHByb3BlcnR5KycmJytvcmRlcg0KICAgICAgdGhpcy5nZXRMaXN0KCkNCiAgICB9LA0KICAgIGhhbmRsZVBhZ2VDaGFuZ2Uoe2N1cnJlbnRQYWdlLCBwYWdlU2l6ZX0pIHsNCiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBjdXJyZW50UGFnZQ0KICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplDQogICAgICB0aGlzLmdldExpc3QoKQ0KICAgIH0sDQogICAgLy8g5YiX6KGo54q25oCB5qC85byP5YyWDQogICAgc3RhdHVzRm9ybWF0KHtjZWxsVmFsdWV9KSB7DQogICAgICBsZXQgYmVsb25nVG8gPSAn5pyq55+l55qE57G75Z6LJw0KICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YXR1c09wdGlvbnMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgaWYgKGNlbGxWYWx1ZSA9PSAiMCIpIHsNCiAgICAgICAgICBiZWxvbmdUbyA9ICLmiJDlip8iDQogICAgICAgIH0gZWxzZSBpZiAoY2VsbFZhbHVlID09ICIxIikgew0KICAgICAgICAgIGJlbG9uZ1RvID0gIuWksei0pSINCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgcmV0dXJuIGJlbG9uZ1RvDQogICAgfSwNCiAgICAvKiog5p+l6K+i55m75b2V5pel5b+X5YiX6KGoICovDQogICAgZ2V0TGlzdDpkZWJvdW5jZShhc3luYyBmdW5jdGlvbigpew0KICAgICAgbGV0IHN5c1RpbWUNCiAgICAgIGxldCBsaw0KICAgICAgYXdhaXQgdGhpcy4kYXhpb3MuZ2V0KCcvc3lzUG9saWN5Q29udHJvbGxlci9nZXRMaWNlbnNlS2V5JykudGhlbigocmVzKSA9PiB7DQogICAgICAgIHN5c1RpbWUgPSByZXMuZGF0YS5zeXNUaW1lDQogICAgICAgIGxrID0gcmVzLmRhdGEubGsNCiAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4gew0KICAgICAgfSkNCg0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGxldCBfc3RhcnRPcGVyVGltZTsNCiAgICAgIGxldCBfZW5kT3BlclRpbWU7DQogICAgICBpZiAodGhpcy5kYXRlUmFuZ2UgPT0gbnVsbCkgew0KICAgICAgICBfc3RhcnRPcGVyVGltZSA9ICcnDQogICAgICAgIF9lbmRPcGVyVGltZSA9ICcnDQogICAgICB9IGVsc2Ugew0KICAgICAgICBfc3RhcnRPcGVyVGltZSA9IHRoaXMuZGF0ZVJhbmdlWzBdDQogICAgICAgIF9lbmRPcGVyVGltZSA9IHRoaXMuZGF0ZVJhbmdlWzFdDQogICAgICB9DQogICAgICB2YXIgc2VhcmNoUGFyYW1zID0gew0KICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSwNCiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsDQogICAgICAgIGlwYWRkcjogdGhpcy5xdWVyeVBhcmFtcy5pcGFkZHIsDQogICAgICAgIHVzZXJOYW1lOiB0aGlzLnF1ZXJ5UGFyYW1zLnVzZXJOYW1lLA0KICAgICAgICBzdGF0dXM6IHRoaXMucXVlcnlQYXJhbXMuc3RhdHVzLA0KICAgICAgICBzdGFydExvZ2luVGltZTpfc3RhcnRPcGVyVGltZSwNCiAgICAgICAgZW5kTG9naW5UaW1lOl9lbmRPcGVyVGltZSwNCiAgICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRPcmRlciwNCiAgICAgICAgc3lzVGltZTogc3lzVGltZSwNCiAgICAgICAgbGs6IGxrDQogICAgICB9DQogICAgICBhd2FpdCB0aGlzLiRheGlvcy5nZXQoJy9zeXNMb2dpbmluZm9yQ29udHJvbGxlci9nZXRBbGwnLA0KICAgICAgICB7cGFyYW1zOiBzZWFyY2hQYXJhbXN9KS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5saXN0ID0gcmVzLmRhdGEucmVjb3Jkcw0KICAgICAgICB0aGlzLnRvdGFsID0gcmVzLmRhdGEudG90YWwNCg0KICAgICAgICBpZiAocmVzLmRhdGEucmVjb3JkcyA9PSAnJykgew0KICAgICAgICAgIHRoaXMuc2hvd1RhYmxlID0gZmFsc2UNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLnNob3dUYWJsZSA9IHRydWUNCiAgICAgICAgfQ0KICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZQ0KICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAvLyB0aGlzLiRtZXNzYWdlLmVycm9yKGVycm9yKQ0KICAgICAgfSkNCiAgICB9LDEwMDApLA0KICAgIC8qKiDmkJzntKLmjInpkq7mk43kvZwgKi8NCiAgICBoYW5kbGVRdWVyeSgpIHsNCiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxDQogICAgICB0aGlzLnBhZ2VTaXplID0gMTANCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0sDQogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqLw0KICAgIHJlc2V0UXVlcnkoKSB7DQogICAgICB0aGlzLmRhdGVSYW5nZSA9IFtdOw0KICAgICAgdGhpcy5yZXNldEZvcm0oInF1ZXJ5Rm9ybSIpOw0KICAgIH0sDQogICAgLyoqIOWIoOmZpOaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZURlbGV0ZSgpIHsNCiAgICAgIGNvbnN0IF9zZWxlY3REYXRhID0gdGhpcy4kcmVmcy50YWJsZXMuZ2V0UmFkaW9SZWNvcmQodHJ1ZSkNCiAgICAgIGlmIChfc2VsZWN0RGF0YSA9PSBudWxsKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uoew0KICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup6K6w5b2VIScNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybg0KICAgICAgfQ0KICAgICAgdGhpcy4kY29uZmlybSgn5piv5ZCm56Gu6K6k5Yig6Zmk55So5oi3PycsICfmj5DnpLonLCB7DQogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywNCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsDQogICAgICAgIHR5cGU6ICd3YXJuaW5nJw0KICAgICAgfSkudGhlbigoKSA9PiB7DQogICAgICAgIHRoaXMuZG9EZWxldGUoX3NlbGVjdERhdGEpDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8qKg0KICAgICAqIOWIoOmZpOaPkOS6pA0KICAgICAqLw0KICAgIGRvRGVsZXRlOmRlYm91bmNlKGZ1bmN0aW9uKF9zZWxlY3REYXRhKXsNCiAgICAgIGNvbnN0IHBhcmFtID0gew0KICAgICAgICBpbmZvSWQ6IF9zZWxlY3REYXRhLmluZm9JZA0KICAgICAgfQ0KICAgICAgdGhpcy4kYXhpb3MucG9zdCgnL3N5c0xvZ2luaW5mb3JDb250cm9sbGVyL2RlbExvZ2luSW5mbycsIHBhcmFtKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgaWYgKHJlcy5jb2RlID09IDApIHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsNCiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip8hJw0KICAgICAgICAgIH0pOw0KICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uoew0KICAgICAgICAgICAgdHlwZTogJ2Vycm9yJywNCiAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5kYXRhDQogICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4gew0KICAgICAgICB0aGlzLiRtZXNzYWdlKHsNCiAgICAgICAgICB0eXBlOiAnZXJyb3InLA0KICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTlpLHotKUhJw0KICAgICAgICB9KTsNCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgIH0pDQogICAgfSwxMDAwKSwNCiAgICAvKiog5riF56m65oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlQ2xlYW4oKSB7DQogICAgICBpZiAodGhpcy5saXN0PT0nJykgew0KICAgICAgICB0aGlzLiRtZXNzYWdlKHsNCiAgICAgICAgICB0eXBlOiAnd2FybmluZycsDQogICAgICAgICAgbWVzc2FnZTogJ+ayoeacieiusOW9leS4jeiDvea4heepuiEnDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4NCiAgICAgIH0NCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOa4heepuuaJgOacieeZu+W9leaXpeW/l+aVsOaNrumhue+8nycsICfmj5DnpLonLCB7DQogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywNCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsDQogICAgICAgIHR5cGU6ICd3YXJuaW5nJw0KICAgICAgfSkudGhlbigoKSA9PiB7DQogICAgICAgIHRoaXMuY2xlYW5Mb2dpbmluZm9yKCk7DQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICB9KQ0KICAgIH0sDQogICAgLyoqDQogICAgICog5riF56m65o+Q5LqkDQogICAgICovDQogICAgY2xlYW5Mb2dpbmluZm9yOmRlYm91bmNlKGZ1bmN0aW9uKCl7DQogICAgICB0aGlzLiRheGlvcy5wb3N0KCcvc3lzTG9naW5pbmZvckNvbnRyb2xsZXIvY2xlYW5Mb2dpbmluZm9yJyx7fSkudGhlbigocmVzKSA9PiB7DQogICAgICAgIGlmIChyZXMuY29kZSA9PSAwKSB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZSh7DQogICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsDQogICAgICAgICAgICBtZXNzYWdlOiAn5riF56m65oiQ5YqfIScNCiAgICAgICAgICB9KTsNCiAgICAgICAgICB0aGlzLmdldExpc3QoKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsNCiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsDQogICAgICAgICAgICBtZXNzYWdlOiByZXMuZGF0YQ0KICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZSh7DQogICAgICAgICAgdHlwZTogJ2Vycm9yJywNCiAgICAgICAgICBtZXNzYWdlOiAn5riF56m65aSx6LSlIScNCiAgICAgICAgfSk7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlDQogICAgICB9KQ0KICAgIH0sMTAwMCkNCiAgfQ0KfTsNCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4HA;;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;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;;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;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/auditManager/logininfo","sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" size=\"small\" :inline=\"true\" v-show=\"showSearch\" label-width=\"68px\">\r\n <el-form-item label=\"登录地址\" prop=\"ipaddr\">\r\n <el-input\r\n maxlength=\"128\"\r\n v-model=\"queryParams.ipaddr\"\r\n placeholder=\"请输入登录地址\"\r\n clearable\r\n style=\"width: 240px;\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"用户账号\" prop=\"userName\">\r\n <el-input\r\n maxlength=\"50\"\r\n v-model=\"queryParams.userName\"\r\n placeholder=\"请输入用户账号\"\r\n clearable\r\n style=\"width: 240px;\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"登录状态\" prop=\"status\">\r\n <el-select\r\n v-model=\"queryParams.status\"\r\n placeholder=\"请选择登录状态\"\r\n clearable\r\n style=\"width: 240px\"\r\n >\r\n <el-option\r\n v-for=\"dict in statusOptions\"\r\n :key=\"dict.value\"\r\n :label=\"dict.label\"\r\n :value=\"dict.value\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"登录时间\">\r\n <el-date-picker\r\n v-model=\"dateRange\"\r\n style=\"width: 240px\"\r\n value-format=\"yyyy-MM-dd\"\r\n type=\"daterange\"\r\n range-separator=\"-\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n ></el-date-picker>\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 </el-form>\r\n\r\n <el-row :gutter=\"10\" class=\"mb8\">\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n style=\"display:none\"\r\n type=\"danger\"\r\n plain\r\n icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n @click=\"handleDelete\"\r\n v-hasPermi=\"['auditManager:logininfor:remove']\"\r\n >删除</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n style=\"display:none\"\r\n type=\"danger\"\r\n plain\r\n icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n @click=\"handleClean\"\r\n v-hasPermi=\"['auditManager:logininfor:remove']\"\r\n >清空</el-button>\r\n </el-col>\r\n </el-row>\r\n\r\n <div style=\"padding-top: 10px\">\r\n <vxe-table\r\n ref=\"tables\"\r\n align=\"center\"\r\n :loading=\"loading\"\r\n class=\"mytable-style\"\r\n auto-resize\r\n border\r\n resizable\r\n export-config\r\n highlight-current-row\r\n show-overflow\r\n max-height=\"700\"\r\n :data=\"list\"\r\n :radio-config=\"{trigger: 'row'}\"\r\n @sort-change=\"sortChangeEvent\"\r\n :sort-config=\"{remote:'true'}\"\r\n >\r\n<!-- <vxe-column type=\"radio\" width=\"60\"/>-->\r\n <vxe-table-column field=\"infoId\" title=\"访问编号\"/>\r\n <vxe-table-column field=\"userName\" title=\"用户账号\" :sortable=\"true\"/>\r\n <vxe-table-column field=\"ipaddr\" title=\"登录地址\" width=\"130\"/>\r\n<!-- <vxe-table-column field=\"loginLocation\" title=\"登录地点\"/>-->\r\n <vxe-table-column field=\"browser\" title=\"浏览器\"/>\r\n <vxe-table-column field=\"os\" title=\"操作系统\"/>\r\n <vxe-table-column field=\"status\" title=\"登录状态\" :formatter=\"statusFormat\"/>\r\n <vxe-table-column field=\"msg\" title=\"操作信息\"/>\r\n <vxe-table-column field=\"loginTime\" title=\"登录日期\" :sortable=\"true\"/>\r\n </vxe-table>\r\n <vxe-pager\r\n v-show=\"showTable\"\r\n perfect\r\n :current-page.sync=\"currentPage\"\r\n :page-size.sync=\"pageSize\"\r\n :total=\"total\"\r\n :page-sizes=\"[10,50,100]\"\r\n :layouts=\"['PrevJump', 'PrevPage','JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']\"\r\n @page-change=\"handlePageChange\"\r\n >\r\n </vxe-pager>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nimport {debounce} from \"lodash\";\r\n\r\nexport default {\r\n name: \"Logininfor\",\r\n data() {\r\n return {\r\n showTable: true,\r\n currentPage: 1,\r\n pageSize: 10,\r\n // 总条数\r\n total: 0,\r\n statusOptions: [\r\n {value: '0', label: '成功'},\r\n {value: '1', label: '失败'}\r\n ],\r\n // 遮罩层\r\n loading: true,\r\n // 选中数组\r\n ids: [],\r\n // 非单个禁用\r\n single: true,\r\n // 非多个禁用\r\n multiple: true,\r\n // 选择用户名\r\n selectName: \"\",\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 表格数据\r\n list: [],\r\n // 日期范围\r\n dateRange: [],\r\n // 默认排序\r\n defaultSort: {prop: 'loginTime', order: 'descending'},\r\n // 查询参数\r\n queryParams: {\r\n ipaddr: undefined,\r\n userName: undefined,\r\n status: undefined\r\n },\r\n sortOrder: 'loginTime&desc',\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n },\r\n methods: {\r\n sortChangeEvent({column, property, order}) {\r\n if (order == null) {\r\n order = 'desc'\r\n }\r\n this.currentPage = 1\r\n this.sortOrder = property+'&'+order\r\n this.getList()\r\n },\r\n handlePageChange({currentPage, pageSize}) {\r\n this.currentPage = currentPage\r\n this.pageSize = pageSize\r\n this.getList()\r\n },\r\n // 列表状态格式化\r\n statusFormat({cellValue}) {\r\n let belongTo = '未知的类型'\r\n for (let i = 0; i < this.statusOptions.length; i++) {\r\n if (cellValue == \"0\") {\r\n belongTo = \"成功\"\r\n } else if (cellValue == \"1\") {\r\n belongTo = \"失败\"\r\n }\r\n }\r\n return belongTo\r\n },\r\n /** 查询登录日志列表 */\r\n getList:debounce(async function(){\r\n let sysTime\r\n let lk\r\n await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {\r\n sysTime = res.data.sysTime\r\n lk = res.data.lk\r\n }).catch((error) => {\r\n })\r\n\r\n this.loading = true;\r\n let _startOperTime;\r\n let _endOperTime;\r\n if (this.dateRange == null) {\r\n _startOperTime = ''\r\n _endOperTime = ''\r\n } else {\r\n _startOperTime = this.dateRange[0]\r\n _endOperTime = this.dateRange[1]\r\n }\r\n var searchParams = {\r\n currentPage: this.currentPage,\r\n pageSize: this.pageSize,\r\n ipaddr: this.queryParams.ipaddr,\r\n userName: this.queryParams.userName,\r\n status: this.queryParams.status,\r\n startLoginTime:_startOperTime,\r\n endLoginTime:_endOperTime,\r\n sortOrder: this.sortOrder,\r\n sysTime: sysTime,\r\n lk: lk\r\n }\r\n await this.$axios.get('/sysLogininforController/getAll',\r\n {params: searchParams}).then((res) => {\r\n this.list = res.data.records\r\n this.total = res.data.total\r\n\r\n if (res.data.records == '') {\r\n this.showTable = false\r\n } else {\r\n this.showTable = true\r\n }\r\n this.loading = false\r\n }).catch((error) => {\r\n this.loading = false;\r\n // this.$message.error(error)\r\n })\r\n },1000),\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.currentPage = 1\r\n this.pageSize = 10\r\n this.getList();\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.dateRange = [];\r\n this.resetForm(\"queryForm\");\r\n },\r\n /** 删除按钮操作 */\r\n handleDelete() {\r\n const _selectData = this.$refs.tables.getRadioRecord(true)\r\n if (_selectData == null) {\r\n this.$message({\r\n type: 'warning',\r\n message: '请选择记录!'\r\n });\r\n return\r\n }\r\n this.$confirm('是否确认删除用户?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n this.doDelete(_selectData)\r\n }).catch(() => {\r\n });\r\n },\r\n /**\r\n * 删除提交\r\n */\r\n doDelete:debounce(function(_selectData){\r\n const param = {\r\n infoId: _selectData.infoId\r\n }\r\n this.$axios.post('/sysLogininforController/delLoginInfo', param).then((res) => {\r\n if (res.code == 0) {\r\n this.$message({\r\n type: 'success',\r\n message: '删除成功!'\r\n });\r\n this.getList();\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.data\r\n });\r\n }\r\n }).catch((error) => {\r\n this.$message({\r\n type: 'error',\r\n message: '删除失败!'\r\n });\r\n this.loading = false\r\n })\r\n },1000),\r\n /** 清空按钮操作 */\r\n handleClean() {\r\n if (this.list=='') {\r\n this.$message({\r\n type: 'warning',\r\n message: '没有记录不能清空!'\r\n });\r\n return\r\n }\r\n this.$confirm('是否确认清空所有登录日志数据项?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n this.cleanLogininfor();\r\n }).catch(() => {\r\n })\r\n },\r\n /**\r\n * 清空提交\r\n */\r\n cleanLogininfor:debounce(function(){\r\n this.$axios.post('/sysLogininforController/cleanLogininfor',{}).then((res) => {\r\n if (res.code == 0) {\r\n this.$message({\r\n type: 'success',\r\n message: '清空成功!'\r\n });\r\n this.getList();\r\n } else {\r\n this.$message({\r\n type: 'error',\r\n message: res.data\r\n });\r\n }\r\n }).catch((error) => {\r\n this.$message({\r\n type: 'error',\r\n message: '清空失败!'\r\n });\r\n this.loading = false\r\n })\r\n },1000)\r\n }\r\n};\r\n</script>\r\n\r\n"]}]}
|