|
@@ -9,83 +9,50 @@
|
|
append-to-body
|
|
append-to-body
|
|
fullscreen
|
|
fullscreen
|
|
:before-close="beforeClose"
|
|
:before-close="beforeClose"
|
|
- @open="visibleChange"
|
|
|
|
|
|
+ @open="initData"
|
|
>
|
|
>
|
|
- <el-steps
|
|
|
|
- class="mark-step"
|
|
|
|
- :active="current"
|
|
|
|
- align-center
|
|
|
|
- finish-status="success"
|
|
|
|
- >
|
|
|
|
- <el-step
|
|
|
|
- v-for="step in steps"
|
|
|
|
- :key="step.name"
|
|
|
|
- :title="step.title"
|
|
|
|
- :description="step.desc"
|
|
|
|
- >
|
|
|
|
- </el-step>
|
|
|
|
- </el-steps>
|
|
|
|
|
|
+ <div class="mb-4 tab-btns">
|
|
|
|
+ <el-button
|
|
|
|
+ v-for="tab in tabs"
|
|
|
|
+ :key="tab.val"
|
|
|
|
+ size="medium"
|
|
|
|
+ :type="curTab == tab.val ? 'primary' : 'default'"
|
|
|
|
+ @click="selectMenu(tab.val)"
|
|
|
|
+ >{{ tab.name }}
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="mark-body" v-if="dataReady">
|
|
|
|
|
|
+ <div v-if="dataReady" class="mark-body">
|
|
<component
|
|
<component
|
|
:is="currentComponent"
|
|
:is="currentComponent"
|
|
- :ref="currentComponent"
|
|
|
|
- :datas="infos"
|
|
|
|
- @next-step="toNext"
|
|
|
|
- @on-ready="compReady"
|
|
|
|
- @data-change="dataChange"
|
|
|
|
|
|
+ def="MarkParamRef"
|
|
|
|
+ :instance="instance"
|
|
|
|
+ @cancel="cancel"
|
|
|
|
+ @confirm="confirm"
|
|
></component>
|
|
></component>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
- <div class="text-center">
|
|
|
|
- <el-button
|
|
|
|
- v-if="!isFirstStep"
|
|
|
|
- type="primary"
|
|
|
|
- :disabled="loading"
|
|
|
|
- @click="prevStep"
|
|
|
|
- >上一步</el-button
|
|
|
|
- >
|
|
|
|
- <el-button
|
|
|
|
- v-if="isLastStep"
|
|
|
|
- type="success"
|
|
|
|
- :disabled="loading"
|
|
|
|
- @click="nextStep"
|
|
|
|
- >提交</el-button
|
|
|
|
- >
|
|
|
|
- <el-button v-else type="primary" @click="nextStep" :disabled="loading"
|
|
|
|
- >下一步</el-button
|
|
|
|
- >
|
|
|
|
- <el-button @click="cancel">取消</el-button>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
<div slot="footer"></div>
|
|
<div slot="footer"></div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import MarkPaperMarker from "./MarkPaperMarker.vue";
|
|
|
|
-import MarkPaperStructure from "./MarkPaperStructure.vue";
|
|
|
|
-// import paramData from "./paramData";
|
|
|
|
-import { examStructureSubmit } from "../../api";
|
|
|
|
|
|
+import { mapMutations } from "vuex";
|
|
|
|
+import MarkParamStructure from "./MarkParamStructure.vue";
|
|
|
|
+import MarkParamMarker from "./MarkParamMarker.vue";
|
|
|
|
+import MarkParamMarkerLeader from "./MarkParamMarkerLeader.vue";
|
|
|
|
+import MarkParamObjectiveAnswer from "./MarkParamObjectiveAnswer.vue";
|
|
|
|
+import MarkParamUploadAnswer from "./MarkParamUploadAnswer.vue";
|
|
import { cardDetail } from "../../../card/api";
|
|
import { cardDetail } from "../../../card/api";
|
|
-import { calcSum } from "@/plugins/utils";
|
|
|
|
-
|
|
|
|
-const STEPS_LIST = [
|
|
|
|
- {
|
|
|
|
- name: "structure",
|
|
|
|
- title: "试卷结构",
|
|
|
|
- desc: "请按试卷填写相应试卷结构信息",
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "marker",
|
|
|
|
- title: "评卷员",
|
|
|
|
- desc: "请选择评卷老师及设置对应评卷题目",
|
|
|
|
- },
|
|
|
|
-];
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "modify-mark-params",
|
|
name: "modify-mark-params",
|
|
- components: { MarkPaperMarker, MarkPaperStructure },
|
|
|
|
|
|
+ components: {
|
|
|
|
+ MarkParamStructure,
|
|
|
|
+ MarkParamMarker,
|
|
|
|
+ MarkParamMarkerLeader,
|
|
|
|
+ MarkParamObjectiveAnswer,
|
|
|
|
+ MarkParamUploadAnswer,
|
|
|
|
+ },
|
|
props: {
|
|
props: {
|
|
instance: {
|
|
instance: {
|
|
type: Object,
|
|
type: Object,
|
|
@@ -97,22 +64,37 @@ export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
modalIsShow: false,
|
|
modalIsShow: false,
|
|
- infos: {
|
|
|
|
- basicPaperInfo: {},
|
|
|
|
- paperStructureInfo: [],
|
|
|
|
- groupInfo: [],
|
|
|
|
- paperStat: {},
|
|
|
|
- },
|
|
|
|
|
|
+ dataReady: false,
|
|
// step
|
|
// step
|
|
- steps: STEPS_LIST,
|
|
|
|
|
|
+ curTab: "structure",
|
|
|
|
+ tabs: [
|
|
|
|
+ {
|
|
|
|
+ name: "设置试卷结构及分组",
|
|
|
|
+ val: "structure",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "设置评卷员",
|
|
|
|
+ val: "marker",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "设置科组长",
|
|
|
|
+ val: "marker-leader",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "设置客观题标答",
|
|
|
|
+ val: "objective-answer",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "上传标答文件",
|
|
|
|
+ val: "upload-answer",
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
current: 0,
|
|
current: 0,
|
|
- loading: false,
|
|
|
|
- dataReady: false,
|
|
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
currentComponent() {
|
|
currentComponent() {
|
|
- return `mark-paper-${this.steps[this.current].name}`;
|
|
|
|
|
|
+ return `mark-param-${this.tabs[this.current].name}`;
|
|
},
|
|
},
|
|
isFirstStep() {
|
|
isFirstStep() {
|
|
return this.current === 0;
|
|
return this.current === 0;
|
|
@@ -121,54 +103,72 @@ export default {
|
|
return this.current === this.lastStep;
|
|
return this.current === this.lastStep;
|
|
},
|
|
},
|
|
lastStep() {
|
|
lastStep() {
|
|
- return this.steps.length - 1;
|
|
|
|
|
|
+ return this.tabs.length - 1;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- async visibleChange() {
|
|
|
|
- this.current = 0;
|
|
|
|
- this.loading = false;
|
|
|
|
|
|
+ ...mapMutations("markParam", [
|
|
|
|
+ "setMarkParamInfos",
|
|
|
|
+ "setObjectiveStructure",
|
|
|
|
+ "initStore",
|
|
|
|
+ ]),
|
|
|
|
+ async initData() {
|
|
|
|
+ this.initStore();
|
|
|
|
|
|
if (this.instance.paperInfoJson) {
|
|
if (this.instance.paperInfoJson) {
|
|
const { paperStructureInfo, groupInfo, structureCanEdit } = JSON.parse(
|
|
const { paperStructureInfo, groupInfo, structureCanEdit } = JSON.parse(
|
|
this.instance.paperInfoJson
|
|
this.instance.paperInfoJson
|
|
);
|
|
);
|
|
- this.infos = {
|
|
|
|
|
|
+ const infos = {
|
|
structureCanEdit,
|
|
structureCanEdit,
|
|
paperStructureInfo: [
|
|
paperStructureInfo: [
|
|
...paperStructureInfo.objectiveQuestionList,
|
|
...paperStructureInfo.objectiveQuestionList,
|
|
...paperStructureInfo.subjectiveQuestionList,
|
|
...paperStructureInfo.subjectiveQuestionList,
|
|
],
|
|
],
|
|
groupInfo,
|
|
groupInfo,
|
|
- basicPaperInfo: { ...this.instance },
|
|
|
|
|
|
+ basicPaperInfo: this.getBaseInfo(this.instance),
|
|
};
|
|
};
|
|
- this.infos.paperStat = this.statPaperStructure(
|
|
|
|
- this.infos.paperStructureInfo
|
|
|
|
- );
|
|
|
|
- this.dataReady = true;
|
|
|
|
- return;
|
|
|
|
|
|
+ this.setMarkParamInfos(infos);
|
|
|
|
+ } else {
|
|
|
|
+ const detData = await cardDetail(this.instance.cardId);
|
|
|
|
+ const cardContent = JSON.parse(detData.content);
|
|
|
|
+ let infos = {};
|
|
|
|
+ if (
|
|
|
|
+ (detData.type === "GENERIC" && detData.createMethod === "STANDARD") ||
|
|
|
|
+ detData.type === "CUSTOM"
|
|
|
|
+ ) {
|
|
|
|
+ infos.structureCanEdit = false;
|
|
|
|
+ infos.paperStructureInfo = this.parsePaperStructureFromCard(
|
|
|
|
+ cardContent.pages
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ this.setMarkParamInfos(infos);
|
|
}
|
|
}
|
|
|
|
|
|
- const detData = await cardDetail(this.instance.cardId);
|
|
|
|
- const cardContent = JSON.parse(detData.content);
|
|
|
|
- this.infos = {
|
|
|
|
- structureCanEdit: true,
|
|
|
|
- paperStructureInfo: [],
|
|
|
|
- groupInfo: [],
|
|
|
|
- basicPaperInfo: { ...this.instance },
|
|
|
|
- paperStat: this.statPaperStructure([]),
|
|
|
|
- };
|
|
|
|
- if (
|
|
|
|
- (detData.type === "GENERIC" && detData.createMethod === "STANDARD") ||
|
|
|
|
- detData.type === "CUSTOM"
|
|
|
|
- ) {
|
|
|
|
- this.infos.structureCanEdit = false;
|
|
|
|
- this.infos.paperStructureInfo = this.parsePaperStructureFromCard(
|
|
|
|
- cardContent.pages
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
|
|
+ const objectiveStructure = JSON.parse(
|
|
|
|
+ this.instance.objectiveStructure || "[]"
|
|
|
|
+ );
|
|
|
|
+ this.setObjectiveStructure(objectiveStructure);
|
|
|
|
+
|
|
this.dataReady = true;
|
|
this.dataReady = true;
|
|
},
|
|
},
|
|
|
|
+ getBaseInfo(baseInfo) {
|
|
|
|
+ return this.$objAssign(
|
|
|
|
+ {
|
|
|
|
+ examPaperStructureId: baseInfo.id,
|
|
|
|
+ examId: null,
|
|
|
|
+ thirdRelateId: null,
|
|
|
|
+ thirdRelateName: "",
|
|
|
|
+ courseName: "",
|
|
|
|
+ courseCode: "",
|
|
|
|
+ paperNumber: null,
|
|
|
|
+ paperType: "",
|
|
|
|
+ sequence: null,
|
|
|
|
+ status: "",
|
|
|
|
+ },
|
|
|
|
+ baseInfo
|
|
|
|
+ );
|
|
|
|
+ },
|
|
parsePaperStructureFromCard(pages) {
|
|
parsePaperStructureFromCard(pages) {
|
|
let structData = [];
|
|
let structData = [];
|
|
let curTopicId = 0;
|
|
let curTopicId = 0;
|
|
@@ -211,7 +211,7 @@ export default {
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
- console.log(structData);
|
|
|
|
|
|
+ // console.log(structData);
|
|
let structure = [];
|
|
let structure = [];
|
|
let mainIds = {};
|
|
let mainIds = {};
|
|
structData.forEach((struct) => {
|
|
structData.forEach((struct) => {
|
|
@@ -249,65 +249,9 @@ export default {
|
|
});
|
|
});
|
|
return structure;
|
|
return structure;
|
|
},
|
|
},
|
|
- getQuestionType(topic) {
|
|
|
|
- // const questionType = {
|
|
|
|
- // 1: "SINGLE_ANSWER_QUESTION",
|
|
|
|
- // 2: "MULTIPLE_ANSWER_QUESTION",
|
|
|
|
- // 3: "BOOL_ANSWER_QUESTION",
|
|
|
|
- // 4: "FILL_BLANK_QUESTION",
|
|
|
|
- // 5: "TEXT_ANSWER_QUESTION",
|
|
|
|
- // };
|
|
|
|
- if (topic.type === "COMPOSITION" || topic.type === "EXPLAIN") {
|
|
|
|
- return {
|
|
|
|
- type: 5,
|
|
|
|
- typeName: "解答题",
|
|
|
|
- qType: "subjective",
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- if (topic.type === "FILL_LINE") {
|
|
|
|
- return {
|
|
|
|
- type: 4,
|
|
|
|
- typeName: "填空题",
|
|
|
|
- qType: "subjective",
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- if (topic.type === "FILL_QUESTION") {
|
|
|
|
- if (topic.isBoolean)
|
|
|
|
- return {
|
|
|
|
- type: 3,
|
|
|
|
- typeName: "判断题",
|
|
|
|
- qType: "objective",
|
|
|
|
- };
|
|
|
|
- if (topic.isMultiply)
|
|
|
|
- return {
|
|
|
|
- type: 2,
|
|
|
|
- typeName: "多选题",
|
|
|
|
- qType: "objective",
|
|
|
|
- };
|
|
|
|
- return {
|
|
|
|
- type: 1,
|
|
|
|
- typeName: "单选题",
|
|
|
|
- qType: "objective",
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- return;
|
|
|
|
- },
|
|
|
|
- statPaperStructure(paperStructureInfo) {
|
|
|
|
- const questionCount = paperStructureInfo.length;
|
|
|
|
-
|
|
|
|
- const subjectiveQuestionCount = paperStructureInfo.filter(
|
|
|
|
- (item) => item.qType === "subjective"
|
|
|
|
- ).length;
|
|
|
|
-
|
|
|
|
- return {
|
|
|
|
- questionCount,
|
|
|
|
- paperTotalScore: calcSum(
|
|
|
|
- paperStructureInfo.map((item) => item.totalScore || 0)
|
|
|
|
- ),
|
|
|
|
- subjectiveQuestionCount,
|
|
|
|
- objectiveQuestionCount: questionCount - subjectiveQuestionCount,
|
|
|
|
- structChanged: false,
|
|
|
|
- };
|
|
|
|
|
|
+ selectMenu(val) {
|
|
|
|
+ this.curTab = val;
|
|
|
|
+ this.current = this.tabs.findIndex((item) => item.val === val);
|
|
},
|
|
},
|
|
async cancel() {
|
|
async cancel() {
|
|
const res = await this.$confirm("确定要退出阅卷参数编辑吗?", "提示", {
|
|
const res = await this.$confirm("确定要退出阅卷参数编辑吗?", "提示", {
|
|
@@ -316,7 +260,6 @@ export default {
|
|
if (res !== "confirm") return;
|
|
if (res !== "confirm") return;
|
|
|
|
|
|
this.modalIsShow = false;
|
|
this.modalIsShow = false;
|
|
- this.dataReady = false;
|
|
|
|
},
|
|
},
|
|
open() {
|
|
open() {
|
|
this.modalIsShow = true;
|
|
this.modalIsShow = true;
|
|
@@ -330,164 +273,9 @@ export default {
|
|
this.dataReady = false;
|
|
this.dataReady = false;
|
|
done();
|
|
done();
|
|
},
|
|
},
|
|
- prevStep() {
|
|
|
|
- if (this.isFirstStep) return;
|
|
|
|
- this.$refs[this.currentComponent].updateData();
|
|
|
|
- this.current -= 1;
|
|
|
|
- if (this.steps[this.current].name === "structure") {
|
|
|
|
- this.$notify({
|
|
|
|
- title: "警告",
|
|
|
|
- message: "修改试卷结构会清空已经设置的评卷员,需要重新设置!",
|
|
|
|
- type: "warning",
|
|
|
|
- duration: 5000,
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- nextStep() {
|
|
|
|
- this.$refs[this.currentComponent].checkData();
|
|
|
|
- },
|
|
|
|
- toNext() {
|
|
|
|
- if (this.isLastStep) {
|
|
|
|
- this.submit();
|
|
|
|
- } else {
|
|
|
|
- const paperStat = this.infos.paperStat;
|
|
|
|
-
|
|
|
|
- let tipsContent = `本试卷共${paperStat.questionCount}道小题,客观题${paperStat.objectiveQuestionCount}道,主观题${paperStat.subjectiveQuestionCount}道,总分为${paperStat.paperTotalScore}分。`;
|
|
|
|
- if (paperStat.structChanged) {
|
|
|
|
- tipsContent += "试卷结构有变动,评卷员将被清空。";
|
|
|
|
- }
|
|
|
|
- if (paperStat.subjectiveQuestionCount) {
|
|
|
|
- this.$confirm(`${tipsContent}确定要下一步吗?`, "提示", {
|
|
|
|
- type: "warning",
|
|
|
|
- })
|
|
|
|
- .then(() => {
|
|
|
|
- this.current += 1;
|
|
|
|
- })
|
|
|
|
- .catch(() => {});
|
|
|
|
- } else {
|
|
|
|
- // 没有主观题,可以直接提交,不需要设置评卷员分组
|
|
|
|
- this.$confirm(`${tipsContent}, 是否立即提交?`, "提示", {
|
|
|
|
- type: "warning",
|
|
|
|
- })
|
|
|
|
- .then(() => {
|
|
|
|
- this.submit();
|
|
|
|
- })
|
|
|
|
- .catch(() => {});
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- getPaperStructData(paperStructureInfo) {
|
|
|
|
- let originStruct = [];
|
|
|
|
- let group = [];
|
|
|
|
- let curMainId = null;
|
|
|
|
- let curQType = null;
|
|
|
|
- paperStructureInfo.forEach((item) => {
|
|
|
|
- if (curMainId !== item.mainId) {
|
|
|
|
- curMainId = item.mainId;
|
|
|
|
- curQType = item.qType[0];
|
|
|
|
- if (group.length) originStruct.push(`${curQType}${group.length}`);
|
|
|
|
- group = [];
|
|
|
|
- }
|
|
|
|
- group.push(item);
|
|
|
|
- });
|
|
|
|
- if (group.length) originStruct.push(`${curQType}${group.length}`);
|
|
|
|
- return originStruct;
|
|
|
|
- },
|
|
|
|
- dataChange(data) {
|
|
|
|
- if (data.paperStructureInfo) {
|
|
|
|
- data.paperStat = this.statPaperStructure(data.paperStructureInfo);
|
|
|
|
- }
|
|
|
|
- if (data.paperStructureInfo && this.infos.paperStructureInfo.length) {
|
|
|
|
- // 检验试卷结构是否有变化
|
|
|
|
- const originStruct = this.getPaperStructData(
|
|
|
|
- this.infos.paperStructureInfo
|
|
|
|
- );
|
|
|
|
- const curStruct = this.getPaperStructData(data.paperStructureInfo);
|
|
|
|
- if (curStruct.join("") !== originStruct.join("")) {
|
|
|
|
- data.groupInfo = [];
|
|
|
|
- data.paperStat.structChanged = true;
|
|
|
|
- } else {
|
|
|
|
- // 更新分组中的试题信息
|
|
|
|
- const paperMap = {};
|
|
|
|
- data.paperStructureInfo.forEach((item) => {
|
|
|
|
- paperMap[`${item.mainNumber}-${item.subNumber}`] = item;
|
|
|
|
- });
|
|
|
|
- const groupInfo = this.infos.groupInfo.map((group) => {
|
|
|
|
- let ngroup = { ...group };
|
|
|
|
- ngroup.questions = ngroup.questions.map((q) => {
|
|
|
|
- return { ...paperMap[`${q.mainNumber}-${q.subNumber}`] };
|
|
|
|
- });
|
|
|
|
- return ngroup;
|
|
|
|
- });
|
|
|
|
- data.groupInfo = groupInfo;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- Object.entries(data).forEach(([key, val]) => {
|
|
|
|
- this.infos[key] = val;
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- compReady(type = false) {
|
|
|
|
- this.loading = type;
|
|
|
|
- },
|
|
|
|
- getBaseInfo(baseInfo) {
|
|
|
|
- const data = this.$objAssign(
|
|
|
|
- {
|
|
|
|
- examPaperStructureId: null,
|
|
|
|
- examId: null,
|
|
|
|
- thirdRelateId: null,
|
|
|
|
- thirdRelateName: "",
|
|
|
|
- courseName: "",
|
|
|
|
- courseCode: "",
|
|
|
|
- paperNumber: null,
|
|
|
|
- paperType: "",
|
|
|
|
- sequence: null,
|
|
|
|
- status: "",
|
|
|
|
- },
|
|
|
|
- baseInfo
|
|
|
|
- );
|
|
|
|
- data.examPaperStructureId = baseInfo.id;
|
|
|
|
- return data;
|
|
|
|
- },
|
|
|
|
- async submit() {
|
|
|
|
- if (this.loading) return;
|
|
|
|
- const hasGroupNoPic = this.infos.groupInfo.some(
|
|
|
|
- (item) => !item.pictureConfigList.length
|
|
|
|
- );
|
|
|
|
- if (hasGroupNoPic) {
|
|
|
|
- const confirm = await this.$confirm(
|
|
|
|
- `当前评卷员分组中存在没有设置评卷区的分组, 确定要提交吗?`,
|
|
|
|
- "提示",
|
|
|
|
- {
|
|
|
|
- type: "warning",
|
|
|
|
- }
|
|
|
|
- ).catch(() => {});
|
|
|
|
- if (confirm !== "confirm") return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- this.loading = true;
|
|
|
|
- const datas = {
|
|
|
|
- structureCanEdit: this.infos.structureCanEdit,
|
|
|
|
- basicPaperInfo: this.getBaseInfo(this.infos.basicPaperInfo),
|
|
|
|
- paperStructureInfo: {
|
|
|
|
- objectiveQuestionList: this.infos.paperStructureInfo.filter(
|
|
|
|
- (item) => item.qType === "objective"
|
|
|
|
- ),
|
|
|
|
- subjectiveQuestionList: this.infos.paperStructureInfo.filter(
|
|
|
|
- (item) => item.qType === "subjective"
|
|
|
|
- ),
|
|
|
|
- },
|
|
|
|
- groupInfo: this.infos.groupInfo,
|
|
|
|
- };
|
|
|
|
- const res = await examStructureSubmit(datas).catch(() => false);
|
|
|
|
- this.loading = false;
|
|
|
|
-
|
|
|
|
- if (!res) return;
|
|
|
|
-
|
|
|
|
- this.$message.success("提交成功!");
|
|
|
|
- this.$emit("modified");
|
|
|
|
- this.modalIsShow = false;
|
|
|
|
- this.dataReady = false;
|
|
|
|
|
|
+ confirm() {
|
|
|
|
+ if (this.isLastStep) return;
|
|
|
|
+ this.selectMenu(this.tabs[this.current + 1]);
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
};
|