|
|
@@ -9,11 +9,11 @@
|
|
|
</template>
|
|
|
|
|
|
<!-- 顶部试卷信息表单 -->
|
|
|
- <el-form :model="formData" label-width="100px" class="mb-10">
|
|
|
+ <el-form :model="formData" :rules="formRules" ref="formRef" label-width="100px" class="mb-10">
|
|
|
<el-row :gutter="15">
|
|
|
<el-col :sm="12">
|
|
|
- <el-form-item label="关键词查询" prop="keyword">
|
|
|
- <el-input v-model="formData.keyword" placeholder="请输入关键词" />
|
|
|
+ <el-form-item label="题目名称" prop="name">
|
|
|
+ <el-input v-model="formData.name" placeholder="请输入关键词" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="题目分类" prop="subject_id">
|
|
|
<el-select v-model="formData.subject_id" placeholder="请选择题目分类">
|
|
|
@@ -143,7 +143,14 @@ export default {
|
|
|
previewData: [],
|
|
|
isFullScreen: false,
|
|
|
tableHeight: 400,
|
|
|
- formData: this.getDefaultFormData()
|
|
|
+ formData: this.getDefaultFormData(),
|
|
|
+ formRules: {
|
|
|
+ name: [{ required: true, message: "请输入题目名称", trigger: "blur" }],
|
|
|
+ subject_id: [{ required: true, message: "请选择题目分类", trigger: "change" }],
|
|
|
+ score_total: [{ required: true, message: "请输入总分", trigger: "blur" }],
|
|
|
+ topic_count: [{ required: true, message: "请输入题目数量", trigger: "blur" }],
|
|
|
+ is_charge: [{ required: true, message: "请选择是否收费", trigger: "change" }]
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -218,6 +225,13 @@ export default {
|
|
|
reader.readAsBinaryString(file);
|
|
|
},
|
|
|
async handleConfirm() {
|
|
|
+ // 验证表单
|
|
|
+ const valid = await this.$refs.formRef.validate().catch(() => false);
|
|
|
+ if (!valid) {
|
|
|
+ this.$message.error("请完善必填信息");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
const res = await this.$http.post(`/papers/import`, {
|
|
|
formData: { ...this.formData, type: this.defaultType, scene_type: this.defaultSceneType },
|
|
|
topicsData: this.previewData
|