feat: 疗休养优化

This commit is contained in:
2026-11-04 17:11:14 +08:00
parent 894c720bb8
commit 060e8d5bc7
20 changed files with 730 additions and 98 deletions
@@ -1,16 +1,16 @@
<template>
<div>
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
<div class="therapy-line-info">
<div class="line-info-section">
<div class="line-info-section-header">
<h3 class="line-info-section-title">
线路信息
</h3>
</div>
<el-descriptions :column="2" border class="viewTable">
<el-descriptions-item label="年度">{{ viewData.year }}</el-descriptions-item>
<el-descriptions-item label="编号">{{ viewData.serialNumber }}</el-descriptions-item>
<el-descriptions-item label="线路名称">{{ viewData.lineName }}</el-descriptions-item>
<el-descriptions-item label="区域性质">{{ viewData.regionalNature }}</el-descriptions-item>
<dl class="line-info-fields">
<div class="line-info-field"><dt>年度</dt><dd>{{ viewData.year }}</dd></div>
<div class="line-info-field"><dt>编号</dt><dd>{{ viewData.serialNumber }}</dd></div>
<div class="line-info-field"><dt>线路名称</dt><dd>{{ viewData.lineName }}</dd></div>
<div class="line-info-field"><dt>区域性质</dt><dd>{{ viewData.regionalNature }}</dd></div>
<!-- <el-descriptions-item label="最少参与教工">{{ viewData.minimumGroupSize }}</el-descriptions-item>-->
<!-- (校工会创建AND自由模式) OR (分工会创建) -->
<!-- <template v-if="(viewData.createMode === 2 && viewData.signUpMode === 2 ) || viewData.createMode === 1">-->
@@ -25,12 +25,12 @@
<!-- <el-descriptions-item label="预计费用(元)">{{ viewData.estimatedCost }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="预计人数(含家属)">{{ viewData.estimatedFamilyNumbers }}</el-descriptions-item>-->
<!-- <el-descriptions-item label=""></el-descriptions-item>-->
</el-descriptions>
</dl>
</div>
<div class="panel panel-default mt20" style="border:none" v-if="showTravelTimePeriod">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
<div class="line-info-section" v-if="showTravelTimePeriod">
<div class="line-info-section-header">
<h3 class="line-info-section-title">
出行时间段
</h3>
</div>
@@ -73,14 +73,15 @@
</el-descriptions>
</div>
-->
<div class="panel panel-default mt20" style="border-color: #ebeef5">
<div class="panel-heading" style="background: #fafafa;border-color: #ebeef5">
<h3 class="panel-title">
<div class="line-info-section">
<div class="line-info-section-header">
<h3 class="line-info-section-title">
线路内容
</h3>
</div>
<div class="panel-body">
<div v-html="viewData.content"></div>
<div class="line-info-content">
<div v-html="viewData.content" v-if="viewData.content"></div>
<div class="line-info-empty" v-else>暂无线路内容</div>
</div>
</div>
</div>
@@ -134,12 +135,113 @@ module.exports = {
}
</script>
<style scoped>
.viewTable .el-descriptions__table {
table-layout: fixed !important;
<style>
.therapy-line-info {
color: #303133;
font-size: 14px;
line-height: 1.6;
}
.viewTable .el-descriptions-item__cell {
text-align: center !important;
.therapy-line-info .line-info-section {
margin-bottom: 24px;
overflow: hidden;
border: 1px solid #ebeef5;
border-radius: 4px;
background: #fff;
}
.therapy-line-info .line-info-section:last-child {
margin-bottom: 0;
}
.therapy-line-info .line-info-section-header {
padding: 14px 20px;
border-bottom: 1px solid #ebeef5;
background: #fafafa;
}
.therapy-line-info .line-info-section-title {
margin: 0;
padding-left: 10px;
border-left: 3px solid var(--color-primary, #409eff);
color: #303133;
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.therapy-line-info .line-info-fields {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin: 0;
}
.therapy-line-info .line-info-field {
display: grid;
grid-template-columns: 120px minmax(0, 1fr);
min-width: 0;
}
.therapy-line-info .line-info-field:nth-child(n + 3) {
border-top: 1px solid #ebeef5;
}
.therapy-line-info .line-info-field:nth-child(2n) {
border-left: 1px solid #ebeef5;
}
.therapy-line-info .line-info-field dt,
.therapy-line-info .line-info-field dd {
margin: 0;
padding: 14px 16px;
line-height: 24px;
text-align: left;
overflow-wrap: anywhere;
}
.therapy-line-info .line-info-field dt {
border-right: 1px solid #ebeef5;
background: #fafafa;
color: #606266;
font-weight: 400;
}
.therapy-line-info .line-info-content {
padding: 20px 24px;
color: #303133;
line-height: 1.9;
overflow-wrap: anywhere;
overflow-x: auto;
}
.therapy-line-info .line-info-content p {
margin: 0 0 12px;
}
.therapy-line-info .line-info-content img,
.therapy-line-info .line-info-content video {
max-width: 100%;
height: auto;
}
.therapy-line-info .line-info-empty {
padding: 12px 0;
color: #909399;
text-align: center;
}
@media (max-width: 767px) {
.therapy-line-info .line-info-fields {
grid-template-columns: minmax(0, 1fr);
}
.therapy-line-info .line-info-field + .line-info-field {
border-top: 1px solid #ebeef5;
border-left: 0;
}
.therapy-line-info .line-info-content {
padding: 16px;
}
}
</style>