Ver código fonte

优化顶部退出逻辑

dengshaobo 1 mês atrás
pai
commit
0476412ea4

+ 0 - 4
src/styles/common.scss

@@ -5873,7 +5873,3 @@ body {
 }
 
 
-.el-button.is-disabled, .el-button.is-disabled:hover
-{
-  background-color: #97b2fd;
-}

+ 41 - 2
src/views/exam/abnormal/abnormal.vue

@@ -37,7 +37,7 @@
                     <el-option label="划分区" value="2"></el-option>
                 </el-select>
                 <el-button class="refresh_btn" @click="RefreshAbnormalList()"><i class="iconfont icon_shuaxin"></i>刷新</el-button>
-                <el-button class="fit_screen_btn" @click="FitScreen()">适应屏幕</el-button>
+                <el-button class="fit_screen_btn" @click="FitScreen()" v-if="abnormalType!=2">适应屏幕</el-button>
             </div>
         </div>
         <div class="left_image" :class="abnormalType==6 && isShowDrawType==2?'left_image_height_2':'left_image_height_1'">
@@ -555,6 +555,31 @@ const RefreshAbnormalList = () => {
 const FitScreen = () => {
     // TODO: 调用 ActionImage 或 Canvas 组件的 fit 方法
     console.log('适应屏幕')
+    // 检查 ActionCanvas 是否存在以及 fitScreen 方法是否存在
+    if(abnormalType.value==4 || abnormalType.value==3)
+    {
+        //客观题
+        ActionCanvas.value.FitScreen();
+    }
+
+    if(abnormalType.value==3)
+    {
+
+    }
+        
+    // }
+
+    // if (TemplatePositionCanvas.value && typeof TemplatePositionCanvas.value.FitScreen === 'function') {
+    //     TemplatePositionCanvas.value.FitScreen();
+    // }
+
+    // if (StudentPositionCanvas.value && typeof StudentPositionCanvas.value.FitScreen === 'function') {
+    //     StudentPositionCanvas.value.FitScreen();
+    // }
+
+    // if (PaperCanvas.value && typeof PaperCanvas.value.FitScreen === 'function') {
+    //     PaperCanvas.value.FitScreen();
+    // }
 }
 
 // 4. 显示/隐藏画框 (客观题)
@@ -1621,9 +1646,23 @@ const CalculateTableHeight = () => {
 
         /* 自定义字符 */
         // text-emphasis-style: '★';        /* 使用星号 */
-    text-emphasis-style: '※';       /* 使用参考标记 */
+    // text-emphasis-style: '※';       /* 使用参考标记 */
     text-emphasis-color: red;
     text-emphasis-position: under; /* 下方居中 */
     cursor: pointer;
 }
+
+//考号重复了 显示颜色样式
+.card_number_repeat
+{
+   
+    background-color: #fff;
+    font-size: 12px;
+    color:#F56D6D;
+    line-height: 20px;
+    border:1px solid #F56D6D;
+    margin-right: 5px;
+    padding: 3px 3px;
+    border-radius: 50%;
+}
 </style>

+ 1 - 1
src/views/exam/abnormal/tableList.vue

@@ -47,7 +47,7 @@
             <div class="search_button el_button">
                 <el-button class="refresh_btn" @click="RefreshList()" ><i class="iconfont icon_shuaxin"></i>刷新</el-button>
                 <el-button class="marke_miss_exam_btn" @click="AllMarkedMiss()" v-if="scanState == 0" >全部标缺</el-button>
-                <el-button  class="refresh_btn" @click="ExportData()"><i class="iconfont icon_export" style="margin-right: 5px;"></i>导出</el-button>
+                <!-- <el-button  class="refresh_btn" @click="ExportData()"><i class="iconfont icon_export" style="margin-right: 5px;"></i>导出</el-button> -->
                 <el-button style="padding:0px 10px;"  @click="OpenReldentify()" v-if="scanState == 1">重新识别客观题</el-button>
                 <el-button :class="multiSelection.length>0?'marke_normal_btn':'marke_normal_btn_disable'" @click="MarkStudent(0)"  v-if="scanState == 2" :disabled="!multiSelection.length">标记为正常</el-button>
                 <el-button :class="multiSelection.length>0?'marke_anomaly_btn':'marke_anomaly_btn_disable'" @click="MarkCardNumberAbnormal()"  v-if="scanState == 1" :disabled="!multiSelection.length>0">标记为异常</el-button>

+ 5 - 1
src/views/exam/components/UploadImage.vue

@@ -431,7 +431,11 @@ const UploadSingleFile = (file, index) => {
 
         // 根据环境确定上传地址
         let uploadUrl = '/api/v1/ai_exam_scan/upload_img';
-        if (import.meta.env.MODE  === 'production') {
+        if (import.meta.env.MODE  === 'development') {
+            uploadUrl = '/api/v1/ai_exam_scan/upload_img';//开发环境
+        }
+        else
+        {
             uploadUrl = '/teaching/api/v1/ai_exam_scan/upload_img';//线上环境
         }
 

+ 4 - 4
src/views/exam/examList.vue

@@ -7,11 +7,11 @@
                 <el-button @click="GoSearch()"  slot="append" icon="el-icon-search"></el-button>
             </el-input>
         </div>
-        <div class="content_right">
+        <div class="content_right el_button">
             <el-button @click="Refresh()" class="refresh_btn"><i class="iconfont icon_shuaxin"></i>刷新</el-button>
-            <el-button class="other_btn" @click="ExportExamStudentList()"  >
-                <i class="iconfont icon_export"> </i> 导出
-            </el-button>
+            <!-- <el-button @click="ExportExamStudentList()" class="refresh_btn">
+                <i class="iconfont icon_export" style="margin-right: 5px;"> </i> 导出
+            </el-button> -->
             <el-button @click="BackToTemplate()" class="other_btn" >重新导入名单</el-button>
             <el-button @click="OpenAddStudent()" class="add_student" >新增学生</el-button>
             <el-button @click="BackToScan()" type="primary" >扫描页面</el-button>

+ 2 - 1
src/views/exam/question.vue

@@ -369,7 +369,8 @@ const FinishQuestion=async ()=>{
     ElMessageBox.confirm('确认完成吗?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
-        type: 'warning'
+        type: 'warning',
+        customClass:'page_dialog',
     }).then(async () => {
         console.log('完成',tableData.value)
 

+ 27 - 12
src/views/layout/components/header.vue

@@ -17,8 +17,8 @@
       </div>
       <div class="header_right">
         <el-dropdown trigger="click" @command="UserCommand" placement="bottom-end">
-          <span class="userName">
-            {{ userInfo.nickname }}
+          <span class="user_name">
+            {{ userInfo.userName }}
             <el-icon class="el-icon--right">
               <arrow-down />
             </el-icon>
@@ -68,6 +68,7 @@ import { ElMessage } from 'element-plus'
 import type { FormInstance, FormRules } from 'element-plus'
 // 1. 引入 Pinia store
 import { useUserStore } from '@/store/user'
+import { replace } from 'lodash-es'
 
 // 2. 初始化 store
 const userStore = useUserStore()
@@ -107,11 +108,8 @@ const activeMenuName = computed(() => {
 //   activeMenuName.value = menuName
 // }
 const userInfo = computed(() => {
-  const user = localStorage.getItem('userInfo')
-  if (user) {
-    return JSON.parse(user)
-  }
-  return null
+  console.log("打印用户名",userStore.userInfo.userName)
+  return userStore.userInfo
 })
 const dialogShow = ref(false)
 interface EditPassWordData {
@@ -152,12 +150,27 @@ const setPassWord = () => {
 }
 // 退出登录
 const loginOutFn = async () => {
-  console.log(userInfo.value.username)
-  const res = await loginOut(userInfo.value.userid)
+  console.log("打印用户信息",userInfo.value)
+  const res = await loginOut(userInfo.value.userId)
   if(res.code == 200) {
     localStorage.removeItem('token')
     localStorage.removeItem('userInfo')
-    router.push('/login')
+    console.log("打印当前环境import.meta.env.MODE",import.meta.env.MODE);
+    //增加环境判断 
+    if(import.meta.env.MODE == 'development') {
+      // window.location.href = 'http://localhost:8080'
+      router.push('/login')
+    }
+    else if(import.meta.env.MODE == 'test')
+    {
+      window.location.href = 'https://dev3.k12100.net'
+    }
+    else if(import.meta.env.MODE == 'production')
+    {
+      window.location.href = 'https://www.k12100.com'
+    }
+    
+    // router.push('/login')
   }else {
     ElMessage.error(res.msg)
   }
@@ -379,9 +392,11 @@ const confirmPassWord = async (formEl: FormInstance | undefined) => {
 }
 
 .header_right {
-  width: auto;
+  min-width: 100px;
   line-height: 30px;
-
+  display: flex;
+  justify-content: flex-end;
+  align-items: center;
   .user_name {
     font-size: 15px;
     color: #fff;