This commit is contained in:
guochunsi
2026-01-22 19:12:09 +08:00
parent dd9295b5fe
commit 3df513ae10
3 changed files with 220 additions and 400 deletions

View File

@@ -6,15 +6,14 @@
append-to-body
width="90%"
>
<el-form :model="dataForm" :rules="dataRule" ref="dataFormRef"
label-width="120px">
<el-form :model="dataForm" :rules="dataRule" ref="dataFormRef" label-width="120px">
<el-tabs v-model="activeTab">
<el-tab-pane label="基本信息" name="basic">
<!-- 基本信息 -->
<div class="form-section">
<div class="section-title">基本信息</div>
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="6">
<el-form-item label="招生计划" prop="groupId">
<el-select v-model="dataForm.groupId" filterable :disabled="dataForm.id !== ''"
@@ -106,7 +105,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="6">
<el-form-item label="准考证号" prop="examRegistrationNumbers">
<el-input
@@ -160,7 +159,7 @@
<!-- 证件信息 -->
<el-row v-if="dataForm.degreeOfEducation=='1'" :gutter="20" class="form-row">
<el-row v-if="dataForm.degreeOfEducation=='1'" :gutter="20" >
<el-col :span="6">
<el-form-item label="学校归属地" prop="schoolArea">
<el-select v-model="dataForm.schoolArea" filterable placeholder="请选择学校归属地" :disabled="!isEdit" @change="changeFrom">
@@ -227,7 +226,7 @@
</el-row>
<!-- 户口所在地 -->
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="12">
<el-form-item label="户口所在地" prop="residenceProvince">
<div class="address-group">
@@ -267,7 +266,7 @@
</el-col>
</el-row>
<!-- 家庭地址 -->
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="12">
<el-form-item label="家庭地址" prop="homeAddressProvince">
<div class="address-group">
@@ -306,7 +305,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="6">
<el-form-item label="家长姓名" prop="parentName">
<el-input type="text" v-model="dataForm.parentName" :disabled="!isEdit"></el-input>
@@ -353,7 +352,7 @@
<!-- 专业信息 -->
<div class="form-section">
<div class="section-title">专业信息</div>
<el-row v-if="dataForm.id" :gutter="20" class="form-row">
<el-row v-if="dataForm.id" :gutter="20" >
<el-col :span="8">
<el-form-item label="拟报专业1" prop="wishMajorOne">
<el-select v-model="dataForm.wishMajorOne" filterable clearable placeholder="请选择专业">
@@ -391,7 +390,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="24">
<el-form-item label="录取专业" prop="confirmedMajor">
<el-select v-model="dataForm.confirmedMajor" filterable clearable placeholder="" :disabled="!isEdit" @change="changeConfirmedMajor(dataForm.confirmedMajor)">
@@ -405,7 +404,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row v-if="isEdit" :gutter="20" class="form-row">
<el-row v-if="isEdit" :gutter="20" >
<el-col :span="8" v-if="twoMajorList.length>0">
<el-form-item label="两年制专业" prop="twoMajor" >
<el-select v-model="dataForm.twoMajor" filterable clearable placeholder="" @change="changeConfirmedMajor(dataForm.twoMajor)">
@@ -480,7 +479,7 @@
</el-col>
</el-row>
<!-- 费用信息 -->
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="8">
<el-form-item label="学费" prop="feeTuition">
<el-input-number v-model="dataForm.feeTuition" controls-position="right" :min="0" :max="999999" :step-strictly="true" disabled></el-input-number>
@@ -498,7 +497,7 @@
</el-col>
</el-row>
<!-- 其他信息 -->
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="8">
<el-form-item label="联系人" prop="contactName">
<el-select v-model="dataForm.contactName" filterable clearable placeholder="请选择联系人" :disabled="!isEdit">
@@ -524,7 +523,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="12">
<el-form-item label="既往病史" prop="pastMedicalHistory">
<el-input type="textarea" v-model="dataForm.pastMedicalHistory" placeholder="请输入既往病史" :rows="2" :disabled="!isEdit"></el-input>
@@ -540,7 +539,7 @@
</el-tab-pane>
<el-tab-pane label="附件材料" name="attachment">
<!-- 附件材料 -->
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col :span="6">
<el-form-item label="成绩单" prop="scorePhoto">
<el-upload
@@ -618,7 +617,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" class="form-row">
<el-row :gutter="20" >
<el-col>
<el-form-item label="在常租赁合同/房产证明" prop="housePic">
<el-upload
@@ -1620,72 +1619,6 @@ defineExpose({
}
}
// 图片预览容器样式
.image-preview-container {
min-height: 120px;
width: 100%;
}
// 图片列表样式
.image-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
// 图片项样式
.image-item {
position: relative;
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
&:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
transform: translateY(-2px);
}
}
// 图片预览样式
.preview-image {
width: 120px;
height: 120px;
object-fit: cover;
display: block;
cursor: pointer;
transition: transform 0.3s ease;
&:hover {
transform: scale(1.1);
}
}
// 图片占位符样式
.image-placeholder {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 120px;
width: 100%;
background: #f5f7fa;
border: 1px dashed #dcdfe6;
border-radius: 6px;
color: #909399;
font-size: 14px;
.el-icon {
font-size: 32px;
margin-bottom: 8px;
color: #c0c4cc;
}
span {
color: #909399;
}
}
// 总费用样式
.total-fee {
color: #f56c6c;
@@ -1695,28 +1628,17 @@ defineExpose({
// 表单布局优化
.el-form {
// 所有表单项保持默认间距
.el-form-item {
margin-bottom: 18px;
}
// 覆盖全局样式:每行的最后一个表单项也需要间距
.form-row .el-form-item:last-child {
.el-row .el-form-item:last-child {
margin-bottom: 18px !important;
}
// 只有整个表单的最后一个表单项才不需要底部间距
.form-row:last-of-type .el-form-item:last-child {
.el-row:last-of-type .el-form-item:last-child {
margin-bottom: 0 !important;
}
}
// 行布局优化
.form-row {
margin-bottom: 0;
}
// 表单模块样式
.form-section {
@@ -1738,10 +1660,6 @@ defineExpose({
padding-bottom: 12px;
border-bottom: 2px solid #e4e7ed;
}
.form-row {
margin-bottom: 0;
}
}
// 地址组样式 - 省市区紧凑排列,用分隔符连接