11wqe1 1 день назад
Родитель
Сommit
0accf56377

+ 27 - 2
src/components/easy2/studyStudent.vue

@@ -10544,14 +10544,17 @@
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
                               <div class="workImg" v-if="w.type == 0">
-                                <img
+                                <el-image 
                                   :src="w.works"
+                                  crossorigin="anonymous"
+                                  allow="*" 
                                   @click="previewImg(w.works, w)"
                                   alt
                                 />
                                 <div
                                   class="answerScore"
                                   v-if="w.score"
+                                  style="right: 70px;"
                                   @click.stop="openScore(w)"
                                   :class="{
                                     rightW:
@@ -10565,6 +10568,7 @@
                                 </div>
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   @click.stop="openScore(w)"
                                   v-else-if="courseDetail.userid == userid"
                                   :class="{
@@ -10578,7 +10582,7 @@
                                   {{lang.ssMarkScore}}
                                 </div>
                                 <!-- <div class="answerScore">1</div> -->
-                                <!-- <img class="xiaz" @click="downloadFile(w.works,w.userid)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt=""> -->
+                                <img class="xiaz" @click="downloadimg(w.works)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../../assets/deleteworks.png"
@@ -24134,6 +24138,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img){
+      console.log('img',img)
+      fetch(img)
+      .then((response) => {
+        if (!response.ok) throw new Error('download failed')
+        return response.blob()
+      })
+      .then((blob) => {
+        const blobUrl = URL.createObjectURL(blob)
+        const a = document.createElement('a')
+        a.href = blobUrl
+        a.download = img.split('.')[0] + '.jpg'
+        document.body.appendChild(a)
+        a.click()
+        document.body.removeChild(a)
+        URL.revokeObjectURL(blobUrl)
+      })
+      .catch(() => {
+        fallbackDownload()
+      })
+    },
     downloadFile2(f) {
       // const loading = this.$loading.service({
       //   background: "rgba(255, 255, 255, 0.7)",

+ 28 - 3
src/components/easy3/studyStudent.vue

@@ -7381,13 +7381,16 @@
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
                               <div class="workImg" v-if="w.type == 0">
-                                <img
+                                <el-image 
                                   :src="w.works"
-                                  @click="previewImg(w.works,w)"
+                                  crossorigin="anonymous"
+                                  allow="*" 
+                                  @click="previewImg(w.works, w)"
                                   alt
                                 />
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   v-if="w.score"
                                   @click.stop="openScore(w)"
                                   :class="{
@@ -7402,6 +7405,7 @@
                                 </div>
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   @click.stop="openScore(w)"
                                   v-else-if="courseDetail.userid == userid"
                                   :class="{
@@ -7414,7 +7418,7 @@
                                 >
                                   {{ lang.ssMarkScore }}
                                 </div>
-                                <!-- <img class="xiaz" @click="downloadFile(w.works,w.userid)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt=""> -->
+                                <img class="xiaz" @click="downloadimg(w.works)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../../assets/deleteworks.png"
@@ -19518,6 +19522,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img){
+      console.log('img',img)
+      fetch(img)
+      .then((response) => {
+        if (!response.ok) throw new Error('download failed')
+        return response.blob()
+      })
+      .then((blob) => {
+        const blobUrl = URL.createObjectURL(blob)
+        const a = document.createElement('a')
+        a.href = blobUrl
+        a.download = img.split('.')[0] + '.jpg'
+        document.body.appendChild(a)
+        a.click()
+        document.body.removeChild(a)
+        URL.revokeObjectURL(blobUrl)
+      })
+      .catch(() => {
+        fallbackDownload()
+      })
+    },
     downloadFile2(f) {
       // const loading = this.$loading.service({
       //   background: "rgba(255, 255, 255, 0.7)",

+ 27 - 2
src/components/studyStudent.vue

@@ -7332,13 +7332,16 @@
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
                               <div class="workImg" v-if="w.type == 0">
-                                <img
+                                <el-image 
+                                  crossorigin="anonymous"
+                                  allow="*" 
                                   :src="w.works"
                                   @click="previewImg(w.works,w)"
                                   alt
                                 />
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   v-if="w.score"
                                   @click.stop="openScore(w)"
                                   :class="{
@@ -7353,6 +7356,7 @@
                                 </div>
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   @click.stop="openScore(w)"
                                   v-else-if="courseDetail.userid == userid"
                                   :class="{
@@ -7365,7 +7369,7 @@
                                 >
                                   {{ lang.ssMarkScore }}
                                 </div>
-                                <!-- <img class="xiaz" @click="downloadFile(w.works,w.userid)" style="right: 40px;" src="../assets/icon/works/xiaz.png" alt=""> -->
+                                <img class="xiaz" @click="downloadimg(w.works)" style="right: 40px;" src="../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../assets/deleteworks.png"
@@ -19459,6 +19463,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img){
+      console.log('img',img)
+      fetch(img)
+      .then((response) => {
+        if (!response.ok) throw new Error('download failed')
+        return response.blob()
+      })
+      .then((blob) => {
+        const blobUrl = URL.createObjectURL(blob)
+        const a = document.createElement('a')
+        a.href = blobUrl
+        a.download = img.split('.')[0] + '.jpg'
+        document.body.appendChild(a)
+        a.click()
+        document.body.removeChild(a)
+        URL.revokeObjectURL(blobUrl)
+      })
+      .catch(() => {
+        fallbackDownload()
+      })
+    },
     downloadFile2(f) {
       // const loading = this.$loading.service({
       //   background: "rgba(255, 255, 255, 0.7)",

+ 27 - 2
src/components/studySutdentClass/studyStudent.vue

@@ -10541,13 +10541,16 @@
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
                               <div class="workImg" v-if="w.type == 0">
-                                <img
+                                <el-image 
+                                  crossorigin="anonymous"
+                                  allow="*" 
                                   :src="w.works"
                                   @click="previewImg(w.works, w)"
                                   alt
                                 />
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   v-if="w.score"
                                   @click.stop="openScore(w)"
                                   :class="{
@@ -10562,6 +10565,7 @@
                                 </div>
                                 <div
                                   class="answerScore"
+                                  style="right: 70px;"
                                   @click.stop="openScore(w)"
                                   v-else-if="courseDetail.userid == userid"
                                   :class="{
@@ -10574,7 +10578,7 @@
                                 >
                                   {{ lang.ssMarkScore }}
                                 </div>
-                                <!-- <img class="xiaz" @click="downloadFile(w.works,w.userid)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt=""> -->
+                                <img class="xiaz" @click="downloadimg(w.works)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../../assets/deleteworks.png"
@@ -23569,6 +23573,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img){
+      console.log('img',img)
+      fetch(img)
+      .then((response) => {
+        if (!response.ok) throw new Error('download failed')
+        return response.blob()
+      })
+      .then((blob) => {
+        const blobUrl = URL.createObjectURL(blob)
+        const a = document.createElement('a')
+        a.href = blobUrl
+        a.download = img.split('.')[0] + '.jpg'
+        document.body.appendChild(a)
+        a.click()
+        document.body.removeChild(a)
+        URL.revokeObjectURL(blobUrl)
+      })
+      .catch(() => {
+        fallbackDownload()
+      })
+    },
     downloadFile2(f) {
       // const loading = this.$loading.service({
       //   background: "rgba(255, 255, 255, 0.7)",