Commit 3b026207 by liucan

fix:修改对话框关闭按钮样式、监控页面添加esa任务数据

parent e1d41e5d
# 开发环境配置
VITE_APP_BASE_API = '/api'
VITE_APP_TITLE = 'Spider Admin Pro'
VITE_WEBSOCKET_API = "http://192.168.3.10:5001/"
\ No newline at end of file
VITE_WEBSOCKET_API = "http://192.168.0.211:5001/"
\ No newline at end of file
<script setup lang="ts">
import { ElConfigProvider } from "element-plus";
import zhCn from "element-plus/es/locale/lang/zh-cn";
import { CloseBold } from "@element-plus/icons-vue";
</script>
<template>
<el-config-provider :locale="zhCn">
<el-config-provider :locale="zhCn" :close-icon="CloseBold">
<router-view />
</el-config-provider>
</template>
......
<svg t="1768531151799" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8727" width="32" height="32"><path d="M563.8 512l262.5-312.9c4.4-5.2 0.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9c-4.4 5.2-0.7 13.1 6.1 13.1h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z" p-id="8728" fill="#ffffff"></path></svg>
\ No newline at end of file
......@@ -64,7 +64,7 @@
}
.el-dialog {
background-image: url("@/assets/picture/dialog1.png");
background-image: url("@/assets/picture/dialog1.png") !important;
background-size: 100% 100%;
background-repeat: no-repeat;
......@@ -146,3 +146,19 @@
background-color: #1d5484 !important;
box-shadow: none !important;
}
/* Dialog 关闭按钮 */
.el-dialog__headerbtn .el-dialog__close {
font-size: 0;
}
.el-dialog__headerbtn {
content: '';
width: 32px;
height: 32px;
margin-right: 15px;
margin-top: 15px;
display: inline-block;
background: url('@/assets/picture/close-btn.svg') no-repeat center !important;
background-size: contain;
}
\ No newline at end of file
......@@ -605,7 +605,6 @@ const handleExport = () => {
/* 修改弹窗样式 */
.el-dialog {
background: transparent;
background-image: url("@/assets/picture/dialog1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
color: #ffffff;
......
......@@ -8,17 +8,23 @@
<div class="items">
<div class="wordStyle">
<span>总数据量(条):</span>
<span class="total-num" v-if="totalDataNumber != null">{{ formatExactLargeNum(totalDataNumber) }}</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 class="total-num" v-if="totalPageNumber != null"> {{ formatExactLargeNum(totalPageNumber) }}</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 class="total-num" v-if="totalTargetNumber != null"> {{ formatExactLargeNum(totalTargetNumber) }}</span>
<span class="total-num" v-if="totalTargetNumber !== null">
{{ formatExactLargeNum(totalTargetNumber) ?? "--" }}</span
>
<span class="loading" v-else></span>
</div>
</div>
......@@ -30,17 +36,17 @@
<div class="items">
<div class="wordStyle">
<span>任务执行成功统计(个):</span>
<span class="total-num" v-if="successTask != null">{{ formatExactLargeNum(successTask) }}</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 class="total-num" v-if="failTask != null">{{ formatExactLargeNum(failTask) }}</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 class="total-num" v-if="unusualTask != null">{{ formatExactLargeNum(unusualTask) }}</span>
<span class="total-num" v-if="unusualTask !== null">{{ formatExactLargeNum(unusualTask) ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
</div>
......@@ -52,17 +58,17 @@
<div class="items">
<div class="wordStyle">
<span>平均成功率:</span>
<span class="total-num" v-if="speed != null"> {{ speed }}</span>
<span class="total-num" v-if="speed !== null"> {{ speed ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>平均错误率: </span>
<span class="total-num" v-if="errorRate != null">{{ errorRate }}</span>
<span class="total-num" v-if="errorRate !== null">{{ errorRate ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>平均异常率:</span>
<span class="total-num" v-if="unusualRate != null">{{ unusualRate }}</span>
<span class="total-num" v-if="unusualRate !== null">{{ unusualRate ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
</div>
......
......@@ -8,24 +8,28 @@
<div class="items">
<div class="wordStyle">
<span>DSN爬虫任务数(个):</span>
<span class="total-num" v-if="dsnTotalTaskNumber != null">{{ formatExactLargeNum(dsnTotalTaskNumber) }}</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 class="total-num" v-if="dsnTaskSuccessNumber != null">{{
formatExactLargeNum(dsnTaskSuccessNumber)
<span class="total-num" v-if="dsnTaskSuccessNumber !== null">{{
formatExactLargeNum(dsnTaskSuccessNumber) ?? "--"
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="dsnTaskFailNumber != null">{{ formatExactLargeNum(dsnTaskFailNumber) }}</span>
<span class="total-num" v-if="dsnTaskFailNumber !== null">{{
formatExactLargeNum(dsnTaskFailNumber) ?? "--"
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>错误率: </span>
<span class="total-num" v-if="dsnErrorRate != null">{{ dsnErrorRate }}</span>
<span class="total-num" v-if="dsnErrorRate !== null">{{ dsnErrorRate ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
</div>
......@@ -37,24 +41,28 @@
<div class="items">
<div class="wordStyle">
<span>ITU爬虫任务数(个):</span>
<span class="total-num" v-if="ituTotalTaskNumber != null">{{ formatExactLargeNum(ituTotalTaskNumber) }}</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 class="total-num" v-if="ituTaskSuccessNumber != null">{{
formatExactLargeNum(ituTaskSuccessNumber)
<span class="total-num" v-if="ituTaskSuccessNumber !== null">{{
formatExactLargeNum(ituTaskSuccessNumber) ?? "--"
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="ituTaskFailNumber != null">{{ formatExactLargeNum(ituTaskFailNumber) }}</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 class="total-num" v-if="ituErrorRate != null">{{ ituErrorRate }}</span>
<span class="total-num" v-if="ituErrorRate !== null">{{ ituErrorRate ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
</div>
......@@ -66,19 +74,57 @@
<div class="items">
<div class="wordStyle">
<span>ST爬虫任务数(个):</span>
<span class="total-num" v-if="stTotalTaskNumber != null">{{ formatExactLargeNum(stTotalTaskNumber) }}</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 class="total-num" v-if="stTaskSuccessNumber != null">{{
formatExactLargeNum(stTaskSuccessNumber)
<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="total-num" v-if="stErrorRate !== null">{{ stErrorRate ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
</div>
</div>
<div class="dataCard" @click="goToSTTaskRecordPage">
<div class="titleStyle">
<span>ESA爬取任务</span>
</div>
<div class="items">
<div class="wordStyle">
<span>ESA爬虫任务数(个):</span>
<span class="total-num" v-if="esaTotalCount !== null">{{ formatExactLargeNum(esaTotalCount) ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行成功统计(个):</span>
<span class="total-num" v-if="esaSuccessCount !== null">{{
formatExactLargeNum(esaSuccessCount) ?? "--"
}}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>任务执行失败统计(个):</span>
<span class="total-num" v-if="esaFailCount !== null">{{ formatExactLargeNum(esaFailCount) ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
<div class="wordStyle">
<span>错误率:</span>
<span class="total-num" v-if="esaErrorRate !== null">{{ esaErrorRate ?? "--" }}</span>
<span class="loading" v-else></span>
</div>
</div>
......@@ -112,6 +158,10 @@ const stTotalTaskNumber = ref(null);
const stTaskSuccessNumber = ref(null);
const stTaskFailNumber = ref(null);
const stErrorRate = ref(null);
const esaTotalCount = ref(null);
const esaSuccessCount = ref(null);
const esaErrorRate = ref(null);
const esaFailCount = ref(null);
const goToDSNTaskRecordPage = () => {
router.push({
......@@ -149,20 +199,23 @@ const getData = async () => {
const res = await getAllSpiderTaskStatistics({});
const stTask = await getSpiderTaskList({ spiders: "api_spider" });
const allTask = await getAllTaskStatistics();
console.log(allTask);
dsnTotalTaskNumber.value = allTask.data.dsn_now.totalCount;
dsnTaskSuccessNumber.value = res.data.dsn_now.successCount;
dsnTaskFailNumber.value = res.data.dsn_now.failCount;
dsnErrorRate.value = res.data.dsn_now.errorRate;
ituTotalTaskNumber.value = allTask.data.itu_space_explorer.totalCount;
ituTaskSuccessNumber.value = res.data.itu_space_explorer.successCount;
ituTaskFailNumber.value = res.data.itu_space_explorer.failCount;
ituErrorRate.value = res.data.itu_space_explorer.errorRate;
stTotalTaskNumber.value = allTask.data.space_track.totalCount;
stTaskSuccessNumber.value = res.data.space_track.successCount;
stTaskFailNumber.value = res.data.space_track.failCount;
stErrorRate.value = res.data.space_track.errorRate;
ituTotalTaskNumber.value = allTask.data.itu_space_explorer?.totalCount;
ituTaskSuccessNumber.value = res.data.itu_space_explorer?.successCount;
ituTaskFailNumber.value = res.data.itu_space_explorer?.failCount;
ituErrorRate.value = res.data.itu_space_explorer?.errorRate;
stTotalTaskNumber.value = allTask.data.space_track?.totalCount;
stTaskSuccessNumber.value = res.data.space_track?.successCount;
stTaskFailNumber.value = res.data.space_track?.failCount;
stErrorRate.value = res.data.space_track?.errorRate;
esaTotalCount.value = res.data.es_track_transmission?.totalCount;
esaSuccessCount.value = res.data.es_track_transmission?.successCount;
esaFailCount.value = res.data.es_track_transmission?.failCount;
esaErrorRate.value = res.data.es_track_transmission?.errorRate;
};
onMounted(() => {
getData();
......@@ -174,9 +227,7 @@ onMounted(() => {
background-image: url("@/assets/picture/box2.png");
background-size: 100% 100%;
background-repeat: no-repeat;
// background: #c6ebfc;
// border: 1.5px solid rgb(193, 188, 188);
width: 350px;
width: 275px;
height: 100%;
border-radius: 5px;
cursor: pointer;
......@@ -193,11 +244,10 @@ onMounted(() => {
}
.wordStyle {
font-size: 18px;
font-size: 16px;
color: #ffffff;
margin-top: 1%;
display: flex;
margin-left: 15px;
display: flex;
justify-content: space-between;
}
......@@ -208,13 +258,12 @@ onMounted(() => {
letter-spacing: 3px;
color: #ffffff;
font-weight: 500;
transform: translateX(-25px);
transition: 0.2s;
}
.total-num {
color: #4edaff;
font-size: 16px;
font-size: 14px;
font-weight: 600;
text-shadow: 0 0 10px rgba(0, 200, 255, 0.5);
letter-spacing: 1px;
......@@ -223,7 +272,7 @@ onMounted(() => {
}
.toRight0 {
transform: translateX(-10px);
transform: translateX(5px) !important;
}
.items {
......
......@@ -192,7 +192,6 @@ onMounted(async () => {
<style>
/* 修改弹窗样式 */
.el-dialog {
background-image: url("@/assets/picture/dialog1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
......
......@@ -253,7 +253,6 @@ onMounted(() => {
/* 修改弹出框样式 */
.el-dialog {
background: transparent;
background-image: url("@/assets/picture/dialog1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
color: #ffffff;
......
......@@ -31,7 +31,7 @@ export default defineConfig({
proxy: {
// 代理API请求,使用更精确的路径匹配
'/api': {
target: 'http://192.168.3.10:5001/',
target: 'http://192.168.0.211:5001/',
changeOrigin: true,
},
}
......
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