1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\src\\views\\monitor\\operlog\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\src\\views\\monitor\\operlog\\index.vue","mtime":1647228900884},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgew0KICBsaXN0LA0KICBkZWxPcGVybG9nLA0KICBjbGVhbk9wZXJsb2csDQogIGV4cG9ydE9wZXJsb2csDQp9IGZyb20gIkAvYXBpL21vbml0b3Ivb3BlcmxvZyI7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogIk9wZXJsb2ciLA0KICBkaWN0czogWyJzeXNfb3Blcl90eXBlIiwgInN5c19jb21tb25fc3RhdHVzIl0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIC8vIOmBrue9qeWxgg0KICAgICAgbG9hZGluZzogdHJ1ZSwNCiAgICAgIC8vIOWvvOWHuumBrue9qeWxgg0KICAgICAgZXhwb3J0TG9hZGluZzogZmFsc2UsDQogICAgICAvLyDpgInkuK3mlbDnu4QNCiAgICAgIGlkczogW10sDQogICAgICAvLyDpnZ7lpJrkuKrnpoHnlKgNCiAgICAgIG11bHRpcGxlOiB0cnVlLA0KICAgICAgLy8g5pi+56S65pCc57Si5p2h5Lu2DQogICAgICBzaG93U2VhcmNoOiB0cnVlLA0KICAgICAgLy8g5oC75p2h5pWwDQogICAgICB0b3RhbDogMCwNCiAgICAgIC8vIOihqOagvOaVsOaNrg0KICAgICAgbGlzdDogW10sDQogICAgICAvLyDmmK/lkKbmmL7npLrlvLnlh7rlsYINCiAgICAgIG9wZW46IGZhbHNlLA0KICAgICAgLy8g5pel5pyf6IyD5Zu0DQogICAgICBkYXRlUmFuZ2U6IFtdLA0KICAgICAgLy8g6buY6K6k5o6S5bqPDQogICAgICBkZWZhdWx0U29ydDogeyBwcm9wOiAib3BlclRpbWUiLCBvcmRlcjogImRlc2NlbmRpbmciIH0sDQogICAgICAvLyDooajljZXlj4LmlbANCiAgICAgIGZvcm06IHt9LA0KICAgICAgLy8g5p+l6K+i5Y+C5pWwDQogICAgICBxdWVyeVBhcmFtczogew0KICAgICAgICBwYWdlTnVtOiAxLA0KICAgICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAgIHRpdGxlOiB1bmRlZmluZWQsDQogICAgICAgIG9wZXJOYW1lOiB1bmRlZmluZWQsDQogICAgICAgIGJ1c2luZXNzVHlwZTogdW5kZWZpbmVkLA0KICAgICAgICBzdGF0dXM6IHVuZGVmaW5lZCwNCiAgICAgIH0sDQogICAgfTsNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmdldExpc3QoKTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8qKiDmn6Xor6LnmbvlvZXml6Xlv5cgKi8NCiAgICBnZXRMaXN0KCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGxpc3QodGhpcy5hZGREYXRlUmFuZ2UodGhpcy5xdWVyeVBhcmFtcywgdGhpcy5kYXRlUmFuZ2UpKS50aGVuKA0KICAgICAgICAocmVzcG9uc2UpID0+IHsNCiAgICAgICAgICB0aGlzLmxpc3QgPSByZXNwb25zZS5yb3dzOw0KICAgICAgICAgIHRoaXMudG90YWwgPSByZXNwb25zZS50b3RhbDsNCiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgKTsNCiAgICB9LA0KICAgIC8vIOaTjeS9nOaXpeW/l+exu+Wei+Wtl+WFuOe/u+ivkQ0KICAgIHR5cGVGb3JtYXQocm93LCBjb2x1bW4pIHsNCiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCgNCiAgICAgICAgdGhpcy5kaWN0LnR5cGUuc3lzX29wZXJfdHlwZSwNCiAgICAgICAgcm93LmJ1c2luZXNzVHlwZQ0KICAgICAgKTsNCiAgICB9LA0KICAgIC8qKiDmkJzntKLmjInpkq7mk43kvZwgKi8NCiAgICBoYW5kbGVRdWVyeSgpIHsNCiAgICAgIHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSA9IDE7DQogICAgICB0aGlzLmdldExpc3QoKTsNCiAgICB9LA0KICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8NCiAgICByZXNldFF1ZXJ5KCkgew0KICAgICAgdGhpcy5kYXRlUmFuZ2UgPSBbXTsNCiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsNCiAgICAgIHRoaXMuJHJlZnMudGFibGVzLnNvcnQodGhpcy5kZWZhdWx0U29ydC5wcm9wLCB0aGlzLmRlZmF1bHRTb3J0Lm9yZGVyKTsNCiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsNCiAgICB9LA0KICAgIC8qKiDlpJrpgInmoYbpgInkuK3mlbDmja4gKi8NCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uKSB7DQogICAgICB0aGlzLmlkcyA9IHNlbGVjdGlvbi5tYXAoKGl0ZW0pID0+IGl0ZW0ub3BlcklkKTsNCiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aDsNCiAgICB9LA0KICAgIC8qKiDmjpLluo/op6blj5Hkuovku7YgKi8NCiAgICBoYW5kbGVTb3J0Q2hhbmdlKGNvbHVtbiwgcHJvcCwgb3JkZXIpIHsNCiAgICAgIHRoaXMucXVlcnlQYXJhbXMub3JkZXJCeUNvbHVtbiA9IGNvbHVtbi5wcm9wOw0KICAgICAgdGhpcy5xdWVyeVBhcmFtcy5pc0FzYyA9IGNvbHVtbi5vcmRlcjsNCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0sDQogICAgLyoqIOivpue7huaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZVZpZXcocm93KSB7DQogICAgICB0aGlzLm9wZW4gPSB0cnVlOw0KICAgICAgdGhpcy5mb3JtID0gcm93Ow0KICAgIH0sDQogICAgLyoqIOWIoOmZpOaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZURlbGV0ZShyb3cpIHsNCiAgICAgIGNvbnN0IG9wZXJJZHMgPSByb3cub3BlcklkIHx8IHRoaXMuaWRzOw0KICAgICAgdGhpcy4kbW9kYWwNCiAgICAgICAgLmNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOaXpeW/l+e8luWPt+S4uiInICsgb3BlcklkcyArICci55qE5pWw5o2u6aG577yfJykNCiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgew0KICAgICAgICAgIHJldHVybiBkZWxPcGVybG9nKG9wZXJJZHMpOw0KICAgICAgICB9KQ0KICAgICAgICAudGhlbigoKSA9PiB7DQogICAgICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgICAgICAgdGhpcy4kbW9kYWwubXNnU3VjY2Vzcygi5Yig6Zmk5oiQ5YqfIik7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgoKSA9PiB7fSk7DQogICAgfSwNCiAgICAvKiog5riF56m65oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlQ2xlYW4oKSB7DQogICAgICB0aGlzLiRtb2RhbA0KICAgICAgICAuY29uZmlybSgi5piv5ZCm56Gu6K6k5riF56m65omA5pyJ5pON5L2c5pel5b+X5pWw5o2u6aG577yfIikNCiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgew0KICAgICAgICAgIHJldHVybiBjbGVhbk9wZXJsb2coKTsNCiAgICAgICAgfSkNCiAgICAgICAgLnRoZW4oKCkgPT4gew0KICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgICAgICAgIHRoaXMuJG1vZGFsLm1zZ1N1Y2Nlc3MoIua4heepuuaIkOWKnyIpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKCkgPT4ge30pOw0KICAgIH0sDQogICAgLyoqIOWvvOWHuuaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZUV4cG9ydCgpIHsNCiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5xdWVyeVBhcmFtczsNCiAgICAgIHRoaXMuJG1vZGFsDQogICAgICAgIC5jb25maXJtKCLmmK/lkKbnoa7orqTlr7zlh7rmiYDmnInmk43kvZzml6Xlv5fmlbDmja7pobnvvJ8iKQ0KICAgICAgICAudGhlbigoKSA9PiB7DQogICAgICAgICAgdGhpcy5leHBvcnRMb2FkaW5nID0gdHJ1ZTsNCiAgICAgICAgICByZXR1cm4gZXhwb3J0T3BlcmxvZyhxdWVyeVBhcmFtcyk7DQogICAgICAgIH0pDQogICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gew0KICAgICAgICAgIHRoaXMuJGRvd25sb2FkLm5hbWUocmVzcG9uc2UubXNnKTsNCiAgICAgICAgICB0aGlzLmV4cG9ydExvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKCgpID0+IHt9KTsNCiAgICB9LA0KICB9LA0KfTsNCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4RA;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;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/operlog","sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-form\r\n :model=\"queryParams\"\r\n ref=\"queryForm\"\r\n :inline=\"true\"\r\n v-show=\"showSearch\"\r\n label-width=\"68px\"\r\n >\r\n <el-form-item label=\"系统模块\" prop=\"title\">\r\n <el-input\r\n v-model=\"queryParams.title\"\r\n placeholder=\"请输入系统模块\"\r\n clearable\r\n style=\"width: 240px\"\r\n size=\"small\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"操作人员\" prop=\"operName\">\r\n <el-input\r\n v-model=\"queryParams.operName\"\r\n placeholder=\"请输入操作人员\"\r\n clearable\r\n style=\"width: 240px\"\r\n size=\"small\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"类型\" prop=\"businessType\">\r\n <el-select\r\n v-model=\"queryParams.businessType\"\r\n placeholder=\"操作类型\"\r\n clearable\r\n size=\"small\"\r\n style=\"width: 240px\"\r\n >\r\n <el-option\r\n v-for=\"dict in dict.type.sys_oper_type\"\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=\"状态\" prop=\"status\">\r\n <el-select\r\n v-model=\"queryParams.status\"\r\n placeholder=\"操作状态\"\r\n clearable\r\n size=\"small\"\r\n style=\"width: 240px\"\r\n >\r\n <el-option\r\n v-for=\"dict in dict.type.sys_common_status\"\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 size=\"small\"\r\n style=\"\r\n width: 200px;\r\n height: 36px;\r\n background: #00365f;\r\n border: 1px solid white;\r\n \"\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\r\n icon=\"el-icon-search\"\r\n size=\"btn\"\r\n @click=\"handleQuery\"\r\n >搜索</el-button\r\n >\r\n <el-button icon=\"el-icon-refresh\" size=\"btr\" @click=\"resetQuery\"\r\n >重置</el-button\r\n >\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 type=\"danger\"\r\n plain\r\n icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n :disabled=\"multiple\"\r\n @click=\"handleDelete\"\r\n v-hasPermi=\"['monitor:operlog:remove']\"\r\n >删除</el-button\r\n >\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\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=\"['monitor:operlog:remove']\"\r\n >清空</el-button\r\n >\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"warning\"\r\n plain\r\n icon=\"el-icon-download\"\r\n size=\"mini\"\r\n :loading=\"exportLoading\"\r\n @click=\"handleExport\"\r\n v-hasPermi=\"['monitor:operlog:export']\"\r\n >导出</el-button\r\n >\r\n </el-col>\r\n <right-toolbar\r\n :showSearch.sync=\"showSearch\"\r\n @queryTable=\"getList\"\r\n ></right-toolbar>\r\n </el-row>\r\n\r\n <el-table\r\n ref=\"tables\"\r\n v-loading=\"loading\"\r\n :data=\"list\"\r\n @selection-change=\"handleSelectionChange\"\r\n :default-sort=\"defaultSort\"\r\n @sort-change=\"handleSortChange\"\r\n :header-cell-style=\"{ background: '#003c69', color: 'white' }\"\r\n\r\n >\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\r\n <el-table-column label=\"日志编号\" align=\"center\" prop=\"operId\" />\r\n <el-table-column label=\"系统模块\" align=\"center\" prop=\"title\" />\r\n <el-table-column label=\"操作类型\" align=\"center\" prop=\"businessType\">\r\n <template slot-scope=\"scope\">\r\n <dict-tag\r\n :options=\"dict.type.sys_oper_type\"\r\n :value=\"scope.row.businessType\"\r\n />\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"请求方式\" align=\"center\" prop=\"requestMethod\" />\r\n <el-table-column\r\n label=\"操作人员\"\r\n align=\"center\"\r\n prop=\"operName\"\r\n width=\"100\"\r\n :show-overflow-tooltip=\"true\"\r\n sortable=\"custom\"\r\n :sort-orders=\"['descending', 'ascending']\"\r\n />\r\n <el-table-column\r\n label=\"操作地址\"\r\n align=\"center\"\r\n prop=\"operIp\"\r\n width=\"130\"\r\n :show-overflow-tooltip=\"true\"\r\n />\r\n <el-table-column\r\n label=\"操作地点\"\r\n align=\"center\"\r\n prop=\"operLocation\"\r\n :show-overflow-tooltip=\"true\"\r\n />\r\n <el-table-column label=\"操作状态\" align=\"center\" prop=\"status\">\r\n <template slot-scope=\"scope\">\r\n <dict-tag\r\n :options=\"dict.type.sys_common_status\"\r\n :value=\"scope.row.status\"\r\n />\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n label=\"操作日期\"\r\n align=\"center\"\r\n prop=\"operTime\"\r\n sortable=\"custom\"\r\n :sort-orders=\"['descending', 'ascending']\"\r\n width=\"180\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <span>{{ parseTime(scope.row.operTime) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n label=\"操作\"\r\n align=\"center\"\r\n class-name=\"small-padding fixed-width\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-view\"\r\n @click=\"handleView(scope.row, scope.index)\"\r\n v-hasPermi=\"['monitor:operlog:query']\"\r\n >详细</el-button\r\n >\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination\r\n v-show=\"total > 0\"\r\n :total=\"total\"\r\n :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\"\r\n @pagination=\"getList\"\r\n />\r\n\r\n <!-- 操作日志详细 -->\r\n <el-dialog\r\n title=\"操作日志详细\"\r\n :visible.sync=\"open\"\r\n width=\"700px\"\r\n append-to-body\r\n >\r\n <el-form ref=\"form\" :model=\"form\" label-width=\"100px\" size=\"mini\">\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"操作模块:\"\r\n >{{ form.title }} / {{ typeFormat(form) }}</el-form-item\r\n >\r\n <el-form-item label=\"登录信息:\"\r\n >{{ form.operName }} / {{ form.operIp }} /\r\n {{ form.operLocation }}</el-form-item\r\n >\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"请求地址:\">{{ form.operUrl }}</el-form-item>\r\n <el-form-item label=\"请求方式:\">{{\r\n form.requestMethod\r\n }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"操作方法:\">{{ form.method }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"请求参数:\">{{ form.operParam }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"返回参数:\">{{\r\n form.jsonResult\r\n }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"操作状态:\">\r\n <div v-if=\"form.status === 0\">正常</div>\r\n <div v-else-if=\"form.status === 1\">失败</div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"操作时间:\">{{\r\n parseTime(form.operTime)\r\n }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"异常信息:\" v-if=\"form.status === 1\">{{\r\n form.errorMsg\r\n }}</el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"open = false\">关 闭</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n list,\r\n delOperlog,\r\n cleanOperlog,\r\n exportOperlog,\r\n} from \"@/api/monitor/operlog\";\r\n\r\nexport default {\r\n name: \"Operlog\",\r\n dicts: [\"sys_oper_type\", \"sys_common_status\"],\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 导出遮罩层\r\n exportLoading: false,\r\n // 选中数组\r\n ids: [],\r\n // 非多个禁用\r\n multiple: true,\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 总条数\r\n total: 0,\r\n // 表格数据\r\n list: [],\r\n // 是否显示弹出层\r\n open: false,\r\n // 日期范围\r\n dateRange: [],\r\n // 默认排序\r\n defaultSort: { prop: \"operTime\", order: \"descending\" },\r\n // 表单参数\r\n form: {},\r\n // 查询参数\r\n queryParams: {\r\n pageNum: 1,\r\n pageSize: 10,\r\n title: undefined,\r\n operName: undefined,\r\n businessType: undefined,\r\n status: undefined,\r\n },\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n },\r\n methods: {\r\n /** 查询登录日志 */\r\n getList() {\r\n this.loading = true;\r\n list(this.addDateRange(this.queryParams, this.dateRange)).then(\r\n (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 // 操作日志类型字典翻译\r\n typeFormat(row, column) {\r\n return this.selectDictLabel(\r\n this.dict.type.sys_oper_type,\r\n row.businessType\r\n );\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.queryParams.pageNum = 1;\r\n this.getList();\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.dateRange = [];\r\n this.resetForm(\"queryForm\");\r\n this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);\r\n this.handleQuery();\r\n },\r\n /** 多选框选中数据 */\r\n handleSelectionChange(selection) {\r\n this.ids = selection.map((item) => item.operId);\r\n this.multiple = !selection.length;\r\n },\r\n /** 排序触发事件 */\r\n handleSortChange(column, prop, order) {\r\n this.queryParams.orderByColumn = column.prop;\r\n this.queryParams.isAsc = column.order;\r\n this.getList();\r\n },\r\n /** 详细按钮操作 */\r\n handleView(row) {\r\n this.open = true;\r\n this.form = row;\r\n },\r\n /** 删除按钮操作 */\r\n handleDelete(row) {\r\n const operIds = row.operId || this.ids;\r\n this.$modal\r\n .confirm('是否确认删除日志编号为\"' + operIds + '\"的数据项?')\r\n .then(function () {\r\n return delOperlog(operIds);\r\n })\r\n .then(() => {\r\n this.getList();\r\n this.$modal.msgSuccess(\"删除成功\");\r\n })\r\n .catch(() => {});\r\n },\r\n /** 清空按钮操作 */\r\n handleClean() {\r\n this.$modal\r\n .confirm(\"是否确认清空所有操作日志数据项?\")\r\n .then(function () {\r\n return cleanOperlog();\r\n })\r\n .then(() => {\r\n this.getList();\r\n this.$modal.msgSuccess(\"清空成功\");\r\n })\r\n .catch(() => {});\r\n },\r\n /** 导出按钮操作 */\r\n handleExport() {\r\n const queryParams = this.queryParams;\r\n this.$modal\r\n .confirm(\"是否确认导出所有操作日志数据项?\")\r\n .then(() => {\r\n this.exportLoading = true;\r\n return exportOperlog(queryParams);\r\n })\r\n .then((response) => {\r\n this.$download.name(response.msg);\r\n this.exportLoading = false;\r\n })\r\n .catch(() => {});\r\n },\r\n },\r\n};\r\n</script>\r\n<style scoped>\r\n/* 日期背景颜色 */\r\n::v-deep .el-date-editor .el-range-input {\r\n background: #00365f;\r\n}\r\n ::v-deep .el-textarea__inner {\r\n width: 870px;\r\n height: 104px;\r\n margin: auto !important;\r\n}\r\n/* 分页按钮 */\r\n::v-deep .el-pagination.is-background .el-pager li {\r\n background-color: #004d86;\r\n color: #fff;\r\n}\r\n::v-deep .el-pagination.is-background .btn-next {\r\n background-color: #004d86;\r\n color: #fff;\r\n}\r\n::v-deep .el-pagination.is-background .btn-prev,\r\n.el-pagination.is-background .btn-next,\r\n.el-pagination.is-background .el-pager li {\r\n background: #004d86 !important;\r\n color: #fff !important;\r\n}\r\n/* 对话框背景颜色 */\r\n::v-deep .el-dialog {\r\n background: #004d86 !important;\r\n}\r\n::v-deep .el-textarea__inner {\r\n width: 930px;\r\n height: 104px;\r\n margin: auto !important;\r\n}\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #718a9d;\r\n}\r\n::v-deep .el-dialog__title {\r\n color: #fff;\r\n font: 18px;\r\n}\r\n::v-deep .el-dialog__headerbtn .el-dialog__close {\r\n color: #fff;\r\n}\r\n::v-deep .el-form-item__label {\r\n font: 16px;\r\n color: #fff;\r\n width: 100px !important;\r\n}\r\n::v-deep .el-dialog__body{\r\n color: rgb(201, 197, 197);\r\n}\r\n</style>\r\n\r\n"]}]}
|