Browse Source

feat: 页面调整

zhangjie 10 months ago
parent
commit
a90a537a61

+ 1 - 3
src/modules/base/api.js

@@ -157,9 +157,7 @@ export const updateStudent = (datas) => {
 export const studentCascadeQuery = (datas) => {
   return $postParam("/api/admin/common/basic_student/condition", datas);
 };
-export const buildStudentPdf = () => {
-  return $postParam("/api/admin/exam/student/pdf/generate", {});
-};
+
 export const exportStudentTemplate = () => {
   return $post(
     "/api/admin/exam/student/download_template",

+ 6 - 1
src/modules/base/views/FileTypeManage.vue

@@ -3,7 +3,12 @@
     <div class="part-box part-box-pad box-justify">
       <p></p>
       <div>
-        <el-button type="primary" @click="toAdd">新增文件类型</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-circle-plus-outline"
+          @click="toAdd"
+          >新增文件类型</el-button
+        >
       </div>
     </div>
     <div class="part-box part-box-pad">

+ 2 - 1
src/modules/base/views/OrganizationManage.vue

@@ -11,7 +11,7 @@
         >
         <upload-button
           v-if="checkPrivilege('button', 'import')"
-          btn-icon="el-icon-circle-plus-outline"
+          btn-icon="el-icon-upload"
           btn-content="导入组织架构"
           btn-type="success"
           :upload-url="uploadUrl"
@@ -24,6 +24,7 @@
         <el-button
           v-if="checkPrivilege('button', 'import')"
           type="primary"
+          icon="el-icon-s-order"
           @click="viewResult"
           >导入结果</el-button
         >

+ 5 - 29
src/modules/base/views/StudentManage.vue

@@ -25,22 +25,7 @@
         </el-form-item>
       </el-form>
       <div class="box-justify" style="padding-bottom: 15px">
-        <div>
-          <el-button
-            v-if="checkPrivilege('button', 'import')"
-            type="primary"
-            icon="el-icon-s-order"
-            @click="toDataTask('EXAM_STUDENT_IMPORT')"
-            >导入结果</el-button
-          >
-          <el-button
-            v-if="checkPrivilege('button', 'import')"
-            type="primary"
-            icon="el-icon-s-order"
-            @click="toDataTask('EXAM_STUDENT_IMPORT')"
-            >pdf生成结果</el-button
-          >
-        </div>
+        <div></div>
         <div>
           <el-button
             v-if="checkPrivilege('button', 'BatchDelete')"
@@ -59,9 +44,9 @@
           <el-button
             v-if="checkPrivilege('button', 'import')"
             type="primary"
-            icon="el-icon-document"
-            @click="toBuildPdf"
-            >生成PDF</el-button
+            icon="el-icon-s-order"
+            @click="toDataTask('EXAM_STUDENT_IMPORT')"
+            >导入结果</el-button
           >
           <el-button
             v-if="checkPrivilege('button', 'add')"
@@ -213,12 +198,7 @@
 </template>
 
 <script>
-import {
-  studentListQuery,
-  deleteStudent,
-  buildStudentPdf,
-  exportStudentTemplate,
-} from "../api";
+import { studentListQuery, deleteStudent, exportStudentTemplate } from "../api";
 import ModifyStudent from "../components/ModifyStudent.vue";
 import ImportFile from "../../../components/ImportFile.vue";
 import DataTaskDialog from "../components/DataTaskDialog.vue";
@@ -313,10 +293,6 @@ export default {
         })
         .catch(() => {});
     },
-    async toBuildPdf() {
-      await buildStudentPdf();
-      this.$message.success("任务已经提交,后台正在生成pdf!");
-    },
     toDataTask(taskType) {
       this.taskType = taskType;
       this.$refs.DataTaskDialog.open();

+ 3 - 1
src/modules/base/views/SystemSetting.vue

@@ -47,7 +47,9 @@
           <el-button type="primary" :disabled="isSubmit" @click="submit"
             >确认</el-button
           >
-          <el-button type="primary" @click="freshCache">刷新缓存</el-button>
+          <el-button type="primary" icon="el-icon-refresh" @click="freshCache"
+            >刷新缓存</el-button
+          >
         </el-form-item>
       </el-form>
     </div>

+ 1 - 0
src/modules/base/views/UserManage.vue

@@ -47,6 +47,7 @@
           <el-button
             v-if="checkPrivilege('button', 'export')"
             type="primary"
+            icon="el-icon-s-order"
             @click="viewResult"
             >导入结果</el-button
           >

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

@@ -116,6 +116,11 @@ export const updateDocumentImageRotate = (datas) => {
 export const deleteDocumentImage = (datas) => {
   return $postParam("/api/admin/paper/document/other_detail", datas);
 };
+export const buildStudentPdf = (studentIds) => {
+  return $postParam("/api/admin/exam/student/pdf/generate", {
+    ids: studentIds.join(),
+  });
+};
 
 // picture manage
 export const pictureListPage = (datas) => {

+ 47 - 13
src/modules/record/components/DocumentDetailDialog.vue

@@ -138,12 +138,28 @@
           <el-form-item>
             <el-button
               type="success"
-              icon="el-icon-upload"
-              :loading="loading"
+              icon="el-icon-document"
+              @click="toBuildPdf"
+              >生成PDF</el-button
+            >
+            <el-button
+              type="success"
+              icon="el-icon-s-order"
+              @click="toDataTask('PDF_BUILD')"
+              >PDF生成结果</el-button
+            >
+            <el-button
+              type="primary"
+              icon="el-icon-download"
               @click="toDownload"
               >批量下载</el-button
             >
-            <el-button type="success" @click="viewResult">下载结果</el-button>
+            <el-button
+              type="primary"
+              icon="el-icon-s-order"
+              @click="toDataTask('PAPER_DOWNLOAD')"
+              >下载结果</el-button
+            >
           </el-form-item>
         </el-form>
       </div>
@@ -165,7 +181,11 @@
             label="学号"
             width="120"
           ></el-table-column>
-          <el-table-column prop="courseCodeName" label="课程名称(代码)">
+          <el-table-column
+            prop="courseCodeName"
+            label="课程名称(代码)"
+            min-width="280"
+          >
             <template slot-scope="scope">
               {{ scope.row.courseName }}({{ scope.row.courseCode }})
             </template>
@@ -220,13 +240,17 @@
     <!-- DataTaskDialog -->
     <data-task-dialog
       ref="DataTaskDialog"
-      task-type="PAPER_DOWNLOAD"
+      :task-type="taskType"
     ></data-task-dialog>
   </div>
 </template>
 
 <script>
-import { documentDetialListPage, documentDetialDownload } from "../api";
+import {
+  documentDetialListPage,
+  documentDetialDownload,
+  buildStudentPdf,
+} from "../api";
 import { BOUND_TYPE } from "@/constants/enumerate";
 import ArchivesDetailStudentDialog from "./ArchivesDetailStudentDialog.vue";
 import DataTaskDialog from "../../base/components/DataTaskDialog.vue";
@@ -268,6 +292,7 @@ export default {
       multipleSelection: [],
       BOUND_TYPE,
       loading: false,
+      taskType: "",
     };
   },
   methods: {
@@ -300,15 +325,23 @@ export default {
       this.multipleSelection = val.map((item) => item.studentId);
     },
     async toDownload() {
-      if (this.loading) return;
-      this.loading = true;
+      if (!this.multipleSelection.length) {
+        this.$message.error("请选择记录");
+        return;
+      }
 
-      const res = await documentDetialDownload(this.filter).catch(() => {});
-      this.loading = false;
-
-      if (!res) return;
+      await documentDetialDownload(this.multipleSelection);
       this.$message.success("任务提交成功,结果请在下载结果中查看!");
     },
+    async toBuildPdf() {
+      if (!this.multipleSelection.length) {
+        this.$message.error("请选择记录");
+        return;
+      }
+
+      await buildStudentPdf(this.multipleSelection);
+      this.$message.success("任务提交成功,结果请在PDF生成结果中查看!");
+    },
     toDetail(row) {
       if (!row.bindCount) return;
 
@@ -319,7 +352,8 @@ export default {
       };
       this.$refs.ArchivesDetailStudentDialog.open();
     },
-    viewResult() {
+    toDataTask(taskType) {
+      this.taskType = taskType;
       this.$refs.DataTaskDialog.open();
     },
   },

+ 1 - 1
src/modules/record/views/DocumentManage.vue

@@ -35,7 +35,7 @@
         </span>
       </div>
       <div>
-        <el-button type="primary">导出数据</el-button>
+        <el-button type="primary" icon="el-icon-download">导出数据</el-button>
       </div>
     </div>
 

+ 1 - 1
src/modules/record/views/PictureManage.vue

@@ -129,7 +129,7 @@
         <el-form-item>
           <el-button
             type="success"
-            icon="el-icon-upload"
+            icon="el-icon-download"
             :loading="loading"
             :disabled="!multipleSelection.length"
             @click="toDownload"