d55058bbee3ec53428acb6f99c6d339e.json 17 KB

1
  1. {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\operlog\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\operlog\\index.vue","mtime":1617010554014},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGxpc3QsIGRlbE9wZXJsb2csIGNsZWFuT3BlcmxvZyB9IGZyb20gIkAvYXBpL3N5c3RlbS9vcGVybG9nIjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiT3BlcmxvZyIsCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3mlbDnu4QKICAgICAgaWRzOiBbXSwKICAgICAgLy8g6Z2e5aSa5Liq56aB55SoCiAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g5oC75p2h5pWwCiAgICAgIHRvdGFsOiAwLAogICAgICAvLyDooajmoLzmlbDmja4KICAgICAgbGlzdDogW10sCiAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxggogICAgICBvcGVuOiBmYWxzZSwKICAgICAgLy8g57G75Z6L5pWw5o2u5a2X5YW4CiAgICAgIHR5cGVPcHRpb25zOiBbXSwKICAgICAgLy8g57G75Z6L5pWw5o2u5a2X5YW4CiAgICAgIHN0YXR1c09wdGlvbnM6IFtdLAogICAgICAvLyDml6XmnJ/ojIPlm7QKICAgICAgZGF0ZVJhbmdlOiBbXSwKICAgICAgLy8g6KGo5Y2V5Y+C5pWwCiAgICAgIGZvcm06IHt9LAogICAgICAvLyDmn6Xor6Llj4LmlbAKICAgICAgcXVlcnlQYXJhbXM6IHsKICAgICAgICBwYWdlTnVtOiAxLAogICAgICAgIHBhZ2VTaXplOiAxMCwKICAgICAgICB0aXRsZTogdW5kZWZpbmVkLAogICAgICAgIG9wZXJOYW1lOiB1bmRlZmluZWQsCiAgICAgICAgYnVzaW5lc3NUeXBlOiB1bmRlZmluZWQsCiAgICAgICAgc3RhdHVzOiB1bmRlZmluZWQKICAgICAgfQogICAgfTsKICB9LAogIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmdldExpc3QoKTsKICAgIHRoaXMuZ2V0RGljdHMoInN5c19vcGVyX3R5cGUiKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgdGhpcy50eXBlT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInN5c19jb21tb25fc3RhdHVzIikudGhlbihyZXNwb25zZSA9PiB7CiAgICAgIHRoaXMuc3RhdHVzT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8qKiDmn6Xor6LnmbvlvZXml6Xlv5cgKi8KICAgIGdldExpc3QoKSB7CiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgIGxpc3QodGhpcy5hZGREYXRlUmFuZ2UodGhpcy5xdWVyeVBhcmFtcywgdGhpcy5kYXRlUmFuZ2UpKS50aGVuKCByZXNwb25zZSA9PiB7CiAgICAgICAgICB0aGlzLmxpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgICAgdGhpcy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOwogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICApOwogICAgfSwKICAgIC8vIOaTjeS9nOaXpeW/l+eKtuaAgeWtl+WFuOe/u+ivkQogICAgc3RhdHVzRm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLnN0YXR1c09wdGlvbnMsIHJvdy5zdGF0dXMpOwogICAgfSwKICAgIC8vIOaTjeS9nOaXpeW/l+exu+Wei+Wtl+WFuOe/u+ivkQogICAgdHlwZUZvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy50eXBlT3B0aW9ucywgcm93LmJ1c2luZXNzVHlwZSk7CiAgICB9LAogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnkoKSB7CiAgICAgIHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSA9IDE7CiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwKICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8KICAgIHJlc2V0UXVlcnkoKSB7CiAgICAgIHRoaXMuZGF0ZVJhbmdlID0gW107CiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsKICAgICAgdGhpcy5oYW5kbGVRdWVyeSgpOwogICAgfSwKICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrgogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbikgewogICAgICB0aGlzLmlkcyA9IHNlbGVjdGlvbi5tYXAoaXRlbSA9PiBpdGVtLmlkKQogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGgKICAgIH0sCiAgICAvKiog6K+m57uG5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVWaWV3KHJvdykgewogICAgICB0aGlzLm9wZW4gPSB0cnVlOwogICAgICB0aGlzLmZvcm0gPSByb3c7CiAgICB9LAogICAgLyoqIOWIoOmZpOaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlRGVsZXRlKHJvdykgewogICAgICBjb25zdCBpZHMgPSByb3cuaWQgfHwgdGhpcy5pZHM7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOaXpeW/l+e8luWPt+S4uiInICsgaWRzICsgJyLnmoTmlbDmja7pobk/JywgIuitpuWRiiIsIHsKICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiBkZWxPcGVybG9nKGlkcyk7CiAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICB0aGlzLmdldExpc3QoKTsKICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5Yig6Zmk5oiQ5YqfIik7CiAgICAgICAgfSkKICAgIH0sCiAgICAvKiog5riF56m65oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVDbGVhbigpIHsKICAgICAgICB0aGlzLiRjb25maXJtKCfmmK/lkKbnoa7orqTmuIXnqbrmiYDmnInmk43kvZzml6Xlv5fmlbDmja7pobk/JywgIuitpuWRiiIsIHsKICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiBjbGVhbk9wZXJsb2coKTsKICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgICAgICAgdGhpcy5tc2dTdWNjZXNzKCLmuIXnqbrmiJDlip8iKTsKICAgICAgICB9KQogICAgfSwKICAgIC8qKiDlr7zlh7rmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUV4cG9ydCgpIHsKICAgICAgdGhpcy5kb3dubG9hZCgnc3lzdGVtL29wZXJsb2cvZXhwb3J0JywgewogICAgICAgIC4uLnRoaXMucXVlcnlQYXJhbXMKICAgICAgfSwgYG9wZXJsb2dfJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0ueGxzeGApCiAgICB9CiAgfQp9Owo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4LA;;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","file":"index.vue","sourceRoot":"src/views/system/operlog","sourcesContent":["<template>\n <div class=\"app-container\">\n <el-form :model=\"queryParams\" ref=\"queryForm\" :inline=\"true\" v-show=\"showSearch\" label-width=\"68px\">\n <el-form-item label=\"系统模块\" prop=\"title\">\n <el-input\n v-model=\"queryParams.title\"\n placeholder=\"请输入系统模块\"\n clearable\n style=\"width: 240px;\"\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n />\n </el-form-item>\n <el-form-item label=\"操作人员\" prop=\"operName\">\n <el-input\n v-model=\"queryParams.operName\"\n placeholder=\"请输入操作人员\"\n clearable\n style=\"width: 240px;\"\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n />\n </el-form-item>\n <el-form-item label=\"类型\" prop=\"businessType\">\n <el-select\n v-model=\"queryParams.businessType\"\n placeholder=\"操作类型\"\n clearable\n size=\"small\"\n style=\"width: 240px\"\n >\n <el-option\n v-for=\"dict in typeOptions\"\n :key=\"dict.dictValue\"\n :label=\"dict.dictLabel\"\n :value=\"dict.dictValue\"\n />\n </el-select>\n </el-form-item>\n <el-form-item label=\"状态\" prop=\"status\">\n <el-select\n v-model=\"queryParams.status\"\n placeholder=\"操作状态\"\n clearable\n size=\"small\"\n style=\"width: 240px\"\n >\n <el-option\n v-for=\"dict in statusOptions\"\n :key=\"dict.dictValue\"\n :label=\"dict.dictLabel\"\n :value=\"dict.dictValue\"\n />\n </el-select>\n </el-form-item>\n <el-form-item label=\"操作时间\">\n <el-date-picker\n v-model=\"dateRange\"\n size=\"small\"\n style=\"width: 240px\"\n value-format=\"yyyy-MM-dd\"\n type=\"daterange\"\n range-separator=\"-\"\n start-placeholder=\"开始日期\"\n end-placeholder=\"结束日期\"\n ></el-date-picker>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\n </el-form-item>\n </el-form>\n\n <el-row :gutter=\"10\" class=\"mb8\">\n <el-col :span=\"1.5\">\n <el-button\n type=\"danger\"\n plain\n icon=\"el-icon-delete\"\n size=\"mini\"\n :disabled=\"multiple\"\n @click=\"handleDelete\"\n v-hasPermi=\"['system:operlog:remove']\"\n >删除</el-button>\n </el-col>\n <el-col :span=\"1.5\">\n <el-button\n type=\"danger\"\n plain\n icon=\"el-icon-delete\"\n size=\"mini\"\n @click=\"handleClean\"\n v-hasPermi=\"['system:operlog:remove']\"\n >清空</el-button>\n </el-col>\n <el-col :span=\"1.5\">\n <el-button\n type=\"warning\"\n plain\n icon=\"el-icon-download\"\n size=\"mini\"\n @click=\"handleExport\"\n v-hasPermi=\"['system:config:export']\"\n >导出</el-button>\n </el-col>\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\n </el-row>\n\n <el-table v-loading=\"loading\" :data=\"list\" @selection-change=\"handleSelectionChange\">\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\n <el-table-column label=\"日志编号\" align=\"center\" prop=\"id\" />\n <el-table-column label=\"系统模块\" align=\"center\" prop=\"title\" />\n <el-table-column label=\"操作类型\" align=\"center\" prop=\"businessType\" :formatter=\"typeFormat\" />\n <el-table-column label=\"请求方式\" align=\"center\" prop=\"requestMethod\" />\n <el-table-column label=\"操作人员\" align=\"center\" prop=\"operName\" />\n <el-table-column label=\"主机\" align=\"center\" prop=\"operIp\" width=\"130\" :show-overflow-tooltip=\"true\" />\n <el-table-column label=\"操作状态\" align=\"center\" prop=\"status\" :formatter=\"statusFormat\" />\n <el-table-column label=\"操作日期\" align=\"center\" prop=\"operTime\" width=\"180\">\n <template slot-scope=\"scope\">\n <span>{{ parseTime(scope.row.operTime) }}</span>\n </template>\n </el-table-column>\n <el-table-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\">\n <template slot-scope=\"scope\">\n <el-button\n size=\"mini\"\n type=\"text\"\n icon=\"el-icon-view\"\n @click=\"handleView(scope.row,scope.index)\"\n v-hasPermi=\"['system:operlog:query']\"\n >详细</el-button>\n </template>\n </el-table-column>\n </el-table>\n\n <pagination\n v-show=\"total>0\"\n :total=\"total\"\n :page.sync=\"queryParams.pageNum\"\n :limit.sync=\"queryParams.pageSize\"\n @pagination=\"getList\"\n />\n\n <!-- 操作日志详细 -->\n <el-dialog title=\"操作日志详细\" :visible.sync=\"open\" width=\"700px\" append-to-body>\n <el-form ref=\"form\" :model=\"form\" label-width=\"100px\" size=\"mini\">\n <el-row>\n <el-col :span=\"12\">\n <el-form-item label=\"操作模块:\">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>\n <el-form-item\n label=\"登录信息:\"\n >{{ form.operName }} / {{ form.operIp }}</el-form-item>\n </el-col>\n <el-col :span=\"12\">\n <el-form-item label=\"请求地址:\">{{ form.operUrl }}</el-form-item>\n <el-form-item label=\"请求方式:\">{{ form.requestMethod }}</el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"操作方法:\">{{ form.method }}</el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"请求参数:\">{{ form.operParam }}</el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"返回参数:\">{{ form.jsonResult }}</el-form-item>\n </el-col>\n <el-col :span=\"12\">\n <el-form-item label=\"操作状态:\">\n <div v-if=\"form.status === 0\">正常</div>\n <div v-else-if=\"form.status === 1\">失败</div>\n </el-form-item>\n </el-col>\n <el-col :span=\"12\">\n <el-form-item label=\"操作时间:\">{{ parseTime(form.operTime) }}</el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"异常信息:\" v-if=\"form.status === 1\">{{ form.errorMsg }}</el-form-item>\n </el-col>\n </el-row>\n </el-form>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"open = false\">关 闭</el-button>\n </div>\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport { list, delOperlog, cleanOperlog } from \"@/api/system/operlog\";\n\nexport default {\n name: \"Operlog\",\n data() {\n return {\n // 遮罩层\n loading: true,\n // 选中数组\n ids: [],\n // 非多个禁用\n multiple: true,\n // 显示搜索条件\n showSearch: true,\n // 总条数\n total: 0,\n // 表格数据\n list: [],\n // 是否显示弹出层\n open: false,\n // 类型数据字典\n typeOptions: [],\n // 类型数据字典\n statusOptions: [],\n // 日期范围\n dateRange: [],\n // 表单参数\n form: {},\n // 查询参数\n queryParams: {\n pageNum: 1,\n pageSize: 10,\n title: undefined,\n operName: undefined,\n businessType: undefined,\n status: undefined\n }\n };\n },\n created() {\n this.getList();\n this.getDicts(\"sys_oper_type\").then(response => {\n this.typeOptions = response.data;\n });\n this.getDicts(\"sys_common_status\").then(response => {\n this.statusOptions = response.data;\n });\n },\n methods: {\n /** 查询登录日志 */\n getList() {\n this.loading = true;\n list(this.addDateRange(this.queryParams, this.dateRange)).then( response => {\n this.list = response.rows;\n this.total = response.total;\n this.loading = false;\n }\n );\n },\n // 操作日志状态字典翻译\n statusFormat(row, column) {\n return this.selectDictLabel(this.statusOptions, row.status);\n },\n // 操作日志类型字典翻译\n typeFormat(row, column) {\n return this.selectDictLabel(this.typeOptions, row.businessType);\n },\n /** 搜索按钮操作 */\n handleQuery() {\n this.queryParams.pageNum = 1;\n this.getList();\n },\n /** 重置按钮操作 */\n resetQuery() {\n this.dateRange = [];\n this.resetForm(\"queryForm\");\n this.handleQuery();\n },\n // 多选框选中数据\n handleSelectionChange(selection) {\n this.ids = selection.map(item => item.id)\n this.multiple = !selection.length\n },\n /** 详细按钮操作 */\n handleView(row) {\n this.open = true;\n this.form = row;\n },\n /** 删除按钮操作 */\n handleDelete(row) {\n const ids = row.id || this.ids;\n this.$confirm('是否确认删除日志编号为\"' + ids + '\"的数据项?', \"警告\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(function() {\n return delOperlog(ids);\n }).then(() => {\n this.getList();\n this.msgSuccess(\"删除成功\");\n })\n },\n /** 清空按钮操作 */\n handleClean() {\n this.$confirm('是否确认清空所有操作日志数据项?', \"警告\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(function() {\n return cleanOperlog();\n }).then(() => {\n this.getList();\n this.msgSuccess(\"清空成功\");\n })\n },\n /** 导出按钮操作 */\n handleExport() {\n this.download('system/operlog/export', {\n ...this.queryParams\n }, `operlog_${new Date().getTime()}.xlsx`)\n }\n }\n};\n</script>\n\n"]}]}