From 85658479fada95845412913e4dfcb44d2c20d882 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期六, 31 五月 2025 00:24:34 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/BaiBuLiKu

---
 Code Management/BigScreenVue/src/assets/img/pageBg.png                                           |    0 
 Code Management/BigScreenVue/.gitignore                                                          |   24 
 Code Management/BigScreenVue/src/views/indexs/station-four.vue                                   |  237 +
 Code Management/BigScreenVue/.babelrc                                                            |   12 
 Code Management/BigScreenVue/src/assets/img/left_top_lan.png                                     |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs            |   30 
 Code Management/BigScreenVue/src/assets/img/titles/you.png                                       |    0 
 Code Management/BigScreenVue/src/components/message/message.vue                                  |   74 
 Code Management/BigScreenVue/src/components/scale-screen/scale-screen.vue                        |  253 +
 Code Management/BigScreenVue/src/assets/img/left_top_lv.png                                      |    0 
 Code Management/BigScreenVue/src/assets/img/center_map.png                                       |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs |  155 +
 Code Management/BigScreenVue/.vs/BigScreenVue/v17/.wsuo                                          |    0 
 Code Management/BigScreenVue/src/views/indexs/center-map.vue                                     |  378 ++
 Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue                    |   87 
 Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue                    |   55 
 Code Management/BigScreenVue/src/assets/css/modules/variables.scss                               |   98 
 Code Management/BigScreenVue/src/views/indexs/right-top.vue                                      |  299 ++
 Code Management/BigScreenVue/src/views/indexs/station-three.vue                                  |  442 +++
 Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff                                   |    0 
 Code Management/BigScreenVue/src/views/indexs/center-bottom.vue                                  |  266 +
 Code Management/BigScreenVue/.env.dev                                                            |    7 
 Code Management/BigScreenVue/src/components/echart/index.vue                                     |   70 
 Code Management/BigScreenVue/src/views/indexs/right-bottom.vue                                   |  194 +
 Code Management/BigScreenVue/src/assets/img/xieyou.png                                           |    0 
 Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff2                                  |    0 
 Code Management/BigScreenVue/src/views/indexs/left-bottom.vue                                    |  628 ++++
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs        |   31 
 Code Management/BigScreenVue/LICENSE                                                             |   21 
 Code Management/BigScreenVue/src/components/reacquire/reacquire.vue                              |   64 
 Code Management/BigScreenVue/src/views/indexs/pass-two.vue                                       |  460 +++
 Code Management/BigScreenVue/src/assets/img/zuo_xuxian.png                                       |    0 
 Code Management/BigScreenVue/src/assets/css/public.scss                                          |  156 +
 Code Management/BigScreenVue/src/assets/img/left_top_huang.png                                   |    0 
 Code Management/BigScreenVue/src/views/indexs/station-two.vue                                    |  446 +++
 Code Management/BigScreenVue/src/views/indexs/station-one.vue                                    |  270 +
 Code Management/BigScreenVue/src/views/indexs/left-center-right.vue                              |  255 +
 Code Management/BigScreenVue/src/assets/img/xiezuo.png                                           |    0 
 Code Management/BigScreenVue/src/views/indexs/plan.vue                                           |  369 ++
 Code Management/BigScreenVue/src/assets/css/modules/reset.scss                                   |  200 +
 Code Management/BigScreenVue/src/assets/iconfont/iconfont.ttf                                    |    0 
 Code Management/BigScreenVue/src/views/indexs/right-center.vue                                   |  493 +++
 Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf                        |    0 
 Code Management/BigScreenVue/src/assets/img/headers/juxing2.png                                  |    0 
 Code Management/BigScreenVue/src/assets/img/3DScreen.png                                         |    0 
 Code Management/BigScreenVue/src/views/tjfx/tjfx.vue                                             |   37 
 Code Management/BigScreenVue/src/components/kong.vue                                             |   43 
 Code Management/BigScreenVue/src/components/item-wrap/item-wrap.vue                              |   97 
 Code Management/BigScreenVue/README.md                                                           |  238 +
 Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff                       |    0 
 Code Management/BigScreenVue/src/assets/img/headers/juxing1.png                                  |    0 
 Code Management/BigScreenVue/src/assets/img/top.png                                              |    0 
 Code Management/BigScreenVue/.vs/slnx.sqlite                                                     |    0 
 Code Management/BigScreenVue/src/views/setting.vue                                               |  105 
 Code Management/BigScreenVue/src/views/home.scss                                                 |  261 +
 Code Management/BigScreenVue/src/views/home.vue                                                  |  102 
 Code Management/BigScreenVue/src/assets/img/titles/zuo.png                                       |    0 
 Code Management/BigScreenVue/.env.test                                                           |    4 
 Code Management/BigScreenVue/.env.production                                                     |    7 
 Code Management/BigScreenVue/src/assets/img/left_top_hong.png                                    |    0 
 Code Management/BigScreenVue/src/App.vue                                                         |   21 
 Code Management/BigScreenVue/src/assets/css/variable.scss                                        |   50 
 Code Management/BigScreenVue/src/views/indexs/left-center.vue                                    |  256 +
 Code Management/BigScreenVue/src/assets/img/guang.png                                            |    0 
 Code Management/BigScreenVue/src/assets/css/index.scss                                           |  361 ++
 Code Management/BigScreenVue/src/views/indexs/left-top.vue                                       |  250 +
 Code Management/BigScreenVue/src/assets/img/frame.png                                            |    0 
 Code Management/BigScreenVue/src/views/indexs/index.vue                                          |  207 +
 68 files changed, 8,113 insertions(+), 0 deletions(-)

