فهرست منبع

Merge branch 'beta'

SanHQin 8 ساعت پیش
والد
کامیت
b7337d8b24

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.9524a12215073097665e7700fb52cdcd.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.becc9317549795ada446.js></script><script type=text/javascript src=./static/js/app.56e44dcd12b311b04722.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.bf1fcc3ace4b11b9a2124c1429226cd8.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.becc9317549795ada446.js></script><script type=text/javascript src=./static/js/app.9ff0a2c2a6f5a0664ead.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/css/app.9524a12215073097665e7700fb52cdcd.css.map


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/css/app.bf1fcc3ace4b11b9a2124c1429226cd8.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/css/app.bf1fcc3ace4b11b9a2124c1429226cd8.css.map


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/app.9ff0a2c2a6f5a0664ead.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/app.9ff0a2c2a6f5a0664ead.js.map


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


+ 13 - 9
src/components/components/cocoFlowDia.vue

@@ -6,11 +6,12 @@
             class="dialog_diy"
             :close-on-click-modal="false"
             :fullscreen="markfullscreen"
+            :style="{ '--dialog-height': markfullscreen ? '100%' : '95%' }"
             :before-close="handleClose">
             <div slot="title">
                 <div class="markScore_diyTit">
                     <div>{{ lang.ssViewWork }}</div>
-                    <!-- <img  @click="markFullScreenBtn" style="cursor: pointer;height: 16px;" src="../../assets/icon/svgImg/nrk_fullscreen.svg" alt="" /> -->
+                    <img  @click="markFullScreenBtn" style="cursor: pointer;height: 16px;" src="../../assets/icon/svgImg/nrk_fullscreen.svg" alt="" />
                 </div>
             </div>
            
@@ -233,8 +234,10 @@ import { myMixin } from "@/mixins/mixin.js"
     .dialog_diy >>> .el-dialog{
         border-radius: 12px;
         overflow: hidden;
-        height: 95% !important;
+        height: var(--dialog-height, 95%) !important;
         margin: auto !important;
+        display: flex;
+        flex-direction: column;
     }
 
     .dialog_diy >>> .el-dialog__title{
@@ -260,11 +263,12 @@ import { myMixin } from "@/mixins/mixin.js"
         border-radius: 12px !important;
         overflow: auto;
         box-sizing: border-box;
-        min-height: 70vh;
-        max-height: calc(100vh - 90px);
+        flex: 1;
+        min-height: 0;
+        max-height: none;
         padding: 0 !important;
-        margin: 30px auto 0;
-        width: 99%;
+        margin: 0;
+        width: 100%;
     }
 
     .dialog_diy >>> .el-dialog__body::-webkit-scrollbar-thumb {
@@ -272,10 +276,10 @@ import { myMixin } from "@/mixins/mixin.js"
     }
 
     .markDialog{
-        height: 100%;
-        min-height: 600px;
+        height: auto;
+        min-height: 100%;
         display: flex;
-        padding:0 30px 30px;
+        padding:12px 30px 24px;
         box-sizing: border-box;
         flex-direction: column;
         gap: 30px;

+ 29 - 4
src/components/easy2/studyStudent.vue

@@ -10543,15 +10543,18 @@
                               :key="wIndex"
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
-                              <div class="workImg" v-if="w.type == 0">
-                                <img
+                              <div class="workImg" style="overflow: hidden;" v-if="w.type == 0">
+                                <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,w.sName)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../../assets/deleteworks.png"
@@ -13341,7 +13345,7 @@
         <iframe
           style="width: 100%; height: 100%; border: none"
           security="restricted"
-          v-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo')!=-1)"
+          v-else-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo')!=-1)"
           :src="fullUrl"
         ></iframe>
         <iframe
@@ -24134,6 +24138,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img,val){
+      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 = val + '.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)",

+ 30 - 5
src/components/easy3/studyStudent.vue

@@ -7380,14 +7380,17 @@
                               :key="wIndex"
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
-                              <div class="workImg" v-if="w.type == 0">
-                                <img
+                              <div class="workImg" style="overflow: hidden;" v-if="w.type == 0">
+                                <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,w.sName)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../../assets/deleteworks.png"
@@ -9981,7 +9985,7 @@
         <iframe
           style="width: 100%; height: 100%; border: none"
           security="restricted"
-          v-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo')!=-1)"
+          v-else-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo')!=-1)"
           :src="fullUrl"
         ></iframe>
         <iframe
@@ -19518,6 +19522,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img,val){
+      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 = val + '.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)",

+ 29 - 4
src/components/studyStudent.vue

@@ -7331,14 +7331,17 @@
                               :key="wIndex"
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
-                              <div class="workImg" v-if="w.type == 0">
-                                <img
+                              <div class="workImg" style="overflow: hidden;" v-if="w.type == 0">
+                                <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,w.sName)" style="right: 40px;" src="../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../assets/deleteworks.png"
@@ -9915,7 +9919,7 @@
         <iframe
           style="width: 100%; height: 100%; border: none"
           security="restricted"
-          v-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo')!=-1)"
+          v-else-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo')!=-1)"
           :src="fullUrl"
         ></iframe>
         <iframe
@@ -19459,6 +19463,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img,val){
+      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 = val + '.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)",

+ 29 - 4
src/components/studySutdentClass/studyStudent.vue

@@ -10540,14 +10540,17 @@
                               :key="wIndex"
                               :class="w.type == 1 ? 'isTypeOne' : ''"
                             >
-                              <div class="workImg" v-if="w.type == 0">
-                                <img
+                              <div class="workImg" style="overflow: hidden;" v-if="w.type == 0">
+                                <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,w.sName)" style="right: 40px;" src="../../assets/icon/works/xiaz.png" alt="">
                                 <img
                                   class="deleteImg"
                                   src="../../assets/deleteworks.png"
@@ -13153,7 +13157,7 @@
         <iframe
           style="width: 100%; height: 100%; border: none"
           security="restricted"
-          v-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo.cn')!=-1)"
+          v-else-if="(fulltype == 16) && (fullUrl.indexOf('cocorobo.cn')!=-1)"
           :src="fullUrl"
         ></iframe>
         <iframe
@@ -23569,6 +23573,27 @@ export default {
           console.error(err);
         });
     },
+    downloadimg(img,val){
+      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 = val + '.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)",

+ 1 - 1
src/mixins/mixin.js

@@ -63,7 +63,7 @@ export const myMixin = {
         object: JSON.stringify(object), //执行信息传json
         status: status //成功返回success。失败返回error的信息
       };
-      console.log('params',params);
+      // console.log('params',params);
       
       this.ajax
         .post(this.$store.state.apiM + 'updateUserData2', [params])

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است