From a3bc1499023bfcca59d823aefae8c546e36e7a45 Mon Sep 17 00:00:00 2001
From: zhangchunxia <746626068@qq.com>
Date: 星期一, 06 五月 2024 10:04:00 +0800
Subject: [PATCH] 大屏改版代码提交

---
 src/views/largeScreen/component/leftTop.vue           |    4 
 src/views/largeScreen/component/rightTophubiao.vue    |  191 ++++++++
 src/components/echarts/echarsBar.vue                  |    7 
 src/api/largeScreen.js                                |    8 
 src/views/largeScreen/indexijmunai.vue                |  248 ++++++++++
 src/views/largeScreen/component/leftBottom.vue        |   24 
 src/views/largeScreen/component/middleAreaBottom.vue  |   98 ++++
 src/utils/request.js                                  |    2 
 src/views/largeScreen/component/rightMiddle.vue       |    8 
 src/views/largeScreen/component/middleArea.vue        |  390 ++++++++--------
 src/views/largeScreen/component/rightBottom.vue       |    4 
 src/views/largeScreen/component/middleAreajimunai.vue |  343 ++++++++++++++
 config.js                                             |    1 
 src/views/largeScreen/component/leftMiddle.vue        |   14 
 src/views/largeScreen/index.vue                       |   28 
 15 files changed, 1,134 insertions(+), 236 deletions(-)

diff --git a/config.js b/config.js
index b4dbc6a..5e1bd1d 100644
--- a/config.js
+++ b/config.js
@@ -10,3 +10,4 @@
         baseUrl = "http://xxxxt"
 }
 export default baseUrl;
