|
@@ -295,7 +295,8 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- questionInfo.subQuestions.forEach((sq) => {
|
|
|
|
|
|
+ questionInfo.subQuestions.forEach((sq, sqindex) => {
|
|
|
|
+ sq.subNumber = sqindex + 1;
|
|
if (isMatches) sq.quesOptions = []; // 选词填空、段落匹配小题中不展示选项
|
|
if (isMatches) sq.quesOptions = []; // 选词填空、段落匹配小题中不展示选项
|
|
const contents = this.parseSimpleQuestion(sq, false);
|
|
const contents = this.parseSimpleQuestion(sq, false);
|
|
renderStructList.push(...contents);
|
|
renderStructList.push(...contents);
|
|
@@ -419,8 +420,9 @@ export default {
|
|
},
|
|
},
|
|
buildPrePages() {
|
|
buildPrePages() {
|
|
let pages = deepCopy(this.paperTempJson.pages);
|
|
let pages = deepCopy(this.paperTempJson.pages);
|
|
- pages[0].columns[0].texts = [];
|
|
|
|
- pages[0].columns[0].texts.push(...this.renderStructList);
|
|
|
|
|
|
+ const firstPageNo = pages.findIndex((p) => p.pageType !== "cover");
|
|
|
|
+ pages[firstPageNo].columns[0].texts = [];
|
|
|
|
+ pages[firstPageNo].columns[0].texts.push(...this.renderStructList);
|
|
this.pages = pages;
|
|
this.pages = pages;
|
|
},
|
|
},
|
|
buildReleasePages() {
|
|
buildReleasePages() {
|
|
@@ -557,11 +559,26 @@ export default {
|
|
pages.push(curPage);
|
|
pages.push(curPage);
|
|
curPage = null;
|
|
curPage = null;
|
|
}
|
|
}
|
|
- // todo:保证试卷偶数页输出(待需求)
|
|
|
|
|
|
+ // 正文部分保证偶数页
|
|
|
|
+ if (pages.length % 2) {
|
|
|
|
+ pages.push(this.getNewPageModel(pages.length));
|
|
|
|
+ }
|
|
|
|
|
|
if (this.paperTempJson.pageConfig.showCover) {
|
|
if (this.paperTempJson.pageConfig.showCover) {
|
|
- let coverPage = deepCopy(this.paperTempJson.pages[0]);
|
|
|
|
- pages.unshift(coverPage);
|
|
|
|
|
|
+ // 封面自动插入反面空白页
|
|
|
|
+ let coverPages = deepCopy(
|
|
|
|
+ this.paperTempJson.pages.filter((p) => p.pageType === "cover")
|
|
|
|
+ );
|
|
|
|
+ let coverBackPage = deepCopy(coverPages[0]);
|
|
|
|
+ coverBackPage.columns.forEach((column) => {
|
|
|
|
+ column.elements = [];
|
|
|
|
+ });
|
|
|
|
+ let nCoverPages = [];
|
|
|
|
+ coverPages.forEach((cpage) => {
|
|
|
|
+ nCoverPages.push(cpage);
|
|
|
|
+ nCoverPages.push(coverBackPage);
|
|
|
|
+ });
|
|
|
|
+ pages = [...nCoverPages, ...pages];
|
|
}
|
|
}
|
|
|
|
|
|
this.pages = pages;
|
|
this.pages = pages;
|
|
@@ -570,13 +587,7 @@ export default {
|
|
let contentPages = this.paperTempJson.pages.slice(-2);
|
|
let contentPages = this.paperTempJson.pages.slice(-2);
|
|
let pNo = pageNo % 2;
|
|
let pNo = pageNo % 2;
|
|
const pageTemp = contentPages[pNo];
|
|
const pageTemp = contentPages[pNo];
|
|
- let newPage = getPageModel({
|
|
|
|
- pageSize: pageTemp.pageSize,
|
|
|
|
- columnNumber: pageTemp.columnNumber,
|
|
|
|
- columnGap: pageTemp.columnGap,
|
|
|
|
- showPageNo: pageTemp.showPageNo,
|
|
|
|
- showSide: pageTemp.showSide,
|
|
|
|
- });
|
|
|
|
|
|
+ let newPage = getPageModel(this.paperTempJson.pageConfig);
|
|
newPage.sides = pageTemp.sides.map((elem) => {
|
|
newPage.sides = pageTemp.sides.map((elem) => {
|
|
let nelem = deepCopy(elem);
|
|
let nelem = deepCopy(elem);
|
|
nelem.id = getElementId();
|
|
nelem.id = getElementId();
|