|
@@ -362,6 +362,11 @@ export default function useDraw(drawConfig: DrawConfig) {
|
|
|
drawTrackList,
|
|
|
};
|
|
|
}
|
|
|
+
|
|
|
+ if (!cardData.length) {
|
|
|
+ const summarys = parseMode4Data(originImgs[0]);
|
|
|
+ trackData[0].drawTrackList.push(...summarys);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
async function drawTask(): Promise<ImageItem[]> {
|
|
@@ -949,6 +954,42 @@ export default function useDraw(drawConfig: DrawConfig) {
|
|
|
}
|
|
|
// objective answer tag ----- end->
|
|
|
|
|
|
+ // mode4 data
|
|
|
+ function parseMode4Data(img: ImageItem): DrawTrackItem[] {
|
|
|
+ const dataList: DrawTrackItem[] = [];
|
|
|
+ const sources: string[][] = [['主观题号', '分数', '评卷员']];
|
|
|
+
|
|
|
+ (rawTask.questionList || []).forEach((q) => {
|
|
|
+ sources.push([
|
|
|
+ `${q.mainNumber}-${q.subNumber}`,
|
|
|
+ `${q.score}`,
|
|
|
+ q.trackList[0]?.userName,
|
|
|
+ ]);
|
|
|
+ });
|
|
|
+
|
|
|
+ const rowX = img.width * 0.05;
|
|
|
+ const rowY = img.height * 0.11;
|
|
|
+ // const rowW = img.width * 0.45;
|
|
|
+ const columnOffsetLeft = [0, 150, 80 + 150];
|
|
|
+
|
|
|
+ sources.forEach((source, sindex) => {
|
|
|
+ source.forEach((cont, cindex) => {
|
|
|
+ dataList.push({
|
|
|
+ type: 'text',
|
|
|
+ option: {
|
|
|
+ x: rowX + columnOffsetLeft[cindex],
|
|
|
+ y: rowY + sindex * trackInfoLineHeight,
|
|
|
+ text: cont,
|
|
|
+ color: 'red',
|
|
|
+ fontSize: trackInfoFontSize,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ return dataList;
|
|
|
+ }
|
|
|
+
|
|
|
return {
|
|
|
runTask,
|
|
|
};
|