|
@@ -33,6 +33,7 @@
|
|
ref="PaperTemplateView"
|
|
ref="PaperTemplateView"
|
|
class="preview-body"
|
|
class="preview-body"
|
|
:pages="pages"
|
|
:pages="pages"
|
|
|
|
+ :page-config="paperTempJson.pageConfig"
|
|
></paper-template-view>
|
|
></paper-template-view>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -77,13 +78,17 @@ export default {
|
|
renderStructList: [],
|
|
renderStructList: [],
|
|
pages: [],
|
|
pages: [],
|
|
paperJson: {},
|
|
paperJson: {},
|
|
- paperTempJson: [],
|
|
|
|
|
|
+ paperTempJson: {
|
|
|
|
+ pages: [],
|
|
|
|
+ pageConfig: {},
|
|
|
|
+ },
|
|
maxColumnWidth: 200,
|
|
maxColumnWidth: 200,
|
|
maxColumnHeight: 200,
|
|
maxColumnHeight: 200,
|
|
paperTempList: [],
|
|
paperTempList: [],
|
|
curPaperTemp: {},
|
|
curPaperTemp: {},
|
|
downloading: false,
|
|
downloading: false,
|
|
fieldData: {},
|
|
fieldData: {},
|
|
|
|
+ paperStructs: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -109,7 +114,7 @@ export default {
|
|
|
|
|
|
let paperTempJson = this.curPaperTemp.content
|
|
let paperTempJson = this.curPaperTemp.content
|
|
? JSON.parse(this.curPaperTemp.content)
|
|
? JSON.parse(this.curPaperTemp.content)
|
|
- : { pages: [] };
|
|
|
|
|
|
+ : { pages: [], pageConfig: {} };
|
|
this.paperTempJson = paperTempJson;
|
|
this.paperTempJson = paperTempJson;
|
|
this.pages = paperTempJson.pages;
|
|
this.pages = paperTempJson.pages;
|
|
this.updaterFieldInfo();
|
|
this.updaterFieldInfo();
|
|
@@ -184,6 +189,13 @@ export default {
|
|
totalScore: res.data.totalScore,
|
|
totalScore: res.data.totalScore,
|
|
rootOrgName: res.data.rootOrgName,
|
|
rootOrgName: res.data.rootOrgName,
|
|
};
|
|
};
|
|
|
|
+ this.paperStructs = this.paperJson.paperDetails.map((detail) => {
|
|
|
|
+ return {
|
|
|
|
+ detailName: detail.name,
|
|
|
|
+ questionCount: detail.unitCount,
|
|
|
|
+ totalScore: detail.score,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
},
|
|
},
|
|
async seqModeChange() {
|
|
async seqModeChange() {
|
|
await this.getPaperJson();
|
|
await this.getPaperJson();
|
|
@@ -200,7 +212,7 @@ export default {
|
|
this.curPaperTemp = paperTemp;
|
|
this.curPaperTemp = paperTemp;
|
|
let paperTempJson = paperTemp.content
|
|
let paperTempJson = paperTemp.content
|
|
? JSON.parse(paperTemp.content)
|
|
? JSON.parse(paperTemp.content)
|
|
- : { pages: [] };
|
|
|
|
|
|
+ : { pages: [], pageConfig: {} };
|
|
this.paperTempJson = paperTempJson;
|
|
this.paperTempJson = paperTempJson;
|
|
this.pages = paperTempJson.pages;
|
|
this.pages = paperTempJson.pages;
|
|
this.updaterFieldInfo();
|
|
this.updaterFieldInfo();
|
|
@@ -214,6 +226,10 @@ export default {
|
|
this.paperTempJson.pages.forEach((page) => {
|
|
this.paperTempJson.pages.forEach((page) => {
|
|
page.columns.forEach((column) => {
|
|
page.columns.forEach((column) => {
|
|
column.elements.forEach((elem) => {
|
|
column.elements.forEach((elem) => {
|
|
|
|
+ if (elem.type === "PAPER_STRUCT") {
|
|
|
|
+ elem.structs = this.paperStructs;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!elem.elements || !elem.elements.length) return;
|
|
if (!elem.elements || !elem.elements.length) return;
|
|
|
|
|
|
elem.elements.forEach((element) => {
|
|
elem.elements.forEach((element) => {
|
|
@@ -407,7 +423,6 @@ export default {
|
|
pages[0].columns[0].texts.push(...this.renderStructList);
|
|
pages[0].columns[0].texts.push(...this.renderStructList);
|
|
this.pages = pages;
|
|
this.pages = pages;
|
|
},
|
|
},
|
|
-
|
|
|
|
buildReleasePages() {
|
|
buildReleasePages() {
|
|
this.resetRenderStructSize();
|
|
this.resetRenderStructSize();
|
|
this.buildPageAutoPage();
|
|
this.buildPageAutoPage();
|
|
@@ -542,12 +557,19 @@ export default {
|
|
pages.push(curPage);
|
|
pages.push(curPage);
|
|
curPage = null;
|
|
curPage = null;
|
|
}
|
|
}
|
|
|
|
+ // todo:保证试卷偶数页输出(待需求)
|
|
|
|
+
|
|
|
|
+ if (this.paperTempJson.pageConfig.showCover) {
|
|
|
|
+ let coverPage = deepCopy(this.paperTempJson.pages[0]);
|
|
|
|
+ pages.unshift(coverPage);
|
|
|
|
+ }
|
|
|
|
|
|
this.pages = pages;
|
|
this.pages = pages;
|
|
},
|
|
},
|
|
getNewPageModel(pageNo) {
|
|
getNewPageModel(pageNo) {
|
|
|
|
+ let contentPages = this.paperTempJson.pages.slice(-2);
|
|
let pNo = pageNo % 2;
|
|
let pNo = pageNo % 2;
|
|
- const pageTemp = this.paperTempJson.pages[pNo];
|
|
|
|
|
|
+ const pageTemp = contentPages[pNo];
|
|
let newPage = getPageModel({
|
|
let newPage = getPageModel({
|
|
pageSize: pageTemp.pageSize,
|
|
pageSize: pageTemp.pageSize,
|
|
columnNumber: pageTemp.columnNumber,
|
|
columnNumber: pageTemp.columnNumber,
|