刘洋 %!s(int64=2) %!d(string=hai) anos
pai
achega
e8f7d5b027

+ 2 - 2
electron/main/main.ts

@@ -24,8 +24,8 @@ async function createWindow() {
   loadingView.loadFile(resolve(__dirname, 'loading.html'))
   const mainWin = new BrowserWindow({
     show: false,
-    width: 1240,
-    height: 850,
+    width: 1680,
+    height: 900,
     frame: false,
     center: true,
     icon: path.join(__dirname, './icons/icon.png'),

+ 4 - 1
src/assets/styles/element/custom.scss

@@ -170,7 +170,10 @@ button.el-button {
     line-height: 40px;
   }
 }
-
+.preview-clear-mask{
+  width:0;
+  height:0;
+}
 .no-mask,
 .no-mask .el-overlay-dialog {
   pointer-events: none;

+ 14 - 1
src/components/shared/ImagePreview.vue

@@ -1,12 +1,13 @@
 <template>
   <base-dialog
+    v-if="showDialog"
     v-model="visible"
     less
     title="试卷预览"
     :can-resize="resizeKey ? resizeKey : 'can-resize2'"
     :modal="false"
     class="preview-dialog"
-    modal-class="no-mask"
+    modal-class="no-mask preview-clear-mask"
   >
     <div class="preview-content" :class="{ 'is-big': isBig }">
       <img v-show="!!url" class="small-img" :src="url" alt="" />
@@ -17,6 +18,9 @@
 <script setup lang="ts" name="ImagePreview">
 import BaseDialog from '../element/BaseDialog.vue'
 import useVModel from '@/hooks/useVModel'
+import { ref, watch } from 'vue'
+
+const showDialog = ref(true)
 
 const props = defineProps<{
   modelValue: boolean
@@ -25,6 +29,15 @@ const props = defineProps<{
   resizeKey?: string
 }>()
 const visible = useVModel(props)
+watch(
+  () => props.url,
+  () => {
+    showDialog.value = false
+    setTimeout(() => {
+      showDialog.value = true
+    }, 1)
+  }
+)
 </script>
 <style lang="scss">
 .preview-dialog {

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

@@ -329,7 +329,7 @@ fetchStandard()
     text-align: center;
   }
   .icon-title {
-    font-size: 8px;
+    font-size: 13px;
     transform: scale(0.9);
     color: #999;
   }

+ 4 - 6
src/directives/dialogResizeImg.ts

@@ -100,7 +100,7 @@ export const dialogResizeImg = {
       '<i class=' +
       (el.fullscreen ? '"el-icon-crop"' : '"el-icon-full-screen"') +
       ' onMouseOver="this.style.color=\'#409EFF\'" onMouseOut="this.style.color=\'inherit\'"></i>'
-    dialogHeaderEl.insertBefore(maxMin, dialogHeaderEl.childNodes[1])
+    // dialogHeaderEl.insertBefore(maxMin, dialogHeaderEl.childNodes[1])
     const moveDown = (e: any) => {
       // 鼠标按下,计算当前元素距离可视区的距离
       const disX = e.clientX - dialogHeaderEl.offsetLeft
@@ -135,7 +135,7 @@ export const dialogResizeImg = {
         document.onmousemove = null
         document.onmouseup = null
         console.log('dragDom.style.left:', dragDom.style.left, dragDom.style.top)
-        if (!imgError) {
+        if (!imgError && !!img.src) {
           localStorage.setItem(
             localKeyMap.positions[bValue],
             JSON.stringify({
@@ -146,9 +146,7 @@ export const dialogResizeImg = {
         }
       }
     }
-    if (!!img.src) {
-      dialogHeaderEl.onmousedown = moveDown
-    }
+    dialogHeaderEl.onmousedown = moveDown
     // const bodyHeight = 'auto'
 
     // function setMaxMin() {
@@ -273,7 +271,7 @@ export const dialogResizeImg = {
       document.onmouseup = function (e) {
         document.onmousemove = null
         document.onmouseup = null
-        if (!imgError) {
+        if (!imgError && !!img.src) {
           localStorage.setItem(
             localKeyMap.resize[bValue],
             JSON.stringify({

+ 1 - 1
src/modules/analysis/marking-progress/components/TotalProgress.vue

@@ -140,7 +140,7 @@ const totalColumns: EpTableColumn<TotalProgress>[] = [
     // label: '预计耗时(分)',
     label: '耗时',
     align: 'center',
-    minWidth: 50,
+    width: 150,
     prop: 'takeTime',
     // formatter(row) {
     //   // return `${parseFloat((row.takeTime / 60 / 60).toFixed(2))}`