|
@@ -1,30 +1,35 @@
|
|
|
<template>
|
|
|
<div class="rule-card rule-form">
|
|
|
- <el-form ref="ModalForm1" label-width="90px" inline>
|
|
|
- <el-form-item label="版号版式:">
|
|
|
+ <el-form
|
|
|
+ ref="ModalFormLine"
|
|
|
+ label-width="100px"
|
|
|
+ :rules="rulesLine"
|
|
|
+ :model="modalForm"
|
|
|
+ inline
|
|
|
+ style="padding-left: 40px;"
|
|
|
+ >
|
|
|
+ <el-form-item prop="examNumberStyle" label="考号版式:">
|
|
|
<el-select
|
|
|
- v-model="modalForm.paperType"
|
|
|
+ v-model="modalForm.examNumberStyle"
|
|
|
style="width: 142px;"
|
|
|
placeholder="请选择"
|
|
|
- clearable
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="(val, key) in paperTypes"
|
|
|
+ v-for="(val, key) in EXAM_NUMBER_STYLE"
|
|
|
:key="key"
|
|
|
:value="key"
|
|
|
:label="val"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="AB卷版式:">
|
|
|
+ <el-form-item prop="paperType" label="AB卷版式:">
|
|
|
<el-select
|
|
|
v-model="modalForm.paperType"
|
|
|
style="width: 142px;"
|
|
|
placeholder="请选择"
|
|
|
- clearable
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="(val, key) in paperTypes"
|
|
|
+ v-for="(val, key) in PAPER_TYPE"
|
|
|
:key="key"
|
|
|
:value="key"
|
|
|
:label="val"
|
|
@@ -32,27 +37,44 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="margin-left: 30px;">
|
|
|
- <el-checkbox v-model="modalForm.absent">启用“缺考填涂”</el-checkbox>
|
|
|
+ <el-checkbox v-model="modalForm.examAbsent">启用“缺考填涂”</el-checkbox>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="margin-left: 30px;">
|
|
|
- <el-checkbox v-model="modalForm.write">启用“手写签名”</el-checkbox>
|
|
|
+ <el-checkbox v-model="modalForm.writeSign">启用“手写签名”</el-checkbox>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <el-form ref="ModalForm2" label-width="130px" style="max-width: 850px;">
|
|
|
+
|
|
|
+ <el-form
|
|
|
+ ref="ModalFormRow"
|
|
|
+ label-width="140px"
|
|
|
+ :rules="rulesRow"
|
|
|
+ :model="modalForm"
|
|
|
+ style="max-width: 850px;"
|
|
|
+ >
|
|
|
<el-form-item label="考务字段:">
|
|
|
- <business-fields></business-fields>
|
|
|
+ <business-fields
|
|
|
+ :data="modalForm"
|
|
|
+ ref="BusinessFields"
|
|
|
+ v-if="dataReady"
|
|
|
+ ></business-fields>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="注意事项:">
|
|
|
- <el-input type="textarea" v-model="modalForm.tips"></el-input>
|
|
|
+ <el-form-item prop="attention" label="注意事项:">
|
|
|
+ <el-input type="textarea" v-model="modalForm.attention"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="客观题注意事项:">
|
|
|
- <el-input v-model="modalForm.tips"></el-input>
|
|
|
+ <el-form-item prop="objectiveAttention" label="客观题注意事项:">
|
|
|
+ <el-input v-model="modalForm.objectiveAttention"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="主观题注意事项:">
|
|
|
- <el-input v-model="modalForm.tips"></el-input>
|
|
|
+ <el-form-item prop="subjectiveAttention" label="主观题注意事项:">
|
|
|
+ <el-input v-model="modalForm.subjectiveAttention"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="save">保存</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submit"
|
|
|
+ :disabled="isSubmit"
|
|
|
+ style="width:88px"
|
|
|
+ >保存</el-button
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -60,6 +82,8 @@
|
|
|
|
|
|
<script>
|
|
|
import BusinessFields from "./BusinessFields";
|
|
|
+import { EXAM_NUMBER_STYLE, PAPER_TYPE } from "@/constants/enumerate";
|
|
|
+import { cardRuleDetail, saveCardRule } from "../api";
|
|
|
|
|
|
export default {
|
|
|
name: "rule-card",
|
|
@@ -69,13 +93,95 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
modalForm: {
|
|
|
- paperType: ""
|
|
|
+ examNumberStyle: "",
|
|
|
+ paperType: "",
|
|
|
+ examAbsent: true,
|
|
|
+ writeSign: true,
|
|
|
+ examMustColumn: "",
|
|
|
+ examExtendColumn: "",
|
|
|
+ attention: "",
|
|
|
+ objectiveAttention: "",
|
|
|
+ subjectiveAttention: ""
|
|
|
},
|
|
|
- paperTypes: []
|
|
|
+ EXAM_NUMBER_STYLE,
|
|
|
+ PAPER_TYPE,
|
|
|
+ isSubmit: false,
|
|
|
+ dataReady: false,
|
|
|
+ rulesLine: {
|
|
|
+ examNumberStyle: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择考号版式",
|
|
|
+ trigger: "change"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ paperType: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择AB卷版式",
|
|
|
+ trigger: "change"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ rulesRow: {
|
|
|
+ attention: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入注意事项",
|
|
|
+ trigger: "change"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ objectiveAttention: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入客观题注意事项",
|
|
|
+ trigger: "change"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ subjectiveAttention: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入主观题注意事项",
|
|
|
+ trigger: "change"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
+ mounted() {
|
|
|
+ this.getCardRule();
|
|
|
+ },
|
|
|
methods: {
|
|
|
- save() {}
|
|
|
+ async getCardRule() {
|
|
|
+ const data = await cardRuleDetail(this.$ls.get("schoolId"));
|
|
|
+ this.modalForm = Object.assign(this.modalForm, data[0]);
|
|
|
+ this.modalForm.examNumberStyle += "";
|
|
|
+ this.modalForm.paperType += "";
|
|
|
+ this.dataReady = true;
|
|
|
+ },
|
|
|
+ async submit() {
|
|
|
+ const valid1 = await this.$refs["ModalFormLine"]
|
|
|
+ .validate()
|
|
|
+ .catch(() => {});
|
|
|
+ const valid2 = await this.$refs["ModalFormRow"]
|
|
|
+ .validate()
|
|
|
+ .catch(() => {});
|
|
|
+ if (!valid1 || !valid2) return;
|
|
|
+
|
|
|
+ if (this.isSubmit) return;
|
|
|
+ this.isSubmit = true;
|
|
|
+ const modals = {
|
|
|
+ ...this.modalForm,
|
|
|
+ ...this.$refs.BusinessFields.getSelectColumns()
|
|
|
+ };
|
|
|
+ modals.examNumberStyle *= 1;
|
|
|
+ modals.paperType *= 1;
|
|
|
+ const data = await saveCardRule(modals).catch(() => {
|
|
|
+ this.isSubmit = false;
|
|
|
+ });
|
|
|
+ if (!data) return;
|
|
|
+ this.$message.success("保存成功!");
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|