瀏覽代碼

原图下载功能增加“复核人”显示选项;从接口获取给分明细中的header字段

luoshi 5 年之前
父節點
當前提交
adc2c947cd
共有 3 個文件被更改,包括 26 次插入6 次删除
  1. 11 5
      source/lib/image.js
  2. 1 1
      source/view/image-download.html
  3. 14 0
      source/view/image.html

+ 11 - 5
source/lib/image.js

@@ -47,7 +47,7 @@ class executor extends EventEmitter {
         }
         }
     }
     }
 
 
-    async addWatermark(image, file, student, index, showMarker) {
+    async addWatermark(image, file, student, index, showMarker, showHeader) {
         let fontFile = config.watermark.fontFile
         let fontFile = config.watermark.fontFile
         let color = config.watermark.color
         let color = config.watermark.color
         let imgData = gm(image)
         let imgData = gm(image)
@@ -96,6 +96,9 @@ class executor extends EventEmitter {
                 let title = '主观题号 | 分数'
                 let title = '主观题号 | 分数'
                 if (showMarker) {
                 if (showMarker) {
                     title += ' | 评卷员'
                     title += ' | 评卷员'
+                    if (showHeader) {
+                        title += ' | 复核人'
+                    }
                 }
                 }
                 let startY = y
                 let startY = y
                 let width = title.length * fontSize
                 let width = title.length * fontSize
@@ -111,6 +114,9 @@ class executor extends EventEmitter {
                     let content = detail.mainNumber + '-' + detail.subNumber + ' : ' + detail.score
                     let content = detail.mainNumber + '-' + detail.subNumber + ' : ' + detail.score
                     if (showMarker) {
                     if (showMarker) {
                         content = content + ' ' + (detail.marker || detail.markerName || '')
                         content = content + ' ' + (detail.marker || detail.markerName || '')
+                        if (showHeader) {
+                            content = content + ' ' + (detail.header || '')
+                        }
                     }
                     }
                     width = Math.max(width, content.length * fontSize)
                     width = Math.max(width, content.length * fontSize)
                     imgData.drawText(x, y += height, content)
                     imgData.drawText(x, y += height, content)
@@ -148,7 +154,7 @@ class executor extends EventEmitter {
         })
         })
     }
     }
 
 
