-
-
{{ risk.title }}
-
-
-
{{ risk.details }}
-
-
{{ detail }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ risk.title }}
+
+
+
{{ risk.details }}
+
+
{{ detail }}
+
+
+
+
+
+
+
暂无{{ currentTabTitle }}数据
-
-
-
-
@@ -423,21 +641,92 @@ const hasAnyData = computed(() => {
.ivyz0s0d-container {
padding: 20px;
font-family: Arial, sans-serif;
+ background-color: #f8fafc;
+ min-height: 100vh;
}
-.risk-cards-grid {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
- gap: 15px;
- margin-bottom: 20px;
+.card {
+ background-color: white;
+ border-radius: 0.75rem;
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
+ padding: 1.25rem;
+ transition: all 0.3s ease;
+}
+
+.tabs-nav {
+ display: flex;
+ width: 100%;
+ border-bottom: 2px solid #e5e7eb;
+ margin-bottom: 1.25rem;
+}
+
+.tab-button {
+ flex: 1;
+ padding: 0.75rem 1rem;
+ text-align: center;
+ cursor: pointer;
+ font-weight: 500;
+ font-size: 0.875rem;
+ color: #6b7280;
+ background: transparent;
+ border: none;
+ border-bottom: 2px solid transparent;
+ transition: all 0.3s ease;
+ position: relative;
+}
+
+.tab-button:hover {
+ color: #4b5563;
+ background-color: #f9fafb;
+}
+
+.tab-button.active {
+ color: #3b82f6;
+ border-bottom-color: #3b82f6;
+ background-color: #eff6ff;
+}
+
+.tab-content {
+ min-height: 300px;
+}
+
+.tab-header {
+ margin-bottom: 1rem;
+ padding-bottom: 0.75rem;
+ border-bottom: 1px solid #e5e7eb;
+}
+
+.tab-title {
+ margin: 0 0 0.25rem 0;
+ font-size: 1.25rem;
+ font-weight: bold;
+ color: #1f2937;
+}
+
+.tab-subtitle {
+ margin: 0;
+ font-size: 0.875rem;
+ color: #6b7280;
+}
+
+.risk-cards-container {
+ display: flex;
+ flex-direction: column;
+ gap: 0.75rem;
}
.risk-card {
- border: 1px solid #e0e0e0;
- border-radius: 8px;
- padding: 15px;
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+ border: 1px solid #e5e7eb;
+ border-radius: 0.5rem;
+ padding: 1rem;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1);
transition: transform 0.2s ease, box-shadow 0.2s ease;
+ background-color: white;
+}
+
+.risk-card.hit-risk {
+ border-left: 4px solid #f44336 !important; /* 命中风险的红色边框 */
+ background-color: #ffe8e8 !important; /* 命中风险的浅红色背景 */
}
.risk-card:hover {
@@ -451,20 +740,20 @@ const hasAnyData = computed(() => {
}
.risk-card__title {
- margin: 0 0 8px 0;
- font-size: 16px;
+ margin: 0 0 0.5rem 0;
+ font-size: 1rem;
font-weight: bold;
color: #333;
}
.risk-card__status {
margin: 0;
- font-size: 14px;
+ font-size: 0.875rem;
color: #666;
}
.risk-detail-item {
- margin: 0 0 4px 0;
+ margin: 0 0 0.25rem 0;
line-height: 1.4;
}
@@ -476,6 +765,47 @@ const hasAnyData = computed(() => {
text-align: center;
color: #999;
font-style: italic;
- padding: 20px;
+ padding: 2.5rem 1.25rem;
+ background-color: white;
+ border-radius: 0.75rem;
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
+}
+
+.no-data-tab {
+ text-align: center;
+ color: #9ca3af;
+ font-style: italic;
+ padding: 1.5rem 1rem;
+ background-color: #f9fafb;
+ border-radius: 0.5rem;
+ border: 1px dashed #e5e7eb;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
+ .ivyz0s0d-container {
+ padding: 0.75rem;
+ }
+
+ .card {
+ padding: 1rem;
+ }
+
+ .tab-button {
+ font-size: 0.8rem;
+ padding: 0.5rem;
+ }
+
+ .tab-title {
+ font-size: 1.125rem;
+ }
+
+ .risk-card__title {
+ font-size: 0.95rem;
+ }
+
+ .risk-card__status {
+ font-size: 0.8rem;
+ }
}
\ No newline at end of file