zhangjie 2 yıl önce
ebeveyn
işleme
99d2d28ff8

+ 31 - 1
src/features/examwork/CourseManagement/PaperImportDialog.vue

@@ -4,6 +4,8 @@
     title="导入试卷"
     width="560px"
     :visible.sync="visible"
+    destroy-on-close
+    append-to-body
     @close="closeDialog"
   >
     <el-form
@@ -15,7 +17,19 @@
     >
       <el-row>
         <el-form-item label="选择文件">
-          <input @change="selectFile" type="file" /> *系统支持数据包
+          <el-button type="primary" @click="toSelectFile">选择文件</el-button
+          ><span v-if="form.fileName" class="margin-left-5">{{
+            form.fileName
+          }}</span>
+          <input
+            ref="SelectFileInput"
+            type="file"
+            style="display: none;"
+            @change="selectFile"
+          />
+          <div class="tips-info" style="padding: 0;">
+            <p>*系统支持数据包</p>
+          </div>
         </el-form-item>
       </el-row>
       <el-row>
@@ -97,12 +111,28 @@ export default {
     },
     closeDialog() {
       this.visible = false;
+      this.form = {
+        processPaper: false,
+        processAnswer: false,
+        objectiveShuffle: false,
+        optionShuffle: false,
+        audioPlayCount: 0,
+        file: "",
+        fileName: "",
+      };
+    },
+    toSelectFile() {
+      this.$refs.SelectFileInput.click();
     },
     selectFile(e) {
       this.form.file = e.target.files[0];
       this.form.fileName = this.form.file?.name;
     },
     async submitForm() {
+      if (!this.form.file) {
+        this.$message.error("请选择文件!");
+        return;
+      }
       let data = this.form;
 
       try {

+ 3 - 0
src/styles/base.scss

@@ -207,6 +207,9 @@ body {
 .tips-error {
   color: rgba(254, 88, 99, 1);
 }
+.margin-left-5 {
+  margin-left: 5px;
+}
 
 // :fullscreen
 .app-fullscreen {