-    async downloadFile(append, remoteTemplate, localTemplate, data, dir, client, bucket, index, watermark, showMarker) {
+    async downloadFile(append, remoteTemplate, localTemplate, data, dir, client, bucket, index, watermark, showMarker, showHeader) {
         data.index = index
         data.index = index
         let remote = mustache.render(remoteTemplate, data)
         let remote = mustache.render(remoteTemplate, data)
         let local = path.join(dir, mustache.render(localTemplate, data))
         let local = path.join(dir, mustache.render(localTemplate, data))
@@ -181,7 +187,7 @@ class executor extends EventEmitter {
             }
             }
             //是否需要添加分数水印
             //是否需要添加分数水印
             if (watermark) {
             if (watermark) {
-                return this.addWatermark(imgData, local, data, index, showMarker)
+                return this.addWatermark(imgData, local, data, index, showMarker, showHeader)
             } else {
             } else {
                 return new Promise((resolve, reject) => {
                 return new Promise((resolve, reject) => {
                     fs.writeFile(local, imgData, err => {
                     fs.writeFile(local, imgData, err => {
@@ -198,7 +204,7 @@ class executor extends EventEmitter {
         }
         }
     }
     }
 
 
-    async downloadSheet(dir, template, append, failover, watermark, showMarker, params) {
+    async downloadSheet(dir, template, append, failover, watermark, showMarker, showHeader, params) {
         let bucket = env.server.bucketPrefix + '-sheet'
         let bucket = env.server.bucketPrefix + '-sheet'
         let client = upyun(bucket, config.upyun.operator, config.upyun.password)
         let client = upyun(bucket, config.upyun.operator, config.upyun.password)
         if (env.server.upyunDomain && env.server.upyunDomain != '') {
         if (env.server.upyunDomain && env.server.upyunDomain != '') {
@@ -225,7 +231,7 @@ class executor extends EventEmitter {
                     let student = array[i]
                     let student = array[i]
                     student.examId = env.examId
                     student.examId = env.examId
                     for (let i = 1; i <= student.sheetCount; i++) {
                     for (let i = 1; i <= student.sheetCount; i++) {
-                        promises.push(this.downloadFile(append, config.imageUrl.sheet, template, student, dir, client, bucket, i, watermark, showMarker))
+                        promises.push(this.downloadFile(append, config.imageUrl.sheet, template, student, dir, client, bucket, i, watermark, showMarker, showHeader))
                     }
                     }
                     try {
                     try {
                         //等待所有图片下载完毕
                         //等待所有图片下载完毕

+ 1 - 1
source/view/image-download.html

@@ -96,7 +96,7 @@
                 $('#popup').show()
                 $('#popup').show()
             })
             })
             if (config.type == '1') {
             if (config.type == '1') {
-                imageUtil.downloadSheet(config.dir, config.template, config.append, config.failover, config.watermark, config.showMarker, {
+                imageUtil.downloadSheet(config.dir, config.template, config.append, config.failover, config.watermark, config.showMarker, config.showHeader, {
                     examNumberIn: config.examNumber,
                     examNumberIn: config.examNumber,
                     subjectCode: config.subjectCode,
                     subjectCode: config.subjectCode,
                     campusName: config.campusName
                     campusName: config.campusName

+ 14 - 0
source/view/image.html

@@ -82,6 +82,15 @@
                             </div>
                             </div>
                         </td>
                         </td>
                     </tr>
                     </tr>
+                    <tr id="header-select" style="display: none">
+                        <th>显示复核人:</th>
+                        <td>
+                            <div class="input-radio">
+                                <label><input type="radio" name="showHeader" value="1"><span></span><em>是</em></label>
+                                <label><input type="radio" name="showHeader" value="2"><span></span><em>否</em></label>
+                            </div>
+                        </td>
+                    </tr>
                     <tr id="examNumber-select" style="display: none">
                     <tr id="examNumber-select" style="display: none">
                         <th>准考证号:</th>
                         <th>准考证号:</th>
                         <td><input id="examNumber-input" type="text" style="width: 600px" placeholder="多个准考证号用逗号分隔" /></td>
                         <td><input id="examNumber-input" type="text" style="width: 600px" placeholder="多个准考证号用逗号分隔" /></td>
@@ -136,6 +145,7 @@
                     $('#message-tr').show()
                     $('#message-tr').show()
                     $('#watermark-select').show()
                     $('#watermark-select').show()
                     $('#marker-select').show()
                     $('#marker-select').show()
+                    $('#header-select').show()
                     $('#examNumber-select').show()
                     $('#examNumber-select').show()
                     $('#subjectCode-select').show()
                     $('#subjectCode-select').show()
                     $('#campusName-select').show()
                     $('#campusName-select').show()
@@ -144,6 +154,7 @@
                     $('#message-tr').show()
                     $('#message-tr').show()
                     $('#watermark-select').hide()
                     $('#watermark-select').hide()
                     $('#marker-select').hide()
                     $('#marker-select').hide()
+                    $('#header-select').hide()
                     $('#examNumber-select').hide()
                     $('#examNumber-select').hide()
                     $('#subjectCode-select').hide()
                     $('#subjectCode-select').hide()
                     $('#campusName-select').hide()
                     $('#campusName-select').hide()
@@ -151,6 +162,7 @@
                     $('#message-tr').hide()
                     $('#message-tr').hide()
                     $('#watermark-select').hide()
                     $('#watermark-select').hide()
                     $('#marker-select').hide()
                     $('#marker-select').hide()
+                    $('#header-select').hide()
                     $('#examNumber-select').hide()
                     $('#examNumber-select').hide()
                     $('#subjectCode-select').hide()
                     $('#subjectCode-select').hide()
                     $('#campusName-select').hide()
                     $('#campusName-select').hide()
@@ -174,6 +186,7 @@
                 let exceptionHandle = $('input:radio[name="exception"]:checked').val()
                 let exceptionHandle = $('input:radio[name="exception"]:checked').val()
                 let watermark = $('input:radio[name="watermark"]:checked').val()
                 let watermark = $('input:radio[name="watermark"]:checked').val()
                 let showMarker = $('input:radio[name="showMarker"]:checked').val()
                 let showMarker = $('input:radio[name="showMarker"]:checked').val()
+                let showHeader = $('input:radio[name="showHeader"]:checked').val()
                 let examNumber = $('#examNumber-input').val()
                 let examNumber = $('#examNumber-input').val()
                 let subjectCode = $('#subjectCode-input').val()
                 let subjectCode = $('#subjectCode-input').val()
                 let campusName = $('#campusName-input').val()
                 let campusName = $('#campusName-input').val()
@@ -215,6 +228,7 @@
                     failover: exceptionHandle == '1',
                     failover: exceptionHandle == '1',
                     watermark: watermark == '1',
                     watermark: watermark == '1',
                     showMarker: showMarker == '1',
                     showMarker: showMarker == '1',
+                    showHeader: showHeader == '1',
                     examNumber: examNumber,
                     examNumber: examNumber,
                     subjectCode: subjectCode,
                     subjectCode: subjectCode,
                     campusName: campusName
                     campusName: campusName