소스 검색

答案悬浮框

Michael Wang 4 년 전
부모
커밋
cbbcc5b71c
2개의 변경된 파일18개의 추가작업 그리고 5개의 파일을 삭제
  1. 2 2
      src/components/QmDialog.vue
  2. 16 3
      src/features/mark/AnswerModal.vue

+ 2 - 2
src/components/QmDialog.vue

@@ -12,7 +12,7 @@
         </a-button>
       </header>
 
-      <div class="tw-m-1">
+      <div class="tw-m-1" style="height: calc(100% - 60px)">
         <slot></slot>
       </div>
 
@@ -51,7 +51,7 @@ export default defineComponent({
     });
 
     const savedStyle = JSON.parse(
-      sessionStorage.getItem("dialog-" + title) ?? ""
+      sessionStorage.getItem("dialog-" + title) ?? "{}"
     );
     if (savedStyle?.top) positionStyle.top = savedStyle?.top;
     if (savedStyle?.left) positionStyle.left = savedStyle?.left;

+ 16 - 3
src/features/mark/AnswerModal.vue

@@ -2,20 +2,33 @@
   <qm-dialog
     v-if="store.setting.uiSetting['answer.paper.modal']"
     ref="dialog"
+    width="700px"
+    height="400px"
     title="答案"
   >
-    my answer
+    <object
+      :data="answerPDFUrl"
+      type="application/pdf"
+      frameBorder="0"
+      scrolling="auto"
+      height="100%"
+      width="100%"
+      toolbar="1"
+    />
   </qm-dialog>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from "vue";
+import { computed, defineComponent, ref } from "vue";
 import { store } from "./store";
 
 export default defineComponent({
   name: "AnswerModal",
   setup() {
-    return { store };
+    const answerPDFUrl = computed(() => {
+      return store.setting.fileServer + store.setting.subject.answerUrl;
+    });
+    return { store, answerPDFUrl };
   },
 });
 </script>