|
|
@@ -5,11 +5,11 @@
|
|
|
<el-form-item label="游戏id">
|
|
|
<el-input v-model="searchInfo.game_id" placeholder="游戏id" />
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="日期" prop="create_date">
|
|
|
- <el-date-picker v-model="searchInfo.create_date" popper-class="picker-popovers" class="timefilter"
|
|
|
- type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item> -->
|
|
|
+ <el-form-item label="负责人">
|
|
|
+ <el-select v-model="searchInfo.user" placeholder="负责人">
|
|
|
+ <el-option v-for="item in ResponsiblePerson" :key="item.id" :label="item.name" :value="item.name" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="日期" prop="date">
|
|
|
<el-date-picker v-model="searchInfo.date" size="default" type="daterange" unlink-panels
|
|
|
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled-date="disabledDate"
|
|
|
@@ -26,12 +26,26 @@
|
|
|
<div class="gva-table-box">
|
|
|
<el-table :data="tableData" @sort-change="sortChange" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" />
|
|
|
- <el-table-column align="left" label="游戏id" min-width="150" prop="game_id" />
|
|
|
+ <el-table-column align="left" label="游戏id" min-width="120" prop="game_id" />
|
|
|
<!-- <el-table-column align="left" label="ip" min-width="150" prop="ip" /> -->
|
|
|
- <el-table-column align="left" label="上报ip次数" min-width="150" prop="count_total" sortable="custom" />
|
|
|
- <el-table-column align="left" label="任务完成" min-width="150" prop="task_count" sortable="custom" />
|
|
|
- <el-table-column align="left" label="成功ip次数" min-width="150" prop="success_ip" sortable="custom" />
|
|
|
- <el-table-column align="left" label="ip个数" min-width="150" prop="count_distinct_ip" sortable="custom" />
|
|
|
+ <el-table-column align="left" label="负责人" min-width="100" prop="user" />
|
|
|
+ <el-table-column align="left" label="任务名称" min-width="180" prop="task_name" />
|
|
|
+ <el-table-column align="left" label="上报ip次数" min-width="100" prop="count_total" sortable="custom" />
|
|
|
+ <el-table-column align="left" label="任务完成" min-width="100" prop="task_count" sortable="custom" />
|
|
|
+ <el-table-column align="left" label="成功ip次数" min-width="100" prop="success_ip" sortable="custom" />
|
|
|
+ <el-table-column align="left" label="ip个数" min-width="100" prop="count_distinct_ip" sortable="custom" />
|
|
|
+ <el-table-column align="left" label="最大ip数" min-width="100" prop="max_count" />
|
|
|
+ <el-table-column align="left" label="异常ip个数" min-width="100" prop="exceed_three" />
|
|
|
+ <el-table-column align="left" label="ip重复率" min-width="100" prop="ip_repetition_rate">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ scope.row.ip_repetition_rate }}%</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="平均重复率" min-width="150" prop="average_ip_repetition_rate">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ scope.row.average_ip_repetition_rate }}%</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column align="left" label="日期" min-width="150" prop="create_date" sortable="custom" />
|
|
|
<el-table-column align="left" fixed="right" label="操作" width="200">
|
|
|
<template #default="scope">
|
|
|
@@ -73,6 +87,9 @@ import {
|
|
|
getGameIp,
|
|
|
gameIpExport
|
|
|
} from '@/api/ipLog'
|
|
|
+import {
|
|
|
+ selectResponsiblePerson,
|
|
|
+} from '@/api/responsiblePerson'
|
|
|
import { toSQLLine } from '@/utils/stringFun'
|
|
|
import { ref } from 'vue'
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
@@ -107,6 +124,20 @@ const onSubmit = () => {
|
|
|
getTableData()
|
|
|
}
|
|
|
|
|
|
+const ResponsiblePerson = ref([{
|
|
|
+ id: 0,
|
|
|
+ name: "",
|
|
|
+}])
|
|
|
+
|
|
|
+//获取负责人
|
|
|
+const getResponsiblePerson = async () => {
|
|
|
+ const table = await selectResponsiblePerson()
|
|
|
+ if (table.code === 0) {
|
|
|
+ ResponsiblePerson.value = table.data
|
|
|
+ }
|
|
|
+}
|
|
|
+getResponsiblePerson()
|
|
|
+
|
|
|
// 分页
|
|
|
const handleSizeChange = (val) => {
|
|
|
pageSize.value = val
|
|
|
@@ -135,6 +166,9 @@ const getTableData = async () => {
|
|
|
const table = await gameIpList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
|
|
|
if (table.code === 0) {
|
|
|
tableData.value = table.data.list
|
|
|
+ // console.log("hahahah")
|
|
|
+ // console.log(tableData.value)
|
|
|
+ // tableData.value.average_ip_repetition_rate = (table.data.list.average_ip_repetition_rate) * 100.toFixed(2) + "%"
|
|
|
total.value = table.data.total
|
|
|
page.value = table.data.page
|
|
|
pageSize.value = table.data.pageSize
|