Explorar el Código

feat: 印品管理调整

zhangjie hace 3 meses
padre
commit
ac5d1cfa7f

+ 51 - 21
src/modules/base/components/ModifyPrintTemplate.vue

@@ -61,15 +61,15 @@
         </el-form-item>
         <el-form-item label="显示字段:" prop="fields">
           <el-checkbox
-            v-for="field in signDatas.basic"
-            :key="field.code"
+            v-for="(field, findex) in signDatas.basic"
+            :key="`${field.code}01${findex}`"
             v-model="field.enable"
             >{{ field.name }}</el-checkbox
           >
           <el-divider></el-divider>
           <el-checkbox
-            v-for="field in signDatas.table"
-            :key="field.code"
+            v-for="(field, findex) in signDatas.table"
+            :key="`${field.code}02${findex}`"
             v-model="field.enable"
             :disabled="field.code === 'studentSign'"
             @change="signFieldChange"
@@ -119,6 +119,16 @@
             <el-radio label="LARGE">大</el-radio>
           </el-radio-group>
         </el-form-item>
+        <el-form-item
+          label="是否转A3:"
+          prop="convertA3"
+          style="margin-bottom: 0"
+        >
+          <el-radio-group v-model="modalForm.convertA3">
+            <el-radio :label="false">否</el-radio>
+            <el-radio :label="true">是</el-radio>
+          </el-radio-group>
+        </el-form-item>
         <el-form-item label="信息宽度设置:" prop="fieldWidth">
           <el-table :data="signTableDatas" border>
             <el-table-column prop="name" label="列名"></el-table-column>
@@ -138,25 +148,44 @@
           </el-table>
         </el-form-item>
       </template>
-      <el-form-item
-        v-else-if="modalForm.classify === 'PACKAGE'"
-        label="显示字段:"
-        prop="fields"
-      >
-        <el-checkbox
-          v-for="field in packageDatas.title"
-          :key="field.code"
-          v-model="field.enable"
-          >{{ field.name }}</el-checkbox
+      <template v-else-if="modalForm.classify === 'PACKAGE'">
+        <el-form-item label="显示字段:" prop="fields">
+          <el-checkbox
+            v-for="(field, findex) in packageDatas.title"
+            :key="`${field.code}01${findex}`"
+            v-model="field.enable"
+            >{{ field.name }}</el-checkbox
+          >
+          <el-divider></el-divider>
+          <el-checkbox
+            v-for="(field, findex) in packageDatas.basic"
+            :key="`${field.code}02${findex}`"
+            v-model="field.enable"
+            >{{ field.name }}</el-checkbox
+          >
+        </el-form-item>
+        <el-divider content-position="left">卷袋贴页面设置</el-divider>
+        <el-form-item
+          label="是否增加空白页:"
+          prop="addBlankPage"
+          style="margin-bottom: 0"
         >
-        <el-divider></el-divider>
-        <el-checkbox
-          v-for="field in packageDatas.basic"
-          :key="field.code"
-          v-model="field.enable"
-          >{{ field.name }}</el-checkbox
+          <el-radio-group v-model="modalForm.addBlankPage">
+            <el-radio :label="false">否</el-radio>
+            <el-radio :label="true">是</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item
+          label="是否转A3:"
+          prop="convertA3"
+          style="margin-bottom: 0"
         >
-      </el-form-item>
+          <el-radio-group v-model="modalForm.convertA3">
+            <el-radio :label="false">否</el-radio>
+            <el-radio :label="true">是</el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </template>
       <el-form-item
         v-else-if="modalForm.classify === 'CHECK_IN'"
         prop="attachmentId"
@@ -200,6 +229,7 @@ const initModalForm = {
   textDesc: "",
   attachmentId: "",
   fontSize: "SMALL",
+  convertA3: false,
 };
 
 export default {

+ 5 - 0
src/modules/mark/api.js

@@ -193,6 +193,11 @@ export const scoreDetailListExport = (datas) => {
     responseType: "blob",
   });
 };
+export const scoreDetailHistoryExport = (datas) => {
+  return $postParam("/api/admin/mark/archive/score/history/export", datas, {
+    responseType: "blob",
+  });
+};
 
 // score manage --------->
 export const scoreListPage = (datas) => {

+ 25 - 0
src/modules/mark/components/ScoreCheckDetail.vue

@@ -208,6 +208,14 @@
         </el-form-item>
       </el-form>
       <div class="part-box-action">
+        <el-button
+          v-if="checkPrivilege('button', 'ExportScoreHistory')"
+          class="mr-2"
+          type="primary"
+          :loading="loading"
+          @click="toExportScoreHistory"
+          >复核记录导出</el-button
+        >
         <el-button
           class="mr-2"
           type="primary"
@@ -421,6 +429,7 @@ import {
   scoreDetailListPage,
   objectiveScoreCalculate,
   scoreDetailListExport,
+  scoreDetailHistoryExport,
 } from "../api";
 import SimpleImagePreview from "@/components/SimpleImagePreview";
 import markMinxin from "../markMinxin";
@@ -591,6 +600,22 @@ export default {
       this.$message.success("操作成功!");
       this.getList();
     },
+    async toExportScoreHistory() {
+      if (this.downloading) return;
+      this.downloading = true;
+      const res = await downloadByApi(() => {
+        return scoreDetailHistoryExport({
+          ...this.searchfilter,
+          examId: this.instance.examId,
+          paperNumber: this.instance.paperNumber,
+        });
+      }).catch((e) => {
+        this.$message.error(e || "导出失败,请重新尝试!");
+      });
+      this.downloading = false;
+      if (!res) return;
+      this.$message.success("导出成功!");
+    },
     async toExportScore() {
       if (this.downloading) return;
       this.downloading = true;