Răsfoiți Sursa

评卷管理-评卷进度

zhangjie 1 an în urmă
părinte
comite
44ba2b6375

+ 673 - 667
src/assets/styles/element-ui-costom.scss

@@ -1,667 +1,673 @@
-/*
-* element-ui不管是自行构建的主题还是动态设置的主题,
-* 产生的css文件中存在近乎1/3的冗余样式,过于累赘,不如直接覆盖样式简洁。
-*/
-// dialog
-.el-dialog {
-  border-radius: 8px;
-  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 {
-      width: 100%;
-      position: fixed;
-      z-index: 9;
-      background-color: #fff;
-      border-bottom: 1px solid $--color-border;
-    }
-    .el-dialog__body {
-      padding-top: 90px;
-    }
-  }
-}
-.el-dialog__header {
-  padding: 15px 20px;
-  .el-dialog__title {
-    color: $--color-text-dark;
-    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;
-  position: relative;
-  border-top: 1px solid $--color-border;
-  color: $--color-text-dark-1;
-
-  .el-form-item__label {
-    padding-right: 2px;
-  }
-  .el-input-tips {
-    color: rgba(187, 187, 187, 1);
-    margin-left: 13px;
-  }
-}
-.el-dialog__footer {
-  overflow: hidden;
-  .el-button {
-    width: 100px;
-    border-radius: 8px;
-    float: right;
-    margin-left: 10px;
-  }
-}
-//
-.page-dialog {
-  .el-dialog.is-fullscreen {
-    background: $--color-background;
-    .el-dialog__body {
-      padding: 70px 20px 20px;
-    }
-  }
-  .el-dialog {
-    background: $--color-background;
-    .el-dialog__body {
-      padding: 20px;
-    }
-    .el-dialog__header {
-      background-color: #fff;
-    }
-  }
-}
-
-// .opacity-dialog
-.opacity-dialog {
-  .el-dialog {
-    background-color: transparent;
-  }
-  .el-dialog__header,
-  .el-dialog__footer {
-    display: none;
-  }
-  .el-dialog__body {
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    top: 0;
-    left: 0;
-    padding: 0;
-    background-color: transparent;
-  }
-}
-
-// form
-.el-form {
-  &-item {
-    &__error {
-      font-size: 12px;
-      color: rgba(254, 108, 105, 1);
-    }
-    &__content {
-      .el-table {
-        line-height: 1;
-      }
-    }
-  }
-  // form-info
-  &.form-info {
-    .el-form-item {
-      margin-bottom: 0;
-
-      .el-form-item__label {
-        color: $--color-text-gray-2;
-      }
-    }
-  }
-  &--label-top {
-    .el-form-item__label {
-      line-height: 20px;
-      padding-bottom: 5px;
-      font-size: 12px;
-    }
-  }
-}
-// input
-.el-input {
-  &.is-focus {
-    .el-input__inner {
-      border-color: $--color-primary !important;
-    }
-  }
-  &.is-disabled {
-    .el-input__inner {
-      color: $--color-text-gray-2;
-    }
-  }
-  .el-input__inner {
-    border-radius: 8px;
-    border-color: #ddd;
-    background-color: #fff;
-  }
-  // .el-input__suffix {
-  //   right: 0;
-  //   border-left: 1px solid #ddd;
-  // }
-}
-// textarea
-.el-textarea {
-  &.is-disabled {
-    .el-textarea__inner {
-      color: $--color-text-gray-2;
-    }
-  }
-}
-.el-select {
-  .el-input__suffix {
-    right: 0;
-    border-left: 1px solid #ddd;
-  }
-  .el-input {
-    .el-select__caret {
-      width: 30px;
-    }
-    .el-icon-arrow-up:before {
-      font-size: 12px;
-      content: "\e78f";
-    }
-  }
-}
-.el-select-dropdown {
-  &.popper-filter {
-    .el-scrollbar {
-      display: block !important;
-      padding-top: 52px;
-    }
-    .el-select-filter {
-      padding: 0 10px;
-      position: absolute;
-      width: 100%;
-      top: 10px;
-      left: 0;
-      z-index: 9;
-    }
-  }
-}
-// upload
-.el-upload,
-.el-upload-dragger {
-  width: 100%;
-}
-// radio
-.el-radio-button {
-  &:not(.is-disabled):hover {
-    .el-radio-button__inner {
-      color: $--color-primary;
-    }
-  }
-
-  &.is-active {
-    .el-radio-button__inner {
-      color: $--color-white !important;
-      border-color: $--color-primary !important;
-      background: $--color-primary !important;
-    }
-  }
-}
-// button
-.el-button {
-  border-radius: $--border-radius;
-
-  > .icon {
-    margin-right: 5px;
-  }
-  > span {
-    display: inline-block;
-  }
-  &.is-disabled:not(.el-button--text) {
-    color: $--color-text-gray-3 !important;
-    background: $--color-background !important;
-    border: 1px solid $--color-border !important;
-  }
-}
-
-.el-button + .popover-button,
-.popover-button + .el-button {
-  margin-left: 10px;
-}
-.el-button + .el-button {
-  margin-left: 10px;
-}
-.el-button--text + .el-button--text {
-  margin-left: 5px;
-}
-.el-button--small {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  font-size: 12px;
-}
-.el-button--text {
-  color: $--color-text-gray-2;
-
-  & + .el-button--text {
-    margin-left: 10px;
-  }
-}
-.el-button--info {
-  background-color: $--color-cyan;
-  border-color: $--color-cyan;
-
-  &:hover,
-  &:focus {
-    background-color: $--color-cyan-light;
-    border-color: $--color-cyan-light;
-  }
-}
-.el-button--primary {
-  background-color: $--color-primary;
-  border-color: $--color-primary;
-
-  &:hover,
-  &:focus {
-    background-color: $--color-primary-light;
-    border-color: $--color-primary-light;
-  }
-}
-.el-button--success {
-  background-color: $--color-success;
-  border-color: $--color-success;
-
-  &:hover,
-  &:focus {
-    background-color: $--color-success-light;
-    border-color: $--color-success-light;
-  }
-}
-
-// table
-.el-table {
-  color: $--color-text-dark-1;
-
-  thead th {
-    color: $--color-text-gray-2;
-  }
-
-  thead.is-group th {
-    background-color: $--color-white;
-  }
-
-  tr.el-table__row {
-    color: $--color-text-dark;
-  }
-  td,
-  th {
-    border-color: $--color-border !important;
-    padding: 14px 0;
-    font-weight: 500;
-  }
-  .el-table__row.row-danger {
-    color: $--color-danger;
-  }
-  &.el-table--noback {
-    tr.el-table__row {
-      background-color: $--color-white;
-    }
-  }
-
-  .cell-head {
-    display: inline-block;
-    vertical-align: middle;
-    line-height: 1.3;
-  }
-  // caret-wrapper
-  .caret-wrapper {
-    width: 20px;
-    height: 20px;
-    top: -1px;
-    .sort-caret {
-      &.ascending {
-        top: -1px;
-      }
-      &.descending {
-        bottom: -1px;
-      }
-    }
-  }
-  // action-column
-  td.action-column {
-    padding-left: 10px;
-    padding-right: 10px;
-    .cell {
-      padding: 0;
-      margin: 0 -5px;
-    }
-    .el-button--text {
-      padding: 0;
-      margin: 0 5px;
-      border: none !important;
-      outline: none !important;
-      &:not(.is-disabled):hover {
-        transform: scale(1.1);
-      }
-    }
-  }
-}
-.el-table--border {
-  border-radius: 10px;
-  th {
-    padding: 12px 0;
-    background-color: #fcfcfd;
-    border-right: none;
-  }
-  td {
-    border-right: none;
-  }
-}
-// el-checkbox
-.el-checkbox {
-  .el-checkbox__label {
-    color: $--color-text-gray-2 !important;
-  }
-  .el-checkbox__inner::after {
-    border-width: 2px;
-  }
-}
-.el-checkbox__input.is-checked .el-checkbox__inner {
-  background-color: $--color-white;
-  border-color: $--color-primary;
-
-  &::after {
-    border-color: $--color-primary;
-  }
-}
-.el-checkbox__input.is-indeterminate .el-checkbox__inner {
-  background-color: $--color-white;
-  border-color: $--color-primary;
-  &::before {
-    background-color: $--color-primary;
-  }
-}
-
-.el-radio {
-  .el-radio__label {
-    color: $--color-text-gray-2 !important;
-  }
-}
-.el-radio__input.is-checked .el-radio__inner {
-  background-color: $--color-white;
-  border-color: $--color-primary;
-  &::after {
-    width: 6px;
-    height: 6px;
-    background-color: $--color-primary;
-  }
-}
-
-// el-switch
-.el-switch {
-  &.is-checked {
-    .el-switch__core {
-      background-color: $--color-primary;
-      border-color: $--color-primary;
-    }
-  }
-}
-
-// el-pagination
-.el-pagination-li {
-  min-width: 32px;
-  height: 32px;
-  border-radius: 8px;
-  overflow: hidden;
-  background-color: $--color-white;
-  border: 1px solid #e1e3eb;
-}
-.el-pagination {
-  padding: 0;
-  .el-pagination__total {
-    float: left;
-  }
-  span:not([class*="suffix"]) {
-    line-height: 32px;
-    height: 32px;
-  }
-  &.is-background {
-    .btn-prev,
-    .btn-next {
-      color: $--color-text-gray-2;
-      margin: 0 5px;
-      @extend .el-pagination-li;
-    }
-    .btn-prev:disabled,
-    .btn-next:disabled {
-      opacity: 0.7;
-    }
-
-    .el-pager li {
-      color: $--color-text-gray-2;
-      margin: 0 5px;
-      padding: 0 8px;
-      line-height: 32px;
-
-      @extend .el-pagination-li;
-      &:not(.disabled).active {
-        color: #fff;
-        background-color: $--color-primary;
-      }
-    }
-  }
-  &__sizes {
-    .el-input__inner {
-      height: 32px;
-      line-height: 32px;
-      border: 1px solid #e1e3eb;
-    }
-  }
-}
-// el-message-box
-.el-message-box {
-  width: 320px;
-  background-color: #f6f6f6;
-  border-radius: 10px;
-  &__title {
-    display: none;
-  }
-  &__headerbtn {
-    display: none;
-  }
-  &__content {
-    text-align: center;
-
-    .el-message-box__status {
-      position: relative;
-      top: 0;
-      height: 48px;
-      width: 48px;
-      transform: none;
-      margin-bottom: 10px;
-
-      &.el-icon-warning {
-        border-radius: 50%;
-        &::before {
-          content: "";
-          position: absolute;
-          top: 0;
-          left: 0;
-          width: 100%;
-          height: 100%;
-          background-image: url(../images/icon-doubt.png);
-          background-repeat: no-repeat;
-          background-size: 100% 100%;
-        }
-      }
-    }
-    .el-message-box__message {
-      padding: 0;
-    }
-  }
-  &__btns {
-    height: 75px;
-    padding: 30px 20px 10px;
-    text-align: center;
-
-    > .el-button {
-      width: 100px;
-    }
-  }
-}
-
-.alert-message {
-  .el-message-box__btns {
-    text-align: center;
-    > .el-button {
-      position: relative;
-      left: auto;
-      top: 0;
-      margin: 0;
-    }
-  }
-}
-// .el-message
-.el-message {
-  .el-message__content {
-    word-wrap: break-word;
-    max-width: 600px;
-    line-height: 1.4;
-  }
-}
-.el-message-loading {
-  border-color: mix($--color-white, $--color-success, 80%);
-  background-color: mix($--color-white, $--color-success, 90%);
-}
-// el-date-editor
-.el-date-editor {
-  border-radius: 8px;
-  .el-range-separator {
-    width: auto;
-  }
-  .el-range-input {
-    background-color: transparent;
-  }
-}
-
-// el-step
-.el-step {
-  &__title.is-success,
-  &__description.is-success,
-  &__title.is-process,
-  &__description.is-process {
-    color: $--color-success;
-  }
-  &__title.is-process {
-    font-weight: normal;
-  }
-  &__head.is-success {
-    .el-step__line {
-      background-color: $--color-success;
-    }
-    .el-step__icon.is-text {
-      color: $--color-white;
-      border-color: $--color-success;
-      background-color: $--color-success;
-    }
-  }
-  &__head.is-process {
-    .el-step__icon.is-text {
-      color: $--color-success;
-      border-color: $--color-success;
-    }
-  }
-
-  &__title.is-wait,
-  &__description.is-wait {
-    color: $--color-text-gray-2;
-  }
-  &__head.is-wait {
-    .el-step__icon.is-text {
-      color: $--color-text-gray-2;
-      border-color: #e1e3eb;
-      background-color: #e1e3eb;
-    }
-  }
-}
-// el-popover
-.el-popper-dark {
-  background-color: $--color-text-dark-1;
-  color: #fff;
-  font-size: 12px;
-  line-height: 18px;
-  padding: 16px;
-  border: none;
-}
-.el-popper-dark {
-  box-shadow: 0px 10px 10px 0px rgba(54, 61, 89, 0.2);
-}
-.el-popper-dark[x-placement^="right"] .popper__arrow {
-  border-right-color: $--color-text-dark-1;
-
-  &::after {
-    border-right-color: $--color-text-dark-1;
-  }
-}
-.el-popper-dark[x-placement^="top"] .popper__arrow {
-  border-top-color: $--color-text-dark-1;
-
-  &::after {
-    border-top-color: $--color-text-dark-1;
-  }
-}
-.el-popper-dark[x-placement^="bottom"] .popper__arrow {
-  border-bottom-color: $--color-text-dark-1;
-
-  &::after {
-    border-bottom-color: $--color-text-dark-1;
-  }
-}
-.el-popper-dark[x-placement^="left"] .popper__arrow {
-  border-left-color: $--color-text-dark-1;
-
-  &::after {
-    border-left-color: $--color-text-dark-1;
-  }
-}
-// popper-list
-.popper-list {
-  min-width: auto;
-
-  .el-button {
-    display: block;
-    width: 100%;
-    margin: 0;
-    &:not(:last-child) {
-      margin-bottom: 5px;
-    }
-  }
-}
-// .el-tag
-.el-tag {
-  &.tag-spin {
-    margin: 3px;
-  }
-}
-// el-tree
-.el-tree {
-  .el-tree-node__content {
-    height: auto;
-    min-height: 26px;
-  }
-}
+/*
+* element-ui不管是自行构建的主题还是动态设置的主题,
+* 产生的css文件中存在近乎1/3的冗余样式,过于累赘,不如直接覆盖样式简洁。
+*/
+// dialog
+.el-dialog {
+  border-radius: 8px;
+  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 {
+      width: 100%;
+      position: fixed;
+      z-index: 9;
+      background-color: #fff;
+      border-bottom: 1px solid $--color-border;
+    }
+    .el-dialog__body {
+      padding-top: 90px;
+    }
+  }
+}
+.el-dialog__header {
+  padding: 15px 20px;
+  .el-dialog__title {
+    color: $--color-text-dark;
+    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;
+  position: relative;
+  border-top: 1px solid $--color-border;
+  color: $--color-text-dark-1;
+
+  .el-form-item__label {
+    padding-right: 2px;
+  }
+  .el-input-tips {
+    color: rgba(187, 187, 187, 1);
+    margin-left: 13px;
+  }
+}
+.el-dialog__footer {
+  overflow: hidden;
+  .el-button {
+    width: 100px;
+    border-radius: 8px;
+    float: right;
+    margin-left: 10px;
+  }
+}
+//
+.page-dialog {
+  .el-dialog.is-fullscreen {
+    background: $--color-background;
+    .el-dialog__body {
+      padding: 70px 20px 20px;
+    }
+  }
+  .el-dialog {
+    background: $--color-background;
+    .el-dialog__body {
+      padding: 20px;
+    }
+    .el-dialog__header {
+      background-color: #fff;
+    }
+  }
+}
+
+// .opacity-dialog
+.opacity-dialog {
+  .el-dialog {
+    background-color: transparent;
+  }
+  .el-dialog__header,
+  .el-dialog__footer {
+    display: none;
+  }
+  .el-dialog__body {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    padding: 0;
+    background-color: transparent;
+  }
+}
+
+// form
+.el-form {
+  &-item {
+    &__error {
+      font-size: 12px;
+      color: rgba(254, 108, 105, 1);
+    }
+    &__content {
+      .el-table {
+        line-height: 1;
+      }
+    }
+  }
+  // form-info
+  &.form-info {
+    .el-form-item {
+      margin-bottom: 0;
+
+      .el-form-item__label {
+        color: $--color-text-gray-2;
+      }
+    }
+  }
+  &--label-top {
+    .el-form-item__label {
+      line-height: 20px;
+      padding-bottom: 5px;
+      font-size: 12px;
+    }
+  }
+}
+// input
+.el-input {
+  &.is-focus {
+    .el-input__inner {
+      border-color: $--color-primary !important;
+    }
+  }
+  &.is-disabled {
+    .el-input__inner {
+      color: $--color-text-gray-2;
+    }
+  }
+  .el-input__inner {
+    border-radius: 8px;
+    border-color: #ddd;
+    background-color: #fff;
+  }
+  // .el-input__suffix {
+  //   right: 0;
+  //   border-left: 1px solid #ddd;
+  // }
+}
+// textarea
+.el-textarea {
+  &.is-disabled {
+    .el-textarea__inner {
+      color: $--color-text-gray-2;
+    }
+  }
+}
+.el-select {
+  .el-input__suffix {
+    right: 0;
+    border-left: 1px solid #ddd;
+  }
+  .el-input {
+    .el-select__caret {
+      width: 30px;
+    }
+    .el-icon-arrow-up:before {
+      font-size: 12px;
+      content: "\e78f";
+    }
+  }
+}
+.el-select-dropdown {
+  &.popper-filter {
+    .el-scrollbar {
+      display: block !important;
+      padding-top: 52px;
+    }
+    .el-select-filter {
+      padding: 0 10px;
+      position: absolute;
+      width: 100%;
+      top: 10px;
+      left: 0;
+      z-index: 9;
+    }
+  }
+}
+// upload
+.el-upload,
+.el-upload-dragger {
+  width: 100%;
+}
+// radio
+.el-radio-button {
+  &:not(.is-disabled):hover {
+    .el-radio-button__inner {
+      color: $--color-primary;
+    }
+  }
+
+  &.is-active {
+    .el-radio-button__inner {
+      color: $--color-white !important;
+      border-color: $--color-primary !important;
+      background: $--color-primary !important;
+    }
+  }
+}
+// button
+.el-button {
+  border-radius: $--border-radius;
+
+  > .icon {
+    margin-right: 5px;
+  }
+  > span {
+    display: inline-block;
+  }
+  &.is-disabled:not(.el-button--text) {
+    color: $--color-text-gray-3 !important;
+    background: $--color-background !important;
+    border: 1px solid $--color-border !important;
+  }
+}
+
+.el-button + .popover-button,
+.popover-button + .el-button {
+  margin-left: 10px;
+}
+.el-button + .el-button {
+  margin-left: 10px;
+}
+.el-button--text + .el-button--text {
+  margin-left: 5px;
+}
+.el-button--small {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  font-size: 12px;
+}
+.el-button--text {
+  color: $--color-text-gray-2;
+
+  & + .el-button--text {
+    margin-left: 10px;
+  }
+}
+.el-button--info {
+  background-color: $--color-cyan;
+  border-color: $--color-cyan;
+
+  &:hover,
+  &:focus {
+    background-color: $--color-cyan-light;
+    border-color: $--color-cyan-light;
+  }
+}
+.el-button--primary {
+  background-color: $--color-primary;
+  border-color: $--color-primary;
+
+  &:hover,
+  &:focus {
+    background-color: $--color-primary-light;
+    border-color: $--color-primary-light;
+  }
+}
+.el-button--success {
+  background-color: $--color-success;
+  border-color: $--color-success;
+
+  &:hover,
+  &:focus {
+    background-color: $--color-success-light;
+    border-color: $--color-success-light;
+  }
+}
+
+// table
+.el-table {
+  color: $--color-text-dark-1;
+
+  thead th {
+    color: $--color-text-gray-2;
+  }
+
+  thead.is-group th {
+    background-color: $--color-white;
+  }
+
+  tr.el-table__row {
+    color: $--color-text-dark;
+  }
+  td,
+  th {
+    border-color: $--color-border !important;
+    padding: 14px 0;
+    font-weight: 500;
+  }
+  .el-table__row.row-danger {
+    color: $--color-danger;
+  }
+  &.el-table--noback {
+    tr.el-table__row {
+      background-color: $--color-white;
+    }
+  }
+
+  .cell-head {
+    display: inline-block;
+    vertical-align: middle;
+    line-height: 1.3;
+  }
+  // caret-wrapper
+  .caret-wrapper {
+    width: 20px;
+    height: 20px;
+    top: -1px;
+    .sort-caret {
+      &.ascending {
+        top: -1px;
+      }
+      &.descending {
+        bottom: -1px;
+      }
+    }
+  }
+  // action-column
+  td.action-column {
+    padding-left: 10px;
+    padding-right: 10px;
+    .cell {
+      padding: 0;
+      margin: 0 -5px;
+    }
+    .el-button--text {
+      padding: 0;
+      margin: 0 5px;
+      border: none !important;
+      outline: none !important;
+      &:not(.is-disabled):hover {
+        transform: scale(1.1);
+      }
+    }
+  }
+}
+.el-table--border {
+  border-radius: 10px;
+  th {
+    padding: 12px 0;
+    background-color: #fcfcfd;
+    border-right: none;
+  }
+  td {
+    border-right: none;
+  }
+}
+// el-checkbox
+.el-checkbox {
+  .el-checkbox__label {
+    color: $--color-text-gray-2 !important;
+  }
+  .el-checkbox__inner::after {
+    border-width: 2px;
+  }
+}
+.el-checkbox__input.is-checked .el-checkbox__inner {
+  background-color: $--color-white;
+  border-color: $--color-primary;
+
+  &::after {
+    border-color: $--color-primary;
+  }
+}
+.el-checkbox__input.is-indeterminate .el-checkbox__inner {
+  background-color: $--color-white;
+  border-color: $--color-primary;
+  &::before {
+    background-color: $--color-primary;
+  }
+}
+
+.el-radio {
+  .el-radio__label {
+    color: $--color-text-gray-2 !important;
+  }
+}
+.el-radio__input.is-checked .el-radio__inner {
+  background-color: $--color-white;
+  border-color: $--color-primary;
+  &::after {
+    width: 6px;
+    height: 6px;
+    background-color: $--color-primary;
+  }
+}
+
+// el-switch
+.el-switch {
+  &.is-checked {
+    .el-switch__core {
+      background-color: $--color-primary;
+      border-color: $--color-primary;
+    }
+  }
+}
+
+// el-pagination
+.el-pagination-li {
+  min-width: 32px;
+  height: 32px;
+  border-radius: 8px;
+  overflow: hidden;
+  background-color: $--color-white;
+  border: 1px solid #e1e3eb;
+}
+.el-pagination {
+  padding: 0;
+  .el-pagination__total {
+    float: left;
+  }
+  span:not([class*="suffix"]) {
+    line-height: 32px;
+    height: 32px;
+  }
+  &.is-background {
+    .btn-prev,
+    .btn-next {
+      color: $--color-text-gray-2;
+      margin: 0 5px;
+      @extend .el-pagination-li;
+    }
+    .btn-prev:disabled,
+    .btn-next:disabled {
+      opacity: 0.7;
+    }
+
+    .el-pager li {
+      color: $--color-text-gray-2;
+      margin: 0 5px;
+      padding: 0 8px;
+      line-height: 32px;
+
+      @extend .el-pagination-li;
+      &:not(.disabled).active {
+        color: #fff;
+        background-color: $--color-primary;
+      }
+    }
+  }
+  &__sizes {
+    .el-input__inner {
+      height: 32px;
+      line-height: 32px;
+      border: 1px solid #e1e3eb;
+    }
+  }
+}
+// el-message-box
+.el-message-box {
+  width: 320px;
+  background-color: #f6f6f6;
+  border-radius: 10px;
+  &__title {
+    display: none;
+  }
+  &__headerbtn {
+    display: none;
+  }
+  &__content {
+    text-align: center;
+
+    .el-message-box__status {
+      position: relative;
+      top: 0;
+      height: 48px;
+      width: 48px;
+      transform: none;
+      margin-bottom: 10px;
+
+      &.el-icon-warning {
+        border-radius: 50%;
+        &::before {
+          content: "";
+          position: absolute;
+          top: 0;
+          left: 0;
+          width: 100%;
+          height: 100%;
+          background-image: url(../images/icon-doubt.png);
+          background-repeat: no-repeat;
+          background-size: 100% 100%;
+        }
+      }
+    }
+    .el-message-box__message {
+      padding: 0;
+    }
+  }
+  &__btns {
+    height: 75px;
+    padding: 30px 20px 10px;
+    text-align: center;
+
+    > .el-button {
+      width: 100px;
+    }
+  }
+}
+
+.alert-message {
+  .el-message-box__btns {
+    text-align: center;
+    > .el-button {
+      position: relative;
+      left: auto;
+      top: 0;
+      margin: 0;
+    }
+  }
+}
+// .el-message
+.el-message {
+  .el-message__content {
+    word-wrap: break-word;
+    max-width: 600px;
+    line-height: 1.4;
+  }
+}
+.el-message-loading {
+  border-color: mix($--color-white, $--color-success, 80%);
+  background-color: mix($--color-white, $--color-success, 90%);
+}
+// el-date-editor
+.el-date-editor {
+  border-radius: 8px;
+  .el-range-separator {
+    width: auto;
+  }
+  .el-range-input {
+    background-color: transparent;
+  }
+}
+
+// el-step
+.el-step {
+  &__title.is-success,
+  &__description.is-success,
+  &__title.is-process,
+  &__description.is-process {
+    color: $--color-success;
+  }
+  &__title.is-process {
+    font-weight: normal;
+  }
+  &__head.is-success {
+    .el-step__line {
+      background-color: $--color-success;
+    }
+    .el-step__icon.is-text {
+      color: $--color-white;
+      border-color: $--color-success;
+      background-color: $--color-success;
+    }
+  }
+  &__head.is-process {
+    .el-step__icon.is-text {
+      color: $--color-success;
+      border-color: $--color-success;
+    }
+  }
+
+  &__title.is-wait,
+  &__description.is-wait {
+    color: $--color-text-gray-2;
+  }
+  &__head.is-wait {
+    .el-step__icon.is-text {
+      color: $--color-text-gray-2;
+      border-color: #e1e3eb;
+      background-color: #e1e3eb;
+    }
+  }
+}
+// el-popover
+.el-popper-dark {
+  background-color: $--color-text-dark-1;
+  color: #fff;
+  font-size: 12px;
+  line-height: 18px;
+  padding: 16px;
+  border: none;
+}
+.el-popper-dark {
+  box-shadow: 0px 10px 10px 0px rgba(54, 61, 89, 0.2);
+}
+.el-popper-dark[x-placement^="right"] .popper__arrow {
+  border-right-color: $--color-text-dark-1;
+
+  &::after {
+    border-right-color: $--color-text-dark-1;
+  }
+}
+.el-popper-dark[x-placement^="top"] .popper__arrow {
+  border-top-color: $--color-text-dark-1;
+
+  &::after {
+    border-top-color: $--color-text-dark-1;
+  }
+}
+.el-popper-dark[x-placement^="bottom"] .popper__arrow {
+  border-bottom-color: $--color-text-dark-1;
+
+  &::after {
+    border-bottom-color: $--color-text-dark-1;
+  }
+}
+.el-popper-dark[x-placement^="left"] .popper__arrow {
+  border-left-color: $--color-text-dark-1;
+
+  &::after {
+    border-left-color: $--color-text-dark-1;
+  }
+}
+// popper-list
+.popper-list {
+  min-width: auto;
+
+  .el-button {
+    display: block;
+    width: 100%;
+    margin: 0;
+    &:not(:last-child) {
+      margin-bottom: 5px;
+    }
+  }
+}
+// .el-tag
+.el-tag {
+  &.tag-spin {
+    margin: 3px;
+  }
+}
+// el-tree
+.el-tree {
+  .el-tree-node__content {
+    height: auto;
+    min-height: 26px;
+  }
+}
+// el-breadcrumb el-space
+.el-breadcrumb {
+  &.el-space {
+    // TODO:
+  }
+}

+ 10 - 0
src/components/SecpSelect.vue

@@ -5,6 +5,7 @@
         v-model.trim="filter.semesterId"
         placeholder="学期"
         default-select
+        :clearable="!defaultSelectExam"
         @default-selected="semesterDefaultSelect"
       ></semester-select>
     </el-form-item>
@@ -12,6 +13,9 @@
       <exam-select
         v-model="filter.examId"
         :semester-id="filter.semesterId"
+        :clearable="!defaultSelectExam"
+        :default-select="defaultSelectExam"
+        @default-selected="examDefaultSelect"
       ></exam-select>
     </el-form-item>
     <el-form-item v-if="filterProps.includes('printPlanId')" label="印刷计划:">
@@ -74,6 +78,7 @@ export default {
       type: Boolean,
       default: true,
     },
+    defaultSelectExam: { type: Boolean, default: false },
   },
   data() {
     return {
@@ -113,9 +118,14 @@ export default {
       this.$emit("change", data);
     },
     semesterDefaultSelect() {
+      if (this.defaultSelectExam) return;
       this.emitChange();
       this.$emit("semester-default", this.getFilterData());
     },
+    examDefaultSelect() {
+      this.emitChange();
+      this.$emit("exam-default", this.getFilterData());
+    },
   },
 };
 </script>

