This commit is contained in:
zlwu committed 2026-07-03 10:34:48 +08:00
commit 10f90d3824
6 files changed
+77 -40

No files matched your search

@@ -124,42 +124,36 @@ public class ZsjyEnrollmentInfoBo extends BaseEntity {
/**
* 语文成绩
*/
@NotNull(message = "语文成绩不能为空", groups = { AddGroup.class, EditGroup.class })
@DecimalMin(value = "0.0", message = "语文成绩不能小于0", groups = { AddGroup.class, EditGroup.class })
private BigDecimal chineseScore;
/**
* 数学成绩
*/
@NotNull(message = "数学成绩不能为空", groups = { AddGroup.class, EditGroup.class })
@DecimalMin(value = "0.0", message = "数学成绩不能小于0", groups = { AddGroup.class, EditGroup.class })
private BigDecimal mathScore;
/**
* 英语成绩
*/
@NotNull(message = "英语成绩不能为空", groups = { AddGroup.class, EditGroup.class })
@DecimalMin(value = "0.0", message = "英语成绩不能小于0", groups = { AddGroup.class, EditGroup.class })
private BigDecimal englishScore;
/**
* 科学成绩
*/
@NotNull(message = "科学成绩不能为空", groups = { AddGroup.class, EditGroup.class })
@DecimalMin(value = "0.0", message = "科学成绩不能小于0", groups = { AddGroup.class, EditGroup.class })
private BigDecimal scienceScore;
/**
* 社会成绩
*/
@NotNull(message = "社会成绩不能为空", groups = { AddGroup.class, EditGroup.class })
@DecimalMin(value = "0.0", message = "社会成绩不能小于0", groups = { AddGroup.class, EditGroup.class })
private BigDecimal socialScore;
/**
* 体育成绩
*/
@NotNull(message = "体育成绩不能为空", groups = { AddGroup.class, EditGroup.class })
@DecimalMin(value = "0.0", message = "体育成绩不能小于0", groups = { AddGroup.class, EditGroup.class })
private BigDecimal peScore;
@@ -151,8 +151,8 @@
| middleSchool | String | 否 | 初中毕业学校 |
| examNumber | String | 否 | 准考证号 |
| examRegion | String | 否 | 中考地区 |
| totalScoreFull | Integer | 否 | 中考满分 |
| totalScore | Integer | 否 | 中考总分 |
| totalScoreFull | Integer | 是 | 中考满分 |
| totalScore | Integer | 是 | 中考总分(含体育) |
| chineseScore | BigDecimal | 否 | 语文成绩 |
| mathScore | BigDecimal | 否 | 数学成绩 |
| englishScore | BigDecimal | 否 | 英语成绩 |
@@ -200,8 +200,8 @@
| middleSchool | String | 否 | 初中毕业学校 |
| examNumber | String | 否 | 准考证号 |
| examRegion | String | 否 | 中考地区 |
| totalScoreFull | Integer | 否 | 中考满分 |
| totalScore | Integer | 否 | 中考总分 |
| totalScoreFull | Integer | 是 | 中考满分 |
| totalScore | Integer | 是 | 中考总分(含体育) |
| chineseScore | BigDecimal | 否 | 语文成绩 |
| mathScore | BigDecimal | 否 | 数学成绩 |
| englishScore | BigDecimal | 否 | 英语成绩 |
+29 -12
View File
@@ -153,7 +153,7 @@
></u-number-box>
</u-form-item>
<u-form-item label="语文成绩" prop="chineseScore" required>
<u-form-item label="语文成绩" prop="chineseScore">
<u-number-box
v-model="formData.chineseScore"
:min="0"
@@ -162,7 +162,7 @@
></u-number-box>
</u-form-item>
<u-form-item label="数学成绩" prop="mathScore" required>
<u-form-item label="数学成绩" prop="mathScore">
<u-number-box
v-model="formData.mathScore"
:min="0"
@@ -171,7 +171,7 @@
></u-number-box>
</u-form-item>
<u-form-item label="英语成绩" prop="englishScore" required>
<u-form-item label="英语成绩" prop="englishScore">
<u-number-box
v-model="formData.englishScore"
:min="0"
@@ -180,7 +180,7 @@
></u-number-box>
</u-form-item>
<u-form-item label="科学成绩" prop="scienceScore" required>
<u-form-item label="科学成绩" prop="scienceScore">
<u-number-box
v-model="formData.scienceScore"
:min="0"
@@ -189,7 +189,7 @@
></u-number-box>
</u-form-item>
<u-form-item label="社会成绩" prop="socialScore" required>
<u-form-item label="社会成绩" prop="socialScore">
<u-number-box
v-model="formData.socialScore"
:min="0"
@@ -198,7 +198,7 @@
></u-number-box>
</u-form-item>
<u-form-item label="体育成绩" prop="peScore" required>
<u-form-item label="体育成绩" prop="peScore">
<u-number-box
v-model="formData.peScore"
:min="0"
@@ -466,6 +466,23 @@ const requiredNumber = (label, min = 0, max) => [
},
];
const optionalNumber = (label, min = 0, max) => [
{
validator: (rule, value, callback) => {
if (value === null || value === undefined || value === '') {
callback();
} else if (Number(value) < min) {
callback(new Error(`${label}不能小于${min}`));
} else if (max !== undefined && Number(value) > max) {
callback(new Error(`${label}不能大于${max}`));
} else {
callback();
}
},
trigger: ['blur', 'change'],
},
];
export default {
name: 'EnrollmentIndex',
data() {
@@ -583,12 +600,12 @@ export default {
examRegion: requiredText('中考地区'),
totalScoreFull: requiredNumber('中考满分', 100, 1000),
totalScore: requiredNumber('中考成绩', 0),
chineseScore: requiredNumber('语文成绩', 0),
mathScore: requiredNumber('数学成绩', 0),
englishScore: requiredNumber('英语成绩', 0),
scienceScore: requiredNumber('科学成绩', 0),
socialScore: requiredNumber('社会成绩', 0),
peScore: requiredNumber('体育成绩', 0),
chineseScore: optionalNumber('语文成绩', 0),
mathScore: optionalNumber('数学成绩', 0),
englishScore: optionalNumber('英语成绩', 0),
scienceScore: optionalNumber('科学成绩', 0),
socialScore: optionalNumber('社会成绩', 0),
peScore: optionalNumber('体育成绩', 0),
collegeName: requiredText('所属学院'),
collegeId: requiredText('学院代码'),
appliedMajor: requiredText('报考专业'),
+6 -6
View File
@@ -117,36 +117,36 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="语文成绩" prop="chineseScore" required>
<el-form-item label="语文成绩" prop="chineseScore">
<el-input-number v-model="applyForm.chineseScore" placeholder="请输入语文成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="数学成绩" prop="mathScore" required>
<el-form-item label="数学成绩" prop="mathScore">
<el-input-number v-model="applyForm.mathScore" placeholder="请输入数学成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="英语成绩" prop="englishScore" required>
<el-form-item label="英语成绩" prop="englishScore">
<el-input-number v-model="applyForm.englishScore" placeholder="请输入英语成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="科学成绩" prop="scienceScore" required>
<el-form-item label="科学成绩" prop="scienceScore">
<el-input-number v-model="applyForm.scienceScore" placeholder="请输入科学成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="社会成绩" prop="socialScore" required>
<el-form-item label="社会成绩" prop="socialScore">
<el-input-number v-model="applyForm.socialScore" placeholder="请输入社会成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="体育成绩" prop="peScore" required>
<el-form-item label="体育成绩" prop="peScore">
<el-input-number v-model="applyForm.peScore" placeholder="请输入体育成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
@@ -18,6 +18,32 @@ const requiredNumber = (label: string, min: number, max?: number) => {
return rules;
};
/** 选填数字:为空跳过,有值时校验范围 */
const optionalNumber = (label: string, min: number, max?: number) => {
const rules: FormRules[string] = [
{
validator: (_rule, value, callback) => {
if (value === undefined || value === null || value === '') {
callback();
return;
}
const num = Number(value);
if (Number.isNaN(num) || num < min) {
callback(new Error(`${label}不能小于${min}`));
return;
}
if (max !== undefined && num > max) {
callback(new Error(`${label}不能大于${max}`));
return;
}
callback();
},
trigger: 'blur'
}
];
return rules;
};
/** 招生报名信息表单校验(特长爱好、获奖情况除外) */
export const enrollmentFormRules: FormRules = {
name: requiredText('姓名'),
@@ -44,12 +70,12 @@ export const enrollmentFormRules: FormRules = {
examRegion: requiredText('中考地区'),
totalScoreFull: requiredNumber('中考满分', 100, 1000),
totalScore: requiredNumber('中考成绩', 0),
chineseScore: requiredNumber('语文成绩', 0),
mathScore: requiredNumber('数学成绩', 0),
englishScore: requiredNumber('英语成绩', 0),
scienceScore: requiredNumber('科学成绩', 0),
socialScore: requiredNumber('社会成绩', 0),
peScore: requiredNumber('体育成绩', 0),
chineseScore: optionalNumber('语文成绩', 0),
mathScore: optionalNumber('数学成绩', 0),
englishScore: optionalNumber('英语成绩', 0),
scienceScore: optionalNumber('科学成绩', 0),
socialScore: optionalNumber('社会成绩', 0),
peScore: optionalNumber('体育成绩', 0),
collegeName: requiredText('所属学院', 'change'),
collegeId: requiredText('学院代码'),
appliedMajor: requiredText('报考专业', 'change'),
+6 -6
View File
@@ -295,36 +295,36 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="语文成绩" prop="chineseScore" required>
<el-form-item label="语文成绩" prop="chineseScore">
<el-input-number v-model="form.chineseScore" placeholder="请输入语文成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="数学成绩" prop="mathScore" required>
<el-form-item label="数学成绩" prop="mathScore">
<el-input-number v-model="form.mathScore" placeholder="请输入数学成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="英语成绩" prop="englishScore" required>
<el-form-item label="英语成绩" prop="englishScore">
<el-input-number v-model="form.englishScore" placeholder="请输入英语成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="科学成绩" prop="scienceScore" required>
<el-form-item label="科学成绩" prop="scienceScore">
<el-input-number v-model="form.scienceScore" placeholder="请输入科学成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="社会成绩" prop="socialScore" required>
<el-form-item label="社会成绩" prop="socialScore">
<el-input-number v-model="form.socialScore" placeholder="请输入社会成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="体育成绩" prop="peScore" required>
<el-form-item label="体育成绩" prop="peScore">
<el-input-number v-model="form.peScore" placeholder="请输入体育成绩" :min="0" style="width: 100%" />
</el-form-item>
</el-col>