Bläddra i källkod

v1.1.0需求开发

刘洋 1 år sedan
förälder
incheckning
b398661310

+ 8 - 4
src/assets/styles/app.scss

@@ -106,10 +106,14 @@ a {
 .link-button {
 .link-button {
   background-color: transparent;
   background-color: transparent;
   color: $color--primary;
   color: $color--primary;
-  font-size: inherit;
-  padding-left: 14px;
-  background: url(../images/link.png) 0 2px no-repeat;
-  background-size: 12px 12px;
+  font-size: 12px;
+  // padding-left: 14px;
+  background: #fff url(../images/link.png) 6px 6px no-repeat;
+  background-size: 8px 8px;
+  padding:2px 8px 2px 18px;
+  border-radius:4px;
+  margin:0 4px;
+  font-weight:normal;
 }
 }
 
 
 #app {
 #app {

+ 6 - 1
src/components/shared/MarkHeader.vue

@@ -29,7 +29,11 @@
           <lock-entry :in-layout="false" />
           <lock-entry :in-layout="false" />
         </div>
         </div>
         <div class="icon-item">
         <div class="icon-item">
-          <message :reply-user-id="props.replyUserId" :paper-path="props.paperPath"></message>
+          <message
+            :reply-user-id="props.replyUserId"
+            :paper-path="props.paperPath"
+            :secret-number="props.secretNumber"
+          ></message>
         </div>
         </div>
         <!-- <div class="icon-item">
         <!-- <div class="icon-item">
           <user-info></user-info>
           <user-info></user-info>
@@ -132,6 +136,7 @@ const props = defineProps<{
   includeOperations?: ButtonType[]
   includeOperations?: ButtonType[]
   replyUserId?: number | null
   replyUserId?: number | null
   paperPath?: string | null
   paperPath?: string | null
+  secretNumber?: string | number | null
 }>()
 }>()
 
 
 const buttons: HeaderButton[] = [
 const buttons: HeaderButton[] = [

+ 3 - 1
src/components/shared/message/Message.vue

@@ -50,6 +50,7 @@
       v-model:type="messageWindowType"
       v-model:type="messageWindowType"
       v-model:replyUserId="replyUserId"
       v-model:replyUserId="replyUserId"
       :paper-path="props.paperPath"
       :paper-path="props.paperPath"
+      :secret-number="props.secretNumber"
     ></message-window>
     ></message-window>
   </message-component>
   </message-component>
 </template>
 </template>
@@ -75,8 +76,9 @@ const props = withDefaults(
     messageVisible?: boolean | null
     messageVisible?: boolean | null
     paperPath?: string | null
     paperPath?: string | null
     inLayout?: boolean
     inLayout?: boolean
+    secretNumber?: string | number | null
   }>(),
   }>(),
-  { type: 'view', replyUserId: null, paperPath: null, messageVisible: false }
+  { type: 'view', replyUserId: null, paperPath: null, messageVisible: false, secretNumber: null }
 )
 )
 const transContent = (content: any) => {
 const transContent = (content: any) => {
   return content
   return content

+ 67 - 12
src/components/shared/message/MessageList.vue

@@ -47,11 +47,16 @@
             v-html="currentMessage?.content"
             v-html="currentMessage?.content"
           ></pre> -->
           ></pre> -->
           <div ref="historyMsgWrap" class="history-box scroll-auto">
           <div ref="historyMsgWrap" class="history-box scroll-auto">
-            <div v-for="(message, index) in historyReverse" :key="index" class="m-b-base">
-              <div
-                class="m-b-mini message-header"
-                :class="{ 'other-name': message.sendUserId != mainStore?.myUserInfo?.id }"
-              >
+            <div
+              v-for="(message, index) in historyReverse"
+              :key="index"
+              class="m-b-base one-message"
+              :class="{
+                'other-person': message.sendUserId != mainStore?.myUserInfo?.id,
+                'self-person': message.sendUserId == mainStore?.myUserInfo?.id,
+              }"
+            >
+              <div class="m-b-mini message-header">
                 <span class="m-r-base user-name"
                 <span class="m-r-base user-name"
                   >{{ message.sendUserName }}{{ message.sendUserId == mainStore?.myUserInfo?.id ? '(我)' : '' }}</span
                   >{{ message.sendUserName }}{{ message.sendUserId == mainStore?.myUserInfo?.id ? '(我)' : '' }}</span
                 >
                 >
@@ -115,6 +120,7 @@ const props = defineProps<{
   replyUserId?: number | null
   replyUserId?: number | null
   paperPath?: string | null
   paperPath?: string | null
   replyUserName?: string | null
   replyUserName?: string | null
+  secretNumber?: string | number | null
 }>()
 }>()
 
 
 const emits = defineEmits(['close', 'change-type', 'reply', 'refresh'])
 const emits = defineEmits(['close', 'change-type', 'reply', 'refresh'])
