lsc 1 yıl önce
ebeveyn
işleme
9c10310f40

+ 1 - 1
dist/index.html

@@ -25,7 +25,7 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.5872eda8f958a989743193784f323f45.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.4ae2783fdfe7ab52e4d5.js></script><script type=text/javascript src=./static/js/vendor.b01159b52abeac4e6216.js></script><script type=text/javascript src=./static/js/app.0dd779a884f71287999a.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.e2c340dc96d07b734b8e6327882b6ff9.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.b01159b52abeac4e6216.js></script><script type=text/javascript src=./static/js/app.3b572a793cfa7f653608.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/css/app.5872eda8f958a989743193784f323f45.css.map


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/css/app.e2c340dc96d07b734b8e6327882b6ff9.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/css/app.e2c340dc96d07b734b8e6327882b6ff9.css.map


BIN
dist/static/img/download.5a3bba5.png


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/0.7bd37c6227e5d67b75fe.js.map


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/0.7da288988865a9378b49.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/0.7da288988865a9378b49.js.map


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/app.0dd779a884f71287999a.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/app.3b572a793cfa7f653608.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/app.3b572a793cfa7f653608.js.map


+ 2 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js

@@ -0,0 +1,2 @@
+!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(n&&n(r,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)f=o(o.s=c[s]);return f};var r={},t={4:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"7da288988865a9378b49",1:"994623639438b244a74c"}[e]+".js";var i=setTimeout(u,12e4);function u(){c.onerror=c.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=u,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
+//# sourceMappingURL=manifest.3512a67a6213c2df4180.js.map

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


+ 0 - 2
dist/static/js/manifest.4ae2783fdfe7ab52e4d5.js

@@ -1,2 +0,0 @@
-!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={4:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"7bd37c6227e5d67b75fe",1:"994623639438b244a74c"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
-//# sourceMappingURL=manifest.4ae2783fdfe7ab52e4d5.js.map

BIN
src/assets/icon/fileIcon/download.png


+ 46 - 2
src/components/pages/test/add/edit/check/file.vue

@@ -13,8 +13,9 @@
                 <div class="binfo_input">
                     <div class="fileBox" v-if="checkJson.file && checkJson.file.length">
                         <div class="fileC">
-                            <div class="file" v-for="(item, index) in checkJson.file" :key="index">
+                            <div class="file" v-for="(item, index) in checkJson.file" :key="index" @click.stop="checkFile(item)">
                                 <img class="del" src="../../../../../../assets/icon/fileIcon/deleteworks.png" @click.stop="delFile(index)" />
+                                <img class="download" src="../../../../../../assets/icon/fileIcon/download.png" @click.stop="downloadFile(item)"  :style="{right: checktype != 1 ? '10px' : '45px'}" />
                                 <img class="img" :src="wordIcon" alt="" v-if="item.type == 1" />
                                 <img class="img" :src="videoIcon" alt="" v-if="item.type == 2" />
                                 <img class="img" :src="item.url" alt="" v-if="item.type == 3" />
@@ -61,6 +62,9 @@
                     placeholder=""></textarea> -->
             </div>
         </div>
+        <wpdf :dialogVisiblePdf.sync="dialogVisiblePdf" :url="wurl"></wpdf>
+        <wVideo :dialogVisibleVideo.sync="dialogVisibleVideo" :url="wurl"></wVideo>
+        <wOffice :dialogVisibleOffice.sync="dialogVisibleOffice" :url="wurl"></wOffice>
     </div>
 </template>
 
@@ -70,7 +74,16 @@ import "../../../../../../common/aws-sdk-2.235.1.min.js";
 import videoIcon from '../../../../../../assets/icon/fileIcon/isVideo.png'
 import wordIcon from '../../../../../../assets/icon/fileIcon/isWord.png'
 import fileIcon from '../../../../../../assets/icon/fileIcon/word2.png'
+
+import wpdf from "../../../file/wpdf.vue";
+import wVideo from "../../../file/wVideo.vue";
+import wOffice from "../../../file/wOffice.vue";
 export default {
+    components: {
+        wpdf,
+        wVideo,
+        wOffice,
+    },
     props: {
         cJson: {
             type: Object,
@@ -97,6 +110,10 @@ export default {
             videoIcon: videoIcon,
             wordIcon: wordIcon,
             fileIcon: fileIcon,
+            dialogVisiblePdf:false,
+            dialogVisibleVideo:false,
+            dialogVisibleOffice:false,
+            wurl: "",
         }
     },
     watch: {
@@ -259,7 +276,7 @@ export default {
                             ) {
                                 _type = 3; //图片
                             } else if (
-                                'PDF'.indexOf(
+                                'pdf'.indexOf(
                                     data.Location.split(".")[
                                         data.Location.split(".").length - 1
                                     ].toLocaleLowerCase()
@@ -291,6 +308,22 @@ export default {
                     });
             }
         },
+        checkFile(item){
+            if(item.type == 3){
+                this.$hevueImgPreview(item.url);
+            }else if(item.type == 5){
+                this.downloadFile(item);
+            }else if(item.type == 1){
+                this.dialogVisibleOffice = true
+                this.wurl = item.url
+            }else if(item.type == 2){
+                this.dialogVisibleVideo = true
+                this.wurl = item.url
+            }else if(item.type == 4){
+                this.dialogVisiblePdf = true
+                this.wurl = item.url
+            }
+        },
         delFile(index){
             this.checkJson.file.splice(index,1)
         }
@@ -453,6 +486,17 @@ export default {
     right: 10px;
     cursor: pointer;
 }
+
+.binfo_input>.fileBox .fileC>.file>.download {
+    position: absolute;
+    width: 25px;
+    top: 10px;
+    right: 35px;
+    cursor: pointer;
+    opacity: .8;
+}
+
+
 .binfo_input>.fileBox .fileC>.file > .name{
     height: 35px;
     width: 100%;

+ 83 - 0
src/components/pages/test/file/wOffice.vue

@@ -0,0 +1,83 @@
+<template>
+  <el-dialog
+    title="文档查看"
+    :visible.sync="dialogVisibleOffice"
+    :append-to-body="true"
+    width="95%"
+    :before-close="handleClose"
+    class="dialog_diy"
+  >
+    <div style="height: 100%;">
+        <iframe ref="viframe" style="width: 100%; height: 99%; border: none"
+                :src="'https://view.officeapps.live.com/op/view.aspx?src=' + encodeURIComponent(url)"></iframe>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="close()">关 闭</el-button>
+    </span>
+  </el-dialog>
+</template>
+
+<script>
+export default {
+  props: {
+    dialogVisibleOffice: {
+      type: Boolean,
+      default: false
+    },
+    url: {
+      type: String
+    }
+  },
+  data() {
+    return {};
+  },
+  methods: {
+    handleClose(done) {
+      this.close();
+      done();
+    },
+    close() {
+      this.$emit("update:dialogVisibleOffice", false);
+    }
+  }
+};
+</script>
+
+<style scoped>
+.dialog_diy >>> .el-dialog {
+  height: 100%;
+  margin: 0 auto !important;
+}
+
+.dialog_diy >>> .el-dialog__header {
+  background: #454545 !important;
+  padding: 15px 20px;
+}
+
+.dialog_diy >>> .el-dialog__body {
+  height: calc(100% - 124px);
+  box-sizing: border-box;
+  padding: 0px;
+}
+
+.dialog_diy >>> .el-dialog__title {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn {
+  top: 19px;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__body,
+.dialog_diy >>> .el-dialog__footer {
+  background: #fafafa;
+}
+</style>

+ 80 - 0
src/components/pages/test/file/wPdf.vue

@@ -0,0 +1,80 @@
+<template>
+    <el-dialog title="PDF查看" :visible.sync="dialogVisiblePdf" :append-to-body="true" width="95%" :before-close="handleClose"
+        class="dialog_diy">
+        <div style="height: 100%;">
+            <iframe ref="viframe" style="width: 100%; height: 99%; border: none"
+                :src="'https://cloud.cocorobo.cn/pdf.js/web/viewer.html?file=' + encodeURIComponent(url)"></iframe>
+        </div>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="dialogVisiblePdf = false;">关 闭</el-button>
+        </span>
+    </el-dialog>
+</template>
+  
+<script>
+export default {
+    props: {
+        dialogVisiblePdf: {
+            type: Boolean,
+            default: false
+        },
+        url: {
+            type: String,
+        }
+    },
+    data() {
+        return {
+        }
+    },
+    methods: {
+        handleClose(done) {
+            this.close()
+            done();
+        },
+        close() {
+            this.$emit('update:dialogVisiblePdf', false)
+        }
+    },
+}
+</script>
+  
+<style scoped>
+.dialog_diy>>>.el-dialog {
+    height: 100%;
+    margin: 0 auto !important;
+}
+
+.dialog_diy>>>.el-dialog__header {
+    background: #454545 !important;
+    padding: 15px 20px;
+}
+
+.dialog_diy>>>.el-dialog__body {
+    height: calc(100% - 124px);
+    box-sizing: border-box;
+    padding: 0px;
+}
+
+
+.dialog_diy>>>.el-dialog__title {
+    color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn {
+    top: 19px;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close {
+    color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close:hover {
+    color: #fff;
+}
+
+
+.dialog_diy>>>.el-dialog__body,
+.dialog_diy>>>.el-dialog__footer {
+    background: #fafafa;
+}
+</style>

+ 126 - 0
src/components/pages/test/file/wVideo.vue

@@ -0,0 +1,126 @@
+<template>
+    <el-dialog title="视频查看" :visible.sync="dialogVisibleVideo" :append-to-body="true" width="95%"
+        :before-close="handleClose" class="dialog_diy">
+        <div  style="height: 100%;position: relative;" v-if="dialogVisibleVideo">
+            <video-player class="video-player vjs-custom-skin" :playsinline="true" :options="playerOptions"
+                @play="onPlayerPlay($event)"></video-player>
+        </div>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="close">关 闭</el-button>
+        </span>
+    </el-dialog>
+</template>
+  
+<script>
+export default {
+    props: {
+        dialogVisibleVideo: {
+            type: Boolean,
+            default: false
+        },
+        url: {
+            type: String,
+        }
+    },
+    data() {
+        return {
+            playerOptions: {
+                playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
+                autoplay: false, //如果true,浏览器准备好时开始回放。
+                muted: false, // 默认情况下将会消除任何音频。
+                loop: false, // 导致视频一结束就重新开始。
+                preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
+                language: "zh-CN",
+                aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
+                fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
+                sources: [
+                    {
+                        type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
+                        src: "", //url地址require("../../assets/media/aaa.mp4")
+                    },
+                ],
+                // poster: require("../../assets/tu31.png"), //你的封面地址
+                // poster: dataRes.imgUrl, //你的封面地址
+                notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
+                controlBar: {
+                    timeDivider: true, //当前时间和持续时间的分隔符
+                    durationDisplay: true, //显示持续时间
+                    remainingTimeDisplay: false, //是否显示剩余时间功能
+                    fullscreenToggle: true, //全屏按钮
+                },
+            },
+        }
+    },
+    watch: {
+        dialogVisibleVideo(newValue, oldValue) {
+            this.playerOptions.sources[0].src = this.url
+        }
+    },
+    methods: {
+        handleClose(done) {
+            this.close()
+            done();
+        },
+        close() {
+            this.$emit('update:dialogVisibleVideo', false)
+        },
+        onPlayerPlay() { },
+    },
+    mounted() {
+        this.playerOptions.sources[0].src = this.url;
+    },
+}
+</script>
+  
+<style scoped>
+.dialog_diy>>>.el-dialog {
+    height: 100%;
+    margin: 0 auto !important;
+}
+
+.dialog_diy>>>.el-dialog__header {
+    background: #454545 !important;
+    padding: 15px 20px;
+}
+
+.dialog_diy>>>.el-dialog__body {
+    height: calc(100% - 124px);
+    box-sizing: border-box;
+    padding: 0px;
+}
+
+
+.dialog_diy>>>.el-dialog__title {
+    color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn {
+    top: 19px;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close {
+    color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close:hover {
+    color: #fff;
+}
+
+
+.dialog_diy>>>.el-dialog__body,
+.dialog_diy>>>.el-dialog__footer {
+    background: #fafafa;
+}
+
+.video-player {
+  width: 100%;
+  height: 100%;
+}
+
+.video-player >>> .video-js.vjs-fluid{
+    height: 100% !important;
+    padding: 0 !important;
+}
+
+
+</style>

+ 46 - 6
src/components/pages/testStudent/view/component/file.vue

@@ -25,10 +25,9 @@
                 <div class="binfo_input">
                     <div class="fileBox" v-if="checkJson.file && checkJson.file.length">
                         <div class="fileC">
-                            <div class="file" v-for="(item, index) in checkJson.file" :key="index"
-                                @click.stop="downloadFile(item)" v-loading="downLoading == item.url">
-                                <img class="del" src="../../../../../assets/icon/fileIcon/deleteworks.png"
-                                    @click.stop="delFile(index)" v-if="checktype == 1" />
+                            <div class="file" v-for="(item, index) in checkJson.file" :key="index" v-loading="downLoading == item.url" @click.stop="checkFile(item)">
+                                <img class="del" src="../../../../../assets/icon/fileIcon/deleteworks.png"  @click.stop="delFile(index)" v-if="checktype == 1" />
+                                <img class="download" src="../../../../../assets/icon/fileIcon/download.png" @click.stop="downloadFile(item)" :style="{right: checktype != 1 ? '10px' : '45px'}" />
                                 <img class="img" :src="wordIcon" alt="" v-if="item.type == 1" />
                                 <img class="img" :src="videoIcon" alt="" v-if="item.type == 2" />
                                 <img class="img" :src="item.url" alt="" v-if="item.type == 3" />
@@ -78,6 +77,9 @@
                     placeholder=""></textarea> -->
             </div>
         </div>
+        <wpdf :dialogVisiblePdf.sync="dialogVisiblePdf" :url="wurl"></wpdf>
+        <wVideo :dialogVisibleVideo.sync="dialogVisibleVideo" :url="wurl"></wVideo>
+        <wOffice :dialogVisibleOffice.sync="dialogVisibleOffice" :url="wurl"></wOffice>
     </div>
 </template>
 
@@ -87,7 +89,16 @@ import "../../../../../common/aws-sdk-2.235.1.min.js";
 import videoIcon from '../../../../../assets/icon/fileIcon/isVideo.png'
 import wordIcon from '../../../../../assets/icon/fileIcon/isWord.png'
 import fileIcon from '../../../../../assets/icon/fileIcon/word2.png'
+import wpdf from "../../../test/file/wpdf.vue";
+import wVideo from "../../../test/file/wVideo.vue";
+import wOffice from "../../../test/file/wOffice.vue";
+
 export default {
+    components: {
+        wpdf,
+        wVideo,
+        wOffice,
+    },
     props: {
         cJson: {
             type: Object,
@@ -118,7 +129,11 @@ export default {
             videoIcon: videoIcon,
             wordIcon: wordIcon,
             fileIcon: fileIcon,
-            downLoading: ''
+            downLoading: '',
+            dialogVisiblePdf:false,
+            dialogVisibleVideo:false,
+            dialogVisibleOffice:false,
+            wurl: "",
         }
     },
     watch: {
@@ -291,7 +306,7 @@ export default {
                             ) {
                                 _type = 3; //图片
                             } else if (
-                                'PDF'.indexOf(
+                                'pdf'.indexOf(
                                     data.Location.split(".")[
                                         data.Location.split(".").length - 1
                                     ].toLocaleLowerCase()
@@ -365,6 +380,22 @@ export default {
 
             });
         },
+        checkFile(item){
+            if(item.type == 3){
+                this.$hevueImgPreview(item.url);
+            }else if(item.type == 5){
+                this.downloadFile(item);
+            }else if(item.type == 1){
+                this.dialogVisibleOffice = true
+                this.wurl = item.url
+            }else if(item.type == 2){
+                this.dialogVisibleVideo = true
+                this.wurl = item.url
+            }else if(item.type == 4){
+                this.dialogVisiblePdf = true
+                this.wurl = item.url
+            }
+        },
         delFile(index) {
             this.checkJson.file.splice(index, 1)
         }
@@ -530,6 +561,15 @@ export default {
     cursor: pointer;
 }
 
+.binfo_input>.fileBox .fileC>.file>.download {
+    position: absolute;
+    width: 25px;
+    top: 10px;
+    right: 35px;
+    cursor: pointer;
+    opacity: .8;
+}
+
 .binfo_input>.fileBox .fileC>.file>.name {
     height: 35px;
     width: 100%;

+ 23 - 2
src/components/pages/testStudent/view/preview.vue

@@ -26,7 +26,8 @@
         <div class="step_box">
           <div class="edit_top">
             <div class="op_btn">
-              <el-button type="primary" size="small" @click="reset" v-if="isReset">重置</el-button>
+              <el-button type="primary" size="small" @click="refresh" v-if="isReset">刷新</el-button>
+              <el-button type="primary" size="small" @click="reset" >重置</el-button>
               <el-button type="primary" size="small" @click="save">保存</el-button>
               <el-button type="primary" size="small" @click="publish">提交</el-button>
             </div>
@@ -92,7 +93,27 @@ export default {
     },
     reset() {
       this
-        .$confirm("是否将已经填写的内容重置为最新版?", "提示", {
+        .$confirm("是否将已经填写的内容重置?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          this.cJson = JSON.parse(JSON.stringify(this.cJson2));
+          this.loading = true
+          this.isReset = false
+          setTimeout(() => {
+            this.loading = false
+          }, 0);
+          this.$forceUpdate()
+        })
+        .catch(() => {
+
+        });
+    },
+    refresh() {
+      this
+        .$confirm("是否将现在的题目刷新成最新的题目", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning",

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor