刘洋 2 years ago
parent
commit
31f2ee8b6d

+ 2 - 1
server.config.ts

@@ -5,7 +5,8 @@ const server: ServerOptions = {
     '^/?(api|file)/': {
     '^/?(api|file)/': {
       // target: 'http://192.168.10.41:8200',
       // target: 'http://192.168.10.41:8200',
       // target: 'http://192.168.10.107:8200',
       // target: 'http://192.168.10.107:8200',
-      target: 'http://cet-test.markingtool.cn',
+      // target: 'http://cet-test.markingtool.cn',
+      target: 'http://192.168.10.136:80',
       // target: 'http://cet-dev.markingtool.cn:8200',
       // target: 'http://cet-dev.markingtool.cn:8200',
     },
     },
   },
   },

+ 1 - 1
src/api/user.ts

@@ -47,7 +47,7 @@ const UserApi: DefineApiModule<User.ApiMap> = {
   setUserMarkConfig: '/api/user/config/set',
   setUserMarkConfig: '/api/user/config/set',
   /** 获取试卷配置信息 */
   /** 获取试卷配置信息 */
   getUserMarkConfig: '/api/user/config/get',
   getUserMarkConfig: '/api/user/config/get',
-  unLockScreen: 'api/user/unlock',
+  unLockScreen: '/api/user/unlock',
 }
 }
 
 
 export default UserApi
 export default UserApi

+ 11 - 0
src/assets/styles/element/custom.scss

@@ -221,6 +221,17 @@ button.el-button {
     }
     }
   }
   }
 }
 }
+body{
+  .el-message{
+    z-index:10001 !important;
+  }
+  .el-loading-mask{
+    z-index:3001 !important;
+  }
+  .el-loading-parent--relative{
+    pointer-events:	auto !important;
+  }
+}
 
 
 // .el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table__body tr.current-row > td.el-table__cell{
 // .el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table__body tr.current-row > td.el-table__cell{
 //   background-color: #A1D6FF;
 //   background-color: #A1D6FF;

+ 3 - 3
src/components/shared/ScoringPanel.vue

@@ -155,9 +155,9 @@ const onEnter = (index: number) => {
   sessionStorage.set('dialogModeBeforeSubmit', dialogModeBeforeSubmit.value)
   sessionStorage.set('dialogModeBeforeSubmit', dialogModeBeforeSubmit.value)
 
 
   nextTick(() => {
   nextTick(() => {
-    console.log('index:', index)
-    console.log('scoreValues.value.length:', scoreValues.value.length)
-    console.log('questionList.value?.length:', questionList.value?.length)
+    // console.log('index:', index)
+    // console.log('scoreValues.value.length:', scoreValues.value.length)
+    // console.log('questionList.value?.length:', questionList.value?.length)
     let filterArr = scoreValues.value.filter((score) => score != undefined)
     let filterArr = scoreValues.value.filter((score) => score != undefined)
     // if (scoreValues.value.length >= questionList.value?.length) {
     // if (scoreValues.value.length >= questionList.value?.length) {
     if (filterArr.length >= questionList.value?.length) {
     if (filterArr.length >= questionList.value?.length) {

+ 5 - 2
src/components/shared/ScoringPanelWithConfirm.vue

@@ -34,13 +34,14 @@
 </template>
 </template>
 
 
 <script setup lang="ts" name="ScoringPanelWithConfirm">
 <script setup lang="ts" name="ScoringPanelWithConfirm">
-import { computed, ref, useAttrs, watch, nextTick, onMounted, onBeforeUnmount } from 'vue'
+import { computed, ref, useAttrs, watch, nextTick, onMounted, onBeforeUnmount, unref } from 'vue'
 import { add } from '@/utils/common'
 import { add } from '@/utils/common'
 import { ElButton } from 'element-plus'
 import { ElButton } from 'element-plus'
 import ScoringPanel from '@/components/shared/ScoringPanel.vue'
 import ScoringPanel from '@/components/shared/ScoringPanel.vue'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import useVModel from '@/hooks/useVModel'
 import useVModel from '@/hooks/useVModel'
 import useVW from '@/hooks/useVW'
 import useVW from '@/hooks/useVW'
+import { cloneDeep } from 'lodash'
 
 
 import type { ExtractApiResponse } from '@/api/api'
 import type { ExtractApiResponse } from '@/api/api'
 
 
@@ -125,7 +126,9 @@ const onConfirmSubmit = () => {
   if (!questionInfo.value) return
   if (!questionInfo.value) return
   modalVisible.value = true
   modalVisible.value = true
   submitModalVisible.value = false
   submitModalVisible.value = false
-  emit('submit', { question: questionInfo.value, scores: modelScore.value, totalScore: totalScore.value })
+  let confirmScoreArr = cloneDeep(unref(modelScore.value))
+  emit('submit', { question: questionInfo.value, scores: confirmScoreArr, totalScore: totalScore.value })
+  modelScore.value = []
 }
 }
 </script>
 </script>
 
 

+ 15 - 2
src/layout/LockScreen.vue

@@ -4,7 +4,14 @@
       <img src="../assets/images/lock_screen.png" class="m-r-base" />
       <img src="../assets/images/lock_screen.png" class="m-r-base" />
       <el-form ref="ruleFormRef" :model="form" :rules="rules">
       <el-form ref="ruleFormRef" :model="form" :rules="rules">
         <el-form-item label="" prop="pwd">
         <el-form-item label="" prop="pwd">
-          <el-input v-model="form.pwd" class="pwd-input" size="large" placeholder="请输入登录密码解锁"></el-input>
+          <el-input
+            v-model="form.pwd"
+            class="pwd-input"
+            size="large"
+            placeholder="请输入登录密码解锁"
+            clearable
+            @keydown="enter"
+          ></el-input>
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
           <el-button type="primary" size="large" class="m-l-base" @click="submit">确定</el-button>
           <el-button type="primary" size="large" class="m-l-base" @click="submit">确定</el-button>
@@ -32,6 +39,12 @@ const rules = reactive({
     },
     },
   ],
   ],
 })
 })
