瀏覽代碼

feat: 模式4首页汇总信息

zhangjie 7 月之前
父節點
當前提交
d44bd73ab6
共有 3 個文件被更改,包括 55 次插入1 次删除
  1. 13 0
      CHANGE.md
  2. 1 1
      package.json
  3. 41 0
      src/views/base/track-export/useDraw.ts

+ 13 - 0
CHANGE.md

@@ -0,0 +1,13 @@
+## 1.0.3
+
+- 适用范围:知学知考 3.4.2
+- 模式四:首页汇总信息
+- 普通模式:答题块区域显示汇总信息
+
+## 1.0.2
+
+- 适用范围:知学知考 3.4.1,3.4.0
+
+## 1.0.1
+
+- 适用范围:知学知考 3.3.[*]

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "teachcloud-mark-tool",
   "description": "teachcloud mark tool",
-  "version": "1.0.2",
+  "version": "1.0.3",
   "main": "./out/main/index.js",
   "author": "chulinice",
   "license": "MIT",

+ 41 - 0
src/views/base/track-export/useDraw.ts

@@ -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,
   };