From 1010c53c9bcf5f95b2266294ae1d1b95c9a6d8b4 Mon Sep 17 00:00:00 2001
From: hehongxing <hehongxing@pc.com>
Date: Fri, 3 Dec 2021 17:51:16 +0800
Subject: [PATCH] commit

---
 04.系统编码/Frontend/index.html           |   2 +-
 04.系统编码/Frontend/public/favicon.ico   | Bin 4286 -> 9662 bytes
 .../src/components/MicrowaveRadiation.vue     |  48 ++++++++++++++++--
 .../Frontend/src/components/RamanLidar.vue    |  43 ++++++++++++++--
 .../src/components/SynergyEvaluation.vue      |   2 +-
 04.系统编码/Frontend/src/index.less       |   8 +--
 6 files changed, 89 insertions(+), 14 deletions(-)

diff --git a/04.系统编码/Frontend/index.html b/04.系统编码/Frontend/index.html
index a508f20..0eb0ddd 100644
--- a/04.系统编码/Frontend/index.html
+++ b/04.系统编码/Frontend/index.html
@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <link rel="icon" href="/favicon.ico" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>Vite App</title>
+  <title>南京生态环境评估决策平台</title>
 </head>
 <body>
   <div id="app"></div>
diff --git a/04.系统编码/Frontend/public/favicon.ico b/04.系统编码/Frontend/public/favicon.ico
index df36fcfb72584e00488330b560ebcf34a41c64c2..4a45747c25205f2f2cdc2f65a20f680bd48979f2 100644
GIT binary patch
literal 9662
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
X652^7Gvh_<SQ6MZw6g|I(V#y9Sc0|*

literal 4286
zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj
zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56
zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy
zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei
z@g6Xq-pDoPl=MANPiR7%172VA%r)kev<ISBgE$F{SFy+(=9Z)f)De0Se}ZDZW}Z3B
zElCeVrw;K0Fdl_Cg=gZOFXXc3pL)Q05CAuT+XucQ<8g~3dteP~|7s7c6QYP;fy;mF
zMN;>tV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX
zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm
zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp=
zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8
zx!=3<4seY*%=OlbCbcae?<QnEgvj4i?s}Yk=qA2z`-^*<eK3c)MS4JOdbsTQEOa0)
z0NWqlna2rzs>5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO
z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3
z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD
zsW0Ab)ZK@0cIW%W7<X*Er!BfRbvU93$DH%#v6dRt^6HBxz1xBNHx=$&_Gv<&J}Ljk
zJN<Fzx(`Oe@KgQ0F$<14=XV#WK`o#6Ku>z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6
z={Xwx{T<?%b6i9IjI)Ls)S{-*mq<@~R{?$}ZKjf;^k75i_}(2MXt}^SEBVg7AI@28
zo_uPg2V)_e-`2Ois=PYoe%9u*n9({PFR)OnHJPi{dNx>Kx<YG`4QQ>D#iCLfl2<BD
h7L=-;Q>vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S

diff --git a/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue b/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue
index b9880d0..b3bf72d 100644
--- a/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue
+++ b/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue
@@ -68,13 +68,13 @@
                 </div>
                 <div class="btns-group">
                     <span @click="onPlayClick">{{isPlay ? '暂停动画' : '播放动画'}}</span>
-                    <span>下载动画</span>
+                    <a @click="onDownloadClick">下载动画</a>  <!-- :href=""-->
                 </div>
             </div>
             <div class="picture-view">
                 <span class="arrow arrow-prev" @click="onPrevImgClick"><img src="/images/prev-btn.png" /></span>
                 <span class="arrow arrow-next" @click="onNextImgClick"><img src="/images/next-btn.png" /></span>
-                <a href="/images/picture1.png" download class="save-btn"><img src="/images/save.png" /></a>
+                <a :href="downloadImgUrl" download class="save-btn"><img src="/images/save.png" /></a>
                 <div class="picture-container">
                     <h2 class="title">{{title}}</h2>
                     <div class="picture">
@@ -83,6 +83,7 @@
                             :preview-src-list="srcList"
                             :initial-index="0"
                             fit="contain"
+                            @load="onImageLoad"
                         >
                             <template #error>
                                 <div class="image-slot">
@@ -122,6 +123,7 @@
                 times: [],
                 currentTime: null,
                 imgUrl: '/images/default-picture.png',
+                downloadImgUrl: '/images/default-picture.png',
                 srcList: [],
                 isPlay: false,
                 title: null,
@@ -190,6 +192,42 @@
                 options.srcList = [options.imgUrl];
             }
 
+            const onImageLoad = (event) => {
+                if (event.currentTarget.getAttribute('src') !== '/images/default-picture.png')
+                    converToBase64(options.imgUrl);
+                else
+                    return
+            }
+
+            const onDownloadClick = () => {
+                let params = {
+                    model: 'weibo',
+                    station: options.currentRegion,
+                    element: options.currentElement,
+                    type: options.currentTab,
+                    time: [options.times[0].date, options.times[options.times.length - 1].date],
+                    urls: []
+                }
+            }
+
+            const converToBase64 = (path) => {
+                let img = new Image();
+                img.src = path;
+                let canvas = document.createElement("canvas") as HTMLCanvasElement;
+                canvas.width = img.width;
+                canvas.height = img.height;
+
+                let ctx = canvas.getContext("2d");
+                let base64 = '';
+
+                img.setAttribute("crossOrigin",'Anonymous')
+                img.onload = function() {
+                    ctx.drawImage(img, 0, 0);    
+                    base64 = canvas.toDataURL("image/png");
+                    options.downloadImgUrl = base64;
+                };
+            }
+
             const initTimeLine = () => {
                 options.times = [];
                 options.currentTime = moment(options.date).hour(parseInt(options.currentHour)).format('YYYY-MM-DD HH:mm');
@@ -292,7 +330,7 @@
                         options.index = 0;
 
                     setCurrentPlayElement(element);
-                }, 2000)
+                }, 5000)
             }
 
             const clearTimer = () => {
@@ -333,7 +371,9 @@
                 onNextImgClick,
                 onRefreshClick,
                 onPlayClick,
-                onChange
+                onChange,
+                onImageLoad,
+                onDownloadClick
             }
         }
     }
