Selaa lähdekoodia

考试中心UI调整

zhangjie 3 vuotta sitten
vanhempi
commit
ad2826e339
80 muutettua tiedostoa jossa 648 lisäystä ja 877 poistoa
  1. BIN
      src/assets/images/icon-analyze-gray.png
  2. BIN
      src/assets/images/icon-analyze.png
  3. BIN
      src/assets/images/icon-arrow-right-act.png
  4. BIN
      src/assets/images/icon-arrow-right.png
  5. BIN
      src/assets/images/icon-base-gray.png
  6. BIN
      src/assets/images/icon-book.png
  7. BIN
      src/assets/images/icon-checked.png
  8. BIN
      src/assets/images/icon-circle-caret-right.png
  9. BIN
      src/assets/images/icon-circle-lock.png
  10. BIN
      src/assets/images/icon-circle-right.png
  11. BIN
      src/assets/images/icon-circle-share.png
  12. BIN
      src/assets/images/icon-circle-stop.png
  13. BIN
      src/assets/images/icon-confirm.png
  14. BIN
      src/assets/images/icon-copy.png
  15. BIN
      src/assets/images/icon-delete.png
  16. BIN
      src/assets/images/icon-download-act.png
  17. BIN
      src/assets/images/icon-edit.png
  18. BIN
      src/assets/images/icon-exam-gray.png
  19. BIN
      src/assets/images/icon-home.png
  20. BIN
      src/assets/images/icon-lock.png
  21. BIN
      src/assets/images/icon-logout.png
  22. BIN
      src/assets/images/icon-modify.png
  23. BIN
      src/assets/images/icon-plus-act.png
  24. BIN
      src/assets/images/icon-plus.png
  25. BIN
      src/assets/images/icon-radio-checked.png
  26. BIN
      src/assets/images/icon-radio-uncheck.png
  27. BIN
      src/assets/images/icon-role.png
  28. BIN
      src/assets/images/icon-score-paper-gray.png
  29. BIN
      src/assets/images/icon-score-paper.png
  30. BIN
      src/assets/images/icon-share-gray.png
  31. BIN
      src/assets/images/icon-share.png
  32. BIN
      src/assets/images/icon-uncheck.png
  33. BIN
      src/assets/images/icon-upload-act.png
  34. BIN
      src/assets/images/icon-upload.png
  35. BIN
      src/assets/images/icon-user.png
  36. 17 50
      src/assets/styles/adaptive.scss
  37. 1 1
      src/assets/styles/base.scss
  38. 27 21
      src/assets/styles/element-ui-costom.scss
  39. 18 18
      src/assets/styles/home.scss
  40. 32 141
      src/assets/styles/icons.scss
  41. 5 11
      src/assets/styles/pages.scss
  42. 3 3
      src/constants/navs.js
  43. 0 2
      src/modules/admin/views/Admin.vue
  44. 0 2
      src/modules/admin/views/AdminUserManage.vue
  45. 0 2
      src/modules/admin/views/PrivilegeManage.vue
  46. 0 2
      src/modules/base/views/ApproveRecordManage.vue
  47. 0 2
      src/modules/base/views/CampusManage.vue
  48. 0 2
      src/modules/base/views/CardRuleManage.vue
  49. 0 2
      src/modules/base/views/CourseManage.vue
  50. 0 4
      src/modules/base/views/FlowManage.vue
  51. 0 2
      src/modules/base/views/OrganizationManage.vue
  52. 0 4
      src/modules/base/views/PrintPlanPushManage.vue
  53. 0 4
      src/modules/base/views/RoleManage.vue
  54. 0 2
      src/modules/base/views/StudentManage.vue
  55. 0 2
      src/modules/base/views/TemplateManage.vue
  56. 0 2
      src/modules/base/views/UserManage.vue
  57. 2 2
      src/modules/exam/api.js
  58. 3 2
      src/modules/exam/components/ApplyAuditHistory.vue
  59. 212 218
      src/modules/exam/components/ApplyContent.vue
  60. 80 84
      src/modules/exam/components/BatchAddExamTask.vue
  61. 2 2
      src/modules/exam/components/CardOptionDialog.vue
  62. 16 19
      src/modules/exam/components/CreateTaskApply.vue
  63. 71 73
      src/modules/exam/components/ModifyExamTask.vue
  64. 1 3
      src/modules/exam/components/ModifyTaskApply.vue
  65. 0 2
      src/modules/exam/components/ModifyTaskPaper.vue
  66. 0 2
      src/modules/exam/components/PublishPrintTask.vue
  67. 4 8
      src/modules/exam/views/DataTaskManage.vue
  68. 0 2
      src/modules/exam/views/ExamTaskManage.vue
  69. 4 3
      src/modules/exam/views/TaskApplyManage.vue
  70. 0 2
      src/modules/exam/views/TaskPaperManage.vue
  71. 22 24
      src/modules/exam/views/TaskReviewManage.vue
  72. 3 4
      src/modules/print/components/PreviewBusinessDetail.vue
  73. 36 38
      src/modules/print/components/PreviewBusinessStudentDetail.vue
  74. 11 12
      src/modules/print/views/BusinessDataDetail.vue
  75. 35 34
      src/modules/print/views/BusinessDataExport.vue
  76. 9 10
      src/modules/print/views/PlanLinkPaper.vue
  77. 12 17
      src/modules/print/views/PrintPlanManage.vue
  78. 19 30
      src/modules/print/views/PrintTaskManage.vue
  79. 1 2
      src/plugins/axios.js
  80. 2 5
      src/views/Home.vue

BIN
src/assets/images/icon-analyze-gray.png


BIN
src/assets/images/icon-analyze.png


BIN
src/assets/images/icon-arrow-right-act.png


BIN
src/assets/images/icon-arrow-right.png


BIN
src/assets/images/icon-base-gray.png


BIN
src/assets/images/icon-book.png


BIN
src/assets/images/icon-checked.png


BIN
src/assets/images/icon-circle-caret-right.png


BIN
src/assets/images/icon-circle-lock.png


BIN
src/assets/images/icon-circle-right.png


BIN
src/assets/images/icon-circle-share.png


BIN
src/assets/images/icon-circle-stop.png


BIN
src/assets/images/icon-confirm.png


BIN
src/assets/images/icon-copy.png


BIN
src/assets/images/icon-delete.png


BIN
src/assets/images/icon-download-act.png


BIN
src/assets/images/icon-edit.png


BIN
src/assets/images/icon-exam-gray.png


BIN
src/assets/images/icon-home.png


BIN
src/assets/images/icon-lock.png


BIN
src/assets/images/icon-logout.png


BIN
src/assets/images/icon-modify.png


BIN
src/assets/images/icon-plus-act.png


BIN
src/assets/images/icon-plus.png


BIN
src/assets/images/icon-radio-checked.png


BIN
src/assets/images/icon-radio-uncheck.png


BIN
src/assets/images/icon-role.png


BIN
src/assets/images/icon-score-paper-gray.png


BIN
src/assets/images/icon-score-paper.png


BIN
src/assets/images/icon-share-gray.png


BIN
src/assets/images/icon-share.png


BIN
src/assets/images/icon-uncheck.png


BIN
src/assets/images/icon-upload-act.png


BIN
src/assets/images/icon-upload.png


BIN
src/assets/images/icon-user.png


+ 17 - 50
src/assets/styles/adaptive.scss