diff --git a/Code Management/BigScreenVue/.babelrc b/Code Management/BigScreenVue/.babelrc
new file mode 100644
index 0000000..ef058f1
--- /dev/null
+++ b/Code Management/BigScreenVue/.babelrc
@@ -0,0 +1,12 @@
+{
+    "presets": [["es2015", { "modules": false }]],
+    "plugins": [
+      [
+        "component",
+        {
+          "libraryName": "element-ui",
+          "styleLibraryName": "theme-chalk"
+        }
+      ]
+    ]
+  }
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/.env.dev b/Code Management/BigScreenVue/.env.dev
new file mode 100644
index 0000000..0d4ff64
--- /dev/null
+++ b/Code Management/BigScreenVue/.env.dev
@@ -0,0 +1,7 @@
+ 
+# 寮�鍙戠幆澧冿紝寮�鍙戞椂姝e父閮界敤杩欎釜
+NODE_ENV = development
+# 褰撳墠鐜锛屽紑鍙戠幆澧冿紝鍙互闅忎究淇敼锛岄厤鍚堟墦鍖呭閰嶇疆涓庢鏂囦欢鍚嶅瓧 
+VUE_APP_URL_ENV = development
+# 鎵撳寘鍚庢枃浠跺す鍚嶅瓧
+VUE_APP_outputDir = development
diff --git a/Code Management/BigScreenVue/.env.production b/Code Management/BigScreenVue/.env.production
new file mode 100644
index 0000000..d1dec1a
--- /dev/null
+++ b/Code Management/BigScreenVue/.env.production
@@ -0,0 +1,7 @@
+ 
+# 姝e紡鐜锛屾墦鍖呴兘鐢ㄨ繖涓甯哥殑灏辫锛屼笉鐢ㄦ敼 
+NODE_ENV = production
+# 褰撳墠鐜锛屾寮忓寘锛宼est姝e紡鍖咃紝鍙互闅忎究淇敼锛岄厤鍚堟墦鍖呭閰嶇疆涓庢鏂囦欢鍚嶅瓧   鍙互鏀�
+VUE_APP_URL_ENV = production
+# 鎵撳寘鍚庢枃浠跺す鍚嶅瓧
+VUE_APP_outputDir = dist-production
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/.env.test b/Code Management/BigScreenVue/.env.test
new file mode 100644
index 0000000..c75c0d1
--- /dev/null
+++ b/Code Management/BigScreenVue/.env.test
@@ -0,0 +1,4 @@
+# 鐪� .env.development 閲岄潰鐨勬敞閲�
+NODE_ENV = production
+VUE_APP_URL_ENV = test
+VUE_APP_outputDir = dist-test
diff --git a/Code Management/BigScreenVue/.gitignore b/Code Management/BigScreenVue/.gitignore
new file mode 100644
index 0000000..4c2e0cd
--- /dev/null
+++ b/Code Management/BigScreenVue/.gitignore
@@ -0,0 +1,24 @@
+.DS_Store
+node_modules
+/dist
+/dist-*
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/Code Management/BigScreenVue/.vs/BigScreenVue/v17/.wsuo b/Code Management/BigScreenVue/.vs/BigScreenVue/v17/.wsuo
new file mode 100644
index 0000000..612817e
--- /dev/null
+++ b/Code Management/BigScreenVue/.vs/BigScreenVue/v17/.wsuo
Binary files differ
diff --git a/Code Management/BigScreenVue/.vs/slnx.sqlite b/Code Management/BigScreenVue/.vs/slnx.sqlite
new file mode 100644
index 0000000..2f8ff14
--- /dev/null
+++ b/Code Management/BigScreenVue/.vs/slnx.sqlite
Binary files differ
diff --git a/Code Management/BigScreenVue/LICENSE b/Code Management/BigScreenVue/LICENSE
new file mode 100644
index 0000000..a782c28
--- /dev/null
+++ b/Code Management/BigScreenVue/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 daidai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/Code Management/BigScreenVue/README.md b/Code Management/BigScreenVue/README.md
new file mode 100644
index 0000000..303b36b
--- /dev/null
+++ b/Code Management/BigScreenVue/README.md
@@ -0,0 +1,238 @@
+
+
+## 椤圭洰鎻忚堪
+
+
+
+鏍规嵁濂旇窇鍚ч潰鏉$殑**[vue-big-screen](https://gitee.com/MTrun/big-screen-vue-datav)**寮�婧愭鏋跺熀纭�涓婅繘琛屼慨鏀广��
+
+- 椤圭洰闇�瑕佸叏灞忓睍绀猴紙鎸� F11锛夈��
+
+- 椤圭洰閮ㄥ垎鍖哄煙浣跨敤浜嗗叏灞�娉ㄥ唽鏂瑰紡锛屽鍔犱簡鎵撳寘浣撶Н锛屽湪瀹為檯杩愮敤涓浣跨敤 **鎸夐渶寮曞叆**銆�
+
+- 椤圭洰鐜锛歏ue-cli銆丏ataV銆丒charts銆乄ebpack銆丯pm銆丯ode锛宎xios,mock銆�
+
+- 璇锋媺鍙� master 鍒嗘敮鐨勪唬鐮侊紝鍏朵綑鍒嗘敮鏄紑鍙戝垎鏀��
+
+- 鍦ㄩ」鐩畃ublic鐩綍涓嬪瓨鏀惧湴鍥炬暟鎹悎闆嗭紝鏍规嵁鍦板競缂栧瓨鏀俱��
+
+
+鍙嬫儏閾炬帴锛�
+
+1. [Vue 瀹樻柟鏂囨。](https://gitee.com/link?target=https%3A%2F%2Fcn.vuejs.org%2Fv2%2Fguide%2Finstance.html)
+2. [DataV 瀹樻柟鏂囨。](https://gitee.com/link?target=http%3A%2F%2Fdatav.jiaminghi.com%2Fguide%2F)
+3. [echarts 瀹炰緥](https://gitee.com/link?target=https%3A%2F%2Fecharts.apache.org%2Fexamples%2Fzh%2Findex.html)锛孾echarts API 鏂囨。](https://gitee.com/link?target=https%3A%2F%2Fecharts.apache.org%2Fzh%2Fapi.html%23echarts)
+4. [mock.js瀹樼綉](http://mockjs.com/examples.html)
+5. [axios瀹樼綉](https://axios-http.com/)
+
+**椤圭洰灞曠ず** 
+
+![椤圭洰灞曠ず](https://www.daidaibg.com/bigscreen/a-img/home.png)
+
+### 椤圭洰棰勮鍦板潃
+
+[https://www.daidaibg.com/bigscreen](https://www.daidaibg.com/bigscreen)
+
+### 椤圭洰浠撳簱鍦板潃
+
+**github鍦板潃**
+
+[https://github.com/daidaibg/IofTV-Screen](https://github.com/daidaibg/IofTV-Screen)
+
+**Gitee鍦板潃**
+
+[https://gitee.com/daidaibg/IofTV-Screen](https://gitee.com/daidaibg/IofTV-Screen)
+
+### vue3+vite鐗堟湰鍦板潃
+
+**github鍦板潃**
+
+[https://github.com/daidaibg/IofTV-Screen-Vue3](https://github.com/daidaibg/IofTV-Screen-Vue3)
+
+**Gitee鍦板潃**
+
+[https://gitee.com/daidaibg/IofTV-Screen-Vue3](https://gitee.com/daidaibg/IofTV-Screen-Vue3)
+
+### 1.1.0鐗堟湰寮�濮嬮噰鐢ㄨ嚜閫傚簲缁勪欢鏂瑰紡锛屼笉鍐嶄娇鐢╩ixin鏂瑰紡銆�
+
+###  婊氬姩璁剧疆锛岃嚜閫傚簲璁剧疆 
+
+椤圭洰涓彲浠ヨ繘琛屾粴鍔ㄩ厤缃紝鍐呭鏄惁婊氬姩
+
+鐐瑰嚮鍙充笂瑙掕缃寜閽�
+![璁剧疆](https://www.daidaibg.com/bigscreen/a-img/setting.png)
+
+
+
+鍙互杩涜浠ヤ笅閰嶇疆锛屽彲浠ヨ嚜琛屼唬鐮佷腑杩涜淇敼鎴栧鍔犻厤缃�
+
+
+
+![鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩癩(https://www.daidaibg.com/bigscreen/a-img/setting2.png)
+
+
+
+##  2銆佷富瑕佹枃浠朵粙缁�
+
+| 鏂囦欢              | 浣滅敤/鍔熻兘                                                    |
+| ----------------- | ------------------------------------------------------------ |
+| main.js           | 涓荤洰褰曟枃浠讹紝寮曞叆 Echart/DataV 绛夋枃浠�                         |
+| utils             | 宸ュ叿鍑芥暟涓� mixins 鍑芥暟绛�                                     |
+| views/ home.vue   | 椤圭洰涓荤粨鏋�                                                   |
+| views/鍏朵綑鏂囦欢    | 鐣岄潰鍚勪釜鍖哄煙缁勪欢锛堟寜鐓т綅缃潵鍛藉悕锛�                           |
+| assets            | 闈欐�佽祫婧愮洰褰曪紝鏀剧疆 logo 涓庤儗鏅浘鐗�                           |
+| assets / css/     | 閫氱敤 CSS 鏂囦欢锛屽叏灞�椤圭洰蹇嵎鏍峰紡璋冭妭                          |
+| components/echart | 鎵�鏈� echart 鍥捐〃锛堟寜鐓т綅缃潵鍛藉悕锛�                           |
+| common/...        | 鍏ㄥ眬灏佽鐨� ECharts 鍜� flexible 鎻掍欢浠g爜锛堥�傞厤灞忓箷灏哄锛屽彲瀹氬埗鍖栦慨鏀癸級 |
+| api/api.js        | 鎺ュ彛灏佽鏂囦欢                                                 |
+| mock              | 妯℃嫙鏁版嵁鎺ュ彛鍦板潃                                             |
+
+###  
+
+## 浣跨敤浠嬬粛
+
+### 瀹夎
+
+```npm
+npm install   
+```
+### 鍚姩
+
+```npm
+npm start 
+```
+
+[鎺ヤ笅鏉ヨ窡闈㈡潯鐨勫樊涓嶅杩樻槸鐪嬮潰鏉$殑鏂囨。鍚(https://gitee.com/MTrun/big-screen-vue-datav/tree/master#%E4%B8%89%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D)
+
+https://gitee.com/MTrun/big-screen-vue-datav/tree/master#%E4%B8%89%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D
+
+### 鍙栨秷mock妯℃嫙鏁版嵁
+
+```javascript
+// src\main.js鏂囦欢
+鎶婁笅闈㈣繖鍙ヨ瘽娉ㄩ噴鎺夊氨鍙互浜嗐��
+require('./mock/mock')//鏄惁浣跨敤mock
+```
+
+## 鑷�傚簲缂╂斁缁勪欢
+
+### 娉ㄦ剰
+
+閲囩敤Scale鏂瑰紡锛屼細鑷姩缁欑粍浠剁埗鍏冪礌娣诲姞overflow:hidden 
+
+### 浣跨敤
+
+```vue
+<template>
+  <scale-screen width="1920" height="1080">
+    <div>
+      <v-chart>....</v-chart>
+      <v-chart>....</v-chart>
+      <v-chart>....</v-chart>
+      <v-chart>....</v-chart>
+      <v-chart>....</v-chart>
+    </div>
+  </scale-screen>
+</template>
+
+<script>
+import ScaleScreen from 'scale-screen'
+
+export default {
+  name:'Demo',
+  components:{
+    VScaleScreen
+  }
+}
+</script>
+```
+### API
+| 灞炴��         | 璇存槑                                                         | 绫诲瀷                             | 榛樿鍊� |
+| ------------ | ------------------------------------------------------------ | -------------------------------- | ------ |
+| selfAdaption | 鏄惁杩涜鑷�傚簲                                               | Boolean                          | true   |
+| width        | 澶у睆瀹藉害                                                     | `Number` or `String`             | 1920   |
+| height       | 澶у睆楂樺害                                                     | `Number` or `String`             | 1080   |
+| autoScale    | 鑷�傚簲閰嶇疆锛岄厤缃负boolean绫诲瀷鏃讹紝涓哄惎鍔ㄦ垨鑰呭叧闂嚜閫傚簲锛岄厤缃负瀵硅薄鏃讹紝鑻涓簍rue锛寈杞翠骇鐢熻竟璺濓紝y涓簍rue鏃讹紝y杞翠骇鐢熻竟璺濓紝鍚敤fullScreen鏃舵閰嶇疆澶辨晥 | Boolean or {x:boolean,y:boolean} | true   |
+| delay        | 绐楀彛鍙樺寲闃叉姈寤惰繜鏃堕棿                                         | Number                           | 500    |
+| fullScreen   | 鍏ㄥ睆鑷�傚簲锛屽惎鐢ㄦ閰嶇疆椤规椂浼氬瓨鍦ㄦ媺浼告晥鏋滐紝鍚屾椂autoScale澶辨晥锛岄潪蹇呰鎯呭喌涓嬩笉寤鸿寮�鍚� | Boolean                          | false  |
+| boxStyle     | 淇敼瀹瑰櫒鏍峰紡锛屽灞呬腑灞曠ず鏃朵晶杈硅儗鏅壊锛岀鍚圴ue鍙屽悜缁戝畾style鏍囧噯鏍煎紡 | Object                           | null   |
+| wrapperStyle | 淇敼鑷�傚簲鍖哄煙鏍峰紡锛岀鍚圴ue鍙屽悜缁戝畾style鏍囧噯鏍煎紡             | Object                           | null   |
+
+## 鍏敤缁勪欢
+
+灏佽浜嗛櫎闈㈡潯澶栦釜鍒敤鍒扮殑缁勪欢
+
+### 5.1 message娑堟伅鎻愮ず
+
+鍥犱负鍒氬紑濮嬫病鎯崇潃鐢ㄧ涓夋柟鎻愮ず搴擄紝鑷繁绠�鍗曞皝瑁呬簡涓�涓��
+
+娉細缁勪欢鍐呴儴鐩墠鍙湁warning锛岀被鍨嬶紝濡傛灉闇�瑕佸叾浠栫被鍨嬭嚜宸辩粍浠跺唴娣诲姞銆�
+
+鍥犲湪main.js娉ㄥ唽鍏ㄥ眬鍙互鐩存帴浣跨敤锛屼笉闇�瑕佸紩鍏�
+
+```js
+  this.$Message({
+      text: res.msg,
+      type: 'warning'
+  })
+//涔熷彲浠ヨ繖鏍�
+this.$Message.warning(res.msg)
+```
+
+| 鍙傛暟 |   鎻忚堪   | 榛樿鍊�  |  绫诲瀷  | 鍙�夊��  |
+| :--: | :------: | :-----: | :----: | :-----: |
+| text | 鎻愮ず鏂囧瓧 |    -    | string |    -    |
+| type | 寮圭獥绫诲瀷 | warning | string | warning |
+
+### 5.2 澶栬竟妗�
+
+鍥犱负鎴戠殑椤圭洰澶栬竟妗嗗嚑涔庝竴鏍凤紝杩樻湁title,鎵�浠ュ皝瑁呬簡姝ょ粍浠躲��
+
+鏍规嵁鑷繁闇�姹傛洿鏀癸紝鏇存崲澶栬竟妗嗭紙src\components\item-wrap\item-wrap.vue锛変笅鏇存崲銆�
+
+```vue
+<ItemWrap
+    title="鎴戞槸title"
+    >
+       <div>鎴戞槸璋侊紵</div>
+</ItemWrap>
+```
+
+| 鍙傛暟  | 鎻忚堪 | 榛樿鍊� |  绫诲瀷  | 鍙�夊�� |
+| :---: | :--: | :----: | :----: | :----: |
+| title | 鏍囧ご |   -    | string |   -    |
+
+## 涓棿鍦板浘
+
+### 鍗楁捣鏄鹃殣鎺у埗
+
+ 鏍规嵁闇�姹傛潵锛�**淇敼姝ゅ�艰鍒锋柊椤甸潰**
+
+```indexs/center-map.vue``` 鏂囦欢涓璥``isSouthChinaSea```鍙橀噺 榛樿涓嶆樉绀哄崡娴�(false),涓篳``true```鐨勬椂鍊欐樉绀哄崡娴�
+
+```
+isSouthChinaSea:false,//榛樿涓嶆樉绀哄崡娴凤紝鏀逛负true鍙樉绀哄崡娴�
+```
+
+## 鍏ㄥ眬鍙傛暟
+
+### filter
+
+鐩戞祴鏁版嵁椤圭粺涓�杩囨护锛屼繚鐣欎袱浣嶅皬鏁般��
+
+```vue
+{{10.23123|montionFilter }}
+```
+
+##  澶у睆浜ゆ祦鍙嶉锛堥潰鏉$殑缇わ級
+
+### 澶у睆QQ缇�
+
+QQ缇ゅ彿锛�713105837
+
+### 澶у睆浜岀淮鐮�
+
+QQ缇や簩缁寸爜锛�
+
+![杈撳叆鍥剧墖璇存槑](https://gitee.com/MTrun/big-screen-vue-datav/raw/master/public/image.png)
+
diff --git a/Code Management/BigScreenVue/src/App.vue b/Code Management/BigScreenVue/src/App.vue
new file mode 100644
index 0000000..1381901
--- /dev/null
+++ b/Code Management/BigScreenVue/src/App.vue
@@ -0,0 +1,21 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-01-12 14:06:47
+ * @LastEditors: daidai
+ * @LastEditTime: 2022-03-01 17:55:49
+ * @FilePath: \web-pc\src\pages\big-screen\App.vue
+-->
+<template>
+  <div id="app">
+    <router-view/>
+  </div>
+</template>
+
+<style lang="scss" scoped>
+#app {
+  width: 100vw;
+  height: 100vh;
+  background-color: #03050C;
+  // overflow: hidden;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/assets/css/index.scss b/Code Management/BigScreenVue/src/assets/css/index.scss
new file mode 100644
index 0000000..1e52b4a
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/index.scss
@@ -0,0 +1,361 @@
+@import "./modules/reset.scss";
+@import "./modules/variables.scss";
+@import './theme/index.css';
+@import '../iconfont//iconfont.css';
+
+[class*=" blq-icon-"],
+[class^=blq-icon-] {
+  font-family: iconfont !important;
+  speak: none;
+  font-style: normal;
+  font-weight: 400;
+  font-variant: normal;
+  text-transform: none;
+  line-height: 1;
+  vertical-align: middle;
+  display: inline-block;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale
+}
+
+*,
+:after,
+:before {
+  box-sizing: content-box;
+}
+
+.clearfix {
+  &::after {
+    content: "";
+    display: table;
+    height: 0;
+    line-height: 0;
+    visibility: hidden;
+    clear: both;
+  }
+}
+
+.contents {
+  width: 100%;
+  display: flex;
+  min-height: calc(100% - 60px);
+  justify-content: space-between;
+}
+
+.beautify-scroll-def {
+  overflow-y: auto;
+
+  &::-webkit-scrollbar-thumb {
+    //婊氬姩鏉$殑璁剧疆
+    background-color: rgba(14, 59, 150, 0);
+    background-clip: padding-box;
+    border-radius: 4px;
+  }
+
+  &:hover {
+    &::-webkit-scrollbar-thumb {
+      //婊氬姩鏉$殑璁剧疆
+      background-color: rgba(14, 59, 150, 0.5);
+      background-clip: padding-box;
+      border-radius: 4px;
+    }
+  }
+
+  &::-webkit-scrollbar-track-piece {
+    //婊氬姩鏉″嚬妲界殑棰滆壊锛岃繕鍙互璁剧疆杈规灞炴��
+    background-color: transparent;
+  }
+
+  &::-webkit-scrollbar {
+    //婊氬姩鏉$殑瀹藉害
+    width: 8px;
+    height: 8px;
+  }
+
+
+
+  &::-webkit-scrollbar-thumb:hover {
+    background-color: rgba(14, 59, 150, .8);
+  }
+}
+
+
+.orderNum {
+  // min-width: 22px;
+  // height: 22px;
+  // background: #00b8ff;
+  // border-radius: 50%;
+  // text-align: center;
+  // line-height: 22px;
+  // font-size: 13px;
+  // font-weight: 900;
+  // color: #0f2854;
+  color: #00b8ff;
+}
+
+.yh-big-input {
+  width: 253px;
+  height: 14px;
+  background: transparent;
+  border: 1px solid rgba(255, 255, 255, .53);
+  border-radius: 4px;
+  color: #fff;
+  padding: 6px 10px;
+  font-size: 14px;
+  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+
+  &:focus {
+    outline: none;
+    border-color: #31abe3;
+  }
+}
+
+.yh-big-el-input {
+  width: 253px;
+  font-size: 14px;
+
+  .el-input__inner {
+    padding: 6px 10px;
+    border: 1px solid rgba(255, 255, 255, .53);
+    background-color: transparent;
+    font-size: 14px;
+    line-height: 1;
+    color: #fff;
+    &:hover{
+      border-color: rgba(255, 255, 255, .8);
+    }
+    &:focus {
+      outline: none;
+      border-color: #31abe3;
+    }
+
+  }
+
+}
+
+.yh-big-button {
+  width: 53px;
+  height: 26px;
+  background: #00b1d6;
+  border-radius: 4px;
+  // border-color: #00b1d6;
+  border-width: 1px;
+  border: none;
+  cursor: pointer;
+  color: #fff;
+  font-size: 15px;
+
+  &:hover,
+  &:focus {
+    // border-color: #0597b4;
+    background: #0597b4;
+  }
+}
+
+
+//娴姩
+.float-r {
+  float: right;
+}
+
+//娴姩
+.float-l {
+  float: left;
+}
+
+// 瀛椾綋鍔犵矖
+.fw-b {
+  font-weight: bold;
+}
+
+//鏂囩珷涓�琛屾樉绀猴紝澶氫綑鐪佺暐鍙锋樉绀�
+.title-item {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+//琛ㄦ牸鏍峰紡閲嶇疆
+.ve-table {
+  $border-color: #525371;
+  // $border-color: rgba(255, 255, 255, .43);
+  box-sizing: border-box;
+
+  .ve-table-container {
+    &::-webkit-scrollbar-track-piece {
+      //婊氬姩鏉″嚬妲界殑棰滆壊锛岃繕鍙互璁剧疆杈规灞炴��
+      background-color: transparent;
+    }
+
+    &::-webkit-scrollbar {
+      //婊氬姩鏉$殑瀹藉害
+      width: 8px;
+      height: 8px;
+    }
+
+    &::-webkit-scrollbar-thumb {
+      //婊氬姩鏉$殑璁剧疆
+      background-color: rgba(14, 59, 150, 0.5);
+      background-clip: padding-box;
+      border-radius: 4px;
+    }
+
+    &::-webkit-scrollbar-thumb:hover {
+      background-color: rgba(14, 59, 150, .8);
+    }
+
+    .ve-table-content {
+      &::after {
+        content: "";
+        position: absolute;
+        top: 0;
+        right: 0px;
+        width: 1px;
+        height: 100%;
+        background-color: $border-color;
+        z-index: 20;
+
+      }
+    }
+
+  }
+
+  &.ve-table-border-around {
+    border-color: $border-color;
+  }
+
+  .ve-table-container table.ve-table-content thead.ve-table-header tr.ve-table-header-tr {
+    height: 34px;
+    box-sizing: border-box;
+
+    th.ve-table-header-th {
+      background: #04004E;
+      color: #FFF;
+      border-color: $border-color;
+      box-sizing: border-box;
+      line-height: 1;
+    }
+  }
+
+  .ve-table-container table.ve-table-content tbody.ve-table-body {
+
+    tr.ve-table-body-tr td.ve-table-body-td,
+    tr.ve-table-expand-tr td.ve-table-body-td,
+    tr.ve-table-body-tr td.ve-table-expand-td,
+    tr.ve-table-expand-tr td.ve-table-expand-td {
+      background: transparent;
+      color: #FFF;
+      border-color: $border-color;
+      box-sizing: border-box;
+    }
+
+    tr.ve-table-body-tr,
+    tr.ve-table-expand-tr {
+      height: 34px;
+      box-sizing: border-box;
+    }
+
+    &.ve-table-row-hover tr.ve-table-body-tr:hover td {
+      background-color: rgba(0, 0, 0, .22);
+      box-sizing: border-box;
+    }
+  }
+
+
+
+  .ve-table-container .ve-table-border-x th,
+  .ve-table-container .ve-table-border-x td {
+    border-color: $border-color;
+    box-sizing: border-box;
+  }
+
+}
+
+
+
+//棰滆壊
+@each $colorkey,
+$color in $colors {
+  .text-#{$colorkey} {
+    color: $color;
+  }
+
+  .bg-#{$colorkey} {
+    background-color: $color;
+  }
+}
+
+//瀵归綈
+@each $var in (left, center, right) {
+  .text-#{$var} {
+    text-align: $var !important;
+  }
+}
+
+//flex
+@each $key,
+$value in $flex-jc {
+  .jc-#{$key} {
+    justify-content: $value;
+  }
+}
+
+@each $key,
+$value in $flex-ai {
+  .ai-#{$key} {
+    align-items: $value;
+  }
+}
+
+//瀛椾綋
+@each $fontkey,
+$fontvalue in $font-sizes {
+  .fs-#{$fontkey} {
+    font-size: $fontvalue * $base-font-size;
+  }
+}
+
+//.mt-1 => margin top
+//spacing
+
+@each $typekey,
+$type in $spacing-types {
+
+  //.m-1
+  @each $sizekey,
+  $size in $spacing-sizes {
+    .#{$typekey}-#{$sizekey} {
+      #{$type}: $size * $spacing-base-size;
+    }
+  }
+
+  //.mx-1
+  @each $sizekey,
+  $size in $spacing-sizes {
+    .#{$typekey}x-#{$sizekey} {
+      #{$type}-left: $size * $spacing-base-size;
+      #{$type}-right: $size * $spacing-base-size;
+    }
+
+    .#{$typekey}y-#{$sizekey} {
+      #{$type}-top: $size * $spacing-base-size;
+      #{$type}-bottom: $size * $spacing-base-size;
+    }
+  }
+
+  //.mt-1
+  @each $directionkey,
+  $direction in $spacing-directions {
+
+    @each $sizekey,
+    $size in $spacing-sizes {
+      .#{$typekey}#{$directionkey}-#{$sizekey} {
+        #{$type}-#{$direction}: $size * $spacing-base-size;
+      }
+    }
+  }
+
+  .#{$typekey} {
+    #{$type}: 0;
+  }
+}
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/assets/css/modules/reset.scss b/Code Management/BigScreenVue/src/assets/css/modules/reset.scss
new file mode 100644
index 0000000..3c38101
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/modules/reset.scss
@@ -0,0 +1,200 @@
+/**
+ * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
+ * http://cssreset.com
+ */
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+b,
+u,
+i,
+center,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+embed,
+figure,
+figcaption,
+footer,
+header,
+menu,
+nav,
+output,
+ruby,
+section,
+summary,
+time,
+mark,
+audio,
+video,
+input {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-size: 100%;
+  font-weight: normal;
+  vertical-align: baseline;
+}
+
+/* HTML5 display-role reset for older browsers */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+menu,
+nav,
+section {
+  display: block;
+}
+
+body {
+  line-height: 1;
+}
+
+blockquote,
+q {
+  quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+  content: none;
+}
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* custom */
+
+a {
+  color: #7e8c8d;
+  -webkit-backface-visibility: hidden;
+  text-decoration: none;
+}
+
+li {
+  list-style: none;
+}
+
+body {
+  -webkit-text-size-adjust: none;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+.olControlScaleLineBottom {
+  display: none;
+}
+
+.olControlScaleLineTop {
+  color: #000 !important;
+  border-bottom: solid 3px #000 !important;
+  border-left: solid 2px #000 !important;
+  border-right: solid 2px #000 !important;
+  background-color: rgba(255, 255, 255, .4);
+  font-size: 10px;
+  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
+}
+
+.olControlScaleLine {
+  z-index: 900 !important;
+}
+/*娓呴櫎娴姩*/
+.clearfix:after {
+  content: ".";
+  display: block;
+  height: 0;
+  clear: both;
+  visibility: hidden;
+}
+.clearfix {display: inline-block;}
+/* 鐐瑰嚮鎼滅储妗嗚幏鍙栫劍鐐� placeholder娑堝け-寮�濮� */
+/* WebKit browsers */
+
+// input:focus::-webkit-input-placeholder {
+//   color: transparent;
+// }
+
+
+// /* Mozilla Firefox 4 to 18 */
+
+// input:focus:-moz-placeholder {
+//   color: transparent;
+// }
+
+
+// /* Mozilla Firefox 19+ */
+
+// input:focus::-moz-placeholder {
+//   color: transparent;
+// }
+
+
+// /* Internet Explorer 10+ */
+
+// input:focus:-ms-input-placeholder {
+//   color: transparent;
+// }
+
+/* 鐐瑰嚮鎼滅储妗嗚幏鍙栫劍鐐� placeholder娑堝け-缁撴潫 */
diff --git a/Code Management/BigScreenVue/src/assets/css/modules/variables.scss b/Code Management/BigScreenVue/src/assets/css/modules/variables.scss
new file mode 100644
index 0000000..e36162c
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/modules/variables.scss
@@ -0,0 +1,98 @@
+// 棰滆壊
+$colors: (
+  "primary": #1A5CD7,
+  "info-1": #4394e4,
+  "info": #4b67af,
+  "white": #ffffff,
+  "light": #f9f9f9,
+  "grey-1": #999999,
+  "grey": #666666,
+  "dark-1": #5f5f5f,
+  "dark": #222222,
+  "black-1": #171823,
+  "black": #000000,
+  "icon": #5cd9e8
+);
+
+// 瀛椾綋澶у皬
+$base-font-size: 0.2rem;
+$font-sizes: (
+  xxs: 0.1,
+  //8px
+    xs: 0.125,
+  //10px
+    sm: 0.2875,
+  //12px
+    md: 0.1625,
+  //13px
+    lg: 0.175,
+  //14px
+    xl: 0.2,
+  //16px
+    xxl: 0.225,
+  //18px
+    xxxl: 0.25 //20px,,,,
+);
+
+// 瀹介珮
+.w-100 {
+  width: 100%;
+}
+.h-100 {
+  height: 100%;
+}
+
+//flex
+.flex {
+  display: flex;
+}
+.flex-column {
+  flex-direction: column;
+}
+.flex-wrap {
+  flex-wrap: wrap;
+}
+.flex-nowrap {
+  flex-wrap: nowrap;
+}
+$flex-jc: (
+  start: flex-start,
+  end: flex-end,
+  center: center,
+  between: space-between,
+  around: space-around,
+  evenly: space-evenly,
+);
+
+$flex-ai: (
+  start: flex-start,
+  end: flex-end,
+  center: center,
+  stretch: stretch,
+);
+
+.flex-1 {
+  flex: 1;
+}
+
+//.mt-1 => margin top
+//spacing
+$spacing-types: (
+  m: margin,
+  p: padding,
+);
+$spacing-directions: (
+  t: top,
+  r: right,
+  b: bottom,
+  l: left,
+);
+$spacing-base-size: 0.5rem;
+$spacing-sizes: (
+  0: 0,
+  1: 0.5,
+  2: 1,
+  3: 1.5,
+  4: 2,
+  5: 2.5,
+);
diff --git a/Code Management/BigScreenVue/src/assets/css/public.scss b/Code Management/BigScreenVue/src/assets/css/public.scss
new file mode 100644
index 0000000..124a535
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/public.scss
@@ -0,0 +1,156 @@
+.flex {
+	display: flex;
+}
+
+.flex-direction {
+	flex-direction: column;
+}
+
+.flex-wrap {
+	flex-wrap: wrap;
+}
+
+.align-start {
+	align-items: flex-start;
+}
+
+.align-end {
+	align-items: flex-end;
+}
+
+.align-center {
+	align-items: center;
+}
+
+.align-stretch {
+	align-items: stretch;
+}
+
+.self-start {
+	align-self: flex-start;
+}
+
+.self-center {
+	align-self: flex-center;
+}
+
+.self-end {
+	align-self: flex-end;
+}
+
+.self-stretch {
+	align-self: stretch;
+}
+
+.align-stretch {
+	align-items: stretch;
+}
+
+.justify-start {
+	justify-content: flex-start;
+}
+
+.justify-end {
+	justify-content: flex-end;
+}
+
+.justify-center {
+	justify-content: center;
+}
+
+.justify-between {
+	justify-content: space-between;
+}
+
+.justify-around {
+	justify-content: space-around;
+}
+@for $i from 0 through 12 {
+  .rdx-flex-#{$i} {
+    flex: $i;
+  }
+}
+
+@for $i from 9 to 50 {
+  .rdx-font-#{$i} {
+    font-size: $i + px;
+  }
+}
+
+@for $i from 2 to 50 {
+  .rdx-radius-#{$i} {
+    border-radius: $i + px;
+  }
+}
+@for $i from 10 to 50 {
+  .rdx-line-height-#{$i} {
+    line-height: $i + px;
+  }
+}
+
+// 瀹氫箟鍐呭杈硅窛锛屽巻閬�1-80
+@for $i from 0 through 80 {
+  // 鍙鍙屾暟鍜岃兘琚�5闄ゅ敖鐨勬暟
+  @if $i % 2 == 0 or $i % 5 == 0 {
+    // 寰楀嚭锛歶-margin-30鎴栬�卽-m-30
+    .rdx-m-#{$i} {
+      margin: $i + px !important;
+    }
+    // 寰楀嚭锛歶-padding-30鎴栬�卽-p-30
+    .rdx-p-#{$i} {
+      padding: $i + px !important;
+    }
+
+    @each $short, $long in l left, t top, r right, b bottom {
+      // 缂╁啓鐗堬紝缁撴灉濡傦細 u-m-l-30
+      // 瀹氫箟澶栬竟璺�
+      .rdx-m-#{$short}-#{$i} {
+        margin-#{$long}: $i + px !important;
+      }
+
+      // 瀹氫箟鍐呰竟璺�
+      .rdx-p-#{$short}-#{$i} {
+        padding-#{$long}: $i + px !important;
+      }
+
+	 //鑷畾涔夊乏鍙冲唴杈硅窛
+	  .rdx-p-lr-#{$i} {
+		padding-left:$i + px !important;
+		padding-right:$i + px !important;
+	  }
+	  //鑷畾涔変笂涓嬪唴杈硅窛
+	   .rdx-p-tb-#{$i} {
+	  		padding-top:$i + px !important;
+	  		padding-bottom:$i + px !important;
+	   }
+    }
+  }
+}
+i{font-style: normal;}
+.position-re{position: relative;}
+.position-ab{position: absolute; z-index: 9;}
+.position-fixed{position: fixed; background: rgba(92, 116, 143, 0.45); width: 100%; height: 100%; left: 0px; top: 0px; z-index: 10;}
+.round{border-radius: 50%;}
+.font-strong{font-weight: bold;}
+.color-del{color:$del-color}
+.color-primary{color: $primary-color;}
+.color-remark{color: #666666;}
+.color-9{color: #999999;}
+.color-green{color: #38a800;}
+.bg-white{background-color: white;}
+.line-bottom{border-bottom: 1px solid #eeeeee;}
+.button-pointer{cursor: pointer;}
+.box-shadow-item{box-shadow: 0px 0px 4px 0px rgba(45, 45, 46, 0.1);}
+.search-form .search-form-item label {text-align: right; padding-right: 6px;}
+
+
+.break-all{
+  word-break: break-all;
+}
+.blocks{
+  width: 100%;
+  height: 100%;
+}
+.cursor-pointer{
+  cursor: pointer;
+}
diff --git a/Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf b/Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf
new file mode 100644
index 0000000..91b74de
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff b/Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff
new file mode 100644
index 0000000..02b9a25
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/css/variable.scss b/Code Management/BigScreenVue/src/assets/css/variable.scss
new file mode 100644
index 0000000..6541052
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/css/variable.scss
@@ -0,0 +1,50 @@
+// 棰滆壊
+$primary-color: #1890ff;
+$primary-color-hl: rgb(41, 52, 67);
+$default-color: #006569;
+$link: #1890ff;
+$active-color: rgb(0, 101, 105);
+$del-color: #ff1839;
+$content-background: #f3f5fa;
+$table-header-background: #d8eaff;
+
+$primary-color-rgba: rgba($color: $primary-color,
+  $alpha: 0.1,
+);
+//琛ㄦ牸涓婇潰button鎸夐挳棰滆壊
+$table-header-button: #18d1ff;
+// 闃村奖
+$primary-shadow: 0 2px 4px rgba(0, 0, 0, 0.12),
+0 0 6px rgba(0, 0, 0, 0.04);
+$primary-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+$baidu-shadow: 1px 2px 1px rgba(0, 0, 0, 0.15);
+$gaode-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2),
+0 2px 6px 0 rgba(0, 0, 0, 0.19);
+
+// box-shadow: 0 2px 6px 0 rgb(114 124 245 / 50%);
+
+$primary-border: $primary-color solid 1px;
+
+$tool-top: 20px;
+
+//header 鐨勯珮搴�
+$index-height: 60px;
+$index-content-height: calc(100% - 60px);
+$index-tags-height: 36px;
+// 瀹藉害渚ц竟鏍�
+$aside-width: 200px;
+$content-padding: 16px;
+
+$default-zindex: 99;
+
+/*鏂囨湰鏍煎紡鍖栵紝瓒呭嚭鑼冨洿锛屾樉绀虹渷鐣ュ彿*/
+@mixin text-overflow($num: 1) {
+  word-break: break-all;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  display: -webkit-box;
+  -webkit-line-clamp: $num;
+  -webkit-box-orient: vertical;
+}
+
+
diff --git a/Code Management/BigScreenVue/src/assets/iconfont/iconfont.ttf b/Code Management/BigScreenVue/src/assets/iconfont/iconfont.ttf
new file mode 100644
index 0000000..4846ee3
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/iconfont/iconfont.ttf
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff b/Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff
new file mode 100644
index 0000000..a4600dc
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff2 b/Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff2
new file mode 100644
index 0000000..8154396
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/iconfont/iconfont.woff2
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/3DScreen.png b/Code Management/BigScreenVue/src/assets/img/3DScreen.png
new file mode 100644
index 0000000..afbeaa9
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/3DScreen.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/center_map.png b/Code Management/BigScreenVue/src/assets/img/center_map.png
new file mode 100644
index 0000000..71f4036
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/center_map.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/frame.png b/Code Management/BigScreenVue/src/assets/img/frame.png
new file mode 100644
index 0000000..150ec5e
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/frame.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/guang.png b/Code Management/BigScreenVue/src/assets/img/guang.png
new file mode 100644
index 0000000..3c49e9d
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/guang.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/headers/juxing1.png b/Code Management/BigScreenVue/src/assets/img/headers/juxing1.png
new file mode 100644
index 0000000..36d901a
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/headers/juxing1.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/headers/juxing2.png b/Code Management/BigScreenVue/src/assets/img/headers/juxing2.png
new file mode 100644
index 0000000..5c99bd7
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/headers/juxing2.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/left_top_hong.png b/Code Management/BigScreenVue/src/assets/img/left_top_hong.png
new file mode 100644
index 0000000..e19a5e9
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/left_top_hong.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/left_top_huang.png b/Code Management/BigScreenVue/src/assets/img/left_top_huang.png
new file mode 100644
index 0000000..5b12f88
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/left_top_huang.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/left_top_lan.png b/Code Management/BigScreenVue/src/assets/img/left_top_lan.png
new file mode 100644
index 0000000..f60cdb8
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/left_top_lan.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/left_top_lv.png b/Code Management/BigScreenVue/src/assets/img/left_top_lv.png
new file mode 100644
index 0000000..feb80ee
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/left_top_lv.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/pageBg.png b/Code Management/BigScreenVue/src/assets/img/pageBg.png
new file mode 100644
index 0000000..d393f2b
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/pageBg.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/titles/you.png b/Code Management/BigScreenVue/src/assets/img/titles/you.png
new file mode 100644
index 0000000..3877b31
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/titles/you.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/titles/zuo.png b/Code Management/BigScreenVue/src/assets/img/titles/zuo.png
new file mode 100644
index 0000000..b3b355d
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/titles/zuo.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/top.png b/Code Management/BigScreenVue/src/assets/img/top.png
new file mode 100644
index 0000000..50c0c9a
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/top.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/xieyou.png b/Code Management/BigScreenVue/src/assets/img/xieyou.png
new file mode 100644
index 0000000..1744fae
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/xieyou.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/xiezuo.png b/Code Management/BigScreenVue/src/assets/img/xiezuo.png
new file mode 100644
index 0000000..272249d
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/xiezuo.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/assets/img/zuo_xuxian.png b/Code Management/BigScreenVue/src/assets/img/zuo_xuxian.png
new file mode 100644
index 0000000..e54d037
--- /dev/null
+++ b/Code Management/BigScreenVue/src/assets/img/zuo_xuxian.png
Binary files differ
diff --git a/Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue b/Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue
new file mode 100644
index 0000000..ef0c909
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue
@@ -0,0 +1,87 @@
+<template>
+  <div>
+    <Echart
+      :options="options"
+      id="centreLeft1Chart"
+      height="220px"
+      width="360px"
+    ></Echart>
+  </div>
+</template>
+
+<script>
+import * as echarts from 'echarts';
+export default {
+  data () {
+    return {
+      options: {},
+    };
+  },
+  components: {
+    echarts,
+  },
+  props: {
+    cdata: {
+      type: Object,
+      default: () => ({})
+    },
+  },
+  watch: {
+    cdata: {
+      handler (newData) {
+        this.options = {
+          color: [
+            "#37a2da",
+            "#32c5e9",
+            "#9fe6b8",
+            "#ffdb5c",
+            "#ff9f7f",
+            "#fb7293",
+            "#e7bcf3",
+            "#8378ea"
+          ],
+          legend:{
+            textStyle:{
+              color:"#ffffff",
+              fontSize:18
+            }
+          },
+          tooltip: {
+            trigger: "item",
+            formatter: "{a} <br/>{b} : {c} ({d}%)"
+          },
+          toolbox: {
+            show: true
+          },
+          calculable: true,
+          legend: {
+            orient: "horizontal",
+            icon: "circle",
+            bottom: 0,
+            x: "center",
+            data: newData.xData,
+            textStyle: {
+              color: "#fff"
+            }
+          },
+          series: [
+            {
+              name: "閫氳繃鐜囩粺璁�",
+              type: "pie",
+              radius: [20, 60],
+              roseType: "area",
+              center: ["50%", "50%"],
+              data: newData.seriesData
+            }
+          ]
+        }
+      },
+      immediate: true,
+      deep: true
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue b/Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue
new file mode 100644
index 0000000..f1af8ce
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue
@@ -0,0 +1,55 @@
+<template>
+    <div>
+      <Chart :cdata="cdata" />
+    </div>
+  </template>
+  
+  <script>
+  import Chart from './chart.vue';
+  import axios from 'axios';
+  export default {
+    data () {
+      return {
+        cdata: {
+          xData: ["绌烘墭", "瀹炴墭", "寰呮", "鍚堟牸", "妫�淇腑"],
+          seriesData: []
+        }
+      }
+    },
+    components: {
+      Chart,
+    },
+    mounted () {
+      this.changeTiming()
+    },
+    methods: {
+      changeTiming() {
+          this.changeNumber()
+        setInterval(() => {
+          this.changeNumber()
+        }, 3000)
+      },
+      changeNumber() {
+        axios.post("http://localhost:8098/api/VV_Container/GetContainerMessage", {
+          MainData: {
+            AGVName: "璐熸瀬"
+          }
+        }).then((res) => {
+          let GetLocationEmptyOrStored = [
+            {value:res.empty+1,name:'绌烘墭'},
+            {value:res.full+1,name:"瀹炴墭"},
+            {value:res.waitCheck+1,name:"寰呮"},
+            {value:res.qualified+1,name:"鍚堟牸"},
+            {value:res.checkIng+1,name:"妫�淇腑"}
+          ]
+          this.cdata.seriesData = GetLocationEmptyOrStored
+        }).catch((res) => {
+          console.log(res)
+        })
+      }
+    }
+  }
+  </script>
+  
+  <style lang="scss" scoped>
+  </style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/components/echart/index.vue b/Code Management/BigScreenVue/src/components/echart/index.vue
new file mode 100644
index 0000000..0ae38d4
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/echart/index.vue
@@ -0,0 +1,70 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:29:08
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-09-27 15:05:45
+ * @FilePath: \web-pc\src\pages\big-screen\components\echart\index.vue
+-->
+<template>
+  <div :id="id" :class="className" :style="{ height: height, width: width }" />
+</template>
+
+<script>
+import * as echarts from 'echarts';
+export default {
+  name: 'echart',
+  props: {
+    className: {
+      type: String,
+      default: 'chart'
+    },
+    id: {
+      type: String,
+      default: 'chart'
+    },
+    width: {
+      type: String,
+      default: '100%'
+    },
+    height: {
+      type: String,
+      default: '100%'
+    },
+    options: {
+      type: Object,
+      default: ()=>({})
+    }
+  },
+  data () {
+    return {
+      chart: null
+    }
+  },
+  watch: {
+    options: {
+      handler (options) {
+        // 璁剧疆true娓呯┖echart缂撳瓨
+        this.chart.setOption(options, true)
+      },
+      deep: true
+    }
+  },
+  mounted () {
+    this.initChart();
+  },
+  beforeDestroy () {
+    this.chart.dispose()
+    this.chart = null
+  },
+  methods: {
+    initChart () {
+      // 鍒濆鍖杄chart
+      this.chart = echarts.init(this.$el)
+      this.chart.setOption(this.options, true)
+    }
+  }
+}
+</script>
+
+<style>
+</style>
diff --git a/Code Management/BigScreenVue/src/components/item-wrap/item-wrap.vue b/Code Management/BigScreenVue/src/components/item-wrap/item-wrap.vue
new file mode 100644
index 0000000..e58dc5e
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/item-wrap/item-wrap.vue
@@ -0,0 +1,97 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-01 09:16:22
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-09-29 15:12:34
+ * @FilePath: \web-pc\src\pages\big-screen\components\item-wrap\item-wrap.vue
+-->
+<template>
+  <dv-border-box-13 class="lr_titles">
+    <div class="item_title" v-if="title !== ''">
+      <div class="zuo"></div>
+      <span class="title-inner"> &nbsp;&nbsp;{{ title }}&nbsp;&nbsp; </span>
+      <div class="you"></div>
+    </div>
+    <div
+      :class="title !== '' ? 'item_title_content' : 'item_title_content_def'"
+    >
+      <slot></slot>
+    </div>
+  </dv-border-box-13>
+</template>
+
+<script>
+export default {
+  data() {
+    return {};
+  },
+  props: {
+    title: {
+      type: String,
+      default: () => "",
+    },
+  },
+  created() {},
+
+  mounted() {},
+  methods: {},
+};
+</script>
+<style lang='scss' scoped>
+$item-title-height: 38px;
+$item_title_content-height: calc(100% - 38px);
+
+.lr_titles {
+  box-sizing: border-box;
+
+:deep(.border-box-content)  {
+    box-sizing: border-box;
+    padding: 6px 16px 0px;
+  }
+
+  .item_title {
+    height: $item-title-height;
+    line-height: $item-title-height;
+    width: 100%;
+    color: #31abe3;
+    text-align: center;
+    // background: linear-gradient(to right, transparent, #0f0756, transparent);
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+
+    .zuo,
+    .you {
+      width: 58px;
+      height: 14px;
+      background-image: url("../../assets/img/titles/zuo.png");
+    }
+
+    .you {
+      transform: rotate(180deg);
+    }
+    .title-inner {
+      font-weight: 900;
+      letter-spacing: 2px;
+      background: linear-gradient(
+        92deg,
+        #0072ff 0%,
+        #00eaff 48.8525390625%,
+        #01aaff 100%
+      );
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+  }
+
+  .item_title_content {
+    height: $item_title_content-height;
+  }
+
+  .item_title_content_def {
+    width: 100%;
+    height: 100%;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/components/kong.vue b/Code Management/BigScreenVue/src/components/kong.vue
new file mode 100644
index 0000000..8732756
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/kong.vue
@@ -0,0 +1,43 @@
+<template>
+  <div class='kong'>
+      <slot></slot>
+  </div>
+</template>
+
+<script>
+
+export default {
+  components: {},
+  data() {
+    return {
+    
+    };
+  },
+  props:{
+    data:{
+      type:Array,
+      default:()=>[]
+    }
+  },
+  computed: {},
+  methods: {
+    init(){
+    },
+  },
+  created() {
+  
+  },
+  mounted() {
+  
+  },
+  beforeDestroy() { 
+  },
+}
+</script>
+
+<style lang='scss' scoped>
+.kong{
+    width: 100%;
+    height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/components/message/message.vue b/Code Management/BigScreenVue/src/components/message/message.vue
new file mode 100644
index 0000000..8c8c7a1
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/message/message.vue
@@ -0,0 +1,74 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-02 17:07:40
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-04-26 11:41:27
+ * @FilePath: \web-pc\src\pages\big-screen\components\message\message.vue
+-->
+<template>
+  <div class="messages" v-if="visible">
+    <svg fill="none" viewBox="0 0 16 16" width="1em" height="1em" class="message-icon">
+      <path fill="currentColor" d="M15 8A7 7 0 101 8a7 7 0 0014 0zM8.5 4v5.5h-1V4h1zm-1.1 7h1.2v1.2H7.4V11z"
+        fill-opacity="0.9" v-if="'warning'==type"></path>
+    </svg>
+    {{ text }}
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      visible: false,
+      text: "",
+      type:'warning'
+    };
+  },
+  props: {},
+  created() { },
+
+  mounted() { },
+  methods: {
+    init(param) {
+      clearTimeout(this.timer);
+      this.visible = true;
+      this.text = param.text || "";
+      this.type = param.type || "success";
+      this.timer = setTimeout(() => {
+        this.visible = false;
+        clearTimeout(this.timer);
+      }, 2000);
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.messages {
+  position: fixed;
+  min-width: 200px;
+  top: 160px;
+  left: 50%;
+  transform: translate(-50%, 0);
+  border: solid 1px #4b4b4b;
+  //   box-shadow: 0 16px 24px rgba(0, 0, 0, 0.14), 0 6px 30px rgba(0, 0, 0, 12%),
+  //     0 8px 10px rgba(0, 0, 0, 20%), inset 0 0.5px 0 #5e5e5e,
+  //     inset 0.5px 0 0 #5e5e5e, inset 0 -0.5px 0 #5e5e5e, inset -0.5px 0 0 #5e5e5e;
+  width: fit-content;
+  border-radius: 6px;
+  display: flex;
+  align-items: center;
+  z-index: 999;
+  color: rgba(255, 255, 255, 0.9);
+  background-color: #242424;
+  line-height: 22px;
+  font-size: 14px;
+  padding: 13px 16px;
+
+  .message-icon {
+    color: #cf6e2d;
+    font-size: 20px;
+    margin-right: 8px;
+    fill: currentColor;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/components/reacquire/reacquire.vue b/Code Management/BigScreenVue/src/components/reacquire/reacquire.vue
new file mode 100644
index 0000000..2f47845
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/reacquire/reacquire.vue
@@ -0,0 +1,64 @@
+<template>
+    <div class='reacquire flex justify-center  blocks  cursor-pointer' :style="{ lineHeight: lineHeight }"
+        @click="getData">
+        <span>
+             閲嶆柊鑾峰彇
+        </span>
+       
+    </div>
+</template>
+
+<script>
+
+export default {
+    components: {},
+    props: {
+        lineHeight: {
+            type: String,
+            default: '200px'
+        }
+    },
+    data() {
+        return {
+
+        };
+    },
+    computed: {},
+    methods: {
+        init() {
+        },
+        getData(e){
+            this.$emit("onclick",e)
+        }
+    },
+    created() {
+
+    },
+    mounted() {
+
+    },
+    beforeDestroy() {
+    },
+}
+</script>
+
+<style lang='scss' scoped>
+.reacquire {
+
+    user-select:none;
+    color: rgb(168, 168, 168);
+    span:hover{
+        color:$primary-color ;
+        text-decoration: underline;
+    }
+}
+
+.blocks {
+    width: 100%;
+    height: 100%;
+}
+
+.cursor-pointer {
+    cursor: pointer;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/components/scale-screen/scale-screen.vue b/Code Management/BigScreenVue/src/components/scale-screen/scale-screen.vue
new file mode 100644
index 0000000..a8c5637
--- /dev/null
+++ b/Code Management/BigScreenVue/src/components/scale-screen/scale-screen.vue
@@ -0,0 +1,253 @@
+<!--
+ * @Author: wei
+ * @description: 澶у睆鑷�傚簲瀹瑰櫒缁勪欢
+ * @LastEditTime: 2022-09-09 16:42:40
+-->
+<template>
+  <!-- <section class="screen-box" :style="boxStyle"> -->
+  <div class="screen-wrapper" ref="screenWrapper" :style="wrapperStyle">
+    <slot></slot>
+  </div>
+  <!-- </section> -->
+</template>
+<script>
+/**
+ * 闃叉姈鍑芥暟
+ * @param {T} fn
+ * @param {number} delay
+ * @return
+ */
+function debounce(fn, delay) {
+  let timer = null;
+  return function (...args) {
+    timer = setTimeout(
+      () => {
+        typeof fn === "function" && fn.apply(null, args);
+        clearTimeout(timer);
+      },
+      delay > 0 ? delay : 100
+    );
+  };
+}
+
+export default {
+  name: "VScaleScreen",
+  props: {
+    width: {
+      type: [String, Number],
+      default: 1920,
+    },
+    height: {
+      type: [String, Number],
+      default: 1080,
+    },
+    fullScreen: {
+      type: Boolean,
+      default: false,
+    },
+    autoScale: {
+      type: [Object, Boolean],
+      default: true,
+    },
+    selfAdaption: {
+      type: Boolean,
+      default: true,
+    },
+    delay: {
+      type: Number,
+      default: 500,
+    },
+    boxStyle: {
+      type: Object,
+      default: () => ({}),
+    },
+    wrapperStyle: {
+      type: Object,
+      default: () => ({}),
+    },
+  },
+  data() {
+    return {
+      currentWidth: 0,
+      currentHeight: 0,
+      originalWidth: 0,
+      originalHeight: 0,
+      onResize: null,
+      observer: null,
+    };
+  },
+  watch: {
+    selfAdaption(val) {
+      if (val) {
+        this.resize();
+        this.addListener();
+      } else {
+        this.clearListener();
+        this.clearStyle();
+      }
+    },
+  },
+  computed: {
+    screenWrapper() {
+      return this.$refs["screenWrapper"];
+    },
+  },
+  methods: {
+    initSize() {
+      return new Promise((resolve, reject) => {
+        // console.log("鍒濆鍖栨牱寮�");
+        //缁欑埗鍏冪礌璁剧疆 overflow:hidden
+        this.screenWrapper.parentNode.style.overflow = "hidden";
+        this.screenWrapper.parentNode.scrollLeft = 0;
+        this.screenWrapper.parentNode.scrollTop = 0;
+
+        this.$nextTick(() => {
+          // region 鑾峰彇澶у睆鐪熷疄灏哄
+          if (this.width && this.height) {
+            this.currentWidth = this.width;
+            this.currentHeight = this.height;
+          } else {
+            this.currentWidth = this.screenWrapper.clientWidth;
+            this.currentHeight = this.screenWrapper.clientHeight;
+          }
+          // endregion
+          // region 鑾峰彇鐢诲竷灏哄
+          if (!this.originalHeight || !this.originalWidth) {
+            this.originalWidth = window.screen.width;
+            this.originalHeight = window.screen.height;
+          }
+          // endregion
+          resolve();
+        });
+      });
+    },
+    updateSize() {
+      if (this.currentWidth && this.currentHeight) {
+        this.screenWrapper.style.width = `${this.currentWidth}px`;
+        this.screenWrapper.style.height = `${this.currentHeight}px`;
+      } else {
+        this.screenWrapper.style.width = `${this.originalWidth}px`;
+        this.screenWrapper.style.height = `${this.originalHeight}px`;
+      }
+    },
+    handleAutoScale(scale) {
+      if (!this.autoScale) return;
+      const screenWrapper = this.screenWrapper;
+      const domWidth = screenWrapper.clientWidth;
+      const domHeight = screenWrapper.clientHeight;
+      const currentWidth = document.body.clientWidth;
+      const currentHeight = document.body.clientHeight;
+      screenWrapper.style.transform = `scale(${scale},${scale}) `;
+      let mx = Math.max((currentWidth - domWidth * scale) / 2, 0);
+      let my = Math.max((currentHeight - domHeight * scale) / 2, 0);
+      if (typeof this.autoScale === "object") {
+        // @ts-ignore
+        !this.autoScale.x && (mx = 0);
+        // @ts-ignore
+        !this.autoScale.y && (my = 0);
+      }
+      // console.log({
+      //   mx,
+      //   my,
+      //   currentWidth,
+      //   currentHeight,
+      //   domWidth,
+      //   domHeight,
+      //   scale,
+      // });
+      this.screenWrapper.style.margin = `${my}px ${mx}px`;
+    },
+    updateScale() {
+      const screenWrapper = this.screenWrapper;
+      // 鑾峰彇鐪熷疄瑙嗗彛灏哄
+      const currentWidth = document.body.clientWidth;
+      const currentHeight = document.body.clientHeight;
+      // 鑾峰彇澶у睆鏈�缁堢殑瀹介珮onResize
+      const realWidth = this.currentWidth || this.originalWidth;
+      const realHeight = this.currentHeight || this.originalHeight;
+      // 璁$畻缂╂斁姣斾緥
+      const widthScale = currentWidth / realWidth;
+      const heightScale = currentHeight / realHeight;
+      // console.log({currentWidth, currentHeight,realWidth,realHeight});
+
+      // 鑻ヨ閾烘弧鍏ㄥ睆锛屽垯鎸夌収鍚勮嚜姣斾緥缂╂斁
+      if (this.fullScreen) {
+        screenWrapper.style.transform = `scale(${widthScale},${heightScale})`;
+        return false;
+      }
+      // 鎸夌収瀹介珮鏈�灏忔瘮渚嬭繘琛岀缉鏀�
+      const scale = Math.min(widthScale, heightScale);
+      this.handleAutoScale(scale);
+    },
+    initMutationObserver() {
+      const screenWrapper = this.screenWrapper;
+      const observer = (this.observer = new MutationObserver(() => {
+        this.onResize();
+      }));
+
+      observer.observe(screenWrapper, {
+        attributes: true,
+        attributeFilter: ["style"],
+        attributeOldValue: true,
+      });
+    },
+    clearListener() {
+      window.removeEventListener("resize", this.onResize);
+    },
+    addListener() {
+      window.addEventListener("resize", this.onResize);
+    },
+    clearStyle() {
+      // console.log("娓呴櫎");
+      const screenWrapper = this.screenWrapper;
+      screenWrapper.parentNode.style.overflow = "auto";
+
+      screenWrapper.style = "";
+    },
+    async resize() {
+      if (!this.selfAdaption) {
+        return;
+      }
+      await this.initSize();
+      this.updateSize();
+      this.updateScale();
+    },
+  },
+  mounted() {
+    this.onResize = debounce(() => {
+      this.resize();
+    }, this.delay);
+    this.$nextTick(() => {
+      if (this.selfAdaption) {
+        this.resize();
+        this.addListener();
+      }
+    });
+  },
+  beforeDestroy() {
+    this.clearListener();
+    // this.observer.disconnect()
+  },
+};
+//
+</script>
+
+<style scoped>
+.screen-box {
+  overflow: hidden;
+  background-size: 100% 100%;
+  background: #000;
+  width: 100vw;
+  height: 100vh;
+}
+
+.screen-wrapper {
+  transition-property: all;
+  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+  transition-duration: 500ms;
+  position: relative;
+  overflow: hidden;
+  z-index: 100;
+  transform-origin: left top;
+}
+</style>
diff --git a/Code Management/BigScreenVue/src/views/home.scss b/Code Management/BigScreenVue/src/views/home.scss
new file mode 100644
index 0000000..3f194dc
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/home.scss
@@ -0,0 +1,261 @@
+.scale-wrap {
+    color: #d3d6dd;
+    width: 1920px;
+    height: 1080px;
+    overflow: hidden;
+    // &.pageisScale {
+    //     position: absolute;
+    //     top: 50%;
+    //     left: 50%;
+    //     transform: translate(-50%, -50%);
+    //     transform-origin: left top;
+    // }
+    .bg {
+        width: 100%;
+        height: 100%;
+        padding: 16px 16px 10px 16px;
+        box-sizing: border-box;
+        background-image: url("../assets/img/pageBg.png");
+        background-size: cover;
+        background-position: center center;
+    }
+
+    .host-body {
+        height: 100%;
+
+        .title_wrap {
+            height: 60px;
+            background-image: url("../assets/img/top.png");
+            background-size: cover;
+            background-position: center center;
+            position: relative;
+            margin-bottom: 4px;
+
+            .guang {
+                position: absolute;
+                bottom: -26px;
+                background-image: url("../assets/img/guang.png");
+                background-position: 80px center;
+                width: 100%;
+                height: 56px;
+            }
+
+            .zuojuxing,
+            .youjuxing {
+                position: absolute;
+                top: -2px;
+                width: 140px;
+                height: 6px;
+                background-image: url("../assets/img/headers/juxing1.png");
+            }
+
+            .zuojuxing {
+
+                left: 11%;
+            }
+
+            .youjuxing {
+                right: 11%;
+                transform: rotate(180deg);
+            }
+
+            .timers {
+                position: absolute;
+                right: 0;
+                top: 30px;
+                font-size: 18px;
+                display: flex;
+                align-items: center;
+
+                .blq-icon-shezhi02 {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .title {
+            position: relative;
+            // width: 500px;
+            text-align: center;
+            background-size: cover;
+            color: transparent;
+            height: 60px;
+            line-height: 46px;
+
+            .title-text {
+                font-size: 38px;
+                font-weight: 900;
+                letter-spacing: 6px;
+                width: 100%;
+                background: linear-gradient(92deg, #0072FF 0%, #00EAFF 48.8525390625%, #01AAFF 100%);
+                -webkit-background-clip: text;
+                -webkit-text-fill-color: transparent;
+            }
+        }
+    }
+
+
+}
+
+.scale-wrap {
+    .pagetab {
+        position: absolute;
+        top: -35px;
+        display: flex;
+
+        .item {
+            width: 130px;
+            height: 36px;
+            border-radius: 18px 0px 0px 18px;
+            color: #00FBF8;
+            text-indent: 26px;
+            line-height: 36px;
+            font-size: 16px;
+            margin-right: 20px;
+            background: linear-gradient(to right, rgba(76, 245, 255, .5), rgba(76, 245, 255, 0));
+        }
+    }
+}
+
+.setting {
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    z-index: 999;
+    top: 0;
+    left: 0;
+
+    .left_shu {
+        color: #000;
+        font-weight: 900;
+        position: relative;
+        text-indent: 10px;
+        padding:16px 0 10px 0 ;
+        &::before {
+            display: block;
+            content: " ";
+            height: 16px;
+            width: 4px;
+            border-radius: 2px;
+            background: #0072FF;
+            position: absolute;
+            left: 0px;
+        }
+    }
+
+    .setting_dislog {
+        background-color: rgba($color: #000000, $alpha: .5);
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 0;
+        right: 0;
+        top: 0;
+    }
+
+    .setting_inner {
+        box-sizing: border-box;
+        background: #FFF;
+        width: 340px;
+        height: 100%;
+        position: absolute;
+        right: 0px;
+        top: 0;
+        z-index: 1;
+        color: #000000;
+        box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12);
+
+        .setting_header {
+            font-size: 20px;
+            color: rgb(0, 0, 0);
+            font-weight: 900;
+            text-align: center;
+            line-height: 40px;
+        }
+
+        .setting_body {
+            padding: 0px 16px;
+            box-sizing: border-box;
+            position: relative;
+        }
+
+        .setting_item {
+            font-size: 14px;
+            line-height: 1.5;
+
+            // display: flex;
+            .setting_label {
+                color: #555454;
+            }
+            .setting_label_tip{
+                font-size: 12px;
+                color: #838282;
+            }
+        }
+    }
+
+    .setting_inner {
+        animation: rtl-drawer-out .3s;
+    }
+}
+
+
+.settingShow {
+    .setting_inner {
+        animation: rtl-drawer-in .3s 1ms;
+    }
+
+}
+
+.yh-setting-fade-enter-active {
+    animation: yh-setting-fade-in .3s;
+}
+
+.yh-setting-fade-leave-active {
+
+    animation: yh-setting-fade-out .3s;
+
+}
+
+@keyframes yh-setting-fade-in {
+    0% {
+        opacity: 0;
+    }
+
+    100% {
+        opacity: 1;
+    }
+}
+
+@keyframes yh-setting-fade-out {
+    0% {
+        opacity: 1;
+
+    }
+
+    100% {
+        opacity: 0;
+    }
+}
+
+
+@keyframes rtl-drawer-in {
+    0% {
+        transform: translate(100%, 0)
+    }
+
+    100% {
+        -webkit-transform: translate(0, 0);
+        transform: translate(0, 0)
+    }
+}
+
+@keyframes rtl-drawer-out {
+    0% {
+        transform: translate(0, 0)
+    }
+
+    100% {
+        transform: translate(100%, 0)
+    }
+}
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/home.vue b/Code Management/BigScreenVue/src/views/home.vue
new file mode 100644
index 0000000..eb97471
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/home.vue
@@ -0,0 +1,102 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-01-12 14:23:32
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-09-09 14:47:24
+ * @FilePath: \web-pc\src\pages\big-screen\view\home.vue
+-->
+<template>
+  <!-- <div id="index" ref="appRef" class="index_home" :class="{ pageisScale: isScale }"> -->
+  <ScaleScreen
+    :width="1920"
+    :height="1080"
+    class="scale-wrap"
+    :selfAdaption="$store.state.setting.isScale"
+  >
+    <div class="bg">
+      <dv-loading v-if="loading">Loading...</dv-loading>
+      <div v-else class="host-body">
+        <!-- 澶撮儴 s -->
+        <div class="d-flex jc-center title_wrap">
+          <div class="zuojuxing"></div>
+          <div class="youjuxing"></div>
+          <div class="guang"></div>
+          <div class="d-flex jc-center">
+            <div class="title">
+              <span class="title-text">娴欐睙鍐犲畤鏁版嵁灞曠ず骞冲彴</span>
+            </div>
+          </div>
+          <div class="timers">
+            {{ dateYear }} {{ dateWeek }} {{ dateDay }}
+            <i
+              class="blq-icon-shezhi02"
+              style="margin-left: 10px"
+              @click="showSetting"
+            ></i>
+          </div>
+        </div>
+        <!-- 澶撮儴 e-->
+        <!-- 鍐呭  s-->
+        <router-view></router-view>
+        <!-- 鍐呭 e -->
+      </div>
+    </div>
+    <Setting ref="setting" />
+  </ScaleScreen>
+  <!-- </div> -->
+</template>
+
+<script>
+import { formatTime } from "../utils/index.js";
+import Setting from "./setting.vue";
+import ScaleScreen from "@/components/scale-screen/scale-screen.vue";
+export default {
+  components: { Setting, ScaleScreen },
+  data() {
+    return {
+      timing: null,
+      loading: true,
+      dateDay: null,
+      dateYear: null,
+      dateWeek: null,
+      weekday: ["鍛ㄦ棩", "鍛ㄤ竴", "鍛ㄤ簩", "鍛ㄤ笁", "鍛ㄥ洓", "鍛ㄤ簲", "鍛ㄥ叚"],
+    };
+  },
+  filters: {
+    numsFilter(msg) {
+      return msg || 0;
+    },
+  },
+  computed: {},
+  created() {},
+  mounted() {
+    this.timeFn();
+    this.cancelLoading();
+  },
+  beforeDestroy() {
+    clearInterval(this.timing);
+  },
+  methods: {
+    showSetting() {
+      this.$refs.setting.init();
+    },
+    timeFn() {
+      this.timing = setInterval(() => {
+        this.dateDay = formatTime(new Date(), "HH: mm: ss");
+        this.dateYear = formatTime(new Date(), "yyyy-MM-dd");
+        this.dateWeek = this.weekday[new Date().getDay()];
+      }, 1000);
+    },
+    cancelLoading() {
+      let timer = setTimeout(() => {
+        this.loading = false;
+        clearTimeout(timer);
+      }, 500);
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+@import "./home.scss";
+</style>
diff --git a/Code Management/BigScreenVue/src/views/indexs/center-bottom.vue b/Code Management/BigScreenVue/src/views/indexs/center-bottom.vue
new file mode 100644
index 0000000..d9e82e9
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/center-bottom.vue
@@ -0,0 +1,266 @@
+<template>
+  <div class="center_bottom">
+    <Echart
+      :options="options"
+      id="bottomLeftChart"
+      class="echarts_bottom"
+    ></Echart>
+  </div>
+</template>
+
+<script>
+// import { currentGET } from "api/modules";
+import { graphic } from "echarts";
+import {Getproductionvolume} from "@/api/http.js"
+import axios from 'axios'
+export default {
+  data() {
+    return {
+      options: {
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,.6)",
+          borderColor: "rgba(147, 235, 248, .8)",
+          textStyle: {
+            color: "#FFF",
+          },
+          formatter: function (params) {
+            // 娣诲姞鍗曚綅
+            var result = params[0].name + "<br>";
+            params.forEach(function (item) {
+              if (item.value) {
+                  result +=
+                    item.marker +
+                    " " +
+                    "浜ч噺" +
+                    " : " +
+                    item.value +
+                    "鎵�</br>";
+              } else {
+                result += item.marker + " " + item.seriesName + " :  - </br>";
+              }
+            });
+            return result;
+          },
+        },
+        legend: {
+          data: ["鍗曚綅锛氭墭"],
+          textStyle: {
+            color: "#B4B4B4",
+          },
+          top: "-5",
+        },
+        grid: {
+          left: "50px",
+          right: "40px",
+          bottom: "30px",
+          top: "20px",
+        },
+        xAxis: {
+          data: [],
+          axisLine: {
+            lineStyle: {
+              color: "#B4B4B4",
+            },
+          },
+          axisTick: {
+            show: true,
+          },
+        },
+        yAxis: [
+          {
+            splitLine: { show: true },
+            axisLine: {
+              lineStyle: {
+                color: "#B4B4B4",
+              },
+            },
+            axisLabel: {
+              formatter: "{value}",
+            },
+          },
+        ],
+        series: [
+          {
+            name: "鍗曚綅锛氭墭",
+            type: "bar",
+            barWidth: 20,
+            itemStyle: {
+              normal: {
+                borderRadius: 5,
+                  color: new graphic.LinearGradient(0, 0, 0, 1, [
+                    { offset: 0, color: "#956FD4" },
+                    { offset: 1, color: "#3EACE5" },
+                  ]),
+                  // label: {
+                  //     show: true, //寮�鍚樉绀�
+                  //     position: 'top', //鍦ㄤ笂鏂规樉绀�
+                  //     textStyle: { //鏁板�兼牱寮�
+                  //     color: '#bdbae2',
+                  //     fontSize: 10
+                  //   }
+                  // }
+              }
+            },
+            data: ['200','180','190','185','190','188','195'],
+          },
+        ],
+      },
+      xAxisDates: [],
+    };},
+  props: {},
+  mounted() {
+    this.getData();
+    this.changeTiming();
+  },
+  beforeDestroy() {
+    this.clearData()
+  },
+  methods: {
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer)
+        this.timer = null
+      }
+    },
+    changeTiming() {
+      this.timer=setInterval(() => {
+        this.getData();
+      }, 3000);
+    },
+    async getData() {
+      const rep = await Getproductionvolume();
+      console.log(rep)
+        var rep1=rep.filter(it=>it.taskType==100&&it.roadway.includes("CW"))
+        
+    // 鍒嗙粍骞舵帓搴�
+    const groupedData = rep1.reduce((acc, item) => {
+      const dateKey = item.createDate.split(' ')[0];
+      acc[dateKey] = acc[dateKey] || { date: dateKey, tasks: [] };
+      acc[dateKey].tasks.push(item);
+      return acc;
+    }, {});
+   
+    const sortedGroups = Object.values(groupedData).sort(
+      (a, b) => new Date(b.date) - new Date(a.date)
+    );
+    
+    // 鎻愬彇鏃ユ湡锛�7/2 鏍煎紡锛�
+    this.xAxisDates= sortedGroups.map(group => {
+      const date = new Date(group.date);
+      return `${date.getMonth() + 1}/${date.getDate()}`;
+    });
+    
+    const pcsCounts = sortedGroups.map(group => group.tasks.length);
+
+      this.options = {
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,.6)",
+          borderColor: "rgba(147, 235, 248, .8)",
+          textStyle: {
+            color: "#FFF",
+          },
+          formatter: function (params) {
+            // 娣诲姞鍗曚綅
+            var result = params[0].name + "<br>";
+            params.forEach(function (item) {
+              if (item.value) {
+                  result +=
+                    item.marker +
+                    " " +
+                    "浜ч噺" +
+                    " : " +
+                    item.value +
+                    "鎵�</br>";
+              } else {
+                result += item.marker + " " + item.seriesName + " :  - </br>";
+              }
+            });
+            return result;
+          },
+        },
+        legend: {
+          data: ["鍗曚綅锛氭墭"],
+          textStyle: {
+            color: "#B4B4B4",
+          },
+          top: "-5",
+        },
+        grid: {
+          left: "60px",
+          right: "40px",
+          bottom: "30px",
+          top: "20px",
+        },
+        xAxis: {
+          data:this.xAxisDates.reverse(),
+          axisLine: {
+            lineStyle: {
+              color: "#B4B4B4",
+            },
+          },
+          axisTick: {
+            show: true,
+          },
+        },
+        yAxis: [
+          {
+            splitLine: { show: true },
+            axisLine: {
+              lineStyle: {
+                color: "#B4B4B4",
+              },
+            },
+            axisLabel: {
+              formatter: "{value}",
+            },
+          }
+        ],
+        series: [
+          {
+            name: "鍗曚綅锛氭墭",
+            type: "bar",
+            barWidth: 20,
+            itemStyle: {
+              borderRadius: 5,
+              color: new graphic.LinearGradient(0, 0, 0, 1, [
+                { offset: 0, color: "#956FD4" },
+                { offset: 1, color: "#3EACE5" },
+              ]),
+            },
+            data: pcsCounts.reverse(),
+          },
+        ],
+      };
+      this.switper();
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+    },
+  
+  
+  }
+};
+</script>
+<style lang="scss" scoped>
+.center_bottom {
+  width: 100%;
+  height: 100%;
+
+  .echarts_bottom {
+    width: 100%;
+    height: 100%;
+  }
+}
+</style>
diff --git a/Code Management/BigScreenVue/src/views/indexs/center-map.vue b/Code Management/BigScreenVue/src/views/indexs/center-map.vue
new file mode 100644
index 0000000..886b898
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/center-map.vue
@@ -0,0 +1,378 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-01 11:17:39
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-09-29 15:50:18
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\center-map.vue
+-->
+<template>
+  <div class="centermap">
+    <!-- <div class="maptitle">
+      <div class="zuo"></div>
+      <span class="titletext">{{ maptitle }}</span>
+      <div class="you"></div>
+    </div> -->
+    <div class="mapwrap">
+      <dv-border-box-13>
+        <img class="Screen" src="../../assets/img/3DScreen.png" width="700px" height="392px" alt="">
+        <!-- <div class="quanguo" @click="getData('china')" v-if="code !== 'china'">
+          涓浗
+        </div>
+
+        <Echart id="CenterMap" :options="options" ref="CenterMap" /> -->
+      </dv-border-box-13>
+    </div>
+  </div>
+</template>
+
+<script>
+import xzqCode from "../../utils/map/xzqCode";
+import { currentGET } from "api/modules";
+import * as echarts from "echarts";
+import { GETNOBASE } from "api";
+import {Getproductionvolume} from "@/api/http.js"
+export default {
+  data() {
+    return {
+      maptitle: "灏忛儴浠朵粨搴撻瑙堝浘",
+      options: {},
+      code: "china", //china 浠h〃涓浗 鍏朵粬鍦板競鏄鏀跨紪鐮�
+      echartBindClick: false,
+      isSouthChinaSea: false, //鏄惁瑕佸睍绀哄崡娴风兢宀�  淇敼姝ゅ�艰鍒锋柊椤甸潰
+    };
+  },
+  created() {},
+
+  mounted() {
+    // console.log(xzqCode);
+    this.getData();
+  },
+  methods: {
+   
+    async getData(code) {
+     
+    },
+    /**
+     * @description: 鑾峰彇geojson
+     * @param {*} name china 琛ㄧず涓浗 鍏朵粬鐪佷唤琛屾斂鍖虹紪鐮�
+     * @param {*} mydata 鎺ュ彛杩斿洖鍒楄〃鏁版嵁
+     * @return {*}
+     */
+    async getGeojson(name, mydata) {
+      this.code = name;
+      //濡傛灉瑕佸睍绀哄崡娴风兢宀涘苟涓斿睍绀虹殑鏄腑鍥界殑璇�
+      let geoname=name
+      if (this.isSouthChinaSea && name == "china") {
+        geoname = "chinaNanhai";
+      }
+      //濡傛灉鏈夋敞鍐屽湴鍥剧殑璇濆氨涓嶇敤鍐嶆敞鍐� 浜�
+      let mapjson = echarts.getMap(name);
+      if (mapjson) {
+        mapjson = mapjson.geoJSON;
+      } else {
+        mapjson = await GETNOBASE(`./map-geojson/${geoname}.json`).then((res) => {
+          return res;
+        });
+        echarts.registerMap(name, mapjson);
+      }
+      let cityCenter = {};
+      let arr = mapjson.features;
+      //鏍规嵁geojson鑾峰彇鐪佷唤涓績鐐�
+      arr.map((item) => {
+        cityCenter[item.properties.name] =
+          item.properties.centroid || item.properties.center;
+      });
+      let newData = [];
+      mydata.map((item) => {
+        if (cityCenter[item.name]) {
+          newData.push({
+            name: item.name,
+            value: cityCenter[item.name].concat(item.value),
+          });
+        }
+      });
+      this.init(name, mydata, newData);
+    },
+    init(name, data, data2) {
+      // console.log(data2);
+      let top = 45;
+      let zoom = 1.05;
+      let option = {
+        backgroundColor: "rgba(0,0,0,0)",
+        tooltip: {
+          show: false,
+        },
+        legend: {
+          show: false,
+        },
+        visualMap: {
+          left: 20,
+          bottom: 20,
+          pieces: [
+            { gte: 1000, label: "1000涓互涓�" }, // 涓嶆寚瀹� max锛岃〃绀� max 涓烘棤闄愬ぇ锛圛nfinity锛夈��
+            { gte: 600, lte: 999, label: "600-999涓�" },
+            { gte: 200, lte: 599, label: "200-599涓�" },
+            { gte: 50, lte: 199, label: "49-199涓�" },
+            { gte: 10, lte: 49, label: "10-49涓�" },
+            { lte: 9, label: "1-9涓�" }, // 涓嶆寚瀹� min锛岃〃绀� min 涓烘棤闄愬ぇ锛�-Infinity锛夈��
+          ],
+          inRange: {
+            // 娓愬彉棰滆壊锛屼粠灏忓埌澶�
+            color: [
+              "#c3d7df",
+              "#5cb3cc",
+              "#8abcd1",
+              "#66a9c9",
+              "#2f90b9",
+              "#1781b5",
+            ],
+          },
+          textStyle: {
+            color: "#fff",
+          },
+        },
+        geo: {
+          map: name,
+          roam: false,
+          selectedMode: false, //鏄惁鍏佽閫変腑澶氫釜鍖哄煙
+          zoom: zoom,
+          top: top,
+          // aspectScale: 0.78,
+          show: false,
+        },
+        series: [
+          {
+            name: "MAP",
+            type: "map",
+            map: name,
+            // aspectScale: 0.78,
+            data: data,
+            // data: [1,100],
+            selectedMode: false, //鏄惁鍏佽閫変腑澶氫釜鍖哄煙
+            zoom: zoom,
+            geoIndex: 1,
+            top: top,
+            tooltip: {
+              show: true,
+              formatter: function (params) {
+                if (params.data) {
+                  return params.name + "锛�" + params.data["value"];
+                } else {
+                  return params.name;
+                }
+              },
+              backgroundColor: "rgba(0,0,0,.6)",
+              borderColor: "rgba(147, 235, 248, .8)",
+              textStyle: {
+                color: "#FFF",
+              },
+            },
+            label: {
+              show: false,
+              color: "#000",
+              // position: [-10, 0],
+              formatter: function (val) {
+                // console.log(val)
+                if (val.data !== undefined) {
+                  return val.name.slice(0, 2);
+                } else {
+                  return "";
+                }
+              },
+              rich: {},
+            },
+            emphasis: {
+              label: {
+                show: false,
+              },
+              itemStyle: {
+                areaColor: "#389BB7",
+                borderWidth: 1,
+              },
+            },
+            itemStyle: {
+              borderColor: "rgba(147, 235, 248, .8)",
+              borderWidth: 1,
+              areaColor: {
+                type: "radial",
+                x: 0.5,
+                y: 0.5,
+                r: 0.8,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(147, 235, 248, 0)", // 0% 澶勭殑棰滆壊
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(147, 235, 248, .2)", // 100% 澶勭殑棰滆壊
+                  },
+                ],
+                globalCoord: false, // 缂轰负 false
+              },
+              shadowColor: "rgba(128, 217, 248, .3)",
+              shadowOffsetX: -2,
+              shadowOffsetY: 2,
+              shadowBlur: 10,
+            },
+          },
+          {
+            data: data2,
+            type: "effectScatter",
+            coordinateSystem: "geo",
+            symbolSize: function (val) {
+              return 4;
+              // return val[2] / 50;
+            },
+            legendHoverLink: true,
+            showEffectOn: "render",
+            rippleEffect: {
+              // period: 4,
+              scale: 6,
+              color: "rgba(255,255,255, 1)",
+              brushType: "fill",
+            },
+            tooltip: {
+              show: true,
+              formatter: function (params) {
+                if (params.data) {
+                  return params.name + "锛�" + params.data["value"][2];
+                } else {
+                  return params.name;
+                }
+              },
+              backgroundColor: "rgba(0,0,0,.6)",
+              borderColor: "rgba(147, 235, 248, .8)",
+              textStyle: {
+                color: "#FFF",
+              },
+            },
+            label: {
+              formatter: (param) => {
+                return param.name.slice(0, 2);
+              },
+
+              fontSize: 11,
+              offset: [0, 2],
+              position: "bottom",
+              textBorderColor: "#fff",
+              textShadowColor: "#000",
+              textShadowBlur: 10,
+              textBorderWidth: 0,
+              color: "#FFF",
+              show: true,
+            },
+            // colorBy: "data",
+            itemStyle: {
+              color: "rgba(255,255,255,1)",
+              borderColor: "rgba(2255,255,255,2)",
+              borderWidth: 4,
+              shadowColor: "#000",
+              shadowBlur: 10,
+            },
+          },
+        ],
+         //鍔ㄧ敾鏁堟灉
+            // animationDuration: 1000,
+            // animationEasing: 'linear',
+            // animationDurationUpdate: 1000
+      };
+      this.options = option;
+    },
+    message(text) {
+      this.$Message({
+        text: text,
+        type: "warning",
+      });
+    },
+    mapclick() {
+      if (this.echartBindClick) return;
+      //鍗曞嚮鍒囨崲鍒扮骇鍦板浘锛屽綋mapCode鏈夊��,璇存槑鍙互鍒囨崲鍒颁笅绾у湴鍥�
+      this.$refs.CenterMap.chart.on("click", (params) => {
+        // console.log(params);
+        let xzqData = xzqCode[params.name];
+        if (xzqData) {
+          this.getData(xzqData.adcode);
+        } else {
+          this.message("鏆傛棤涓嬬骇鍦板競!");
+        }
+      });
+      this.echartBindClick = true;
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.centermap {
+  margin-bottom: 30px;
+
+  .maptitle {
+    height: 60px;
+    display: flex;
+    justify-content: center;
+    padding-top: 10px;
+    box-sizing: border-box;
+
+    .titletext {
+      font-size: 28px;
+      font-weight: 900;
+      letter-spacing: 6px;
+      background: linear-gradient(
+        92deg,
+        #0072ff 0%,
+        #00eaff 48.8525390625%,
+        #01aaff 100%
+      );
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+      margin: 0 10px;
+    }
+
+    .zuo,
+    .you {
+      background-size: 100% 100%;
+      width: 29px;
+      height: 20px;
+      margin-top: 8px;
+    }
+
+    .zuo {
+      background: url("../../assets/img/xiezuo.png") no-repeat;
+    }
+
+    .you {
+      background: url("../../assets/img/xieyou.png") no-repeat;
+    }
+  }
+
+  .mapwrap {
+    height: 548px;
+    width: 100%;
+    // padding: 0 0 10px 0;
+    box-sizing: border-box;
+    position: relative;
+
+    .quanguo {
+      position: absolute;
+      right: 20px;
+      top: -46px;
+      width: 80px;
+      height: 28px;
+      border: 1px solid #00eded;
+      border-radius: 10px;
+      color: #00f7f6;
+      text-align: center;
+      line-height: 26px;
+      letter-spacing: 6px;
+      cursor: pointer;
+      box-shadow: 0 2px 4px rgba(0, 237, 237, 0.5),
+        0 0 6px rgba(0, 237, 237, 0.4);
+    }
+  }
+}
+.Screen{
+  position: absolute;
+      right: 10px;
+      top: 60px;
+}
+</style>
diff --git a/Code Management/BigScreenVue/src/views/indexs/index.vue b/Code Management/BigScreenVue/src/views/indexs/index.vue
new file mode 100644
index 0000000..4bc7dfc
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/index.vue
@@ -0,0 +1,207 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-04 09:23:59
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-05-07 11:05:02
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\index.vue
+-->
+<template>
+  <div class="contents">
+    <div class="contetn_left">
+      <div class="pagetab">
+        
+      </div>
+      <!-- <ItemWrap class="contetn_left-top contetn_lr-item" title="鏁呴殰--绉嶇被棰戠巼">
+        <LeftCenter />
+      </ItemWrap> -->
+
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="褰撳墠鍑哄叆搴撲换鍔�"
+      >
+      <stationone/>
+      </ItemWrap>
+
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="浠婃棩寰呭嚭搴撳疄鐩�"
+      >
+      <stationtwo/>
+      </ItemWrap>
+
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="璐т綅鐘舵�佷俊鎭�"
+      >
+      <stationthree/>
+      </ItemWrap>
+
+    </div>
+    <div class="contetn_center">
+      <div style="height:70vh;margin-bottom: -30px">
+        <LeftBottom/>
+      </div>
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="浜ч噺灞曠ず淇℃伅"
+        style="padding: 0 10px 16px 10px"
+      >
+        <RightCenter />
+      </ItemWrap>
+    </div>
+    <div class="contetn_right">
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="鍚勭嚎褰撳墠浠诲姟鏁伴噺"
+        style="padding: 0 10px 16px 10px"
+      >
+      <passtwo />
+      </ItemWrap>
+
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="瀹炵洏鍏ュ簱浜ч噺缁熻"
+        style="padding: 0 10px 16px 10px"
+      >
+      <CenterBottom />
+      </ItemWrap>
+
+      <ItemWrap
+        class="contetn_left-bottom contetn_lr-item"
+        title="瀹炵洏鍑哄簱浜ч噺缁熻"
+      >
+        <plan />
+      </ItemWrap> 
+
+    </div>
+  </div>
+</template>
+
+<script>
+import LeftTop from './left-top.vue'
+import LeftCenter from "./left-center.vue";
+import LeftBottom from "./left-bottom.vue";
+import CenterMap from "./center-map.vue";
+import CenterBottom from "./center-bottom.vue";
+import RightTop from "./right-top.vue";
+import RightCenter from "./right-center.vue";
+import RightBottom from "./right-bottom.vue";
+import LeftCenterRight from "./left-center-right.vue";
+import stationone from './station-one.vue'
+import stationtwo from './station-two.vue'
+import stationthree from './station-three.vue'
+import stationfour from './station-four.vue'
+import passtwo from './pass-two.vue'
+import plan from './plan.vue'
+export default {
+  components: {
+    LeftTop,
+    LeftCenter,
+    LeftCenterRight,
+    LeftBottom,
+    CenterMap,
+    RightTop,
+    RightCenter,
+    RightBottom,
+    CenterBottom,
+    stationone,
+    stationtwo,
+    stationthree,
+    stationfour,
+    passtwo,
+    plan
+  },
+  data() {
+    return {
+    
+    };
+  },
+  filters: {
+    numsFilter(msg) {
+      return msg || 0;
+    },
+  },
+  created() {
+  },
+
+  mounted() {},
+  methods: {
+  
+  },
+};
+</script>
+<style lang="scss" scoped>
+// 鍐呭
+.contents {
+  .contetn_left,
+  .contetn_right {
+    width: 540px;
+    box-sizing: border-box;
+    // padding: 16px 0;
+  }
+
+  .contetn_center {
+    width: 720px;
+  }
+
+  //宸﹀彸涓や晶 涓変釜鍧�
+  .contetn_lr-item {
+    height: 310px;
+  }
+
+  .contetn_center_top {
+    width: 100%;
+  }
+
+  // 涓棿
+  .contetn_center {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-around;
+  }
+
+  .contetn_center-bottom {
+    height: 315px;
+  }
+
+  //宸﹁竟 鍙宠竟 缁撴瀯涓�鏍�
+  .contetn_left,
+  .contetn_right {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-around;
+    position: relative;
+
+  
+  }
+}
+.labels {
+        flex-shrink: 0;
+        font-size: 24px;
+        color: rgba(255, 255, 255, 0.6);
+        float: left; 
+        margin-right: 11.5%;
+      }
+      .labelsd {
+        flex-shrink: 0;
+        font-size: 24px;
+        color: rgba(255, 255, 255, 0.6);
+        float: left; 
+        margin-left: 6%;
+      }
+
+@keyframes rotating {
+    0% {
+        -webkit-transform: rotate(0) scale(1);
+        transform: rotate(0) scale(1);
+    }
+    50% {
+        -webkit-transform: rotate(180deg) scale(1.1);
+        transform: rotate(180deg) scale(1.1);
+    }
+    100% {
+        -webkit-transform: rotate(360deg) scale(1);
+        transform: rotate(360deg) scale(1);
+    }
+}
+</style>
diff --git a/Code Management/BigScreenVue/src/views/indexs/left-bottom.vue b/Code Management/BigScreenVue/src/views/indexs/left-bottom.vue
new file mode 100644
index 0000000..012dc73
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/left-bottom.vue
@@ -0,0 +1,628 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+  <div id="name" style="width: 100%; height: 100%">
+    <Echart :options="options" style="width: 100%; height: 100%"></Echart>
+  </div>
+</template>
+
+<script>
+import { currentGET } from "api/modules";
+import { Getproductionvolume } from "@/api/http.js";
+import * as echarts from 'echarts';
+let style = {
+  fontSize: 24,
+};
+
+export default {
+  data() {
+    return {
+      pageflag: true,
+      myChart: {},
+      options: {},
+    };
+  },
+  filters: {
+    numsFilter(msg) {
+      return msg || 0;
+    },
+  },
+  created() {
+    this.getData();
+  },
+  mounted() {
+    this.init();
+  },
+  beforeDestroy() {
+    this.clearData();
+  },
+  methods: {
+    init() {
+      this.options = {
+     backgroundColor: '#0a1256',
+     //娴姩妗�
+     tooltip: {},
+     //鍥句緥
+     legend: {
+         right: '12%',
+         bottom: '4%',
+         textStyle: {
+             color: '#fff',
+             fontSize: '13'
+         },
+         itemGap: 20,
+         itemWidth: 10,
+         itemHeight: 10,
+         icon: 'circle',
+         data: ['PM2.5', 'CO2', 'SO']
+     },
+     grid: {
+         left: '8%',
+         top: '15%',
+         bottom: '14%',
+         width: '86%',
+     },
+     visualMap: [{
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#69dbf7'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: 'SO',
+         seriesIndex: 2
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#1be57a'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: 'CO2',
+         seriesIndex: 1
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#feb01e'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: 'PM2.5',
+         seriesIndex: 0
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#69dbf7'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: 'SO',
+         seriesIndex: 5
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#1be57a'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: 'CO2',
+         seriesIndex: 4
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#feb01e'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: 'PM2.5',
+         seriesIndex: 3
+     }],
+     //x杞�
+     xAxis: {
+         axisLine: {
+             lineStyle: {
+                 color: '#132987'
+             }
+         },
+         axisLabel: {
+             textStyle: {
+                 color: '#FFF',
+                 fontSize: 12
+             },
+         },
+         //鍒诲害绾�
+         axisTick: {
+             show: false
+         },
+         //鍧愭爣杞存樉绀哄��
+         data: ["1鏃�", "2鏃�", "3鏃�", "4鏃�", "5鏃�", "6鏃�", "7鏃�", "8鏃�"]
+     },
+     //y杞�
+     yAxis: {
+         min: 0,
+         max: 100,
+         axisLabel: { //  鏀瑰彉y杞村瓧浣撻鑹插拰澶у皬
+             //formatter: '{value} m鲁 ', //  缁檡杞存坊鍔犲崟浣�
+             textStyle: {
+                 color: '#fff',
+                 fontSize: 12,
+             },
+         },
+         //鍧愭爣杞寸嚎
+         axisLine: {
+             show: false,
+         },
+         //鍒诲害绾�
+         axisTick: {
+             show: false
+         },
+         //鍦╣rid鍖哄煙涓殑鍒嗛殧绾�
+         splitLine: {
+             show: true,
+             lineStyle: {
+                 color: '#132987',
+             }
+         },
+     },
+
+     //
+     series: [{
+         name: 'PM2.5',
+         type: 'line',
+         symbolSize: [0, 0],
+         itemStyle: {
+             color: '#feb01e'
+         },
+         data: [99, 50, 41, 18, 28, 25, 26, 0],
+     }, {
+         name: 'CO2',
+         type: 'line',
+         symbolSize: [0, 0],
+         itemStyle: {
+             color: '#1be57a'
+         },
+         data: [21, 30, 37, 39, 23, 37, 5, 50]
+     }, {
+         name: 'SO',
+         type: 'line',
+         symbolSize: [0, 0],
+         itemStyle: {
+             color: '#69dbf7'
+         },
+         data: [76, 58, 60, 38, 49, 59, 78, 60]
+     }, { //姘存尝绾圭偣
+         name: 'PM2.5',
+         type: 'effectScatter',
+         symbolSize: [5, 5],
+         rippleEffect: {
+             period: 1,
+             scale: 4,
+             brushType: 'fill'
+         },
+         itemStyle: {
+             color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
+                 offset: 0,
+                 color: '#feb01e'
+             }, {
+                 offset: 1,
+                 color: 'rgba(254,176,30,.3)'
+             }])
+         },
+         data: [43, 50, 41, 18, 28, 25, 26, 40]
+
+     }, { //姘存尝绾圭偣
+         name: 'CO2',
+         type: 'effectScatter',
+         symbolSize: [5, 5],
+         rippleEffect: {
+             period: 1,
+             scale: 4,
+             brushType: 'fill'
+         },
+         itemStyle: {
+             color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
+                 offset: 0,
+                 color: '#1be57a'
+             }, {
+                 offset: 1,
+                 color: 'rgba(27,229,122,.3)'
+             }])
+         },
+         data: [21, 30, 37, 39, 23, 37, 5, 50]
+
+     }, { //姘存尝绾圭偣
+         name: 'SO',
+         type: 'effectScatter',
+         symbolSize: [5, 5],
+         rippleEffect: {
+             period: 1,
+             scale: 4,
+             brushType: 'fill'
+         },
+         itemStyle: {
+             color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
+                 offset: 0,
+                 color: '#69dbf7'
+             }, {
+                 offset: 1,
+                 color: '#aefbc3'
+             }])
+         },
+         markLine: {
+             symbol: "none",
+             label: {
+                 normal: {
+                     show: false,
+                 }
+             },
+             lineStyle: {
+                 type: "solid",
+                 color: 'rgba(210,56,56,.6)',
+                 width: 2
+             },
+             data: [{
+                 yAxis: 60
+             }]
+         },
+         data: [76, 58, 60, 38, 49, 59, 78, 60]
+
+     }]
+ };
+    },
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer);
+        this.timer = 3000;
+      }
+    },
+    async getData() {
+        var rep1=await Getproductionvolume()
+        console.log(rep1)
+        var rep=rep1.filter(it=>it.roadway.includes("CW"))
+  
+       
+        // (1) 鎸夋棩鏈熷垎缁勬牳蹇冪畻娉�
+ const groupedData = rep.reduce((acc, item) => {
+  // 鎻愬彇鏃ユ湡閮ㄥ垎锛堟牸寮忥細YYYY-MM-DD锛�
+  const dateKey = item.createDate.split(' ')[0]; // 鎴� item.createDate.substring(0,10)
+  
+  // 鍒涘缓鏃ユ湡鍒嗙粍瀹瑰櫒锛堝鏋滀笉瀛樺湪锛�
+  if (!acc[dateKey]) {
+    acc[dateKey] = {
+      date: dateKey,
+      tasks: []
+    };
+  }
+  
+  // 灏嗗綋鍓嶉」鍔犲叆瀵瑰簲鍒嗙粍
+  acc[dateKey].tasks.push(item);
+  return acc;
+}, {});
+
+// (2) 杞崲涓烘帓搴忓悗鐨勬暟缁�
+const sortedGroups = Object.values(groupedData)
+  .sort((a, b) => new Date(b.date) - new Date(a.date)); // 闄嶅簭鎺掑垪// 闄嶅簭鎺掑垪
+
+      this.options = {
+     backgroundColor: '#0a1256',
+     //娴姩妗�
+     tooltip: {},
+     //鍥句緥
+     legend: {
+         right: '12%',
+         bottom: '4%',
+         textStyle: {
+             color: '#fff',
+             fontSize: '13'
+         },
+         itemGap: 20,
+         itemWidth: 10,
+         itemHeight: 10,
+         icon: 'circle',
+         data: ['瀹炴鍏ュ簱', '瀹炴鍑哄簱', '绌烘鍏ュ簱']
+     },
+     grid: {
+         left: '8%',
+         top: '15%',
+         bottom: '14%',
+         width: '86%',
+     },
+     visualMap: [{
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#69dbf7'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: '瀹炴鍏ュ簱',
+         seriesIndex: 2
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#1be57a'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: '瀹炴鍑哄簱',
+         seriesIndex: 1
+     }, {
+         type: 'piecewise',
+         show: false,
+         pieces: [{
+             gt: 0,
+             lte: 60,
+             color: '#feb01e'
+         }, {
+             gte: 60,
+             color: '#e5421b'
+         }],
+         seriesName: '绌烘鍏ュ簱',
+         seriesIndex: 0
+     }],
+     //x杞�
+     xAxis: {
+         axisLine: {
+             lineStyle: {
+                 color: '#132987'
+             }
+         },
+         axisLabel: {
+             textStyle: {
+                 color: '#FFF',
+                 fontSize: 12
+             },
+         },
+         //鍒诲害绾�
+         axisTick: {
+             show: false
+         },
+         //鍧愭爣杞存樉绀哄��
+         data: [sortedGroups[6].date, sortedGroups[5].date, sortedGroups[4].date, sortedGroups[3].date,sortedGroups[2].date,sortedGroups[1].date,sortedGroups[0].date ]
+     },
+     //y杞�
+     yAxis: {
+         axisLabel: { //  鏀瑰彉y杞村瓧浣撻鑹插拰澶у皬
+             //formatter: '{value} m鲁 ', //  缁檡杞存坊鍔犲崟浣�
+             textStyle: {
+                 color: '#fff',
+                 fontSize: 12,
+             },
+         },
+         //鍧愭爣杞寸嚎
+         axisLine: {
+             show: false,
+         },
+         //鍒诲害绾�
+         axisTick: {
+             show: false
+         },
+         //鍦╣rid鍖哄煙涓殑鍒嗛殧绾�
+         splitLine: {
+             show: true,
+             lineStyle: {
+                 color: '#132987',
+             }
+         },
+     },
+
+     //
+     series: [{
+         name: '瀹炴鍏ュ簱',
+         type: 'line',
+         symbolSize: [0, 0],
+         itemStyle: {
+             color: '#feb01e'
+         },
+         data: [sortedGroups[6].tasks.filter(it=>it.taskType==200).length, sortedGroups[5].tasks.filter(it=>it.taskType==200).length, sortedGroups[4].tasks.filter(it=>it.taskType==200).length, sortedGroups[3].tasks.filter(it=>it.taskType==200).length, sortedGroups[2].tasks.filter(it=>it.taskType==200).length, sortedGroups[1].tasks.filter(it=>it.taskType==200).length, sortedGroups[0].tasks.filter(it=>it.taskType==200).length],
+     }, {
+         name: '瀹炴鍑哄簱',
+         type: 'line',
+         symbolSize: [0, 0],
+         itemStyle: {
+             color: '#1be57a'
+         },
+         data: [sortedGroups[6].tasks.filter(it=>it.taskType==100).length, sortedGroups[5].tasks.filter(it=>it.taskType==100).length, sortedGroups[4].tasks.filter(it=>it.taskType==100).length, sortedGroups[3].tasks.filter(it=>it.taskType==100).length, sortedGroups[2].tasks.filter(it=>it.taskType==100).length, sortedGroups[1].tasks.filter(it=>it.taskType==100).length, sortedGroups[0].tasks.filter(it=>it.taskType==100).length]
+     }, {
+         name: '绌烘鍏ュ簱',
+         type: 'line',
+         symbolSize: [0, 0],
+         itemStyle: {
+             color: '#69dbf7'
+         },
+         data: [sortedGroups[6].tasks.filter(it=>it.taskType==204).length, sortedGroups[5].tasks.filter(it=>it.taskType==204).length, sortedGroups[4].tasks.filter(it=>it.taskType==204).length, sortedGroups[3].tasks.filter(it=>it.taskType==204).length, sortedGroups[2].tasks.filter(it=>it.taskType==204).length, sortedGroups[1].tasks.filter(it=>it.taskType==204).length, sortedGroups[0].tasks.filter(it=>it.taskType==204).length]
+     }, { //姘存尝绾圭偣
+         name: '瀹炴鍏ュ簱',
+         type: 'effectScatter',
+         symbolSize: [5, 5],
+         rippleEffect: {
+             period: 1,
+             scale: 4,
+             brushType: 'fill'
+         },
+         itemStyle: {
+             color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
+                 offset: 0,
+                 color: '#feb01e'
+             }, {
+                 offset: 1,
+                 color: 'rgba(254,176,30,.3)'
+             }])
+         },
+         data: [sortedGroups[6].tasks.filter(it=>it.taskType==200).length, sortedGroups[5].tasks.filter(it=>it.taskType==200).length, sortedGroups[4].tasks.filter(it=>it.taskType==200).length, sortedGroups[3].tasks.filter(it=>it.taskType==200).length, sortedGroups[2].tasks.filter(it=>it.taskType==200).length, sortedGroups[1].tasks.filter(it=>it.taskType==200).length, sortedGroups[0].tasks.filter(it=>it.taskType==200).length],
+     }, { //姘存尝绾圭偣
+         name: '瀹炴鍑哄簱',
+         type: 'effectScatter',
+         symbolSize: [5, 5],
+         rippleEffect: {
+             period: 1,
+             scale: 4,
+             brushType: 'fill'
+         },
+         itemStyle: {
+             color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
+                 offset: 0,
+                 color: '#1be57a'
+             }, {
+                 offset: 1,
+                 color: 'rgba(27,229,122,.3)'
+             }])
+         },
+         data:[sortedGroups[6].tasks.filter(it=>it.taskType==100).length, sortedGroups[5].tasks.filter(it=>it.taskType==100).length, sortedGroups[4].tasks.filter(it=>it.taskType==100).length, sortedGroups[3].tasks.filter(it=>it.taskType==100).length, sortedGroups[2].tasks.filter(it=>it.taskType==100).length, sortedGroups[1].tasks.filter(it=>it.taskType==100).length, sortedGroups[0].tasks.filter(it=>it.taskType==100).length]
+
+     }, { //姘存尝绾圭偣
+         name: '绌烘鍏ュ簱',
+         type: 'effectScatter',
+         symbolSize: [5, 5],
+         rippleEffect: {
+             period: 1,
+             scale: 4,
+             brushType: 'fill'
+         },
+         itemStyle: {
+             color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
+                 offset: 0,
+                 color: '#69dbf7'
+             }, {
+                 offset: 1,
+                 color: '#aefbc3'
+             }])
+         },
+         markLine: {
+             symbol: "none",
+             label: {
+                 normal: {
+                     show: true,
+                 }
+             },
+             lineStyle: {
+                 type: "solid",
+                 color: 'rgba(210,56,56,.6)',
+                 width: 2
+             },
+             data: [{
+                 yAxis: 60
+             }]
+         },
+         data: [sortedGroups[6].tasks.filter(it=>it.taskType==204).length, sortedGroups[5].tasks.filter(it=>it.taskType==204).length, sortedGroups[4].tasks.filter(it=>it.taskType==204).length, sortedGroups[3].tasks.filter(it=>it.taskType==204).length, sortedGroups[2].tasks.filter(it=>it.taskType==204).length, sortedGroups[1].tasks.filter(it=>it.taskType==204).length, sortedGroups[0].tasks.filter(it=>it.taskType==204).length]
+
+     }]
+ };
+      this.switper();
+    },
+    //杞
+    switper() {
+        
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+  li {
+    flex: 1;
+
+    p {
+      text-align: center;
+      height: 16px;
+      font-size: 16px;
+    }
+
+    .user_Overview_nums {
+      width: 100px;
+      height: 100px;
+      text-align: center;
+      line-height: 100px;
+      font-size: 22px;
+      margin: 50px auto 30px;
+      background-size: cover;
+      background-position: center center;
+      position: relative;
+
+      &::before {
+        content: "";
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        top: 0;
+        left: 0;
+      }
+
+      &.bgdonghua::before {
+        animation: rotating 14s linear infinite;
+      }
+    }
+
+    .allnum {
+      // background-image: url("../../assets/img/left_top_lan.png");
+      &::before {
+        background-image: url("../../assets/img/left_top_lan.png");
+      }
+    }
+
+    .online {
+      &::before {
+        background-image: url("../../assets/img/left_top_lv.png");
+      }
+    }
+
+    .offline {
+      &::before {
+        background-image: url("../../assets/img/left_top_huang.png");
+      }
+    }
+
+    .laramnum {
+      &::before {
+        background-image: url("../../assets/img/left_top_hong.png");
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/left-center-right.vue b/Code Management/BigScreenVue/src/views/indexs/left-center-right.vue
new file mode 100644
index 0000000..4a15b56
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/left-center-right.vue
@@ -0,0 +1,255 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-10-25 09:18:22
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+    <Echart id="leftcenterright" :options="options" class="left_center_inner" v-if="pageflag" ref="charts" />
+    <Reacquire v-else @onclick="getData" style="line-height:200px">
+      閲嶆柊鑾峰彇
+    </Reacquire>
+  </template>
+  
+  <script>
+  import { currentPOST } from 'api/modules'
+  import {Equipmentfault} from "@/api/http.js"
+  export default {
+    data() {
+      return {
+        options: {},
+        countUserNumData: {
+          HoistNum: 0,
+          decoderNum: 0,
+          uncoderNum: 0,
+          elevatorNum:0,
+          TransmissionlineNum:0,
+          totalNum: 0
+        },
+        pageflag: true,
+        timer: null
+      };
+    },
+    created() {
+      this.getData()
+    },
+    mounted() {
+      this.changeTiming();
+    },
+    beforeDestroy() {
+      // this.clearData()
+  
+    },
+    methods: {
+      changeTiming() {
+      setInterval(() => {
+        this.getData();
+      }, 5000);
+    },
+      // clearData() {
+      //   if (this.timer) {
+      //     clearInterval(this.timer)
+      //     this.timer = null
+      //   }
+      // },
+       async getData() {
+         this.pageflag = true
+        // this.pageflag =false
+  
+        // currentPOST('big1').then(res => {
+
+        //   //鍙墦鍗颁竴娆�
+        //   if (!this.timer) {
+        //     console.log("璁惧鎬昏", res);
+        //   }
+        //   if (res.success) {
+        //     // this.countUserNumData = res.data
+        //     this.$nextTick(() => {
+        //       this.init()
+        //     })
+  
+        //   } else {
+        //     this.pageflag = false
+        //     this.$Message({
+        //       text: res.msg,
+        //       type: 'warning'
+        //     })
+        //   }
+        // })
+
+
+        let rep = await Equipmentfault();
+        
+        this.countUserNumData = rep;
+            this.$nextTick(() => {
+              this.init()
+            })
+      },
+      //杞
+      switper() {
+        if (this.timer) {
+          return
+        }
+        let looper = (a) => {
+          this.getData()
+        };
+        this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+        let myChart = this.$refs.charts.chart
+        myChart.on('mouseover', params => {
+          this.clearData()
+        });
+        myChart.on('mouseout', params => {
+          this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+        });
+      },
+      init() {
+        let total = this.countUserNumData.total;
+        let colors = ["#ECA444", "#33A1DB", "#56B557","#ffb8c6","#FF21FA"];
+        let piedata = {
+          name: "鏁呴殰璁惧棰戠巼",
+          type: "pie",
+          radius: ["40%", "70%"],
+          avoidLabelOverlap: false,
+          itemStyle: {
+            borderRadius: 4,
+            borderColor: "rgba(0,0,0,0)",
+            borderWidth: 2,
+          },
+  
+          color: colors,
+          data: [
+            // {
+            //   value: 0,
+            //   name: "鍛婅",
+            //   label: {
+            //     shadowColor: colors[0],
+            //   },
+            // },
+            {
+              value: this.countUserNumData.elevator,
+              name: "鎻愬崌鏈烘晠闅�",
+              label: {
+                shadowColor: colors[0],
+              },
+            },
+            {
+              value: this.countUserNumData.discremover,
+              name: "鎷嗙爜鏈烘晠闅�",
+              label: {
+                shadowColor: colors[2],
+              },
+            },
+            {
+              value: this.countUserNumData.rgVcCar,
+              name: "鍥涘悜杞︽晠闅�",
+              label: {
+                shadowColor: colors[1],
+              },
+            },
+            {
+              value: this.countUserNumData.pipeline,
+              name: "杈撻�佺嚎鏁呴殰",
+              label: {
+                shadowColor: colors[4],
+              },
+            }
+          ],
+        };
+        this.options = {
+          title: {
+            // zlevel: 0,
+            text: ["{value|" + total + "}", "{name|鎬绘暟}"].join("\n"),
+            top: "center",
+            left: "center",
+            textStyle: {
+              rich: {
+                value: {
+                  color: "#ffffff",
+                  fontSize: 24,
+                  fontWeight: "bold",
+                  lineHeight: 20,
+                },
+                name: {
+                  color: "#ffffff",
+                  lineHeight: 20,
+                },
+              },
+            },
+          },
+          tooltip: {
+            trigger: "item",
+            backgroundColor: "rgba(0,0,0,.6)",
+            borderColor: "rgba(147, 235, 248, .8)",
+            textStyle: {
+              color: "#FFF",
+            },
+          },
+          legend: {
+            show: false,
+            top: "5%",
+            left: "center",
+          },
+          series: [
+            //灞曠ず鍦嗙偣
+            {
+              ...piedata,
+              tooltip: { show: true },
+              label: {
+                formatter: " {b|{b}}",
+                // formatter: "   {b|{b}}   \n   {c|{c}涓獇   {per|{d}%}  ",
+                //   position: "outside",
+                rich: {
+                  b: {
+                    color: "#fff",
+                    fontSize: 12,
+                    lineHeight: 26,
+                  },
+                  c: {
+                    color: "#31ABE3",
+                    fontSize: 14,
+                  },
+                  per: {
+                    color: "#31ABE3",
+                    fontSize: 14,
+                  },
+                },
+              },
+              labelLine: {
+                length: 30, // 绗竴娈电嚎 闀垮害
+                length2: 46, // 绗簩娈电嚎 闀垮害
+                show: true,
+              
+              },
+                emphasis: {
+                  show: true,
+                },
+            },
+            {
+              ...piedata,
+              tooltip: { show: true },
+              itemStyle: {},
+              label: {
+                backgroundColor: "inherit", //鍦嗙偣棰滆壊锛宎uto锛氭槧灏勭殑绯诲垪鑹�
+                height: 0,
+                width: 0,
+                lineHeight: 0,
+                borderRadius: 2.5,
+                shadowBlur: 8,
+                shadowColor: "auto",
+                padding: [2.5, -2.5, 2.5, -2.5],
+              },
+              labelLine: {
+                length: 30, // 绗竴娈电嚎 闀垮害
+                length2: 46, // 绗簩娈电嚎 闀垮害
+                show: false,
+              },
+            },
+          ],
+        };
+      },
+    },
+  };
+  </script>
+  <style lang='scss' scoped>
+  </style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/left-center.vue b/Code Management/BigScreenVue/src/views/indexs/left-center.vue
new file mode 100644
index 0000000..a6bf8da
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/left-center.vue
@@ -0,0 +1,256 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-10-25 09:18:22
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+  <Echart id="leftCenter" :options="options" class="left_center_inner" v-if="pageflag" ref="charts" />
+  <Reacquire v-else @onclick="getData" style="line-height:200px">
+    閲嶆柊鑾峰彇
+  </Reacquire>
+</template>
+
+<script>
+import { currentGET } from 'api/modules'
+import {Failuremode} from "@/api/http.js"
+export default {
+  data() {
+    return {
+      options: {},
+      countUserNumData: {
+        lockNum: 0,
+        onlineNum: 0,
+        offlineNum: 0,
+        totalNum: 0
+      },
+      pageflag: true,
+      timer: null
+    };
+  },
+  created() {
+    this.getData()
+  },
+  mounted() {
+    this.changeTiming();
+    
+  },
+  beforeDestroy() {
+    // this.clearData()
+  },
+  methods: {
+    changeTiming() {
+      setInterval(() => {
+        this.getData();
+      }, 5000);
+    },
+    // clearData() {
+    //   if (this.timer) {
+    //     clearInterval(this.timer)
+    //     this.timer = null
+    //   }
+    // },
+    async getData() {
+     // this.pageflag = true
+     let rep = await Failuremode((a)=>{
+          console.log(a);
+        });
+      this.countUserNumData = {
+        offlineNum: rep.overtime,
+        onlineNum: rep.sensitization,
+        lockNum: rep.rgVcCar,
+        totalNum: rep.total
+        },
+        this.$nextTick(() => {
+            this.init()
+          })
+      // this.pageflag =false
+
+      // currentGET('big1').then(res => {
+      //   //鍙墦鍗颁竴娆�
+      //   if (!this.timer) {
+      //     console.log("璁惧鎬昏", res);
+      //   }
+      //   if (res.success) {
+      //     this.countUserNumData = res.data
+          // this.$nextTick(() => {
+          //   this.init()
+          // })
+
+      //   } else {
+      //     this.pageflag = false
+      //     this.$Message({
+      //       text: res.msg,
+      //       type: 'warning'
+      //     })
+      //   }
+      // })
+      
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return
+      }
+      let looper = (a) => {
+        this.getData()
+      };
+      this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+      let myChart = this.$refs.charts.chart
+      myChart.on('mouseover', params => {
+        this.clearData()
+      });
+      myChart.on('mouseout', params => {
+        this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+      });
+    },
+    init() {
+      let total = this.countUserNumData.totalNum;
+      let colors = ["#ECA444", "#33A1DB", "#56B557","#ffb8c6"];
+      let piedata = {
+        name: "鏁呴殰绉嶇被棰戠巼",
+        type: "pie",
+        radius: ["42%", "65%"],
+        avoidLabelOverlap: false,
+        itemStyle: {
+          borderRadius: 4,
+          borderColor: "rgba(0,0,0,0)",
+          borderWidth: 2,
+        },
+
+        color: colors,
+        data: [
+          // {
+          //   value: 0,
+          //   name: "鍛婅",
+          //   label: {
+          //     shadowColor: colors[0],
+          //   },
+          // },
+          {
+            value: this.countUserNumData.onlineNum,
+            name: "鍏夌數鏁呴殰",
+            label: {
+              shadowColor: colors[0],
+            },
+          },
+          {
+            value: this.countUserNumData.lockNum,
+            name: "鍥涘悜杞︽晠闅�",
+            label: {
+              shadowColor: colors[2],
+            },
+          },
+          // {
+          //   value: this.countUserNumData.onlineNum,
+          //   name: "瓒呴檺浣嶆晠闅�",
+          //   label: {
+          //     shadowColor: colors[1],
+          //   },
+          // },
+          {
+            value: this.countUserNumData.offlineNum,
+            name: "瓒呮椂鏁呴殰",
+            label: {
+              shadowColor: colors[3],
+            },
+          },
+        ],
+      };
+      this.options = {
+        title: {
+          // zlevel: 0,
+          text: ["{value|" + total + "}", "{name|鎬绘暟}"].join("\n"),
+          top: "center",
+          left: "center",
+          textStyle: {
+            rich: {
+              value: {
+                color: "#ffffff",
+                fontSize: 24,
+                fontWeight: "bold",
+                lineHeight: 20,
+              },
+              name: {
+                color: "#ffffff",
+                lineHeight: 20,
+              },
+            },
+          },
+        },
+        tooltip: {
+          trigger: "item",
+          backgroundColor: "rgba(0,0,0,.6)",
+          borderColor: "rgba(147, 235, 248, .8)",
+          textStyle: {
+            color: "#FFF",
+          },
+        },
+        legend: {
+          show: false,
+          top: "5%",
+          left: "center",
+        },
+        series: [
+          //灞曠ず鍦嗙偣
+          {
+            ...piedata,
+            tooltip: { show: true },
+            label: {
+              formatter: " {b|{b}}",
+              //   position: "outside",
+              rich: {
+                b: {
+                  color: "#fff",
+                  fontSize: 12,
+                  lineHeight: 26,
+                },
+                c: {
+                  color: "#31ABE3",
+                  fontSize: 14,
+                },
+                per: {
+                  color: "#31ABE3",
+                  fontSize: 14,
+                },
+              },
+            },
+            labelLine: {
+              length: 30, // 绗竴娈电嚎 闀垮害
+              length2: 46, // 绗簩娈电嚎 闀垮害
+              show: true,
+            
+            },
+              emphasis: {
+                show: true,
+              },
+          },
+          {
+            ...piedata,
+            tooltip: { show: true },
+            itemStyle: {},
+            label: {
+              backgroundColor: "inherit", //鍦嗙偣棰滆壊锛宎uto锛氭槧灏勭殑绯诲垪鑹�
+              height: 0,
+              width: 0,
+              lineHeight: 0,
+              borderRadius: 2.5,
+              shadowBlur: 8,
+              shadowColor: "auto",
+              padding: [2.5, -2.5, 2.5, -2.5],
+            },
+            labelLine: {
+              length: 30, // 绗竴娈电嚎 闀垮害
+              length2: 46, // 绗簩娈电嚎 闀垮害
+              show: false,
+            },
+          },
+        ],
+      };
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/left-top.vue b/Code Management/BigScreenVue/src/views/indexs/left-top.vue
new file mode 100644
index 0000000..4f7f439
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/left-top.vue
@@ -0,0 +1,250 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+    <ul class="user_Overview flex" v-if="pageflag">
+        <li class="user_Overview-item" style="color: #00fdfa">
+            <div class="user_Overview_nums allnum ">
+                <dv-digital-flop :config="onlineconfig" style="width:100%;height:100%;" />
+            </div>
+            <p>涓夋ゼ璐ф灦</p>
+        </li>
+        <li class="user_Overview-item" style="color: #07f7a8">
+            <div class="user_Overview_nums online">
+                <dv-digital-flop :config="config" style="width:100%;height:100%;" />
+            </div>
+            <p>浜旀ゼ璐ф灦</p>
+        </li>
+        <li class="user_Overview-item" style="color: #e3b337">
+            <div class="user_Overview_nums offline">
+                <dv-digital-flop :config="offlineconfig" style="width:100%;height:100%;" />
+
+            </div>
+            <p>鍏ゼ璐ф灦</p>
+        </li>
+        <li class="user_Overview-item" style="color: #f5023d">
+            <div class="user_Overview_nums laramnum">
+                <dv-digital-flop :config="laramnumconfig" style="width:100%;height:100%;" />
+            </div>
+            <p>涓冩ゼ璐ф灦</p>
+        </li>
+    </ul>
+    <Reacquire v-else @onclick="getData" line-height="200px">
+        閲嶆柊鑾峰彇
+    </Reacquire>
+</template>
+
+<script>
+import { currentGET } from 'api/modules'
+import {Floorfault} from "@/api/http.js"
+let style = {
+    fontSize: 24
+}
+export default {
+    data() {
+        return {
+            options: {},
+            userOverview: {
+                alarmNum: 2,
+                offlineNum: 3,
+                onlineNum: 5,
+                totalNum: 10,
+            },
+            pageflag: true,
+            timer: null,
+            config: {
+                number: [100],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#00fdfa",
+                    fill: "#00fdfa",
+                },
+            },
+            onlineconfig: {
+                number: [0],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#07f7a8",
+                    fill: "#07f7a8",
+                },
+            },
+            offlineconfig: {
+                number: [0],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#e3b337",
+                    fill: "#e3b337",
+                },
+            },
+            laramnumconfig: {
+                number: [0],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#f5023d",
+                    fill: "#f5023d",
+                },
+            }
+
+        };
+    },
+    filters: {
+        numsFilter(msg) {
+            return msg || 0;
+        },
+    },
+    created() {
+        this.getData()
+    },
+    mounted() {
+    },
+    beforeDestroy() {
+        this.clearData()
+
+    },
+    methods: {
+        clearData() {
+            if (this.timer) {
+                clearInterval(this.timer)
+                this.timer = null
+            }
+        },
+        async getData() {
+            this.pageflag = true;
+            // currentGET("big2").then((res) => {
+            //     if (!this.timer) {
+            //         console.log("璁惧鎬昏2", res);
+            //     }
+            //     if (res.success) {
+            //         this.userOverview = res.data;
+            //            this.onlineconfig = {
+            //             ...this.onlineconfig,
+            //             number: [1]
+            //         }
+            //         this.config = {
+            //             ...this.config,
+            //             number: [7]
+            //         }
+            //         this.offlineconfig = {
+            //             ...this.offlineconfig,
+            //             number: [4]
+            //         }
+            //         this.laramnumconfig = {
+            //             ...this.laramnumconfig,
+            //             number: [10]
+            //         }
+            //         this.switper();  
+            //     } else {
+            //         this.pageflag = false;
+            //         this.$Message.warning(res.msg);
+            //     }
+            // });
+                    let rep = await Floorfault((a)=>{
+                            console.log(a);
+                    });
+                       this.onlineconfig = {
+                        ...this.onlineconfig,
+                        number: [rep.threefloor]
+                    }
+                    this.config = {
+                        ...this.config,
+                        number: [rep.fivefloor]
+                    }
+                    this.offlineconfig = {
+                        ...this.offlineconfig,
+                        number: [rep.sixfloor]
+                    }
+                    this.laramnumconfig = {
+                        ...this.laramnumconfig,
+                        number: [rep.sevenfloor]
+                    }
+                    this.switper(); 
+        },
+        //杞
+        switper() {
+            if (this.timer) {
+                return
+            }
+            let looper = (a) => {
+                this.getData()
+            };
+            this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+        },
+    },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+    li {
+        flex: 1;
+
+        p {
+            text-align: center;
+            height: 16px;
+            font-size: 16px;
+        }
+
+        .user_Overview_nums {
+            width: 100px;
+            height: 100px;
+            text-align: center;
+            line-height: 100px;
+            font-size: 22px;
+            margin: 50px auto 30px;
+            background-size: cover;
+            background-position: center center;
+            position: relative;
+
+            &::before {
+                content: '';
+                position: absolute;
+                width: 100%;
+                height: 100%;
+                top: 0;
+                left: 0;
+            }
+
+            &.bgdonghua::before {
+                animation: rotating 14s linear infinite;
+            }
+        }
+
+        .allnum {
+
+            // background-image: url("../../assets/img/left_top_lan.png");
+            &::before {
+                background-image: url("../../assets/img/left_top_lan.png");
+
+            }
+        }
+
+        .online {
+            &::before {
+                background-image: url("../../assets/img/left_top_lv.png");
+
+            }
+        }
+
+        .offline {
+            &::before {
+                background-image: url("../../assets/img/left_top_huang.png");
+
+            }
+        }
+
+        .laramnum {
+            &::before {
+                background-image: url("../../assets/img/left_top_hong.png");
+
+            }
+        }
+    }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/pass-two.vue b/Code Management/BigScreenVue/src/views/indexs/pass-two.vue
new file mode 100644
index 0000000..6beeeeb
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/pass-two.vue
@@ -0,0 +1,460 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+  <div id="name" style="width: 100%; height: 100%">
+    <Echart :options="options" style="width: 100%; height: 100%"></Echart>
+  </div>
+</template>
+
+<script>
+import { currentGET } from "api/modules";
+import { Floorfault } from "@/api/http.js";
+import * as echarts from 'echarts';
+let style = {
+  fontSize: 24,
+};
+export default {
+  data() {
+    return {
+      pageflag: true,
+      myChart: {},
+      options: {},
+    };
+  },
+  filters: {
+    numsFilter(msg) {
+      return msg || 0;
+    },
+  },
+  created() {
+    this.getData();
+  },
+  mounted() {
+    this.init();
+  },
+  beforeDestroy() {
+    this.clearData();
+  },
+  methods: {
+    init() {
+      // import echarts from 'echarts'
+var charts = { // 鎸夐『搴忔帓鍒椾粠澶у埌灏�
+  cityList: ['8绾匡級', '6绾�', '5绾�','7绾�'],
+  cityData: [7500, 6200, 5700, 4200, 3500]
+}
+var top10CityList = charts.cityList
+var top10CityData = charts.cityData
+var color = ['rgba(248,195,248', 'rgba(100,255,249', 'rgba(135,183,255', 'rgba(248,195,248', 'rgba(100,255,249']
+
+let lineY = []
+for (var i = 0; i < charts.cityList.length; i++) {
+  var x = i
+  if (x > color.length - 1) {
+    x = color.length - 1
+  }
+  var data = {
+    name: charts.cityList[i],
+    color: color[x] + ')',
+    value: top10CityData[i],
+    itemStyle: {
+      normal: {
+        show: true,
+        color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
+          offset: 0,
+          color: color[x] + ', 0.3)'
+        }, {
+          offset: 1,
+          color: color[x] + ', 1)'
+        }], false),
+        barBorderRadius: 10
+      },
+      emphasis: {
+        shadowBlur: 15,
+        shadowColor: 'rgba(0, 0, 0, 0.1)'
+      }
+    }
+  }
+  lineY.push(data)
+}
+
+console.log(lineY)
+this.options= {
+    backgroundColor:'#000',
+  title: {
+    show: false
+  },
+  tooltip: {
+    trigger: 'item'
+  },
+  grid: {
+    borderWidth: 0,
+    top: '10%',
+    left: '5%',
+    right: '15%',
+    bottom: '3%'
+  },
+  color: color,
+  yAxis: [{
+    type: 'category',
+    inverse: true,
+    axisTick: {
+      show: false
+    },
+    axisLine: {
+      show: false
+    },
+    axisLabel: {
+      show: false,
+      inside: false
+    },
+    data: top10CityList
+  }, {
+    type: 'category',
+    axisLine: {
+      show: false
+    },
+    axisTick: {
+      show: false
+    },
+    axisLabel: {
+      show: true,
+      inside: false,
+      textStyle: {
+        color: '#b3ccf8',
+        fontSize: '14',
+        fontFamily: 'PingFangSC-Regular'
+      },
+      formatter: function (val) {
+        return `${val}k`
+      }
+    },
+    splitArea: {
+      show: false
+    },
+    splitLine: {
+      show: false
+    },
+    data: top10CityData
+  }],
+  xAxis: {
+    type: 'value',
+    axisTick: {
+      show: false
+    },
+    axisLine: {
+      show: false
+    },
+    splitLine: {
+      show: false
+    },
+    axisLabel: {
+      show: false
+    }
+  },
+  series: [{
+    name: '',
+    type: 'bar',
+    zlevel: 2,
+    barWidth: '10px',
+    data: lineY,
+    animationDuration: 1500,
+    label: {
+      normal: {
+        color: '#b3ccf8',
+        show: true,
+        position: [0, '-24px'],
+        textStyle: {
+          fontSize: 16
+        },
+        formatter: function (a, b) {
+          return a.name
+        }
+      }
+    }
+  }],
+  animationEasing: 'cubicOut'
+}
+    },
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer);
+        this.timer = null;
+      }
+    },
+    async getData() {
+      this.pageflag = true;
+      // currentGET("big2").then((res) => {
+      //     if (!this.timer) {
+      //         console.log("璁惧鎬昏2", res);
+      //     }
+      //     if (res.success) {
+      //         this.userOverview = res.data;
+      //            this.onlineconfig = {
+      //             ...this.onlineconfig,
+      //             number: [1]
+      //         }
+      //         this.config = {
+      //             ...this.config,
+      //             number: [7]
+      //         }
+      //         this.offlineconfig = {
+      //             ...this.offlineconfig,
+      //             number: [4]
+      //         }
+      //         this.laramnumconfig = {
+      //             ...this.laramnumconfig,
+      //             number: [10]
+      //         }
+      //         this.switper();
+      //     } else {
+      //         this.pageflag = false;
+      //         this.$Message.warning(res.msg);
+      //     }
+      // });
+      var rep1 = await Floorfault();
+      const rep = rep1.filter(it =>it.roadway.includes("CW"));
+       
+// 鎸� productionLine 瀛楁鍒嗙粍锛屽苟杞崲涓哄璞℃暟缁�
+const groupedArray = Object.entries(
+  rep.reduce((acc, item) => {
+    const key = item.productionLine;
+    if (!acc[key]) {
+      acc[key] = [];
+    }
+    acc[key].push(item);
+    return acc;
+  }, {})
+).map(([productionLine, items]) => ({
+  productionLine,
+  items
+}));
+
+// 浠� groupedArray 涓彁鍙栨墍鏈� productionLine 鐨勫��
+const cityLists = groupedArray.map(item => item.productionLine);
+// 鑾峰彇姣忕粍鐨勯暱搴︽暟缁�
+const cityDatas = groupedArray.map(group => group.items.length);
+
+// 杈撳嚭瀵硅薄鏁扮粍鏍煎紡鐨勫垎缁勭粨鏋�
+
+      var charts = { // 鎸夐『搴忔帓鍒椾粠澶у埌灏�
+  cityList: cityLists,
+  cityData: cityDatas
+}
+var top10CityList = charts.cityList
+var top10CityData = charts.cityData
+var color = ['rgba(248,195,248', 'rgba(100,255,249', 'rgba(135,183,255', 'rgba(248,195,248', 'rgba(100,255,249']
+
+let lineY = []
+for (var i = 0; i < charts.cityList.length; i++) {
+  var x = i
+  if (x > color.length - 1) {
+    x = color.length - 1
+  }
+  var data = {
+    name: charts.cityList[i],
+    color: color[x] + ')',
+    value: top10CityData[i],
+    itemStyle: {
+      normal: {
+        show: true,
+        color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
+          offset: 0,
+          color: color[x] + ', 0.3)'
+        }, {
+          offset: 1,
+          color: color[x] + ', 1)'
+        }], false),
+        barBorderRadius: 10
+      },
+      emphasis: {
+        shadowBlur: 15,
+        shadowColor: 'rgba(0, 0, 0, 0.1)'
+      }
+    }
+  }
+  lineY.push(data)
+}
+
+console.log(lineY)
+this.options= {
+    backgroundColor:'#000',
+  title: {
+    show: false
+  },
+  tooltip: {
+    trigger: 'item'
+  },
+  grid: {
+    borderWidth: 0,
+    top: '10%',
+    left: '5%',
+    right: '15%',
+    bottom: '3%'
+  },
+  color: color,
+  yAxis: [{
+    type: 'category',
+    inverse: true,
+    axisTick: {
+      show: false
+    },
+    axisLine: {
+      show: false
+    },
+    axisLabel: {
+      show: false,
+      inside: false
+    },
+    data: top10CityList
+  }, {
+    type: 'category',
+    axisLine: {
+      show: false
+    },
+    axisTick: {
+      show: false
+    },
+    axisLabel: {
+      show: true,
+      inside: false,
+      textStyle: {
+        color: '#b3ccf8',
+        fontSize: '14',
+        fontFamily: 'PingFangSC-Regular'
+      },
+      formatter: function (val) {
+        return `${val}鎵榒
+      }
+    },
+    splitArea: {
+      show: false
+    },
+    splitLine: {
+      show: false
+    },
+    data: top10CityData.reverse()
+  }],
+  xAxis: {
+    type: 'value',
+    axisTick: {
+      show: false
+    },
+    axisLine: {
+      show: false
+    },
+    splitLine: {
+      show: false
+    },
+    axisLabel: {
+      show: false
+    }
+  },
+  series: [{
+    name: '',
+    type: 'bar',
+    zlevel: 2,
+    barWidth: '10px',
+    data: lineY,
+    animationDuration: 1500,
+    label: {
+      normal: {
+        color: '#b3ccf8',
+        show: true,
+        position: [0, '-24px'],
+        textStyle: {
+          fontSize: 16
+        },
+        formatter: function (a, b) {
+          return a.name
+        }
+      }
+    }
+  }],
+  animationEasing: 'cubicOut'
+}
+      this.switper();
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+  li {
+    flex: 1;
+
+    p {
+      text-align: center;
+      height: 16px;
+      font-size: 16px;
+    }
+
+    .user_Overview_nums {
+      width: 100px;
+      height: 100px;
+      text-align: center;
+      line-height: 100px;
+      font-size: 22px;
+      margin: 50px auto 30px;
+      background-size: cover;
+      background-position: center center;
+      position: relative;
+
+      &::before {
+        content: "";
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        top: 0;
+        left: 0;
+      }
+
+      &.bgdonghua::before {
+        animation: rotating 14s linear infinite;
+      }
+    }
+
+    .allnum {
+      // background-image: url("../../assets/img/left_top_lan.png");
+      &::before {
+        background-image: url("../../assets/img/left_top_lan.png");
+      }
+    }
+
+    .online {
+      &::before {
+        background-image: url("../../assets/img/left_top_lv.png");
+      }
+    }
+
+    .offline {
+      &::before {
+        background-image: url("../../assets/img/left_top_huang.png");
+      }
+    }
+
+    .laramnum {
+      &::before {
+        background-image: url("../../assets/img/left_top_hong.png");
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/plan.vue b/Code Management/BigScreenVue/src/views/indexs/plan.vue
new file mode 100644
index 0000000..869d18b
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/plan.vue
@@ -0,0 +1,369 @@
+<template>
+  <div class="center_bottom">
+    <Echart
+      :options="options"
+      id="bottomLeftChart"
+      class="echarts_bottom"
+    ></Echart>
+  </div>
+</template>
+
+<script>
+// import { currentGET } from "api/modules";
+import { graphic } from "echarts";
+import {Getproductionvolume} from "@/api/http.js"
+import axios from 'axios'
+export default {
+  data() {
+    return {
+      options: {
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,.6)",
+          borderColor: "rgba(147, 235, 248, .8)",
+          textStyle: {
+            color: "#FFF",
+          },
+          formatter: function (params) {
+            // 娣诲姞鍗曚綅
+            var result = params[0].name + "<br>";
+            params.forEach(function (item) {
+              if (item.value) {
+                  result +=
+                    item.marker +
+                    " " +
+                    "浜ч噺" +
+                    " : " +
+                    item.value +
+                    "鎵�</br>";
+              } else {
+                result += item.marker + " " + item.seriesName + " :  - </br>";
+              }
+            });
+            return result;
+          },
+        },
+        legend: {
+          data: ["鍗曚綅锛氭墭"],
+          textStyle: {
+            color: "#B4B4B4",
+          },
+          top: "-5",
+        },
+        grid: {
+          left: "60px",
+          right: "0px",
+          bottom: "30px",
+          top: "20px",
+        },
+        xAxis: {
+          data: ['8/12','8/13','8/14','8/15','8/16','8/17','8/18'],
+          axisLine: {
+            lineStyle: {
+              color: "#B4B4B4",
+            },
+          },
+          axisTick: {
+            show: false,
+          },
+        },
+        yAxis: [
+          {
+            splitLine: { show: true },
+            axisLine: {
+              lineStyle: {
+                color: "#B4B4B4",
+              },
+            },
+            axisLabel: {
+              formatter: "{value}",
+            },
+          },
+        ],
+        series: [
+          {
+            name: "鍗曚綅锛氭墭",
+            type: "bar",
+            barWidth: 20,
+            itemStyle: {
+              normal: {
+                borderRadius: 5,
+                  color: new graphic.LinearGradient(0, 0, 0, 1, [
+                    { offset: 0, color: "#956FD4" },
+                    { offset: 1, color: "#3EACE5" },
+                  ]),
+                  // label: {
+                  //     show: true, //寮�鍚樉绀�
+                  //     position: 'top', //鍦ㄤ笂鏂规樉绀�
+                  //     textStyle: { //鏁板�兼牱寮�
+                  //     color: '#bdbae2',
+                  //     fontSize: 10
+                  //   }
+                  // }
+              }
+            },
+            data: ['200','180','190','185','190','188','195'],
+          },
+        ],
+      },
+      xAxisDates: [],
+    };
+  },
+  props: {},
+  mounted() {
+    this.getData();
+    this.changeTiming();
+  },
+  beforeDestroy() {
+    this.clearData()
+  },
+  methods: {
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer)
+        this.timer = null
+      }
+    },
+    changeTiming() {
+      this.timer=setInterval(() => {
+        this.getData();
+      }, 3000);
+    },
+    async getData() {
+      const rep = await Getproductionvolume();
+      var rep1=rep.filter(it=>it.taskType==100&&it.roadway.includes("CW"))
+// 鍒嗙粍骞舵帓搴�
+const groupedData = rep1.reduce((acc, item) => {
+const dateKey = item.createDate.split(' ')[0];
+acc[dateKey] = acc[dateKey] || { date: dateKey, tasks: [] };
+acc[dateKey].tasks.push(item);
+return acc;
+}, {});
+
+const sortedGroups = Object.values(groupedData).sort(
+(a, b) => new Date(b.date) - new Date(a.date)
+);
+
+this.xAxisDates= sortedGroups.map(group => {
+const date = new Date(group.date);
+return `${date.getMonth() + 1}/${date.getDate()}`;
+});
+
+const pcsCounts = sortedGroups.map(group => group.tasks.length);
+      this.options = {
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,.6)",
+          borderColor: "rgba(147, 235, 248, .8)",
+          textStyle: {
+            color: "#FFF",
+          },
+          formatter: function (params) {
+            // 娣诲姞鍗曚綅
+            var result = params[0].name + "<br>";
+            params.forEach(function (item) {
+              if (item.value) {
+                  result +=
+                    item.marker +
+                    " " +
+                    "浜ч噺" +
+                    " : " +
+                    item.value +
+                    "鎵�</br>";
+              } else {
+                result += item.marker + " " + item.seriesName + " :  - </br>";
+              }
+            });
+            return result;
+          },
+        },
+        legend: {
+          data: ["鍗曚綅锛氭墭"],
+          textStyle: {
+            color: "#B4B4B4",
+          },
+          top: "-5",
+        },
+        grid: {
+          left: "60px",
+          right: "40px",
+          bottom: "30px",
+          top: "20px",
+        },
+        xAxis: {
+          data:this.xAxisDates.reverse(),
+          axisLine: {
+            lineStyle: {
+              color: "#B4B4B4",
+            },
+          },
+          axisTick: {
+            show: false,
+          },
+        },
+        yAxis: [
+          {
+            splitLine: { show: true },
+            axisLine: {
+              lineStyle: {
+                color: "#B4B4B4",
+              },
+            },
+            axisLabel: {
+              formatter: "{value}",
+            },
+          }
+        ],
+        series: [
+          {
+            name: "鍗曚綅锛氭墭",
+            type: "bar",
+            barWidth: 20,
+            itemStyle: {
+              borderRadius: 5,
+              color: new graphic.LinearGradient(0, 0, 0, 1, [
+                { offset: 0, color: "#956FD4" },
+                { offset: 1, color: "#3EACE5" },
+              ]),
+            },
+            data: pcsCounts.reverse(),
+          },
+        ],
+      };
+      this.switper();
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+    },
+    
+    // async getData() {
+    //   this.pageflag = true;
+    //   let rep = await Timefault((a)=>{
+    //       console.log(a);
+    //     });
+
+    //    this.init(rep);
+    //   currentGET("big6", { companyName: this.companyName }).then((res) => {
+    //     console.log("鏁呴殰鏃堕暱缁熻", res);
+        
+    //     // if (res.success) {
+    //     //   this.init(res.data);
+    //     //   console.log("娴嬭瘯2",res.data);
+    //     // } else {
+    //     //   this.pageflag = false;
+    //     //   this.$Message({
+    //     //     text: res.msg,
+    //     //     type: "warning",
+    //     //   });
+    //     // }
+    //   });
+    // },
+    // init(val) {
+    //   console.log(val);
+    //   this.options = {
+    //     tooltip: {
+    //       trigger: "axis",
+    //       backgroundColor: "rgba(0,0,0,.6)",
+    //       borderColor: "rgba(147, 235, 248, .8)",
+    //       textStyle: {
+    //         color: "#FFF",
+    //       },
+    //       formatter: function (params) {
+    //         // 娣诲姞鍗曚綅
+    //         var result = params[0].name + "<br>";
+    //         params.forEach(function (item) {
+    //           if (item.value) {
+    //               result +=
+    //                 item.marker +
+    //                 " " +
+    //                 "鍚堟牸浜ч噺" +
+    //                 " : " +
+    //                 item.value +
+    //                 "绠�</br>";
+    //           } else {
+    //             result += item.marker + " " + item.seriesName + " :  - </br>";
+    //           }
+    //         });
+    //         return result;
+    //       },
+    //     },
+    //     legend: {
+    //       data: ["鍗曚綅锛氱"],
+    //       textStyle: {
+    //         color: "#B4B4B4",
+    //       },
+    //       top: "-5",
+    //     },
+    //     grid: {
+    //       left: "50px",
+    //       right: "40px",
+    //       bottom: "30px",
+    //       top: "20px",
+    //     },
+    //     xAxis: {
+    //       data: [val[6].datetime,val[5].datetime,val[4].datetime,val[3].datetime,
+    //             val[2].datetime,val[1].datetime,val[0].datetime],
+    //       axisLine: {
+    //         lineStyle: {
+    //           color: "#B4B4B4",
+    //         },
+    //       },
+    //       axisTick: {
+    //         show: false,
+    //       },
+    //     },
+    //     yAxis: [
+    //       {
+    //         splitLine: { show: true },
+    //         axisLine: {
+    //           lineStyle: {
+    //             color: "#B4B4B4",
+    //           },
+    //         },
+    //         axisLabel: {
+    //           formatter: "{value}",
+    //         },
+    //       }
+    //     ],
+    //     series: [
+    //       {
+    //         name: "鍗曚綅锛氱",
+    //         type: "bar",
+    //         barWidth: 20,
+    //         itemStyle: {
+    //           borderRadius: 5,
+    //           color: new graphic.LinearGradient(0, 0, 0, 1, [
+    //             { offset: 0, color: "#956FD4" },
+    //             { offset: 1, color: "#3EACE5" },
+    //           ]),
+    //         },
+    //         data: [val[6].qty,val[5].qty,val[4].qty,val[3].qty,
+    //               val[2].qty,val[1].qty,val[0].qty],
+    //       },
+    //     ],
+    //   };
+    // },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.center_bottom {
+  width: 100%;
+  height: 100%;
+
+  .echarts_bottom {
+    width: 100%;
+    height: 100%;
+  }
+}
+</style>
diff --git a/Code Management/BigScreenVue/src/views/indexs/right-bottom.vue b/Code Management/BigScreenVue/src/views/indexs/right-bottom.vue
new file mode 100644
index 0000000..b1fb54d
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/right-bottom.vue
@@ -0,0 +1,194 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-01 15:27:58
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-05-07 11:24:14
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\right-center.vue
+-->
+<template>
+  <div v-if="pageflag" class="right_center_wrap beautify-scroll-def" :class="{ 'overflow-y-auto': !sbtxSwiperFlag }">
+    <component :is="components" :data="list" :class-option="defaultOption">
+      <ul class="right_center ">
+        <li class="right_center_item" v-for="(item, i) in list" :key="i">
+          <span class="orderNum">{{ i + 1 }}</span>
+          <div class="inner_right">
+            <div class="dibu"></div>
+            <div class="flex">
+              <div class="info">
+                <span class="labels ">璁惧ID锛�</span>
+                <span class="contents zhuyao"> {{ item.gatewayno }}</span>
+              </div>
+              <div class="info">
+                <span class="labels">鍨嬪彿锛�</span>
+                <span class="contents "> {{ item.terminalno }}</span>
+              </div>
+              <div class="info">
+                <span class="labels">鍛婅鍊硷細</span>
+                <span class="contents warning"> {{ item.alertvalue | montionFilter }}</span>
+              </div>
+            </div>
+
+
+            <div class="flex">
+
+              <div class="info">
+                <span class="labels"> 鍦板潃锛�</span>
+                <span class="contents ciyao" style="font-size:12px"> {{ item.provinceName }}/{{ item.cityName }}/{{ item.countyName }}</span>
+              </div>
+              <div class="info time">
+                <span class="labels">鏃堕棿锛�</span>
+                <span class="contents" style="font-size:12px"> {{ item.createtime }}</span>
+              </div>
+
+            </div>
+            <div class="flex">
+
+              <div class="info">
+                <span class="labels">鎶ヨ鍐呭锛�</span>
+                <span class="contents ciyao" :class="{ warning: item.alertdetail }"> {{ item.alertdetail || '鏃�'
+                }}</span>
+              </div>
+            </div>
+          </div>
+        </li>
+      </ul>
+    </component>
+  </div>
+  <Reacquire v-else @onclick="getData" style="line-height:200px" />
+
+</template>
+
+<script>
+import { currentGET } from 'api/modules'
+import vueSeamlessScroll from 'vue-seamless-scroll'  // vue2寮曞叆鏂瑰紡
+import Kong from '../../components/kong.vue'
+export default {
+  components: { vueSeamlessScroll, Kong },
+
+  data() {
+    return {
+      list: [],
+      pageflag: true,
+      defaultOption: {
+        ...this.$store.state.setting.defaultOption,
+        limitMoveNum: 3, 
+        singleHeight: 250, 
+        step:0,
+      }
+
+    };
+  },
+  computed: {
+    sbtxSwiperFlag() {
+      let ssyjSwiper = this.$store.state.setting.ssyjSwiper
+      if (ssyjSwiper) {
+        this.components = vueSeamlessScroll
+      } else {
+        this.components = Kong
+      }
+      return ssyjSwiper
+    }
+  },
+  created() {
+    this.getData()
+  },
+
+  mounted() { },
+  methods: {
+    getData() {
+      this.pageflag = true
+      // this.pageflag =false
+      currentGET('big5', { limitNum: 50 }).then(res => {
+        console.log('瀹炴椂棰勮', res);
+        if (res.success) {
+          this.list = res.data.list
+          let timer = setTimeout(() => {
+              clearTimeout(timer)
+              this.defaultOption.step=this.$store.state.setting.defaultOption.step
+          }, this.$store.state.setting.defaultOption.waitTime);
+        } else {
+          this.pageflag = false
+          this.$Message.warning(res.msg)
+        }
+      })
+    },
+
+  },
+};
+</script>
+<style lang='scss' scoped>
+.right_center {
+  width: 100%;
+  height: 100%;
+
+  .right_center_item {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: auto;
+    padding: 10px;
+    font-size: 14px;
+    color: #fff;
+
+    .orderNum {
+      margin: 0 20px 0 -20px;
+    }
+
+
+    .inner_right {
+      position: relative;
+      height: 100%;
+      width: 400px;
+      flex-shrink: 0;
+      line-height: 1.5;
+
+      .dibu {
+        position: absolute;
+        height: 2px;
+        width: 104%;
+        background-image: url("../../assets/img/zuo_xuxian.png");
+        bottom: -12px;
+        left: -2%;
+        background-size: cover;
+      }
+    }
+
+    .info {
+      margin-right: 10px;
+      display: flex;
+      align-items: center;
+
+      .labels {
+        flex-shrink: 0;
+        font-size: 12px;
+        color: rgba(255, 255, 255, 0.6);
+      }
+
+      .zhuyao {
+        color: $primary-color;
+        font-size: 15px;
+      }
+
+      .ciyao {
+        color: rgba(255, 255, 255, 0.8);
+      }
+
+      .warning {
+        color: #E6A23C;
+        font-size: 15px;
+      }
+    }
+
+  }
+}
+
+.right_center_wrap {
+  overflow: hidden;
+  width: 100%;
+  height: 250px;
+}
+
+.overflow-y-auto {
+  overflow-y: auto;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/right-center.vue b/Code Management/BigScreenVue/src/views/indexs/right-center.vue
new file mode 100644
index 0000000..5c8c25c
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/right-center.vue
@@ -0,0 +1,493 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+  <div id="name" style="width: 100%; height: 100%">
+    <Echart :options="options" style="width: 100%; height: 100%"></Echart>
+  </div>
+</template>
+
+<script>
+import { currentGET } from "api/modules";
+import { Getoutput } from "@/api/http.js";
+import * as echarts from 'echarts';
+let style = {
+  fontSize: 24,
+};
+export default {
+  data() {
+    return {
+      pageflag: true,
+      myChart: {},
+      options: {},
+    };
+  },
+  filters: {
+    numsFilter(msg) {
+      return msg || 0;
+    },
+  },
+  created() {
+    this.getData();
+  },
+  mounted() {
+    this.init();
+  },
+  beforeDestroy() {
+    this.clearData();
+  },
+  methods: {
+    init() {
+      var data1 = [{
+          text: '鏈湀鎵舵寔閲戦(涓囧厓)',
+          value: '588,10',
+          color: '#5dd054'
+      }, {
+          text: '鏈勾鎵舵寔閲戦(涓囧厓)',
+          value: '14,131',
+          color: '#097ff9'
+      }, {
+          text: '鎵舵寔鎬婚噾棰�(涓囧厓)',
+          value: '12,131',
+          color: '#ff6804'
+      }];
+
+      function dataFormat(v = {
+          value: '12345,12',
+          color: '#5dd054'
+      }) {
+          return [{
+              value: 0,
+              name: v.value,
+             itemStyle: {
+                normal: {
+                    color: new echarts.graphic.LinearGradient(
+                        0, 0, 0, 1, [{
+                                offset: 0,
+                                color: '#00feff'
+                            },
+                            {
+                                offset: 1,
+                                color: v.color
+                            }
+                        ]
+                    )
+                }
+            },
+              label: {
+                  normal: {
+                      textStyle: {
+                          fontSize: 30,
+                          fontWeight: 500,
+                          color: '#fff'
+                      }
+                  }
+              }
+          }]
+      }
+
+      function childrenFun(str = '鎸夐挳') {
+          return [{
+              type: 'rect',
+              left: 'center',
+              top: 'center',
+              shape: {
+                  width: 150,
+                  height: 40,
+                  r: 20
+              },
+              style: {
+                  fill: '#4709f9',
+                  shadowColor:'#f909a1',
+                  shadowOffsetX:3,
+                  shadowOffsetY:3,
+                  lineWidth:2,
+                  shadowBlur:10
+                //   stroke: '#00feff'
+              }
+          }, {
+              type: 'text',
+              left: 'center',
+              top: 'center',
+              style: {
+                  fill: '#fff',
+                  text: str,
+                  font: '14px Microsoft YaHei'
+              }
+          }]
+      }
+
+
+      this.options = {
+          backgroundColor:'#04184A',
+          legend: {
+              show: false
+          },
+          tooltip: {
+              show: false
+          },
+          series: [{
+              type: 'pie',
+              radius: [65, 73],
+              center: ['18%', '40%'],
+              hoverAnimation: false,
+              label: {
+                  normal: {
+                      position: 'center'
+                  }
+              },
+              data: dataFormat(data1[0])
+          }, {
+              type: 'pie',
+              radius: [65, 73],
+              center: ['50%', '40%'],
+              hoverAnimation: false,
+              label: {
+                  normal: {
+                      position: 'center'
+                  }
+              },
+              data: dataFormat(data1[1])
+          }, {
+              type: 'pie',
+              radius: [65, 73],
+              center: ['82%', '40%'],
+              hoverAnimation: false,
+              label: {
+                  normal: {
+                      position: 'center'
+                  }
+              },
+              data: dataFormat(data1[2])
+          }],
+          graphic: {
+              elements: [{
+                      type: 'group',
+                      left: '11%',
+                      bottom: '40%',
+                      z: 100,
+                      children: childrenFun(data1[0].text)
+                  },
+                  {
+                      type: 'group',
+                      left: '43%',
+                      bottom: '40%',
+                      z: 100,
+                      children: childrenFun(data1[1].text)
+                  },
+                  {
+                      type: 'group',
+                      left: '75%',
+                      bottom: '40%',
+                      z: 100,
+                      children: childrenFun(data1[2].text)
+                  }
+              ]
+          }
+      };
+    },
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer);
+        this.timer = null;
+      }
+    },
+    async getData() {
+      this.pageflag = true;
+      // currentGET("big2").then((res) => {
+      //     if (!this.timer) {
+      //         console.log("璁惧鎬昏2", res);
+      //     }
+      //     if (res.success) {
+      //         this.userOverview = res.data;
+      //            this.onlineconfig = {
+      //             ...this.onlineconfig,
+      //             number: [1]
+      //         }
+      //         this.config = {
+      //             ...this.config,
+      //             number: [7]
+      //         }
+      //         this.offlineconfig = {
+      //             ...this.offlineconfig,
+      //             number: [4]
+      //         }
+      //         this.laramnumconfig = {
+      //             ...this.laramnumconfig,
+      //             number: [10]
+      //         }
+      //         this.switper();
+      //     } else {
+      //         this.pageflag = false;
+      //         this.$Message.warning(res.msg);
+      //     }
+      // });
+      var rep1=await Getoutput();
+      var rep=rep1.filter(it=>it.roadway.includes("CW"))
+      console.log(rep)
+// 鑾峰彇浠婂ぉ闆剁偣鐨勬椂闂存埑
+const now = Date.now(); // 褰撳墠鏃堕棿鎴筹紙姣锛�
+const todayStart = new Date(now);
+todayStart.setHours(0, 0, 0, 0); // 璁剧疆涓烘湰鍦版椂闂寸殑 00:00:00
+const todayStartTimestamp = todayStart.getTime();
+// 鍑忓幓褰撳ぉ宸茶繃鍘荤殑姣鏁�
+const timestamp = todayStartTimestamp;
+const date = new Date(timestamp);
+
+// 琛ラ浂鍑芥暟
+const padZero = (num) => num.toString().padStart(2, '0');
+
+// 鏍煎紡鍖栨棩鏈�
+const formattedDate = `${date.getFullYear()}-${
+ padZero(date.getMonth() + 1)}-${
+ padZero(date.getDate())} ${
+ padZero(date.getHours())}:${
+ padZero(date.getMinutes())}:${
+ padZero(date.getSeconds())}`;
+
+
+// 鏈湴鏃跺尯褰撴湀绗竴澶╃殑 00:00:00
+const firstDayOfMonth = new Date(
+ new Date().getFullYear(),
+ new Date().getMonth(), // 鏈堜唤浠� 0 寮�濮嬶紙0=1鏈堬級
+ 1 // 鏃ユ湡璁句负 1 鍙�
+);
+const date1 = new Date(firstDayOfMonth.getTime());
+
+// 琛ラ浂鍑芥暟
+const padZero1 = (num) => num.toString().padStart(2, '0');
+
+// 鏍煎紡鍖栨棩鏈�
+const formattedDate1 = `${date.getFullYear()}-${
+ padZero1(date1.getMonth() + 1)}-${
+ padZero1(date1.getDate())} ${
+ padZero1(date1.getHours())}:${
+ padZero1(date1.getMinutes())}:${
+ padZero1(date1.getSeconds())}`;
+
+      var data1 = [{
+          text: '鏃ヤ骇閲�',
+          value:rep.filter(it => it.createDate>formattedDate ).length,
+          color: '#5dd054'
+      }, {
+          text: '鏈堜骇閲�',
+          value: rep.filter(it => it.createDate>formattedDate1).length,
+          color: '#097ff9'
+      }, {
+          text: '骞翠骇閲�',
+          value:rep.length,
+          color: '#ff6804'
+      }];
+
+      function dataFormat(v = {
+          value: '12345,12',
+          color: '#5dd054'
+      }) {
+          return [{
+              value: 0,
+              name: v.value,
+             itemStyle: {
+                normal: {
+                    color: new echarts.graphic.LinearGradient(
+                        0, 0, 0, 1, [{
+                                offset: 0,
+                                color: '#00feff'
+                            },
+                            {
+                                offset: 1,
+                                color: v.color
+                            }
+                        ]
+                    )
+                }
+            },
+              label: {
+                  normal: {
+                      textStyle: {
+                          fontSize: 30,
+                          fontWeight: 500,
+                          color: '#fff'
+                      }
+                  }
+              }
+          }]
+      }
+
+      function childrenFun(str = '鎸夐挳') {
+          return [{
+              type: 'rect',
+              left: 'center',
+              top: 'center',
+              shape: {
+                  width: 150,
+                  height: 40,
+                  r: 50
+              },
+              style: {
+                  fill: '#67C23A',
+                //   stroke: '#00feff'
+              }
+          }, {
+              type: 'text',
+              left: 'center',
+              top: 'center',
+              style: {
+                  fill: '#fff',
+                  text: str,
+                  font: '14px Microsoft YaHei'
+              }
+          }]
+      }
+
+
+      this.options = {
+          legend: {
+              show: false
+          },
+          tooltip: {
+              show: false
+          },
+          series: [{
+              type: 'pie',
+              radius: [65, 73],
+              center: ['18%', '40%'],
+              hoverAnimation: false,
+              label: {
+                  normal: {
+                      position: 'center'
+                  }
+              },
+              data: dataFormat(data1[0])
+          }, {
+              type: 'pie',
+              radius: [65, 73],
+              center: ['50%', '40%'],
+              hoverAnimation: false,
+              label: {
+                  normal: {
+                      position: 'center'
+                  }
+              },
+              data: dataFormat(data1[1])
+          }, {
+              type: 'pie',
+              radius: [65, 73],
+              center: ['82%', '40%'],
+              hoverAnimation: false,
+              label: {
+                  normal: {
+                      position: 'center'
+                  }
+              },
+              data: dataFormat(data1[2])
+          }],
+          graphic: {
+              elements: [{
+                      type: 'group',
+                      left: '6.5%',
+                      bottom: '10%',
+                      z: 100,
+                      children: childrenFun(data1[0].text)
+                  },
+                  {
+                      type: 'group',
+                      left: '38.5%',
+                      bottom: '10%',
+                      z: 100,
+                      children: childrenFun(data1[1].text)
+                  },
+                  {
+                      type: 'group',
+                      left: '70.5%',
+                      bottom: '10%',
+                      z: 100,
+                      children: childrenFun(data1[2].text)
+                  }
+              ]
+          }
+      };
+      this.switper();
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+  li {
+    flex: 1;
+
+    p {
+      text-align: center;
+      height: 16px;
+      font-size: 16px;
+    }
+
+    .user_Overview_nums {
+      width: 100px;
+      height: 100px;
+      text-align: center;
+      line-height: 100px;
+      font-size: 22px;
+      margin: 50px auto 30px;
+      background-size: cover;
+      background-position: center center;
+      position: relative;
+
+      &::before {
+        content: "";
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        top: 0;
+        left: 0;
+      }
+
+      &.bgdonghua::before {
+        animation: rotating 14s linear infinite;
+      }
+    }
+
+    .allnum {
+      // background-image: url("../../assets/img/left_top_lan.png");
+      &::before {
+        background-image: url("../../assets/img/left_top_lan.png");
+      }
+    }
+
+    .online {
+      &::before {
+        background-image: url("../../assets/img/left_top_lv.png");
+      }
+    }
+
+    .offline {
+      &::before {
+        background-image: url("../../assets/img/left_top_huang.png");
+      }
+    }
+
+    .laramnum {
+      &::before {
+        background-image: url("../../assets/img/left_top_hong.png");
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/right-top.vue b/Code Management/BigScreenVue/src/views/indexs/right-top.vue
new file mode 100644
index 0000000..dc9d271
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/right-top.vue
@@ -0,0 +1,299 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-01 14:13:04
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-09-27 15:04:49
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\right-top.vue
+-->
+<template>
+  <Echart
+    id="rightTop"
+    :options="option"
+    class="right_top_inner"
+    v-if="pageflag"
+    ref="charts"
+  />
+  <Reacquire v-else @onclick="getData" style="line-height: 200px">
+    閲嶆柊鑾峰彇
+  </Reacquire>
+</template>
+
+<script>
+import { currentGET } from "api/modules";
+import {graphic} from "echarts"
+export default {
+  data() {
+    return {
+      option: {},
+      pageflag: false,
+      timer: null,
+    };
+  },
+  created() {
+   
+  },
+
+  mounted() {
+     this.getData();
+  },
+  beforeDestroy() {
+    this.clearData();
+  },
+  methods: {
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer);
+        this.timer = null;
+      }
+    },
+    getData() {
+      this.pageflag = true;
+      // this.pageflag =false
+      currentGET("big4").then((res) => {
+        if (!this.timer) {
+          console.log("鎶ヨ娆℃暟", res);
+        }
+        if (res.success) {
+          this.countUserNumData = res.data;
+          this.$nextTick(() => {
+            this.init(res.data.dateList, res.data.numList, res.data.numList2),
+              this.switper();
+          });
+        } else {
+          this.pageflag = false;
+          this.$Message({
+            text: res.msg,
+            type: "warning",
+          });
+        }
+      });
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+      let myChart = this.$refs.charts.chart;
+      myChart.on("mouseover", (params) => {
+        this.clearData();
+      });
+      myChart.on("mouseout", (params) => {
+        this.timer = setInterval(
+          looper,
+          this.$store.state.setting.echartsAutoTime
+        );
+      });
+    },
+    init(xData, yData, yData2) {
+      this.option = {
+        xAxis: {
+          type: "category",
+          data: xData,
+          boundaryGap: false, // 涓嶇暀鐧斤紝浠庡師鐐瑰紑濮�
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: "rgba(31,99,163,.2)",
+            },
+          },
+          axisLine: {
+            // show:false,
+            lineStyle: {
+              color: "rgba(31,99,163,.1)",
+            },
+          },
+          axisLabel: {
+            color: "#7EB7FD",
+            fontWeight: "500",
+          },
+        },
+        yAxis: {
+          type: "value",
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: "rgba(31,99,163,.2)",
+            },
+          },
+          axisLine: {
+            lineStyle: {
+              color: "rgba(31,99,163,.1)",
+            },
+          },
+          axisLabel: {
+            color: "#7EB7FD",
+            fontWeight: "500",
+          },
+        },
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,.6)",
+          borderColor: "rgba(147, 235, 248, .8)",
+          textStyle: {
+            color: "#FFF",
+          },
+        },
+        grid: {
+          //甯冨眬
+          show: true,
+          left: "10px",
+          right: "30px",
+          bottom: "10px",
+          top: "28px",
+          containLabel: true,
+          borderColor: "#1F63A3",
+        },
+        series: [
+          {
+            data: yData,
+            type: "line",
+            smooth: true,
+            symbol: "none", //鍘婚櫎鐐�
+            name: "鎶ヨ1娆℃暟",
+            color: "rgba(252,144,16,.7)",
+            areaStyle: {
+                //鍙筹紝涓嬶紝宸︼紝涓�
+                color: new graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "rgba(252,144,16,.7)",
+                    },
+                    {
+                      offset: 1,
+                      color: "rgba(252,144,16,.0)",
+                    },
+                  ],
+                  false
+                ),
+            },
+            markPoint: {
+              data: [
+                {
+                  name: "鏈�澶у��",
+                  type: "max",
+                  valueDim: "y",
+                  symbol: "rect",
+                  symbolSize: [60, 26],
+                  symbolOffset: [0, -20],
+                  itemStyle: {
+                    color: "rgba(0,0,0,0)",
+                  },
+                  label: {
+                    color: "#FC9010",
+                    backgroundColor: "rgba(252,144,16,0.1)",
+                    borderRadius: 6,
+                    padding: [7, 14],
+                    borderWidth: 0.5,
+                    borderColor: "rgba(252,144,16,.5)",
+                    formatter: "鎶ヨ1锛歿c}",
+                  },
+                },
+                {
+                  name: "鏈�澶у��",
+                  type: "max",
+                  valueDim: "y",
+                  symbol: "circle",
+                  symbolSize: 6,
+                  itemStyle: {
+                    color: "#FC9010",
+                    shadowColor: "#FC9010",
+                    shadowBlur: 8,
+                  },
+                  label: {
+                    formatter: "",
+                  },
+                },
+              ],
+            },
+          },
+          {
+            data: yData2,
+            type: "line",
+            smooth: true,
+            symbol: "none", //鍘婚櫎鐐�
+            name: "鎶ヨ2娆℃暟",
+            color: "rgba(9,202,243,.7)",
+            areaStyle: {
+                //鍙筹紝涓嬶紝宸︼紝涓�
+                color: new graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "rgba(9,202,243,.7)",
+                    },
+                    {
+                      offset: 1,
+                      color: "rgba(9,202,243,.0)",
+                    },
+                  ],
+                  false
+                ),
+            },
+            markPoint: {
+              data: [
+                {
+                  name: "鏈�澶у��",
+                  type: "max",
+                  valueDim: "y",
+                  symbol: "rect",
+                  symbolSize: [60, 26],
+                  symbolOffset: [0, -20],
+                  itemStyle: {
+                    color: "rgba(0,0,0,0)",
+                  },
+                  label: {
+                    color: "#09CAF3",
+                    backgroundColor: "rgba(9,202,243,0.1)",
+
+                    borderRadius: 6,
+                    borderColor: "rgba(9,202,243,.5)",
+                    padding: [7, 14],
+                    formatter: "鎶ヨ2锛歿c}",
+                    borderWidth: 0.5,
+                  },
+                },
+                {
+                  name: "鏈�澶у��",
+                  type: "max",
+                  valueDim: "y",
+                  symbol: "circle",
+                  symbolSize: 6,
+                  itemStyle: {
+                    color: "#09CAF3",
+                    shadowColor: "#09CAF3",
+                    shadowBlur: 8,
+                  },
+                  label: {
+                    formatter: "",
+                  },
+                },
+              ],
+            },
+          },
+        ],
+      };
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.right_top_inner {
+  margin-top: -8px;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/station-four.vue b/Code Management/BigScreenVue/src/views/indexs/station-four.vue
new file mode 100644
index 0000000..768bd05
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/station-four.vue
@@ -0,0 +1,237 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+  <ul class="user_Overview flex" v-if="pageflag">
+      <li class="user_Overview-item" style="color: #00fdfa">
+          <div class="user_Overview_nums allnum ">
+              <dv-digital-flop :config="onlineconfig" style="width:100%;height:100%;" />
+          </div>
+          <p>10鍙锋淇彴</p>
+          <br>
+          <p>{{stationstate[9].station_state}}</p>
+      </li>
+      <li class="user_Overview-item" style="color: #07f7a8">
+          <div class="user_Overview_nums online">
+              <dv-digital-flop :config="config" style="width:100%;height:100%;" />
+          </div>
+          <p>11鍙锋淇彴</p>
+          <br>
+          <p>{{stationstate[10].station_state}}</p>
+      </li>
+      <li class="user_Overview-item" style="color: #e3b337">
+          <div class="user_Overview_nums offline">
+              <dv-digital-flop :config="offlineconfig" style="width:100%;height:100%;" />
+
+          </div>
+          <p>12鍙锋淇彴</p>
+          <br>
+          <p>{{stationstate[11].station_state}}</p>
+      </li>
+  </ul>
+  <Reacquire v-else @onclick="getData" line-height="200px">
+      閲嶆柊鑾峰彇
+  </Reacquire>
+</template>
+
+<script>
+import { currentGET } from 'api/modules'
+import {Floorfault} from "@/api/http.js"
+let style = {
+  fontSize: 24
+}
+export default {
+  data() {
+      return {
+          options: {},
+          stationstate:[],
+          userOverview: {
+              alarmNum: 2,
+              offlineNum: 3,
+              onlineNum: 5,
+              totalNum: 10,
+          },
+          pageflag: true,
+          timer: null,
+          config: {
+              number: [100],
+              content: '{nt}',
+              style: {
+                  ...style,
+                  // stroke: "#00fdfa",
+                  fill: "#00fdfa",
+              },
+          },
+          onlineconfig: {
+              number: [0],
+              content: '{nt}',
+              style: {
+                  ...style,
+                  // stroke: "#07f7a8",
+                  fill: "#07f7a8",
+              },
+          },
+          offlineconfig: {
+              number: [0],
+              content: '{nt}',
+              style: {
+                  ...style,
+                  // stroke: "#e3b337",
+                  fill: "#e3b337",
+              },
+          },
+      };
+  },
+  filters: {
+      numsFilter(msg) {
+          return msg || 0;
+      },
+  },
+  created() {
+      this.getData()
+  },
+  mounted() {
+  },
+  beforeDestroy() {
+      this.clearData()
+
+  },
+  methods: {
+      clearData() {
+          if (this.timer) {
+              clearInterval(this.timer)
+              this.timer = null
+          }
+      },
+      async getData() {
+          this.pageflag = true;
+          // currentGET("big2").then((res) => {
+          //     if (!this.timer) {
+          //         console.log("璁惧鎬昏2", res);
+          //     }
+          //     if (res.success) {
+          //         this.userOverview = res.data;
+          //            this.onlineconfig = {
+          //             ...this.onlineconfig,
+          //             number: [1]
+          //         }
+          //         this.config = {
+          //             ...this.config,
+          //             number: [7]
+          //         }
+          //         this.offlineconfig = {
+          //             ...this.offlineconfig,
+          //             number: [4]
+          //         }
+          //         this.laramnumconfig = {
+          //             ...this.laramnumconfig,
+          //             number: [10]
+          //         }
+          //         this.switper();  
+          //     } else {
+          //         this.pageflag = false;
+          //         this.$Message.warning(res.msg);
+          //     }
+          // });
+                  let rep = await Floorfault((a)=>{
+                  });
+                  this.stationstate=rep;
+                     this.onlineconfig = {
+                      ...this.onlineconfig,
+                      number: [rep[9].station_qty]
+                  }
+                  this.config = {
+                      ...this.config,
+                      number: [rep[10].station_qty]
+                  }
+                  this.offlineconfig = {
+                      ...this.offlineconfig,
+                      number: [rep[11].station_qty]
+                  }
+                  this.switper(); 
+      },
+      //杞
+      switper() {
+          if (this.timer) {
+              return
+          }
+          let looper = (a) => {
+              this.getData()
+          };
+          this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+      },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+  li {
+      flex: 1;
+
+      p {
+          text-align: center;
+          height: 16px;
+          font-size: 16px;
+      }
+
+      .user_Overview_nums {
+          width: 100px;
+          height: 100px;
+          text-align: center;
+          line-height: 100px;
+          font-size: 22px;
+          margin: 50px auto 30px;
+          background-size: cover;
+          background-position: center center;
+          position: relative;
+
+          &::before {
+              content: '';
+              position: absolute;
+              width: 100%;
+              height: 100%;
+              top: 0;
+              left: 0;
+          }
+
+          &.bgdonghua::before {
+              animation: rotating 14s linear infinite;
+          }
+      }
+
+      .allnum {
+
+          // background-image: url("../../assets/img/left_top_lan.png");
+          &::before {
+              background-image: url("../../assets/img/left_top_lan.png");
+
+          }
+      }
+
+      .online {
+          &::before {
+              background-image: url("../../assets/img/left_top_lv.png");
+
+          }
+      }
+
+      .offline {
+          &::before {
+              background-image: url("../../assets/img/left_top_huang.png");
+
+          }
+      }
+
+      .laramnum {
+          &::before {
+              background-image: url("../../assets/img/left_top_hong.png");
+
+          }
+      }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/station-one.vue b/Code Management/BigScreenVue/src/views/indexs/station-one.vue
new file mode 100644
index 0000000..6882625
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/station-one.vue
@@ -0,0 +1,270 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+    <ul class="user_Overview flex" v-if="pageflag">
+        <li class="user_Overview-item" style="color: #00fdfa">
+            <div class="user_Overview_nums allnum ">
+                <dv-digital-flop :config="inboundConfig" style="width:100%;height:100%;" />
+            </div>
+            <p>瀹炴鍏ュ簱</p>
+            <br>
+            <!-- <p>{{stationstate[0].station_state}}</p> -->
+            <!-- <p v-if="stationstate[0].station_state == '妫�淇腑'">{{stationstate[0].station_checkName}}</p> -->
+        </li>
+        <li class="user_Overview-item" style="color: #07f7a8">
+            <div class="user_Overview_nums online">
+                <dv-digital-flop :config="outboundConfig" style="width:100%;height:100%;" />
+            </div>
+            <p>瀹炴鍑哄簱</p>
+            <br>
+            <!-- <p>{{stationstate[1].station_state}}</p> -->
+            <!-- <p v-if="stationstate[1].station_state == '妫�淇腑'">{{stationstate[1].station_checkName}}</p> -->
+        </li>
+        <li class="user_Overview-item" style="color: #E6A23C">
+            <div class="user_Overview_nums offline">
+                <dv-digital-flop :config="backConfig" style="width:100%;height:100%;" />
+            </div>
+            <p>绌烘鍏ュ簱</p>
+            <br>
+            <!-- <p>{{stationstate[1].station_state}}</p> -->
+            <!-- <p v-if="stationstate[1].station_state == '妫�淇腑'">{{stationstate[1].station_checkName}}</p> -->
+        </li>
+        <li class="user_Overview-item" style="color: #f56c6c">
+            <div class="user_Overview_nums laramnum">
+                <dv-digital-flop :config="surplusConfig" style="width:100%;height:100%;" />
+            </div>
+            <p>绌烘鍑哄簱</p>
+            <br>
+            <!-- <p>{{stationstate[1].station_state}}</p> -->
+            <!-- <p v-if="stationstate[1].station_state == '妫�淇腑'">{{stationstate[1].station_checkName}}</p> -->
+        </li>
+        <!-- <li class="user_Overview-item" style="color: #e3b337">
+            <div class="user_Overview_nums offline">
+                <dv-digital-flop :config="offlineconfig" style="width:100%;height:100%;" />
+            </div>
+            <p>3鍙锋淇彴</p>
+            <br>
+            <p>{{stationstate[2].station_state}}</p>
+            <p v-if="stationstate[2].station_state == '妫�淇腑'">{{stationstate[2].station_checkName}}</p>
+        </li>
+        <li class="user_Overview-item" style="color: #e3b337">
+            <div class="user_Overview_nums offline">
+                <dv-digital-flop :config="offlineconfig" style="width:100%;height:100%;" />
+            </div>
+            <p>4鍙锋淇彴</p>
+            <br>
+            <p>{{stationstate[3].station_state}}</p>
+            <p v-if="stationstate[3].station_state == '妫�淇腑'">{{stationstate[3].station_checkName}}</p>
+        </li> -->
+    </ul>
+    <Reacquire v-else @onclick="getData" line-height="200px">
+        閲嶆柊鑾峰彇
+    </Reacquire>
+</template>
+
+<script>
+import { currentGET } from 'api/modules'
+import {Floorfault} from "@/api/http.js"
+
+let style = {
+    fontSize: 24
+}
+export default {
+    data() {
+        return {
+            options: {},
+            userOverview: {
+                alarmNum: 2,
+                offlineNum: 3,
+                onlineNum: 5,
+                totalNum: 10,
+            },
+            stationstate:[],
+            pageflag: true,
+            timer: null,
+            backConfig: { //绌烘鍏ュ簱
+                number: [50],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#00fdfa",
+                    fill: "#E6A23C",
+                },
+            },
+            surplusConfig: { //鎴愬搧浣欐枡
+                number: [100],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#00fdfa",
+                    fill: "#f56c6c",
+                },
+            },
+            inboundConfig: { //鎴愬搧鍏ュ簱
+                number: [100],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#00fdfa",
+                    fill: "#00fdfa",
+                },
+            },
+            outboundConfig: { //鎴愬搧鍑哄簱
+                number: [0],
+                content: '{nt}',
+                style: {
+                    ...style,
+                    // stroke: "#07f7a8",
+                    fill: "#07f7a8",
+                },
+            },
+        };
+    },
+    filters: {
+        numsFilter(msg) {
+            return msg || 0;
+        },
+    },
+    created() {
+        this.getData()
+    },
+    mounted() {
+    },
+    beforeDestroy() {
+        this.clearData()
+
+    },
+    methods: {
+        clearData() {
+            if (this.timer) {
+                clearInterval(this.timer)
+                this.timer = null
+            }
+        },
+        async getData() {
+            this.pageflag = true;
+            
+                    var rep1 = await Floorfault();
+                    var rep=rep1.filter(it=>it.roadway.includes("CW"))
+                  
+                  
+                    this.inboundConfig={
+                        number: [rep.filter(task => task.taskType === "鍏ュ簱").length]
+                    }
+                    this.outboundConfig={
+                        number: [rep.filter(task => task.taskType === "鍑哄簱").length]
+                    }
+                    this.backConfig={
+                        ...this.backConfig,
+                        number: [rep.filter(task => task.taskType === "绌烘墭鐩樺叆搴�").length]
+                    }
+                    this.surplusConfig={
+                        ...this.surplusConfig,
+                        number: [rep.filter(task => task.taskType === "绌烘墭鐩樺嚭搴�").length]
+                    }
+                    // this.onlineconfig = {
+                    //     ...this.onlineconfig,
+                    //     number: [rep[0].station_qty]
+                    // }
+                    // this.config = {
+                    //     ...this.config,
+                    //     number: [rep[1].station_qty]
+                    // }
+                    // this.offlineconfig = {
+                    //     ...this.offlineconfig,
+                    //     number: [rep[2].station_qty]
+                    // }
+                    // this.offlineconfig = {
+                    //     ...this.offlineconfig,
+                    //     number: [rep[3].station_qty]
+                    // }
+                    this.switper(); 
+        },
+        //杞
+        switper() {
+           
+           
+         if (this.timer) {
+                return
+            }
+            let looper = (a) => {
+                this.getData()
+            };
+            this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
+        },
+    },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+    li {
+        flex: 1;
+
+        p {
+            text-align: center;
+            height: 16px;
+            font-size: 16px;
+        }
+
+        .user_Overview_nums {
+            width: 100px;
+            height: 100px;
+            text-align: center;
+            line-height: 100px;
+            font-size: 22px;
+            margin: 50px auto 30px;
+            background-size: cover;
+            background-position: center center;
+            position: relative;
+
+            &::before {
+                content: '';
+                position: absolute;
+                width: 100%;
+                height: 100%;
+                top: 0;
+                left: 0;
+            }
+
+            &.bgdonghua::before {
+                animation: rotating 14s linear infinite;
+            }
+        }
+
+        .allnum {
+
+            // background-image: url("../../assets/img/left_top_lan.png");
+            &::before {
+                background-image: url("../../assets/img/left_top_lan.png");
+
+            }
+        }
+
+        .online {
+            &::before {
+                background-image: url("../../assets/img/left_top_lv.png");
+
+            }
+        }
+
+        .offline {
+            &::before {
+                background-image: url("../../assets/img/left_top_huang.png");
+
+            }
+        }
+
+        .laramnum {
+            &::before {
+                background-image: url("../../assets/img/left_top_hong.png");
+
+            }
+        }
+    }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/station-three.vue b/Code Management/BigScreenVue/src/views/indexs/station-three.vue
new file mode 100644
index 0000000..5b67ab5
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/station-three.vue
@@ -0,0 +1,442 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+  <div id="name" style="width: 100%; height: 100%">
+    <Echart :options="options" style="width: 100%; height: 100%"></Echart>
+  </div>
+</template>
+
+<script>
+import { currentGET } from "api/modules";
+import { ProLocationStatistics } from "@/api/http.js";
+let style = {
+  fontSize: 24,
+};
+export default {
+  data() {
+    return {
+      pageflag: true,
+      myChart: {},
+      options: {},
+    };
+  },
+  filters: {
+    numsFilter(msg) {
+      return msg || 0;
+    },
+  },
+  created() {
+    this.getData();
+  },
+  mounted() {
+    this.init();
+  },
+  beforeDestroy() {
+    this.clearData();
+  },
+  methods: {
+    init() {
+      var img =
+        "data:image/png;base64,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";
+      var trafficWay = [
+        {
+          name: "閿佸畾",
+          value: 10,
+        },
+        {
+          name: "绌洪棽",
+          value: 10,
+        },
+        {
+          name: "鏈夎揣",
+          value: 30,
+        },
+      ];
+      var data = [];
+      var color = ["#ffa800", "#67C23A", "#ff5b00"];
+      for (var i = 0; i < trafficWay.length; i++) {
+        data.push(
+          {
+            value: trafficWay[i].value,
+            name: trafficWay[i].name,
+            itemStyle: {
+              normal: {
+                borderWidth: 5,
+                shadowBlur: 20,
+                borderColor: color[i],
+                shadowColor: color[i],
+              },
+            },
+          },
+          {
+            value: 2,
+            name: "",
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false,
+                },
+                labelLine: {
+                  show: false,
+                },
+                color: "rgba(0, 0, 0, 0)",
+                borderColor: "rgba(0, 0, 0, 0)",
+                borderWidth: 0,
+              },
+            },
+          }
+        );
+      }
+      var seriesOption = [
+        {
+          name: "",
+          type: "pie",
+          clockWise: false,
+          radius: [70, 80],
+          hoverAnimation: false,
+          itemStyle: {
+            normal: {
+              label: {
+                show: true,
+                position: "outside",
+                color: "#ddd",
+                formatter: function (params) {
+                  var percent = 0;
+                  var total = 0;
+                  for (var i = 0; i < trafficWay.length; i++) {
+                    total += trafficWay[i].value;
+                  }
+                  percent = ((params.value / total) * 100).toFixed(0);
+                  if (params.name !== "") {
+                    return percent + "%";
+                  } else {
+                    return "";
+                  }
+                },
+              },
+              labelLine: {
+                length: 30,
+                length2: 100,
+                show: true,
+                color: "#00ffff",
+              },
+            },
+          },
+          data: data,
+        },
+      ];
+      this.options = {
+        color: color,
+        title: {
+          text: "",
+          top: "48%",
+          textAlign: "center",
+          left: "49%",
+          textStyle: {
+            color: "#fff",
+            fontSize: 22,
+            fontWeight: "400",
+          },
+        },
+        graphic: {
+          elements: [
+            {
+              type: "image",
+              z: 3,
+              style: {
+                image: img,
+                width: 178,
+                height: 178,
+              },
+              left: "center",
+              top: "center",
+              position: [100, 100],
+            },
+          ],
+        },
+        tooltip: {
+          show: false,
+        },
+        legend: {
+          icon: "circle",
+          orient: "horizontal",
+          // x: 'left',
+          data: ["閿佸畾", "绌洪棽", "鏈夎揣"],
+          left: 0,
+          top: 0,
+          align: "right",
+          textStyle: {
+            color: "#fff",
+          },
+          itemGap: 20,
+        },
+        toolbox: {
+          show: false,
+        },
+        series: seriesOption,
+      };
+    },
+    clearData() {
+      if (this.timer) {
+        clearInterval(this.timer);
+        this.timer = null;
+      }
+    },
+    async getData() {
+      this.pageflag = true;
+      // currentGET("big2").then((res) => {
+      //     if (!this.timer) {
+      //         console.log("璁惧鎬昏2", res);
+      //     }
+      //     if (res.success) {
+      //         this.userOverview = res.data;
+      //            this.onlineconfig = {
+      //             ...this.onlineconfig,
+      //             number: [1]
+      //         }
+      //         this.config = {
+      //             ...this.config,
+      //             number: [7]
+      //         }
+      //         this.offlineconfig = {
+      //             ...this.offlineconfig,
+      //             number: [4]
+      //         }
+      //         this.laramnumconfig = {
+      //             ...this.laramnumconfig,
+      //             number: [10]
+      //         }
+      //         this.switper();
+      //     } else {
+      //         this.pageflag = false;
+      //         this.$Message.warning(res.msg);
+      //     }
+      // });
+      var rep1 = await ProLocationStatistics();
+      var rep=rep1.filter(rep=>rep.roadwayNo.includes("CW"))
+       console.log(rep)
+      var img =
+        "data:image/png;base64,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";
+      var trafficWay = [
+        {
+          name: "閿佸畾",
+          value: rep.filter(rep=>rep.locationStatus==1).length,
+        },
+        {
+          name: "绌洪棽",
+          value:rep.filter(rep=>rep.locationStatus==0).length,
+        },
+        {
+          name: "鏈夎揣",
+          value:rep.filter(rep=>rep.locationStatus==2).length,
+        },
+      ];
+      var data = [];
+      var color = ["#ffa800", "#67C23A", "#ff5b00"];
+      for (var i = 0; i < trafficWay.length; i++) {
+        data.push(
+          {
+            value: trafficWay[i].value,
+            name: trafficWay[i].name,
+            itemStyle: {
+              normal: {
+                borderWidth: 5,
+                shadowBlur: 20,
+                borderColor: color[i],
+                shadowColor: color[i],
+              },
+            },
+          },
+          {
+            value: 2,
+            name: "",
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false,
+                },
+                labelLine: {
+                  show: false,
+                },
+                color: "rgba(0, 0, 0, 0)",
+                borderColor: "rgba(0, 0, 0, 0)",
+                borderWidth: 0,
+              },
+            },
+          }
+        );
+      }
+      var seriesOption = [
+        {
+          name: "",
+          type: "pie",
+          clockWise: false,
+          radius: [70, 80],
+          hoverAnimation: false,
+          itemStyle: {
+            normal: {
+              label: {
+                show: true,
+                position: "outside",
+                color: "#ddd",
+                formatter: function (params) {
+                  var percent = 0;
+                  var total = 0;
+                  for (var i = 0; i < trafficWay.length; i++) {
+                    total += trafficWay[i].value;
+                  }
+                  percent = ((params.value / total) * 100).toFixed(0);
+                  if (params.name !== "") {
+                    return percent + "%";
+                  } else {
+                    return "";
+                  }
+                },
+              },
+              labelLine: {
+                length: 30,
+                length2: 100,
+                show: true,
+                color: "#00ffff",
+              },
+            },
+          },
+          data: data,
+        },
+      ];
+      this.options = {
+        color: color,
+        title: {
+          text: `鎬婚噺\n${rep.length}`,
+          top: "40%",
+          textAlign: "center",
+          left: "49%",
+          textStyle: {
+            color: "#fff",
+            fontSize: 22,
+            fontWeight: "400",
+          },
+        },
+        graphic: {
+          elements: [
+            {
+              type: "image",
+              z: 3,
+              style: {
+                image: img,
+                width: 178,
+                height: 178,
+              },
+              left: "center",
+              top: "center",
+              position: [100, 100],
+            },
+          ],
+        },
+        tooltip: {
+          show: false,
+        },
+        legend: {
+          icon: "circle",
+          orient: "horizontal",
+          // x: 'left',
+          data: ["閿佸畾", "绌洪棽", "鏈夎揣"],
+          left: 0,
+          top: 0,
+          align: "right",
+          textStyle: {
+            color: "#fff",
+          },
+          itemGap: 20,
+        },
+        toolbox: {
+          show: false,
+        },
+        series: seriesOption,
+      };
+      this.switper();
+    },
+    //杞
+    switper() {
+      if (this.timer) {
+        return;
+      }
+      let looper = (a) => {
+        this.getData();
+      };
+      this.timer = setInterval(
+        looper,
+        this.$store.state.setting.echartsAutoTime
+      );
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.user_Overview {
+  li {
+    flex: 1;
+
+    p {
+      text-align: center;
+      height: 16px;
+      font-size: 16px;
+    }
+
+    .user_Overview_nums {
+      width: 100px;
+      height: 100px;
+      text-align: center;
+      line-height: 100px;
+      font-size: 22px;
+      margin: 50px auto 30px;
+      background-size: cover;
+      background-position: center center;
+      position: relative;
+
+      &::before {
+        content: "";
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        top: 0;
+        left: 0;
+      }
+
+      &.bgdonghua::before {
+        animation: rotating 14s linear infinite;
+      }
+    }
+
+    .allnum {
+      // background-image: url("../../assets/img/left_top_lan.png");
+      &::before {
+        background-image: url("../../assets/img/left_top_lan.png");
+      }
+    }
+
+    .online {
+      &::before {
+        background-image: url("../../assets/img/left_top_lv.png");
+      }
+    }
+
+    .offline {
+      &::before {
+        background-image: url("../../assets/img/left_top_huang.png");
+      }
+    }
+
+    .laramnum {
+      &::before {
+        background-image: url("../../assets/img/left_top_hong.png");
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/indexs/station-two.vue b/Code Management/BigScreenVue/src/views/indexs/station-two.vue
new file mode 100644
index 0000000..04e85f1
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/indexs/station-two.vue
@@ -0,0 +1,446 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-02-28 16:16:42
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-07-20 17:57:11
+ * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
+-->
+<template>
+    <div id="name" style="width: 100%; height: 100%">
+      <Echart :options="options2" style="width: 100%; height: 100%"></Echart>
+    </div>
+  </template>
+  
+  <script>
+  import { currentGET } from "api/modules";
+  import { ProductionStock } from "@/api/http.js";
+  import * as echarts from 'echarts';
+  let style = {
+    fontSize: 24,
+  };
+  export default {
+    data() {
+      return {
+        pageflag: true,
+        myChart: {},
+        options2: {},
+      };
+    },
+    filters: {
+      numsFilter(msg) {
+        return msg || 0;
+      },
+    },
+    created() {
+      this.getData();
+    },
+    mounted() {
+      this.init();
+    },
+    beforeDestroy() {
+      this.clearData();
+    },
+    methods: {
+      init() {
+        let dataPie = [
+
+    {
+        value: 410,
+        name: '浼佷笟'
+    },
+    {
+        value: 380,
+        name: '鏀垮簻'
+    },
+    {
+        value: 501,
+        name: '涓汉'
+    },
+];
+let colorPie = ['#173852', '#0b2036', '#002e49'];
+let colorWrap = ['#3087d6', '#afe1ff', '#4be1ff'];
+let baseDataPie = [],
+    baseDataWrap = [];
+for (var i = 0; i < dataPie.length; i++) {
+    baseDataPie.push({
+        value: dataPie[i].value,
+        name: dataPie[i].name,
+        itemStyle: {
+            normal: {
+                borderWidth: 50,
+
+                borderColor: colorPie[i],
+
+            }
+        }
+    });
+    baseDataWrap.push({
+        value: dataPie[i].value,
+        name: dataPie[i].name,
+        itemStyle: {
+            normal: {
+                color: colorWrap[i],
+                borderWidth: 10,
+                borderColor: colorWrap[i],
+                shadowBlur: 50,
+                shadowColor: 'rgba(48, 135, 214, 0.3)',
+            }
+        }
+    }, {
+        value: 10,
+        name: '',
+        itemStyle: {
+            normal: {
+                color: 'transparent',
+                borderWidth: 10,
+                borderColor: 'transparent',
+
+            }
+        }
+    });
+}
+
+
+this.options1 = {
+   
+    backgroundColor: '#021228',
+    title: {
+        text: '鎶ヨ鎬绘暟',
+        subtext: '10,225',
+        textStyle: {
+            color: '#00b5f3',
+            fontSize: 12,
+            
+        },
+        subtextStyle: {
+            align: 'center',
+            fontSize: 18,
+            color: ['#85c7e3'],
+            fontWeight:800
+        },
+        x: '38%',
+        y: 'center',
+    },
+    tooltip: {
+        show: true,
+        trigger: 'item',
+        formatter: "{a}锛歿b} <br/>鍗犳瘮锛歿d}%"
+    },
+    legend: {
+        data: ['浼佷笟', '鏀垮簻', '涓汉'],
+        icon: 'vertical',
+        right: '1%',
+        top: 'center',
+        orient: 'vertical',
+        itemGap: 20,
+        itemWidth: 15,
+        itemHeight: 8,
+
+        formatter: function(name) {
+            let target;
+            for (let i = 0; i < dataPie.length; i++) {
+                if (dataPie[i].name === name) {
+                    target = dataPie[i].value
+                }
+            }
+            let arr = [name, target];
+            return arr.join("\n")
+
+        },
+        textStyle: {
+            lineHeight: 20,
+            color: '#9ed2f5',
+
+        },
+    },
+    grid: {
+        left: '1%', // 涓庡鍣ㄥ乏渚х殑璺濈
+        right: '1%', // 涓庡鍣ㄥ彸渚х殑璺濈
+        top: '1%', // 涓庡鍣ㄩ《閮ㄧ殑璺濈
+        bottom: '1%', // 涓庡鍣ㄥ簳閮ㄧ殑璺濈
+
+    },
+    series: [
+        {
+            name: '',
+            type: 'pie',
+            clockWise: false, //椤烘椂鍔犺浇
+            hoverAnimation: false, //榧犳爣绉诲叆鍙樺ぇ
+            center: ['40%', '50%'],
+            radius: ['80%', '81%'],
+            tooltip: {
+                show: false
+            },
+            label: {
+                normal: {
+                    show: false
+                }
+            },
+            data: baseDataWrap
+        },
+        {
+
+            name: '鎶ヨ',
+            type: 'pie',
+            color: colorPie,
+            selectedMode: 'single',
+            radius: ['55%', '58%'],
+            center: ['40%', '50%'],
+            hoverAnimation: false,
+            label: {
+                normal: {
+                    show: false,
+                }
+            },
+
+            data: baseDataPie
+        },
+
+    ]
+};
+      },
+      clearData() {
+        if (this.timer) {
+          clearInterval(this.timer);
+          this.timer = null;
+        }
+      },
+      async getData() {
+        this.pageflag = true;
+            var rep=await ProductionStock();
+           var rep1=0;
+            for(var items of rep){
+            if(items.areaCode.includes("CW")){
+              
+            rep1+=items.items.length
+            }
+            }
+          
+             console.log(rep1)
+    
+            
+        let dataPie = [
+    {
+        value: parseInt(rep1) ,
+        name: '浠婃棩寰呭嚭瀹炵洏鎬绘暟'
+    },
+];
+let colorPie = ['#173852'];
+let colorWrap = ['#3087d6'];
+let baseDataPie = [],
+    baseDataWrap = [];
+for (var i = 0; i < dataPie.length; i++) {
+    baseDataPie.push({
+        value: dataPie[i].value,
+        name: dataPie[i].name,
+        itemStyle: {
+            normal: {
+                borderWidth: 50,
+                borderColor: colorPie[i],
+
+            }
+        }
+    });
+    baseDataWrap.push({
+        value: dataPie[i].value,
+        name: dataPie[i].name,
+        itemStyle: {
+            normal: {
+                color: colorWrap[i],
+                borderWidth: 10,
+                borderColor: colorWrap[i],
+                shadowBlur: 50,
+                shadowColor: 'rgba(48, 135, 214, 0.3)',
+            }
+        }
+    }, {
+        value: 10,
+        name: '',
+        itemStyle: {
+            normal: {
+                color: 'transparent',
+                borderWidth: 10,
+                borderColor: 'transparent',
+
+            }
+        }
+    });
+}
+
+
+this.options2 = {
+    title: {
+        text: '浠婃棩寰呭嚭瀹炵洏鎬绘暟',
+        subtext:parseInt(rep1),
+        textStyle: {
+            color: '#00b5f3',
+            fontSize: 12,
+            
+        },
+        subtextStyle: {
+            align: 'center',
+            fontSize: 18,
+            color: ['#85c7e3'],
+            fontWeight:800
+        },
+        x: '33%',
+        y: 'center',
+    },
+    tooltip: {
+        show: true,
+        trigger: 'item',
+        formatter: "{a}锛歿b} <br/>鍗犳瘮锛歿d}%"
+    },
+    legend: {
+        data: ['浠婃棩寰呭嚭瀹炵洏鎬绘暟'],
+        icon: 'vertical',
+        right: '1%',
+        top: 'center',
+        orient: 'vertical',
+        itemGap: 20,
+        itemWidth: 15,
+        itemHeight: 8,
+
+        formatter: function(name) {
+            let target;
+            for (let i = 0; i < dataPie.length; i++) {
+                if (dataPie[i].name === name) {
+                    target = dataPie[i].value
+                }
+            }
+            let arr = [name, target];
+            return arr.join("\n")
+
+        },
+        textStyle: {
+            lineHeight: 20,
+            color: '#9ed2f5',
+
+        },
+    },
+    grid: {
+        left: '1%', // 涓庡鍣ㄥ乏渚х殑璺濈
+        right: '1%', // 涓庡鍣ㄥ彸渚х殑璺濈
+        top: '1%', // 涓庡鍣ㄩ《閮ㄧ殑璺濈
+        bottom: '1%', // 涓庡鍣ㄥ簳閮ㄧ殑璺濈
+
+    },
+    series: [
+        {
+            name: '',
+            type: 'pie',
+            clockWise: true, //椤烘椂鍔犺浇
+            hoverAnimation: true, //榧犳爣绉诲叆鍙樺ぇ
+            center: ['40%', '50%'],
+            radius: ['80%', '81%'],
+            tooltip: {
+                show: true
+            },
+            label: {
+                normal: {
+                    show: true
+                }
+            },
+            data: baseDataWrap
+        },
+        {
+
+            name: '绉嶇被',
+            type: 'pie',
+            color: colorPie,
+            selectedMode: 'single',
+            radius: ['55%', '58%'],
+            center: ['40%', '50%'],
+            hoverAnimation: false,
+            label: {
+                normal: {
+                    show: false,
+                }
+            },
+
+            data: baseDataPie
+        },
+
+    ]
+};
+        this.switper();
+      },
+      //杞
+      switper() {
+        if (this.timer) {
+          return;
+        }
+        let looper = (a) => {
+          this.getData();
+        };
+        this.timer = setInterval(
+          looper,
+          this.$store.state.setting.echartsAutoTime
+        );
+      },
+    },
+  };
+  </script>
+  <style lang='scss' scoped>
+  .user_Overview {
+    li {
+      flex: 1;
+  
+      p {
+        text-align: center;
+        height: 16px;
+        font-size: 16px;
+      }
+  
+      .user_Overview_nums {
+        width: 100px;
+        height: 100px;
+        text-align: center;
+        line-height: 100px;
+        font-size: 22px;
+        margin: 50px auto 30px;
+        background-size: cover;
+        background-position: center center;
+        position: relative;
+  
+        &::before {
+          content: "";
+          position: absolute;
+          width: 100%;
+          height: 100%;
+          top: 0;
+          left: 0;
+        }
+  
+        &.bgdonghua::before {
+          animation: rotating 14s linear infinite;
+        }
+      }
+  
+      .allnum {
+        // background-image: url("../../assets/img/left_top_lan.png");
+        &::before {
+          background-image: url("../../assets/img/left_top_lan.png");
+        }
+      }
+  
+      .online {
+        &::before {
+          background-image: url("../../assets/img/left_top_lv.png");
+        }
+      }
+  
+      .offline {
+        &::before {
+          background-image: url("../../assets/img/left_top_huang.png");
+        }
+      }
+  
+      .laramnum {
+        &::before {
+          background-image: url("../../assets/img/left_top_hong.png");
+        }
+      }
+    }
+  }
+  </style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/setting.vue b/Code Management/BigScreenVue/src/views/setting.vue
new file mode 100644
index 0000000..37aca24
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/setting.vue
@@ -0,0 +1,105 @@
+<template>
+    <transition name="yh-setting-fade">
+        <div class="setting" :class="{ settingShow: settingShow }" v-show="settingShow">
+            <div class="setting_dislog" @click="settingShow = false">
+
+            </div>
+            <div class="setting_inner">
+                <div class="setting_header">
+                    璁剧疆
+                </div>
+                <div class="setting_body">
+                    <!-- <div class="left_shu"> 瀹炴椂鐩戞祴</div> -->
+                    <div class="left_shu"> 鍏ㄥ眬璁剧疆</div> 
+                      <div class="setting_item">
+                        <span class="setting_label">
+                            鏄惁杩涜鑷姩閫傞厤<span class="setting_label_tip">(榛樿鍒嗚鲸鐜�1920*1080)</span>: 
+                        </span>
+                        <div class="setting_content">
+                            <el-radio-group v-model="isScaleradio" @change="(val) => radiochange(val, 'isScale')">
+                                <el-radio :label="true">鏄�</el-radio>
+                                <el-radio :label="false">鍚�</el-radio>
+                            </el-radio-group>
+
+                        </div>
+                    </div>
+                    <!-- <div class="left_shu"> 瀹炴椂鐩戞祴</div>
+                    <div class="setting_item">
+                        <span class="setting_label">
+                            璁惧鎻愰啋鑷姩杞: <span class="setting_label_tip"></span>
+                        </span>
+                        <div class="setting_content">
+                            <el-radio-group v-model="sbtxradio" @change="(val) => radiochange(val, 'sbtxSwiper')">
+                                <el-radio :label="true">鏄�</el-radio>
+                                <el-radio :label="false">鍚�</el-radio>
+                            </el-radio-group>
+
+                        </div>
+                    </div>
+                    <div class="setting_item">
+                        <span class="setting_label">
+                            瀹炴椂棰勮杞挱:
+                        </span>
+                        <div class="setting_content">
+                            <el-radio-group v-model="ssyjradio" @change="(val) => radiochange(val, 'ssyjSwiper')">
+                                <el-radio :label="true">鏄�</el-radio>
+                                <el-radio :label="false">鍚�</el-radio>
+                            </el-radio-group>
+                        </div>
+                    </div> -->
+                    <div class="flex justify-center">
+                        <!-- <el-button type="primary" round size="mini">纭畾</el-button> -->
+                    </div>
+                </div>
+            </div>
+        </div>
+    </transition>
+</template>
+
+<script>
+
+export default {
+    components: {},
+    data() {
+        return {
+            settingShow: false,
+            sbtxradio:true,
+            ssyjradio: true,
+            isScaleradio:true,
+        };
+    },
+    computed: {},
+    methods: {
+        init() {
+            this.settingShow = true
+        },
+        radiochange(val, type) {
+            this.$store.commit('setting/updateSwiper', { val, type })
+            if(type==='isScale'){
+                // this.$router.go(0)
+                // location.reload()
+                // window.location.href=window.location.href+"?t="+Date.now()
+            }
+        },
+    },
+    created() {
+        this.$store.commit('setting/initSwipers')
+        this.sbtxradio = this.$store.state.setting.sbtxSwiper,
+        this.ssyjradio = this.$store.state.setting.ssyjSwiper,
+        this.isScaleradio = this.$store.state.setting.isScale;
+    },
+    mounted() {
+        document.body.appendChild(this.$el);
+    },
+    beforeDestroy() {
+    },
+    destroyed() {
+        if (this.$el && this.$el.parentNode) {
+            this.$el.parentNode.removeChild(this.$el);
+        }
+    }
+}
+</script>
+
+<style lang='scss' scoped>
+</style>
\ No newline at end of file
diff --git a/Code Management/BigScreenVue/src/views/tjfx/tjfx.vue b/Code Management/BigScreenVue/src/views/tjfx/tjfx.vue
new file mode 100644
index 0000000..87c5b1b
--- /dev/null
+++ b/Code Management/BigScreenVue/src/views/tjfx/tjfx.vue
@@ -0,0 +1,37 @@
+<!--
+ * @Author: daidai
+ * @Date: 2022-03-04 09:52:25
+ * @LastEditors: daidai
+ * @LastEditTime: 2022-03-04 11:03:40
+ * @FilePath: \web-pc\src\pages\big-screen\view\tjfx\tjfx.vue
+-->
+<template>
+    <div>
+       
+    </div>
+</template>
+
+<script>
+   export default {
+      data() {
+          return {
+
+          }
+      },
+     created(){ 
+       
+     },
+
+     mounted() {
+
+     },
+      methods: {
+
+
+      },
+ }
+</script>
+<style lang='scss' scoped>
+
+
+</style>
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
index 9f82e8f..171a3e0 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -228,4 +228,35 @@
     /// <returns></returns>
     Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync(RequestTaskDto request);
 
+
+    #region 澶у睆鎺ュ彛
+
+    /// <summary>
+    /// 鑾峰彇浠诲姟淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    WebResponseContent GetTaskInfo();
+
+    /// <summary>
+    /// 鑾峰彇搴撳瓨淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    WebResponseContent GetStockInfo();
+    #endregion
+    /// <summary>
+    /// 鑾峰彇璐т綅鐘舵��
+    /// </summary>
+    /// <returns></returns>
+    WebResponseContent GetStockQuantity();
+
+    /// <summary>
+    /// 鑾峰彇涓冩棩鍐呯殑浜ч噺
+    /// </summary>
+    /// <returns></returns>
+    WebResponseContent Getproductionvolume();
+    /// <summary>
+    /// 鑾峰彇浜ч噺
+    /// </summary>
+    /// <returns></returns>
+    WebResponseContent Getoutput();
 }
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 08c99d2..94fcd69 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -4,6 +4,7 @@
 using WIDESEA_Core.Const;
 using WIDESEA_DTO.MOM;
 using WIDESEA_DTO.WMS;
+using WIDESEA_Model.Models.Basic;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob.Models;
 
@@ -1360,6 +1361,160 @@
         }
         return content;
     }
+    /// <summary>
+    /// 鑾峰彇浠诲姟绫诲瀷鎻忚堪鏂规硶
+    /// </summary>
+    /// <param name="taskType"></param>
+    /// <returns></returns>
+    private string GetTaskTypeDesc(int taskType)
+    {
+        return taskType switch
+        {
+            (int)TaskInboundTypeEnum.Inbound => TaskInboundTypeEnum.Inbound.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInboundTypeEnum.InTray => TaskInboundTypeEnum.InTray.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInboundTypeEnum.InNG => TaskInboundTypeEnum.InNG.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInboundTypeEnum.InQuality => TaskInboundTypeEnum.InQuality.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutboundTypeEnum.OutTray => TaskOutboundTypeEnum.OutTray.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutboundTypeEnum.Outbound => TaskOutboundTypeEnum.Outbound.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutboundTypeEnum.OutNG => TaskOutboundTypeEnum.OutNG.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutboundTypeEnum.InToOut=> TaskOutboundTypeEnum.InToOut.GetIntegralRuleTypeEnumDesc(),
+        };
+    }
 
     #endregion
+
+    #region 澶у睆鎺ュ彛
+
+    /// <summary>
+    /// 鑾峰彇浠诲姟淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    public WebResponseContent GetTaskInfo()
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            var task = BaseDal.QueryData(x => true).ToList();
+            var newTask = task.Select(x => new
+            {
+                x.PalletCode,
+                x.Roadway,
+                x.SourceAddress,
+                x.TargetAddress,
+                x.ProductionLine,
+                TaskType = new List<string> { GetTaskTypeDesc(x.TaskType) }[0], // 姣忎釜浠诲姟鐙珛鐢熸垚 TaskType
+                TaskState = new List<string> { GetTaskStateDesc(x.TaskState) }[0] // 姣忎釜浠诲姟鐙珛鐢熸垚 TaskState
+            }).ToList();
+
+            return content.OK(data: newTask);
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    // 瀹氫箟鑾峰彇浠诲姟鐘舵�佹弿杩版柟娉�
+    private string GetTaskStateDesc(int? taskState)
+    {
+        return taskState switch
+        {
+            (int)TaskInStatusEnum.InNew => TaskInStatusEnum.InNew.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInStatusEnum.Line_InExecuting => TaskInStatusEnum.Line_InExecuting.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInStatusEnum.Line_InFinish => TaskInStatusEnum.Line_InFinish.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInStatusEnum.SC_InExecuting => TaskInStatusEnum.SC_InExecuting.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskInStatusEnum.SC_InFinish => TaskInStatusEnum.SC_InFinish.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutStatusEnum.OutNew => TaskOutStatusEnum.OutNew.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutStatusEnum.SC_OutExecuting => TaskOutStatusEnum.SC_OutExecuting.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutStatusEnum.SC_OutFinish => TaskOutStatusEnum.SC_OutFinish.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutStatusEnum.Line_OutExecuting => TaskOutStatusEnum.Line_OutExecuting.GetIntegralRuleTypeEnumDesc(),
+            (int)TaskOutStatusEnum.Line_OutFinish => TaskOutStatusEnum.Line_OutFinish.GetIntegralRuleTypeEnumDesc(),
+        };
+    }
+    /// <summary>
+    /// 鑾峰彇搴撳瓨淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    public WebResponseContent GetStockInfo()
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            var now = DateTime.Now;
+            var startOfDay = new DateTime(now.Year, now.Month, now.Day);
+            var endOfDay = startOfDay.AddDays(1);
+            var filteredItems = _stockInfoRepository.Db.Queryable<DtStockInfo>()
+                                .Where(x => x.OutboundTime >= startOfDay && x.OutboundTime < endOfDay && x.IsFull)
+                                .Includes(x => x.StockInfoDetails)
+                                .ToList();
+
+            var result = filteredItems
+                .GroupBy(x => x.AreaCode)
+                .Select(g => new GroupedStockInfo
+                {
+                    AreaCode = g.Key,
+                    TotalQuantity = g.Sum(item => item.StockInfoDetails?.Count ?? 0),
+                    Items = g.ToList()
+                })
+                .ToList();
+            return content.OK(data: result);
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    /// <summary>
+    /// 鑾峰彇璐т綅鐘舵��
+    /// </summary>
+    /// <returns></returns>
+    public WebResponseContent GetStockQuantity()
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            var location = _locationRepository.Db.Queryable<DtLocationInfo>().ToList();
+
+            return content.OK(data: location);
+
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    public WebResponseContent Getproductionvolume()
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            var now = DateTime.Now;
+            var startOfDay = new DateTime(now.Year, now.Month, now.Day);
+            var endOfDay1 = startOfDay.AddDays(-7);
+            var taskHty = _task_HtyRepository.Db.Queryable<Dt_Task_Hty>().Where(it => it.CreateDate > endOfDay1).ToList();
+            return content.OK(data: taskHty);
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+
+    }
+
+    public WebResponseContent Getoutput()
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            var now = DateTime.Now;
+            var firstDayOfYear = new DateTime(now.Year, 1, 1);
+            var taskHty = _task_HtyRepository.Db.Queryable<Dt_Task_Hty>().Where(it => it.CreateDate > firstDayOfYear && it.TaskType == 100).ToList();
+            return content.OK(data: taskHty);
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+
+    }
+    #endregion
 }
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
index ef8ccf0..fd839d3 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -214,4 +214,34 @@
     {
         return await Service.SetEmptyOutbyInToOutOneAsync(input);
     }
+    [HttpPost, AllowAnonymous, Route("GetTaskInfo")]
+    public WebResponseContent GetTaskInfo()
+    {
+        return Service.GetTaskInfo();
+    }
+    [HttpPost, AllowAnonymous, Route("GetStockInfo")]
+    public WebResponseContent GetStockInfo()
+    {
+        return Service.GetStockInfo();
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撳瓨淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("GetStockQuantity")]
+    public WebResponseContent GetStockQuantity()
+    {
+        return Service.GetStockQuantity();
+    }
+    [HttpPost, AllowAnonymous, Route("Getproductionvolume")]
+    public WebResponseContent Getproductionvolume()
+    {
+        return Service.Getproductionvolume();
+    }
+    [HttpPost, AllowAnonymous, Route("Getoutput")]
+    public WebResponseContent Getoutput()
+    {
+        return Service.Getoutput();
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3