+const enter = (e: any) => {
+  if ('Enter' === e.key) {
+    submit()
+    e.preventDefault()
+  }
+}
 const submit = async () => {
 const submit = async () => {
   if (!form.pwd) {
   if (!form.pwd) {
     ElMessage.error('请输入登录密码')
     ElMessage.error('请输入登录密码')
@@ -63,7 +76,7 @@ const submit = async () => {
   right: 0;
   right: 0;
   bottom: 0;
   bottom: 0;
   top: 0;
   top: 0;
-  z-index: 1000;
+  z-index: 3000;
   background: rgba(0, 0, 0, 0.9);
   background: rgba(0, 0, 0, 0.9);
   .pwd-input {
   .pwd-input {
     width: 200px;
     width: 200px;

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

@@ -2,8 +2,13 @@
   <div class="flex direction-column full">
   <div class="flex direction-column full">
     <div class="flex items-center p-extra-small fill-blank header-view">
     <div class="flex items-center p-extra-small fill-blank header-view">
       <el-button class="m-r-auto" size="small" plain @click="back()">返回</el-button>
       <el-button class="m-r-auto" size="small" plain @click="back()">返回</el-button>
-      <message class="m-r-base" :paper-path="current?.filePath"></message>
-      <user-info></user-info>
+      <div class="m-r-base m-l-base">
+        <lock-entry></lock-entry>
+      </div>
+      <message class="m-r-base m-l-base" :paper-path="current?.filePath"></message>
+      <div class="m-r-base m-l-base">
+        <user-info></user-info>
+      </div>
     </div>
     </div>
     <div class="flex fill-blank detail-info">
     <div class="flex fill-blank detail-info">
       <div class="flex p-base detail-info-chart" style="width: 56%">
       <div class="flex p-base detail-info-chart" style="width: 56%">
@@ -88,7 +93,7 @@ import ScoringPanelWithConfirm from '@/components/shared/ScoringPanelWithConfirm
 import ImagePreview from '@/components/shared/ImagePreview.vue'
 import ImagePreview from '@/components/shared/ImagePreview.vue'
 import MarkHistoryList from '@/components/shared/MarkHistoryList.vue'
 import MarkHistoryList from '@/components/shared/MarkHistoryList.vue'
 import SvgIcon from '@/components/common/SvgIcon.vue'
 import SvgIcon from '@/components/common/SvgIcon.vue'
-
+import LockEntry from '@/components/common/LockEntry.vue'
 import type { EChartsOption } from 'echarts'
 import type { EChartsOption } from 'echarts'
 import type { ExtractMultipleApiResponse, ExtractApiResponse } from '@/api/api'
 import type { ExtractMultipleApiResponse, ExtractApiResponse } from '@/api/api'
 import type { EpTableColumn } from 'global-type'
 import type { EpTableColumn } from 'global-type'
@@ -197,15 +202,15 @@ const markerSubjectiveChartsOption = computed<EChartsOption>(() => {
       data: getXAxisData('scoreStart', subjectiveByMarker?.value?.segmentsByAll),
       data: getXAxisData('scoreStart', subjectiveByMarker?.value?.segmentsByAll),
     },
     },
     yAxis: [
     yAxis: [
-      {
-        type: 'value',
-      },
+      // {
+      //   type: 'value',
+      // },
       {
       {
         type: 'value',
         type: 'value',
         axisLabel: {
         axisLabel: {
           formatter: `{value}%`,
           formatter: `{value}%`,
         },
         },
-        splitLine: { show: false },
+        splitLine: { show: true },
       },
       },
     ],
     ],
     series: [
     series: [
@@ -256,15 +261,15 @@ const markerObjectiveChartsOption = computed<EChartsOption>(() => {
       data: getXAxisData('scoreStart', objectiveByMarker?.value?.segmentsByAll),
       data: getXAxisData('scoreStart', objectiveByMarker?.value?.segmentsByAll),
     },
     },
     yAxis: [
     yAxis: [
-      {
-        type: 'value',
-      },
+      // {
+      //   type: 'value',
+      // },
       {
       {
         type: 'value',
         type: 'value',
         axisLabel: {
         axisLabel: {
           formatter: `{value}%`,
           formatter: `{value}%`,
         },
         },
-        splitLine: { show: false },
+        splitLine: { show: true },
       },
       },
     ],
     ],
     series: [
     series: [

+ 9 - 2
src/modules/analysis/marker-statistics/index.vue

@@ -2,8 +2,14 @@
   <div class="full flex direction-column">
   <div class="full flex direction-column">
     <div class="flex items-center p-extra-small fill-blank header-view">
     <div class="flex items-center p-extra-small fill-blank header-view">
       <el-button class="m-r-auto" size="small" plain @click="back()">返回</el-button>
       <el-button class="m-r-auto" size="small" plain @click="back()">返回</el-button>
-      <message class="m-r-base"></message>
-      <user-info></user-info>
+      <div class="m-r-base m-l-base">
+        <lock-entry></lock-entry>
+      </div>
+      <message class="m-l-base m-r-base"></message>
+
+      <div class="m-l-base">
+        <user-info></user-info>
+      </div>
     </div>
     </div>
     <div class="flex-1 overflow-hidden flex direction-column">
     <div class="flex-1 overflow-hidden flex direction-column">
       <div class="fill-blank p-t-medium-base filter-header">
       <div class="fill-blank p-t-medium-base filter-header">
@@ -64,6 +70,7 @@ import UserInfo from '@/components/shared/UserInfo.vue'
 import BaseTable from '@/components/element/BaseTable.vue'
 import BaseTable from '@/components/element/BaseTable.vue'
 import BaseForm from '@/components/element/BaseForm.vue'
 import BaseForm from '@/components/element/BaseForm.vue'
 import useFetch from '@/hooks/useFetch'
 import useFetch from '@/hooks/useFetch'
+import LockEntry from '@/components/common/LockEntry.vue'
 
 
 import type { EChartsOption } from 'echarts'
 import type { EChartsOption } from 'echarts'
 import type { ExtractApiResponse } from '@/api/api'
 import type { ExtractApiResponse } from '@/api/api'

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

@@ -33,7 +33,7 @@
         </div>
         </div>
       </div>
       </div>
       <div class="p-base radius-base m-l-auto fill-blank data-detail-view">
       <div class="p-base radius-base m-l-auto fill-blank data-detail-view">
-        <div class="m-b-mini card-title">系统监控</div>
+        <div class="p-b-base card-title" style="margin-top: 2px">{{ activeCard ? activeCard.title : '系统监控' }}</div>
         <base-table
         <base-table
           v-if="activeCard"
           v-if="activeCard"
           border
           border