@@ -1,59 +1,26 @@
-@media screen and (max-width: 1400px) {
-  .home-header {
-    padding-left: 200px;
-    .menu-list {
-      li {
-        padding: 10px 15px;
-        span {
-          margin-left: 6px;
-        }
-      }
-    }
-  }
-  .home-navs {
-    width: 200px;
-    padding: 24px 15px;
-    .head-logo {
-      margin-bottom: 20px;
-    }
-
-    .nav-part {
-      margin-bottom: 20px;
-    }
-    .nav-item-main {
-      padding: 4px 0;
-    }
-  }
-  .home-main {
-    padding: 15px 20px 50px 220px;
-  }
+@media screen and (min-width: 1440px) {
+  // home
   .home-breadcrumb {
-    margin-bottom: 15px;
+    font-size: $--font-size-base;
+
     .el-breadcrumb {
-      line-height: 24px;
+      font-size: $--font-size-base;
     }
   }
-  .page-head {
-    margin-bottom: 15px;
-
-    > h2 {
-      font-size: 18px;
-    }
+  .custom-tree-node {
+    font-size: $--font-size-base;
   }
-  // part
-  .part-box {
-    margin-bottom: 15px;
-
-    &-pad {
-      padding: 24px;
-    }
-    &-filter {
-      margin-bottom: 5px;
-    }
-    &-head {
-      > h3 {
-        font-size: 16px;
+  // element-ui
+  .el-form {
+    &--label-top {
+      .el-form-item__label {
+        padding-bottom: 8px;
+        font-size: $--font-size-base;
       }
     }
   }
+  .el-table,
+  .el-button--small {
+    font-size: $--font-size-base;
+  }
 }

+ 1 - 1
src/assets/styles/base.scss

@@ -438,6 +438,6 @@ body {
   display: flex;
   align-items: center;
   justify-content: space-between;
-  font-size: 14px;
+  font-size: 12px;
   padding-right: 8px;
 }

+ 27 - 21
src/assets/styles/element-ui-costom.scss

@@ -4,6 +4,10 @@
   overflow: hidden;
   border: 1px solid #c8c8ca;
   box-shadow: 5px 5px 4px 0px rgba(0, 0, 0, 0.1);
+
+  &.is-fullscreen {
+    border-radius: 0;
+  }
 }
 .el-dialog__header {
   padding: 15px 20px;
@@ -12,6 +16,22 @@
     font-size: 16px;
     line-height: 19px;
   }
+  .el-dialog__headerbtn {
+    top: 15px;
+    width: 16px;
+    height: 16px;
+    background-image: url(../images/icon-close.png);
+    background-repeat: no-repeat;
+    background-size: 100% 100%;
+
+    &:hover {
+      background-image: url(../images/icon-close-act.png);
+    }
+
+    .el-dialog__close {
+      display: none;
+    }
+  }
 }
 .el-dialog__body {
   padding: 30px 40px;
@@ -33,10 +53,10 @@
     width: 100px;
     border-radius: 8px;
   }
-  .el-button--default {
-    background: rgba(245, 245, 245, 1);
-    color: #999;
-  }
+  // .el-button--default {
+  //   background: rgba(245, 245, 245, 1);
+  //   color: #999;
+  // }
 }
 
 // .opacity-dialog
@@ -173,20 +193,6 @@
 .el-button--text {
   color: $--color-text-gray-2;
 
-  &.btn-primary {
-    padding: 0;
-    min-width: 10px;
-    color: $--color-blue;
-    > i {
-      width: 20px;
-      height: 20px;
-    }
-
-    &:hover {
-      transform: scale(1.2);
-      color: mix($--color-dark, $--color-primary, 50%);
-    }
-  }
   & + .el-button--text {
     margin-left: 10px;
   }
@@ -266,7 +272,7 @@
     .el-button--text {
       padding: 0;
       &:hover {
-        transform: scale(1.1, 1.1);
+        transform: scale(1.1);
       }
     }
   }
@@ -371,13 +377,13 @@
   &__btns {
     position: relative;
     height: 75px;
-    padding: 20px;
+    padding: 30px 20px 10px;
 
     > .el-button {
       width: 85px;
       position: absolute;
       left: 50%;
-      top: 20px;
+      top: 30px;
 
       &:first-child {
         margin-left: 5px;

+ 18 - 18
src/assets/styles/home.scss

@@ -152,17 +152,6 @@
   background-color: $--color-text-dark;
   overflow: hidden;
 
-  .head-menu {
-    float: left;
-  }
-  .head-user {
-    float: right;
-    li {
-      &:first-child::before {
-        display: none;
-      }
-    }
-  }
   .menu-list {
     li {
       display: inline-block;
@@ -192,13 +181,24 @@
       .icon {
         margin-top: -3px;
       }
-      .menu-item-account {
-        white-space: nowrap;
-        span {
-          max-width: 156px;
-          overflow: hidden;
-          text-overflow: ellipsis;
-        }
+    }
+  }
+  .head-menu {
+    float: left;
+  }
+  .head-user {
+    float: right;
+    padding-right: 10px;
+    li {
+      padding: 10px;
+    }
+    .menu-item-account {
+      white-space: nowrap;
+      padding: 10px;
+      span {
+        max-width: 156px;
+        overflow: hidden;
+        text-overflow: ellipsis;
       }
     }
   }

+ 32 - 141
src/assets/styles/icons.scss

@@ -2,155 +2,73 @@
 .icon {
   display: inline-block;
   vertical-align: middle;
-  width: 20px;
-  height: 20px;
+  width: 16px;
+  height: 16px;
   background-repeat: no-repeat;
   background-size: 100% 100%;
 
+  // home
   &-location {
     background-image: url(../images/icon-location.png);
     width: 10px;
     height: 10px;
   }
-
-  &-user {
-    background-image: url(../images/icon-user.png);
-    width: 16px;
-    height: 16px;
-  }
-  &-lock {
-    background-image: url(../images/icon-lock.png);
-    width: 16px;
-    height: 16px;
-  }
-  &-role {
-    background-image: url(../images/icon-role.png);
-    width: 16px;
-    height: 16px;
-  }
-  &-error {
-    background-image: url(../images/icon-error.png);
-    width: 16px;
-    height: 16px;
-  }
+  // navs
   &-exam {
     background-image: url(../images/icon-exam.png);
   }
-  &-exam-gray {
-    background-image: url(../images/icon-exam-gray.png);
-    width: 20px;
-    height: 20px;
-  }
-  &-score-paper {
-    background-image: url(../images/icon-score-paper.png);
-  }
-  &-score-paper-gray {
-    background-image: url(../images/icon-score-paper-gray.png);
-    width: 20px;
-    height: 20px;
-  }
-  &-analyze {
-    background-image: url(../images/icon-analyze.png);
-  }
-  &-analyze-gray {
-    background-image: url(../images/icon-analyze-gray.png);
-    width: 20px;
-    height: 20px;
+  &-report {
+    background-image: url(../images/icon-report.png);
   }
   &-base {
+    width: 14px;
     background-image: url(../images/icon-base.png);
   }
-  &-base-gray {
-    background-image: url(../images/icon-base-gray.png);
-    width: 20px;
-    height: 20px;
+  &-customer {
+    background-image: url(../images/icon-customer.png);
   }
+
   &-account {
     background-image: url(../images/icon-account.png);
   }
-  &-shut {
-    background-image: url(../images/icon-shut.png);
-  }
-  &-home {
-    background-image: url(../images/icon-home.png);
+  &-logout {
+    background-image: url(../images/icon-logout.png);
   }
-  &-arrow-right {
-    background-image: url(../images/icon-arrow-right.png);
-    width: 10px;
-    height: 10px;
-  }
-  &-arrow-right-act {
-    background-image: url(../images/icon-arrow-right-act.png);
-    width: 10px;
-    height: 10px;
-  }
-  &-circle-right {
-    background-image: url(../images/icon-circle-right.png);
+
+  // login
+  &-phone {
+    background-image: url(../images/icon-phone.png);
+    width: 14px;
+    height: 16px;
   }
-  &-search {
-    background-image: url(../images/icon-search.png);
+  &-password {
+    background-image: url(../images/icon-password.png);
     width: 14px;
     height: 14px;
   }
-  &-download {
-    background-image: url(../images/icon-download.png);
+  &-checkcode {
+    background-image: url(../images/icon-checkcode.png);
     width: 14px;
-    height: 14px;
+    height: 16px;
   }
-  &-download-act {
-    background-image: url(../images/icon-download-act.png);
+  // other
+  &-error {
+    background-image: url(../images/icon-error.png);
     width: 16px;
     height: 16px;
   }
-  &-share {
-    background-image: url(../images/icon-share.png);
-    width: 14px;
-    height: 14px;
-  }
-  &-share-gray {
-    background-image: url(../images/icon-share-gray.png);
+  &-search {
+    background-image: url(../images/icon-search.png);
     width: 14px;
     height: 14px;
   }
-  &-plus {
-    background-image: url(../images/icon-plus.png);
+  &-download {
+    background-image: url(../images/icon-download.png);
     width: 14px;
     height: 14px;
   }
-  &-plus-act {
-    background-image: url(../images/icon-plus-act.png);
-    width: 18px;
-    height: 18px;
-  }
-  &-edit {
-    background-image: url(../images/icon-edit.png);
-  }
-  &-delete {
-    background-image: url(../images/icon-delete.png);
-  }
-  &-confirm {
-    background-image: url(../images/icon-confirm.png);
-  }
-  &-checked {
-    background-image: url(../images/icon-checked.png);
-  }
-  &-copy {
-    background-image: url(../images/icon-copy.png);
-  }
-  &-modify {
-    background-image: url(../images/icon-modify.png);
-  }
-  &-circle-share {
-    background-image: url(../images/icon-circle-share.png);
-  }
-  &-circle-caret-right {
-    background-image: url(../images/icon-circle-caret-right.png);
-  }
-  &-circle-stop {
-    background-image: url(../images/icon-circle-stop.png);
-  }
-  &-circle-lock {
-    background-image: url(../images/icon-circle-lock.png);
+  &-close {
+    background-image: url(../images/icon-close.png);
   }
   &-close-act {
     background-image: url(../images/icon-close-act.png);
@@ -165,31 +83,4 @@
     width: 18px;
     height: 14px;
   }
-  &-upload {
-    background-image: url(../images/icon-upload.png);
-    width: 18px;
-    height: 14px;
-  }
-  &-upload-act {
-    background-image: url(../images/icon-upload-act.png);
-    width: 18px;
-    height: 14px;
-  }
-
-  // login
-  &-phone {
-    background-image: url(../images/icon-phone.png);
-    width: 14px;
-    height: 16px;
-  }
-  &-password {
-    background-image: url(../images/icon-password.png);
-    width: 14px;
-    height: 14px;
-  }
-  &-checkcode {
-    background-image: url(../images/icon-checkcode.png);
-    width: 14px;
-    height: 16px;
-  }
 }

+ 5 - 11
src/assets/styles/pages.scss

@@ -2,7 +2,7 @@
 .task-detail {
   .table {
     border-radius: $--border-radius;
-    color: $--color-text-dark;
+    color: $--color-text-dark-1;
     border: 1px solid $--color-border;
     border-bottom: 0;
     border-right: 0;
@@ -12,28 +12,22 @@
     th {
       border-left: 0;
       border-top: 0;
-      color: $--color-text-dark-1;
-      padding: 10px;
+      color: $--color-text-gray-2;
+      padding: 15px;
     }
     td {
       border-left: 0;
       border-top: 0;
-      padding: 10px;
+      padding: 10px 15px;
 
       i {
         display: inline-block;
         vertical-align: middle;
       }
     }
-    tr:nth-of-type(even) {
-      background-color: $--color-background;
-    }
-    td[rowspan="2"] {
-      background-color: $--color-white;
-    }
   }
   .icon {
-    margin-right: 10px;
+    margin-right: 8px;
   }
 
   .task-action {

+ 3 - 3
src/constants/navs.js

@@ -2,7 +2,7 @@ const navs = [
   {
     name: "考试中心",
     url: "exam",
-    icon: "el-icon-receiving",
+    icon: "icon icon-exam",
     children: [
       {
         name: "我的工作台",
@@ -96,7 +96,7 @@ const navs = [
   {
     name: "基础配置",
     url: "base",
-    icon: "el-icon-setting",
+    icon: "icon icon-base",
     children: [
       {
         name: "用户管理",
@@ -199,7 +199,7 @@ const navs = [
   {
     name: "客服制卡",
     url: "customer",
-    icon: "el-icon-service",
+    icon: "icon icon-customer",
     children: [
       {
         name: "客服制卡",

+ 0 - 2
src/modules/admin/views/Admin.vue

@@ -166,8 +166,6 @@ export default {
     },
     toLogout() {
       this.$confirm("确定要退出登录吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(() => {

+ 0 - 2
src/modules/admin/views/AdminUserManage.vue

@@ -181,8 +181,6 @@ export default {
 
       const action = row.enable ? "禁用" : "启用";
       this.$confirm(`确定要${action}用户【${row.realName}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/admin/views/PrivilegeManage.vue

@@ -99,8 +99,6 @@ export default {
         ? `${node.parent.label}->${data.name}`
         : data.name;
       this.$confirm(`确定要删除【${name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/base/views/ApproveRecordManage.vue

@@ -116,8 +116,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除当前记录吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/base/views/CampusManage.vue

@@ -77,8 +77,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除校区【${row.campusName}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/base/views/CardRuleManage.vue

@@ -253,8 +253,6 @@ export default {
       const action = row.enable ? "禁用" : "启用";
 
       this.$confirm(`确定要${action}题卡规则【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/base/views/CourseManage.vue

@@ -184,8 +184,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除课程【${row.courseName}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 4
src/modules/base/views/FlowManage.vue

@@ -121,8 +121,6 @@ export default {
       if (row.publish) return;
 
       this.$confirm(`确定要发布流程【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {
@@ -134,8 +132,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除流程【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

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

@@ -165,8 +165,6 @@ export default {
     },
     remove(node, data) {
       this.$confirm(`确定要删除【${data.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 4
src/modules/base/views/PrintPlanPushManage.vue

@@ -171,8 +171,6 @@ export default {
         return;
       }
       const result = await this.$confirm("确定要推送选中的计划吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       }).catch(() => {});
       if (result !== "confirm") return;
@@ -203,8 +201,6 @@ export default {
     async toPush(row) {
       if (this.loading) return;
       const result = await this.$confirm("确定要推送当前计划吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       }).catch(() => {});
       if (result !== "confirm") return;

+ 0 - 4
src/modules/base/views/RoleManage.vue

@@ -169,8 +169,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除角色【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {
@@ -184,8 +182,6 @@ export default {
       const action = row.enable ? "禁用" : "启用";
 
       this.$confirm(`确定要${action}角色【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/base/views/StudentManage.vue

@@ -149,8 +149,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除学生【${row.studentName}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/base/views/TemplateManage.vue

@@ -278,8 +278,6 @@ export default {
       const action = row.enable ? "禁用" : "启用";
 
       this.$confirm(`确定要${action}模板【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

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

@@ -241,8 +241,6 @@ export default {
 
       const action = row.enable ? "禁用" : "启用";
       this.$confirm(`确定要${action}用户【${row.realName}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 2 - 2
src/modules/exam/api.js

@@ -49,8 +49,8 @@ export const ableExamTask = ({ id, enable }) => {
 export const batchAddExamTask = datas => {
   return $post("/api/admin/exam/task/save_batch", datas);
 };
-export const taskApplyAuditHistory = examTaskId => {
-  return $postParam("/api/admin/exam/task/review_list", { examTaskId });
+export const taskApplyAuditHistory = flowId => {
+  return $postParam("/api/admin/exam/task/review_list", { flowId });
 };
 
 // task-apply-manage

+ 3 - 2
src/modules/exam/components/ApplyAuditHistory.vue

@@ -39,7 +39,7 @@ import { taskApplyAuditHistory } from "../api";
 export default {
   name: "apply-audit-history",
   props: {
-    examTaskId: {
+    flowId: {
       type: String,
       default: ""
     }
@@ -55,7 +55,8 @@ export default {
   },
   methods: {
     async getData() {
-      this.auditHistory = await taskApplyAuditHistory(this.examTaskId);
+      if (!this.flowId) return;
+      this.auditHistory = await taskApplyAuditHistory(this.flowId);
       this.latestHistory = this.auditHistory[0];
     }
   }

+ 212 - 218
src/modules/exam/components/ApplyContent.vue

@@ -27,230 +27,229 @@
       </el-steps>
     </div>
 
-    <div class="part-box part-box-pad part-box-border">
+    <div class="task-body">
+      <div v-if="IS_APPLY" class="mb-2 text-right">
+        <el-button
+          type="primary"
+          icon="el-icon-circle-plus-outline"
+          @click="addAtachment"
+          >增加卷型</el-button
+        >
+      </div>
+      <table class="table mb-2">
+        <tr>
+          <th>试卷类型</th>
+          <th>试卷文件</th>
+          <th>答题卡创建方式</th>
+          <th>答题卡</th>
+          <th v-if="IS_APPLY">操作</th>
+        </tr>
+        <tr v-for="(attachment, index) in paperAttachments" :key="index">
+          <td>{{ attachment.name }}卷</td>
+          <td class="td-link">
+            <span
+              v-if="IS_APPLY"
+              @click="toUpload(attachment)"
+              title="点击上传试卷"
+            >
+              <i
+                :class="[
+                  'icon',
+                  attachment.attachmentId ? 'icon-files-act' : 'icon-files'
+                ]"
+              ></i
+              >{{
+                attachment.attachmentId
+                  ? attachment.filename
+                  : "点击上传试卷文件"
+              }}
+            </span>
+            <span
+              v-else
+              @click="downloadPaper(attachment)"
+              title="点击查看试卷"
+            >
+              <i class="el-icon-download" v-if="attachment.attachmentId"></i>
+              <i>{{ attachment.filename }}</i>
+            </span>
+          </td>
+          <td :rowspan="paperAttachments.length" v-if="index === 0">
+            {{ createCardTypeName }}
+          </td>
+          <td
+            class="td-link"
+            :rowspan="paperAttachments.length"
+            v-if="index === 0"
+          >
+            <span v-if="IS_APPLY" @click="toCreateOrViewCard">{{
+              cardTodoName
+            }}</span>
+            <span v-else @click="toViewCard">
+              <i>查看题卡</i>
+            </span>
+            <el-button
+              v-if="curTaskApply.makeMethod && IS_APPLY"
+              size="mini"
+              type="primary"
+              @click="changeCreateCardType"
+              >切换题卡创建方式</el-button
+            >
+          </td>
+          <td v-if="IS_APPLY">
+            <el-button
+              class="btn-danger"
+              type="text"
+              @click="deleteAttachment(index)"
+              >删除</el-button
+            >
+          </td>
+        </tr>
+        <tr v-if="!paperAttachments.length">
+          <td colspan="5">
+            <p class="tips-info text-center">暂无数据</p>
+          </td>
+        </tr>
+      </table>
+
       <p class="tips-info tips-dark mb-2">
         提示:多卷型试卷由于会绑定一个答题卡模板,因此试卷结构必须相同。多卷型试卷之间客观题要求试题内容相同,可允许大题内的小题题序不同。
       </p>
-      <div class="task-body">
-        <div v-if="IS_APPLY" class="mb-2 text-right">
-          <el-button
-            type="primary"
-            icon="el-icon-circle-plus-outline"
-            @click="addAtachment"
-            >增加卷型</el-button
-          >
-        </div>
-        <table class="table">
-          <tr>
-            <th>试卷类型</th>
-            <th>试卷文件</th>
-            <th>答题卡创建方式</th>
-            <th>答题卡</th>
-            <th v-if="IS_APPLY">操作</th>
-          </tr>
-          <tr v-for="(attachment, index) in paperAttachments" :key="index">
-            <td>{{ attachment.name }}卷</td>
-            <td class="td-link">
-              <span
-                v-if="IS_APPLY"
-                @click="toUpload(attachment)"
-                title="点击上传试卷"
-              >
-                <i
-                  :class="[
-                    'icon',
-                    attachment.attachmentId ? 'icon-files-act' : 'icon-files'
-                  ]"
-                ></i
-                >{{
-                  attachment.attachmentId
-                    ? attachment.filename
-                    : "点击上传试卷文件"
-                }}
-              </span>
-              <span
-                v-else
-                @click="downloadPaper(attachment)"
-                title="点击查看试卷"
-              >
-                <i
-                  class="icon icon-download-act"
-                  v-if="attachment.attachmentId"
-                ></i>
-                <i>{{ attachment.filename }}</i>
-              </span>
-            </td>
-            <td :rowspan="paperAttachments.length" v-if="index === 0">
-              {{ createCardTypeName }}
-            </td>
-            <td
-              class="td-link"
-              :rowspan="paperAttachments.length"
-              v-if="index === 0"
-            >
-              <span v-if="IS_APPLY" @click="toCreateOrViewCard"
-                ><i class="icon icon-plus-act"></i>{{ cardTodoName }}</span
-              >
-              <span v-else @click="toViewCard">
-                <i class="icon icon-circle-right"></i>
-                <i>查看题卡</i>
-              </span>
-              <el-button
-                v-if="curTaskApply.makeMethod && IS_APPLY"
-                size="mini"
-                type="primary"
-                @click="changeCreateCardType"
-                >切换题卡创建方式</el-button
-              >
-            </td>
-            <td v-if="IS_APPLY">
-              <el-button
-                class="btn-primary"
-                type="text"
-                icon="icon icon-delete"
-                title="删除"
-                @click="deleteAttachment(index)"
-              ></el-button>
-            </td>
-          </tr>
-        </table>
 
-        <el-form>
-          <el-form-item label="单次抽卷卷型数量:" label-width="150">
-            <el-input-number
-              v-model="curTaskApply.drawCount"
-              :min="1"
-              :max="maxFetchCount"
-              :step="1"
-              step-strictly
-              :controls="false"
-              :disabled="!IS_APPLY"
-            ></el-input-number>
-          </el-form-item>
-        </el-form>
+      <el-form>
+        <el-form-item label="单次抽卷卷型数量:" label-width="150">
+          <el-input-number
+            v-model="curTaskApply.drawCount"
+            :min="1"
+            :max="maxFetchCount"
+            :step="1"
+            step-strictly
+            :controls="false"
+            :disabled="!IS_APPLY"
+          ></el-input-number>
+        </el-form-item>
+      </el-form>
 
-        <h4 class="mb-2">备注说明:</h4>
-        <el-input
-          class="mb-2"
-          v-model="curTaskApply.remark"
-          type="textarea"
-          resize="none"
-          :rows="2"
-          :maxlength="100"
-          clearable
-          show-word-limit
-          placeholder="建议不超过100个字"
-          :disabled="!IS_APPLY"
-        ></el-input>
+      <h4 class="mb-2">备注说明:</h4>
+      <el-input
+        class="mb-2"
+        v-model="curTaskApply.remark"
+        type="textarea"
+        resize="none"
+        :rows="2"
+        :maxlength="100"
+        clearable
+        show-word-limit
+        placeholder="建议不超过100个字"
+        :disabled="!IS_APPLY"
+      ></el-input>
 
-        <h4 class="mb-2">上传入库审核表(最多4张)</h4>
-        <div class="image-list">
-          <div
-            class="image-item"
-            v-for="(img, index) in paperConfirmAttachments"
-            :key="index"
-          >
-            <img
-              :src="img.url"
-              :alt="img.filename"
-              title="点击查看大图"
-              @click="toPreview(index)"
-            />
-            <div v-if="IS_APPLY" class="image-delete">
-              <i
-                class="el-icon-delete-solid"
-                @click="deletePaperConfirmAttachment(index)"
-              ></i>
-            </div>
-          </div>
-          <div
-            v-if="paperConfirmAttachments.length < 4 && IS_APPLY"
-            class="image-item image-add"
-            title="上传入库审核表"
-            @click="toUploadPaperConfirm"
-          >
-            <i class="el-icon-plus"></i>
+      <h4 class="mb-2" v-if="IS_APPLY">上传入库审核表(最多4张)</h4>
+      <h4 class="mb-2" v-else>入库审核表</h4>
+      <div class="image-list">
+        <div
+          class="image-item"
+          v-for="(img, index) in paperConfirmAttachments"
+          :key="index"
+        >
+          <img
+            :src="img.url"
+            :alt="img.filename"
+            title="点击查看大图"
+            @click="toPreview(index)"
+          />
+          <div v-if="IS_APPLY" class="image-delete">
+            <i
+              class="el-icon-delete-solid"
+              @click="deletePaperConfirmAttachment(index)"
+            ></i>
           </div>
         </div>
-
-        <!-- audit -->
-        <el-form
-          v-if="IS_AUDIT"
-          ref="auditModalComp"
-          :model="auditModal"
-          :rules="auditRules"
-          label-width="90px"
+        <div
+          v-if="paperConfirmAttachments.length < 4 && IS_APPLY"
+          class="image-item image-add"
+          title="上传入库审核表"
+          @click="toUploadPaperConfirm"
         >
-          <el-form-item prop="approvePass" label="审批操作:">
-            <el-radio-group v-model="auditModal.approvePass">
-              <el-radio
-                v-for="(val, key) in TASK_AUDIT_RESULT"
-                :key="key"
-                :label="key"
-                >{{ val }}</el-radio
-              >
-            </el-radio-group>
-          </el-form-item>
-          <el-form-item
-            v-if="auditModal.approvePass === 'REJECT'"
-            prop="setup"
-            label="驳回节点:"
-          >
-            <el-select v-model="auditModal.setup" placeholder="请选择">
-              <el-option
-                v-for="item in setups"
-                :key="item.taskKey"
-                :value="item.setup"
-                :label="item.taskName"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item
-            v-if="auditModal.approvePass === 'REJECT'"
-            prop="remark"
-            label="审批意见:"
-          >
-            <el-input
-              class="mb-2"
-              v-model="auditModal.remark"
-              type="textarea"
-              resize="none"
-              :rows="5"
-              :maxlength="1000"
-              clearable
-              show-word-limit
-              placeholder="建议不超过1000个字"
-              ref="ReasonInput"
-            ></el-input>
-          </el-form-item>
-        </el-form>
+          <i class="el-icon-plus"></i>
+        </div>
       </div>
-      <div class="task-action">
-        <el-button
-          v-if="IS_APPLY"
-          type="primary"
-          :disabled="isSubmit"
-          @click="submit"
-          >确认提交</el-button
-        >
-        <el-button
-          v-if="IS_APPLY"
-          type="primary"
-          :disabled="isSubmit"
-          style="width:88px;"
-          @click="toSave"
-          >暂存</el-button
+
+      <!-- audit -->
+      <el-form
+        v-if="IS_AUDIT"
+        ref="auditModalComp"
+        :model="auditModal"
+        :rules="auditRules"
+        label-width="90px"
+      >
+        <el-form-item prop="approvePass" label="审批操作:">
+          <el-radio-group v-model="auditModal.approvePass">
+            <el-radio
+              v-for="(val, key) in TASK_AUDIT_RESULT"
+              :key="key"
+              :label="key"
+              >{{ val }}</el-radio
+            >
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item
+          v-if="auditModal.approvePass === 'REJECT'"
+          prop="setup"
+          label="驳回节点:"
         >
-        <el-button
-          v-if="IS_AUDIT"
-          type="primary"
-          :disabled="isSubmit"
-          @click="toAuditApply"
-          >确定</el-button
+          <el-select v-model="auditModal.setup" placeholder="请选择">
+            <el-option
+              v-for="item in setups"
+              :key="item.taskKey"
+              :value="item.setup"
+              :label="item.taskName"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          v-if="auditModal.approvePass === 'REJECT'"
+          prop="remark"
+          label="审批意见:"
         >
-        <el-button @click="cancel">取消</el-button>
-      </div>
+          <el-input
+            class="mb-2"
+            v-model="auditModal.remark"
+            type="textarea"
+            resize="none"
+            :rows="5"
+            :maxlength="1000"
+            clearable
+            show-word-limit
+            placeholder="建议不超过1000个字"
+            ref="ReasonInput"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="task-action">
+      <el-button
+        v-if="IS_APPLY"
+        type="primary"
+        :disabled="isSubmit"
+        @click="submit"
+        >确认提交</el-button
+      >
+      <el-button
+        v-if="IS_APPLY"
+        type="primary"
+        :disabled="isSubmit"
+        @click="toSave"
+        >暂存</el-button
+      >
+      <el-button
+        v-if="IS_AUDIT"
+        type="primary"
+        :disabled="isSubmit"
+        @click="toAuditApply"
+        >确定</el-button
+      >
+      <el-button @click="cancel">取消</el-button>
     </div>
 
     <!-- upload-paper-dialog -->
@@ -622,8 +621,7 @@ export default {
           )
         ]),
         showCancelButton: true,
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
+
         type: "warning"
       }).catch(() => {});
       if (result !== "confirm") return;
@@ -700,8 +698,6 @@ export default {
         "任务确定提交后,则不可更改试卷及答题卡内容,确定提交该任务?",
         "提示",
         {
-          cancelButtonClass: "el-button--danger is-plain",
-          confirmButtonClass: "el-button--primary",
           type: "warning"
         }
       ).catch(() => {});
@@ -724,8 +720,6 @@ export default {
         `确定${actionName}该申请吗?`,
         "提示",
         {
-          cancelButtonClass: "el-button--danger is-plain",
-          confirmButtonClass: "el-button--primary",
           type: "warning"
         }
       ).catch(() => {});

+ 80 - 84
src/modules/exam/components/BatchAddExamTask.vue

@@ -4,93 +4,91 @@
     :visible.sync="modalIsShow"
     title="批量新建命题任务"
     top="10vh"
-    width="900px"
+    width="800px"
     :close-on-click-modal="false"
     :close-on-press-escape="false"
     append-to-body
     @open="visibleChange"
   >
-    <div class=" part-box part-box-border part-box-pad">
-      <el-form
-        ref="modalFormComp"
-        :model="modalForm"
-        :rules="rules"
-        label-width="120px"
-      >
-        <el-form-item prop="batchNo" label="命题任务表:">
-          <upload-file-view
-            :upload-url="uploadExamTaskUrl"
-            @upload-success="uploadExamTaskSuccess"
-            ref="ExamTaskUploadFileView"
-            v-if="modalIsShow"
-          ></upload-file-view>
-          <el-button
-            type="warning"
-            icon="el-icon-download"
-            style="margin-left:10px;"
-          >
-            <a :href="downloadUrl" download="命题任务导入模板.xlsx">模板下载</a>
-          </el-button>
-        </el-form-item>
-        <el-form-item prop="startTime" label="命题时间:">
-          <el-date-picker
-            v-model="createTime"
-            type="datetimerange"
-            range-separator="至"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-            value-format="timestamp"
-            align="right"
-            unlink-panels
-            @change="dateChange"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item prop="cardRuleId" label="题卡规则:">
-          <card-rule-select
-            ref="CardRuleSelect"
-            v-model.trim="modalForm.cardRuleId"
-            placeholder="请选择"
-            clearable
-          ></card-rule-select>
-          <p class="tips-info">
-            说明:若选择全部通卡,则命题老师只能选择通卡,若选择题卡规则,则专卡和通卡均可选择
-          </p>
-        </el-form-item>
-        <el-form-item label="指派命题老师:">
-          <el-table class="el-table--noback" :data="tasks" border>
-            <el-table-column prop="courseName" label="课程(代码)">
-              <span slot-scope="scope">
-                {{ scope.row.courseName }}({{ scope.row.courseCode }})
-              </span>
-            </el-table-column>
-            <el-table-column prop="paperNumber" label="试卷编号">
-              <template slot-scope="scope">
-                {{ scope.row.paperNumber | defaultFieldFilter }}
-              </template>
-            </el-table-column>
-            <el-table-column label="命题老师" width="180px">
-              <template slot-scope="scope">
-                <el-select
-                  v-model="scope.row.userId"
-                  size="small"
-                  style="width: 150px;"
-                  placeholder="请选择"
-                  clearable
-                >
-                  <el-option
-                    v-for="user in scope.row.users"
-                    :key="user.id"
-                    :value="user.id"
-                    :label="user.name"
-                  ></el-option>
-                </el-select>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-form-item>
-      </el-form>
-    </div>
+    <el-form
+      ref="modalFormComp"
+      :model="modalForm"
+      :rules="rules"
+      label-position="top"
+    >
+      <el-form-item prop="batchNo" label="命题任务表:">
+        <upload-file-view
+          :upload-url="uploadExamTaskUrl"
+          @upload-success="uploadExamTaskSuccess"
+          ref="ExamTaskUploadFileView"
+          v-if="modalIsShow"
+        ></upload-file-view>
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          style="margin-left:10px;"
+        >
+          <a :href="downloadUrl" download="命题任务导入模板.xlsx">模板下载</a>
+        </el-button>
+      </el-form-item>
+      <el-form-item prop="startTime" label="命题时间:">
+        <el-date-picker
+          v-model="createTime"
+          type="datetimerange"
+          range-separator="至"
+          start-placeholder="开始时间"
+          end-placeholder="结束时间"
+          value-format="timestamp"
+          align="right"
+          unlink-panels
+          @change="dateChange"
+        >
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item prop="cardRuleId" label="题卡规则:">
+        <card-rule-select
+          ref="CardRuleSelect"
+          v-model.trim="modalForm.cardRuleId"
+          placeholder="请选择"
+          clearable
+        ></card-rule-select>
+        <p class="tips-info">
+          说明:若选择全部通卡,则命题老师只能选择通卡,若选择题卡规则,则专卡和通卡均可选择
+        </p>
+      </el-form-item>
+      <el-form-item label="指派命题老师:">
+        <el-table class="el-table--noback" :data="tasks" border>
+          <el-table-column prop="courseName" label="课程(代码)">
+            <span slot-scope="scope">
+              {{ scope.row.courseName }}({{ scope.row.courseCode }})
+            </span>
+          </el-table-column>
+          <el-table-column prop="paperNumber" label="试卷编号">
+            <template slot-scope="scope">
+              {{ scope.row.paperNumber | defaultFieldFilter }}
+            </template>
+          </el-table-column>
+          <el-table-column label="命题老师" width="180px">
+            <template slot-scope="scope">
+              <el-select
+                v-model="scope.row.userId"
+                size="small"
+                style="width: 150px;"
+                placeholder="请选择"
+                clearable
+              >
+                <el-option
+                  v-for="user in scope.row.users"
+                  :key="user.id"
+                  :value="user.id"
+                  :label="user.name"
+                ></el-option>
+              </el-select>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-form-item>
+    </el-form>
 
     <div slot="footer">
       <el-button type="primary" :disabled="isSubmit" @click="toSave"
@@ -185,8 +183,6 @@ export default {
       }
 
       this.$confirm(`${this.batchConfirmMessage}, 是否继续提交?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(() => {

+ 2 - 2
src/modules/exam/components/CardOptionDialog.vue

@@ -11,7 +11,7 @@
       append-to-body
       @open="visibleChange"
     >
-      <div class="card-option-body part-box part-box-pad part-box-border">
+      <div class="card-option-body">
         <p>请您选择创建题卡方式:</p>
         <p>1.自助创建:使用题卡工具自助设计题卡,操作简单,即刻生成;</p>
         <p>
@@ -91,7 +91,7 @@
         <el-button type="primary" :disabled="isSubmit" @click="confirm"
           >确定</el-button
         >
-        <el-button type="danger" @click="cancel" plain>返回</el-button>
+        <el-button @click="cancel">返回</el-button>
       </div>
     </el-dialog>
   </div>

+ 16 - 19
src/modules/exam/components/CreateTaskApply.vue

@@ -110,13 +110,7 @@
       </el-steps>
     </div>
 
-    <div
-      class="part-box part-box-pad part-box-border apply-content task-detail"
-      v-if="modalIsShow"
-    >
-      <p class="tips-info tips-dark mb-2">
-        提示:多卷型试卷由于会绑定一个答题卡模板,因此试卷结构必须相同。多卷型试卷之间客观题要求试题内容相同,可允许大题内的小题题序不同。
-      </p>
+    <div class="apply-content task-detail" v-if="modalIsShow">
       <div class="task-body">
         <div class="mb-2 text-right">
           <el-button
@@ -126,7 +120,7 @@
             >增加卷型</el-button
           >
         </div>
-        <table class="table">
+        <table class="table mb-2">
           <tr>
             <th>试卷类型</th>
             <th>试卷文件</th>
@@ -159,9 +153,7 @@
               :rowspan="paperAttachments.length"
               v-if="index === 0"
             >
-              <span @click="toCreateOrViewCard"
-                ><i class="icon icon-plus-act"></i>{{ cardTodoName }}</span
-              >
+              <span @click="toCreateOrViewCard">{{ cardTodoName }}</span>
               <el-button
                 v-if="examTaskDetail.makeMethod"
                 size="mini"
@@ -172,16 +164,24 @@
             </td>
             <td>
               <el-button
-                class="btn-primary"
+                class="btn-danger"
                 type="text"
-                icon="icon icon-delete"
-                title="删除"
                 @click="deleteAttachment(index)"
-              ></el-button>
+                >删除</el-button
+              >
+            </td>
+          </tr>
+          <tr v-if="!paperAttachments.length">
+            <td colspan="5">
+              <p class="tips-info text-center">暂无数据</p>
             </td>
           </tr>
         </table>
 
+        <p class="tips-info tips-dark mb-2">
+          提示:多卷型试卷由于会绑定一个答题卡模板,因此试卷结构必须相同。多卷型试卷之间客观题要求试题内容相同,可允许大题内的小题题序不同。
+        </p>
+
         <el-form>
           <el-form-item label="单次抽卷卷型数量:" label-width="150">
             <el-input-number
@@ -575,8 +575,7 @@ export default {
           )
         ]),
         showCancelButton: true,
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
+
         type: "warning"
       }).catch(() => {});
       if (result !== "confirm") return;
@@ -689,8 +688,6 @@ export default {
         "任务确定提交后,则不可更改试卷及答题卡内容,确定提交该任务?",
         "提示",
         {
-          cancelButtonClass: "el-button--danger is-plain",
-          confirmButtonClass: "el-button--primary",
           type: "warning"
         }
       )

+ 71 - 73
src/modules/exam/components/ModifyExamTask.vue

@@ -10,79 +10,77 @@
     append-to-body
     @open="visibleChange"
   >
-    <div class="part-box part-box-pad part-box-border">
-      <el-form
-        ref="modalFormComp"
-        label-width="130px"
-        :class="{ 'form-info': !editable }"
-        :rules="rules"
-        :model="modalForm"
-      >
-        <el-form-item prop="courseCode" label="课程(代码):">
-          <course-select
-            v-if="editable"
-            ref="CourseSelect"
-            v-model.trim="modalForm.courseCode"
-            placeholder="请选择"
-            clearable
-            @change="courseChange"
-          ></course-select>
-          <span v-else
-            >{{ modalForm.courseName }}({{ modalForm.courseCode }})</span
-          >
-        </el-form-item>
-        <el-form-item prop="paperNumber" label="试卷编号:">
-          <el-input
-            v-if="editable"
-            v-model="modalForm.paperNumber"
-            clearable
-          ></el-input>
-          <span v-else>{{ modalForm.paperNumber | defaultFieldFilter }}</span>
-        </el-form-item>
-        <el-form-item prop="startTime" label="命题时间:">
-          <el-date-picker
-            v-if="editable"
-            v-model="createTime"
-            type="datetimerange"
-            range-separator="至"
-            start-placeholder="开始时间"
-            end-placeholder="结束时间"
-            value-format="timestamp"
-            align="right"
-            unlink-panels
-            @change="dateChange"
-          >
-          </el-date-picker>
-          <span v-else>
-            {{ modalForm.startTime | timestampFilter }} 至
-            {{ modalForm.endTime | timestampFilter }}</span
-          >
-        </el-form-item>
-        <el-form-item prop="cardRuleId" label="题卡规则:">
-          <card-rule-select
-            v-if="editable"
-            ref="CardRuleSelect"
-            v-model.trim="modalForm.cardRuleId"
-            placeholder="请选择"
-            clearable
-          ></card-rule-select>
-          <span v-else>{{ modalForm.cardRuleName }}</span>
-          <p class="tips-info">
-            说明:若选择全部通卡,则命题老师只能选择通卡,若选择题卡规则,则专卡和通卡均可选择
-          </p>
-        </el-form-item>
-        <el-form-item label="命题老师:">
-          <question-teacher-user-select
-            v-if="editType !== 'PREVIEW' && modalIsShow"
-            ref="QuestionTeacherSelect"
-            v-model="modalForm.userId"
-            :course-code="modalForm.courseCode"
-            placeholder="请选择"
-          ></question-teacher-user-select>
-          <span v-else>{{ modalForm.userName | defaultFieldFilter }}</span>
-        </el-form-item>
-      </el-form>
-    </div>
+    <el-form
+      ref="modalFormComp"
+      label-width="130px"
+      :class="{ 'form-info': !editable }"
+      :rules="rules"
+      :model="modalForm"
+    >
+      <el-form-item prop="courseCode" label="课程(代码):">
+        <course-select
+          v-if="editable"
+          ref="CourseSelect"
+          v-model.trim="modalForm.courseCode"
+          placeholder="请选择"
+          clearable
+          @change="courseChange"
+        ></course-select>
+        <span v-else
+          >{{ modalForm.courseName }}({{ modalForm.courseCode }})</span
+        >
+      </el-form-item>
+      <el-form-item prop="paperNumber" label="试卷编号:">
+        <el-input
+          v-if="editable"
+          v-model="modalForm.paperNumber"
+          clearable
+        ></el-input>
+        <span v-else>{{ modalForm.paperNumber | defaultFieldFilter }}</span>
+      </el-form-item>
+      <el-form-item prop="startTime" label="命题时间:">
+        <el-date-picker
+          v-if="editable"
+          v-model="createTime"
+          type="datetimerange"
+          range-separator="至"
+          start-placeholder="开始时间"
+          end-placeholder="结束时间"
+          value-format="timestamp"
+          align="right"
+          unlink-panels
+          @change="dateChange"
+        >
+        </el-date-picker>
+        <span v-else>
+          {{ modalForm.startTime | timestampFilter }} 至
+          {{ modalForm.endTime | timestampFilter }}</span
+        >
+      </el-form-item>
+      <el-form-item prop="cardRuleId" label="题卡规则:">
+        <card-rule-select
+          v-if="editable"
+          ref="CardRuleSelect"
+          v-model.trim="modalForm.cardRuleId"
+          placeholder="请选择"
+          clearable
+        ></card-rule-select>
+        <span v-else>{{ modalForm.cardRuleName }}</span>
+        <p class="tips-info">
+          说明:若选择全部通卡,则命题老师只能选择通卡,若选择题卡规则,则专卡和通卡均可选择
+        </p>
+      </el-form-item>
+      <el-form-item label="命题老师:">
+        <question-teacher-user-select
+          v-if="editType !== 'PREVIEW' && modalIsShow"
+          ref="QuestionTeacherSelect"
+          v-model="modalForm.userId"
+          :course-code="modalForm.courseCode"
+          placeholder="请选择"
+        ></question-teacher-user-select>
+        <span v-else>{{ modalForm.userName | defaultFieldFilter }}</span>
+      </el-form-item>
+    </el-form>
 
     <div slot="footer">
       <el-button

+ 1 - 3
src/modules/exam/components/ModifyTaskApply.vue

@@ -112,7 +112,7 @@
         v-if="needReview"
         v-show="curMenu.id === '2'"
         ref="ApplyAuditHistory"
-        :exam-task-id="modalForm.id"
+        :flow-id="modalForm.flowId"
       ></apply-audit-history>
     </div>
 
@@ -209,8 +209,6 @@ export default {
     },
     toCancel() {
       this.$confirm("确定要撤销当前申请吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/exam/components/ModifyTaskPaper.vue

@@ -401,8 +401,6 @@ export default {
       if (!this.checkDataValid()) return;
 
       this.$confirm("确定要提交申请修改当前任务吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/exam/components/PublishPrintTask.vue

@@ -268,8 +268,6 @@ export default {
     },
     async toDelete(row) {
       const result = await this.$confirm(`确定要删除当前卷袋吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       }).catch(() => {});
       if (result !== "confirm") return;

+ 4 - 8
src/modules/exam/views/DataTaskManage.vue

@@ -4,7 +4,7 @@
       <el-form ref="FilterForm" label-position="left" label-width="55px" inline>
         <template v-if="checkPrivilege('condition', 'condition')">
           <el-form-item label="状态:">
-            <el-select v-model="filter.status" placeholder="请选择" clearable>
+            <el-select v-model="filter.status" placeholder="状态" clearable>
               <el-option
                 v-for="(val, key) in DATA_TASK_STATUS"
                 :key="key"
@@ -14,7 +14,7 @@
             </el-select>
           </el-form-item>
           <el-form-item label="类别:">
-            <el-select v-model="filter.type" placeholder="请选择" clearable>
+            <el-select v-model="filter.type" placeholder="类别" clearable>
               <el-option
                 v-for="(val, key) in DATA_TASK_TYPE"
                 :key="key"
@@ -24,7 +24,7 @@
             </el-select>
           </el-form-item>
           <el-form-item label="数据结果:" label-width="85px">
-            <el-select v-model="filter.result" placeholder="请选择" clearable>
+            <el-select v-model="filter.result" placeholder="数据结果" clearable>
               <el-option
                 v-for="(val, key) in DATA_TASK_RESULT"
                 :key="key"
@@ -58,12 +58,10 @@
         > -->
       </div>
     </div>
-    <div class="part-box">
+    <div class="part-box part-box-pad">
       <el-table
         ref="TableList"
         :data="tasks"
-        border
-        stripe
         @selection-change="handleSelectionChange"
       >
         <el-table-column
@@ -202,8 +200,6 @@ export default {
       }
 
       this.$confirm(tips, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/exam/views/ExamTaskManage.vue

@@ -311,8 +311,6 @@ export default {
         .map(item => `<p class="text-left">${item}</p>`)
         .join("");
       this.$confirm(msgHtml, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         dangerouslyUseHTMLString: true,
         type: "warning"
       })

+ 4 - 3
src/modules/exam/views/TaskApplyManage.vue

@@ -150,7 +150,10 @@
               >查看详情</el-button
             >
             <el-button
-              v-if="scope.row.setup === 1 && checkPrivilege('link', 'edit')"
+              v-if="
+                (scope.row.setup === 1 || scope.row.setup === null) &&
+                  checkPrivilege('link', 'edit')
+              "
               class="btn-primary"
               type="text"
               @click="toEdit(scope.row)"
@@ -295,8 +298,6 @@ export default {
     },
     toCancel(row) {
       this.$confirm("确定要撤销当前申请吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 0 - 2
src/modules/exam/views/TaskPaperManage.vue

@@ -300,8 +300,6 @@ export default {
         .map(item => `<p class="text-left">${item}</p>`)
         .join("");
       this.$confirm(msgHtml, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         dangerouslyUseHTMLString: true,
         type: "warning"
       })

+ 22 - 24
src/modules/exam/views/TaskReviewManage.vue

@@ -21,7 +21,7 @@
             <card-rule-select
               ref="CardRuleSelect"
               v-model.trim="filter.cardRuleId"
-              placeholder="请选择"
+              placeholder="题卡规则"
               clearable
             ></card-rule-select>
           </el-form-item>
@@ -29,7 +29,7 @@
             <course-select
               ref="CourseSelect"
               v-model.trim="filter.courseCode"
-              placeholder="请选择"
+              placeholder="课程(代码)"
               clearable
             ></course-select>
           </el-form-item>
@@ -37,7 +37,7 @@
             <paper-number-select
               ref="PaperNumberSelect"
               v-model="filter.paperNumber"
-              placeholder="请选择"
+              placeholder="试卷编号"
               clearable
             ></paper-number-select>
           </el-form-item>
@@ -46,13 +46,13 @@
               ref="QuestionTeacherSelect"
               v-model="filter.userId"
               :course-code="filter.courseCode"
-              placeholder="请选择"
+              placeholder="命题老师"
             ></question-teacher-select>
           </el-form-item>
           <el-form-item label="创建人:">
             <el-input
               v-model="filter.createName"
-              placeholder="请输入"
+              placeholder="创建人"
               clearable
             ></el-input>
           </el-form-item>
@@ -62,8 +62,8 @@
               type="datetimerange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
+              start-placeholder="命题开始时间"
+              end-placeholder="命题结束时间"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -76,8 +76,8 @@
               type="datetimerange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
+              start-placeholder="申请开始时间"
+              end-placeholder="申请结束时间"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -88,7 +88,7 @@
             <el-select
               v-model="filter.reviewStatus"
               style="width: 142px;"
-              placeholder="请选择"
+              placeholder="审核结果"
               clearable
             >
               <el-option
@@ -123,14 +123,14 @@
         >
           导出审核样本
         </el-button>
-        <el-button
+        <!-- <el-button
           v-if="checkPrivilege('button', 'notReviewBatchNotPass')"
           icon="el-icon-coordinate"
           type="danger"
           @click="toBatchAudit(0)"
         >
           批量不通过
-        </el-button>
+        </el-button> -->
         <el-button
           v-if="checkPrivilege('button', 'notReviewBatchPass')"
           icon="el-icon-coordinate"
@@ -142,12 +142,10 @@
       </div>
     </div>
 
-    <div class="part-box">
+    <div class="part-box part-box-pad">
       <el-table
         ref="TableList"
         :data="examTasks"
-        border
-        stripe
         @selection-change="handleSelectionChange"
       >
         <el-table-column
@@ -196,18 +194,20 @@
               v-if="AUDITED && checkPrivilege('link', 'reviewPreview')"
               class="btn-primary"
               type="text"
-              icon="icon icon-circle-right"
               @click="toPreview(scope.row)"
-              title="查看详情"
-            ></el-button>
+              >查看详情</el-button
+            >
             <el-button
-              v-if="!AUDITED && checkPrivilege('link', 'notReviewEdit')"
+              v-if="
+                !AUDITED &&
+                  checkPrivilege('link', 'notReviewEdit') &&
+                  scope.row.myself
+              "
               class="btn-primary"
               type="text"
-              icon="icon icon-edit"
               @click="toEdit(scope.row)"
-              title="审核"
-            ></el-button>
+              >审核</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
@@ -394,8 +394,6 @@ export default {
       }
       const actionName = isPass ? "通过" : "不通过";
       this.$confirm(`确定${actionName}这些申请吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(() => {

+ 3 - 4
src/modules/print/components/PreviewBusinessDetail.vue

@@ -3,7 +3,7 @@
     <el-dialog
       :visible.sync="modalIsShow"
       title="详情数据"
-      top="10vh"
+      top="10px"
       width="900px"
       :close-on-click-modal="false"
       :close-on-press-escape="false"
@@ -87,10 +87,9 @@
               <el-button
                 class="btn-primary"
                 type="text"
-                icon="icon icon-circle-right"
                 @click="toPreview(scope.row)"
-                title="查看详情"
-              ></el-button>
+                >查看详情</el-button
+              >
             </template>
           </el-table-column>
         </el-table>

+ 36 - 38
src/modules/print/components/PreviewBusinessStudentDetail.vue

@@ -9,44 +9,42 @@
     append-to-body
     @open="initData"
   >
-    <div class="part-box part-box-pad part-box-border">
-      <el-form label-width="130px" class="form-info">
-        <el-form-item label="姓名:">
-          <span>{{ student.studentName }}</span>
-        </el-form-item>
-        <el-form-item label="学号:">
-          <span>{{ student.studentCode }}</span>
-        </el-form-item>
-        <el-form-item label="考号:">
-          <span>{{ student.ticketNumber }}</span>
-        </el-form-item>
-        <el-form-item label="课程(代码):">
-          <span>{{ student.courseName }}({{ student.courseCode }})</span>
-        </el-form-item>
-        <el-form-item label="试卷编号:">
-          <span>{{ student.paperNumber }}</span>
-        </el-form-item>
-        <el-form-item label="考试日期:">
-          <span>{{ student.examDate }}</span>
-        </el-form-item>
-        <el-form-item label="考试时间:">
-          <span>{{ student.examTime }}</span>
-        </el-form-item>
-        <el-form-item label="考点:">
-          <span>{{ student.examPlace }}</span>
-        </el-form-item>
-        <el-form-item label="考场:">
-          <span>{{ student.examRoom }}</span>
-        </el-form-item>
-        <el-form-item
-          v-for="info in student.extendFields"
-          :key="info.code"
-          :label="`${info.name}:`"
-        >
-          <span>{{ info.value }}</span>
-        </el-form-item>
-      </el-form>
-    </div>
+    <el-form label-width="130px" class="form-info">
+      <el-form-item label="姓名:">
+        <span>{{ student.studentName }}</span>
+      </el-form-item>
+      <el-form-item label="学号:">
+        <span>{{ student.studentCode }}</span>
+      </el-form-item>
+      <el-form-item label="考号:">
+        <span>{{ student.ticketNumber }}</span>
+      </el-form-item>
+      <el-form-item label="课程(代码):">
+        <span>{{ student.courseName }}({{ student.courseCode }})</span>
+      </el-form-item>
+      <el-form-item label="试卷编号:">
+        <span>{{ student.paperNumber }}</span>
+      </el-form-item>
+      <el-form-item label="考试日期:">
+        <span>{{ student.examDate }}</span>
+      </el-form-item>
+      <el-form-item label="考试时间:">
+        <span>{{ student.examTime }}</span>
+      </el-form-item>
+      <el-form-item label="考点:">
+        <span>{{ student.examPlace }}</span>
+      </el-form-item>
+      <el-form-item label="考场:">
+        <span>{{ student.examRoom }}</span>
+      </el-form-item>
+      <el-form-item
+        v-for="info in student.extendFields"
+        :key="info.code"
+        :label="`${info.name}:`"
+      >
+        <span>{{ info.value }}</span>
+      </el-form-item>
+    </el-form>
 
     <div slot="footer"></div>
   </el-dialog>

+ 11 - 12
src/modules/print/views/BusinessDataDetail.vue

@@ -6,7 +6,7 @@
           <el-form-item label="印刷计划:">
             <print-plan-select
               v-model.trim="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="印刷计划"
               clearable
               multiple
               @change="printPlanChange"
@@ -16,7 +16,7 @@
             <course-select
               v-model.trim="filter.courseCode"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="课程(代码)"
               clearable
             ></course-select>
           </el-form-item>
@@ -25,7 +25,7 @@
               ref="PaperNumberSelect"
               v-model="filter.paperNumber"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="试卷编号"
               clearable
             ></paper-number-select>
           </el-form-item>
@@ -33,7 +33,7 @@
             <place-select
               v-model.trim="filter.examPlace"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="考点"
               clearable
             ></place-select>
           </el-form-item>
@@ -41,7 +41,7 @@
             <room-select
               v-model.trim="filter.examRoom"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="考场"
               clearable
             ></room-select>
           </el-form-item>
@@ -51,8 +51,8 @@
               type="daterange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
+              start-placeholder="考试开始日期"
+              end-placeholder="考试结束日期"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -62,7 +62,7 @@
           <el-form-item label="考生:" label-width="70px">
             <el-input
               v-model="filter.studentParams"
-              placeholder="请输入"
+              placeholder="考生"
               clearable
             ></el-input>
           </el-form-item>
@@ -78,7 +78,7 @@
       </el-form>
     </div>
 
-    <div class="part-box">
+    <div class="part-box part-box-pad">
       <el-table ref="TableList" :data="dataList">
         <el-table-column
           type="index"
@@ -109,10 +109,9 @@
               v-if="checkPrivilege('link', 'preview')"
               class="btn-primary"
               type="text"
-              icon="icon icon-circle-right"
               @click="toPreview(scope.row)"
-              title="查看详情"
-            ></el-button>
+              >查看详情</el-button
+            >
           </template>
         </el-table-column>
       </el-table>

+ 35 - 34
src/modules/print/views/BusinessDataExport.vue

@@ -6,7 +6,7 @@
           <el-form-item label="印刷计划:">
             <print-plan-select
               v-model.trim="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="印刷计划"
               clearable
               multiple
               @change="printPlanChange"
@@ -16,7 +16,7 @@
             <course-select
               v-model.trim="filter.courseCode"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="课程(代码)"
               clearable
             ></course-select>
           </el-form-item>
@@ -25,7 +25,7 @@
               ref="PaperNumberSelect"
               v-model="filter.paperNumber"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="试卷编号"
               clearable
             ></paper-number-select>
           </el-form-item>
@@ -33,7 +33,7 @@
             <place-select
               v-model.trim="filter.examPlace"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="考点"
               clearable
             ></place-select>
           </el-form-item>
@@ -41,14 +41,14 @@
             <room-select
               v-model.trim="filter.examRoom"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="考场"
               clearable
             ></room-select>
           </el-form-item>
           <el-form-item label="卷袋号:" label-width="70px">
             <el-input
               v-model="filter.packageCode"
-              placeholder="请输入"
+              placeholder="卷袋号"
               clearable
             ></el-input>
           </el-form-item>
@@ -58,8 +58,8 @@
               type="daterange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
+              start-placeholder="考试开始日期"
+              end-placeholder="考试结束日期"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -105,8 +105,8 @@
       </div>
     </div>
 
-    <div class="part-box">
-      <el-table ref="TableList" :data="dataList">
+    <div class="part-box part-box-pad">
+      <el-table class="mb-2" ref="TableList" :data="dataList">
         <el-table-column
           type="index"
           label="序号"
@@ -133,36 +133,37 @@
               v-if="checkPrivilege('link', 'preview')"
               class="btn-primary"
               type="text"
-              icon="icon icon-circle-right"
               @click="toPreview(scope.row)"
-              title="查看详情"
-            ></el-button>
+              >查看详情</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
-    </div>
-    <div class="part-box-flex">
-      <div>
-        <span class="mr-2"
-          >科次总计:<i class="color-primary">{{ totalData.totalSubjects }}</i>
-          科次</span
-        >
-        <span
-          >卷袋数量总计:<i class="color-primary">{{
-            totalData.packageCount
-          }}</i>
-          个</span
+      <div class="box-justify">
+        <div>
+          <span class="mr-2"
+            >科次总计:<i class="color-primary">{{
+              totalData.totalSubjects
+            }}</i>
+            科次</span
+          >
+          <span
+            >卷袋数量总计:<i class="color-primary">{{
+              totalData.packageCount
+            }}</i>
+            个</span
+          >
+        </div>
+        <el-pagination
+          background
+          layout="total,prev, pager, next"
+          :current-page="current"
+          :total="total"
+          :page-size="size"
+          @current-change="toPage"
         >
+        </el-pagination>
       </div>
-      <el-pagination
-        background
-        layout="total,prev, pager, next"
-        :current-page="current"
-        :total="total"
-        :page-size="size"
-        @current-change="toPage"
-      >
-      </el-pagination>
     </div>
 
     <!-- PreviewBusinessDetail -->

+ 9 - 10
src/modules/print/views/PlanLinkPaper.vue

@@ -7,7 +7,7 @@
             <el-select
               v-model="filter.relateType"
               style="width: 100px;"
-              placeholder="请选择"
+              placeholder="关联状态"
               clearable
             >
               <el-option
@@ -21,7 +21,7 @@
           <el-form-item label="印刷计划:">
             <print-plan-select
               v-model.trim="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="印刷计划"
               clearable
               multiple
               @change="printPlanChange"
@@ -31,7 +31,7 @@
             <course-select
               v-model.trim="filter.courseCode"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="课程(代码)"
               clearable
             ></course-select>
           </el-form-item>
@@ -40,7 +40,7 @@
               ref="PaperNumberSelect"
               v-model="filter.paperNumber"
               :print-plan-id="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="试卷编号"
               clearable
             ></paper-number-select>
           </el-form-item>
@@ -48,14 +48,14 @@
             <card-rule-select
               ref="CardRuleSelect"
               v-model.trim="filter.cardRuleId"
-              placeholder="请选择"
+              placeholder="题卡规则"
               clearable
             ></card-rule-select>
           </el-form-item>
           <el-form-item label="命题老师:">
             <el-input
               v-model="filter.userName"
-              placeholder="请输入"
+              placeholder="命题老师"
               clearable
             ></el-input>
           </el-form-item>
@@ -71,7 +71,7 @@
       </el-form>
     </div>
 
-    <div class="part-box">
+    <div class="part-box part-box-pad">
       <el-table ref="TableList" :data="dataList">
         <el-table-column
           type="index"
@@ -116,10 +116,9 @@
               v-if="checkPrivilege('link', 'edit')"
               class="btn-primary"
               type="text"
-              icon="icon icon-edit"
               @click="toEdit(scope.row)"
-              title="关联试卷"
-            ></el-button>
+              >关联试卷</el-button
+            >
           </template>
         </el-table-column>
       </el-table>

+ 12 - 17
src/modules/print/views/PrintPlanManage.vue

@@ -6,7 +6,7 @@
           <el-form-item label="印刷计划:">
             <print-plan-select
               v-model.trim="filter.printPlanIdList"
-              placeholder="请选择"
+              placeholder="印刷计划"
               multiple
               clearable
             ></print-plan-select>
@@ -15,7 +15,7 @@
             <el-select
               v-model="filter.status"
               style="width: 142px;"
-              placeholder="请选择"
+              placeholder="计划状态"
               clearable
             >
               <el-option
@@ -32,8 +32,8 @@
               type="datetimerange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
+              start-placeholder="创建开始时间"
+              end-placeholder="创建结束时间"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -62,7 +62,7 @@
       </div>
     </div>
 
-    <div class="part-box">
+    <div class="part-box part-box-pad">
       <el-table ref="TableList" :data="dataList">
         <el-table-column
           type="index"
@@ -104,34 +104,31 @@
               v-if="checkPrivilege('link', 'preview')"
               class="btn-primary"
               type="text"
-              icon="icon icon-circle-right"
               @click="toPreview(scope.row)"
-              title="查看"
-            ></el-button>
+              >查看</el-button
+            >
             <el-button
               class="btn-primary"
               type="text"
-              icon="icon icon-edit"
               @click="toEdit(scope.row)"
-              title="修改"
               v-if="
                 scope.row.createId === curUserId &&
                   scope.row.status === 'NEW' &&
                   checkPrivilege('link', 'edit')
               "
-            ></el-button>
+              >修改</el-button
+            >
             <el-button
-              class="btn-primary"
+              class="btn-danger"
               type="text"
-              icon="icon icon-delete"
               @click="toDelete(scope.row)"
-              title="删除"
               v-if="
                 scope.row.createId === curUserId &&
                   scope.row.status === 'NEW' &&
                   checkPrivilege('link', 'delete')
               "
-            ></el-button>
+              >删除</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
@@ -232,8 +229,6 @@ export default {
     },
     toDelete(row) {
       this.$confirm(`确定要删除印刷计划【${row.name}】吗?`, "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 19 - 30
src/modules/print/views/PrintTaskManage.vue

@@ -6,7 +6,7 @@
           <el-form-item label="印刷计划:">
             <print-plan-select
               v-model.trim="filter.printPlanId"
-              placeholder="请选择"
+              placeholder="印刷计划"
               clearable
               @change="printPlanChange"
             ></print-plan-select>
@@ -15,7 +15,7 @@
             <el-select
               v-model="filter.status"
               style="width: 100px;"
-              placeholder="请选择"
+              placeholder="印刷状态"
               clearable
             >
               <el-option
@@ -30,7 +30,7 @@
             <course-select
               v-model.trim="filter.courseCode"
               :print-plan-id="filter.printPlanId"
-              placeholder="请选择"
+              placeholder="课程(代码)"
               clearable
             ></course-select>
           </el-form-item>
@@ -39,7 +39,7 @@
               ref="PaperNumberSelect"
               v-model="filter.paperNumber"
               :print-plan-id="filter.printPlanId"
-              placeholder="请选择"
+              placeholder="试卷编号"
               clearable
             ></paper-number-select>
           </el-form-item>
@@ -47,7 +47,7 @@
             <place-select
               v-model.trim="filter.examPlace"
               :print-plan-id="filter.printPlanId"
-              placeholder="请选择"
+              placeholder="考点"
               clearable
             ></place-select>
           </el-form-item>
@@ -55,7 +55,7 @@
             <room-select
               v-model.trim="filter.examRoom"
               :print-plan-id="filter.printPlanId"
-              placeholder="请选择"
+              placeholder="考场"
               clearable
             ></room-select>
           </el-form-item>
@@ -65,8 +65,8 @@
               type="daterange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
+              start-placeholder="考试开始日期"
+              end-placeholder="考试结束日期"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -79,8 +79,8 @@
               type="datetimerange"
               :picker-options="pickerOptions"
               range-separator="至"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
+              start-placeholder="打印开始时间"
+              end-placeholder="打印结束时间"
               value-format="timestamp"
               align="right"
               unlink-panels
@@ -109,7 +109,7 @@
         </el-button>
       </div>
     </div>
-    <div class="part-box part-box-flex">
+    <div class="part-box part-box-pad box-justify">
       <p>
         <span class="mr-4"
           >科次总计:<i class="color-primary">{{ totalInfo.totalSubjects }}</i>
@@ -145,12 +145,10 @@
         >
       </p>
     </div>
-    <div class="part-box">
+    <div class="part-box part-box-pad">
       <el-table
         ref="TableList"
         :data="dataList"
-        border
-        stripe
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="50"></el-table-column>
@@ -229,20 +227,18 @@
               v-if="checkPrivilege('link', 'download')"
               class="btn-primary"
               type="text"
-              icon="icon icon-download-act"
               @click="toViewPdf(scope.row)"
-              title="查看pdf"
-            ></el-button>
+              >查看pdf</el-button
+            >
             <el-button
               v-if="
                 scope.row.status === 'READY' && checkPrivilege('link', 'submit')
               "
               class="btn-primary"
               type="text"
-              icon="icon icon-circle-share"
               @click="toSubmit(scope.row)"
-              title="提交印刷"
-            ></el-button>
+              >提交印刷</el-button
+            >
             <!-- <el-button
               v-if="scope.row.status === 'PRINTING'"
               class="btn-primary"
@@ -255,12 +251,11 @@
               v-if="
                 scope.row.status === 'WAITING' && checkPrivilege('link', 'end')
               "
-              class="btn-primary"
+              class="btn-danger"
               type="text"
-              icon="icon icon-close-act"
               @click="toCancel(scope.row)"
-              title="撤回提交"
-            ></el-button>
+              >撤回提交</el-button
+            >
             <!-- <el-button
               class="btn-primary"
               type="text"
@@ -410,8 +405,6 @@ export default {
     },
     toSubmit(row) {
       this.$confirm("确定提交该印刷任务吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {
@@ -425,8 +418,6 @@ export default {
     },
     toResubmit(row) {
       this.$confirm("确定重新提交该印刷任务吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {
@@ -443,8 +434,6 @@ export default {
     },
     toCancel(row) {
       this.$confirm("确定撤回该印刷任务的提交吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(async () => {

+ 1 - 2
src/plugins/axios.js

@@ -147,8 +147,7 @@ const errorDataCallback = response => {
     message = "身份验证失效,请重新登录";
     MessageBox.confirm(message, "重新登陆?", {
       type: "warning",
-      cancelButtonClass: "el-button--danger is-plain",
-      confirmButtonClass: "el-button--primary",
+
       closeOnClickModal: false,
       closeOnPressEscape: false,
       showClose: false,

+ 2 - 5
src/views/Home.vue

@@ -27,12 +27,11 @@
             class="menu-item menu-item-account"
             @click="$refs.ResetPwd.open()"
           >
-            <i class="el-icon-s-custom"></i>
+            <i class="icon icon-account"></i>
             <span :title="username">{{ username }}</span>
           </li>
           <li class="menu-item" @click="toLogout">
-            <i class="el-icon-switch-button"></i>
-            <span>退出登录</span>
+            <i class="icon icon-logout" title="退出登录"></i>
           </li>
         </ul>
       </div>
@@ -357,8 +356,6 @@ export default {
     },
     toLogout() {
       this.$confirm("确定要退出登录吗?", "提示", {
-        cancelButtonClass: "el-button--danger is-plain",
-        confirmButtonClass: "el-button--primary",
         type: "warning"
       })
         .then(() => {