+    
\ No newline at end of file
diff --git a/src/api/largeScreen.js b/src/api/largeScreen.js
index de55c4f..d17d0e5 100644
--- a/src/api/largeScreen.js
+++ b/src/api/largeScreen.js
@@ -18,7 +18,7 @@
 }
 // 鑾峰彇杩戜竴骞寸敤姘撮噺
 export function getEchartData (data){
-  return request({
+  return request({ 
     url: '/waterScreen/ScYearAmount!get.action',
     method: 'POST',
     data
@@ -26,14 +26,14 @@
 }
 // 鑾峰緱绱姘撮噺锛屾湰骞寸疮璁℃按閲忥紝鏄ㄦ棩姘撮噺
 export function getScAmount (data){
-  return request({
+  return request({ 
     url: '/waterScreen/ScAmount!get.action',
-    method: 'POST',
+    method: 'POST', 
     data
   })
 }
 // 鑾峰緱鎶ヨ淇℃伅
-export function getScAlarm (data){
+export function getScAlarm (data){ 
   return request({
     url: '/waterScreen/ScAlarm!get.action',
     method: 'POST',
diff --git a/src/components/echarts/echarsBar.vue b/src/components/echarts/echarsBar.vue
index e8f3138..417197e 100644
--- a/src/components/echarts/echarsBar.vue
+++ b/src/components/echarts/echarsBar.vue
@@ -50,7 +50,7 @@
           }
         },
         grid: {
-          left: '5%',
+          left: '5%', 
           top: '10%',
           right: '10%',
           bottom: '3%',
@@ -93,8 +93,7 @@
       for (let i = 1; i < this.param.seriesCount; i++) {
         this.data.series[i] = {
           stack: this.param.seriesStack[i],
-          name: this.param.seriesName[i],
-          type: this.param.seriesType[i],
+          name: this.param.seriesName[i], 
           data: this.param.seriesData[i],
           color: this.param.seriesColorData[i],
           yAxisIndex: this.param.yAxisIndexData[i]
@@ -107,7 +106,7 @@
       immediate: true,
       deep: true,
       handler(newVal, oldVal) {
-        if (this.chart) {
+        if (this.chart) {  
           if (newVal) {
             if (newVal.chartType === 'transverse') {
               this.transverse()
diff --git a/src/utils/request.js b/src/utils/request.js
index ae3d1ed..b8feea3 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -25,7 +25,7 @@
   //    request.headers.common['X-HTY-Token'] = token
   //  }
   return request
-},(error) =>{
+},(error) =>{ 
   console.error('request.js request error锛�--------------:', error)
   return Promise.reject(error);
 })
diff --git a/src/views/largeScreen/component/leftBottom.vue b/src/views/largeScreen/component/leftBottom.vue
index 9a740f1..5bd8497 100644
--- a/src/views/largeScreen/component/leftBottom.vue
+++ b/src/views/largeScreen/component/leftBottom.vue
@@ -1,7 +1,7 @@
 <template>
   <!-- 姹℃煋鐗╂秷鍑忛噺 -->
   <div class="panel">
-    <div class="panel-header">鍦板尯姘寸鐞嗗憳</div>
+    <div class="panel-header">杩愯鐘舵��</div>
     <!-- <div>
       <line-chart :chart-data="chartData" :width="'100%'" :height="'22vh'"></line-chart>
     </div> -->
@@ -23,18 +23,18 @@
   data() {
     return {
       config: {
-        header: ['鍦板尯', '姘寸鍛樺鍚�', '鑱旂郴鏂瑰紡'],
+        header: ['鐢ㄦ按鎴�', '闃�闂ㄧ姸鎬�', '涓婃姤鏃堕棿'],
         data: [
-          ['鎭板嫆浠�娴蜂埂', '寮犱笁', '13821200000'],
-          ['鎭板嫆浠�娴蜂埂', '鐜嬪ぇ娴�', '琛�2鍒�3'],
-          ['鎭板嫆浠�娴蜂埂', '鏉�', '琛�3鍒�3'],
-          ['鎭板嫆浠�娴蜂埂', '琛�4鍒�2', '13821200000'],
-          ['鎭板嫆浠�娴蜂埂', '琛�5鍒�2', '琛�5鍒�3'],
-          ['鎭板嫆浠�娴蜂埂', '琛�6鍒�2', '琛�6鍒�3'],
-          ['鎭板嫆浠�娴蜂埂', '琛�7鍒�2', '13821200000'],
-          ['鎭板嫆浠�娴蜂埂', '琛�8鍒�2', '琛�8鍒�3'],
-          ['鎭板嫆浠�娴蜂埂', '琛�9鍒�2', '琛�9鍒�3'],
-          ['鎭板嫆浠�娴蜂埂', '琛�10鍒�2', '琛�10鍒�3']
+          ['浜屽彿浜曞甫闃�', '闃�鍏�', '2024-04-29 00:08:50'],
+          ['浜屽彿浜曞甫闃�', '闃�鍏�', '2024-04-29 00:07:54'],
+          ['浜屽彿浜曞甫闃�', '闃�鍏�', '2024-04-26 00:07:23'],
+          ['浜屽彿浜曞甫闃�', '闃�鍏�', '2024-04-29 00:05:47'],
+          ['涓�鍙蜂簳甯﹂榾', '闃�鍏�', '2024-04-29 00:04:48'],
+          ['涓�鍙蜂簳甯﹂榾', '闃�鍏�', '2024-04-29 00:03:47'],
+          ['涓�鍙蜂簳甯﹂榾', '闃�鍏�', '2024-04-29 00:02:47'],
+          ['涓�鍙蜂簳甯﹂榾', '闃�鍏�', '2024-04-29 00:01:49'],
+          ['涓�鍙蜂簳甯﹂榾', '闃�鍏�', '2024-04-29 00:02:05'],
+          ['浜屽彿浜曞甫闃�', '闃�鍏�', '2024-04-29 00:00:44']
         ],
         headerBGC: '',
         oddRowBGC: '#0b283e',
diff --git a/src/views/largeScreen/component/leftMiddle.vue b/src/views/largeScreen/component/leftMiddle.vue
index 0a2eed8..ec3eb0f 100644
--- a/src/views/largeScreen/component/leftMiddle.vue
+++ b/src/views/largeScreen/component/leftMiddle.vue
@@ -1,7 +1,7 @@
 <template>
   <!-- 姹℃煋鐗╂秷鍑忛噺 -->
   <div class="panel">
-    <div class="panel-header">杩戜竴骞寸敤姘撮噺缁熻</div>
+    <div class="panel-header">杩戜竴骞村厖鍊奸噾棰�</div>
     <div>
       <line-chart :chart-data="chartData" :width="'100%'" :height="'22vh'"></line-chart>
     </div>
@@ -13,18 +13,20 @@
 export default {
   components: {
     // mainEcharts,
-    lineChart
+    lineChart,
   },
   data() {
     return {
       datetiems: [],
       chartData: {
+        chartType:'portrait',
         time: [],
+        // time: ['2024-05','2024-04','2024-03','2024-02','2024-01','2023-12'],
         Data: [
           {
-            // data: ['20','40','50','40','60','79','30','38','46','99','88','99'],
-            data: [],
-            type: 'line',
+            data: ['20','40','50','40','60','79','30','38','46','99','88','99'],
+            // data: [],
+            type: 'bar',
             // name: 'BOD',
             connectNulls: true,
             smooth: true,
@@ -44,7 +46,7 @@
   },
   mounted() {
     this.getEchartData()
-    // this.chartData.time = this.getlastYearMonth().reverse()
+    this.chartData.time = this.getlastYearMonth().reverse()
   },
   methods: {
     getEchartData() {
diff --git a/src/views/largeScreen/component/leftTop.vue b/src/views/largeScreen/component/leftTop.vue
index 1793ec3..b923df0 100644
--- a/src/views/largeScreen/component/leftTop.vue
+++ b/src/views/largeScreen/component/leftTop.vue
@@ -10,7 +10,7 @@
           <div class="item-value"><span class="item-num">{{ item.count }}</span> {{ item.unit }}</div>
         </div>
       </div> -->
-      <div class="info-items flex-item">
+      <!-- <div class="info-items flex-item">
         <div>
           <div class="item-label" style="white-space: nowrap">鐢ㄦ按鎴锋暟</div>
           <div class="item-value bg-b"><span class="item-num">{{ infos.clientTotal }}</span></div>
@@ -27,7 +27,7 @@
           <div class="item-label" style="white-space: nowrap">浠婃棩鍏呭��</div>
           <div class="item-value bg-b"><span class="item-num">{{ infos.chargeTotal }}</span></div>
         </div>
-      </div>
+      </div> -->
       <div class="info-items flex-item">
         <div>
           <div class="item-label" style="white-space: nowrap">鏄ㄦ棩涓婃姤</div>
diff --git a/src/views/largeScreen/component/middleArea.vue b/src/views/largeScreen/component/middleArea.vue
index 051fefb..ce9a353 100644
--- a/src/views/largeScreen/component/middleArea.vue
+++ b/src/views/largeScreen/component/middleArea.vue
@@ -28,72 +28,63 @@
           <!-- <span class="unit-text">涓噈鲁</span> -->
         </div>
       </div>
-      <!-- <div v-for="(item,index) in processData" :key="index">
-        <div class="num-title">
-          <div><span class="high-text">{{ item.firstEle }}</span>{{ item.endEle }}</div>
-
-        </div>
-        <div class="num-item">
-          <span class="num-style color0" :class="[{ 'num-bg0': s !== '.' && index==0 },{ 'num-bg2': s !== '.' && index==1 },{'color2':index==1}]" v-for="(s, i) in item.count" :key="i">{{ s }}</span>
-          <span class="unit-text">{{ item.unit }}</span>
-        </div>
-      </div> -->
     </div>
-    <div>
-      <!-- <div id="echartMap" style="width: 500px; height: 500px"></div> -->
-      <!--鍦板浘-->
-      <div id="mapcontainer" ref="mapcontainer" style="width: 9rem; height: 80vh"></div>
-      <div class="map-infos">
-        <dv-border-box-13>
-          <div class="map-title">鍚夋湪涔冨幙</div>
-          <div class="map-item">
-            <div class="item-title">瀹夎姘磋〃鏁伴噺:</div> <div class="item-num">328涓�</div>
-          </div>
-          <div class="map-item">
-            <div class="item-title">绱鐢ㄦ按閲�:</div> <div class="item-num">2943.8 m鲁</div>
-          </div>
-          <div class="map-item">
-            <div class="item-title">褰撳墠娆犺垂鏁伴噺:</div><div class="item-num">3 鎴�</div>
-          </div>
-        </dv-border-box-13>
-      </div>
+    <div class="item-block height35">
+      <dv-border-box-10>
+        <div class="echart-title">姘磋〃鐘舵��</div>
+        <div id="yibiaoEchart" :chart-data="chartData" style="height:90%; width:100%"></div>
+      </dv-border-box-10>
+    </div>
+    <div class="item-block">
+      <dv-border-box-10>
+        <div class="echart-title">杩戜竴骞寸敤姘撮噺</div>
+        <left-middle-bottom style="height: 29vh"></left-middle-bottom>
+      </dv-border-box-10>
     </div>
   </div>
 </template>
 <script>
 import * as echarts from 'echarts'
 import echartsGL from 'echarts-gl'
-import datajson from './jimunai'
 import { getScAmount } from '@/api/largeScreen'
 // import { getLargeScreenProcessInfo } from '@/cpx_sewage/api/largeScreen/largeScreen'
+import leftMiddleBottom from './middleAreaBottom'
+
 export default {
+  components: {
+    leftMiddleBottom
+  },
   data() {
     return {
       amountTotal: [], // 浠婃棩绱澶勭悊閲�
       amountCurYearTotal: [], // 鏈勾绱澶勭悊閲�
       amountYesterdayTotal: [], // 鎬荤疮璁″鐞嗛噺
-      myChart: null,
       stationData: [],
       processData: [],
-      data:[
-        { name: '鎵樻櫘閾佺儹鍏嬩埂', centroid: [87.047533,47.875751],value: 100 },
-        { name: '鎵樻櫘閾佺儹鍏嬮晣', centroid: [85.885448,47.439013],value: 100 },
-        { name: '鍚夋湪涔冮晣', centroid: [85.882013,47.44893],value: 100 },
-        { name: '鍠�灏斾氦涔�', centroid: [86.410528,47.201893],value: 200  },
-        { name: '涔屾媺鏂壒闀�',centroid: [85.782084,47.669236],value: 100 },
-        { name: '鎵樻柉鐗逛埂',  centroid: [86.13412,47.285077],value: 100},
-        { name: '鎭板嫆浠�娴蜂埂', centroid: [86.153288,47.535675],value: 100 },
-        { name: '鍒柉閾佺儹鍏嬩埂',centroid: [85.88913,47.309702],value: 100 },
-        { name: '鍏靛洟涓�鍏叚鍥�', centroid: [85.678458,47.556221],value: 100 }
-        // 鎵樻櫘閾佺儹鍏嬮晣銆佸悏鏈ㄤ箖闀囥�佸杸灏斾氦涔°�佹墭鏂壒涔°�佸叺鍥竴鍏叚鍥€�佸埆鏂搧鐑厠涔°�佹伆鍕掍粈娴蜂埂銆佹墭鏅搧鐑厠涔�
-      ]
+      chart:null,
+      chartData:{
+        data: [80, 15, 5, 10],
+        nameList: ['鍦ㄧ嚎', '绂荤嚎', '寮傚父', '鏈笂鎶�'],
+        newData:[]
+      },
+      // newData: chartData.data.map((item, idx) => { 
+      //   return {
+      //       value: item,
+      //       name: '甯堣祫鍔涢噺',
+      //       unit: 'm虏',
+      //   }
+      // })
     }
   },
   created() {
     this.getScAmount()
-    // setTimeout(this.initChart, 5000)
-    // this.initChart()
-    // this.totalNum = (+this.baseInfos.totalProcess / 10000).toFixed(2)
+    this.chartData.newData = this.chartData.data.map(item => {
+      return {
+        value: item,
+        // name: '姘磋〃鐘舵��',
+        unit:'%',
+      } 
+    })
   },
   props: {
     baseInfos: {
@@ -102,13 +93,9 @@
     }
   },
   watch: {
-
-
   },
   mounted() {
-    // this.getData()
     this.$nextTick(() => {
-      // this.getStationList()
       this.initCharts()
     })
   },
@@ -128,129 +115,151 @@
         }
       })
     },
-    initCharts() {
-      const charts = echarts.init(this.$refs['mapcontainer'])
+     setOptions({ newData, nameList } = {}) {
       const option = {
-        geo: { // 2D鍦板浘鍧愭爣绯�
-            show: false, // 涓嶆樉绀哄湴鍥撅紝鐢ㄤ簬涓哄姩鏁堟暎鐐规彁渚�2D鍦板浘鍧愭爣绯�
-            map: 'centerMap',
-            roam: false, // 绂佺敤缂╂斁銆佹嫋鎷�
-            layoutCenter: ['50%', '47%'], // 鍦板浘涓績浣嶇疆
-            layoutSize: '90%', // 鎺у埗鍦板浘灏哄锛堝湴鍥剧殑瀹藉害鍜岄珮搴﹂兘浼氭敼鍙橈級
-            aspectScale: 0.85, // 鎺у埗鍦板浘闀垮姣旓紙姝ゅ�艰秺灏忓湴鍥捐秺绐勶紝瓒婂ぇ鍦板浘瓒婂锛�
-            zlevel: 1,
-        },
-        geo3D: { // 3D鍦板浘鍧愭爣绯�
-            show: true, // 鏄剧ず3D鍦板浘鐗堝潡
-            map: "centerMap",
-            top: "-20",
-            regionHeight: 16, // 鍦板浘鐗堝潡鍘氬害
-            label: {
-              show: true,
-              borderRadius: 0,
-              distanca: 0,
-              textStyle: {
-                  fontSize: 14,
-                  color: "#C23531", // 鍦板浘鍒濆鍖栧尯鍩熷瓧浣撻鑹�
-                  borderWidth: 1,
-                  borderColor: '#FFFF10',
-              }
-            },
-            itemStyle: {
-              // 涓夌淮鍦扮悊鍧愭爣绯荤粍浠� 涓笁缁村浘褰㈢殑瑙嗚灞炴�э紝鍖呮嫭棰滆壊锛岄�忔槑搴︼紝鎻忚竟绛夈��
-              color: "rgba(11,59,121,0.5)", // 鍦板浘鏉垮潡鐨勯鑹�
-              opacity: 1, // 鍥惧舰鐨勪笉閫忔槑搴� [ default: 1 ]
-              borderWidth: 2, // (鍦板浘鏉垮潡闂寸殑鍒嗛殧绾�)鍥惧舰鎻忚竟鐨勫搴︺�傚姞涓婃弿杈瑰悗鍙互鏇存竻鏅扮殑鍖哄垎姣忎釜鍖哄煙   [ default: 0 ]
-              borderColor: "#2FB5FA", // 鍥惧舰鎻忚竟鐨勯鑹层�俒 default: #333 ]
-            },
-            emphasis: {
-              label: {
-                  show: true,
-                  color: "#fff000",
-              },
-              itemStyle: {
-                  color: "#146fd7",
-                  opacity: 0.5,
-              },
-            },
-            light: {
-              // 鍏夌収闃村奖
-              main: {
-                  color: "#FFFFFF", // 鍏夌収棰滆壊
-                  intensity: 2, // 鍏夌収寮哄害
-                  shadowQuality: "light", // 闃村奖浜害
-                  shadow: true, // 鏄惁鏄剧ず闃村奖
-                  alpha: 50,
-                  beta: 10,
-              },
-            },
-            viewControl: {
-              "projection": "perspective",
-              "autoRotate": false,
-              "distance": 208, // 鎺у埗鍦板浘鐗堝潡鐨勫ぇ灏�
-              "alpha": 72, // 鍦板浘鐗堝潡鍨傜洿鏂瑰悜鐨勮搴�
-              "beta": 2, // 鍦板浘鐗堝潡姘村钩鏂瑰悜鐨勮搴�
-              rotateSensitivity: 0, // 绂佺敤鏃嬭浆
-              panSensitivity: 0, // 绂佺敤骞崇Щ
-              zoomSensitivity: 0, // 绂佺敤缂╂斁
-            },
-            zlevel: 2,
-        },
-        series: [
-            { // 鍔ㄦ晥鏁g偣鍥惧眰锛屼娇鐢�2D鍦板浘鍧愭爣绯�
-              type: 'effectScatter',
-              coordinateSystem: 'geo',
-              zlevel: 3,
-              rippleEffect: { //娑熸吉鐗规晥
-                  period: 4, //鍔ㄧ敾鏃堕棿锛屽�艰秺灏忛�熷害瓒婂揩
-                  brushType: 'stroke', //娉㈢汗缁樺埗鏂瑰紡 stroke, fill
-                  scale: 10 //娉㈢汗鍦嗙幆鏈�澶ч檺鍒讹紝鍊艰秺澶ф尝绾硅秺澶�
-              },
-              symbol: 'circle',
-              symbolSize: function (val) {
-                  return (5 + val[2] * 5) / 150; //鍦嗙幆澶у皬
-              },
-              itemStyle: {
-                  normal: {
+      grid: {},
+      series: newData.map((item, idx) => {
+        if (idx === 0) {
+            return {
+                name: '',
+                type: 'gauge', 
+                radius: '40%', // 琛ㄧ洏澶у皬
+                splitNumber: 5, // 鍒诲害鏁伴噺
+                data: [item],
+                center: [`${20 + idx * 20}%`, '40%'],
+                splitLine: {
+                    show: false,
+                },
+                progress: {
                     show: true,
-                    color: '#2FB5FA'
-                  }
-              },
-              data: [],
-            },
-        ]
-
+                },
+                itemStyle: {
+                    color: '#FF8C00',
+                },
+                axisTick: {
+                    show: false,
+                },
+                axisLine: {
+                    show: true,
+                    lineStyle: {
+                        width: 10,
+                        color: [
+                            [item.value ? item.value / 100 : 0, '#FF8C00'],
+                            [1, '#01A0FE'],
+                        ],
+                    },
+                },
+                axisLabel: {
+                    show: true,
+                    distance: -45, // 鍧愭爣杞存暟瀛椾綅缃�
+                    color: '#888888',
+                },
+                detail: {
+                    offsetCenter: [0, '120%'],
+                    fontWeight: 'bold',
+                    formatter: function (value) {
+                        return `{a|${value + item.unit}}\n{b|${nameList[idx]}}`;
+                    },
+                    rich: {
+                        a: {
+                            color: '#01a0fe',
+                            fontSize: 12,
+                        },
+                        b: {
+                            fontSize: 14,
+                            color: '#888888',
+                        },
+                    },
+                },
+                title: {
+                    // 鍏朵綑灞炴�ч粯璁や娇鐢ㄥ叏灞�鏂囨湰鏍峰紡锛岃瑙乀EXTSTYLE
+                    // fontWeight: 'bolder',
+                    fontSize: 14,
+                    color: '#1170b7',
+                    padding: [0, 10, 0, 10],
+                    offsetCenter: ['400%', '200%'],
+                    // fontStyle: 'italic'
+                    borderColor: 'red',
+                    lineHeight: 30,
+                    borderRadius: 16,
+                    backgroundColor: 'rgba(17,112,183,0.3)',
+                },
+            };
+        }else{
+             return {
+                name: '',
+                type: 'gauge',
+                radius: '40%', 
+                splitNumber: 5,
+                data: [item],
+                center: [`${20 + idx * 20}%`, '40%'],
+                splitLine: {
+                    show: false,
+                },
+                progress: {
+                    show: true,
+                },
+                itemStyle: {
+                    color: '#FF8C00',
+                },
+                axisTick: {
+                    show: false,
+                },
+                axisLine: {
+                    show: true,
+                    lineStyle: {
+                        width: 10,
+                        color: [
+                            [item.value ? item.value / 100 : 0, '#FF8C00'],
+                            [1, '#01A0FE'],
+                        ],
+                    },
+                },
+                axisLabel: {
+                    show: true,
+                    distance: -45,
+                    color: '#888888',
+                },
+                detail: {
+                    offsetCenter: [0, '120%'],
+                    fontWeight: 'bold',
+                    formatter: function (value) {
+                        return `{a|${value + item.unit}}\n{b|${nameList[idx]}}`;
+                    },
+                    rich: {
+                        a: {
+                            color: '#01a0fe',
+                            fontSize: 12,
+                        },
+                        b: {
+                            fontSize: 14,
+                            color: '#888888',
+                        },
+                    },
+                },
+                title: {
+                    // 鍏朵綑灞炴�ч粯璁や娇鐢ㄥ叏灞�鏂囨湰鏍峰紡锛岃瑙乀EXTSTYLE
+                    // fontWeight: 'bolder',
+                    show:false,
+                    fontSize: 14,
+                    color: '#1170b7',
+                    padding: [0, 10, 0, 10],
+                    offsetCenter: ['0', '0%'],
+                    // fontStyle: 'italic'
+                    borderColor: 'red',
+                    lineHeight: 30,
+                    borderRadius: 16,
+                    backgroundColor: 'rgba(17,112,183,0.3)',
+                },
+            };
+        }
+    }),
       }
-  var mapFeatures = this.data
-   console.log('mapFeatures',mapFeatures)
-   var geoCoordMap = {};
-   mapFeatures.forEach(function (v) {
-      // 鍦板尯鍚嶇О
-      var name = v.name;
-      // 鍦板尯缁忕含搴�
-      geoCoordMap[name] = v.centroid;
-   });
-
-   var convertData = function (data) {
-      var res = [];
-      for (var i = 0; i < data.length; i++) {
-         var geoCoord = geoCoordMap[data[i].name];
-         if (geoCoord) {
-            res.push({
-               name: data[i].name,
-               value: geoCoord.concat(data[i].value)
-            });
-         }
-      }
-      console.log(res)
-      return res;
-   };
-   // alert(JSON.stringify(convertData(areaMapData)));
-   option.series[0].data = convertData(this.data); // 璁剧疆鍔ㄦ晥鏁g偣鏁版嵁
-      // 鍦板浘娉ㄥ唽锛岀涓�涓弬鏁扮殑鍚嶅瓧蹇呴』鍜宱ption.geo.map涓�鑷�
-      echarts.registerMap('centerMap', datajson)
-      charts.setOption(option)
-
+      this.chart.setOption(option) 
+     },
+    initCharts() {
+      this.chart = echarts.init(document.getElementById('yibiaoEchart'))
+      this.setOptions(this.chartData)
     }
   }
 }
@@ -309,35 +318,32 @@
   }
 
 }
-.map-infos {
-    // border: 1px dashed #ddd;
-    width: 4.0rem;
-    position: absolute;
-    top: 1rem;
-    right: 0.5rem;
-    // margin-top: 0.5rem;
-    font-size: .2rem;
-    color: #d0cbcb;
-  }
+
 .map-title {
   padding: 0.15rem;
   text-align: center;
 }
-.map-item {
-  display: flex;
-  padding: 0.15rem;
-  font-size: .2rem;
-  align-items: center;
-  .item-title {
-    width: 50%;
-    font-size: 0.1rem;
-    letter-spacing: 2px;
+.item-block {
+  width: 90%;
+  text-align: center;
+  height: 38vh;
+  margin: 0.35rem auto 0.5rem;
+  .panel .panel-header {
+    background-image: none !important;
   }
-  .item-num {
-    font-family: 'screen-font';
+  .echart-title {
+    color: white;
+    font-size: 0.18rem;
+    text-align: left;
+    padding: 0.1rem;
   }
 }
-.dv-border-box-13 {
-  padding: .2rem;
+.height35 {
+  height: 31vh;
 }
 </style>
+<style>
+.dv-border-box-10 .dv-border-svg-container {
+  display: none
+}
+</style>
\ No newline at end of file
diff --git a/src/views/largeScreen/component/middleAreaBottom.vue b/src/views/largeScreen/component/middleAreaBottom.vue
new file mode 100644
index 0000000..0e06908
--- /dev/null
+++ b/src/views/largeScreen/component/middleAreaBottom.vue
@@ -0,0 +1,98 @@
+<template>
+  <!-- 姹℃煋鐗╂秷鍑忛噺 -->
+  <div class="panel">
+    <!-- <div class="panel-header">杩戜竴骞寸敤姘撮噺缁熻</div> -->
+    <div>
+      <line-chart :chart-data="chartData" :width="'100%'" :height="'29vh'"></line-chart>
+    </div>
+  </div>
+</template>
+<script>
+import lineChart from '@/components/echarts/lineChart'
+import { getEchartData } from '@/api/largeScreen'
+export default {
+  components: {
+    // mainEcharts,
+    lineChart
+  },
+  data() {
+    return {
+      datetiems: [],
+      chartData: {
+        time: [],
+        // time: ['2024-05','2024-04','2024-03','2024-02','2024-01','2023-12'],
+        Data: [
+          {
+            data: ['20','40','50','40','60','79','30','38','46','99','88','99'],
+            // data: [],
+            type: 'line',
+            // name: 'BOD',
+            connectNulls: true,
+            smooth: true,
+            areaStyle: {}
+          }
+        ],
+        config: {
+          // name: ['BOD', 'TP', 'TN', 'NH3-N'],
+          color: ['#5470c6'],
+          textStyleColor: '#fff',
+          XlineColor: '#022C5A',
+          YlineColor: '#022C5A',
+          xRotate: 30
+        }
+      }
+    }
+  },
+  mounted() {
+    this.getEchartData()
+    this.chartData.time = this.getlastYearMonth().reverse()
+  },
+  methods: {
+    getEchartData() {
+      getEchartData({orgTag: 'dy'}).then((res) => {
+        if (res.succ == 1) {
+          res.amounts.forEach(ele=>{
+            this.chartData.time.push(ele.yyyyMm)
+            this.chartData.Data[0].data.push(ele.amount)
+          })
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.message
+          })
+        }
+      })
+    },
+  getlastYearMonth() {
+    // 1銆佸皝瑁呮柟娉�
+    var result = [];
+    for (var i = 0; i < 12; i++) {
+        var d = new Date();
+        d.setDate(1);
+        d.setMonth(d.getMonth() - i-1); // 鑾峰彇涓婁釜鏈堝線鍓�12涓湀锛屾墍浠�-1
+        var m = d.getMonth() + 1;
+        m = m < 10 ? "0" + m : m; //鍦ㄨ繖閲屽彲浠ヨ嚜瀹氫箟杈撳嚭鐨勬棩鏈熸牸寮�
+        result.push(d.getFullYear() + "-" + m); //result.push(d.getFullYear() + "骞�" + m + '鏈�');
+    }
+    return result; // return 鍒涘缓濂界殑鏃ユ湡鏁扮粍
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+// 鏍囬
+.info-title {
+  height: 4.4vh;
+  background: url('../../../image/screen/bg_title.png') no-repeat;
+  display: flex;
+  align-items: center;
+  color: #fff;
+  font-family: 'screen-font';
+  margin-bottom: 2%;
+  .info-title-text {
+    padding-left: 2vw;
+    font-size: 1rem;
+  }
+}
+</style>
diff --git a/src/views/largeScreen/component/middleAreajimunai.vue b/src/views/largeScreen/component/middleAreajimunai.vue
new file mode 100644
index 0000000..051fefb
--- /dev/null
+++ b/src/views/largeScreen/component/middleAreajimunai.vue
@@ -0,0 +1,343 @@
+<template>
+  <div style="position:relative">
+    <div style="display: flex; justify-content: space-around; margin-bottom: 1vh">
+      <div>
+        <div class="num-title">
+          <div><span class="high-text">鎬�</span>绱鐢ㄦ按閲�</div>
+        </div>
+        <div class="num-item">
+          <span class="num-style color0" :class="{ 'num-bg0': s !== '.' }" v-for="(s, i) in amountTotal" :key="i">{{ s }}</span>
+          <!-- <span class="unit-text">m鲁</span> -->
+        </div>
+      </div>
+      <div>
+        <div class="num-title">
+          <div><span class="high-text">鏈�</span>骞村害绱鐢ㄦ按閲�</div>
+        </div>
+        <div class="num-item">
+          <span v-for="(s, i) in amountCurYearTotal" :key="i" class="num-style color2" :class="{ 'num-bg2': s !== '.' }">{{ s }}</span>
+          <!-- <span class="unit-text">涓噈鲁</span> -->
+        </div>
+      </div>
+      <div>
+        <div class="num-title">
+          <div><span class="high-text">鏄�</span>鏃ョ疮璁$敤姘撮噺</div>
+        </div>
+        <div class="num-item">
+          <span v-for="(s, i) in amountYesterdayTotal" :key="i" class="num-style color2" :class="{ 'num-bg2': s !== '.' }">{{ s }}</span>
+          <!-- <span class="unit-text">涓噈鲁</span> -->
+        </div>
+      </div>
+      <!-- <div v-for="(item,index) in processData" :key="index">
+        <div class="num-title">
+          <div><span class="high-text">{{ item.firstEle }}</span>{{ item.endEle }}</div>
+
+        </div>
+        <div class="num-item">
+          <span class="num-style color0" :class="[{ 'num-bg0': s !== '.' && index==0 },{ 'num-bg2': s !== '.' && index==1 },{'color2':index==1}]" v-for="(s, i) in item.count" :key="i">{{ s }}</span>
+          <span class="unit-text">{{ item.unit }}</span>
+        </div>
+      </div> -->
+    </div>
+    <div>
+      <!-- <div id="echartMap" style="width: 500px; height: 500px"></div> -->
+      <!--鍦板浘-->
+      <div id="mapcontainer" ref="mapcontainer" style="width: 9rem; height: 80vh"></div>
+      <div class="map-infos">
+        <dv-border-box-13>
+          <div class="map-title">鍚夋湪涔冨幙</div>
+          <div class="map-item">
+            <div class="item-title">瀹夎姘磋〃鏁伴噺:</div> <div class="item-num">328涓�</div>
+          </div>
+          <div class="map-item">
+            <div class="item-title">绱鐢ㄦ按閲�:</div> <div class="item-num">2943.8 m鲁</div>
+          </div>
+          <div class="map-item">
+            <div class="item-title">褰撳墠娆犺垂鏁伴噺:</div><div class="item-num">3 鎴�</div>
+          </div>
+        </dv-border-box-13>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import * as echarts from 'echarts'
+import echartsGL from 'echarts-gl'
+import datajson from './jimunai'
+import { getScAmount } from '@/api/largeScreen'
+// import { getLargeScreenProcessInfo } from '@/cpx_sewage/api/largeScreen/largeScreen'
+export default {
+  data() {
+    return {
+      amountTotal: [], // 浠婃棩绱澶勭悊閲�
+      amountCurYearTotal: [], // 鏈勾绱澶勭悊閲�
+      amountYesterdayTotal: [], // 鎬荤疮璁″鐞嗛噺
+      myChart: null,
+      stationData: [],
+      processData: [],
+      data:[
+        { name: '鎵樻櫘閾佺儹鍏嬩埂', centroid: [87.047533,47.875751],value: 100 },
+        { name: '鎵樻櫘閾佺儹鍏嬮晣', centroid: [85.885448,47.439013],value: 100 },
+        { name: '鍚夋湪涔冮晣', centroid: [85.882013,47.44893],value: 100 },
+        { name: '鍠�灏斾氦涔�', centroid: [86.410528,47.201893],value: 200  },
+        { name: '涔屾媺鏂壒闀�',centroid: [85.782084,47.669236],value: 100 },
+        { name: '鎵樻柉鐗逛埂',  centroid: [86.13412,47.285077],value: 100},
+        { name: '鎭板嫆浠�娴蜂埂', centroid: [86.153288,47.535675],value: 100 },
+        { name: '鍒柉閾佺儹鍏嬩埂',centroid: [85.88913,47.309702],value: 100 },
+        { name: '鍏靛洟涓�鍏叚鍥�', centroid: [85.678458,47.556221],value: 100 }
+        // 鎵樻櫘閾佺儹鍏嬮晣銆佸悏鏈ㄤ箖闀囥�佸杸灏斾氦涔°�佹墭鏂壒涔°�佸叺鍥竴鍏叚鍥€�佸埆鏂搧鐑厠涔°�佹伆鍕掍粈娴蜂埂銆佹墭鏅搧鐑厠涔�
+      ]
+    }
+  },
+  created() {
+    this.getScAmount()
+    // setTimeout(this.initChart, 5000)
+    // this.initChart()
+    // this.totalNum = (+this.baseInfos.totalProcess / 10000).toFixed(2)
+  },
+  props: {
+    baseInfos: {
+      type: Object,
+      default: () => {}
+    }
+  },
+  watch: {
+
+
+  },
+  mounted() {
+    // this.getData()
+    this.$nextTick(() => {
+      // this.getStationList()
+      this.initCharts()
+    })
+  },
+  methods: {
+    getScAmount() {
+      const param = {"orgTag":"dy"}
+      getScAmount(param).then(res=>{
+        if (res.succ == 1) {
+          this.amountTotal = res.amountTotal.toString().split("")
+          this.amountCurYearTotal = res.amountCurYearTotal.toString().split("")
+          this.amountYesterdayTotal = res.amountYesterdayTotal.toString().split("")
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.message
+          })
+        }
+      })
+    },
+    initCharts() {
+      const charts = echarts.init(this.$refs['mapcontainer'])
+      const option = {
+        geo: { // 2D鍦板浘鍧愭爣绯�
+            show: false, // 涓嶆樉绀哄湴鍥撅紝鐢ㄤ簬涓哄姩鏁堟暎鐐规彁渚�2D鍦板浘鍧愭爣绯�
+            map: 'centerMap',
+            roam: false, // 绂佺敤缂╂斁銆佹嫋鎷�
+            layoutCenter: ['50%', '47%'], // 鍦板浘涓績浣嶇疆
+            layoutSize: '90%', // 鎺у埗鍦板浘灏哄锛堝湴鍥剧殑瀹藉害鍜岄珮搴﹂兘浼氭敼鍙橈級
+            aspectScale: 0.85, // 鎺у埗鍦板浘闀垮姣旓紙姝ゅ�艰秺灏忓湴鍥捐秺绐勶紝瓒婂ぇ鍦板浘瓒婂锛�
+            zlevel: 1,
+        },
+        geo3D: { // 3D鍦板浘鍧愭爣绯�
+            show: true, // 鏄剧ず3D鍦板浘鐗堝潡
+            map: "centerMap",
+            top: "-20",
+            regionHeight: 16, // 鍦板浘鐗堝潡鍘氬害
+            label: {
+              show: true,
+              borderRadius: 0,
+              distanca: 0,
+              textStyle: {
+                  fontSize: 14,
+                  color: "#C23531", // 鍦板浘鍒濆鍖栧尯鍩熷瓧浣撻鑹�
+                  borderWidth: 1,
+                  borderColor: '#FFFF10',
+              }
+            },
+            itemStyle: {
+              // 涓夌淮鍦扮悊鍧愭爣绯荤粍浠� 涓笁缁村浘褰㈢殑瑙嗚灞炴�э紝鍖呮嫭棰滆壊锛岄�忔槑搴︼紝鎻忚竟绛夈��
+              color: "rgba(11,59,121,0.5)", // 鍦板浘鏉垮潡鐨勯鑹�
+              opacity: 1, // 鍥惧舰鐨勪笉閫忔槑搴� [ default: 1 ]
+              borderWidth: 2, // (鍦板浘鏉垮潡闂寸殑鍒嗛殧绾�)鍥惧舰鎻忚竟鐨勫搴︺�傚姞涓婃弿杈瑰悗鍙互鏇存竻鏅扮殑鍖哄垎姣忎釜鍖哄煙   [ default: 0 ]
+              borderColor: "#2FB5FA", // 鍥惧舰鎻忚竟鐨勯鑹层�俒 default: #333 ]
+            },
+            emphasis: {
+              label: {
+                  show: true,
+                  color: "#fff000",
+              },
+              itemStyle: {
+                  color: "#146fd7",
+                  opacity: 0.5,
+              },
+            },
+            light: {
+              // 鍏夌収闃村奖
+              main: {
+                  color: "#FFFFFF", // 鍏夌収棰滆壊
+                  intensity: 2, // 鍏夌収寮哄害
+                  shadowQuality: "light", // 闃村奖浜害
+                  shadow: true, // 鏄惁鏄剧ず闃村奖
+                  alpha: 50,
+                  beta: 10,
+              },
+            },
+            viewControl: {
+              "projection": "perspective",
+              "autoRotate": false,
+              "distance": 208, // 鎺у埗鍦板浘鐗堝潡鐨勫ぇ灏�
+              "alpha": 72, // 鍦板浘鐗堝潡鍨傜洿鏂瑰悜鐨勮搴�
+              "beta": 2, // 鍦板浘鐗堝潡姘村钩鏂瑰悜鐨勮搴�
+              rotateSensitivity: 0, // 绂佺敤鏃嬭浆
+              panSensitivity: 0, // 绂佺敤骞崇Щ
+              zoomSensitivity: 0, // 绂佺敤缂╂斁
+            },
+            zlevel: 2,
+        },
+        series: [
+            { // 鍔ㄦ晥鏁g偣鍥惧眰锛屼娇鐢�2D鍦板浘鍧愭爣绯�
+              type: 'effectScatter',
+              coordinateSystem: 'geo',
+              zlevel: 3,
+              rippleEffect: { //娑熸吉鐗规晥
+                  period: 4, //鍔ㄧ敾鏃堕棿锛屽�艰秺灏忛�熷害瓒婂揩
+                  brushType: 'stroke', //娉㈢汗缁樺埗鏂瑰紡 stroke, fill
+                  scale: 10 //娉㈢汗鍦嗙幆鏈�澶ч檺鍒讹紝鍊艰秺澶ф尝绾硅秺澶�
+              },
+              symbol: 'circle',
+              symbolSize: function (val) {
+                  return (5 + val[2] * 5) / 150; //鍦嗙幆澶у皬
+              },
+              itemStyle: {
+                  normal: {
+                    show: true,
+                    color: '#2FB5FA'
+                  }
+              },
+              data: [],
+            },
+        ]
+
+      }
+  var mapFeatures = this.data
+   console.log('mapFeatures',mapFeatures)
+   var geoCoordMap = {};
+   mapFeatures.forEach(function (v) {
+      // 鍦板尯鍚嶇О
+      var name = v.name;
+      // 鍦板尯缁忕含搴�
+      geoCoordMap[name] = v.centroid;
+   });
+
+   var convertData = function (data) {
+      var res = [];
+      for (var i = 0; i < data.length; i++) {
+         var geoCoord = geoCoordMap[data[i].name];
+         if (geoCoord) {
+            res.push({
+               name: data[i].name,
+               value: geoCoord.concat(data[i].value)
+            });
+         }
+      }
+      console.log(res)
+      return res;
+   };
+   // alert(JSON.stringify(convertData(areaMapData)));
+   option.series[0].data = convertData(this.data); // 璁剧疆鍔ㄦ晥鏁g偣鏁版嵁
+      // 鍦板浘娉ㄥ唽锛岀涓�涓弬鏁扮殑鍚嶅瓧蹇呴』鍜宱ption.geo.map涓�鑷�
+      echarts.registerMap('centerMap', datajson)
+      charts.setOption(option)
+
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.num-title {
+  color: #fff;
+  font-family: 'screen-font';
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 0.14rem;
+  .high-text {
+    font-size: 0.24rem;
+    margin-right: 0.05rem;
+  }
+  .unit-text {
+    font-size: 0.12rem;
+    font-family: 'element-icons';
+  }
+}
+
+.num-item {
+  display: flex;
+  // justify-content: space-between;
+  overflow: hidden;
+  align-items: flex-end;
+  .num-style {
+    font-size: 0.36rem;
+    font-family: 'screen-font';
+    padding: 0.05rem;
+    background-size: 100% 100% !important;
+  }
+  .num-bg0 {
+    background: url('../../../image/screen/bg_num_blue.png') no-repeat;
+
+  }
+  .num-bg1 {
+    background: url('../../../image/screen/bg_num_green.png') no-repeat;
+  }
+  .num-bg2 {
+    background: url('../../../image/screen/bg_num_cyan.png') no-repeat;
+  }
+  .color0 {
+    color: #36a8ff;
+  }
+  .color1 {
+    color: #00f170;
+  }
+  .color2 {
+    color: #04ddff;
+  }
+  .unit-text {
+    color: #fff;
+    margin-left: 5px;
+  }
+
+}
+.map-infos {
+    // border: 1px dashed #ddd;
+    width: 4.0rem;
+    position: absolute;
+    top: 1rem;
+    right: 0.5rem;
+    // margin-top: 0.5rem;
+    font-size: .2rem;
+    color: #d0cbcb;
+  }
+.map-title {
+  padding: 0.15rem;
+  text-align: center;
+}
+.map-item {
+  display: flex;
+  padding: 0.15rem;
+  font-size: .2rem;
+  align-items: center;
+  .item-title {
+    width: 50%;
+    font-size: 0.1rem;
+    letter-spacing: 2px;
+  }
+  .item-num {
+    font-family: 'screen-font';
+  }
+}
+.dv-border-box-13 {
+  padding: .2rem;
+}
+</style>
diff --git a/src/views/largeScreen/component/rightBottom.vue b/src/views/largeScreen/component/rightBottom.vue
index 560d176..51daf69 100644
--- a/src/views/largeScreen/component/rightBottom.vue
+++ b/src/views/largeScreen/component/rightBottom.vue
@@ -5,8 +5,8 @@
       灏忕▼搴忎俊鎭�
     </div>
     <div class="img-container">
-      <!-- <img class="img-items" src="../../../image/screen/xiaochengxuma.jpg" alt=""> -->
-      <img class="img-items" :src="wxMiniQrClientUrl" alt="">
+      <img class="img-items" src="../../../image/screen/xiaochengxuma.jpg" alt="">
+      <!-- <img class="img-items" :src="wxMiniQrClientUrl" alt=""> -->
     </div>
   </div>
 </template>
diff --git a/src/views/largeScreen/component/rightMiddle.vue b/src/views/largeScreen/component/rightMiddle.vue
index 7586d7b..a3b3839 100644
--- a/src/views/largeScreen/component/rightMiddle.vue
+++ b/src/views/largeScreen/component/rightMiddle.vue
@@ -6,20 +6,20 @@
     </div>
       <!-- <line-chart :chart-data="chartData" :width="'100%'" :height="'22vh'"></line-chart> -->
        <div class="flex panel-body" style="flex-wrap: wrap;">
-          <div class="info-items flex-item">
+          <!-- <div class="info-items flex-item">
             <div class="info-img"><img src="../../../image/screen/image_鍘曟墍.png" alt=""></div>
             <div>
               <div class="item-label" style="white-space: nowrap">48灏忔椂鏈敤姘�</div>
               <div class="item-value"><span class="item-num">{{ alarmInfo.no48AmountTotal }}</span></div>
             </div>
-          </div>
-          <div class="info-items flex-item">
+          </div> -->
+          <!-- <div class="info-items flex-item">
             <div class="info-img"><img src="../../../image/screen/image_姘磋川.png" alt=""></div>
             <div>
               <div class="item-label" style="white-space: nowrap">闃�闂ㄥ叧闂姤璀�</div>
               <div class="item-value"><span class="item-num">{{ alarmInfo.valveTotal }}</span></div>
             </div>
-          </div>
+          </div> -->
           <div class="info-items flex-item">
             <div class="info-img"><img src="../../../image/screen/image_宸℃.png" alt=""></div>
             <div>
diff --git a/src/views/largeScreen/component/rightTophubiao.vue b/src/views/largeScreen/component/rightTophubiao.vue
new file mode 100644
index 0000000..92cb377
--- /dev/null
+++ b/src/views/largeScreen/component/rightTophubiao.vue
@@ -0,0 +1,191 @@
+<template>
+  <!-- 杩愯惀姒傚喌 -->
+  <div class="panel">
+    <div class="panel-header">杩愮淮鏁版嵁</div>
+    <div>
+        <div>
+            <div class="num-title">
+            <div><span class="high-text">鎬�</span>绱鐢ㄦ按閲�</div>
+            </div>
+            <div class="num-item">
+            <span class="num-style color0" :class="{ 'num-bg0': s !== '.' }" v-for="(s, i) in amountTotal" :key="i">{{ s }}</span>
+            <!-- <span class="unit-text">m鲁</span> -->
+            </div>
+        </div>
+        <div>
+            <div class="num-title">
+                <div><span class="high-text">鏈�</span>骞村害绱鐢ㄦ按閲�</div>
+                </div>
+                <div class="num-item">
+                <span v-for="(s, i) in amountCurYearTotal" :key="i" class="num-style color2" :class="{ 'num-bg2': s !== '.' }">{{ s }}</span>
+                <!-- <span class="unit-text">涓噈鲁</span> -->
+            </div>
+        </div>
+        <div>
+            <div class="num-title">
+                <div><span class="high-text">鏄�</span>鏃ョ疮璁$敤姘撮噺</div>
+                </div>
+                <div class="num-item">
+                <span v-for="(s, i) in amountYesterdayTotal" :key="i" class="num-style color2" :class="{ 'num-bg2': s !== '.' }">{{ s }}</span>
+                <!-- <span class="unit-text">涓噈鲁</span> -->
+            </div>
+        </div>
+    </div>
+  </div>
+</template>
+<script>
+import { getScAmount } from '@/api/largeScreen'
+export default {
+  name: 'RightTop',
+  props: {
+    baseInfos: {
+      type: Object,
+      default: () => {}
+    }
+  },
+  data() {
+    return {
+      devopsData: []
+    }
+  },
+  watch: {
+    baseInfos: {
+      handler(newValue) {
+        this.baseInfos = newValue
+      },
+      immediate: true
+    }
+  },
+  created() {
+    this.getScAmount()
+  },
+  mounted() {
+    // this.getData()
+  },
+  methods: {
+    getScAmount() {
+      const param = {"orgTag":"dy"}
+      getScAmount(param).then(res=>{
+        if (res.succ == 1) {
+          this.amountTotal = res.amountTotal.toString().split("")
+          this.amountCurYearTotal = res.amountCurYearTotal.toString().split("")
+          this.amountYesterdayTotal = res.amountYesterdayTotal.toString().split("")
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.message
+          })
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.num-title {
+  color: #fff;
+  font-family: 'screen-font';
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 0.14rem;
+  .high-text {
+    font-size: 0.24rem;
+    margin-right: 0.05rem;
+  }
+  .unit-text {
+    font-size: 0.12rem;
+    font-family: 'element-icons';
+  }
+}
+
+.num-item {
+  display: flex;
+  // justify-content: space-between;
+  overflow: hidden;
+  align-items: flex-end;
+  .num-style {
+    font-size: 0.36rem;
+    font-family: 'screen-font';
+    padding: 0.05rem;
+    background-size: 100% 100% !important;
+  }
+  .num-bg0 {
+    background: url('../../../image/screen/bg_num_blue.png') no-repeat;
+
+  }
+  .num-bg1 {
+    background: url('../../../image/screen/bg_num_green.png') no-repeat;
+  }
+  .num-bg2 {
+    background: url('../../../image/screen/bg_num_cyan.png') no-repeat;
+  }
+  .color0 {
+    color: #36a8ff;
+  }
+  .color1 {
+    color: #00f170;
+  }
+  .color2 {
+    color: #04ddff;
+  }
+  .unit-text {
+    color: #fff;
+    margin-left: 5px;
+  }
+
+}
+  .panel-body{
+    justify-content: space-around;
+  }
+  .info-items-top {
+    width: 3.4rem;
+    margin-bottom: .3rem;
+    font-size: .14rem;
+    text-align: center;
+    .item-text {
+      margin-top: 0.2rem;
+      color: #fff;
+    }
+  }
+
+  .info-items{
+    width: 1.36rem;
+    margin-bottom: .1rem;
+    // display: flex;
+    // justify-content: space-between;
+    // align-items: center;
+    text-align: center;
+    font-size: .14rem;
+    .item-text {
+      margin-top: 0.3rem;
+      color: #fff;
+    }
+    .info-img {
+      width: .6rem;
+      height: .6rem;
+      img{
+        width: 100%;
+      }
+    }
+    .item-label {
+      width: .64rem;
+      font-size: .14rem;
+      color: #fff;
+    }
+    .item-value {
+      font-size: .1rem;
+      color: #fff;
+    }
+    .item-num {
+      font-family: 'screen-font';
+      font-size: .20rem;
+    }
+  }
+  .dv-decoration-9 {
+    color: #fff;
+    width: 1.36rem;
+    height: 0.26rem;
+  }
+
+</style>
diff --git a/src/views/largeScreen/index.vue b/src/views/largeScreen/index.vue
index 4c23435..80247b4 100644
--- a/src/views/largeScreen/index.vue
+++ b/src/views/largeScreen/index.vue
@@ -3,7 +3,8 @@
     <div class="content-head">
       <div class="content-titles">
         <div class="img-container">
-          <img :src="titleUrl" alt="鍚夋湪涔冨幙浜洪ギ椤圭洰鐩戞祴骞冲彴">
+          <!-- <img :src="titleUrl" :alt="titleAlt"> -->
+          {{titleAlt}}
         </div>
 
         <!-- <img style="width: 100%" src="../../image/screen/image_head.png" alt="" /> -->
@@ -22,9 +23,10 @@
       <div class="content-body flex" style="padding: 0 0.1rem">
       <!-- 宸︿晶鍐呭 -->
       <div class="flex-item" style="width: 4.8rem">
-        <left-top :baseInfos="baseInfos" class="item-area" style="height: 24vh"></left-top>
+        <left-top :baseInfos="baseInfos" class="item-area" style="height: 29vh"></left-top>
         <left-middle class="item-area" style="height: 29vh"></left-middle>
-        <left-bottom class="item-area" style="height: 29vh"></left-bottom>
+        <!-- <left-bottom class="item-area" style="height: 29vh"></left-bottom> -->
+        <right-top :baseInfos="baseInfos" class="item-area" style="height: 24vh"></right-top>
       </div>
       <!-- 涓棿閮ㄥ垎 -->
       <div class="flex-main" style="width: 9.2rem">
@@ -32,9 +34,11 @@
       </div>
       <!-- 鍙充晶鍐呭 -->
       <div class="flex-item" style="width: 4.8rem">
-        <right-top :baseInfos="baseInfos" class="item-area" style="height: 24vh"></right-top>
+        <!-- <right-top :baseInfos="baseInfos" class="item-area" style="height: 24vh"></right-top> -->
+        <!-- <right-tophubiao :baseInfos="baseInfos" class="item-area" style="height: 24vh"></right-tophubiao> -->
         <right-middle class="item-area" style="height: 29vh"></right-middle>
-        <right-bottom :wxMiniQrClientUrl="wxMiniQrClientUrl" class="item-area" style="height: 29vh"></right-bottom>
+        <left-bottom class="item-area" style="height: 29vh"></left-bottom>
+        <right-bottom :wxMiniQrClientUrl="wxMiniQrClientUrl" class="item-area" style="height: 24vh"></right-bottom>
       </div>
     </div>
   </div>
@@ -42,11 +46,13 @@
 <script>
 import leftTop from './component/leftTop'
 import leftMiddle from './component/leftMiddle'
-import leftBottom from './component/leftBottom'
-import middleArea from './component/middleArea'
+import leftBottom from './component/leftBottom.vue'
 import rightTop from './component/rightTop'
+import middleArea from './component/middleArea'
+import rightTophubiao from './component/rightTophubiao'
 import rightMiddle from './component/rightMiddle'
 import rightBottom from './component/rightBottom'
+
 import './index.scss'
 
 import { getProjectInfo } from '@/api/largeScreen'
@@ -59,8 +65,9 @@
     leftTop,
     leftMiddle,
     leftBottom,
-    middleArea,
     rightTop,
+    middleArea,
+    rightTophubiao,
     rightMiddle,
     rightBottom
   },
@@ -90,6 +97,7 @@
       fullScreen: false,
       baseInfos: {}, // 椤圭洰鍩烘湰淇℃伅&杩愯惀姒傚喌
       titleUrl: '',
+      titleAlt: '',
       wxMiniQrClientUrl: '' // 灏忕▼搴忎俊鎭�
     }
   },
@@ -109,7 +117,6 @@
     },
     // 鍏ㄥ睆
     toggleFullScreen() {
-      console.log(document.fullscreenElement)
       if (!document.fullscreenElement) {
         document.documentElement.requestFullscreen()
       } else {
@@ -127,6 +134,9 @@
     getProjectInfo() {
       getProjectInfo({orgTag: 'dy'}).then((res) => {
         if(res.succ==1){
+          console.log('........', res)
+          
+          this.titleAlt = res.title
           this.titleUrl = res.wxMiniQrManageUrl || ''
           this.wxMiniQrClientUrl = res.wxMiniQrClientUrl || ''
         }else{
diff --git a/src/views/largeScreen/indexijmunai.vue b/src/views/largeScreen/indexijmunai.vue
new file mode 100644
index 0000000..96dbcaa
--- /dev/null
+++ b/src/views/largeScreen/indexijmunai.vue
@@ -0,0 +1,248 @@
+<template>
+  <div class="container">
+    <div class="content-head">
+      <div class="content-titles">
+        <div class="img-container">
+          <!-- <img :src="titleUrl" alt="鍚夋湪涔冨幙浜洪ギ椤圭洰鐩戞祴骞冲彴"> -->
+          鍚夋湪涔冨幙浜洪ギ椤圭洰鐩戞祴骞冲彴
+        </div>
+
+        <!-- <img style="width: 100%" src="../../image/screen/image_head.png" alt="" /> -->
+      </div>
+      <div class="time-head">
+        <div class="time-head-content">
+          <span>{{ this.time }}</span> {{ this.date }} {{ this.week }}
+        </div>
+      </div>
+      <div class="icon-items">
+        <div @click="toggleFullScreen" class="fullscreen"></div>
+        <!-- <div class="logout" @click="goBack"></div> -->
+      </div>
+    </div>
+    <!-- <div class="content-body flex" style="padding: 0 0.1rem; height: 100%"> -->
+      <div class="content-body flex" style="padding: 0 0.1rem">
+      <!-- 宸︿晶鍐呭 -->
+      <div class="flex-item" style="width: 4.8rem">
+        <left-top :baseInfos="baseInfos" class="item-area" style="height: 24vh"></left-top>
+        <left-middle class="item-area" style="height: 29vh"></left-middle>
+        <left-bottom class="item-area" style="height: 29vh"></left-bottom>
+      </div>
+      <!-- 涓棿閮ㄥ垎 -->
+      <div class="flex-main" style="width: 9.2rem">
+        <middle-area :baseInfos="baseInfos"></middle-area>
+      </div>
+      <!-- 鍙充晶鍐呭 -->
+      <div class="flex-item" style="width: 4.8rem">
+        <right-top :baseInfos="baseInfos" class="item-area" style="height: 24vh"></right-top>
+        <right-middle class="item-area" style="height: 29vh"></right-middle>
+        <right-bottom :wxMiniQrClientUrl="wxMiniQrClientUrl" class="item-area" style="height: 29vh"></right-bottom>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import leftTop from './component/leftTop'
+import leftMiddle from './component/leftMiddle'
+import leftBottom from './component/leftBottom'
+import middleArea from './component/middleArea'
+import rightTop from './component/rightTop'
+import rightMiddle from './component/rightMiddle'
+import rightBottom from './component/rightBottom'
+import './index.scss'
+
+import { getProjectInfo } from '@/api/largeScreen'
+
+document.documentElement.style.fontSize = '20px'
+
+export default {
+  name: 'LargeScreen',
+  components: {
+    leftTop,
+    leftMiddle,
+    leftBottom,
+    middleArea,
+    rightTop,
+    rightMiddle,
+    rightBottom
+  },
+  created() {
+    document.documentElement.style.fontSize = (window.innerWidth / 1920) * 100 + 'px'
+    // 12px => 0.12rem
+    // 200px => 2rem
+    // this.dateFormat()
+    this.timer = setInterval(() => {
+      this.dateFormat()
+    }, 1000)
+    this.getProjectInfo()
+  },
+  beforeDestroy() {
+    document.documentElement.style.fontSize = this.originalFontSize
+    if (this.timer) {
+      clearInterval(this.timer) // 鍦╒ue瀹炰緥閿�姣佸墠锛屾竻闄ゆ垜浠殑瀹氭椂鍣�
+    }
+  },
+  data() {
+    return {
+      originalFontSize: document.documentElement.style.fontSize,
+      timer: null,
+      time: '',
+      date: '',
+      week: '',
+      fullScreen: false,
+      baseInfos: {}, // 椤圭洰鍩烘湰淇℃伅&杩愯惀姒傚喌
+      titleUrl: '',
+      wxMiniQrClientUrl: '' // 灏忕▼搴忎俊鎭�
+    }
+  },
+  methods: {
+    dateFormat() {
+      let date = new Date()
+      let year = date.getFullYear()
+      let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
+      let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
+      let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
+      let minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
+      let seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
+
+      this.date = year + '-' + month + '-' + day + ' '
+      this.time = hours + ':' + minutes + ':' + seconds
+      this.week = '鏄熸湡' + '鏃ヤ竴浜屼笁鍥涗簲鍏�'.charAt(date.getDay())
+    },
+    // 鍏ㄥ睆
+    toggleFullScreen() {
+      console.log(document.fullscreenElement)
+      if (!document.fullscreenElement) {
+        document.documentElement.requestFullscreen()
+      } else {
+        if (document.exitFullscreen) {
+          document.exitFullscreen()
+        }
+      }
+      this.fullScreen = !this.fullScreen
+    },
+    // 閫�鍑�
+    goBack() {
+      this.$router.go(-1)
+    },
+    // 鑾峰彇椤圭洰淇℃伅
+    getProjectInfo() {
+      getProjectInfo({orgTag: 'dy'}).then((res) => {
+        if(res.succ==1){
+          this.titleUrl = res.wxMiniQrManageUrl || ''
+          this.wxMiniQrClientUrl = res.wxMiniQrClientUrl || ''
+        }else{
+          this.$message({
+            type: 'error',
+            message: res.message
+          })
+        }
+
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+// @import '../../font/font.css';
+.container {
+  // width: 100vw;
+  height: 100vh;
+  width: 100%;
+  // height: 100%;
+  background: url('../../image/screen/image_background.png') no-repeat fixed center;
+  background-size: 100% 100%;
+  // 鏍囬
+  .content-head {
+    height: 10vh;
+    // border-bottom: 1px dashed #707070;
+    // margin-bottom: 15px;
+    position: relative;
+    // line-height: 10vh;
+  }
+  .content-titles {
+    text-align: center;
+    font-family: 'LED-FONT';
+    font-size: .6rem;
+    color: #fff;
+    // padding-top: 10px;
+    .img-container {
+      width: 60%;
+      height: 10vh;
+      margin: 0 auto;
+      overflow: hidden;
+      img {
+        width: 100%;
+        height: 100%;
+      }
+    }
+  }
+  .time-head {
+    color: #fff;
+    position: absolute;
+    left: 0.2rem;
+    top: 0;
+    width: 20rem;
+    padding: 0.13rem 0;
+    font-size: 0.12rem;
+    .time-head-content {
+      width: 2.8rem;
+      height: 0.5rem;
+      background: url('../../image/screen/bg_time.png') no-repeat;
+      background-position: center center;
+      background-size: contain;
+      font-family: Microsoft YaHei-Regular, Microsoft YaHei;
+      & span {
+        display: inline-block;
+        width: 1.2rem;
+        font-size: 20px;
+        font-family: Impact-Regular, Impact;
+        font-weight: 400;
+        letter-spacing: 0.04rem;
+      }
+    }
+    .time-item {
+      font-size: 1rem !important;
+      padding-right: 5px;
+    }
+  }
+  .icon-items {
+    position: absolute;
+    top: 13px;
+    right: 0.12rem;
+    .fullscreen {
+      float: left;
+      width: 0.4rem;
+      height: 0.4rem;
+      margin-right: 0.11rem;
+      cursor: pointer;
+      background: url('../../image/screen/bg_button@2x.png') no-repeat;
+      background-position: center center;
+      background-size: 255% 255%;
+    }
+    .fullscreen:hover {
+      background: url('../../image/screen/bg_button_hover@2x.png') no-repeat;
+      background-position: center center;
+      background-size: 255% 255%;
+    }
+    .logout {
+      float: left;
+      width: 0.4rem;
+      height: 0.4rem;
+      margin-right: 0.11rem;
+      background: url('../../image/screen/bg_button_exit@2x.png') no-repeat;
+      background-position: center center;
+      background-size: 100% 100%;
+    }
+    .logout:hover {
+      background: url('../../image/screen/bg_button_exit_hover@2x.png') no-repeat;
+      background-position: center center;
+      background-size: 100% 100%;
+    }
+  }
+  // 鍐呭
+  .item-area {
+    margin-bottom: 15px;
+  }
+}
+</style>

--
Gitblit v1.8.0