diff --git a/04.系统编码/Frontend/src/components/RamanLidar.vue b/04.系统编码/Frontend/src/components/RamanLidar.vue
index 26abd61..f39bba9 100644
--- a/04.系统编码/Frontend/src/components/RamanLidar.vue
+++ b/04.系统编码/Frontend/src/components/RamanLidar.vue
@@ -49,13 +49,13 @@
                 </div>
                 <div class="btns-group">
                     <span @click="onPlayClick">{{isPlay ? '暂停动画' : '播放动画'}}</span>
-                    <span>下载动画</span>
+                    <a @click="onDownloadClick">下载动画</a>  <!-- :href=""-->
                 </div>
             </div>
             <div class="picture-view">
                 <span class="arrow arrow-prev" @click="onPrevImgClick"><img src="/images/prev-btn.png" /></span>
                 <span class="arrow arrow-next" @click="onNextImgClick"><img src="/images/next-btn.png" /></span>
-                <span class="save-btn"><img src="/images/save.png" /></span>
+                <a :href="downloadImgUrl" download class="save-btn"><img src="/images/save.png" /></a>
                 <div class="picture-container">
                     <h2 class="title">{{title}}</h2>
                     <div class="picture">
@@ -64,6 +64,7 @@
                         :preview-src-list="srcList"
                         :initial-index="1"
                         fit="contain"
+                        @load="onImageLoad"
                         >
                             <template #error>
                                 <div class="image-slot">
@@ -101,6 +102,7 @@
                 times: [],
                 currentTime: null,
                 imgUrl: '/images/default-picture.png',
+                downloadImgUrl: '/images/default-picture.png',
                 srcList: [],
                 isPlay: false,
                 title: null,
@@ -143,6 +145,37 @@
                 options.srcList = [options.imgUrl];
             }
 
+            const onImageLoad = (event) => {
+                if (event.currentTarget.getAttribute('src') !== '/images/default-picture.png')
+                    converToBase64(options.imgUrl);
+                else
+                    return
+            }
+
+            const onDownloadClick = () => {
+                let params = {
+                    station: options.currentRegion
+                }
+            }
+
+            const converToBase64 = (path) => {
+                let img = new Image();
+                img.src = path;
+                let canvas = document.createElement("canvas") as HTMLCanvasElement;
+                canvas.width = img.width;
+                canvas.height = img.height;
+
+                let ctx = canvas.getContext("2d");
+                let base64 = '';
+
+                img.setAttribute("crossOrigin",'Anonymous')
+                img.onload = function() {
+                    ctx.drawImage(img, 0, 0);    
+                    base64 = canvas.toDataURL("image/png");
+                    options.downloadImgUrl = base64;
+                };
+            }
+
             const initTimeLine = () => {
                 options.times = [];
                 options.currentTime = moment(options.date).hour(parseInt(options.currentHour)).format('YYYY-MM-DD HH:mm');
@@ -245,7 +278,7 @@
                         options.index = 0;
 
                     setCurrentPlayElement(element);
-                }, 2000)
+                }, 5000)
             }
 
             const clearTimer = () => {
@@ -284,7 +317,9 @@
                 onNextImgClick,
                 onRefreshClick,
                 onPlayClick,
-                onChange
+                onChange,
+                onImageLoad,
+                onDownloadClick
             }
         }
     }
diff --git a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue
index e17a87d..721de81 100644
--- a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue
+++ b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue
@@ -50,7 +50,7 @@
             </div>
         </div>
         <div class="container panel synergy-container">
-            <span class="save-btn"><img src="/images/save.png" /></span>
+            <span class="save-btn" ><img src="/images/save.png" /></span>
             <div class="element-select" v-if="currentTab === 'element-change-trend' || currentTab === 'element-monitor'">
                 <div class="surface-temperature" v-if="currentTab === 'element-change-trend'">
                     <span @click="onSurfaceTemperatureClick('time0130')" :class="{'active': currentSurfaceTemperatureTime === 'time0130'}">地表温度(01:30)</span>
diff --git a/04.系统编码/Frontend/src/index.less b/04.系统编码/Frontend/src/index.less
index 616d408..209490a 100644
--- a/04.系统编码/Frontend/src/index.less
+++ b/04.系统编码/Frontend/src/index.less
@@ -323,7 +323,7 @@ img {
             }
 
             .btns-group {
-                span {
+                span, a {
                     width: 0.88rem;
                     height: 0.33rem;
                     line-height: 0.33rem;
@@ -332,10 +332,10 @@ img {
                     border-radius: 4px;
                     cursor: pointer;
                     background-color: #ECF4FF;
+                }
 
-                    &:last-of-type {
-                        margin-left: 0.06rem;
-                    }
+                a {
+                    margin-left: 0.06rem;
                 }
             }
         }