+ 10 - 0
src/components/base/ExamSelect.vue

@@ -30,6 +30,7 @@ export default {
     clearable: { type: Boolean, default: true },
     semesterId: { type: String, default: "" },
     enable: { type: Boolean, default: null },
+    defaultSelect: { type: Boolean, default: false },
   },
   data() {
     return {
@@ -64,6 +65,7 @@ export default {
       if (this.enable !== null) data.enable = this.enable;
       const res = await conditionListExam(data);
       this.optionList = res;
+      if (this.defaultSelect && !this.value) this.selectDefault();
     },
     select() {
       this.$emit("input", this.selected);
@@ -72,6 +74,14 @@ export default {
         this.optionList.find((item) => item.id === this.selected)
       );
     },
+    selectDefault() {
+      const defaultData = this.optionList[0];
+      if (defaultData) {
+        this.selected = defaultData.id;
+        this.$emit("input", this.selected);
+        this.$emit("default-selected", defaultData);
+      }
+    },
   },
 };
 </script>

+ 28 - 2
src/modules/mark/api.js

@@ -5,7 +5,7 @@ export const markTaskListPage = (datas) => {
   return $postParam("/api/admin/mark/entrance/list", datas);
 };
 
-// mark-setting
+// mark-setting --------->
 export const markSettingListPage = (datas) => {
   return $postParam("/api/admin/mark/setting/list", datas);
 };
@@ -15,7 +15,7 @@ export const markSettingDetail = (datas) => {
 export const markSettingSave = (datas) => {
   return $post("/api/admin/mark/setting/paper/save", datas);
 };
-// mark-params
+// mark-params --------->
 // structure
 export const markStructureList = (datas) => {
   return $postParam("/api/admin/mark/question/list", datas);
@@ -66,3 +66,29 @@ export const markSubjectiveQuestionList = (datas) => {
 export const markSubjectiveQuestionUpload = (datas) => {
   return $post("/api/admin/mark/question/subjective/upload", datas);
 };
+
+// mark manage --------->
+export const markManageListPage = (datas) => {
+  return $postParam("/api/admin/mark/setting/summary", datas);
+};
+export const markManageListExport = (datas) => {
+  return $postParam("/api/admin/mark/setting/export_marker", datas, {
+    responseType: "blob",
+  });
+};
+export const markManageItemFinish = (datas) => {
+  return $postParam("/api/admin/mark/paper/finish", datas);
+};
+// mark detail
+// mark-progress
+export const markProgressSummary = (datas) => {
+  return $postParam("/api/admin/mark/group/summary", datas);
+};
+export const markProgressClassListPage = (datas) => {
+  return $postParam("/api/admin/mark/group/class/summary", datas);
+};
+export const markProgressMarkerExport = (datas) => {
+  return $postParam("/api/admin/mark/setting/export_marker", datas, {
+    responseType: "blob",
+  });
+};

+ 106 - 0
src/modules/mark/components/markDetail/MarkDetail.vue

@@ -0,0 +1,106 @@
+<template>
+  <el-dialog
+    class="mark-detail"
+    :visible.sync="modalIsShow"
+    top="0"
+    :close-on-click-modal="false"
+    :close-on-press-escape="false"
+    :show-close="false"
+    append-to-body
+    fullscreen
+    @open="initData"
+  >
+    <div slot="title">
+      <h2 class="el-dialog__title">阅卷管理</h2>
+      <span
+        >课程名称:{{ instance.courseName }}({{ instance.courseCode }})</span
+      >
+      <span>试卷编号:{{ instance.paperNumber }}</span>
+      <button class="el-dialog__headerbtn" @click="cancel"></button>
+    </div>
+
+    <div class="mb-4 tab-btns">
+      <el-button
+        v-for="tab in tabs"
+        :key="tab.val"
+        size="medium"
+        :type="curTab == tab.val ? 'primary' : 'default'"
+        @click="selectMenu(tab.val)"
+        >{{ tab.name }}
+      </el-button>
+    </div>
+
+    <component :is="currentComponent"></component>
+
+    <div slot="footer"></div>
+  </el-dialog>
+</template>
+
+<script>
+import MarkDetailProgress from "./MarkDetailProgress.vue";
+
+export default {
+  name: "mark-detail",
+  components: {
+    MarkDetailProgress,
+  },
+  props: {
+    instance: {
+      type: Object,
+      default() {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      modalIsShow: false,
+      // step
+      curTab: "progress",
+      tabs: [
+        {
+          name: "评卷进度",
+          val: "progress",
+        },
+        {
+          name: "评卷员管理",
+          val: "marker",
+        },
+        {
+          name: "评卷质量",
+          val: "quality",
+        },
+        {
+          name: "问题试卷",
+          val: "issue",
+        },
+        {
+          name: "仲裁管理",
+          val: "arbitration",
+        },
+      ],
+      current: 0,
+    };
+  },
+  computed: {
+    currentComponent() {
+      return `mark-detail-${this.curTab}`;
+    },
+  },
+  methods: {
+    initData() {
+      this.selectMenu("progress");
+    },
+    selectMenu(val) {
+      this.curTab = val;
+      this.current = this.tabs.findIndex((item) => item.val === val);
+    },
+    cancel() {
+      this.modalIsShow = false;
+    },
+    open() {
+      this.modalIsShow = true;
+    },
+  },
+};
+</script>

+ 246 - 0
src/modules/mark/components/markDetail/MarkDetailProgress.vue

@@ -0,0 +1,246 @@
+<template>
+  <div class="mark-detail-progress">
+    <div class="box-justify part-box part-box-pad">
+      <el-breadcrumb class="el-space" separator="|">
+        <el-breadcrumb-item
+          >考生人数:{{ summary.studentCount }}</el-breadcrumb-item
+        >
+        <el-breadcrumb-item
+          >已扫描人数:{{ summary.uploadCount }}</el-breadcrumb-item
+        >
+        <el-breadcrumb-item
+          >缺考人数:{{ summary.absentCount }}</el-breadcrumb-item
+        >
+        <el-breadcrumb-item
+          >阅卷进度:{{ summary.percent || 0 }}%</el-breadcrumb-item
+        >
+      </el-breadcrumb>
+      <div>
+        <el-button type="primary" :loading="downloading" @click="toExport"
+          >导出评卷员工作量</el-button
+        >
+      </div>
+    </div>
+    <div class="part-box pard-box-pad">
+      <div class="part-box-head">
+        <h3>班级阅卷进度</h3>
+      </div>
+      <el-table ref="TableList" :data="classList">
+        <el-table-column
+          prop="className"
+          label="班级"
+          min-width="200"
+        ></el-table-column>
+        <el-table-column
+          prop="markerCount"
+          label="评卷员"
+          min-width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="taskCount"
+          label="任务总数"
+          min-width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="markedCount"
+          label="完成总数"
+          min-width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="leftCount"
+          label="剩余总数"
+          min-width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="currentCount"
+          label="正在评卷"
+          min-width="100"
+        ></el-table-column>
+        <el-table-column prop="percent" label="进度" min-width="100">
+          <span slot-scope="scope">{{ scope.row.percent || 0 }}%</span>
+        </el-table-column>
+        <el-table-column
+          class-name="action-column"
+          label="待仲裁数"
+          width="100"
+          align="center"
+          fixed="right"
+        >
+          <template slot-scope="scope">
+            <el-button
+              class="btn-primary"
+              type="text"
+              @click="toArbitrate(scope.row)"
+              >{{ scope.row.arbitrateCount }}</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          background
+          layout="total, sizes, prev, pager, next, jumper"
+          :pager-count="5"
+          :current-page="current"
+          :total="total"
+          :page-size="size"
+          @current-change="toPage"
+          @size-change="pageSizeChange"
+        >
+        </el-pagination>
+      </div>
+    </div>
+    <div class="part-box pard-box-pad">
+      <div class="part-box-head">
+        <h3>评阅题目进度</h3>
+      </div>
+      <el-table ref="TableList" :data="questionList">
+        <el-table-column
+          prop="groupQuestions"
+          label="评阅题目"
+          min-width="200"
+        ></el-table-column>
+        <el-table-column
+          prop="markerCount"
+          label="评卷员"
+          width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="scoreList"
+          label="步骤分"
+          min-width="140"
+        ></el-table-column>
+        <el-table-column
+          prop="taskCount"
+          label="任务总数"
+          width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="markedCount"
+          label="完成总数"
+          width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="leftCount"
+          label="剩余总数"
+          width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="currentCount"
+          label="正在评卷"
+          width="100"
+        ></el-table-column>
+        <el-table-column prop="percent" label="进度" width="100">
+          <span slot-scope="scope">{{ scope.row.percent || 0 }}%</span>
+        </el-table-column>
+        <el-table-column
+          class-name="action-column"
+          label="待仲裁数"
+          width="100"
+          align="center"
+          fixed="right"
+        >
+          <template slot-scope="scope">
+            <el-button
+              class="btn-primary"
+              type="text"
+              @click="toArbitrate(scope.row)"
+              >{{ scope.row.arbitrateCount }}</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </div>
+</template>
+
+<script>
+import {
+  markProgressSummary,
+  markProgressClassListPage,
+  markProgressMarkerExport,
+} from "../../api";
+import { downloadByApi } from "@/plugins/download";
+
+export default {
+  name: "mark-detail-progress",
+  props: {
+    baseInfo: {
+      type: Object,
+      default() {
+        return {};
+      },
+    },
+  },
+  data() {
+    return {
+      filter: {},
+      size: this.GLOBAL.pageSize,
+      current: 1,
+      total: 0,
+      classList: [],
+      summary: {},
+      questionList: [],
+      curRow: {},
+      downloading: false,
+    };
+  },
+  mounted() {
+    this.getSummary();
+    this.toPage(1);
+  },
+  methods: {
+    async getSummary() {
+      const res = await markProgressSummary({
+        examId: this.baseInfo.examId,
+        paperNumber: this.baseInfo.paperNumber,
+      });
+      this.summary = res.totalInfo || {
+        studentCount: "",
+        uploadCount: "",
+        absentCount: "",
+        percent: "",
+      };
+      this.questionList = res.groupInfo || [];
+    },
+    async getClassList() {
+      const datas = {
+        examId: this.baseInfo.examId,
+        paperNumber: this.baseInfo.paperNumber,
+        pageNumber: this.current,
+        pageSize: this.size,
+      };
+      const data = await markProgressClassListPage(datas);
+      this.classList = data.records;
+      this.total = data.total;
+    },
+    toPage(page) {
+      this.current = page;
+      this.getClassList();
+    },
+    toArbitrate(row) {
+      console.log(row);
+      this.curRow = row;
+      // TODO:
+    },
+    async toExport() {
+      if (this.downloading) return;
+      this.downloading = true;
+
+      const res = await downloadByApi(() => {
+        return markProgressMarkerExport({
+          examId: this.baseInfo.examId,
+          courseCode: this.baseInfo.courseCode,
+          paperNumber: this.baseInfo.paperNumber,
+        });
+      }).catch((e) => {
+        this.$message.error(e || "下载失败,请重新尝试!");
+      });
+      this.downloading = false;
+
+      if (!res) return;
+      this.$message.success("下载成功!");
+    },
+  },
+};
+</script>

+ 0 - 1
src/modules/mark/components/markParam/ModifyMarkParams.vue

@@ -33,7 +33,6 @@
     <div v-if="dataReady">
       <component
         :is="currentComponent"
-        def="MarkParamRef"
         @cancel="cancel"
         @confirm="confirm"
       ></component>

+ 221 - 3
src/modules/mark/views/MarkManage.vue

@@ -1,13 +1,231 @@
 <template>
-  <div class="mark-manage">mark-manage</div>
+  <div class="mark-manage">
+    <div class="part-box part-box-filter part-box-flex">
+      <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
+        <template v-if="checkPrivilege('condition', 'condition')">
+          <secp-select
+            v-model="filter"
+            defaultSelectExam
+            @exam-default="search"
+          ></secp-select>
+        </template>
+        <el-form-item label="完成进度">
+          <el-select
+            v-model="filter.progressStatus"
+            style="width: 120px"
+            placeholder="完成进度"
+            clearable
+          >
+            <el-option :value="1">已完成</el-option>
+            <el-option :value="0">未完成</el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label-width="0px">
+          <el-button
+            v-if="checkPrivilege('button', 'select')"
+            type="primary"
+            @click="search"
+            >查询</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <div class="part-box-action">
+        <el-button
+          v-if="checkPrivilege('button', 'add')"
+          type="primary"
+          @click="toExport"
+        >
+          导出评卷员工作量
+        </el-button>
+        <el-button
+          v-if="checkPrivilege('button', 'add')"
+          type="primary"
+          :disabled="!multipleSelection.length"
+          @click="toBatchFinish"
+        >
+          结束评卷
+        </el-button>
+      </div>
+    </div>
+
+    <div class="part-box part-box-pad">
+      <el-table
+        ref="TableList"
+        :data="dataList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          type="selection"
+          width="55"
+          align="center"
+        ></el-table-column>
+        <el-table-column prop="courseName" label="课程(代码)" min-width="200">
+          <template slot-scope="scope">
+            {{ scope.row.courseName }}({{ scope.row.courseCode }})
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="paperNumber"
+          label="试卷编号"
+          min-width="140"
+        ></el-table-column>
+        <el-table-column prop="percent" label="完成进度" width="120">
+          <span slot-scope="scope">{{ scope.row.percent || 0 }}%</span>
+        </el-table-column>
+        <el-table-column
+          class-name="action-column"
+          label="操作"
+          width="200"
+          fixed="right"
+        >
+          <template slot-scope="scope">
+            <el-button
+              v-if="checkPrivilege('link', 'Submit')"
+              class="btn-primary"
+              type="text"
+              @click="toDetail(scope.row)"
+              >查看详情</el-button
+            >
+            <el-button
+              v-if="checkPrivilege('link', 'Submit')"
+              class="btn-primary"
+              type="text"
+              @click="toSimpleFinish(scope.row)"
+              >结束评卷</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          background
+          layout="total, sizes, prev, pager, next, jumper"
+          :pager-count="5"
+          :current-page="current"
+          :total="total"
+          :page-size="size"
+          @current-change="toPage"
+          @size-change="pageSizeChange"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import {
+  markManageListPage,
+  markManageItemFinish,
+  markManageListExport,
+} from "../api";
+import { downloadByApi } from "@/plugins/download";
+
 export default {
   name: "mark-manage",
+  components: {},
   data() {
-    return {};
+    return {
+      filter: {
+        semesterId: "",
+        examId: "",
+        courseCode: "",
+        paperNumber: "",
+        progressStatus: null,
+      },
+      current: 1,
+      size: this.GLOBAL.pageSize,
+      total: 0,
+      dataList: [],
+      curRow: {},
+      multipleSelection: [],
+      downloading: false,
+    };
+  },
+  methods: {
+    async getList() {
+      if (!this.checkPrivilege("list", "list")) return;
+
+      const datas = {
+        ...this.filter,
+        pageNumber: this.current,
+        pageSize: this.size,
+      };
+      if (datas.progressStatus !== null && datas.progressStatus !== "")
+        datas.progressStatus = !!datas.progressStatus;
+
+      const data = await markManageListPage(datas);
+      this.dataList = data.records;
+      this.total = data.total;
+    },
+    toPage(page) {
+      this.current = page;
+      this.getList();
+    },
+    search() {
+      this.toPage(1);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    async toExport() {
+      if (this.downloading) return;
+      this.downloading = true;
+
+      const res = await downloadByApi(() => {
+        return markManageListExport({
+          ...this.filter,
+        });
+      }).catch((e) => {
+        this.$message.error(e || "下载失败,请重新尝试!");
+      });
+      this.downloading = false;
+
+      if (!res) return;
+      this.$message.success("下载成功!");
+    },
+    toDetail(row) {
+      // TODO:
+      console.log(row);
+    },
+    async toBatchFinish() {
+      if (!this.multipleSelection.length) return;
+
+      const confirm = await this.$confirm("确定要结束选中的评卷?", "提示", {
+        type: "warning",
+      }).catch(() => {});
+      if (confirm !== "confirm") return;
+
+      this.toFinish(
+        this.multipleSelection[0].examId,
+        this.multipleSelection.map((item) => item.paperNumber)
+      );
+    },
+    async toSimpleFinish(row) {
+      const confirm = await this.$confirm("确定要结束当前评卷?", "提示", {
+        type: "warning",
+      }).catch(() => {});
+      if (confirm !== "confirm") return;
+
+      this.toFinish(row.examId, [row.paperNumber]);
+    },
+    async toFinish(examId, paperNumbers) {
+      if (!paperNumbers.length) return;
+
+      await markManageItemFinish({
+        examId,
+        paperNumbers,
+        status: "FINISH",
+      });
+      this.$message.success("操作成功!");
+      this.getList();
+    },
+    toBatchModifySetting() {
+      if (!this.multipleSelection.length) {
+        this.$message.error("请选择数据");
+        return;
+      }
+    },
   },
-  methods: {},
 };
 </script>

+ 0 - 2
src/modules/mark/views/MarkSetting.vue

@@ -82,7 +82,6 @@
               v-if="checkPrivilege('link', 'Submit')"
               class="btn-primary"
               type="text"
-              :disabled="scope.row.taskStatus === 'RUNNING'"
               @click="toSetParams(scope.row)"
               >评卷参数设置</el-button
             >
@@ -90,7 +89,6 @@
               v-if="checkPrivilege('link', 'Submit')"
               class="btn-primary"
               type="text"
-              :disabled="scope.row.taskStatus === 'RUNNING'"
               @click="toModifySetting(scope.row)"
               >评卷设置</el-button
             >