@@ -135,7 +141,7 @@ const showSendPaper = computed<boolean>(() => {
 /** 发送当前试卷 */
 /** 发送当前试卷 */
 const sendCurrentPaper = () => {
 const sendCurrentPaper = () => {
   if (props.paperPath) {
   if (props.paperPath) {
-    messageContent.value += `<span class="pointer inline link-button" contenteditable="false" data-path="${props.paperPath}">查看试卷</span>`
+    messageContent.value += `<span class="pointer inline link-button" contenteditable="false" data-path="${props.paperPath}">查看试卷(${props.secretNumber})</span>`
   }
   }
 }
 }
 
 
@@ -329,20 +335,69 @@ onUnmounted(() => {
     position: relative;
     position: relative;
     .history-box {
     .history-box {
       height: 100%;
       height: 100%;
-      border: 1px solid #eee;
+      // border: 1px solid #eee;
+      background-color: #eee;
       border-radius: 4px;
       border-radius: 4px;
       padding: 15px;
       padding: 15px;
-      .message-header {
-        color: $color--primary;
-        &.other-name {
-          color: #999;
+      &:after {
+        content: '';
+        display: block;
+        clear: both;
+      }
+      .one-message {
+        border-radius: 4px;
+        padding: 12px;
+        max-width: 75%;
+
+        &.other-person {
+          background-color: #fff;
+          float: left;
+          :deep(.link-button) {
+            background-color: #e6f0ff !important;
+          }
+          .message-header {
+            .user-name {
+              color: #444;
+              font-size: 12px;
+              font-weight: bold;
+            }
+            .message-time {
+              color: #888;
+              font-size: 12px;
+            }
+          }
+        }
+        &.self-person {
+          background-color: $color--primary;
+          float: right;
+          .history-message-info-content {
+            color: #fff;
+          }
+          .message-header {
+            .user-name {
+              color: #fff;
+              font-size: 12px;
+              font-weight: bold;
+            }
+            .message-time {
+              color: #fff;
+              font-size: 12px;
+            }
+          }
         }
         }
       }
       }
+      // .message-header {
+      //   color: $color--primary;
+      //   &.other-name {
+      //     color: #999;
+      //   }
+      // }
       .history-message-info-content {
       .history-message-info-content {
         white-space: pre-wrap;
         white-space: pre-wrap;
         color: #444;
         color: #444;
         font-size: 12px;
         font-size: 12px;
-        font-weight: bold;
+        font-weight: 400;
+        line-height: 18px;
       }
       }
     }
     }
     .msg-content-box {
     .msg-content-box {

+ 2 - 1
src/components/shared/message/MessageSend.vue

@@ -94,6 +94,7 @@ const props = defineProps<{
   replyUserId?: number | null
   replyUserId?: number | null
   paperPath?: string | null
   paperPath?: string | null
   replyUserName?: string | null
   replyUserName?: string | null
+  secretNumber?: string | number | null
 }>()
 }>()
 const customNodeClass = (data: any, node: any) => {
 const customNodeClass = (data: any, node: any) => {
   // if (data.online === true) {
   // if (data.online === true) {
@@ -267,7 +268,7 @@ const onContentClick = (e: Event) => {
 /** 发送当前试卷 */
 /** 发送当前试卷 */
 const sendCurrentPaper = () => {
 const sendCurrentPaper = () => {
   if (props.paperPath) {
   if (props.paperPath) {
-    messageContent.value += `<span class="pointer inline link-button" contenteditable="false" data-path="${props.paperPath}">查看试卷</span>`
+    messageContent.value += `<span class="pointer inline link-button" contenteditable="false" data-path="${props.paperPath}">查看试卷(${props.secretNumber})</span>`
   }
   }
 }
 }
 
 

+ 3 - 1
src/components/shared/message/MessageWindow.vue

@@ -18,6 +18,7 @@
           :is="MessageWindowContent"
           :is="MessageWindowContent"
           :reply-user-id="replyUserId"
           :reply-user-id="replyUserId"
           :paper-path="props.paperPath"
           :paper-path="props.paperPath"
+          :secret-number="props.secretNumber"
           :reply-user-name="replyUserName"
           :reply-user-name="replyUserName"
           @close="onClose"
           @close="onClose"
           @change-type="onChangeType"
           @change-type="onChangeType"
@@ -55,8 +56,9 @@ const props = withDefaults(
     type: ModalType
     type: ModalType
     replyUserId?: number | null
     replyUserId?: number | null
     paperPath?: string | null
     paperPath?: string | null
+    secretNumber?: string | number | null
   }>(),
   }>(),
-  { type: 'view', replyUserId: null, paperPath: null }
+  { type: 'view', replyUserId: null, paperPath: null, secretNumber: null }
 )
 )
 const currentMessage = ref<any>(null)
 const currentMessage = ref<any>(null)
 const visible = useVModel(props, 'modelValue')
 const visible = useVModel(props, 'modelValue')

+ 1 - 1
src/modules/analysis/group-monitoring-detail/index.vue

@@ -18,7 +18,7 @@
           <lock-entry />
           <lock-entry />
         </div>
         </div>
         <div class="icon-item">
         <div class="icon-item">
-          <message :paper-path="current?.filePath"></message>
+          <message :paper-path="current?.filePath" :secret-number="current?.secretNumber"></message>
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>

+ 19 - 2
src/modules/analysis/personnel-statistics/index.vue

@@ -56,7 +56,7 @@
 
 
 <script setup lang="ts" name="AnalysisPersonnelStatistics">
 <script setup lang="ts" name="AnalysisPersonnelStatistics">
 /** 人员数据统计 */
 /** 人员数据统计 */
-import { computed, onMounted, ref, watch } from 'vue'
+import { computed, onMounted, ref, watch, watchEffect } from 'vue'
 import { omit } from 'lodash-es'
 import { omit } from 'lodash-es'
 import { ElButton, ElIcon, ElCheckboxGroup, ElCheckbox } from 'element-plus'
 import { ElButton, ElIcon, ElCheckboxGroup, ElCheckbox } from 'element-plus'
 import BaseForm from '@/components/element/BaseForm.vue'
 import BaseForm from '@/components/element/BaseForm.vue'
@@ -70,7 +70,8 @@ import { Setting } from '@element-plus/icons-vue'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import ConfirmButton from '@/components/common/ConfirmButton.vue'
 import ConfirmButton from '@/components/common/ConfirmButton.vue'
 import { cloneDeep } from 'lodash-es'
 import { cloneDeep } from 'lodash-es'
-
+import { useIntervalFn } from '@vueuse/core'
+import { getTodayByDay } from '@/utils/common'
 import type { ExtractApiResponse } from '@/api/api'
 import type { ExtractApiResponse } from '@/api/api'
 
 
 const { model, fetchModel, items, onOptionInit, groupListWithAll, changeModelValue } = useStatisticsFilter()
 const { model, fetchModel, items, onOptionInit, groupListWithAll, changeModelValue } = useStatisticsFilter()
@@ -78,6 +79,7 @@ const showColumnsSetting = ref(false)
 function cancel() {
 function cancel() {
   showColumnsSetting.value = false
   showColumnsSetting.value = false
 }
 }
+
 let searchMarkerId = ref<any>('')
 let searchMarkerId = ref<any>('')
 let searchOnline = ref<any>('')
 let searchOnline = ref<any>('')
 
 
@@ -211,6 +213,21 @@ const { fetch: exportStatisticsByGroup, loading: exporting } = useFetch('exportS
 function onExport() {
 function onExport() {
   exportStatisticsByGroup(omit(fetchModel.value, 'expand'))
   exportStatisticsByGroup(omit(fetchModel.value, 'expand'))
 }
 }
+
+const { pause, isActive, resume } = useIntervalFn(onSearch, 30000, { immediate: false })
+watchEffect(() => {
+  //如果是小组长登录,且时间选择为当天,则开启定时器,30秒刷一次,否则停掉定时器
+  if (
+    mainStore.myUserInfo &&
+    mainStore.myUserInfo.role === 'DEPUTY' &&
+    model.curDay == getTodayByDay() &&
+    !isActive.value
+  ) {
+    resume()
+  } else {
+    pause()
+  }
+})
 </script>
 </script>
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">

+ 1 - 0
src/modules/analysis/view-marked-detail/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="current?.filePath"
       :paper-path="current?.filePath"
+      :secret-number="current?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button :disabled="!current?.taskId" class="m-l-base" size="small" type="primary" @click="onEditScore"
       <!-- <el-button :disabled="!current?.taskId" class="m-l-base" size="small" type="primary" @click="onEditScore"

+ 1 - 0
src/modules/expert/assess/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentAssessPaper?.filePath"
       :paper-path="currentAssessPaper?.filePath"
+      :secret-number="currentAssessPaper?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->
       <!-- <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->

+ 1 - 0
src/modules/expert/expert/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'bookmark']"
       :paper-path="currentExpertPaper?.filePath"
       :paper-path="currentExpertPaper?.filePath"
+      :secret-number="currentExpertPaper?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->
       <!-- <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->

+ 1 - 0
src/modules/expert/sample/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentRfPaper?.filePath"
       :paper-path="currentRfPaper?.filePath"
+      :secret-number="currentRfPaper?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->
       <!-- <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->

+ 6 - 1
src/modules/expert/standard/index.vue

@@ -1,6 +1,11 @@
 <template>
 <template>
   <div class="flex direction-column full">
   <div class="flex direction-column full">
-    <mark-header :include-operations="['back']" :paper-path="currentStandardPaper?.filePath" @click="onOperationClick">
+    <mark-header
+      :include-operations="['back']"
+      :paper-path="currentStandardPaper?.filePath"
+      :secret-number="currentStandardPaper?.secretNumber"
+      @click="onOperationClick"
+    >
       <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onTransformToSample">转为样卷</el-button>
       <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onTransformToSample">转为样卷</el-button>
     </mark-header>
     </mark-header>
     <div class="flex flex-1 overflow-hidden p-base mark-container">
     <div class="flex flex-1 overflow-hidden p-base mark-container">

+ 1 - 0
src/modules/expert/training/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="current?.filePath"
       :paper-path="current?.filePath"
+      :secret-number="current?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     ></mark-header>
     ></mark-header>
     <div class="flex flex-1 overflow-hidden p-base mark-container">
     <div class="flex flex-1 overflow-hidden p-base mark-container">

+ 1 - 0
src/modules/marking/arbitration/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentArbitration?.filePath"
       :paper-path="currentArbitration?.filePath"
+      :secret-number="currentArbitration?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     ></mark-header>
     ></mark-header>
     <div class="flex flex-1 overflow-hidden p-base mark-container">
     <div class="flex flex-1 overflow-hidden p-base mark-container">

+ 1 - 0
src/modules/marking/inquiry-result/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete']"
       :exclude-operations="['remark', 'problem', 'example', 'delete']"
       :paper-path="current?.filePath"
       :paper-path="current?.filePath"
+      :secret-number="current?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button :disabled="!current?.taskId" class="m-l-base" size="small" type="primary" @click="onEditScore"
       <!-- <el-button :disabled="!current?.taskId" class="m-l-base" size="small" type="primary" @click="onEditScore"

+ 9 - 2
src/modules/marking/mark/index.vue

@@ -1,6 +1,11 @@
 <template>
 <template>
   <div class="flex direction-column full mark-page">
   <div class="flex direction-column full mark-page">
-    <mark-header :exclude-operations="excludeOperations" :paper-path="currentTask?.url" @click="onOperationClick">
+    <mark-header
+      :exclude-operations="excludeOperations"
+      :paper-path="currentTask?.url"
+      :secret-number="currentTask?.secretNumber"
+      @click="onOperationClick"
+    >
       <div class="data-item">
       <div class="data-item">
         <!-- 已评: {{ markStatus?.personCount || 0 }} /
         <!-- 已评: {{ markStatus?.personCount || 0 }} /
         {{ minus(markStatus?.totalCount || 0, markStatus?.markedCount || 0) }} -->
         {{ minus(markStatus?.totalCount || 0, markStatus?.markedCount || 0) }} -->
@@ -24,7 +29,9 @@
       </div>
       </div>
     </mark-header>
     </mark-header>
     <div class="flex flex-1 overflow-hidden p-base mark-container">
     <div class="flex flex-1 overflow-hidden p-base mark-container">
-      <div v-if="!enableRemark && !currentTask" class="waiting flex justify-center items-center">等待组长审核</div>
+      <div v-if="!enableRemark && !currentTask" class="waiting flex flex-1 justify-center items-center">
+        等待组长审核
+      </div>
       <div
       <div
         v-else-if="!!currentTask"
         v-else-if="!!currentTask"
         class="flex flex-1 direction-column radius-base full fill-blank mark-content"
         class="flex flex-1 direction-column radius-base full fill-blank mark-content"

+ 1 - 0
src/modules/marking/problem/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentProblem?.filePath"
       :paper-path="currentProblem?.filePath"
+      :secret-number="currentProblem?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <el-button
       <el-button

+ 1 - 0
src/modules/marking/repeat/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentReMarkPaper?.filePath"
       :paper-path="currentReMarkPaper?.filePath"
+      :secret-number="currentReMarkPaper?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <el-button
       <el-button

+ 6 - 1
src/modules/marking/similar/index.vue

@@ -1,6 +1,11 @@
 <template>
 <template>
   <div class="flex direction-column full">
   <div class="flex direction-column full">
-    <mark-header :include-operations="['back']" :paper-path="currentSamePaper?.filePath" @click="onOperationClick">
+    <mark-header
+      :include-operations="['back']"
+      :paper-path="currentSamePaper?.filePath"
+      :secret-number="currentSamePaper?.secretNumber"
+      @click="onOperationClick"
+    >
       <el-button class="m-l-base" size="small" type="primary" @click="onConfirmSame(true)">确定雷同</el-button>
       <el-button class="m-l-base" size="small" type="primary" @click="onConfirmSame(true)">确定雷同</el-button>
       <el-button class="m-l-base" size="small" type="primary" plain @click="onConfirmSame(false)">否定雷同</el-button>
       <el-button class="m-l-base" size="small" type="primary" plain @click="onConfirmSame(false)">否定雷同</el-button>
       <el-button class="m-l-base m-r-auto" size="small" type="primary" custom-1 @click="onExport"> 导出 </el-button>
       <el-button class="m-l-base m-r-auto" size="small" type="primary" custom-1 @click="onExport"> 导出 </el-button>

+ 1 - 0
src/modules/marking/training-record/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="current?.url"
       :paper-path="current?.url"
+      :secret-number="current?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     ></mark-header>
     ></mark-header>
     <div class="flex flex-1 overflow-hidden p-base mark-container">
     <div class="flex flex-1 overflow-hidden p-base mark-container">

+ 6 - 1
src/modules/marking/view-sample/index.vue

@@ -5,7 +5,12 @@
       :paper-path="current?.url"
       :paper-path="current?.url"
       @click="onOperationClick"
       @click="onOperationClick"
     ></mark-header> -->
     ></mark-header> -->
-    <mark-header :exclude-operations="['delete', 'bookmark']" :paper-path="current?.url" @click="onOperationClick">
+    <mark-header
+      :exclude-operations="['delete', 'bookmark']"
+      :paper-path="current?.url"
+      :secret-number="current?.secretNumber"
+      @click="onOperationClick"
+    >
       <div v-if="current" class="data-item">
       <div v-if="current" class="data-item">
         <p class="main-ques-info truncate">{{ current?.mainNumber }}-{{ current?.mainTitle }}</p>
         <p class="main-ques-info truncate">{{ current?.mainNumber }}-{{ current?.mainTitle }}</p>
       </div>
       </div>

+ 1 - 0
src/modules/monitor/system-check/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentSystemCheckPaper?.filePath"
       :paper-path="currentSystemCheckPaper?.filePath"
+      :secret-number="currentSystemCheckPaper?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <template v-if="!hideHeaderButtons">
       <template v-if="!hideHeaderButtons">

+ 1 - 0
src/modules/monitor/training-monitoring-detail/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="current?.filePath"
       :paper-path="current?.filePath"
+      :secret-number="current?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
     </mark-header>
     </mark-header>

+ 1 - 0
src/modules/quality/self-check-detail/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="current?.filePath"
       :paper-path="current?.filePath"
+      :secret-number="current?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button class="m-l-base" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->
       <!-- <el-button class="m-l-base" size="small" type="primary" @click="onEditScore">修改给分</el-button> -->

+ 1 - 0
src/modules/quality/subjective-check/index.vue

@@ -3,6 +3,7 @@
     <mark-header
     <mark-header
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :exclude-operations="['remark', 'problem', 'example', 'delete', 'bookmark']"
       :paper-path="currentSubjectiveCheck?.filePath"
       :paper-path="currentSubjectiveCheck?.filePath"
+      :secret-number="currentSubjectiveCheck?.secretNumber"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
       <!-- <el-button type="primary" size="small" class="m-l-base" @click="onEditScore">修改给分</el-button> -->
       <!-- <el-button type="primary" size="small" class="m-l-base" @click="onEditScore">修改给分</el-button> -->