{"version":3,"file":"index.mjs","sources":["../../../../../../src/pagesDefault/dev/log/vislog/index.vue"],"sourcesContent":["<template>\r\n\t<a-row :gutter=\"10\" class=\"mb-2\">\r\n\t\t<a-col :span=\"16\">\r\n\t\t\t<a-card :bordered=\"false\" title=\"周统计\">\r\n\t\t\t\t<visLogLineChart ref=\"lineChartRef\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t\t<a-col :span=\"8\">\r\n\t\t\t<a-card :bordered=\"false\" title=\"总比例\">\r\n\t\t\t\t<visLogPieChart ref=\"pieChartRef\" />\r\n\t\t\t</a-card>\r\n\t\t</a-col>\r\n\t</a-row>\r\n\t<SearchForm :form-state=\"searchFormState\" :form-fields=\"searchFormFields\" @search=\"onSearch\" @reset=\"handleReset\" ref=\"searchFormRef\">\r\n\t\t<template #logType=\"{ formState }\">\r\n\t\t\t<a-radio-group v-model:value=\"visLogType\" button-style=\"solid\">\r\n\t\t\t\t<a-radio-button v-for=\"visLog in visLogTypeList\" :key=\"visLog.value\" :value=\"visLog.value\" @click=\"visLogTypeClock(visLog.value)\">\r\n\t\t\t\t\t{{ visLog.label }}\r\n\t\t\t\t</a-radio-button>\r\n\t\t\t</a-radio-group>\r\n\t\t</template>\r\n\t\t<template #searchKey=\"{ formState }\">\r\n\t\t\t<a-input-search v-model:value=\"formState.searchKey\" placeholder=\"请输入名称关键字\" enter-button allowClear @search=\"onSearch\" />\r\n\t\t</template>\r\n\t</SearchForm>\r\n\t<a-card :bordered=\"false\">\r\n\t\t<s-table ref=\"table\" :columns=\"columns\" :data=\"loadData\" bordered :row-key=\"(record) => record.id\" :operator-config=\"operatorConfig\">\r\n\t\t\t<template #bodyCell=\"{ column, record }\">\r\n\t\t\t\t<template v-if=\"column.dataIndex === 'action'\">\r\n\t\t\t\t\t<a-space>\r\n\t\t\t\t\t\t<a @click=\"detail.onOpen(record)\">详情</a>\r\n\t\t\t\t\t</a-space>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</s-table>\r\n\t</a-card>\r\n\t<vislogDetail ref=\"detail\" />\r\n</template>\r\n<script setup name=\"devLogVislogIndex\">\r\n\timport logApi from '@/api/dev/logApi'\r\n\r\n\tlet searchFormState = reactive({})\r\n\tconst searchFormRef = ref()\r\n\tconst table = ref()\r\n\tconst detail = ref()\r\n\tconst lineChartRef = ref()\r\n\tconst pieChartRef = ref()\r\n\tconst visLogType = ref('LOGIN')\r\n\tlet visLogTypeList = ref([\r\n\t\t{\r\n\t\t\tlabel: '登录日志',\r\n\t\t\tvalue: 'LOGIN'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '登出日志',\r\n\t\t\tvalue: 'LOGOUT'\r\n\t\t}\r\n\t])\r\n\r\n\t// 搜索表单字段配置\r\n\tconst searchFormFields = computed(() => [\r\n\t\t{ label: '日志类型', name: 'logType', span: 6 },\r\n\t\t{ label: '关键字搜索', name: 'searchKey', span: 6 }\r\n\t])\r\n\r\n\t// 操作按钮配置\r\n\tconst operatorConfig = computed(() => [\r\n\t\t{\r\n\t\t\ttext: '清空',\r\n\t\t\ticon: 'fa fa-trash',\r\n\t\t\tdanger: true,\r\n\t\t\ttype: 'popconfirm',\r\n\t\t\tconfirmTitle: '确定清空登录登出日志吗？',\r\n\t\t\tokText: '是',\r\n\t\t\tcancelText: '否',\r\n\t\t\tonClick: deleteBatchVisLog\r\n\t\t}\r\n\t])\r\n\r\n\t// 重置表单\r\n\tconst handleReset = () => {\r\n\t\tsearchFormRef.value?.resetFields()\r\n\t}\r\n\tconst columns = [\r\n\t\t{\r\n\t\t\ttitle: '名称',\r\n\r\n\t\t\tdataIndex: 'name'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'IP地址',\r\n\r\n\t\t\tdataIndex: 'opIp'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '地址',\r\n\r\n\t\t\tdataIndex: 'opAddress'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '浏览器',\r\n\r\n\t\t\tdataIndex: 'opBrowser'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '设备',\r\n\r\n\t\t\tdataIndex: 'opOs'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '时间',\r\n\r\n\t\t\tdataIndex: 'opTime',\r\n\t\t\tsorter: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '用户',\r\n\r\n\t\t\tdataIndex: 'opUser'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '操作',\r\n\r\n\t\t\tdataIndex: 'action',\r\n\t\t\talign: 'center',\r\n\t\t\twidth: 100\r\n\t\t}\r\n\t]\r\n\t// 切换应用标签查询\r\n\tconst visLogTypeClock = (value) => {\r\n\t\tsearchFormState.category = value\r\n\t\ttable.value.refresh(true)\r\n\t}\r\n\t// 查询\r\n\tconst onSearch = () => {\r\n\t\tif (searchFormState.searchKey) {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t}\r\n\t}\r\n\tconst loadData = (parameter) => {\r\n\t\tsearchFormState.category = searchFormState.category ? searchFormState.category : visLogType.value\r\n\t\treturn logApi.logPage(Object.assign(parameter, searchFormState)).then((data) => {\r\n\t\t\treturn data\r\n\t\t})\r\n\t}\r\n\t// 清空\r\n\tconst deleteBatchVisLog = () => {\r\n\t\tconst param = {\r\n\t\t\tcategory: searchFormState.category ? searchFormState.category : visLogType.value\r\n\t\t}\r\n\t\tlogApi.logDelete(param).then(() => {\r\n\t\t\ttable.value.refresh(true)\r\n\t\t})\r\n\t}\r\n</script>\r\n"],"names":["_createVNode","_unref","_withCtx","_createElementBlock","_Fragment","_renderList","_createBlock","_createTextVNode","_toDisplayString","_createElementVNode"],"mappings":"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"}