Commit 8e5091ba by 周田

Merge branch 'liucan' into 'main'

feat:状态监控添加单位,任务执行记录添加网站查询条件,数据展示添加采集时间

See merge request !18
parents f1d4a358 4ffe9b7f
......@@ -6,7 +6,8 @@ const formatExactLargeNum = (num: number | string | null) => {
if (isNaN(parsedNum)) return num;
if (Math.abs(parsedNum) > 100000000) {
// 如果大于 100 万 或大于 1 亿,使用科学计数法
if (Math.abs(parsedNum) > 1_000_000) {
return parsedNum.toExponential(2);
} else {
return parsedNum.toLocaleString("en-US", {
......
......@@ -241,6 +241,7 @@ const getData = async () => {
}
pageObj.value.total = dishesData.length;
tableData.value = dishesData;
console.log(tableData.value);
};
const handleClose = () => {
detailVisibleValue.value = false;
......
......@@ -87,6 +87,7 @@
{{ scope.row.data.target?.[scope.row.data.mission] === "true" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column property="crawl_time" label="采集时间" />
<el-table-column fixed="right" label="操作" min-width="85">
<template #default="scope">
<div class="btns">
......@@ -633,6 +634,8 @@ const getData = async () => {
const res = await getESAList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
pageObj.value.total = res.data.total;
tableData.value = res.data.list;
console.log(tableData.value);
tableLoading.value = false;
};
const handleClose = () => {
......
......@@ -87,7 +87,8 @@
label="是否确认使用"
show-overflow-tooltip
/>
<el-table-column property="regulatory_status.resumption_list" label="是否暂停使用" show-overflow-tooltip />
<el-table-column property="regulatory_status.resumption_list" width="140" label="是否暂停使用" show-overflow-tooltip />
<el-table-column width="180" property="crawl_time" label="采集时间" show-overflow-tooltip />
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button type="primary" plain link @click="handleDetails(scope.row)"> 详情 </el-button>
......@@ -351,6 +352,8 @@ const getData = async () => {
const res = await getItuList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
pageObj.value.total = res.data.total;
tableData.value = res.data.list;
console.log(tableData.value);
tableLoading.value = false;
};
const handleClose = () => {
......
......@@ -63,6 +63,7 @@
<el-table-column property="data[0].APOAPSIS" label="远地点" show-overflow-tooltip />
<!-- <el-table-column property="incl" label="INCL" show-overflow-tooltip /> -->
<el-table-column property="data[0].RCS_SIZE" label="RCS" show-overflow-tooltip />
<el-table-column property="crawl_time" label="采集时间"></el-table-column>
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button type="primary" plain link @click="handleDetails(scope.row)"> 详情 </el-button>
......@@ -312,6 +313,8 @@ const getData = async () => {
const res = await getStList({ page: pageObj.value.pageNo, size: pageObj.value.pageSize });
pageObj.value.total = res.data.total;
tableData.value = res.data.list;
console.log(tableData.value);
tableLoading.value = false;
};
const handleClose = () => {
......
......@@ -7,17 +7,17 @@
</div>
<div class="items">
<div class="wordStyle">
<span>总数据量:</span>
<span>总数据量(条):</span>
<span class="total-num" v-if="totalDataNumber != null">{{ formatExactLargeNum(totalDataNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>采集的页面数量:</span>
<span>采集的页面数量(个):</span>
<span class="total-num" v-if="totalPageNumber != null"> {{ formatExactLargeNum(totalPageNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>采集的目标数量:</span>
<span>采集的目标数量(个):</span>
<span class="total-num" v-if="totalTargetNumber != null"> {{ formatExactLargeNum(totalTargetNumber) }}</span>
<span class="loading" v-else></span>
</div>
......@@ -29,17 +29,17 @@
</div>
<div class="items">
<div class="wordStyle">
<span>任务执行成功统计:</span>
<span>任务执行成功统计(个):</span>
<span class="total-num" v-if="successTask != null">{{ formatExactLargeNum(successTask) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计:</span>
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="failTask != null">{{ formatExactLargeNum(failTask) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务异常数统计:</span>
<span>任务异常数统计(个):</span>
<span class="total-num" v-if="unusualTask != null">{{ formatExactLargeNum(unusualTask) }}</span>
<span class="loading" v-else></span>
</div>
......
......@@ -7,24 +7,24 @@
</div>
<div class="items">
<div class="wordStyle">
<span>DSN爬虫任务数:</span>
<span>DSN爬虫任务数(个):</span>
<span class="total-num" v-if="dsnTotalTaskNumber != null">{{ formatExactLargeNum(dsnTotalTaskNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行成功统计:</span>
<span>任务执行成功统计(个):</span>
<span class="total-num" v-if="dsnTaskSuccessNumber != null">{{
formatExactLargeNum(dsnTaskSuccessNumber)
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计:</span>
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="dsnTaskFailNumber != null">{{ formatExactLargeNum(dsnTaskFailNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>错误率: {{ dsnErrorRate }} </span>
<span>错误率: </span>
<span class="total-num" v-if="dsnErrorRate != null">{{ dsnErrorRate }}</span>
<span class="loading" v-else></span>
</div>
......@@ -36,24 +36,24 @@
</div>
<div class="items">
<div class="wordStyle">
<span>ITU爬虫任务数:</span>
<span>ITU爬虫任务数(个):</span>
<span class="total-num" v-if="ituTotalTaskNumber != null">{{ formatExactLargeNum(ituTotalTaskNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行成功统计:</span>
<span>任务执行成功统计(个):</span>
<span class="total-num" v-if="ituTaskSuccessNumber != null">{{
formatExactLargeNum(ituTaskSuccessNumber)
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计:</span>
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="ituTaskFailNumber != null">{{ formatExactLargeNum(ituTaskFailNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计:</span>
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="ituTaskFailNumber != null">{{ formatExactLargeNum(ituTaskFailNumber) }}</span>
<span class="loading" v-else></span>
</div>
......@@ -70,23 +70,18 @@
</div>
<div class="items">
<div class="wordStyle">
<span>ST爬虫任务数:</span>
<span>ST爬虫任务数(个):</span>
<span class="total-num" v-if="stTotalTaskNumber != null">{{ formatExactLargeNum(stTotalTaskNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行成功统计:</span>
<span>任务执行成功统计(个):</span>
<span class="total-num" v-if="stTaskSuccessNumber != null">{{
formatExactLargeNum(stTaskSuccessNumber)
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>采集速度:</span>
<span class="total-num" v-if="stTaskFailNumber != null">{{ formatExactLargeNum(stTaskFailNumber) }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>错误率:</span>
<span class="total-num" v-if="stErrorRate != null">{{ stErrorRate }}</span>
<span class="loading" v-else></span>
......
......@@ -21,6 +21,17 @@
/>
</el-config-provider>
</div>
<div class="spider w-[300px] flex items-center">
<span style="color: white" class="w-[100px]">所属爬虫:</span>
<el-select v-model="spidername" placeholder="请选择爬虫">
<el-option
v-for="item in spideOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="btns">
<el-button plain type="primary" @click="searchData">查询</el-button>
<el-button plain @click="resetQuery">重置</el-button>
......@@ -123,12 +134,32 @@ const goToStatus = () => {
}
};
const spideOptions = [
{
label: "dsn_now",
value: "dsn_now",
},
{
label: "itu_space_expolorer",
value: "itu_space_expolorer",
},
{
label: "space_track",
value: "space_track",
},
{
label: "es_track_transmission",
value: "es_track_transmission",
},
];
//表单loading标记
const tableLoading = ref(false);
//重置查询
const resetQuery = () => {
timeValue.value = [];
spidername.value = "";
getData();
};
......@@ -138,8 +169,6 @@ const getData = async () => {
resTime.push(dayjs().subtract(7, "day").format("YYYY-MM-DD HH:mm:ss"));
resTime.push(dayjs().format("YYYY-MM-DD HH:mm:ss"));
console.log(resTime);
tableLoading.value = true;
const res = await getSpiderTaskRecord({
page: pageObj.value.pageNo,
......@@ -153,23 +182,23 @@ const getData = async () => {
tableLoading.value = false;
};
const spidername = ref("");
//查询数据的方法
const searchData = async () => {
if (timeValue.value.length == 0) {
ElMessage.warning("请先选择时间段");
return;
}
let resTime: any[] = [];
const startTime = timeValue.value[0];
const endTime = timeValue.value[1];
resTime.push(startTime + " 00:00:00");
resTime.push(endTime + " 00:00:00");
if (timeValue.value.length !== 0) {
const startTime = timeValue.value[0];
const endTime = timeValue.value[1];
resTime.push(dayjs(startTime).format("YYYY-MM-DD HH:mm:ss"));
resTime.push(dayjs(endTime).format("YYYY-MM-DD HH:mm:ss"));
}
tableLoading.value = true;
const res = await getSpiderTaskRecord({
page: pageObj.value.pageNo,
size: pageObj.value.pageSize,
status: "total",
spider: spidername.value,
times: resTime,
});
pageObj.value.total = res.data.total;
......@@ -242,12 +271,17 @@ onMounted(() => {
}
.form-content {
position: relative;
height: 80px;
justify-content: space-between;
display: flex;
gap: 20px;
align-items: center;
padding: 0 30px;
}
.btns {
position: absolute;
right: 30px;
}
</style>
<style>
/* 修改el选择器的样式 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment