|
@@ -1,22 +1,17 @@
|
|
|
<template>
|
|
|
<div class="rule-business part-box part-box-pad part-box-border">
|
|
|
<h4 class="part-box-tips">变量印刷考务字段配置:</h4>
|
|
|
- <el-form
|
|
|
- ref="modalFormComp"
|
|
|
- :model="modalForm"
|
|
|
- :rules="rules"
|
|
|
- label-width="170px"
|
|
|
- >
|
|
|
- <el-form-item prop="requiredFields" label="必选字段:">
|
|
|
+ <el-form ref="modalFormComp" :model="modalForm" label-width="170px">
|
|
|
+ <el-form-item label="必选字段:" required>
|
|
|
<el-checkbox
|
|
|
v-for="field in modalForm.requiredFields"
|
|
|
:key="field.code"
|
|
|
v-model="field.enable"
|
|
|
- @change="validateRequiredFields"
|
|
|
+ disabled
|
|
|
>{{ field.name }}</el-checkbox
|
|
|
>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="extendFields" label="扩展字段:">
|
|
|
+ <el-form-item label="扩展字段:">
|
|
|
<div class="part-box part-box-pad part-box-border">
|
|
|
<div class="label-edit">
|
|
|
<div
|
|
@@ -44,34 +39,28 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否启用入库审核:" required>
|
|
|
- <el-radio-group v-model="modalForm.review">
|
|
|
- <el-radio
|
|
|
- v-for="(val, key) in ABLE_TYPE"
|
|
|
- :key="key"
|
|
|
- :label="key * 1"
|
|
|
- >{{ val }}</el-radio
|
|
|
- >
|
|
|
- </el-radio-group>
|
|
|
+ <el-switch
|
|
|
+ v-model="modalForm.review"
|
|
|
+ active-color="#23c4b9"
|
|
|
+ inactive-color="#dcdfe6"
|
|
|
+ >
|
|
|
+ </el-switch>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="入库强制包含试卷:" required>
|
|
|
- <el-radio-group v-model="modalForm.includePaper">
|
|
|
- <el-radio
|
|
|
- v-for="(val, key) in ABLE_TYPE"
|
|
|
- :key="key"
|
|
|
- :label="key * 1"
|
|
|
- >{{ val }}</el-radio
|
|
|
- >
|
|
|
- </el-radio-group>
|
|
|
+ <el-switch
|
|
|
+ v-model="modalForm.includePaper"
|
|
|
+ active-color="#23c4b9"
|
|
|
+ inactive-color="#dcdfe6"
|
|
|
+ >
|
|
|
+ </el-switch>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否启用客服制卡:" required>
|
|
|
- <el-radio-group v-model="modalForm.customCard">
|
|
|
- <el-radio
|
|
|
- v-for="(val, key) in ABLE_TYPE"
|
|
|
- :key="key"
|
|
|
- :label="key * 1"
|
|
|
- >{{ val }}</el-radio
|
|
|
- >
|
|
|
- </el-radio-group>
|
|
|
+ <el-switch
|
|
|
+ v-model="modalForm.customCard"
|
|
|
+ active-color="#23c4b9"
|
|
|
+ inactive-color="#dcdfe6"
|
|
|
+ >
|
|
|
+ </el-switch>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="提交印刷方式:" required>
|
|
|
<el-radio-group v-model="modalForm.printMethod">
|
|
@@ -97,18 +86,18 @@
|
|
|
|
|
|
<script>
|
|
|
import ModifyField from "../components/ModifyField";
|
|
|
-import { ABLE_TYPE, CONFIRM_PRINT_TYPE } from "@/constants/enumerate";
|
|
|
+import { CONFIRM_PRINT_TYPE } from "@/constants/enumerate";
|
|
|
import { commonRuleDetail, saveCommonBusinessRule } from "../api";
|
|
|
import { getEnums } from "../../login/api";
|
|
|
|
|
|
const initModalForm = {
|
|
|
id: null,
|
|
|
- review: 1,
|
|
|
- includePaper: 1,
|
|
|
- customCard: 1,
|
|
|
+ review: true,
|
|
|
+ includePaper: true,
|
|
|
+ customCard: true,
|
|
|
printMethod: "AUTO",
|
|
|
- requiredFields: [],
|
|
|
- extendFields: []
|
|
|
+ requiredFields: "[]",
|
|
|
+ extendFields: "[]"
|
|
|
};
|
|
|
|
|
|
export default {
|
|
@@ -118,37 +107,6 @@ export default {
|
|
|
return {
|
|
|
modalForm: { ...initModalForm },
|
|
|
isSubmit: false,
|
|
|
- rules: {
|
|
|
- requiredFields: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- validator: (rule, value, callback) => {
|
|
|
- const selected = value.some(item => item.enable);
|
|
|
- if (selected) {
|
|
|
- callback();
|
|
|
- } else {
|
|
|
- callback(new Error("请选择必选字段"));
|
|
|
- }
|
|
|
- },
|
|
|
- trigger: "change"
|
|
|
- }
|
|
|
- ],
|
|
|
- extendFields: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- validator: (rule, value, callback) => {
|
|
|
- const selected = value.some(item => item.enable);
|
|
|
- if (selected) {
|
|
|
- callback();
|
|
|
- } else {
|
|
|
- callback(new Error("请选择扩展字段"));
|
|
|
- }
|
|
|
- },
|
|
|
- trigger: "change"
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- ABLE_TYPE,
|
|
|
CONFIRM_PRINT_TYPE
|
|
|
};
|
|
|
},
|
|
@@ -158,18 +116,16 @@ export default {
|
|
|
methods: {
|
|
|
async init() {
|
|
|
const requiredFields = await getEnums("REQUIRED_FIELDS");
|
|
|
- let commonRule = await commonRuleDetail();
|
|
|
- commonRule.requiredFields = requiredFields.map(item => {
|
|
|
+ const commonRule = await commonRuleDetail();
|
|
|
+ this.modalForm = Object.assign(initModalForm, commonRule || {});
|
|
|
+ this.modalForm.requiredFields = requiredFields.map(item => {
|
|
|
return {
|
|
|
code: item.code,
|
|
|
name: item.desc,
|
|
|
- enable: commonRule.requiredFields.includes(item.code)
|
|
|
+ enable: true
|
|
|
};
|
|
|
});
|
|
|
- this.modalForm = Object.assign(initModalForm, commonRule);
|
|
|
- this.modalForm.review = Number(commonRule.review);
|
|
|
- this.modalForm.includePaper = Number(commonRule.includePaper);
|
|
|
- this.modalForm.customCard = Number(commonRule.customCard);
|
|
|
+ this.modalForm.extendFields = JSON.parse(this.modalForm.extendFields);
|
|
|
},
|
|
|
validateRequiredFields() {
|
|
|
this.$refs.modalFormComp.validateField("requiredFields");
|
|
@@ -181,7 +137,7 @@ export default {
|
|
|
this.$refs.ModifyField.open();
|
|
|
},
|
|
|
addField(field) {
|
|
|
- this.extendFields.push({ ...field });
|
|
|
+ this.modalForm.extendFields.push({ ...field });
|
|
|
},
|
|
|
deleteField(field) {
|
|
|
const index = this.modalForm.extendFields.findIndex(
|
|
@@ -201,9 +157,6 @@ export default {
|
|
|
};
|
|
|
datas.requiredFields = JSON.stringify(datas.requiredFields);
|
|
|
datas.extendFields = JSON.stringify(datas.extendFields);
|
|
|
- datas.review = Boolean(datas.review);
|
|
|
- datas.includePaper = Boolean(datas.includePaper);
|
|
|
- datas.customCard = Boolean(datas.customCard);
|
|
|
const data = await saveCommonBusinessRule(datas).catch(() => {});
|
|
|
this.isSubmit = false;
|
|
|
if (!data) return;
|