|
|
|
|
@ -312,7 +312,7 @@
|
|
|
|
|
<Document />
|
|
|
|
|
</el-icon></div>
|
|
|
|
|
<div class="report-file-meta"><strong>{{ report.name || '可行性论证报告' }}</strong><span>{{
|
|
|
|
|
reportKindLabel }} · {{ readableSize(report.size) }}</span></div>
|
|
|
|
|
reportKindLabel }} · {{ readableSize(report.size) }}</span></div>
|
|
|
|
|
<div class="report-file-actions"><button type="button"
|
|
|
|
|
@click="openReportPreview"><el-icon>
|
|
|
|
|
<View />
|
|
|
|
|
@ -349,19 +349,28 @@
|
|
|
|
|
<div class="step-navigation">
|
|
|
|
|
<div class="step-nav-left">
|
|
|
|
|
<button v-if="currentStep > 1" type="button" class="btn-nav btn-ghost" @click="prevStep">
|
|
|
|
|
<el-icon><ArrowLeft /></el-icon>
|
|
|
|
|
<el-icon>
|
|
|
|
|
<ArrowLeft />
|
|
|
|
|
</el-icon>
|
|
|
|
|
上一步
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" class="btn-nav btn-save" :disabled="saving || uploading" @click="saveCurrentProgress">
|
|
|
|
|
<el-icon><CircleCheck /></el-icon>
|
|
|
|
|
<button type="button" class="btn-nav btn-save" :disabled="saving || uploading"
|
|
|
|
|
@click="saveCurrentProgress">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<CircleCheck />
|
|
|
|
|
</el-icon>
|
|
|
|
|
保存当前进度
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="step-nav-right">
|
|
|
|
|
<span class="step-progress">Step {{ String(currentStep).padStart(2, "0") }} / {{ String(trainingSteps.length).padStart(2, "0") }}</span>
|
|
|
|
|
<button v-if="currentStep < trainingSteps.length" type="button" class="btn-nav btn-primary" :disabled="saving || uploading" @click="nextStep">
|
|
|
|
|
<span class="step-progress">Step {{ String(currentStep).padStart(2, "0") }} / {{
|
|
|
|
|
String(trainingSteps.length).padStart(2, "0") }}</span>
|
|
|
|
|
<button v-if="currentStep < trainingSteps.length" type="button" class="btn-nav btn-primary"
|
|
|
|
|
:disabled="saving || uploading" @click="nextStep">
|
|
|
|
|
{{ saving ? "处理中…" : "下一步" }}
|
|
|
|
|
<el-icon><ArrowRight /></el-icon>
|
|
|
|
|
<el-icon>
|
|
|
|
|
<ArrowRight />
|
|
|
|
|
</el-icon>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -379,7 +388,7 @@ import { checkBusinessFeasibilityStepOne, checkBusinessFeasibilityStepTwo, check
|
|
|
|
|
import { getTrainingTaskByKey } from "@/api/trainingTask"
|
|
|
|
|
import { parseTrainingArray } from "@/views/training/taskKeyMap"
|
|
|
|
|
import TrainingAiSidebar from "@/views/components/TrainingAiSidebar.vue"
|
|
|
|
|
import TrainingTaskToolbar from "@/views/components/TrainingTaskToolbar.vue";
|
|
|
|
|
import TrainingTaskToolbar from "@/views/components/TrainingTaskToolbar.vue"
|
|
|
|
|
const TASK_KEY = "business-feasibility"
|
|
|
|
|
const DEFAULT_STEPS = ["商业可行性论证", "项目初步决策", "可行性论证报告", "决策结论"]
|
|
|
|
|
const overviewFields = [
|
|
|
|
|
@ -486,16 +495,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
--el-input-focus-ring-color: rgba(59, 130, 246, 0.15);
|
|
|
|
|
--el-textarea-hover-border-color: #3b82f6;
|
|
|
|
|
--el-textarea-focus-border-color: #2563eb;
|
|
|
|
|
--student-fs-display: 17px;
|
|
|
|
|
--student-fs-h1: 15px;
|
|
|
|
|
--student-fs-h2: 14px;
|
|
|
|
|
--student-fs-h3: 13px;
|
|
|
|
|
--student-fs-body: 13px;
|
|
|
|
|
--student-fs-body-sm: 12px;
|
|
|
|
|
--student-fs-caption: 11px;
|
|
|
|
|
--student-fs-button: 13px;
|
|
|
|
|
--student-fs-button-lg: 13px;
|
|
|
|
|
--student-fs-data: 14px;
|
|
|
|
|
/* 字号梯度统一继承 .student-training-shell,页面不再重复声明 */
|
|
|
|
|
|
|
|
|
|
position: relative;
|
|
|
|
|
z-index: 2;
|
|
|
|
|
@ -531,6 +531,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
background: var(--student-card-bg);
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
|
|
|
|
&::before {
|
|
|
|
|
content: '';
|
|
|
|
|
position: absolute;
|
|
|
|
|
@ -566,7 +567,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
.task-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 17px;
|
|
|
|
|
font-size: var(--student-fs-h1);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
line-height: 1.35;
|
|
|
|
|
}
|
|
|
|
|
@ -574,7 +575,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
.task-brief {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-size: var(--student-fs-body-sm);
|
|
|
|
|
line-height: 1.6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -645,13 +646,13 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 6px;
|
|
|
|
|
min-height: 36px;
|
|
|
|
|
padding: 0 14px;
|
|
|
|
|
border: 1px solid rgba(37, 99, 235, 0.35);
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
color: var(--student-accent);
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
font: inherit;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
padding: 0 14px;
|
|
|
|
|
border: 1px solid rgba(37, 99, 235, 0.35);
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
color: var(--student-accent);
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
font: inherit;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
|
|
|
|
|
@ -705,7 +706,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
.section-eyebrow {
|
|
|
|
|
margin: 0 0 2px;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
font-weight: 800;
|
|
|
|
|
letter-spacing: 0.12em;
|
|
|
|
|
}
|
|
|
|
|
@ -713,7 +714,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
.step-heading h2 {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 15px;
|
|
|
|
|
font-size: var(--student-fs-h1);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -723,7 +724,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
border-radius: 999px;
|
|
|
|
|
color: var(--student-accent-light);
|
|
|
|
|
background: var(--student-accent-soft);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
font-style: normal;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
@ -732,7 +733,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
.intro {
|
|
|
|
|
margin: 10px 0 0;
|
|
|
|
|
color: #374151;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
line-height: 1.6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -756,7 +757,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: var(--student-accent);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
@ -764,14 +765,14 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
.section-title h3 {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-size: var(--student-fs-h2);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.section-title p {
|
|
|
|
|
margin: 2px 0 0;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-size: var(--student-fs-body-sm);
|
|
|
|
|
line-height: 1.55;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -802,7 +803,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
background: var(--student-panel-bg);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.market-table {
|
|
|
|
|
@ -829,7 +830,7 @@ function exportOutcome() { const blob = new Blob([JSON.stringify({ task: taskTit
|
|
|
|
|
|
|
|
|
|
.input-with-suffix b {
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-size: var(--student-fs-body-sm);
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
@ -850,7 +851,7 @@ table {
|
|
|
|
|
|
|
|
|
|
th {
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
font-weight: 800;
|
|
|
|
|
background: var(--student-panel-bg);
|
|
|
|
|
text-align: center;
|
|
|
|
|
@ -882,7 +883,7 @@ td:last-child {
|
|
|
|
|
.table-wrap td :deep(.el-textarea__inner) {
|
|
|
|
|
min-height: 60px !important;
|
|
|
|
|
padding: 6px 10px;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
line-height: 1.55;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -919,7 +920,7 @@ td:last-child {
|
|
|
|
|
background: var(--student-panel-bg);
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.computed-value {
|
|
|
|
|
@ -933,7 +934,7 @@ td:last-child {
|
|
|
|
|
color: var(--student-accent);
|
|
|
|
|
background: var(--student-accent-soft);
|
|
|
|
|
font-weight: 800;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ===== 底部导航:工具栏式 ===== */
|
|
|
|
|
@ -980,7 +981,7 @@ td:last-child {
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
|
|
.el-icon {
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-size: var(--student-fs-h2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1056,7 +1057,7 @@ td:last-child {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.placeholder p {
|
|
|
|
|
font-size: 15px;
|
|
|
|
|
font-size: var(--student-fs-h1);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
}
|
|
|
|
|
@ -1076,7 +1077,7 @@ td:last-child {
|
|
|
|
|
gap: 8px;
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-size: var(--student-fs-h2);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1118,7 +1119,7 @@ td:last-child {
|
|
|
|
|
|
|
|
|
|
strong {
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1126,7 +1127,7 @@ td:last-child {
|
|
|
|
|
display: block;
|
|
|
|
|
margin-top: 3px;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1184,7 +1185,7 @@ td:last-child {
|
|
|
|
|
strong {
|
|
|
|
|
display: block;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1192,7 +1193,7 @@ td:last-child {
|
|
|
|
|
display: block;
|
|
|
|
|
margin-top: 3px;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1241,14 +1242,14 @@ td:last-child {
|
|
|
|
|
color: var(--student-accent);
|
|
|
|
|
background: var(--student-accent-soft);
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
font-weight: 800;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.hint {
|
|
|
|
|
margin: 10px 0 0;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-size: var(--student-fs-body-sm);
|
|
|
|
|
line-height: 1.55;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1260,7 +1261,7 @@ td:last-child {
|
|
|
|
|
color: #374151;
|
|
|
|
|
background: var(--student-accent-soft);
|
|
|
|
|
line-height: 1.7;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
border-radius: 0 10px 10px 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1307,14 +1308,14 @@ td:last-child {
|
|
|
|
|
.report-upload-panel h3 {
|
|
|
|
|
margin: 4px 0 0;
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 15px;
|
|
|
|
|
font-size: var(--student-fs-h1);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.report-upload-panel>p {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-size: var(--student-fs-body-sm);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.report-file-card {
|
|
|
|
|
@ -1356,14 +1357,14 @@ td:last-child {
|
|
|
|
|
|
|
|
|
|
.report-file-meta strong {
|
|
|
|
|
color: var(--student-text);
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-size: var(--student-fs-body);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.report-file-meta span {
|
|
|
|
|
margin-top: 3px;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.report-file-actions {
|
|
|
|
|
@ -1381,7 +1382,7 @@ td:last-child {
|
|
|
|
|
color: var(--student-accent);
|
|
|
|
|
background: transparent;
|
|
|
|
|
font: inherit;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-size: var(--student-fs-body-sm);
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
padding: 4px 6px;
|
|
|
|
|
@ -1406,7 +1407,7 @@ td:last-child {
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 10px;
|
|
|
|
|
color: var(--student-text-secondary);
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-size: var(--student-fs-caption);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.text-action:disabled {
|
|
|
|
|
@ -1534,8 +1535,8 @@ td:last-child {
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
|
|
|
|
|
.step-tab {
|
|
|
|
|
flex: 1 1 0 !important;
|
|
|
|
|
max-width: 240px !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
display: flex !important;
|
|
|
|
|
flex-direction: row !important;
|
|
|
|
|
align-items: center !important;
|
|
|
|
|
@ -1552,7 +1553,7 @@ td:last-child {
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
color: #6b7280 !important;
|
|
|
|
|
font-size: 13px !important;
|
|
|
|
|
font-size: var(--student-fs-body) !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
line-height: 1.3 !important;
|
|
|
|
|
text-align: center !important;
|
|
|
|
|
@ -1562,6 +1563,7 @@ td:last-child {
|
|
|
|
|
&:first-child {
|
|
|
|
|
border-radius: 8px 0 0 8px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
|
border-radius: 0 8px 8px 0 !important;
|
|
|
|
|
border-right: 1px solid #e5e7eb !important;
|
|
|
|
|
@ -1584,10 +1586,11 @@ td:last-child {
|
|
|
|
|
background: #f3f4f6 !important;
|
|
|
|
|
color: #6b7280 !important;
|
|
|
|
|
font-family: var(--student-font-data), ui-monospace, "SF Mono", Consolas, monospace !important;
|
|
|
|
|
font-size: 12px !important;
|
|
|
|
|
font-size: var(--student-fs-body-sm) !important;
|
|
|
|
|
font-weight: 700 !important;
|
|
|
|
|
line-height: 1 !important;
|
|
|
|
|
transition: all 0.16s ease !important;
|
|
|
|
|
|
|
|
|
|
&::after {
|
|
|
|
|
display: none !important;
|
|
|
|
|
}
|
|
|
|
|
@ -1602,6 +1605,7 @@ td:last-child {
|
|
|
|
|
background: #eff6ff !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
z-index: 1 !important;
|
|
|
|
|
|
|
|
|
|
.step-no {
|
|
|
|
|
background: #2563eb !important;
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
@ -1611,14 +1615,17 @@ td:last-child {
|
|
|
|
|
&.complete:not(.active) {
|
|
|
|
|
border-color: #e5e7eb !important;
|
|
|
|
|
color: #374151 !important;
|
|
|
|
|
|
|
|
|
|
.step-no {
|
|
|
|
|
background: rgba(43, 164, 113, 0.12) !important;
|
|
|
|
|
color: #16915f !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #2ba471 !important;
|
|
|
|
|
background: #f0fdf6 !important;
|
|
|
|
|
z-index: 1 !important;
|
|
|
|
|
|
|
|
|
|
.step-no {
|
|
|
|
|
background: #2ba471 !important;
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
@ -1632,10 +1639,12 @@ td:last-child {
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
font-weight: 700 !important;
|
|
|
|
|
z-index: 2 !important;
|
|
|
|
|
|
|
|
|
|
.step-no {
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #1d4ed8 !important;
|
|
|
|
|
border-color: #1d4ed8 !important;
|
|
|
|
|
@ -1650,71 +1659,73 @@ td:last-child {
|
|
|
|
|
justify-content: flex-start !important;
|
|
|
|
|
overflow-x: auto !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#app .studentLayout section.app-main:has(.feasibility-page) .step-indicator .step-tab {
|
|
|
|
|
flex: 0 0 140px !important;
|
|
|
|
|
max-width: none !important;
|
|
|
|
|
}
|
|
|
|
|
flex: 0 0 140px !important;
|
|
|
|
|
max-width: none !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ============================================================
|
|
|
|
|
* 顶部工具栏:TrainingMaterialButton 资料按钮 → 教育蓝
|
|
|
|
|
* ============================================================ */
|
|
|
|
|
.feasibility-page .workbench-actions .material-button.el-button {
|
|
|
|
|
height: 34px !important;
|
|
|
|
|
min-height: 34px !important;
|
|
|
|
|
border: 1px solid rgba(37, 99, 235, 0.35) !important;
|
|
|
|
|
border-radius: 8px !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
font-size: 13px !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #2563eb !important;
|
|
|
|
|
height: 34px !important;
|
|
|
|
|
min-height: 34px !important;
|
|
|
|
|
border: 1px solid rgba(37, 99, 235, 0.35) !important;
|
|
|
|
|
border-radius: 8px !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #eff6ff !important;
|
|
|
|
|
box-shadow: 0 2px 6px rgba(37, 99, 235, 0.12) !important;
|
|
|
|
|
}
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
font-size: var(--student-fs-body) !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease !important;
|
|
|
|
|
|
|
|
|
|
&.is-plain {
|
|
|
|
|
border-color: #e5e7eb !important;
|
|
|
|
|
color: #9ca3af !important;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #e5e7eb !important;
|
|
|
|
|
color: #9ca3af !important;
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
border-color: #2563eb !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #eff6ff !important;
|
|
|
|
|
box-shadow: 0 2px 6px rgba(37, 99, 235, 0.12) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.is-plain {
|
|
|
|
|
border-color: #e5e7eb !important;
|
|
|
|
|
color: #9ca3af !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #e5e7eb !important;
|
|
|
|
|
color: #9ca3af !important;
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ============================================================
|
|
|
|
|
* 顶部导出按钮(原生 <button.action-button>)
|
|
|
|
|
* ============================================================ */
|
|
|
|
|
#app .studentLayout section.app-main:has(.feasibility-page) .workbench-actions > button.action-button {
|
|
|
|
|
display: inline-flex !important;
|
|
|
|
|
align-items: center !important;
|
|
|
|
|
justify-content: center !important;
|
|
|
|
|
gap: 6px !important;
|
|
|
|
|
height: 34px !important;
|
|
|
|
|
min-height: 34px !important;
|
|
|
|
|
padding: 0 14px !important;
|
|
|
|
|
border: 1px solid rgba(37, 99, 235, 0.35) !important;
|
|
|
|
|
border-radius: 8px !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
font-size: 13px !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
line-height: 1 !important;
|
|
|
|
|
transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#app .studentLayout section.app-main:has(.feasibility-page) .workbench-actions > button.action-button:hover {
|
|
|
|
|
border-color: #2563eb !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #eff6ff !important;
|
|
|
|
|
box-shadow: 0 2px 6px rgba(37, 99, 235, 0.12) !important;
|
|
|
|
|
transform: none !important;
|
|
|
|
|
#app .studentLayout section.app-main:has(.feasibility-page) .workbench-actions>button.action-button {
|
|
|
|
|
display: inline-flex !important;
|
|
|
|
|
align-items: center !important;
|
|
|
|
|
justify-content: center !important;
|
|
|
|
|
gap: 6px !important;
|
|
|
|
|
height: 34px !important;
|
|
|
|
|
min-height: 34px !important;
|
|
|
|
|
padding: 0 14px !important;
|
|
|
|
|
border: 1px solid rgba(37, 99, 235, 0.35) !important;
|
|
|
|
|
border-radius: 8px !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #ffffff !important;
|
|
|
|
|
font-size: var(--student-fs-body) !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
line-height: 1 !important;
|
|
|
|
|
transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#app .studentLayout section.app-main:has(.feasibility-page) .workbench-actions>button.action-button:hover {
|
|
|
|
|
border-color: #2563eb !important;
|
|
|
|
|
color: #2563eb !important;
|
|
|
|
|
background: #eff6ff !important;
|
|
|
|
|
box-shadow: 0 2px 6px rgba(37, 99, 235, 0.12) !important;
|
|
|
|
|
transform: none !important;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|