|
@@ -16,7 +16,7 @@
|
|
:model="modalForm"
|
|
:model="modalForm"
|
|
:rules="rules"
|
|
:rules="rules"
|
|
:key="modalForm.id"
|
|
:key="modalForm.id"
|
|
- label-width="120px"
|
|
|
|
|
|
+ label-width="130px"
|
|
>
|
|
>
|
|
<!-- 必填信息 -->
|
|
<!-- 必填信息 -->
|
|
<el-form-item prop="semesterId" label="学期:">
|
|
<el-form-item prop="semesterId" label="学期:">
|
|
@@ -156,21 +156,37 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
<!-- 选填信息 -->
|
|
<!-- 选填信息 -->
|
|
- <el-form-item
|
|
|
|
- v-for="item in optionalFields"
|
|
|
|
- :key="`${item.code}${item.name}`"
|
|
|
|
- :prop="item.code"
|
|
|
|
- :label="`${item.name}:`"
|
|
|
|
- >
|
|
|
|
- <el-input
|
|
|
|
- v-model.trim="modalForm[item.code]"
|
|
|
|
- :placeholder="`请输入${item.name}`"
|
|
|
|
- clearable
|
|
|
|
- :disabled="
|
|
|
|
- item.code === 'paperNumber' && isEdit && !!instance[item.code]
|
|
|
|
- "
|
|
|
|
- ></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <template v-for="item in optionalFields">
|
|
|
|
+ <template v-if="item.code === 'examDate'">
|
|
|
|
+ <el-form-item
|
|
|
|
+ :key="`${item.code}${item.name}`"
|
|
|
|
+ prop="examStartTime"
|
|
|
|
+ label="考试时间:"
|
|
|
|
+ >
|
|
|
|
+ <one-date-time-range
|
|
|
|
+ :start-date-time.sync="modalForm.examStartTime"
|
|
|
|
+ :end-date-time.sync="modalForm.examEndTime"
|
|
|
|
+ >
|
|
|
|
+ </one-date-time-range>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <el-form-item
|
|
|
|
+ :key="`${item.code}${item.name}`"
|
|
|
|
+ :prop="item.code"
|
|
|
|
+ :label="`${item.name}:`"
|
|
|
|
+ >
|
|
|
|
+ <el-input
|
|
|
|
+ v-model.trim="modalForm[item.code]"
|
|
|
|
+ :placeholder="`请输入${item.name}`"
|
|
|
|
+ clearable
|
|
|
|
+ :disabled="
|
|
|
|
+ item.code === 'paperNumber' && isEdit && !!instance[item.code]
|
|
|
|
+ "
|
|
|
|
+ ></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </template>
|
|
|
|
+ </template>
|
|
|
|
|
|
<!-- 扩展字段 -->
|
|
<!-- 扩展字段 -->
|
|
<el-form-item
|
|
<el-form-item
|
|
@@ -443,6 +459,18 @@ export default {
|
|
this.optionalFields = requiredFieldData.filter(
|
|
this.optionalFields = requiredFieldData.filter(
|
|
(item) => !item.disabled && item.enable
|
|
(item) => !item.disabled && item.enable
|
|
);
|
|
);
|
|
|
|
+ // 选填字段中考试日期和时间的特殊处理
|
|
|
|
+ const timeCodes = ["examDate", "examTime"];
|
|
|
|
+ const timeFields = this.optionalFields.filter((item) =>
|
|
|
|
+ timeCodes.includes(item.code)
|
|
|
|
+ );
|
|
|
|
+ if (timeFields.length) {
|
|
|
|
+ this.optionalFields = this.optionalFields.filter(
|
|
|
|
+ (item) => !timeCodes.includes(item.code)
|
|
|
|
+ );
|
|
|
|
+ this.optionalFields.unshift({ ...timeFields[0], code: "examDate" });
|
|
|
|
+ }
|
|
|
|
+
|
|
const extendFieldData = examRule.extendFields
|
|
const extendFieldData = examRule.extendFields
|
|
? JSON.parse(examRule.extendFields)
|
|
? JSON.parse(examRule.extendFields)
|
|
: [];
|
|
: [];
|
|
@@ -507,6 +535,11 @@ export default {
|
|
});
|
|
});
|
|
rules.paperNumber[0].required = true;
|
|
rules.paperNumber[0].required = true;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 选填字段中考试日期时间的处理
|
|
|
|
+ if (this.optionalFields.some((item) => item.code === "examDate")) {
|
|
|
|
+ rules.examStartTime[0].required = false;
|
|
|
|
+ }
|
|
this.rules = rules;
|
|
this.rules = rules;
|
|
},
|
|
},
|
|
cancel() {
|
|
cancel() {
|