From c467a598f23fd81cf624e0abc5f012fb5c9c6ada Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期五, 25 四月 2025 09:54:00 +0800 Subject: [PATCH] 1 --- CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue | 55 CodeManagement/BigScreenVue/src/components/echart/index.vue | 16 CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff | 0 CodeManagement/BigScreenVue/src/views/indexs/index.vue | 207 + CodeManagement/BigScreenVue/src/views/indexs/center-bottom.vue | 363 ++ CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 7 CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff2 | 0 CodeManagement/BigScreenVue/src/components/message/message.vue | 74 CodeManagement/BigScreenVue/src/views/indexs/left-bottom.vue | 630 ++++ CodeManagement/BigScreenVue/src/views/tjfx/tjfx.vue | 37 CodeManagement/BigScreenVue/src/views/indexs/plan.vue | 363 ++ CodeManagement/BigScreenVue/src/components/kong.vue | 43 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs | 2 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user | 2 CodeManagement/BigScreenVue/src/views/indexs/right-center.vue | 451 +++ CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf | 0 CodeManagement/BigScreenVue/src/router/index.js | 39 CodeManagement/BigScreenVue/src/components/reacquire/reacquire.vue | 64 CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue | 29 CodeManagement/BigScreenVue/src/views/indexs/left-top.vue | 250 + CodeManagement/BigScreenVue/.gitignore | 3 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs | 6 CodeManagement/BigScreenVue/.env.test | 4 CodeManagement/BigScreenVue/src/views/indexs/center-map.vue | 384 ++ CodeManagement/BigScreenVue/.babelrc | 12 CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.ttf | 0 CodeManagement/BigScreenVue/src/api/ajax.js | 10 CodeManagement/BigScreenVue/src/views/indexs/station-two.vue | 463 +++ CodeManagement/BigScreenVue/src/views/indexs/right-bottom.vue | 194 + CodeManagement/BigScreenVue/src/views/indexs/station-three.vue | 441 +++ CodeManagement/BigScreenVue/LICENSE | 214 - CodeManagement/BigScreenVue/README.md | 346 +- CodeManagement/BigScreenVue/src/components/scale-screen/scale-screen.vue | 253 + CodeManagement/BigScreenVue/src/store/index.js | 32 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/CustomModels/DTSEmergencyTask.cs | 5 CodeManagement/BigScreenVue/src/views/indexs/right-top.vue | 299 ++ CodeManagement/BigScreenVue/src/views/indexs/station-one.vue | 294 ++ CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 6 CodeManagement/BigScreenVue/src/App.vue | 15 CodeManagement/BigScreenVue/src/utils/index.js | 9 CodeManagement/BigScreenVue/src/views/indexs/pass-two.vue | 442 +++ CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 12 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs | 7 CodeManagement/BigScreenVue/vue.config.js | 133 CodeManagement/BigScreenVue/src/views/indexs/left-center.vue | 256 + CodeManagement/BigScreenVue/public/favicon.ico | 0 CodeManagement/BigScreenVue/src/main.js | 79 CodeManagement/BigScreenVue/src/views/home.vue | 102 CodeManagement/BigScreenVue/.env.production | 7 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 40 CodeManagement/BigScreenVue/.env.dev | 7 CodeManagement/BigScreenVue/src/views/setting.vue | 105 CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff | 0 CodeManagement/BigScreenVue/src/views/indexs/station-four.vue | 237 + CodeManagement/BigScreenVue/src/views/indexs/left-center-right.vue | 257 + CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 9 /dev/null | 142 - CodeManagement/BigScreenVue/public/index.html | 54 CodeManagement/BigScreenVue/src/components/item-wrap/item-wrap.vue | 97 CodeManagement/BigScreenVue/src/utils/drawMixin.js | 22 CodeManagement/BigScreenVue/src/api/http.js | 26 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/ManageEnum.cs | 6 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 189 63 files changed, 7,163 insertions(+), 688 deletions(-) diff --git a/CodeManagement/BigScreenVue/.babelrc b/CodeManagement/BigScreenVue/.babelrc new file mode 100644 index 0000000..ef058f1 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/.env.dev b/CodeManagement/BigScreenVue/.env.dev new file mode 100644 index 0000000..0d4ff64 --- /dev/null +++ b/CodeManagement/BigScreenVue/.env.dev @@ -0,0 +1,7 @@ + +# 寮�鍙戠幆澧冿紝寮�鍙戞椂姝e父閮界敤杩欎釜 +NODE_ENV = development +# 褰撳墠鐜锛屽紑鍙戠幆澧冿紝鍙互闅忎究淇敼锛岄厤鍚堟墦鍖呭閰嶇疆涓庢鏂囦欢鍚嶅瓧 +VUE_APP_URL_ENV = development +# 鎵撳寘鍚庢枃浠跺す鍚嶅瓧 +VUE_APP_outputDir = development diff --git a/CodeManagement/BigScreenVue/.env.production b/CodeManagement/BigScreenVue/.env.production new file mode 100644 index 0000000..d1dec1a --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/.env.test b/CodeManagement/BigScreenVue/.env.test new file mode 100644 index 0000000..c75c0d1 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/.gitignore b/CodeManagement/BigScreenVue/.gitignore index a0dddc6..4c2e0cd 100644 --- a/CodeManagement/BigScreenVue/.gitignore +++ b/CodeManagement/BigScreenVue/.gitignore @@ -1,6 +1,8 @@ .DS_Store node_modules /dist +/dist-* + # local env files .env.local @@ -10,6 +12,7 @@ npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* # Editor directories and files .idea diff --git a/CodeManagement/BigScreenVue/LICENSE b/CodeManagement/BigScreenVue/LICENSE index 261eeb9..a782c28 100644 --- a/CodeManagement/BigScreenVue/LICENSE +++ b/CodeManagement/BigScreenVue/LICENSE @@ -1,201 +1,21 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +MIT License - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2022 daidai - 1. Definitions. +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: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +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/CodeManagement/BigScreenVue/README.md b/CodeManagement/BigScreenVue/README.md index 43f4389..303b36b 100644 --- a/CodeManagement/BigScreenVue/README.md +++ b/CodeManagement/BigScreenVue/README.md @@ -1,200 +1,238 @@ - **QQ浜ゆ祦缇わ細 713105837 寮�婧愰」鐩甐ue/Vue3/React-big-screen浜ゆ祦缇�** -QQ缇や簩缁寸爜锛� - +## 椤圭洰鎻忚堪 -## 涓�銆侀」鐩弿杩� -- 涓�涓熀浜� Vue銆丏atav銆丒chart 妗嗘灦鐨� " **鏁版嵁澶у睆椤圭洰** "锛岄�氳繃 Vue 缁勪欢瀹炵幇鏁版嵁鍔ㄦ�佸埛鏂版覆鏌擄紝鍐呴儴鍥捐〃鍙疄鐜拌嚜鐢辨浛鎹€�傞儴鍒嗗浘琛ㄤ娇鐢� DataV 鑷甫缁勪欢锛屽彲杩涜鏇存敼锛岃鎯呰鐐瑰嚮涓嬫柟 DataV 鏂囨。銆� -- [**Vue3 鐗堟湰璇风偣鍑昏繖閲屾煡鐪嬶紝浣跨敤 Hooks+TypeScript 瀹炵幇锛屽叏鏂板唴瀹圭瓑浣犳帰绱�!**](https://gitee.com/MTrun/vue-big-screen-plugin) -- [**React 鐗堟湰璇风偣鍑昏繖閲屾煡鐪嬶紝鍏ㄦ柊鐣岄潰瓒呯骇濂界湅锛侊紒锛�**](https://gitee.com/MTrun/react-big-screen) +鏍规嵁濂旇窇鍚ч潰鏉$殑**[vue-big-screen](https://gitee.com/MTrun/big-screen-vue-datav)**寮�婧愭鏋跺熀纭�涓婅繘琛屼慨鏀广�� + - 椤圭洰闇�瑕佸叏灞忓睍绀猴紙鎸� F11锛夈�� + - 椤圭洰閮ㄥ垎鍖哄煙浣跨敤浜嗗叏灞�娉ㄥ唽鏂瑰紡锛屽鍔犱簡鎵撳寘浣撶Н锛屽湪瀹為檯杩愮敤涓浣跨敤 **鎸夐渶寮曞叆**銆� -- 鎷夊彇椤圭洰涔嬪悗锛屽缓璁寜鐓ц嚜宸辩殑鍔熻兘鍖哄煙閲嶅懡鍚嶆枃浠讹紝鐜颁互绠�鍗曠殑浣嶇疆杩涜鍖哄垎銆� -- 椤圭洰鐜锛歏ue-cli-3.0銆丏ataV-2.7.3銆丒charts-4.6.0(濡傛灉5.x鐗堟湰鏈夐棶棰橈紝璇峰垏鎹㈠埌4.x鐗堟湰)銆乄ebpack-4.0銆丯pm-6.13銆丯ode-v12.16銆� + +- 椤圭洰鐜锛歏ue-cli銆丏ataV銆丒charts銆乄ebpack銆丯pm銆丯ode锛宎xios,mock銆� + - 璇锋媺鍙� master 鍒嗘敮鐨勪唬鐮侊紝鍏朵綑鍒嗘敮鏄紑鍙戝垎鏀�� -- 闇�瑕佸叾瀹冨湴鍥炬暟鎹殑锛岃鏌ョ湅鎴戠殑鍏跺畠椤圭洰锛堟湁涓�涓湴鍥惧悎闆嗭級 + +- 鍦ㄩ」鐩畃ublic鐩綍涓嬪瓨鏀惧湴鍥炬暟鎹悎闆嗭紝鏍规嵁鍦板競缂栧瓨鏀俱�� + 鍙嬫儏閾炬帴锛� -1. [Vue 瀹樻柟鏂囨。](https://cn.vuejs.org/v2/guide/instance.html) -2. [DataV 瀹樻柟鏂囨。](http://datav.jiaminghi.com/guide/) -3. [echarts 瀹炰緥](https://echarts.apache.org/examples/zh/index.html)锛孾echarts API 鏂囨。](https://echarts.apache.org/zh/api.html#echarts) -4. [椤圭洰 gitee 鍦板潃锛堝浗鍐呴�熷害蹇級](https://gitee.com/MTrun/big-screen-vue-datav) +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/) -椤圭洰灞曠ず - +**椤圭洰灞曠ず** -## 浜屻�佷富瑕佹枃浠朵粙缁� + -| 鏂囦欢 | 浣滅敤/鍔熻兘 | -| ------------------- | --------------------------------------------------------------------- | -| main.js | 涓荤洰褰曟枃浠讹紝寮曞叆 Echart/DataV 绛夋枃浠� | -| utils | 宸ュ叿鍑芥暟涓� mixins 鍑芥暟绛� | -| views/ index.vue | 椤圭洰涓荤粨鏋� | -| views/鍏朵綑鏂囦欢 | 鐣岄潰鍚勪釜鍖哄煙缁勪欢锛堟寜鐓т綅缃潵鍛藉悕锛� | -| assets | 闈欐�佽祫婧愮洰褰曪紝鏀剧疆 logo 涓庤儗鏅浘鐗� | -| assets / style.scss | 閫氱敤 CSS 鏂囦欢锛屽叏灞�椤圭洰蹇嵎鏍峰紡璋冭妭 | -| assets / index.scss | Index 鐣岄潰鐨� CSS 鏂囦欢 | -| components/echart | 鎵�鏈� echart 鍥捐〃锛堟寜鐓т綅缃潵鍛藉悕锛� | -| common/... | 鍏ㄥ眬灏佽鐨� ECharts 鍜� flexible 鎻掍欢浠g爜锛堥�傞厤灞忓箷灏哄锛屽彲瀹氬埗鍖栦慨鏀癸級 | +### 椤圭洰棰勮鍦板潃 -## 涓夈�佷娇鐢ㄤ粙缁� +[https://www.daidaibg.com/bigscreen](https://www.daidaibg.com/bigscreen) -### 鍚姩椤圭洰 +### 椤圭洰浠撳簱鍦板潃 -闇�瑕佹彁鍓嶅畨瑁呭ソ `nodejs` 涓� `yarn`,涓嬭浇椤圭洰鍚庡湪椤圭洰涓荤洰褰曚笅杩愯 `yarn` 鎷夊彇渚濊禆鍖呫�傚畨瑁呭畬渚濊禆鍖呬箣鍚庣劧鍚庝娇鐢� `vue-cli` 鎴栬�呯洿鎺ヤ娇鐢ㄥ懡浠npm run serve`锛屽氨鍙互鍚姩椤圭洰锛屽惎鍔ㄩ」鐩悗闇�瑕佹墜鍔ㄥ叏灞忥紙鎸� F11锛夈�傚鏋滅紪璇戦」鐩殑鏃跺�欐彁绀烘病鏈� DataV 妗嗘灦鐨勪緷璧栵紝杈撳叆 `npm install @jiaminghi/data-view` 鎴栬�� `yarn add @jiaminghi/data-view` 杩涜鎵嬪姩瀹夎銆� +**github鍦板潃** -### 灏佽缁勪欢娓叉煋鍥捐〃 +[https://github.com/daidaibg/IofTV-Screen](https://github.com/daidaibg/IofTV-Screen) -鎵�鏈夌殑 ECharts 鍥捐〃閮芥槸鍩轰簬 `common/echart/index.vue` 灏佽缁勪欢鍒涘缓鐨勶紝宸茬粡瀵规暟鎹拰灞忓箷鏀瑰姩杩涜浜嗙洃鍚紝鑳藉鍔ㄦ�佹覆鏌撳浘琛ㄦ暟鎹拰澶у皬銆傚湪鐩戝惉绐楀彛灏忓ぇ鐨勬ā鍧楋紝浣跨敤浜嗛槻鎶栧嚱鏁版潵鎺у埗鏇存柊棰戠巼锛岃妭绾︽祻瑙堝櫒鎬ц兘銆� +**Gitee鍦板潃** -椤圭洰閰嶇疆浜嗛粯璁ょ殑 ECharts 鍥捐〃鏍峰紡锛屾枃浠跺湴鍧�锛歚common/echart/theme.json`銆� +[https://gitee.com/daidaibg/IofTV-Screen](https://gitee.com/daidaibg/IofTV-Screen) -灏佽鐨勬覆鏌撳浘琛ㄧ粍浠舵敮鎸佷紶鍏ヤ互涓嬪弬鏁帮紝鍙牴鎹笟鍔¢渶姹傝嚜琛屾坊鍔�/鍒犻櫎銆� +### vue3+vite鐗堟湰鍦板潃 -鍙傛暟鍚嶇О | 绫诲瀷 | 浣滅敤/鍔熻兘 | -| -------------------| --------- | ------------------------------| -| id | String | 鍞竴 id锛屾覆鏌撳浘琛ㄧ殑鑺傜偣锛堥潪蹇呭~锛屼娇鐢ㄤ簡 $el锛墊 -| className | String | class鏍峰紡鍚嶇О锛堥潪蹇呭~锛� | -| options | Object | ECharts 閰嶇疆锛堝繀濉級 | -| height | String | 鍥捐〃楂樺害锛堝缓璁~锛� | -| width | String | 鍥捐〃瀹藉害锛堝缓璁~锛� | +**github鍦板潃** -### 鍔ㄦ�佹覆鏌撳浘琛� +[https://github.com/daidaibg/IofTV-Screen-Vue3](https://github.com/daidaibg/IofTV-Screen-Vue3) -鍔ㄦ�佹覆鏌撳浘琛ㄦ渚嬩负 `components` 鐩綍涓嬪悇涓浘琛ㄧ粍浠讹紝index 鏂囦欢璐熻矗鏁版嵁鑾峰彇鍜屽鐞嗭紝chart 鏂囦欢璐熻矗鐩戝惉鍜屾暟鎹覆鏌撱�� +**Gitee鍦板潃** -chart 鏂囦欢鐨勪富瑕侀�昏緫涓猴細 +[https://gitee.com/daidaibg/IofTV-Screen-Vue3](https://gitee.com/daidaibg/IofTV-Screen-Vue3) -```html +### 1.1.0鐗堟湰寮�濮嬮噰鐢ㄨ嚜閫傚簲缁勪欢鏂瑰紡锛屼笉鍐嶄娇鐢╩ixin鏂瑰紡銆� + +### 婊氬姩璁剧疆锛岃嚜閫傚簲璁剧疆 + +椤圭洰涓彲浠ヨ繘琛屾粴鍔ㄩ厤缃紝鍐呭鏄惁婊氬姩 + +鐐瑰嚮鍙充笂瑙掕缃寜閽� + + + + +鍙互杩涜浠ヤ笅閰嶇疆锛屽彲浠ヨ嚜琛屼唬鐮佷腑杩涜淇敼鎴栧鍔犻厤缃� + + + +![鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩癩(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> - <div> - <Echart :options="options" id="id" height="height" width="width" ></Echart> - </div> + <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 Echart from '@/common/echart' +import ScaleScreen from 'scale-screen' + export default { - // 瀹氫箟閰嶇疆鏁版嵁 - data(){ return { options: {}}}, - // 澹版槑缁勪欢 - components: { Echart}, - // 鎺ユ敹鏁版嵁 - props: { - cdata: { - type: Object, - default: () => ({}) - }, - }, - // 杩涜鐩戝惉锛屼篃鍙互浣跨敤 computed 璁$畻灞炴�у疄鐜版鍔熻兘 - watch: { - cdata: { - handler (newData) { - this.options ={ - // 杩欓噷缂栧啓 ECharts 閰嶇疆 - } - }, - // 绔嬪嵆鐩戝惉 - immediate: true, - // 娣卞害鐩戝惉 - deep: true - } - } -}; -</script> -``` - -### 澶嶇敤鍥捐〃缁勪欢 - -澶嶇敤鍥捐〃缁勪欢妗堜緥涓轰腑闂撮儴鍒嗙殑 `浠诲姟閫氳繃鐜囦笌浠诲姟杈炬爣鐜嘸 妯″潡锛屼袱涓浘琛ㄧ被浼硷紝鍖哄埆鍦ㄤ簬棰滆壊鍜屼富瑕佹覆鏌撴暟鎹�傚彧闇�瑕佷紶鍏ュ搴旂殑鍞竴 id 鍜屾牱寮忥紝鐒跺悗鍦ㄥ鐢ㄧ殑缁勪欢 `components/echart/center/centerChartRate` 閲岃繘琛屾帴鏀跺苟鍦ㄥ搴斾綅缃祴鍊煎嵆鍙�� - -濡傦細鍦ㄨ皟鐢ㄥ `views/center.vue` 閲屽幓瀹氫箟濂芥暟鎹苟浼犲叆缁勪欢 - -```js -//缁勪欢璋冪敤 -<span>浠婃棩浠诲姟閫氳繃鐜�</span> -<centerChart :id="rate[0].id" :tips="rate[0].tips" :colorObj="rate[0].colorData" /> - -<span>浠婃棩浠诲姟杈炬爣鐜�</span> -<centerChart :id="rate[1].id" :tips="rate[1].tips" :colorObj="rate[1].colorData" /> - -... -import centerChart from "@/components/echart/center/centerChartRate"; - -data() { - return { - rate: [ - { - id: "centerRate1", - tips: 60, - ... - }, - { - id: "centerRate2", - tips: 40, - colorData: { - ... - } - } - ] + 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 | -### 鏇存崲杈规 +## 鍏敤缁勪欢 -杈规鏄娇鐢ㄤ簡 DataV 鑷甫鐨勭粍浠讹紝鍙渶瑕佸幓 views 鐩綍涓嬪幓瀵绘壘瀵瑰簲鐨勪綅缃幓鏌ユ壘骞舵浛鎹㈠氨鍙互锛屽叿浣撶殑绉嶇被璇峰幓 DavaV 瀹樼綉鏌ョ湅 -濡傦細 +灏佽浜嗛櫎闈㈡潯澶栦釜鍒敤鍒扮殑缁勪欢 -```html -<dv-border-box-1></dv-border-box-1> -<dv-border-box-2></dv-border-box-2> -<dv-border-box-3></dv-border-box-3> -``` +### 5.1 message娑堟伅鎻愮ず -### 鏇存崲鍥捐〃 +鍥犱负鍒氬紑濮嬫病鎯崇潃鐢ㄧ涓夋柟鎻愮ず搴擄紝鑷繁绠�鍗曞皝瑁呬簡涓�涓�� -鐩存帴杩涘叆 `components/echart` 涓嬬殑鏂囦欢淇敼鎴愪綘瑕佺殑 echarts 妯℃牱锛屽彲浠ュ幓[echarts 瀹樻柟绀惧尯](https://gallery.echartsjs.com/explore.html#sort=rank~timeframe=all~author=all)閲岄潰鏌ョ湅妗堜緥銆� +娉細缁勪欢鍐呴儴鐩墠鍙湁warning锛岀被鍨嬶紝濡傛灉闇�瑕佸叾浠栫被鍨嬭嚜宸辩粍浠跺唴娣诲姞銆� -### Mixins 瑙e喅鑷�傚簲閫傞厤鍔熻兘 - -浣跨敤 mixins 娉ㄥ叆瑙e喅浜嗙晫闈㈠ぇ灏忓彉鍔ㄥ浘琛ㄨ嚜閫傚簲閫傞厤鐨勫姛鑳斤紝鍑芥暟鍦� `utils/resizeMixins.js` 涓紝搴旂敤鍦� `common/echart/index.vue` 鐨勫皝瑁呮覆鏌撶粍浠讹紝涓昏鏄 `this.chart` 杩涜浜嗗姛鑳芥敞鍏ャ�� - -### 灞忓箷閫傞厤 - -1.5 鐗堟湰椤圭洰鏀惧純浜� flexible 鎻掍欢鏂规锛屽皢 rem 鏀瑰洖px锛屼娇鐢ㄦ洿娴佺▼閫氱敤鐨� `css3锛歴cale` 缂╂斁鏂规锛岄�氳繃 `ref` 鎸囧悜 `views/index`锛屽睆骞曟敼鍙樻椂缂╂斁鍐呭銆傞」鐩殑鍩哄噯灏哄鏄� `1920px*1080px`锛屾墍浠ユ敮鎸佸悓姣斾緥灞忓箷 100% 濉厖锛屽鏋滈潪鍚屾瘮渚嬪垯浼氳嚜鍔ㄨ绠楁瘮渚嬪眳涓~鍏咃紝涓嶈冻鐨勯儴鍒嗗垯鐣欑櫧銆傚疄鐜颁唬鐮佸湪 `src/utils/userDraw` 锛屽鏋滄湁鍏跺畠鐨勯�傞厤鏂规锛屾杩庝氦娴併�� - -### 璇锋眰鏁版嵁 - -鐜板湪鐨勯」鐩湭浣跨敤鍓嶅悗绔暟鎹姹傦紝寤鸿浣跨敤 axios 杩涜鏁版嵁璇锋眰锛屽湪 main.js 浣嶇疆杩涜鍏ㄥ眬閰嶇疆銆� - -- axios 鐨� main.js 閰嶇疆鍙傝�冭寖渚嬶紙鍥犱汉鑰屽紓锛� +鍥犲湪main.js娉ㄥ唽鍏ㄥ眬鍙互鐩存帴浣跨敤锛屼笉闇�瑕佸紩鍏� ```js -import axios from 'axios'; - -//鎶婃柟娉曟斁鍒皏ue鐨勫師鍨嬩笂锛岃繖鏍峰氨鍙互鍏ㄥ眬浣跨敤浜� -Vue.prototype.$http = axios.create({ - //璁剧疆20绉掕秴鏃舵椂闂� - timeout: 20000, - baseURL: 'http://172.0.0.1:80080', //杩欓噷鍐欏悗绔湴鍧� -}); + this.$Message({ + text: res.msg, + type: 'warning' + }) +//涔熷彲浠ヨ繖鏍� +this.$Message.warning(res.msg) ``` -## 鍥涖�佹洿鏂版儏鍐� +| 鍙傛暟 | 鎻忚堪 | 榛樿鍊� | 绫诲瀷 | 鍙�夊�� | +| :--: | :------: | :-----: | :----: | :-----: | +| text | 鎻愮ず鏂囧瓧 | - | string | - | +| type | 寮圭獥绫诲瀷 | warning | string | warning | -1. 澧炲姞浜� Echart 缁勪欢澶嶇敤鐨勫姛鑳斤紝濡傦細涓棿浠诲姟杈炬爣鐜囩殑涓や釜鐧惧垎姣斿浘浣跨敤鐨勬槸鍚屼竴涓粍浠躲�� -2. 淇浜嗗ご閮ㄥ彸渚х殑鍥炬鏉′笉瀵圭О鐨勯棶棰樸�� -3. 浣跨敤 Mixins 娉ㄥ叆鍥捐〃鍝嶅簲寮忎唬鐮侊紙scale鏂规涔嬪悗鏃犻渶浣跨敤锛夈�� -4. vue-awesome 鏀规垚鎸夐渶寮曞叆鐨勬柟寮忋�� -5. 灏佽娓叉煋鍑芥暟锛屾娊绂讳簡鏁版嵁浣块�昏緫鏇村姞娓呮櫚銆� -6. 鏂板鍦板浘缁勪欢锛屽苟娣诲姞鑷姩杞挱鍔熻兘 -7. 灏嗛�傞厤鏂规浠� rem 鏀规垚 scale -## 浜斻�佸叾浣� +### 5.2 澶栬竟妗� -杩欎釜椤圭洰鏄釜浜虹殑浣滃搧锛岄毦鍏嶄細鏈夐棶棰樺拰 BUG锛屽鏋滄湁闂璇疯繘琛岃瘎璁猴紝鎴戜篃浼氬敖鍔涘幓鏇存柊锛岃嚜宸变篃鍦ㄥ墠绔涔犵殑璺笂锛屾杩庝氦娴侊紝闈炲父鎰熻阿锛� \ No newline at end of file +鍥犱负鎴戠殑椤圭洰澶栬竟妗嗗嚑涔庝竴鏍凤紝杩樻湁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缇や簩缁寸爜锛� + + + diff --git a/CodeManagement/BigScreenVue/babel.config.js b/CodeManagement/BigScreenVue/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/CodeManagement/BigScreenVue/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/CodeManagement/BigScreenVue/public/favicon.ico b/CodeManagement/BigScreenVue/public/favicon.ico index df36fcf..05e57cc 100644 --- a/CodeManagement/BigScreenVue/public/favicon.ico +++ b/CodeManagement/BigScreenVue/public/favicon.ico Binary files differ diff --git a/CodeManagement/BigScreenVue/public/image.png b/CodeManagement/BigScreenVue/public/image.png deleted file mode 100644 index 099507b..0000000 --- a/CodeManagement/BigScreenVue/public/image.png +++ /dev/null Binary files differ diff --git a/CodeManagement/BigScreenVue/public/index.html b/CodeManagement/BigScreenVue/public/index.html index a4b90a4..6018efb 100644 --- a/CodeManagement/BigScreenVue/public/index.html +++ b/CodeManagement/BigScreenVue/public/index.html @@ -1,18 +1,38 @@ <!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <!-- <meta name="viewport" content="width=device-width,initial-scale=1.0"> --> - <meta name="viewport" content="width=device-width,user-scalable=yes, initial-scale=0.4, maxmum-scale=1.0, minimum-scale=0.4"> - <link rel="icon" href="<%= BASE_URL %>favicon.ico"> - <title><%= htmlWebpackPlugin.options.title %></title> - </head> - <body> - <noscript> - <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> - </noscript> - <div id="app"></div> - <!-- built files will be auto injected --> - </body> -</html> +<html lang=""> + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width,initial-scale=1.0"> + <link rel="icon" href="<%= BASE_URL %>favicon.ico"> + <link href="./style.css" rel="stylesheet"> + + <title> + 澶у睆 + </title> + +</head> + +<body> + <noscript> + <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. + Please enable it to continue.</strong> + </noscript> + <div id="app"> + <div class="container_nomount"> + <div class="loading"> + <span></span> + <span></span> + <span></span> + <span></span> + <span></span> + </div> + <h2>Loading...</h2> + </div> + + </div> + <!-- built files will be auto injected --> +</body> + +</html> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/App.vue b/CodeManagement/BigScreenVue/src/App.vue index 5b680b1..1381901 100644 --- a/CodeManagement/BigScreenVue/src/App.vue +++ b/CodeManagement/BigScreenVue/src/App.vue @@ -1,6 +1,13 @@ +<!-- + * @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 /> + <router-view/> </div> </template> @@ -8,7 +15,7 @@ #app { width: 100vw; height: 100vh; - background-color: #020308; - overflow: hidden; + background-color: #03050C; + // overflow: hidden; } -</style> +</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/api/ajax.js b/CodeManagement/BigScreenVue/src/api/ajax.js index 7544414..e04170d 100644 --- a/CodeManagement/BigScreenVue/src/api/ajax.js +++ b/CodeManagement/BigScreenVue/src/api/ajax.js @@ -1,7 +1,10 @@ // 杩欎釜鏃禷xios鐨勯厤缃� import axios from 'axios'; // import { config } from 'vue/types/umd'; -axios.defaults.baseURL = 'http://localhost:8098';//'http://192.168.2.110:8098';// +axios.defaults.withCredentials=true; +axios.defaults.crossDomain=true; +axios.defaults.baseURL = 'http://10.30.4.92:9283';//'http://192.168.2.51:8099'; //'http://localhost:8099'; //'http://192.168.2.51:8099';// +axios.defaults.headers.post["Content-Type"]="application/json;charset=utf-8"; // 閿欒淇℃伅澶勭悊 const errorHandle = (status, other) => { switch (status) { @@ -29,6 +32,7 @@ // console.log(config); if(localStorage.elementToken){ config.headers.Authorization=localStorage.elementToken; + config.headers.con; } // console.log(config); return config; @@ -43,7 +47,7 @@ // console.log(); // console.log(response.data.token); // response.headers['Authorization'] = response.data.token; - return response.status=== 200 ? Promise.resolve(response): Promise.reject(response); + return response.status=== 200 ? response.data: response.data; }, function (error) { // 瀵瑰搷搴旈敊璇仛鐐逛粈涔� const {response}=error; @@ -51,7 +55,7 @@ errorHandle(response.status,response.data.message) return Promise.reject(response.data); }else{ - console.log('鏂簡'); + } }); export default axios; \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/api/http.js b/CodeManagement/BigScreenVue/src/api/http.js index c8128bc..bb40ce8 100644 --- a/CodeManagement/BigScreenVue/src/api/http.js +++ b/CodeManagement/BigScreenVue/src/api/http.js @@ -1 +1,25 @@ -import axios from './ajax'; \ No newline at end of file +import axios from './ajax'; +//鎴愬搧鎵ц浠诲姟缁熻 +export function Floorfault (data) { + return axios.post('/api/Large/ProMonthTaskStatistics', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜� +} +//鎴愬搧璐т綅缁熻 +export function ProLocationStatistics (data) { + return axios.post('/api/Large/ProLocationStatistics?id=7', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜� +} +//鎴愬搧杩戜竷澶╃粺璁� +export function Productions (data) { + return axios.post('/api/Large/Productions', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜� +} +//鎴愬搧鍑哄簱浜ч噺缁熻 +export function ProductionsOut (data) { + return axios.post('/api/Large/ProductionsOut', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜� +} +//鎴愬搧鎺掕 +export function ProductionRanking (data) { + return axios.post('/api/Large/ProductionRanking', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜� +} +//鎴愬搧搴撳瓨 +export function ProductionStock (data) { + return axios.post('/api/Large/ProductionStock', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜� +} diff --git a/CodeManagement/BigScreenVue/src/assets/bg5.jpg b/CodeManagement/BigScreenVue/src/assets/bg5.jpg deleted file mode 100644 index 01dd57b..0000000 --- a/CodeManagement/BigScreenVue/src/assets/bg5.jpg +++ /dev/null Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/cnmc_logo.png b/CodeManagement/BigScreenVue/src/assets/cnmc_logo.png deleted file mode 100644 index a193fad..0000000 --- a/CodeManagement/BigScreenVue/src/assets/cnmc_logo.png +++ /dev/null Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf b/CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf new file mode 100644 index 0000000..91b74de --- /dev/null +++ b/CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.ttf Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff b/CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff new file mode 100644 index 0000000..02b9a25 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/assets/css/theme/fonts/element-icons.woff Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/head_bg1.png b/CodeManagement/BigScreenVue/src/assets/head_bg1.png deleted file mode 100644 index 5dff0a4..0000000 --- a/CodeManagement/BigScreenVue/src/assets/head_bg1.png +++ /dev/null Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.ttf b/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.ttf new file mode 100644 index 0000000..4846ee3 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.ttf Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff b/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff new file mode 100644 index 0000000..a4600dc --- /dev/null +++ b/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff2 b/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff2 new file mode 100644 index 0000000..8154396 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/assets/iconfont/iconfont.woff2 Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/logo.png b/CodeManagement/BigScreenVue/src/assets/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/CodeManagement/BigScreenVue/src/assets/logo.png +++ /dev/null Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/pageBg.png b/CodeManagement/BigScreenVue/src/assets/pageBg.png deleted file mode 100644 index d393f2b..0000000 --- a/CodeManagement/BigScreenVue/src/assets/pageBg.png +++ /dev/null Binary files differ diff --git a/CodeManagement/BigScreenVue/src/assets/scss/_variables.scss b/CodeManagement/BigScreenVue/src/assets/scss/_variables.scss deleted file mode 100644 index 80edb92..0000000 --- a/CodeManagement/BigScreenVue/src/assets/scss/_variables.scss +++ /dev/null @@ -1,98 +0,0 @@ -// 棰滆壊 -$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 -.d-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/CodeManagement/BigScreenVue/src/assets/scss/index.scss b/CodeManagement/BigScreenVue/src/assets/scss/index.scss deleted file mode 100644 index 678c340..0000000 --- a/CodeManagement/BigScreenVue/src/assets/scss/index.scss +++ /dev/null @@ -1,146 +0,0 @@ -#index { - color: #d3d6dd; - width: 1920px; - height: 1080px; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - transform-origin: left top; - overflow: hidden; - - .bg { - width: 100%; - height: 100%; - padding: 25px 16px 0 16px; - background-image: url("../assets/bg5.jpg"); - // url("../assets/bg5.jpg"); - background-size: cover; - background-position: center center; - } - - .host-body { - .dv-dec-10, - .dv-dec-10-s { - width: 133.3%; - height: 5px; - } - .dv-dec-10-s { - transform: rotateY(180deg); - } - .dv-dec-8 { - width: 200px; - height: 50px; - } - .title { - position: relative; - width: 500px; - text-align: center; - background-size: cover; - background-repeat: no-repeat; - - .title-text { - font-size: 25px; - position: absolute; - padding-top: 10px; - left: 30%; - transform: translate(-50%); - } - - .dv-dec-6 { - position: absolute; - bottom: -30px; - left: 30%; - width: 250px; - height: 8px; - transform: translate(-50%); - } - } - - // 绗簩琛� - .aside-width { - width: 40%; - } - .react-r-s, - .react-l-s { - background-color: #0f1325; - } - - // 骞宠鍥涜竟褰� - .react-right { - &.react-l-s { - text-align: right; - width: 500px; - } - font-size: 18px; - width: 300px; - line-height: 30px; - text-align: center; - transform: skewX(-45deg); - - .react-after { - position: absolute; - right: -25px; - top: 0; - height: 50px; - width: 50px; - background-color: #0f1325; - transform: skewX(45deg); - } - - .text { - padding-left: 80px; - display: inline-block; - transform: skewX(45deg); - } - } - - .react-left { - &.react-l-s { - width: 500px; - text-align: left; - } - font-size: 18px; - width: 300px; - height: 50px; - line-height: 50px; - text-align: center; - transform: skewX(45deg); - background-color: #0f1325; - - .react-before { - position: absolute; - left: -25px; - top: 0; - height: 50px; - width: 50px; - background-color: #0f1325; - transform: skewX(-45deg); - } - - .text { - display: inline-block; - transform: skewX(-45deg); - } - } - - .body-box { - margin-top: 1px; - display: flex; - flex-direction: column; - - //涓嬫柟鍖哄煙鐨勫竷灞� - .content-box { - display: grid; - grid-template-columns:35% 65%; - } - - // 搴曢儴鏁版嵁 - .bototm-box { - margin-top: 1px; - display: grid; - grid-template-columns: 35% 35% 30%; - } - } - } -} diff --git a/CodeManagement/BigScreenVue/src/assets/scss/style.scss b/CodeManagement/BigScreenVue/src/assets/scss/style.scss deleted file mode 100644 index 17b9778..0000000 --- a/CodeManagement/BigScreenVue/src/assets/scss/style.scss +++ /dev/null @@ -1,185 +0,0 @@ -@import "./variables"; - -// 鍏ㄥ眬鏍峰紡 -* { - margin: 0; - padding: 0; - list-style-type: none; - outline: none; - box-sizing: border-box; -} - -html { - margin: 0; - padding: 0; -} - -body { - font-family: Arial, Helvetica, sans-serif; - line-height: 1.2em; - background-color: #f1f1f1; - margin: 0; - padding: 0; -} - -a { - color: #343440; - text-decoration: none; -} - -.clearfix { - &::after { - content: ""; - display: table; - height: 0; - line-height: 0; - visibility: hidden; - clear: both; - } -} - -//娴姩 -.float-r { - float: right; -} - -//娴姩 -.float-l { - float: left; -} - -// 瀛椾綋鍔犵矖 -.fw-b { - font-weight: bold; -} - -//鏂囩珷涓�琛屾樉绀猴紝澶氫綑鐪佺暐鍙锋樉绀� -.title-item { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.bg-color-black { - background-color: rgba(19, 25, 47, 0.6); -} - -.bg-color-blue { - background-color: #1a5cd7; -} - -.colorBlack { - color: #272727 !important; - - &:hover { - color: #272727 !important; - } -} - -.colorGrass { - color: #33cea0; - - &:hover { - color: #33cea0 !important; - } -} - -.colorRed { - color: #ff5722; - - &:hover { - color: #ff5722 !important; - } -} - -.colorText { - color: #d3d6dd !important; - - &:hover { - color: #d3d6dd !important; - } -} - -.colorBlue { - color: #257dff !important; - - &:hover { - color: #257dff !important; - } -} - -//棰滆壊 -@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; - } -} diff --git a/CodeManagement/BigScreenVue/src/common/map/fujian.js b/CodeManagement/BigScreenVue/src/common/map/fujian.js deleted file mode 100644 index c6f2c3f..0000000 --- a/CodeManagement/BigScreenVue/src/common/map/fujian.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ - -(function (root, factory) { - // eslint-disable-next-line - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - // eslint-disable-next-line - define(['exports', 'echarts'], factory); - } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { - // CommonJS - factory(exports, require('echarts')); - } else { - // Browser globals - factory({}, root.echarts); - } -}(this, function (exports, echarts) { - var log = function (msg) { - if (typeof console !== 'undefined') { - console && console.error && console.error(msg); - } - } - if (!echarts) { - log('ECharts is not Loaded'); - return; - } - if (!echarts.registerMap) { - log('ECharts Map is not loaded') - return; - } - echarts.registerMap('绂忓缓', {"type":"FeatureCollection","features":[{"id":"350100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@K@KLDBLBBIHCAA"],["@@CBABCD@FJFCFBDHFFBB@FM@CCEBCCEMC"],["@@ACCBBDDA"],["@@@CC@@DD@"],["@@B@A@"],["@@MCKEO@ICCCAEAKBKAAIAC@AVFPCRBBFBNHNBVXJ@DADCHAB@@GBCL@B@BCCIEEBC@CHCACG@ABKPA@CC"],["@@@A@B"],["@@A@CDC@WH@FLXCB@DFDATBFH@HELA@CCACI@AFAD@BA@AH@DED@FDBHHHJDT@JC@AEOECGKC@EDOQIACBG@CC@CKC"],["@@B@BCE@BD"],["@@J@BA@AAAI@ABBD"],["@@B@@ACABD"],["@@B@@AA@@B"],["@@B@AC@@@D"],["@@BAA@@B"],["@@@A@B"],["@@BAA@ABB@"],["@@DA@CCB@D"],["@@MDFFAFBH@BCFCDBN@BHFDJJHFBDCDMCCE@AA@EHOD@HDDABC@ECCGDCEGAGACC@G@A"],["@@B@@AA@@B"],["@@B@@AA@@B"],["@@B@A@"],["@@B@A@"],["@@B@AC@B@B"],["@@BA@AAB@B"],["@@BA@CC@ABCCC@@BDDHB"],["@@BKCEEAEF@HBDHDDA"],["@@E@AFCBC@CCABACA@AACFB@@BADQAALDDAB@JBFADLADGAC@@PBHF@@DCAAAECEJCDDAFBDCDBLDBBA@AAADAAADA@ADBDACGDACADCAADEGKE@AA"],["@@ABBBAFEBQBEDQBABCJOLEHD^NF\\BLGFMH@FKD@LBPENB@A@CM@CAAE@CBA@CE@A@@ABA@EDAAKE@MEC@"],["@@@HCBEAEJAH@BDDL@DCFDNBB@@CFBDEEEGGG@A@BCEEEA"],["@@ABFLAB@DJDFNDDJ@BCDAFHBBFC@CGEBCKEA@BEIC@CCBADIIA@ACC@"],["@@FD@A@CAC@ACABFAD"],["@@C@@BDDD@@FBB@DAB@B@BB@BA@AF@@CFEIEIC"],["@@BDHBB@CGBGEADAACCCEACCC@@DE@@DHDBFHJ"],["@@@AA@BB"],["@@FFB@@CACC@AB"],["@@ABD@@BB@HACCABE@"],["@@BBJ@DBDAAEA@CAABC@ACCH"],["@@ABBBF@AACA"],["@@@DFJDBFFHDB@@ECCEGEACEE@"],["@@DHDBD@FADCCEFAFBB@HKBECCEDC@A@CF@@AGEECCCGABABABCAEBAABCAAA@GH@DDDAFF@BBADGBECABARA@CGCECBABBFAFJD@HBBD@JABCDC@EAI@AF@FBF@@F"],["@@CBD@BAA@"],["@@B@@AA@@B"],["@@DBBACAAB"],["@@DFDAACA@AEA@@F"],["@@DB@CC@ABB@"],["@@FNFAFFFACGA@ACC@EEE@@B"],["@@@DBBF@AECAAB"],["@@BDB@@CBAEEA@BH"],["@@BBD@@ACCDAE@@D@B"],["@@JB@@AAE@CA@BB@"],["@@BDDBBAAC@CC@ACA@BH"],["@@DD@CD@ACC@AD"],["@@FDH@GEEB"],["@@C@ADHBBF@@DAFBCEIE"],["@@BCAEBA@IECABBJEHID@FMFBBBBBFD@FFD@D@@HBBF@RADCBE@CGCEBAAGG@CBC"],["@@B@@BD@@CAAAA@BAD@@"],["@@BDAE@B"],["@@CFDDD@DAJ@D@BAACBACC@EAACBABKH"],["@@BB@AA@"],["@@DBBGAAA@CA@BDFAB"],["@@@BDFDBB@CGEA"],["@@@BB@@AA@"],["@@EDBDB@FA@EC@"],["@@CF@DADDFB@BA@CBBHBBABAD@ACAABEAAEAIB"],["@@@@@A@B"],["@@BBBA@ACB"],["@@DB@CA@AB"],["@@DDB@@ABACCABAB"],["@@ABBBD@@CD@@ACACD"],["@@BBDAAEE@BF"],["@@@BB@AA@@"],["@@JFB@CEG@"],["@@@DFBAEC@"],["@@@DD@ACA@"],["@@ABFB@CC@"],["@@B@B@AAAB"],["@@BDB@ACA@"],["@@B@@@A@"],["@@JHB@ACGCA@"],["@@DDHFBBDCFDD@JHDA@@KKCAACEBEGGCABBDCD"],["@@DFNJHBJOJEBACGIACCK@CACBCCC@CDADDP"],["@@ADBBHAAABCAAED"],["@@@BBA@AAB"],["@@HBBCAEGF@B"],["@@HHB@GIAB"],["@@P@@A@CECM@@DDF"],["@@IKGACD@FNLHJHB@EGM"],["@@A@CDG@CBC@EFIDBBAD@BDDFA@FDFD@BICKDAD@JNDBBJAB@BPH@BJJF@FDAHHDF@DAJDBDB@@GCA@CBCCMIKBCE@CA@GECE@IEE@@ABACGIEC@"],["@@BA@ACBBB"],["@@BCAAAAC@DHB@"],["@@DB@CBAE@@D"],["@@@@@@"],["@@FAB@BCAAE@CDBD"],["@@JNPJF@DABAAI@ADAVHZFFBHJJDF@DA@EEI@EFG@C@A@KAEECEAC@GBIJC@IGQA@BC@GEEBE@GCABADMJC@@BAHBD"],["@@DDBA@CCAAB@B"],["@@BAAB"],["@@DBBA@CC@AD"],["@@JFBCDA@AACIACD@D"],["@@@BDAC@"],["@@B@BAA@AB"],["@@BBDBAEAAA@@D"],["@@@DHBBMCG@AAAC@AFBN"],["@@BBBCA@AB"],["@@@BBB@CA@"],["@@@DD@AEC@BB"],["@@BBBAACC@BD"],["@@BBB@@C@AG@DD"],["@@@BB@@CAB"],["@@BBBCC@@B"],["@@BBB@ACAB"],["@@@B@A"],["@@B@@AAB"],["@@BDF@CECB"],["@@ABDBBCC@"],["@@ABDBDEA@CB"],["@@@BBBDAAAC@"],["@@D@AAAB"],["@@E@@FB@@ADA@A"],["@@@BF@DEC@ED"],["@@DDD@@ACAC@"],["@@B@B@AAAB"],["@@HHDAAACEE@@B"],["@@B@AA@B"],["@@BDB@BCCAAB"],["@@FBAAC@@@"],["@@B@AAA@BB"],["@@BBF@B@@EEACB@D"],["@@BDB@@EC@@B"],["@@CDBBDAAC"],["@@CD@F@BDAHA@CD@@E@AC@GD"],["@@FFB@@ACGA@AD"],["@@ADB@BCA@"],["@@@BF@AAC@"],["@@@DBCA@"],["@@@AAAADD@"],["@@DIF@ACCBCAC@@DCBALA@@DF@FG"],["@@BDD@CI@@AF"],["@@@@@@"],["@@@BB@@AA@"],["@@BHBBFA@AAABCCCBCAAA@ABC@@FBB"],["@@CB@BF@@AAA"],["@@ADBDB@FMC@CF"],["@@ADBBDEC@"],["@@@BBAA@"],["@@ADD@@CA@"],["@@AB@BBC@@"],["@@B@@AAB"],["@@@B@A"],["@@@BDAC@"],["@@@BBDFADB@CE@ACCA@D"],["@@J@BCCCG@@H"],["@@A@@DBC@@"],["@@@EAACFAAAFBBBCF@"],["@@EDADD@DABBD@@EEA"],["@@@BBFCBC@A@ERBBJ@FBF@EFE@@DDBN@HED@FBCFFBBDD@JC@CEEBCAANCBCB@@CKEEEOAGCADE@ME"],["@@@BBBF@@CAAEB"],["@@@BBBBECA@D"],["@@ABBBDCCA@B"],["@@GDDFHABAACCA"],["@@BDB@DA@CAAA@CD"],["@@DB@CAAAD"],["@@ABBBHACAC@"],["@@DHH@BA@EFBBA@ICCACCBE@@FEF@D"],["@@DFHDBAACCCCACB"],["@@@DFBD@@CAAGA@B"],["@@B@@AA@@B"],["@@@DF@ACDCAGA@@FCF"],["@@@DDBDCBAAAE@AB"],["@@@BDAC@"],["@@DBBAEAABB@"],["@@ABBBBAAA"],["@@DBB@AAC@"],["@@@BB@@CA@@B"],["@@B@AA@B"],["@@@@@@@@"],["@@ADDADDDB@GEEE@BF"],["@@ADFBFBDA@ACACECBAB"],["@@BFFGCAA@AD"],["@@AB@BDCA@"],["@@B@@CE@AD@@F@"],["@@CDM@@BDBAFFBBDBB@FFDRFLDAK@ICEHKACGACBABC@K@"],["@@DBDA@CEAAB@D"],["@@DDAEA@@B"],["@@CCA@DLB@DCBCE@"],["@@BBBCCAABBB"],["@@BBBAAAAB"],["@@@BDJDBDDDACEBCDAHCBAEACDQ@"],["@@@DDAAAA@"],["@@AB@BFCA@A@"],["@@@BB@AA"],["@@@AAB@@B@"],["@@DBCA"],["@@@BB@@CAB"],["@@ADD@@CA@"],["@@AB@DDCAA"],["@@AAABD@"],["@@f聲f炉BGEOBGBCLKbqBEBOBCRORQBAIKAEBEVEZ@\\HjRXJ\\@FA@COeCEe_aUGEAOEEKAIAmDQEG@A@CRCDGFSDG@聟]GGBILENADC@EAIEIYWIACBMLOPIFI@聼_YCYAmGECGG@KDGRQBE@EAGUMAC@UAIEEoM]_YISKAM@MFILIFcFKBCNEPARM@ECEJYR@BWHMJyH]BEFAHBdNH@F@NERGLODMAiCUIaY聛OuCIGCSC{CMCICEEEGGWGeAeD{D聡HMBCH@DOAGCEQKEIEEMGCCEOCAAEEA@EJCBGFC@AQcQIUA聭JaA聣SAKMEKBGEAE@IHMDUAIBA`BNMFAJFF@^EFBHJJ@FCBGAQFM@GACQSACDKJ@REVBTCJDJDPNJBL@DAHMEQ@ATOFQHC@GAGHWBKCGKKAKDWFELKJM@E@EGG@GBADAJ@FDTVLDDABA@]BAlJHV@BEB@HHFBFVHFPDDTFREF@JDBD@DSHABDLCH@F@DH@@V@LKXELcPALIJAH@JJHH@BJLLBHXND@FAD@DBBPDHHFTJXFTLBH@@HAjZF@FAFG@KCEYa@C@GDOJMDAJA\\HLAD@HIFCH@PKPGFG@ECCECCIIK@ADCH@PMhKN@ZLH@DA@EE[GKYUKEGAI@CDGPGDIBiSGECCEUAWDODGBCXCDCDIDEBANDDBB@JCDIPHBDB@FEAKBIKS@KEEK@EBABCLCFAB[FGAECCEKCEBIAKIKCc[IAGACCEO@MHCN@FCLAFC@GMC@KEABCACE@EBCAAB@DA@GCE@SPCHAHGDCFSBIFKAKPKDW@C@@B@DVD@FAHEBAEM@CBEHGDCD@DNR@FG@CAC@IL@D{OAA@GCKCIYMG@CC@CHEPADAH@BBBHD@D@JILA@FAHBHF@F@FBFCDE@SDI@AEG@MEAIBGA@KAC@EJ[DC@MDA@AGEBEAAA@GHC@SMQCKE@CDAVBTHHHF@BA@CCMGIECEG_IWBABMBEAMIIAEBCHKN@HDBLBQXIV@LBFJLDRCFAPIDCH@LHJCDIFADDH@NCJGFMAEAEECEBEGUHIFADADE@IBAH@DBDEDKDI@AGEMECIAEACIEGBECAKEABG@CEEIAMEE@@JDF@D@HEBEBO@KAGIQEEQC@QHCD@JJP^XDD@HENQVGFGBCDBNJfCFGDE@GA]BCACIGOQSG[EACDBTCJON@DPJTT@HIFA@AHDVBFHHJ^AFGDMBI@OSAAEAiHEDATEFsVIFIDIAEIGUKsAODOJYJO@EBQAICCI@CECBCDGHO@IGG[IEIDM@OASBWTOJKVA`JZJRHFGDMEIBEF@TA@o]AIO@EAEJA@GACBADFJ@DELCD@DDBLANCD@LVBFENB@JCF@DDDBDDAHFP@FGNMT@PIJAPIGGCQOIGCCADAHIBIFICGBCBKRMDCRSTBBBBJBFGFCB@BHCPEB@EAAC@C@DN@DADEBIB@HBB@BBDGDALMFGFMR@HAH@JJTFPFJANFBHAJ@BBCFIBIJETBDNBDBBDCHADGAAHADEBI@@HIAAABAEC@BCB@A@AABBHHFPNJDJHLT@DABIDG@EBEBGHMGEHkDEAKGAACBCLA@CAEGGCKDCD@HEC@EgGMK_BSIACmAIGKDMAEEEIMCCCAGOGANDTDHBFCPEF@D@HDDF@DB@DADCBC@MG@GGGG@ICIOMMAKIACAQCGECBCGCCCEKGIIEAEEC@ABHL@FGBCCO@OGC@MDADEBG@QLEHADW@EBEGOI@AHABAMSUMWIICMBIDMNCBCA@CBEBGCGIGMAIMEEE@GBADL`@NCBUOI@EGCAKF@HA@CCIFAJSAMBED@BBBHFON]FO@EAI@ECACAOICEBIHIDAJABC@CA@EDMCAEDCA@CBOAGEAGAADELABGACA@MCGCAGPEBEAAC@CJIGEC@INUKIFOMCGDEEEGCYAEBCLKJGLGFC@IJKJALUPAJWFMJGJA@CBKEGBIFQRGV@LBBARCHIHCH@JG`EJSHGFKRMCEF@FVXDP@NDLD@LEHDLNF@HF@DEJIZABKFADBDJBCLDFN@BDCJV\\LNHC\\ULOFAFCBCI{BAJHP@FHBZCFAHAFC@AFBDJHHBPINALCP@JO@AACD@HB@BKPCJEBHHALBFNRDJAFG@AFDTHLAHDFKLBDDFDFEF@FEDJTBHCXGF@L@BH@ETBFJJBZIPAHAHBB\\CpBnHJ@XSRFONBHJHFNCBGCGBAFE^CBEFAN@LAFFHFLAFDD@FCBSGG@GFGNA`FL@LCFBD@LD@PGDBDDITDJDHBDCFBDABBB@BF@FDBB@DBB\\BTKFLIHKTEFPLFHDAhANINGLANJD@HCBDDLFHBDCDHB@F@NK`BHABHJVJDDCJH@D@@DD@BADCF@DBBD@DABKDBZDDNJFFHDHHR\\|AFABA@ENE\\EFB\\RHDDVDJBJEHQLE@EBCDGLIHDHEFGFQBEDAFDF@JJBELJPEDSH]PGFHNBFCRDJ@RBFHFD@HJRHBHAHIBBLCDEB@B@HDHVAFBD@DCHAT@FEFIEKBAJAPENEDG@]OK@CXSDEACC@@E@KFKJGJAL@XHbTJNBLPHDD@J@D\\HDDHDbJLAVBF@PSHEN@LHH\\ALEFOAEFAHDLPNDVFJLFRH`BFAJGF@DBBDFB@DEHBDFF@DOP@DDDFDD@LEHF@BCJBDJJ@DE@AD@HHBBDBNFBJED@@DANHD`CJ@DBNND@DADENIFEFE@EACIAKGEGAEDCRGL@PDB@DCDAJBBB@LDBD@@GDCAEFGACAAJADEBCFCAIFG@CDCHBFABB@DDBT@DAHGBBBHHBF@FCHBDAD@BFJJD@H@NFDDJNHDFJDBNEDENYHG@SDCNSFAD@ZHJJJZDFHAVIJGBCJCDDH聠HRVXFBF@VA@GFABAAIE@CE@CB@HD@CFCBFFBB@DAHDFH@FJFJAFFAFED@B@DBBH@DC@LDAH@DCDAVDFFJP@NBFPBNAJCJADAH@JDAHYJABBBH@BB@DDBLANOFANBVDNFT@HADCF@FB@DFBTKLC@EXBDCJKAC@INQJCBILELQ@AKIPUDCN@^KBC@EECDCDAJDFANKRBHGF@HFF@NEFCDC@EFA@CB@NABAAE@ADAF@RFNHDAHBPEJ@FBBH@DDHF@FENF@DPpDDFBJ@NJVEH@FAXKJDTPDBGF@DDBLA\\DJATMJCDGTKBGJM"]],"encodeOffsets":[[[121678,27068]],[[122867,26893]],[[123104,26891]],[[123102,26881]],[[122918,26872]],[[122887,26845]],[[122899,26847]],[[122808,26762]],[[123295,26793]],[[122500,26759]],[[122597,26600]],[[122653,26290]],[[122432,26267]],[[122495,26224]],[[122330,26023]],[[122337,25968]],[[122386,25960]],[[122568,25912]],[[122491,25946]],[[122489,25944]],[[122479,25933]],[[122477,25932]],[[122575,25918]],[[122572,25914]],[[122600,25884]],[[122600,25866]],[[122778,26197]],[[122515,26757]],[[122816,26587]],[[122847,26569]],[[122779,27057]],[[122762,27045]],[[122794,27053]],[[122756,27019]],[[122755,26998]],[[122828,27009]],[[122848,27000]],[[122971,27014]],[[123107,26964]],[[123388,27005]],[[122776,26927]],[[122780,26924]],[[122774,26924]],[[122896,26865]],[[122900,26866]],[[122880,26870]],[[122857,26818]],[[122855,26792]],[[122703,26916]],[[122688,26897]],[[122685,26889]],[[122705,26880]],[[122597,26897]],[[122598,26867]],[[122549,26752]],[[122532,26772]],[[122538,26773]],[[122508,26742]],[[122877,26603]],[[122846,26566]],[[122564,26378]],[[122535,26397]],[[122528,26369]],[[122546,26375]],[[122686,26379]],[[122731,26321]],[[122734,26322]],[[122700,26282]],[[122700,26286]],[[122708,26284]],[[122643,26330]],[[122631,26281]],[[122600,26328]],[[122566,26286]],[[122561,26282]],[[122575,26281]],[[122577,26283]],[[122534,26303]],[[122539,26306]],[[122511,26289]],[[122521,26281]],[[122483,26327]],[[122477,26331]],[[122496,26319]],[[122487,26291]],[[122494,26291]],[[122458,26284]],[[122450,26243]],[[122414,26223]],[[122416,26230]],[[122478,26197]],[[122483,26194]],[[122473,26208]],[[122535,26263]],[[122567,26229]],[[122588,26246]],[[122671,26268]],[[122676,26263]],[[122686,26264]],[[122691,26237]],[[122726,26231]],[[122737,26209]],[[122786,26210]],[[122722,26189]],[[122715,26193]],[[122751,26184]],[[122716,26129]],[[122701,26140]],[[122691,26129]],[[122691,26122]],[[122699,26124]],[[122696,26122]],[[122542,26118]],[[122578,26154]],[[122582,26156]],[[122583,26146]],[[122580,26168]],[[122590,26165]],[[122580,26144]],[[122571,26142]],[[122568,26189]],[[122479,26187]],[[122495,26125]],[[122497,26125]],[[122499,26129]],[[122500,26143]],[[122545,26107]],[[122532,26091]],[[122519,26069]],[[122539,26058]],[[122556,26069]],[[122511,26041]],[[122587,26026]],[[122681,26067]],[[122677,26060]],[[122686,26053]],[[122695,26033]],[[122691,26034]],[[122693,26038]],[[122818,26043]],[[122753,26083]],[[122747,26086]],[[122725,26100]],[[122643,26003]],[[122650,26004]],[[122634,25999]],[[122631,26000]],[[122628,26000]],[[122620,26011]],[[122548,26022]],[[122539,26005]],[[122542,26007]],[[122602,25961]],[[122588,25985]],[[122578,25962]],[[122579,25943]],[[122579,25951]],[[122570,25955]],[[122565,25953]],[[122556,25945]],[[122648,25899]],[[122646,25905]],[[122632,25906]],[[122619,25901]],[[122600,25885]],[[122442,26033]],[[122436,26036]],[[122438,26056]],[[122438,25999]],[[122455,26007]],[[122420,25975]],[[122403,25968]],[[122376,25971]],[[122375,25972]],[[122375,25975]],[[122470,25938]],[[122346,25914]],[[122355,25916]],[[122358,25920]],[[122351,25932]],[[122342,25940]],[[122331,25960]],[[122336,25979]],[[122230,26022]],[[122230,26020]],[[122245,26043]],[[122256,26046]],[[122280,26060]],[[122299,26064]],[[122846,26708]],[[122684,26856]],[[122684,26858]],[[122686,26859]],[[122689,26858]],[[122586,25928]],[[122556,26196]],[[122676,27184]]]},"properties":{"cp":[119.206239,26.075302],"name":"绂忓窞甯�","childNum":197}},{"id":"350200","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@C@@DJ@@AEA"],["@@QDKHAHJPLBJIFCDCBE@GCCGA"],["@@BFF@@CCACA@B"],["@@JDFFJ@HCFDDABAAAC@AEMAC@GCGBCF"],["@@FDJC@AEBECAGA@AACB@BHDAF"],["@@FcAIO[聲聟MOMKQAcDUFaNIJKTMNAFCP@HHNFjTxBHJXJNHHXNfHJDNBFAFEJQFC^ClQNKFIDOB["],["@@iDoCEBSHKREDQBEDONKTCLHV@@CBABHHBHAJBBG`E@AFOHCHCBEAEBADCPEHKHCBO@GD@LBJBDGHAFDRFF@HEHEDMHMLMHADJFDJ@J@FALDBBBNCPDRADBTfJHNFLLJDDDDNDH@DAJLDDF@FCNK\\CNBLABMFCFIhARFLDTDHJDFBALHJDLBNAXALGNF@DBBF@FABAFDJAFFTIFCBSCG@EBWbMHQLBJBDFDH@H@DCJGFKBAXJTEHIHQHEDGDAHHF@ZLLDBBONAD@DLNL@RCDBBFCHOJSDGF@FDFHBZMHADDBPFBXGLBFADEAQDGLKHMFEHAFDHNH@DABE@SDMFAPTrXBAF@LTLHTLFBLEN@LB@FJDN@JADADEDAD@DDJCNBRUAAKAEM@EFGTKLCHGTGBIACEEBELODIDAFAH@FBDLHBF@DGFBDADCF@FBHHTDH@JERCFCHWFCHMLEHEHACGHEAEGIBCRMD@BFDDDBFCDE@KA@CBCBCACE@EFEESCCC@CDSAEE@EDCFUDANADCJMAG]iAEDCHGXM@EAGBC\\QA_OMHWCQEEIAEOCCEE@CDIDBFBJNB@BC@GCQLGLEBEBKBAJ@DW@]IUEGOGkG聣GsMkG聫l]ZgZOZIJKNICOGaOQMMUOGGIIOIKU聛O}AEQSGSEu"]],"encodeOffsets":[[[120993,25143]],[[120906,25022]],[[121027,25035]],[[121218,25145]],[[121249,25142]],[[121042,25093]],[[120883,25005]]]},"properties":{"cp":[118.11022,24.690474],"name":"鍘﹂棬甯�","childNum":7}},{"id":"350300","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ABG@DFAFHDDH@B@BF@@CHBBCAAHCAGDC@CE@GBMC"],["@@@FAAGDBNDFD@@EBA@CBCB@DBDAGGA@CC"],["@@F@@ACAAD"],["@@EBMLCF@FHBLEDEDG@CAAAA"],["@@B@A@@@"],["@@BBB@ACAB"],["@@BDD@CCA@"],["@@BBB@ACAB"],["@@DBFAFCCCE@ED@D"],["@@KDADDBDADDHCBA@CGA"],["@@T@BA@AECC@KFG@@DB@FA"],["@@@BDFBCDDDABCACMB"],["@@@BBBF@BAJAACB@@ACCKAGDABBDDB"],["@@FD@BD@@GI@A@BB"],["@@@FBBH@BA@IF@@EBCC@CDAACDAAC@AFBD"],["@@AEEBCCEAADDJA@A@@FB@FAF@@BBBFGAC"],["@@FBDAAAC@C@@B"],["@@CD@BFBBHH@B@AC@AJ@CCBA@ACCA@CDIA"],["@@HDBCGAAB@@"],["@@FHADDBDIAGEACF"],["@@@BEBAFDBJLBAAGH@@CEEAMGB@DBD"],["@@OJ@FJAZK@AAEC@MF"],["@@ADBFFDHABEAAEIA@E@BDAB"],["@@BHFBBBD@BEACGCDC@AA@GF@B"],["@@ADCBBBD@BC@AAA"],["@@BAACABBD"],["@@@BBDAFDBDBBDPI@C@CGEIAGF"],["@@RDDAACCACEE@ACAHIFBBFA"],["@@YDI@SFETDJFFBFOR@D@HDDD@JEHADDBHDHDDD@JADB@HBJFHFBJEDEBIAECA@CBAFCFBBBABBDDBJAHCDEAQBSDIJER@BGDEbKL@BDDHDFDABEBAHBDED@FBFHHDPAFABC@CECA@AAFGEEEAIAIBEFCACEDQ@AMDCC@CNSCGDC@AICGAW@QGA@ABBHADCDGFODAB@FCD@DDFABKDG@GDIDGAGHSJ"],["@@FJFFFBH@LCJHnBBDTJ`ANLhH@FFD@GDCLCHDFHDBB@DKDABBLHNBdCFGNHHGFAFAH@JCBAAGIOIGICOMGEAEBC@DDA@AFDABBBJB@GJ@FABCBGHBBCDGACCAMAACFSJIJADEAAI@GBEABMEIEOIS@IBG@GNQHENEBKHCAC@AAA@GJAFABC@CCMD@D@BB@FFADOAGA@EDEHIAAAAATSDQNCLQDAHAJDJEJADKDDJHRPHDJHBOJI@ONSHM@EEOBGAAECCCE@IDA@FMAEKUC@MDKBCC@ADCFK@CEIBCDAHBB@FIMIuSqYEGOUKkAaBELCJBNFD@HE@MDCpMPAFDDBXEHKBC@IFCBCAKBGPS@OJG@EDAFAFBBJCZBDD@F@HATIHATBJBFBPAFCXgnkHGVEN@HIVGH@PHF@BAEIAIAKBMACCCYIIEIA]BGACE@IEAQDMHGBKEC@EFI@EAAEFI@CAC@EFKBKDKJMNEDGCCGAEEIMCAC@ADEAYQGMOEEB@JED@DDFADqVIFEBWCWOSEQ@ODGFOHEDEJcZGJCHBLAHEDMCEGEIMECC@EGGAIAAEB@CJYLOR@NIN@DCDGAMGECBAABEFCHEF@B@JHN@FCDGCeBG@EK_@KAKIAIKKECAAI@KHMEEAEBCL@BC@GAAGAAGGCAGGICUICFKAE@@K@C@@HBJALGDEFKBCDBDHD@BCHCBODOLADFDJ@ZIHBDDDD@DO\\EHBDDDJ@HPLFJJFBTBDB@DAFIFG@漏FMQSFSNGNUHKJM\\AVBLANDPDDFFB@TIRCJBHJPXBJBbDHLHBHU\\_EI@GAIIEASBIAACCOAEEEOIKAKDICE@AFBNQREH@JDHHJFDBH@LBJHHDNDBLGFGBEBAHALDFHDDDHAHEHKBMAOFIBGCIIC@Q@IBK@GDG@CCCGCAiSGAKDI@MIGMIE[CUBACICBKAGGGQAECGIC@ADDH@FOBE@BGCACAIAEASBICGBKCEBBHMEGCQECCEKDQ@AAAMAKBEAGEQEICGBEKWYCBM@IIEGGC@ASAA@AEC@BHC@DJCFBJOFEHEBCNDNKJ@BBFFBL@DFHDBFFF@B@BECAFG@@EAA@RAHBBF@@FEFBBHFBD@BCBADAH@DJRLF@BYREFGCGGCAK@ABCBEQA@CFIFAHGBBHFFTDFFBJFHKPDHMDSEG@MFEAMOEACBI@EBIJA@CAAEA@KNA@OEI@IDCC@CE@A@@GCB@ADGAEC@AFIB]@ACCAEF@BS@BLGNAHFHFL@FELCBECCECIGKA@G@ADAHBFFFDJDDN@ABIFBZJJDD@HQJ@JAFCBUNGLEBK@AD@FJRADSFEP@VADCBICMBA@AJILERADDHNTFNJBBDDP@HADC@KCC@CB@BJDDDBFADOFBLEF@JJH@DGB@BJLJFJPLNLLBBCD@DFFJDZNBR@DABBJjpBLLFBHLFADADFFHPEF[LCBABJLRL@DADEFFFCFDHPNJEVLJMD@HFIJ@DBDFBFAHODBDH@NDBHBBAFKBCHBFBBHAP@DDBFCDBCN@FDBD@BABIJCJGFAJDBPDFdD^EDCLIGEAA@AFCNATBBIJEDDB@@GJCF@FHL@TPDA@MK_BCHAF@FFJNNBJHDHAHAF@DDBDANMJCNAJDXJVNNTABGB@BPJFHFAX@BCFGRKH@FABCNCD@PHP@DDHA@EGKBAD@FFFBJJLHDFDDDHDAHFRDDBJBBLNNJPJDH@HH@HFDLDDABC@CCAE@CC@G@CFEDOAECGCSBMPHBHDDND"]],"encodeOffsets":[[[122386,25872]],[[122237,25718]],[[121933,25635]],[[122329,25582]],[[122027,26000]],[[122033,25986]],[[122061,25979]],[[122434,25772]],[[122266,25758]],[[122516,25833]],[[122474,25841]],[[122480,25849]],[[122461,25848]],[[122461,25821]],[[122449,25855]],[[122450,25871]],[[122423,25772]],[[122463,25792]],[[122389,25759]],[[122350,25860]],[[122207,25920]],[[122233,25935]],[[122120,25960]],[[122130,25957]],[[122231,25718]],[[122143,25765]],[[121875,25778]],[[121906,25704]],[[122339,25802]],[[121825,26342]]]},"properties":{"cp":[119.007558,25.431011],"name":"鑾嗙敯甯�","childNum":30}},{"id":"350400","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@A@CFUPGBQAQKC@EDCbADKF@FARCHIFEBIAEIK]IEK@O@GHIXEDCAOOEAGFGNI@IAIIGIAGLSBECEECIAIDMAEECIKCGEGEOLIJIHM@EEEKKGQCOBGF@JFF@HCBODOJIBMMGCO@QBKEQEEGE@IDOKKCQBGAAG@GHCHCBCBEAEICKGKMIGE@EDEHGHC@MCG@EFEHABC@CAAGWCAA@EFCBKJAFEBCLGDIIMCD@HADGIEACCCMIE@IEOAC@CHC@CCIBOEGAMOEE@GBGFC@AAAEAOAAEDE@@A@GBCJC@IDGFEDE@GBCNBFA@AGGBCHEDIBALRD@FA@IMgAMEGECWAKGC@M@WCEC@ABCACK@EDG@ACHE@AKCEECCCM@CBAH@NHJ@BECEHQFDFALD@AFCAGH@HG@CCCJADEF@AEDEFAAAC@BCB@BCB@FNDEPAPHTDJNLCLBDABADMBOAGBECOCICCGCAEDKGEAA@MACOGOMCEQGACMSYGCE@KAGBAD@DAACCACBKLULK@IEICI@EKIACKGCQEEBCAEEAAYAA@@ECAYBSGC@MBUMIAEBIFUdMJEFK@SOCAIDO@CCBKBQNMDEBGACC@GBKFMNIHINC@EEEBCNEFI@SEMDEDADFB@DABQAIBCCABICC@KFCFQGCEGR@XBHFJDPFPBBH@HHRKLKHAD@JPRPJNJlAJG@CEMBcGKLK\\U\\YVMHGNGTKTQJOBECG@GC_UOIKAI@GBGJKVBFLJAHOPIPCBKBI@ODOHEFCPKTEFE@GGG@QGKIKSGCA@@HIH@NGNBFPLBHABQGGBCNEBG@GEOCO@CC@CHEFDHCFC@CAECCKEOISoKgIG{M]@EHBJTdDJANCN@TEjEHACBSAGAASNCVGPBBJFDDATEDGf]FM@KICQBMAQYEWI]OQCM@MAWKKMASECAKMOMYLGZFPBJALQBIEMg[SQaQCMAQGKEIMIIWMECC@IQU\\AACCAKCCEIEIFQ\\EBGAACEEEAGBBRDN@TSbYXGLCXOPwNQAAAGAKAK@CPKP@BDBHCF@BLG@AD@FABG@@HE@KCCBEB@DTNBZ@FOZCBA@A@DOCAQRADBDPFFHLB@FMV@D@FJFBD@DADKLBLBF@HENQRW`KhC^GPOHOBWCUCQGKGeGGJSFKJQBOAWIWYO[CCOGGKM_IGODMEOGcGUNMPg\\INF\\FPJRLNAFIDSA[OQGOLGjA`CJIJOHQFYTMDUBMVEDKAOPU@GBCFAZDLCJGF@VFRDFAFBDFFEBK@ABDHSNKDGkIKGCKAGDGFKDGBMOIEQHgJ]NG@IEMM[Q[WK@GFGLCPB`CLIJOHwFWFOD]PIHFLCPDBLDTJDFBRDDFBTNPFTPJLLBDF^RLLFFBPANCHADIH@JDHGJ@FDJAF@DEBEHBDABB@IFO@CGC@CCC@EA@CB@AAEACBWKQAGBCCADBDHFGHCAGOE@C@ADCFUDIH@DDFHFAFBFBLFD@BE@AFDDABEACD@DB@JB@BGFBF@@EBAACCF@@AAAG@IFHDD@FNCNGNCNVN@D@FAFEF@BDJHHAJDFFDbHDDDL@JSN^DBBPLBBD\\JHFB@@DDJFFJFRLHPFN@DFPJL@HDBDCFGDFL@PBJFBLAHHBJ@LFNHD^CBE@IVGJBFDDE@GHO@MIYDA^LL@FA@CDAFANJNBFBBJNNDTMXBHALBDDBAJBHHLFFFFNDFDDFBJ@JBHFFFDBDAJDL@DMAUBSCMNCAIB@BHNEBMDCFNJFJ@FCDK@ADED@HQDBJ@JCFMFONIFQHIFGDAFADDNDDH@NLLjFrFN@PHNEP_BIRIFGJadGLGdFZNNRHNJBHXVLRFNANINKVGZBbHhRXHFPHllNFJLh~X^``VZh`NFRLTHLDLBPATBXGHEPEPbRLRFvLRFJARAhMTD^TJL\\LTB^@RCRYHFJRDNX`RR聞fXJPBZFZPLDDDB@DFPLF@B@BGAGJGPCNCHDFJDLDBD@JCNINMHAHBJFPDPNFDN@DFD@HKPGFEFCDEFSHIHORWJEN@JGRCHCDCVGDQDCF@JDDBFJFPBBPFNNJ@BB@RDJBFAPGNDJLHBDAVCFG@EAEEG@@FDTBFFDFBJ@`SNEHAFAL@FAJMPGNCFEBCNHL@JBPAHCLBFEBIGK@KCEBK@ADADBRCFC@CBGNOLANNPBLJHBF@DA@CEGQQEE@CBCHCJLFBHCDCDUBEGK@ALEBACMFMHCF@NNZHDHFFDDHC@CGQ@AdAFBBFLDBAAGLCFGFCLDDABCACBERBHEBAEGAEOEAG@KAEASAAEC_EGCCECIAQBE@IBCJILCRLFBJ@PGD@D@HNFBN@HKFCF@LHHADCF[LaJC@CBAHAHCX[B@HBDAHMLI@CAIFGBGBEPKNQFMJK\\S@CGE@QHIBGIKIEIICI@KCIEGGOKEOCCAIMAESDEAEECKKSAAI@ACAEDEFCP@HC@C@CKIBCJCLAJIDFNENAJC@IHGICCBA@@ABCHADG^ATBDA@EAEMGBGHOD@TFDLDBZEFPHJNHNDH@HDFDJAFEB@BBAHDDDADAFKD@TFF@TKHNLHFBDAP@XJPAFED@FHDALERFJLTHHADABED@IEDEEEAEAACAACVK@BCF@BF@BABCAICEECAKLEBGRCFCACGIO@GEGBCGHEDYNCDCBKGQ@AFANBBCDGBGEIJSDDHJXJHD@@@EBGB@FFDBDABKBAXARJNTB@B@LEHMLFPCLFB@NIJJBD@FGJBDD@FCJBF@DAJIHAN@BA@AKIU[@KCC@EXQDC@UEI@ED@DED@NFF@DEXHF@D@JEDEAEAACDA@GMC@@AJQIAECAC@IHUDCDAFJDFFBFBFANGAKBEPMCCEC@ICA@CBELEBQDCB@HDD@HEL@@EHKBGEI@CBCFC@IJ@JDHGFALB@GFEEG@GJ@FCR@D@DE@OBAB@d\\F@FCB@DDH@BB@NFDHBHCFBLG@CFCHBHFJBHDDFHBHFAN@JNFF@DEFCRAJ@EM@A`CNL@JEDAFBDHLHJX@DALKDAVJBF@FGJ@DTLDADKZATPD@@@@CESICECCE@KDGFCL@FDL@@FFHB@BCFSDCDANDBEB@NJDHVIFKDCLEJ@V@FFPBf@DCHADBBJBDDBH@@CCEHOAICCCCC@OPCDE@IGGI@OBKFEFIDCBGFEPCFCDQDCZNFFJDBFTHRNHDFADGDALANMBGPWFBR@DHDBNBNAPKBEEK@CHEDAPFdABCGIDGFCBEFGHCFDD@JGBEDQJBLCHBBADO@GBGJIDEZ@DCLQRWAEEECKACGDC@MIKBMHMJgBCBEGOKFELSJGEKSL]CAEECE@@AAABAACDEACCGCIJSCCCAOHC@@KACDE@KEKB_HMHEH@THDA@ECCBEEKEGBE@KBMFEDAF]BEHAHDDAEMIGAGPMQEWTI@mGoA[DAABGBGJOAYIIAEFSG@@A@KHEDWAGISFC@EFECECEACLKCEBGGKCSBEH@BECIMQAEBKGGFADILO@AGAC@BD@BIPO@KDMBOJGAIGACBED@BEBGDEAYEGO@IGABJ|ADEDEBKP[VGDKMU[DIACM@CE"],"encodeOffsets":[[121252,26511]]},"properties":{"cp":[117.435001,26.265444],"name":"涓夋槑甯�","childNum":1}},{"id":"350500","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@D@ACC@BD"],["@@DAJBAEEAG@AFDB"],["@@CB@F@DDBBDH@BAAGEGC@"],["@@BAAAEBBBD@"],["@@HBDAACG@A@@D"],["@@@AABB@"],["@@DDDACCC@@B"],["@@@A@B"],["@@DA@AEAADDB"],["@@B@@AA@@B"],["@@F@B@GA@B@@"],["@@MHIBEF@BJFBDBFCJ@FFFN@DZDJHDR@BBBDFBDBDAPKVIAKCG@MEKAAI@ABADE@IGBECGICGDC@EAIMEA"],["@@BAAAE@@BFB"],["@@H@AEBGHAFBD@AEICGFE@BFEHDD"],["@@B@DCJ@CCGACDC@@DDB"],["@@ACA@@BDB"],["@@BA@AC@@BBB"],["@@GAADLJH@@EDCAAK@"],["@@BBB@ACAB"],["@@@BDAAAAB"],["@@BBBACA@B"],["@@FB@CC@AB"],["@@DBDACAC@@B"],["@@@BBA@AAB"],["@@BBBAAAAB"],["@@BB@AAA@B"],["@@BBFBACCCAB@B"],["@@DDFB@CAAEAAB"],["@@DBAAA@"],["@@@@BAAA@D"],["@@BDBAACAB"],["@@BBB@ACAB"],["@@D@@@AAAB"],["@@BBBAAAAB"],["@@BB@AAA@B"],["@@D@@AA@AB"],["@@@BB@BCC@@B"],["@@B@BA@@CB"],["@@DBBA@CC@AD"],["@@BA@AGABFD@"],["@@@AABB@"],["@@@AA@@BB@"],["@@HC@AC@CD@B"],["@@@BBBBC@ECB@D"],["@@AACAAEEAAIC@AJBDDBBADJBFFBD@@AAABAAC"],["@@@AA@BB"],["@@@A@ACB@BD@"],["@@ABBBF@@ABDD@AGIB"],["@@B@BGAECCAD@HDF"],["@@@B@BD@DA@C@@GB"],["@@@AC@BDBA"],["@@DB@CAAAD"],["@@B@BAC@@B"],["@@EDBBFA@CA@"],["@@@FAB@DCDBDBBBAF@BA@EBCHA@AGGGBAB"],["@@@BB@AA"],["@@A@@BBA"],["@@ACCAEB@BNF@AAA"],["@@BAAAE@ABHB"],["@@AB@BD@DA@CAACD"],["@@BAAACB@BD@"],["@@BAAAC@BDB@"],["@@AB@BBABBBAAAA@"],["@@ADDAAA"],["@@@BB@@AA@"],["@@DBB@AAC@"],["@@D@AAAB"],["@@DBB@@AAACB"],["@@DAA@AB"],["@@B@BACB"],["@@BBBACA@B"],["@@@BAA@BD@@AA@"],["@@BBBAC@"],["@@D@AAAB"],["@@@DF@@CCAAB"],["@@@DDACA"],["@@@@D@AAAB"],["@@BAAB"],["@@FDD@@AECCB"],["@@BBD@BAG@"],["@@BNCHBDD@BEFCB@@DHBH@DCDBBACCFGBKFEDAZAFA@AAI@EBCFABCBOHIDAHDHA@CIMAG@MFMDEH@FC@E@GCEEAC@@BABAACEEABEBAFIGGC@CBCAAABG@AEEQGC@MGUACFBDHDJ@BDADIHSBKDKHKFY@gCWKOICE[sGGGAG@MBWPOBAHGF@FWNAD@DDDN@DB@DEHBDHBd@@BC`I\\CHCDKFABAJDLNJTFBHFBLEDCl]NEdIJCNBPLDJAJMNBBJAF@BFLFBFAFEB@BBB@FCN@FRBRH"],["@@D@A@A@"],["@@@DD@@CC@"],["@@AB@BH@@CAACB"],["@@BBBAA@A@"],["@@@DB@@CA@"],["@@@BBAA@"],["@@BBBAAAAB"],["@@AAABDB@A"],["@@DDJARBBA@CEABCFCNCTFJ@FEDMFAFFD@JMJGNMLEHAD@BDAHCFMNARALDDP@JCDBTPL@FENIVcJEFAJBVNNAD@THZADB@FB@ZBBBFFDBFARFHDDLJBFLJ@JDJFL@VKLKDADBBDIDBH@LDFZHNTBDRHDFPNPHBD@NBBHFCLBFHDDDDJDPAFBHAPCNABCBKAKDIMSCOGOBCFEMA@ADA@ADD@BBEBCFBFE@CFIBDD@DGHG@BHED@BKCEBECGRDFAFI@MGG@AB@DDNDDFFLD@BGFBDH@FCL@BDAD@BFDXDN@D@LHXBFDFHBNNh@JEBC@KQABCJGFADHH@BEBMAAD@HCFEFCH@JIDAD@H@BF@FCBBBPBFBBD@HEHAF@PFBNFHAPDJ@DGD@DBDFP@JJFDNDDFBHJBC@GDCJNCJKHADEFIBALED@FBBXDBHDBD@BAFGFEH@NDD@HGFGFCF@JHLNLHJDBFAFADGDGD@HBHHBRALDPLJCF@FHRFLFRAP@HDNNJAPIPCDA@GEE@IHEPARDLHFLFFN@JGJIPKHFHFLDDJFFNBJCJBFDDFAFKTBHHJJJJBJ@HMHEFBPPDBFCJWHGP@L@JFL^FJJBFAJEDGBQ@ELEBCDaFCD@RLRBHAVODEB@DKIA@GLEBAJYFI@CGEE@KMGCKFC@CK@MCOUW@EFENDLQHETGFIH_@IDGJGDGBQAA@KHURQJEHALFDAB@HINIXEBIVOBKLIJID@HEHKLIDGBC^@HDDCDE@CQKIKBADA\\KFEGOEEBCBCKEAGKEAKioAIBA@CAQYMICEE@CDCAAKKKMIOIEEECGHA@CIG@E@CFEAKPEBCAECCIC@ADAD@LDD@BC@GCOACIAEMMSCGBCFQJKBIB@NAJDDABC@UFOTEBCIQ@EBCL@FAHKVMDABE@IRI@GCCIIAYJEBAM@CCCIGI@ABGDCF@B@HLDJDFFDDADGBIEKEGBGHMAKT@@AFEDBBD^@JABED@BFCH@BDA@HB@F@@DDDJCJ@PFB@LMB@BFDBB@JIFAJ@DAFBNPFBNEH@TFNCCGLOEGAIEEEAMAEEAGHABGJEFGBBDRDABAL@DBHHHDFETMFEKEGMAGDKDA@AACGEAAFE@EE@AABG@QBB@FH@BEFD@A@AEEAEGCCEK@EAAE@ALICMDMFAFGPEAIDECID@AGD@BFB@TB@BHDFHJJN@DAXZFLHAJDRFHFFBLANBBB@BCRBFHJhPAGFAHDLAJDTAFBJBHDAHF@PA@ECGBCD@HJFDRBHHBHALJDBDPADAZBNCLFDCJADKRCJIRCBGEE@EDEDAHGF@bFHADOBCVG@mBKEAKIGCOKYAAE@MBSBIFANBFGRCBCAEMGYIEEICSIG@KDUAEE_GM@qST]FGJGJ@TBJALEHMAYHKVKJAF@JFHBHAPIHAL@HBLHJ\\BFDBP@DBLJRJH@JIJ@BC@CIMIKIE@QEEAMHG@CCAI@@CDCBCGAKAEFG@EKAGBMLUNID@HDDADE@OD@PJFBDCL@JAACBC[UII_C_KCD@BFBABGB聝\\G@GAIE]cAEBIDGLADADQBCDARBFCJKDCHAJBHDPDP@NGBABMHIBCCEWGaEKCA@DDABA@CCC@ABADCBGAE@KGIASF]FMFGJIB]FWAGCEEEAMKS@AKCCRCDCAACAAGEEIAGLKJIHMDMAIGCCWO聣UGI@WCGCCCAGBEFATAHCBYDYDKHAJHV@DGDC@CAMSIEUIkGECCU@GJgFEJAHCFIHCHCJ@FBRJXIRBHF@DCJ@BHNJDV@DEBCGSBODKDGJEHANANBBAFBHENBJABAHBH@@CEE@CDCEIDE@CCCGYEEIAGEAE@C@EAAIABEGGGCABKJGCCGDANBBCQOC@@CEABKB@FBBAEGAEA@KCAGCACBADAAAADABCEG@ECAK@EGGACEGEUEM@IDGFIPCJMEKGCGE_DiDIFIHCJ@FLBHDBLBBA@CF@@FBBDABCBmIQ@MGUCGIGQAMGCGBMBIAAG@EBIAKI@COGKOA@CBC@GSCGIEMEYCUMCAIDCDE@KAEBADRRC`AF]NEFALDHHFJBDBBF@FCFytSPMD聝N_BeAMGYUEC_I聝cMIEEACCTI@ABALAFKFKHDR@HADA@IMEACACJ@DFFDDFPJBFFDRGXPNB`[RADBH@FWNGHCDBF^jBHINCDMBCBEVCD@FFFTBDCD@DDFTEF@FDFDBDADAB@@JCHCDEACCAEC@QNADHJBFGFDHGBGFKFGNEDGXEDQDIFG@SCGGEAE@CDCBEACHE@GACKEAG@EBCBCJKPAFFFBDAJSHGHKDSLEH@FFNLBBBQVMAIDCCC@CBCFCBIBM@IC@EKAM@KFEASKKGKSE@ABqWOSEBCN@TAFCBG@GMECGBEFGNKLCHBRCFEBKAWHEAAOCCGBYNGACE@EHETCPIDGAECAQDK@KM@CBCPMAAKCYKE@GGCBCHGFGRGJSFWIABELIHCDG@G@ECACAKI@GHIBIJAFBHCFIJIDAABIAAEIGEAE@ICCCBKLMAGEEAKDULG@IEGGHOIIDC@CIECGCAIDKB@DCD@LEFE@AACICECAQIE@IJBF@BCRADC@ICEDIDAHEBOBKFE@OCOIGGEMCCECYGMEGGEAMBIJEBOCINKAC@IJGFGBOAENIHAFBD@FCJ@J@FBBRJFJHHBVCDW@ODGF@JEN@LJJJPJHfNHDFFXL@DCJBJ@FFBR@JDHALIHIF@JDDD@HJNJBPAF@FXDFHBZPFF@JAFYLLPADGN@VEJCDE@KGGKC@QVGFO@SNGHCNA\\BXABMJUHa@ADCJCBIGKTAFDH@LMFK@IBIFCHMDI@EDON@BDDADEDO@ECEBEF@FDZEJPLFFD@F@@FHFBHFBFAPGF@B@DA@EB@LCB@DDJAF@FFJVDLCNGJKJOHDf@HELCD@DLJT@HBTPRFVLLJFRHNJJ\\LFD@FIFBFNDLR@JCPDRON@HPRFJBHHJOZ@JDL@HDFDDLDDFBNFNHHLBFDGJELALFPBN"]],"encodeOffsets":[[[121802,25820]],[[121740,25685]],[[121899,25675]],[[121684,25454]],[[121623,25425]],[[121623,25333]],[[121555,25259]],[[121539,25232]],[[121508,25224]],[[121270,25180]],[[121098,25050]],[[121068,24987]],[[121114,25038]],[[121002,24979]],[[120996,24966]],[[121182,24971]],[[121184,24974]],[[121622,25426]],[[121505,25152]],[[121225,25095]],[[121247,25105]],[[121281,25132]],[[121310,25121]],[[121294,25099]],[[121308,25078]],[[121313,25080]],[[121224,25052]],[[121217,25047]],[[121312,25017]],[[121314,25021]],[[121048,25070]],[[121078,25061]],[[121087,25044]],[[121071,25039]],[[121068,25037]],[[121054,25036]],[[121052,25033]],[[121055,25030]],[[121034,25014]],[[121843,25475]],[[121818,25469]],[[121820,25470]],[[121739,25478]],[[121837,25804]],[[121861,25787]],[[121838,25757]],[[121820,25703]],[[121800,25650]],[[121798,25647]],[[121880,25681]],[[121897,25672]],[[121871,25658]],[[121870,25623]],[[121876,25629]],[[121885,25631]],[[121885,25580]],[[121891,25561]],[[121897,25564]],[[121836,25535]],[[121815,25501]],[[121685,25431]],[[121692,25439]],[[121642,25448]],[[121650,25451]],[[121624,25406]],[[121606,25376]],[[121609,25377]],[[121549,25420]],[[121535,25397]],[[121552,25256]],[[121505,25148]],[[121483,25130]],[[121401,25127]],[[121359,25192]],[[121301,25152]],[[121289,25160]],[[121259,25116]],[[121278,25108]],[[121282,25109]],[[121304,24997]],[[121255,25103]],[[121040,25021]],[[121071,24986]],[[121034,24979]],[[121012,24979]],[[121005,24963]],[[120979,24957]],[[120982,24961]],[[120987,24961]],[[120544,26125]]]},"properties":{"cp":[118.289421,25.108853],"name":"娉夊窞甯�","childNum":90}},{"id":"350600","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@@BBDH@ACGA"],["@@@DD@DA@CAAC@AD"],["@@@@B@BAAAAD"],["@@BBBAAAAB"],["@@AABB@@"],["@@ADBBHADGA@EDC@"],["@@@DBA@AA@"],["@@@DDABDD@ACCCCB@@"],["@@ABD@AA"],["@@CB@DD@DA@ECB"],["@@A@CDBBDE"],["@@B@BAA@AB"],["@@@BDACA@B"],["@@AFB@BCAA@@"],["@@PHDAACECC@EAAB@B"],["@@AACBHFAC@A"],["@@BAAABAACEBCBC@ADBBFAHB"],["@@BBB@AEA@@D"],["@@CDAHFABBF@BCFBFABAB@DAAEBAA@IFCGIAA@@FAB"],["@@AB@BB@DBHCCGEDAB"],["@@FCFDBIFC@EGBCFEDC@@HB@"],["@@D@@AA@AB"],["@@@DAF@LBDB@BADG@IDAACDA@AACCACDCF"],["@@BBD@EC@@@B"],["@@BACA@DB@"],["@@B@DA@E@AGF@DB@"],["@@RKNGXaFAH@TDDAJEESBECIBEBA@EAECAE@HMBKBWAMCKGIBKEAICCGCSEKBQJgDENEBAAKDML[DM@ECEKCBI@CCGCMCCICKKMEIGSeCAQBOCMDAACABK@E@ICIIEBCNGNKNGFCFG@GEECQBEHGACAI@KHCP@DALGFGDOBCFAFBDADGPGBEF@H_AABIAGGGBADA@@GUDKLSPMFCRAFCLQZIpDXAVA聢ODC@EGiBQCKEGGEAEBCJEJDTBVAJAPMDEBUFABC@]B@XGJGDICQ@GTSHKBOAMCIEEKEGAcBA@AaAEECGCQA聛EKCIGMSGEGEcKKAM@EI_a@mIKIG_QWQa[UWOUAEC[FaBSCMQ]EOIIUKSCs@ICWcmeeeIUS}IMeWMA聟BqDYAWIMK[uM聥BGDGJKDGAMCGgeWe]聣IOMGK@I@UJULqHMCcSc@CAO[GU@IBEHAFADCFO@QCGMIKAiAICGIEI@aBKPOBUACSUWGM@OBIAWKyWM@G@SFI@OA_G_CM@QBGHGJEXiI脽GA脌BJCHIFEAIBICGHK@GDKJMRIEADC@CAG@OIAAERKVKBUAIHIAABEJKLEPEFE@GCQFEDCJ@NBFEF@DBJCFAFDFAJBF@DCJ@XCJILE^EHENSPIJBFCL@BRPEPCVEJAHABEDAHABYHIFIBICEIQ@OFEFEJBBDDDBZACFBFBJFD@BABIBAB@DDFCH]LADDFBD@HAFEDCHBDHBFAJBLHFHBNFFBNCJHNORCF@FBJAFBDBNLLBFIJMFGAKGKHAD@DDN@FKJGHGBCF@DBBLBDBBFBJALDBBFGBMEG@ABCNIHADBHC^BLCJAJBFHLFZBHJJDFJBDBHNHFJLFDR@DBBHHHRHDDDJJJBDAFGJWLGJCBKAGJCJOJ@HU@EAQFANDJF@@@BRAFELDNAVFF@F@FA@C@@B@DDF@DGFIBQEC@GFCnBJLNCFMHADAXYT@FBLRZ@DELL@NATDFBNPJpFTBRIbEPQXEPM^GVC^DJRLN[D@BBHP@JGN`Xv@NA`GTHVXJRBX@TDP@PS\\BXHDdELNFRBT@BMVML@DFJBJDD@PCDUB@LCHMLL~@`AZBLHL^TJ@HHFJA\\BNFJNDJGBGDSCY@IBIFENCTJBDJBLBzIN@NLNbHLXRFHB^BT@NBRHJVLDJF@LHFL@DGB@NKBCDGT@HCJBHZGR@JANUDCJAFBFJPTAPHNBFDDF@BPCFUB@JDFlNTJNLJPNFLGBEMO@EDANHL@LOHAHDBAD@HF\\HLHPCLENCNBFDNNLFTGP@fCDBFCHELMNMHC^ARB^AHBJFFRI聻BNJJFPHJFNBbBLFhOfkXEF@HJNBd@ZDDNCDB@LDFPDVAHDLHHHBZFFBBLMLED@BFIX@FBDF@N@FICY@EFEFAFDP@FCBCCC@APMFCJ@NCDGJEJAL@NE@KCGBELSJHDADIBCb@VGNIBAAWB[DMHGTMP@HERUD@HLLHF@DCFI@UHMBCKOZKBE@IEEYOGACEEWE@OBIAIM@GCCICE@GJKJGBICQ@EA@EAIDI@CWKEEGCeMIGIOII@KFM@IHEPCX@DCAUGGEIQIAA@E@IDI@EACBEJGFMPBHAHEJID@LBJMPDFAJINAFBHHNFZHFDDDFNHHPJPDF@LEPAFABGJCFCJDD@BCDQ@AAEJIF@RJDBDFDJBBF@FE@KDC@CLAJCDBDHJF@DCDJJGPHHJFH@VKLCFBHFNBLKDADD@JBFHFFJBBAJBBJCJIDEAGBEJIJAHGJB"],["@@JE@EA@AAA@BHED@B@@"],["@@DDFBBBB@@EECC@CCABBD"],["@@BDD@@CAAC@@B"],["@@BDB@DCEAAB"],["@@C@@FCFBBCFDB@BAFA@AF@DBBD@LGBEDAACEA@CBCB@@ADCCCE@AA"]],"encodeOffsets":[[[120963,24945]],[[120535,24416]],[[120559,24424]],[[120918,24768]],[[120921,24767]],[[120968,24911]],[[120975,24931]],[[120916,24946]],[[120923,24946]],[[120861,24766]],[[120641,24511]],[[120694,24484]],[[120562,24394]],[[120570,24387]],[[120585,24385]],[[120560,24355]],[[120557,24362]],[[120543,24340]],[[120537,24344]],[[120521,24355]],[[120509,24356]],[[120498,24353]],[[120494,24362]],[[120517,24095]],[[120494,24116]],[[120293,24163]],[[120743,25468]],[[120278,24145]],[[120239,24127]],[[120243,24135]],[[121075,24739]],[[120987,24903]]]},"properties":{"cp":[117.561801,24.310897],"name":"婕冲窞甯�","childNum":32}},{"id":"350700","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@NCDCHMHE@GCIEGCMACSCSUECKAGEU_@KBAR@HDPHJ@VGJGDIBMEYEMDOAIDCSIGKCAC@QBKAEAEECQKEKDMGAACICAEGCGMGGKI@@A@]BGJCPODIAEIOES@SFGHKCCBGCYBELEbeBKH@N@LCBAZEhQBGECAC@AdC@CEGJK@C@OJKFCFAKKBKNEDI@GEEAEAMCCCCROBGBCCEFQFGLGBE@OFKBECAE@ICECFKCENEDEJ@BABOJKJSL]DAHAFCJMJKJBF@AIHI@CAEG@UBM@CAAGJKBEAECEGE@EBCHI@EBELKPIHMJKBIEKDCBAAMFCJ@DABCAIGEAMCIBGGGBE@M@KFEHCCEQCGECMIQMIYEKUGAEK@GBAJEFBNDBBFCBKAA@CBAFA@CCCDCLDDGDG@KCC@CBEJBHEJSAIFCFAX@DBJ@NBD@FADGVEJKFDJVAFADCBNJH@PFNAHDBHAFDF@DEFEDCD@FPJHGHEN@XDHAFGLEPSFCD@DFVGBKRKDBLJF@FAHKHAD@HDDFFDJHNFLJPCHCFGFSACO@ICBCHEDC@CCKAIAG@ANIF@HDD@LAFE@GDAHDDBJEFBFDFEB@J@JFD@JENEFGJBJADDFDJAPGZDFEBBJD@RFDBABE@I@EFDHDHAFAAEAMDOFMJIHGBOMSKEM@CC@MDM@EICEA@GAEECAEDG@KBGUBECAIAAA@KFCAGEM]DE@EAGEA@WBKDKACG@C@BCHCBGFAF@D@LSTONHH@BABEDBLIDDFA@AACAELEDILGBCEKEGAIC@ABAJIBCCE@ACCAAD@HCFEBEEABGHBNAD@HGDGAKFI@GHE@C@CE@GG_UGIAKFCEDCCE@K@K@M@GEI@C@AF@LBHADEDIAKIaAGBCJEJ@RGFCBEEEAGGAIICBEHMFCCEAE@GCOCECAOFGACCCEBECUGSDKAAABSBCJIFYACaE@LEDAB@FCDE@C@AD@JADMDKJAJDH@HCDWBGDABEA@BC@ECC@ADAAACG@AFBHA@IIA@CHIFE@AA@GIBEAYBECIIIBGHEGE@CBAFGBCJNRDLOJCFDTGhCHEDKAE@SJQ@IBMDGHE@ECGG@CFC@AAG@AD@LFAIMY@KFAJ@JBFDAM@MT@@KDEACCAIQGCSDGFAHC@I@AAAEAKGGCEQEGEIWAMQMGKIKCICOCKSQCAEGKFEBECIIAKBGFEAKGCCCDG@CWKIGQEWCQMEGBMAKGGKCU@QFQAMBYNGAOMKEIAODIHEH@LKHSAEEMYFIf]J]DEHI@CEAAK@IAGMKHSCCGKOEIBIEIBGDYCEEBEACC@G@UAAAIWDENIFGFGBI@GGiEEI@CACEDE@ECEAOGIKUAI@[CGKG@IES@MC@GDC@ECEDC@KOCKDEKIEIACDCJGVAPGDADM@EKMBKCQEME@CGBG@EEMHQ@GEO@KCIBOCI@ECCDGFILEJAHADAFBLHLAD@FE@EMOFM@IYmHW@IEIGMEGE@C@AJC@GGWIKEECEGCEAEBIAEIGBAJCFEDGAIAEIEEKGAGG@K@AAABQDA@GVGDC@OAUBAJADDBFDDPAFBDHAFFBDC@CEM@GDCJC@KCGL@FDNPDBD@HHFBJALMFCRCTMLCLG@CCEFOSMCEFEFIBCAGFKHGBEBOCOFGAGNeAG@EAAE@MTKRCDGBOAOPAH@HCRA@KAGDIACRAFIHC@ECIFELILHJADcBOECBGF@DFLAFOLMBMACACGQ@EAOXAHMNKBCBCHCBICQMSGAEICEEYMCDCREDODEFAHCDEJEFAL@PHJJHF@DCPOD@DDDDBJGPDF@DG@CAACAICAGBCDe@OAEEU@I@KFCDELUJCGMIA@AFMCCBCDETADA@EG@EK@ECK@EDCH@LDFFDJDFT@D@@C@SOYBCLCBSK@CHI@EAEUICBKLCBW@GIGKACBEFC@IMK_D@BFNI@QBEDCFE@ME@IBMGEGACEGCIAGEGAED@DKHEAGDGAEC@MAAG@CCA@EDE@c[A@AB@PCFC@Q@EDI@@HFHEF@HKAEBGHICI@@JEDAD@DFJAHGL@FK@GFC@GCA@CDARKFAF@DDB@JFDDDONAFBLMHEBEAEACEEICBCDGV@JBDFDJBIR@BD@HNB@DCBBBFCFIFC@E@WGCFE@MEC@CFC@@FFJ@VCDWR@FDD@LV\\LJ@BABM@GBIJCBE@IAEDC@ACHI@EACIIMJA@KEODKEGNKFA@A@MSQIWBABALCBCAEEA@AH@F@@GCWIGICCITFJAHCHADMAEB@BHRALCDMDCZGFDHHAHFP@HJBDEDQDAHKFBLFDDFBJADABE@@ADE@AULBDDBBBBFFFCFJFC@AFCBGBSGIKQEKFCBEGC@EFOBWIO@CBEAKGGMSLE@SEC@ELCBCBCCBGAAA@EFIBECGCG@MCMGGIEOYFCACKSEC@GPAHNHBF@FCBSA]BCHGBAD@BB@DAJDGH@JIDMBMFCEIJKBIDADLJ@D@DGDO@EDCFBFBDJ@BBLTDLFFFBTCBFJNDBPDLFHPFHDJ@LDJJJJFJLAHGJ@RHF@D[TILENMROLAFAHEHBJ@DKJGNCBGAA@W\\GDGBAB@DIDKbE\\CDGBKGE@EDGLM@EAGMC@C@OHI@EAQKKDIJAD@JAFBRDJDFHD`FFDBBBTBF@LBHPFBFFHABGFQAAFBDADCBKCEDEHKDBHABKCAEEAcB@BHR@DGDCCEECGYGMME@GDENDNABKF@BHLAFCVCDGDEAIKGDAD@DFFRRFH@DCBE@GAKIOAMMKBMPAH@DEDQDCACB@BALDF@LHLAJEFKAGDOBIAK@MGADEFMDOHINEBK@EBGBMF_TI@EAECAECS@EH@FFFBH@DEBUACKGCIHMBOAECI@QAAI@MMOEAAEOEICAICE@CDCRUHCDGDQDIHM@IFQXGPGJETCFEDEFOHGLC@CEM@ECOMOCIEGAGBMNMJIDC@CACKEIGCMDODEDCDBLCDE@OKCEA@EX@JADEHET@NDPFHRJDNTX`PDFDJR^HDHGXHDFDLJDFJVNFLNHBDCJLL@RDDHDHAFF@LFDCHDFFRCDG@GBCDGNM@IAQDBJJP@FCHU@]LGCA@IHGLAFFZCPFRADEJAHNF@RBF`NFHDDBJHVBFMRAdCBIAMJCDBNCD@DFNIHCD@FBJJLFBCFEBAJCHEDALB`APEHOFEJBJINCDCBICEMMGIOGECAGNE@MCIFG@GBMHGJAHFPJjEHAHCDIDAB@DHJ@BOLEJEFDDFDBFJEDBFNFJCTLPPHHJFBL@JDPCLILOPM@CAEBG`]DAF@JFLFABCBAF@JHBDDSdKJ@@HTLH@JJBHJFDJ@BCJAFGLDL@PGJBfQRFFFN@JDNA@@AF@HBPCH@HBJFHFBJANFNBN@LCFBJPFDFBNCFDBNFJJJLDBDGV@FDJD@LGV@JPHHBF@FQb@DD\\HfCHONO@GBGDADF^DHCD@DDBDABCFAJFN@HDLJ@LJJHLHBH@DAJGDCBIBICMBECE@GB@HCHGNBFBDD@JJLPXXLNCHDLJT@PHFH`\\BJDDDBFBHDHPHDFJNDD@DE@CDCJABEB@HALRl`FDDJDZVPNBDA@KFEVGN@FCHCDGFCBEGQDMHGHCHNLHNGCMDA@SDKAECG@GBCBANGFOHGFECYBGBCFA@AFCV@FEvQLITGHKHQNID@JHD@HCB@FDHJHBBAFKJGHOTMHIFCHAF@BBJLPJFVJPJFFFL@DDJTJLBDAFEDCJBNFJDLCJAJBFDBNDHFBJHFJDJPLFXFJFZPDFJNFBDADCDIDANJJBTHFBRCHFR@@HJJFJPFH@FFHHHBF@VGDADGFCH@ZHLHFHDPPPDALSHDH@DAF@NLRBD@FCFKFAB@DBDBN@HDNEFEBODCVCL@JBDB@FIXDPAF@JBLFFLHDNFAHEPAH@JHBDALCHIJARJF@FTL@DDDN@LDJFNGTALCLGL@HDB@FEF@LFJHDBFAVFXRLNTMFBVRPHN@HDPCdPFAJCLDVAF@BEDAXFFHBLALFJBHEJ@NFFRF@BADILADBJGLBBBHRFPLDDIP@HBPADCBSBKFUCMFIZKDQLIL@FLHdRB@JAFLFFBDAJBBRBJD@FHJNJD@DCRDJH@DHFNBBFBBJFJBRNJ@FDB@BIGQFEDQHBDA@EEEBAT@BCII@A@EHBDEHCHABAF@DCLFLCHFNKJEHNND@FDF@BGAABBB@FC@CHGD@@DHBLBDHBFHD@RSHAXB`HBB@L@F@DBBTGXFLCTBHCFILKBEEIBMJENFZAD@HHNBNZN@JFF@JIJCJ@LBNPPZHVLPHBHAHFH@HAFCLKDE@KCIAG@KZEBE@O\\[RG\\GHE^@"],"encodeOffsets":[[121647,28921]]},"properties":{"cp":[118.178459,27.335627],"name":"鍗楀钩甯�","childNum":1}},{"id":"350800","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JG^OPCXExEPGJIDKA_DOHKHEL@\\X\\RNNJFH@^MhIRGJFNPHALCHEHCLBHDJLHlLCTMCGBAL@FAEEACBECEEQ@UHEDICKBYDEHAV@POLBFCNUVANCZSREPGJIDIB_HiPKRH\\PTBJCBEKMIQEOE[JMh[NOVMdHPHNFPCJHN`HLPHDDP\\XZXJPBRALITEHIfHLHRHVDXDPAPGHOD]LgX_RQFM@GAEAKLKBC@CACIE@E@CNU@EKAEGOEACBCRQDBCPB@B@DAPY@EAYSM@CFADALDF@@GH@BA@EBCH@AKE@GDCA@ALODOL@LBHBBBRBxMPODWHKZWTa@SCMAQHAFBFFBDHBFAR[JEJFDFLDDBBD[BRV@JDDNFJXNJFJHLBRDNbRTRh\\FNAJKRIBOAYEKHNZNPBLFDBTLNXLNBN@RD^PXJZFBRANBJBHLJN@^EHeFCBSCCIEAAHODUTMBBBHATBDFGFi@SDMBMCIScAIFG^@|NJHLhTpPJLFDDBF@DEDGDECGF@DDDP@PDHFH@FADMHARHBAAGOKAEHM@MJG@GB@HDLTLJRHH@HHF@FELSDOFEPGPCJ@LADAJOPOBGKIAELUHIHAJ@LBPJ`VHDH@FDPARILSHSHMNGZUV[L[LKdHNAFFF@@A@QGaIMQOIOC@GBKLQLGGG@AAEOCOEIA_HQDFRHDELED@JDBAAMEOBKFKHIECKAGGEMAMCEKCEGAICK@EBGNUGIAGEIOQ@GPMCQDO@IKQMCAEJE@EEC[KIIGMEQKIUKQESOGAS@KI@CDCFK@GCePGLIHIDMCKIUEEE@IBCCA@KDA@@FCBA@E@OHEBEAAGGE@EE@C@EEOKS@AC@EJWAEC@KFKNAAEEAYGGKGGCUBOCCE@KCAMDCC@YAcIM@GFElWPeEgAKAaEMGIEOIIAMJ聺EQIEGA]BQA]BGDMNKNGFEDCAeDO@SHKEMMECMAMDKFODKG[GGEC@ABGCGBKPK@MGCB@FNPAFKHMEIOMKSIkMCE@IVADEAOE@CCAEGMBOOSEIEAIBCDMVIBQ@YHAGDI@GHSDCLA@MHA@CEKKGE@CIUKGIAQ@MASA]EGWQGKMaMKM@yJKAIAACSIMDEFAJ@JDZE\\IHMCEIAMB[EIGGI@]SGKAKBY@_K}NKDG@KVADC@OCCAIEI@CNKNU@AASEQKMcFGCAWT[@OCO@SAWIQKMIISG_HMBu@_WHM@IGOAAC@M\\QKCID]HUN]FORWFOJaAQESIoMOEASCMBK@FK@CCEKXURCLE@EAKGCHCF@TIBABKVCFOHABO^@DHFCLBBTCBBLHDF@DMPIROPOT[SKEA@@D@BHH@B_NIHORINGN@FBLCBM@[XCH@JBDHFNHIXEHBFjjDHFHBHPJDDDDCRBJFDFBFFJDBBDREJCLQZIBIASDGAQQMKQS@@MHGJAFCBM@I@KEKDGAI@CCAEAEECUHICQBQ@UEEAAEC@QAEEG@CGAGA@CBKBEHGDEAE@SNGBGIAKIMSGIEAE@EAEQCAEIACAACSAKEOGG@KLIDIFGLHHAHFL@JBF@DHFBHCFGBAJIJCFCHAV@FDH@LCFSVEPGFE@GEQD[KI@IBGFCLANCHEDI@AHABQDEDAFDFHBIJ@BFHF@CH@DOPIFCFCJCNADC@KGE@I@EFBJMLAFFRAHHHFDJBFDJ@NHXJFF@DILI@ALMAEBEFAHDNIHDDHB@DAB_@ECC@@ABGACI@GFGCOSGEBE@GCM@MCKGGI@CACGC@@JIGSIGIOGIKGAYEY@MB[MK@IDOJ@DBHJNNNJD@H@DGDKBMCECCAMHABAXADADIDELCDODIPGXGBMEGKWUGEQSGAOAIF_DIDGCIBC@CCEDG@CABIGKA@GFBFALCFA@WBAEEAEPCDI@KDCFEHDHABABGEE@@BDBBDCBAPCFQNMPGFGBA@SQA@KAMHG@C@CNCDAH@FC@A@ICA@CFAEEAGD@BMFCCEBCCAFCBI@I@GBI@UHG@EAABAFADQPABGAKRCJGDG@EBEL@RDHVJDADGJCFODAF@JFZKH@FBBBAHMTedaFCDBHIFAFAF@NAHLJRCDFBJJBBFBDDBDAFHPDLGDDFJH@DFADKJAD@HO@@FFDAHHFEFEJIHMFKBW@EBAFBPFHOLCFAD@NDDLAJFDHAJCNEBCDALCDC@OEGBEHKAADAHAHBBPD@DCDGFCHJD@DAXBFC^PLHNFAHCDGDAPFBAHDVZRDPEBBHDLDDBDLHJFPJH@FJJBNEPALFLDBF@JCLIJ@DBFD@NBBDBF@HEDIB@HHJHLNDNHP@DEDIB@DHDBD@LEHCFQD@@BHLDDNOZ@HFJZ\\AFIX@HBBDDT@JHDD@HAD@HDLADIJ@HIRBPFLFJABMGGFAFDTCBAFJHFHFTHBVDLHCHBD@DAPBTDLBBDBPCLBDBBHHHDJ@DKLBJGJ@^CJIFGBED@FNTGFCNDBP@BDDLFFFBDAFGD@BDBTKHAHIJ@DJH@DCHBHH@@B@BQLHN@LFBBABIFBATBFDBFGHBLKD@D@HHNAF@PHDB@HAN@RJNFBDDCLBFHLJJBFDHP@FBBBJCDFH@JFJBH@B@BCEIBI@KHCLFBbDJFL@DEDCJCDGBAFCFCDGBCBDPCHUNMBCD@FEFGECD@RADAF@ZDFAJXNBDBFBBRJRDNAHN@FHNZNPATDJHVFD@DAJMFALDLBNCFBDBFPHFFBZ@LHF@H@NFDBDNFHJHHBHFHTBHDDT@LHLBbAFBDDBBEVEPIR@FBD@HHJJ@FBAJLLLZBB`D"],"encodeOffsets":[[119194,26658]]},"properties":{"cp":[116.72978,25.191603],"name":"榫欏博甯�","childNum":1}},{"id":"350900","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@KBWJOLYXEJAFDRFHHHXLLDRARGPKJKFUDI\\KDEBEACEAUDC@]SIA"],["@@MFEFM^@RJXDHPLHDH@PKTGjEZHTJ\\HRCLGBOIO聫osKuC"],["@@I@IHIHEJAJPLLFFHFNTTHJFDHBJ@LGFE@I@MI_CAKBOEAIBGSMIC"],["@@E@IH@JBBJDBDBFDH@BEFBDNDFDJBRGDLDDFBF@DCDC@CASEICMGECAEDO@AAAEEES@"],["@@DMA@K@IBIHABNHFEL@"],["@@BBH@DDD@AGKCA@AF"],["@@NLFBPBDBDAACEIE@EAAAIBIEAB@D"],["@@BFF@DBB@BCHB@GDA@AKAE@BCH@@ACCC@@ADA@CEACAID@FFBABBDABCB@BFDAB"],["@@CFHB@FBABBDCD@D@BADBFEE@EEB@BBDACC@AIA@ACC@ACAC@ABBFBB@DCD@B"],["@@ADD@DEE@@B"],["@@ADDAAA"],["@@@FBBBGDEAAA@ABAF"],["@@JDBBD@B@BEAAC@M@@B"],["@@BBDCD@DDDACGE@EAA@AFBD"],["@@BBD@FEFFJAJABCCAGBKEC@AAA@AB@FCBAD"],["@@JBABBBN@RC@CACF@DFB@BCAA@AD@BCEACDEA@AC@@CCABECAIBEAADEAADG@EAOHEFBDDBHAPF"],["@@H@@AB@HBBACCEAKFBB"],["@@D@DEJADHDALBBBD@@CGAKIEC@AD@D@JBD@@E@AE@AIA@ADCACBEAAAE@AEG@@D@HJHGDBFAHBD"],["@@ILDHRJL@@AECBC@CDACEKGG@"],["@@FBJ@NBD@EEI@CCK@EA@DDD"],["@@HBHCD@DB@FNDDAACFEAAGCEAIBCAKAGF@BDD"],["@@C@CB@DG@IDEH@DF@BDB@BCD@BAFDDABEH@BCAEEE"],["@@JBDHHDB@DCB@BCH@@CFABA@EAAM@CCG@KGCA@F@FEAEBBFABBDDDB@@C@@"],["@@@DJJJABCDABEBAHDFCEC@ECAIDAF@@ICCDEAAF"],["@@HHJ@@CF@ACAAKCCAA@AB@B@D"],["@@DDL@@AHB@@CEKAGD"],["@@HBFD@HD@B@BGDCDCCCBAAAGBGAE@GB@DB@BD"],["@@BDFADBDFCLJBFFBA@EBCHEDGIACGWBED"],["@@AB@DPBHHD@BEAC@CEEEGIAAF@DAD"],["@@CPBBF@DABAEIFBFA@C@CECAGGGI@ABBDBBHP"],["@@FDD@DIQBDD"],["@@H@@CACC@BDC@@D"],["@@BBJ@HBF@FAT@JBFDBBTCDC@AKIE@@ABCACCC@GEE@ALGFI@AAAKBEBEJA@ECG@ABBFCNQACFKDAFGB@BFDADBD"],["@@IFIHBDADN@FAHEF@DCD@BA@A@AHDD@@EF@CEEACEEAEAC@AD@@DD@DGDE@"],["@@A@AFDLDFJDNC@CBCAC[K"],["@@CH@FBBLDHDLBL@dLDADERCNIBCACIGEGC@GDOBAEGEYEEEC@AFEBG@CDCDCJ"],["@@FJHBJKEECAEBEAAD@D"],["@@BBFBFARHB@EE@ADACEBCAEEBE@@BG@AFCBAD"],["@@A@BCCCIDGEJOJ@HGH@DCBKACDEHEAIBCFAP@HCDGJCAEDCDCJABM@INFFC@EIGKMPEDMDEH@HEN@D@DGCG@CBEHEH@JAHGAEKGILCBA@AEBU@ACE@CDAB@F@JCTCDDDLD@^KHKLCDB@HDBFA@ABANDLCDBFNKBIJPRFDFADEHEDCHDJCN@BAAAMG@CDANBBAAGDCFD@HBHHABCB@BF@FB@JEHBF@BHDDHBD@D@H@LIDBADDBNAHBHAPCBDCLG@ADDDCF@BJHABI@ABDDL@DBDF@DFHRJDDFH@DABOEADBHHDVDRFP@BB@JLFVEFABG@ONBFKPO@GAEDCP@TGN@BLDFL@JVDDHBFFDLLBNNJ@FDAVDDRHVDHAFABEFAJBFHBJCJEFCHBFFFPFdDF@BBFABCJ@LEBBF@VNH@LBD@LKFCHADDFABDJBDHPDRLDJD@XMDE@G@OGECE@EDELKNWDAH@HDJJJDFANGJ@DFBCHABBAHDJ@H@BFDHCBC@CGEBANEH@RHLIHKDGEMGI@ABECCACDGRGBE@AEK@ELIBERKJADAHKJUJI\\UDYJOLIFCZUAGCEICGDEHI@QKGIBEVMHG@AGOIG@CDEKEDAJ@BA@CGEJIBGEE@ARADGNGBCCEDIRIDE@GBAHBFAbeuoQMoUAI@MACOKY@kH_D]ACDCJCBE@[KCAIBSLC@GCAEBKLKBEAIEOHOPUBG@CGC@I@CAAEDAXAJCDGBEDUAKCIFIBGCICCaCGIKG@EFMIGCKAOCKBAFBBAAK@OEEMIISC@MBDJC@O@KFeECBMJEB_@QEIBGHC@MMECEBGJCBK@CCACACBQHS@I@EGIMIMKMAQ@QAGCIIEAIA]DKAIECKBOJ]BEFEJApARAhHFECCKEEGFWJOHAD@LFNBB@FEHAPFD@BICG]QOaOQ@CPQL@LCnPDBJ@DE@EACIGAC@CTBDAFC@QGMCASMkGKCMKIICEBCDCDQHMCMBEHCNDHBB@@CIGAEBG@@JBJDJAFC@A@ECEIG聟cKKGA]FIDCDING@聝goYSCIAQBSFMDUESKIQGG@AFCAADKFCHA@CAAEAACICAOEEYAUIEGIECCBEEIKQSGQ@KAYDQDQBGDELGDAFBBDPAFBFLP@HAPBDPLDF@JEJ@BFNLLFD`NPJJLRDTPD@D@VED@LDNALBF@FGBIBCDADBBDATDDLDJR@HEFAJFHT@DDCN@HBDHHFFAFKJAFAFBHNJNNDBFLJTNH^DJDBLAHBBRJFHBBP@ddFFBJAJGLCBGBgGo@QAUCYKI@GBAB@FDH@FEDGAGGG@IDM@UIECGIAENONY@OEGGUc[IMGQKIDOFGBIEE@EBEHADC@EGEKAIGKCGIUGG@IBEBEHAH@J@DLV@BAFUPeRMA[GECmNG@聲MW@Q@SFaT}|CHI^G@BGBI@EBIFEJE@GGYEIOCMFEDCAECCCBGNM@EMQK@IgGOQIQGUOKDA@OMBIrqLGLENBLJLBHHrPHFFHFBR@JCLITA^DVDT@JEFEPQDETIP@fOHMBEEGACJOJGDMAEINAHSLCHIDSNIB[CKBCA@CHECASOICWLEBG@UFMII@EACCOo@CMEEFE@CG@CAGEAI@OFGACBMGQEE@CB@BBFABMBA@@DEB@FCDEDMFE@GEE@GHQAMLEBICCBCDFD@FAD]LM@CDOVLJ@BKRKFAJIDMR@JBDILCDWA@FKDSLEA@CEAE@CDGBS@MEUCMAEBMPKBCA@CAAG@AABAZIBGICG@CBIBIDMBOAAE@MIOEEUCCBCDG@CB@KCDG@AA@C@AFCBEEEIBIE@EEGGCCBA@EAAEED@DGCA@@DDFF@BJABEB@HUBE@EAUWGQG聟CCIDADIHUJGBCEIYII]GEBQX@TGHMZCFMFCAEIGCIMCCMEG@C@IIAEC@CBGAEDE@GAAGAAGHEBQ@CA@CAAO@AD@DEHBJEDADCFIBBBBDEHBFCD@HC@CA@KAAIACBCDA@OCK@QHCDBFFHLHJBBD@FEFEFMJCFCBC@MMCAI@_DGCBMACKFEAAMACGA@EBEF@@CIIACDI@AGEKFC@ECCC@CPO@CEEACFG@AECACCAE@IHEBS@KAQGKEEICUOMCKBGFEPBFEBKG[GECAM@CDSVE@UAKBaIGCCC[G@C@ICCOGAKIMaSUGCNBBGDAJOCFEMGCJ@L@FD@BDCFWT@DPL@^CHMFOFIBABFLEJEFS@GBCDC@EAUBCG@G@AFADCAKJABGAGQGGIC@GEAE@QCIDQAEGMHE^OTGFCIOFKIA@ICEBEFCRAHEFECGJGHKDCFAF@RKFGAICICUGC[QEA[FMF@FABEB{BQ[GGGCEEMICCAYLCBA@CACCAE@CDABC@@CC@G@DICCUIGICFDPAPAFGHELBHADEJEFDFTNEPDF@DKHKDSNQDEDKNIBEAGGC@CAMOECK@DH@LIDCD@HFN@DCDEABECGEAOBCCAECCIBABBV@PCDUH@HCB@HAJBB@B@LHHHBFLJFBFBJCHEFID@DHFBFAJBFJNRJXJHHD@BID@F@JLJT@JGXZn@JENNP@FEFC@KBKGEACBGBIBKFEJCHDD@FDJAPDJ@LFP@HGRFN@FAHDHF@FNDRALLN@FCNCBOHUBIHCDBDFJLJCFDLLPD@FCFDD@HCD@@NFT@JLHDH@\\BJLVHJBPDF@FCFDFDBJ@FFHj@HAJEHEHMJCFJXBBVBH@D@BDAFFFZDHCJAJFJAPFHLDDGTNLBH@JBLFB@DGJCFI^e^EJHPLPTBLG@KFGJGPCJBLFPNHBZMNARBREV@LDHHBLANFHRNXDRFJHXL@DCHDDHDBLEFAHBLJJFDFALEFHDBTRDLDPDJJLHLRNBNJXHFRFDFHHBLBFBBJ@D@BGHETCHDJRDBBDCF@LS@@NBNECIAI@EB@LNZBJKEC@@BBH@BED@DHHFDF@HGNCJAR@TIF@LBFCDGHgCSDEPICKMQDIHABEDAF@FHHGJAJJFDZAFBJA@HBBF@JEDGB@JJB@AGBEH@BDBBBCD@FDD@@AFBBAHCXADC@GCGBILINCBC@IBCD@F@DC@EBAFC@KbFBDEZIJADATBBLBTCVHFDFADDBDEHBPFDPDHDF@FBDDNEFGDAJJHBBHFFAFEDQHI@IFADBHJbBLCJCFGBKAE@@B@DFJ@H@N@L@LDFCDDFLEJBVHH`@HDFD@F@HGJ@LEHBHC@GBCAMHGBAFFFADE@GBCDBBDF@DDJABIBAD@BJFHFJAFKHCJKFBFBD@BEBCCKJCAAFABG@MGSPKTC@E@EBAHGDADD@H@BDCLAL@XFBBH@FCFN^HFDBLEB@BBBJFDVAAH@LCHBFFDBF@HFBJD@FCN@NDDN@LFNR@BAPGHIJCDCPAPDNLBBBDJLPBF@DNdNH~ZLHNDLHFHD@AHHBAHEB@F@JCBFHJHTTVPLFfJl@LEJK@IDMHKJIPFLDJHTTRZDL@RLTDNE^N\\XRBD@BENBHCHFFAFD\\@JN@FHFAFCFAFDBDBJBDVCFBDH@FELBFH@DGHABI@A@ABAHBDAD@HFHCBBLFDFB@DAFEDALALDDJB@PFD@NAFBFCBC\\CDCF@HE@EIQBEPQ@ACIECCG@EAAGDAAGEC@ECAKDGFE@ECE@GDGBWFCLBJEH@vGDGIM@OC@C@ACEKEGCIHCDCACD@JFPBFADB@FBBDEHACCBCVQACDKHAFC@EIGAOBALC@GBGGC@EBCFB@A@CEADGEIHMMIDGCC@KIEEA"]],"encodeOffsets":[[[123250,27563]],[[122541,27268]],[[123020,27189]],[[122916,27125]],[[121678,27068]],[[123398,27612]],[[123294,27747]],[[123611,27636]],[[123592,27651]],[[123587,27574]],[[123587,27576]],[[123438,27501]],[[123358,27630]],[[123380,27622]],[[123263,27607]],[[123185,27583]],[[123137,27586]],[[123136,27581]],[[123105,27518]],[[123002,27474]],[[123025,27443]],[[123021,27325]],[[123237,27343]],[[123240,27281]],[[123209,27290]],[[122984,27247]],[[123034,27193]],[[123016,27168]],[[123017,27126]],[[122884,27182]],[[122850,27191]],[[122865,27137]],[[122785,27331]],[[122683,27314]],[[122653,27317]],[[122636,27252]],[[122672,27239]],[[122677,27206]],[[122569,28102]]]},"properties":{"cp":[119.527082,26.95924],"name":"瀹佸痉甯�","childNum":39}}],"UTF8Encoding":true}); -})); \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomCenterChart/chart.vue b/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomCenterChart/chart.vue deleted file mode 100644 index fc4eb8f..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomCenterChart/chart.vue +++ /dev/null @@ -1,171 +0,0 @@ -<template> - <div> - <Echart - :options="options" - id="bottomLeftChart" - height="480px" - width="100%" - ></Echart> - </div> -</template> - -<script> -import Echart from "@/common/echart"; -export default { - data() { - return { - options: {}, - }; - }, - components: { - Echart, - }, - props: { - cdata: { - type: Object, - default: () => ({}), - }, - }, - watch: { - cdata: { - handler(newData) { - this.options = { - title: { - text: "", - }, - tooltip: { - trigger: "axis", - backgroundColor: "rgba(255,255,255,0.1)", - axisPointer: { - type: "shadow", - label: { - show: true, - backgroundColor: "#7B7DDC", - }, - }, - }, - legend: { - data: [ - "绋煎姩鐜�", - ], - textStyle: { - color: "#fff", - fontSize: 14, - }, - top: "0%", - right:"5%" - }, - grid: { - x: "6%", - width: "95%", - bottom:"10%" - }, - xAxis: { - data: newData.category, - splitLine: { - show: true, - lineStyle: { - color: ["#273169"], - }, - }, - axisLine: { - lineStyle: { - color: "#B4B4B4", - }, - }, - axisTick: { - show: false, - }, - }, - calculable: true, - yAxis: [ - { - min: 60, // 鍒诲害鏈�灏忓�� - max: 100, // 鍒诲害鏈�澶у�硷紙闇�瑕佸姩鎬佽幏鍙栨渶澶у��,骞朵笖鑳借3鏁撮櫎锛堝悜涓嬪彇鏁村啀涔樺洖鏉ワ級锛� - splitNumber: 10, // 妯嚎鏁� - interval: 10, // 鍒诲害闂撮殧 - axisLine: { - lineStyle: { - color: "#B4B4B4", - }, - }, - splitLine: { - show: true, - lineStyle: { - color: ["#273169"], - }, - }, - axisLabel: { - formatter: "{value} ", - }, - name: "鍗曚綅锛�%锛�", - nameTextStyle: { - color: "#ffffff", - nameLocation: "start", - }, - }, - { - - axisLine: { - lineStyle: { - color: "#B4B4B4", - }, - }, - axisLabel: { - formatter: "{value} ", - }, - }, - ], - series: [ - { - name: "绋煎姩鐜�", - type: "line", - barWidth: 10, - areaStyle: { - color: { - type: "linear", - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: "rgba(255, 255, 0,0.5)", - }, - { - offset: 0.6, //杩欐槸浜庝笅鏂圭嚎鐨勮窛绂�,璁剧疆1灏变笉鐣欑┖闅� - color: "rgba(255, 255, 0,0.1)", - }, - ], - global: false, - }, - }, - itemStyle: { - normal: { - barBorderRadius: 2, - color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { offset: 0, color: "#ffff00" }, - { offset: 1, color: "#ffff00" }, - ]), - label: { - show: false, //寮�鍚樉绀� - position: 'top', //鍦ㄤ笂鏂规樉绀� - textStyle: { //鏁板�兼牱寮� - color: 'white', - fontSize: 14 - } - } - }, - }, - data: newData.actionData, - }, - ], - }; - }, - immediate: true, - deep: true, - }, - }, -}; -</script> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomCenterChart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomCenterChart/index.vue deleted file mode 100644 index 3a4a95f..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomCenterChart/index.vue +++ /dev/null @@ -1,46 +0,0 @@ -<template> - <div> - <Chart :cdata="cdata" /> - </div> -</template> - -<script> -import Chart from "./chart.vue"; -import axios from "@/api/ajax.js" -export default { - data() { - return { - isActivation: true, - cdata: { - category: ["2/1", "2/2", "2/3", "2/4", "2/5", "2/6", "2/7"], - actionData: [], - }, - }; - }, - components: { - Chart, - }, - mounted() { - this.GetActivation(); - setInterval(() => { - this.GetActivation(); - }, 5000); - }, - methods: { - GetActivation() { - axios.post("/api/dt_equipinforecord/GetActivation", null, "").then((x) => { - if (x.data.status) { - this.cdata.category = []; - for (let index = 0; index < x.data.data.time.length; index++) { - this.cdata.category.push(x.data.data.time[index]); - this.cdata.actionData.push(x.data.data.rate[index]); - } - } - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomLeftChart/chart.vue b/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomLeftChart/chart.vue deleted file mode 100644 index 6284e01..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomLeftChart/chart.vue +++ /dev/null @@ -1,221 +0,0 @@ -<template> - <div> - <Echart - :options="options" - id="bottomLeftChart" - height="480px" - width="100%" - ></Echart> - </div> -</template> - -<script> -import Echart from "@/common/echart"; -export default { - data() { - return { - options: {}, - }; - }, - components: { - Echart, - }, - props: { - cdata: { - type: Object, - default: () => ({}), - }, - }, - watch: { - cdata: { - handler(newData) { - this.options = { - title: { - text: "", - }, - tooltip: { - trigger: "axis", - backgroundColor: "rgba(255,255,255,0.1)", - axisPointer: { - type: "shadow", - label: { - show: true, - backgroundColor: "#7B7DDC", - }, - }, - }, - legend: { - data: ["鍘嬫満鍚堟牸鐜�", "娴嬫紡鍚堟牸鐜�"], - textStyle: { - color: "#fff", - fontSize: 14, - }, - top: "0%", - right: "10", - }, - grid: { - x: "6%", - width: "95%", - bottom: "10%", - }, - xAxis: { - data: newData.category, - axisLine: { - lineStyle: { - color: "#B4B4B4", - }, - }, - splitLine: { - show: true, - lineStyle: { - color: ["#273169"], - }, - }, - axisTick: { - show: false, - }, - }, - calculable: true, - yAxis: [ - { - min: 60, // 鍒诲害鏈�灏忓�� - max: 100, // 鍒诲害鏈�澶у�硷紙闇�瑕佸姩鎬佽幏鍙栨渶澶у��,骞朵笖鑳借3鏁撮櫎锛堝悜涓嬪彇鏁村啀涔樺洖鏉ワ級锛� - splitNumber: 10, // 妯嚎鏁� - interval: 10, // 鍒诲害闂撮殧 - splitLine: { - show: true, - lineStyle: { - color: ["#273169"], - }, - }, - axisLine: { - lineStyle: { - color: "#B4B4B4", - }, - }, - axisLabel: { - formatter: "{value} ", - }, - name: "鍗曚綅锛�%锛�", - nameTextStyle: { - color: "#ffffff", - nameLocation: "start", - }, - }, - { - axisLine: { - lineStyle: { - color: "#B4B4B4", - }, - }, - axisLabel: { - formatter: "{value} ", - }, - }, - ], - series: [ - { - name: "鍘嬫満鍚堟牸鐜�", - type: "line", - barWidth: 10, - areaStyle: { - color: { - type: "linear", - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: "rgba(220, 20, 60,0.5)", - }, - { - offset: 0.6, //杩欐槸浜庝笅鏂圭嚎鐨勮窛绂�,璁剧疆1灏变笉鐣欑┖闅� - color: "rgba(220, 20, 60,0.1)", - }, - ], - global: false, - }, - }, - itemStyle: { - normal: { - barBorderRadius: 2, - color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { offset: 0, color: "red" }, - { offset: 1, color: "red" }, - ]), - label: { - show: false, //寮�鍚樉绀� - position: "top", //鍦ㄤ笂鏂规樉绀� - textStyle: { - //鏁板�兼牱寮� - color: "red", - fontSize: 16, - }, - //娣诲姞鍚庣紑 - formatter: function (params) { - return params.value + "%"; - }, - }, - }, - }, - data: newData.pressData, - }, - { - name: "娴嬫紡鍚堟牸鐜�", - type: "line", - barWidth: 10, - areaStyle: { - color: { - type: "linear", - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: "rgba(0,156,255,0.5)", - }, - { - offset: 0.6, - color: "rgba(0,156,255,0.1)", - }, - ], - global: false, - }, - }, - itemStyle: { - normal: { - barBorderRadius: 5, - color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { offset: 0, color: "#3EACE5" }, - { offset: 1, color: "#3EACE5" }, - ]), - label: { - show: false, //寮�鍚樉绀� - position: "bottom", //鍦ㄤ笂鏂规樉绀� - textStyle: { - //鏁板�兼牱寮� - color: "white", - fontSize: 16, - }, - //娣诲姞鍚庣紑 - formatter: function (params) { - return params.value + "%"; - }, - }, - }, - }, - data: newData.sideData, - }, - ], - }; - }, - immediate: true, - deep: true, - }, - }, -}; -</script> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomLeftChart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomLeftChart/index.vue deleted file mode 100644 index 39f426a..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomLeftChart/index.vue +++ /dev/null @@ -1,48 +0,0 @@ -<template> - <div> - <Chart :cdata="cdata" /> - </div> -</template> - -<script> -import Chart from "./chart.vue"; -import axios from "@/api/ajax.js"; -export default { - data() { - return { - isProductQuality: true, - cdata: { - category: ["2/1", "2/2", "2/3", "2/4", "2/5", "2/6", "2/7"], - sideData: [], //娴嬫紡鍚堟牸鐜� - pressData: [], //鍘嬫満鍚堟牸鐜� - }, - }; - }, - components: { - Chart, - }, - mounted() { - this.GetProductQuality(); - setInterval(() => { - this.GetProductQuality(); - }, 5000); - }, - methods: { - GetProductQuality() { - axios.post("/api/dt_qualitycheck/GetRate", null, "").then((x) => { - if (x.data.status) { - this.cdata.category = []; - for (let index = 0; index < x.data.data.key.length; index++) { - this.cdata.category.push(x.data.data.key[index]); - this.cdata.pressData.push(x.data.data.r_RressAct1[index]); - this.cdata.sideData.push(x.data.data.leak_detection[index]); - } - - } - }); - }, - }, -}; -</script> -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomRightChart/chart.vue b/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomRightChart/chart.vue deleted file mode 100644 index c991e1e..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomRightChart/chart.vue +++ /dev/null @@ -1,358 +0,0 @@ -<template> - <div> - <Echart - :options="options" - id="centreLeft1Chart" - height="480px" - width="100%" - ></Echart> - </div> -</template> - -<script> -import Echart from '@/common/echart' -export default { - data () { - return { - options: {}, - // 瀹氫箟棰滆壊 - colorList: { - linearYtoG: { - type: "linear", - x: 0, - y: 0, - x2: 1, - y2: 1, - colorStops: [ - { - offset: 0, - color: "#f5b44d" - }, - { - offset: 1, - color: "#28f8de" - } - ] - }, - linearGtoB: { - type: "linear", - x: 0, - y: 0, - x2: 1, - y2: 0, - colorStops: [ - { - offset: 0, - color: "#43dfa2" - }, - { - offset: 1, - color: "#28f8de" - } - ] - }, - linearBtoG: { - type: "linear", - x: 0, - y: 0, - x2: 1, - y2: 0, - colorStops: [ - { - offset: 0, - color: "#1c98e8" - }, - { - offset: 1, - color: "#28f8de" - } - ] - }, - areaBtoG: { - type: "linear", - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: "rgba(35,184,210,.2)" - }, - { - offset: 1, - color: "rgba(35,184,210,0)" - } - ] - } - } - }; - }, - components: { - Echart, - }, - props: { - cdata: { - type: Object, - default: () => ({}) - }, - }, - watch: { - cdata: { - handler (newData) { - this.options = { - title: { - text: "", - textStyle: { - color: "#D3D6DD", - fontSize: 24, - fontWeight: "normal" - }, - subtext: newData.year + "/" + newData.weekCategory[6], - subtextStyle: { - color: "#fff", - fontSize: 16 - }, - top: 50, - left: 80 - }, - legend: { - top: 120, - left: 80, - orient: "vertical", - itemGap: 15, - itemWidth: 12, - itemHeight: 12, - data: ["骞冲潎鎸囨爣", "鎴戠殑鎸囨爣"], - textStyle: { - color: "#fff", - fontSize: 14 - } - }, - tooltip: { - trigger: "item" - }, - radar: { - center: ["68%", "27%"], - radius: "40%", - name: { - color: "#fff" - }, - splitNumber: 8, - axisLine: { - lineStyle: { - color: this.colorList.linearYtoG, - opacity: 0.6 - } - }, - splitLine: { - lineStyle: { - color: this.colorList.linearYtoG, - opacity: 0.6 - } - }, - splitArea: { - areaStyle: { - color: "#fff", - opacity: 0.1, - shadowBlur: 25, - shadowColor: "#000", - shadowOffsetX: 0, - shadowOffsetY: 5 - } - }, - indicator: [ - { - name: "Ng鐜�", - max: newData.maxData - }, - { - name: "Ok鐜�", - max: 10 - }, - { - name: "寮傚父鐜�", - max: 12 - }, - { - name: "姝e父鐜�", - max: 3.5 - } - ] - }, - grid: { - left: 90, - right: 80, - bottom: 40, - top: "60%" - }, - xAxis: { - type: "category", - position: "bottom", - axisLine: true, - axisLabel: { - color: "rgba(255,255,255,.8)", - fontSize: 12 - }, - data: newData.weekCategory - }, - // 涓嬫柟Y杞� - yAxis: { - name: "OK鏁伴噺", - nameLocation: "end", - nameGap: 24, - nameTextStyle: { - color: "rgba(255,255,255,.5)", - fontSize: 14 - }, - max: newData.maxData, - splitNumber: 4, - - axisLine: { - lineStyle: { - opacity: 0 - } - }, - splitLine: { - show: true, - lineStyle: { - color: "#fff", - opacity: 0.1 - } - }, - axisLabel: { - color: "rgba(255,255,255,.8)", - fontSize: 12 - } - }, - series: [ - { - name: "", - type: "radar", - symbolSize: 0, - data: [ - { - value: newData.radarDataAvg[6], - name: "骞冲潎鎸囨爣", - itemStyle: { - normal: { - color: "#f8d351" - } - }, - lineStyle: { - normal: { - opacity: 0 - } - }, - areaStyle: { - normal: { - color: "#f8d351", - shadowBlur: 25, - shadowColor: "rgba(248,211,81,.3)", - shadowOffsetX: 0, - shadowOffsetY: -10, - opacity: 1 - } - } - }, - { - value: newData.radarData[6], - name: "鎴戠殑鎸囨爣", - itemStyle: { - normal: { - color: "#43dfa2" - } - }, - lineStyle: { - normal: { - opacity: 0 - } - }, - areaStyle: { - normal: { - color: this.colorList.linearGtoB, - shadowBlur: 15, - shadowColor: "rgba(0,0,0,.2)", - shadowOffsetX: 0, - shadowOffsetY: 5, - opacity: 0.8 - } - } - } - ] - }, - { - name: "", - type: "line", - smooth: true, - symbol: "emptyCircle", - symbolSize: 8, - itemStyle: { - normal: { - color: "#fff" - } - }, - lineStyle: { - normal: { - color: this.colorList.linearBtoG, - width: 3 - } - }, - areaStyle: { - normal: { - color: this.colorList.areaBtoG - } - }, - data: newData.weekLineData, - lineSmooth: true, - markLine: { - silent: true, - data: [ - { - type: "average", - name: "骞冲潎鍊�" - } - ], - precision: 0, - label: { - normal: { - formatter: "骞冲潎鍊�: \n {c}" - } - }, - lineStyle: { - normal: { - color: "rgba(248,211,81,.7)" - } - } - }, - tooltip: { - position: "top", - formatter: "{c} m", - backgroundColor: "rgba(28,152,232,.2)", - padding: 6 - } - }, - { - name: "鍗犱綅鑳屾櫙", - type: "bar", - itemStyle: { - normal: { - show: true, - color: "#000", - opacity: 0 - } - }, - silent: true, - barWidth: "50%", - data: newData.weekMaxData, - animation: false - } - ] - } - }, - immediate: true, - deep: true - } - } -}; -</script> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomRightChart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomRightChart/index.vue deleted file mode 100644 index 6be5e80..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/bottom/bottomRightChart/index.vue +++ /dev/null @@ -1,90 +0,0 @@ -<template> - <div> - <Chart :cdata="cdata" /> - </div> -</template> - -<script> -import Chart from "./chart.vue"; -export default { - data() { - return { - drawTiming: null, - cdata: { - year: null, - weekCategory: [], - radarData: [], - radarDataAvg: [], - maxData: 500, - weekMaxData: [], - weekLineData: [], - }, - }; - }, - components: { - Chart, - }, - mounted() { - this.drawTimingFn(); - }, - beforeDestroy() { - clearInterval(this.drawTiming); - }, - methods: { - drawTimingFn() { - this.setData(); - this.drawTiming = setInterval(() => { - this.setData(); - }, 6000); - }, - setData() { - // 娓呯┖杞鏁版嵁 - this.cdata.weekCategory = []; - this.cdata.weekMaxData = []; - this.cdata.weekLineData = []; - this.cdata.radarData = []; - this.cdata.radarDataAvg = []; - - let dateBase = new Date(); - this.cdata.year = dateBase.getFullYear(); - // 鍛ㄦ暟鎹� - for (let i = 0; i < 7; i++) { - // 鏃ユ湡 - let date = new Date(); - this.cdata.weekCategory.unshift( - [date.getMonth() + 1, date.getDate() - i].join("/") - ); - - // 鎶樼嚎鍥炬暟鎹� - this.cdata.weekMaxData.push(this.cdata.maxData); - let distance = Math.round(Math.random() * 500); - this.cdata.weekLineData.push(distance); - - // 闆疯揪鍥炬暟鎹� - // 鎴戠殑鎸囨爣 - let averageSpeed = +(Math.random() * 5 + 3).toFixed(3); - let maxSpeed = averageSpeed + +(Math.random() * 3).toFixed(2); - let hour = +(distance / 1000 / averageSpeed).toFixed(1); - let radarDayData = [distance, averageSpeed, maxSpeed, hour]; - this.cdata.radarData.unshift(radarDayData); - - // 骞冲潎鎸囨爣 - let distanceAvg = Math.round(Math.random() * 500); - let averageSpeedAvg = +(Math.random() * 4 + 4).toFixed(3); - let maxSpeedAvg = averageSpeedAvg + +(Math.random() * 2).toFixed(2); - let hourAvg = +(distance / 1000 / averageSpeed).toFixed(1); - let radarDayDataAvg = [ - distanceAvg, - averageSpeedAvg, - maxSpeedAvg, - hourAvg, - ]; - this.cdata.radarDataAvg.unshift(radarDayDataAvg); - } - }, - }, -}; -</script> - -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/center/centerChartRate/index.vue b/CodeManagement/BigScreenVue/src/components/echart/center/centerChartRate/index.vue deleted file mode 100644 index d27953a..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/center/centerChartRate/index.vue +++ /dev/null @@ -1,104 +0,0 @@ -<template> - <div> - <!-- 閫氳繃鐜�/杈炬爣鐜� --> - <Echart - :options="options" - :id="id" - height="100px" - width="100px" - ></Echart> - </div> -</template> - -<script> -import Echart from '@/common/echart' -export default { - data () { - return { - options: {}, - }; - }, - components: { - Echart, - }, - props: { - id: { - type: String, - required: true, - default: "chartRate" - }, - tips: { - type: Number, - required: true, - default: 50 - }, - colorObj: { - type: Object, - default: function () { - return { - textStyle: "#3fc0fb", - series: { - color: ["#00bcd44a", "transparent"], - dataColor: { - normal: "#03a9f4", - shadowColor: "#97e2f5" - } - } - }; - } - } - }, - watch: { - // tips 鏄細鍙樻洿鐨勬暟鎹紝鎵�浠ヨ繘琛岀洃鍚� - tips: { - handler (newData) { - this.options = { - title:{ - text: newData * 1 + " ", - x: "center", - y: "center", - textStyle: { - color: this.colorObj.textStyle, - fontSize: 28 - } - }, - series: [ - { - type: "pie", - radius: ["75%", "80%"], - center: ["50%", "50%"], - hoverAnimation: false, - color: this.colorObj.series.color, - label: { - normal: { - show: false - } - }, - data: [ - { - value: newData, - itemStyle: { - normal: { - color: this.colorObj.series.dataColor.normal, - shadowBlur: 10, - shadowColor: this.colorObj.series.dataColor.shadowColor - } - } - }, - { - value: 500 - newData - } - ] - } - ] - } - }, - immediate: true, - deep: true - } - } -}; -</script> - -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft1Chart/chart.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft1Chart/chart.vue deleted file mode 100644 index 5c6d6fc..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft1Chart/chart.vue +++ /dev/null @@ -1,65 +0,0 @@ -<template> - <div> - <Echart - :options="options" - id="centreLeft1Chart" - height="220px" - width="260px" - ></Echart> - </div> -</template> - -<script> -import Echart from '@/common/echart' -export default { - data () { - return { - options: {}, - }; - }, - components: { - Echart, - }, - props: { - cdata: { - type: Object, - default: () => ({}) - }, - }, - watch: { - cdata: { - handler (newData) { - this.options = { - series: [ - { - type: "pie", - radius: [40, 50], - hoverAnimation: false, - itemStyle: { - borderColor: 'gray', // 杈规棰滆壊 - borderWidth: 1 // 杈规瀹藉害 - }, - center: ["50%", "35%"], - data: newData.seriesData, - label: {//楗煎浘涓棿鏂囧瓧璁剧疆 - normal: { - show: false, - position: 'center', - color:'#fff', - fontSize:'16', - formatter: "{d}%", - }, - }, - } - ] - } - }, - immediate: true, - deep: true - } - } -}; -</script> - -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft1Chart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft1Chart/index.vue deleted file mode 100644 index f08d3fd..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft1Chart/index.vue +++ /dev/null @@ -1,90 +0,0 @@ -<template> - <div> - <Chart :cdata="cdata" /> - </div> -</template> - -<script> -import Chart from "./chart.vue"; -import axios from "@/api/ajax.js"; -export default { - data() { - return { - isEfficient: true, - cdata: { - xData: [], - seriesData: [ - { - value: 200, - name: "宸插畬鎴�", - itemStyle: { color: "#32c5e9" }, - label: { - normal: { - show: true, - formatter: "{d}%", - textStyle: { - fontSize: 16, - fontWeight: "bolder", - }, - }, - }, - }, - { value: 100, name: "鏈畬鎴�", itemStyle: { color: "#00000000" } }, - ], - }, - }; - }, - components: { - Chart, - }, - mounted() { - this.GetEfficient(); - setInterval(() => { - this.GetEfficient(); - }, 1000); - }, - methods: { - GetEfficient() { - axios.post("/api/dt_product/GetDayGoals", null, "").then((x) => { - if (x.data.status) { - this.cdata.seriesData = [ - { - value: x.data.data.day_actual, //宸插畬鎴愬�糳ata.day_target - name: "宸插畬鎴�", - itemStyle: { color: "#32c5e9" }, - label: { - normal: { - show: true, - formatter: "{d}%", - textStyle: { - fontSize: 16, - fontWeight: "bolder", - }, - }, - }, - }, - { - value: x.data.data.day_continued,//鏈畬鎴愬�� - name: "鏈畬鎴�", - itemStyle: { color: "#00000000" }, - }, - ]; - //寮�鍚畾鏃跺櫒 - if (this.isEfficient) { - setInterval(() => { - this.isEfficient = false; - this.GetEfficient(); - }, 10000); - } - } - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.ec-font { - font-size: 18px; -} -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft2Chat/chart.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft2Chat/chart.vue deleted file mode 100644 index 5c6d6fc..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft2Chat/chart.vue +++ /dev/null @@ -1,65 +0,0 @@ -<template> - <div> - <Echart - :options="options" - id="centreLeft1Chart" - height="220px" - width="260px" - ></Echart> - </div> -</template> - -<script> -import Echart from '@/common/echart' -export default { - data () { - return { - options: {}, - }; - }, - components: { - Echart, - }, - props: { - cdata: { - type: Object, - default: () => ({}) - }, - }, - watch: { - cdata: { - handler (newData) { - this.options = { - series: [ - { - type: "pie", - radius: [40, 50], - hoverAnimation: false, - itemStyle: { - borderColor: 'gray', // 杈规棰滆壊 - borderWidth: 1 // 杈规瀹藉害 - }, - center: ["50%", "35%"], - data: newData.seriesData, - label: {//楗煎浘涓棿鏂囧瓧璁剧疆 - normal: { - show: false, - position: 'center', - color:'#fff', - fontSize:'16', - formatter: "{d}%", - }, - }, - } - ] - } - }, - immediate: true, - deep: true - } - } -}; -</script> - -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft2Chat/index.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft2Chat/index.vue deleted file mode 100644 index 1332507..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft2Chat/index.vue +++ /dev/null @@ -1,90 +0,0 @@ -<template> - <div> - <Chart :cdata="cdata" /> - </div> -</template> - -<script> -import Chart from "./chart.vue"; -import axios from "@/api/ajax.js"; -export default { - data() { - return { - isEfficient: true, - cdata: { - xData: [], - seriesData: [ - { - value: "", - name: "宸插畬鎴�", - itemStyle: { color: "#32c5e9" }, - label: { - normal: { - show: true, - formatter: "{d}%", - textStyle: { - fontSize: 16, - fontWeight: "bolder", - }, - }, - }, - }, - { value:"", name: "鏈畬鎴�", itemStyle: { color: "#00000000" } }, - ], - }, - }; - }, - components: { - Chart, - }, - mounted() { - this.GetEfficient(); - setInterval(() => { - this.GetEfficient(); - }, 1000); - }, - methods: { - GetEfficient() { - axios.post("/api/dt_product/GetDayGoals", null, "").then((x) => { - if (x.data.status) { - this.cdata.seriesData = [ - { - value: x.data.data.month_actual, //宸插畬鎴愬�� - name: "宸插畬鎴�", - itemStyle: { color: "#32c5e9" }, - label: { - normal: { - show: true, - formatter: "{d}%", - textStyle: { - fontSize: 16, - fontWeight: "bolder", - }, - }, - }, - }, - { - value: x.data.data.month_continued,//鏈畬鎴愬�� - name: "鏈畬鎴�", - itemStyle: { color: "#00000000" }, - }, - ]; - //寮�鍚畾鏃跺櫒 - if (this.isEfficient) { - setInterval(() => { - this.isEfficient = false; - this.GetEfficient(); - }, 10000); - } - } - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.ec-font { - font-size: 18px; -} -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft3Chart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft3Chart/index.vue deleted file mode 100644 index a11460f..0000000 --- a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft3Chart/index.vue +++ /dev/null @@ -1,38 +0,0 @@ -<template> - <div> - <Chart :cdata="cdata" /> - </div> -</template> - -<script> -import Chart from "./chart.vue"; -// import{LEDloctionList} from "@/api/http.js"; -export default { - data() { - return { - cdata: { - xData: ["绌鸿揣浣�", "宸蹭娇鐢�", "绂佺敤"], - seriesData: [ - { value: 30, name: "绌鸿揣浣�" }, - { value: 5, name: "宸蹭娇鐢�" }, - { value: 15, name: "绂佺敤" }, - ], - }, - }; - }, - components: { - Chart, - }, - mounted() { - // setInterval(() => { - // this.LEDloctionList(); - // }, 3000); - - }, - methods: { - } -}; -</script> - -<style lang="scss" scoped> -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft3Chart/chart.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue similarity index 69% rename from CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft3Chart/chart.vue rename to CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue index 1c433c8..ef0c909 100644 --- a/CodeManagement/BigScreenVue/src/components/echart/centerLeft/centerLeft3Chart/chart.vue +++ b/CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/chart.vue @@ -2,15 +2,15 @@ <div> <Echart :options="options" - id="centreLeft3Chart" + id="centreLeft1Chart" height="220px" - width="260px" + width="360px" ></Echart> </div> </template> <script> -import Echart from '@/common/echart' +import * as echarts from 'echarts'; export default { data () { return { @@ -18,7 +18,7 @@ }; }, components: { - Echart, + echarts, }, props: { cdata: { @@ -33,8 +33,19 @@ color: [ "#37a2da", "#32c5e9", - "#ccc", + "#9fe6b8", + "#ffdb5c", + "#ff9f7f", + "#fb7293", + "#e7bcf3", + "#8378ea" ], + legend:{ + textStyle:{ + color:"#ffffff", + fontSize:18 + } + }, tooltip: { trigger: "item", formatter: "{a} <br/>{b} : {c} ({d}%)" @@ -55,11 +66,11 @@ }, series: [ { - name: "璐т綅鐘舵��", + name: "閫氳繃鐜囩粺璁�", type: "pie", - radius: [10, 50], - // roseType: "area", - center: ["50%", "40%"], + radius: [20, 60], + roseType: "area", + center: ["50%", "50%"], data: newData.seriesData } ] diff --git a/CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/centerLeft1Chart/index.vue new file mode 100644 index 0000000..f1af8ce --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/common/echart/index.vue b/CodeManagement/BigScreenVue/src/components/echart/index.vue similarity index 75% rename from CodeManagement/BigScreenVue/src/common/echart/index.vue rename to CodeManagement/BigScreenVue/src/components/echart/index.vue index 6473245..0ae38d4 100644 --- a/CodeManagement/BigScreenVue/src/common/echart/index.vue +++ b/CodeManagement/BigScreenVue/src/components/echart/index.vue @@ -1,11 +1,16 @@ +<!-- + * @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 tdTheme from './theme.json' // 寮曞叆榛樿涓婚 -import '../map/fujian.js' - +import * as echarts from 'echarts'; export default { name: 'echart', props: { @@ -23,7 +28,7 @@ }, height: { type: String, - default: '2.5rem' + default: '100%' }, options: { type: Object, @@ -45,7 +50,6 @@ } }, mounted () { - this.$echarts.registerTheme('tdTheme', tdTheme); // 瑕嗙洊榛樿涓婚 this.initChart(); }, beforeDestroy () { @@ -55,7 +59,7 @@ methods: { initChart () { // 鍒濆鍖杄chart - this.chart = this.$echarts.init(this.$el, 'tdTheme') + this.chart = echarts.init(this.$el) this.chart.setOption(this.options, true) } } diff --git a/CodeManagement/BigScreenVue/src/components/item-wrap/item-wrap.vue b/CodeManagement/BigScreenVue/src/components/item-wrap/item-wrap.vue new file mode 100644 index 0000000..e58dc5e --- /dev/null +++ b/CodeManagement/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"> {{ title }} </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/CodeManagement/BigScreenVue/src/components/kong.vue b/CodeManagement/BigScreenVue/src/components/kong.vue new file mode 100644 index 0000000..8732756 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/components/message/message.vue b/CodeManagement/BigScreenVue/src/components/message/message.vue new file mode 100644 index 0000000..8c8c7a1 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/components/reacquire/reacquire.vue b/CodeManagement/BigScreenVue/src/components/reacquire/reacquire.vue new file mode 100644 index 0000000..2f47845 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/components/scale-screen/scale-screen.vue b/CodeManagement/BigScreenVue/src/components/scale-screen/scale-screen.vue new file mode 100644 index 0000000..a8c5637 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/main.js b/CodeManagement/BigScreenVue/src/main.js index 32bef24..c9c2a30 100644 --- a/CodeManagement/BigScreenVue/src/main.js +++ b/CodeManagement/BigScreenVue/src/main.js @@ -1,37 +1,54 @@ -import Vue from 'vue'; -import App from './App.vue'; -import router from './router'; -import store from './store'; -import dataV from '@jiaminghi/data-view'; -// 寮曞叆鍏ㄥ眬css -import './assets/scss/style.scss'; -// 鎸夐渶寮曞叆vue-awesome鍥炬爣 -import Icon from 'vue-awesome/components/Icon'; -import 'vue-awesome/icons/chart-bar.js'; -import 'vue-awesome/icons/chart-area.js'; -import 'vue-awesome/icons/chart-pie.js'; -import 'vue-awesome/icons/chart-line.js'; -import 'vue-awesome/icons/align-left.js'; -import ElementUI from 'element-ui'; -import axios from 'axios'; -import VueAxios from 'vue-axios'; +/* + * @Author: daidai + * @Date: 2022-01-12 14:05:56 + * @LastEditors: Please set LastEditors + * @LastEditTime: 2023-08-07 17:12:07 + * @FilePath: \web-pc\src\pages\big-screen\main.js + */ +import Vue from "vue"; +import App from "./App.vue"; +import router from './router' +import store from './store' +import {loading,borderBox13,digitalFlop,capsuleChart,borderBox8} from '@jiaminghi/data-view' +import { Radio,Button,RadioGroup } from 'element-ui' +import Echart from './components/echart/index.vue' +import ItemWrap from './components/item-wrap/item-wrap.vue' +import Message from './components/message/message.vue' +import Reacquire from './components/reacquire/reacquire.vue' +import Messages from './components/message/message' +import dataV from '@jiaminghi/data-view' +import "vue-easytable/libs/theme-default/index.css"; +import '@/assets/css/public.scss' +import "@/assets/css/index.scss" -//寮曞叆echart -//4.x 寮曠敤鏂瑰紡 -import echarts from 'echarts' -//5.x 寮曠敤鏂瑰紡涓烘寜闇�寮曠敤 -//甯屾湜浣跨敤5.x鐗堟湰鐨勮瘽,闇�瑕佸湪package.json涓洿鏂扮増鏈彿,骞跺垏鎹㈠紩鐢ㄦ柟寮� -//import * as echarts from 'echarts' -Vue.prototype.$echarts = echarts + +import * as filters from '@/directives/filters' + +require('./mock/mock')//鏄惁浣跨敤mock Vue.config.productionTip = false; -Vue.use(VueAxios, axios) -// 鍏ㄥ眬娉ㄥ唽 -Vue.component('icon', Icon); -Vue.use(dataV); -Vue.use(ElementUI) +// 鑷畾涔夌粍浠� +Vue.component("Echart",Echart) +Vue.component("ItemWrap",ItemWrap) +Vue.component("Message",Message) +Vue.component("Reacquire",Reacquire) +Vue.prototype.$Message = Messages +// element缁勪欢 +Vue.use(Radio); +Vue.use(Button); +Vue.use(RadioGroup) + +// datav缁勪欢 +Vue.use(loading) +Vue.use(borderBox13) +Vue.use(borderBox8) +Vue.use(digitalFlop) +Vue.use(capsuleChart) + +// 鍏ㄥ眬鏁版嵁杩囨护鍣� +Object.keys(filters).forEach(k => Vue.filter(k, filters[k])); new Vue({ router, store, - render: (h) => h(App), -}).$mount('#app'); + render: h => h(App) +}).$mount("#app"); \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/router/index.js b/CodeManagement/BigScreenVue/src/router/index.js index 5c1f8cd..52d9157 100644 --- a/CodeManagement/BigScreenVue/src/router/index.js +++ b/CodeManagement/BigScreenVue/src/router/index.js @@ -1,15 +1,36 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' +/* + * @Author: daidai + * @Date: 2022-01-12 14:22:29 + * @LastEditors: Please set LastEditors + * @LastEditTime: 2022-04-28 14:53:02 + * @FilePath: \web-pc\src\pages\big-screen\router\index.js + */ +import Vue from "vue"; +import VueRouter from "vue-router"; -Vue.use(VueRouter) +Vue.use(VueRouter); -const routes = [{ +const routes = [ { path: '/', - name: 'index', - component: () => import('../views/index.vue') -}] + redirect: '/index', +}, +{ + path: '/home', + name: 'home', + component: () => import(/* webpackChunkName: "LSD.bighome" */ '../views/home.vue'), + children:[ + { + path: '/index', + name: 'index', + component: () => import(/* webpackChunkName: "LSD.bighome" */ '../views/indexs/index.vue'), + } + ] +}, +]; const router = new VueRouter({ + mode: "hash", + // base: process.env.BASE_URL, routes -}) +}); -export default router \ No newline at end of file +export default router; \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/store/index.js b/CodeManagement/BigScreenVue/src/store/index.js index 332b916..62033e1 100644 --- a/CodeManagement/BigScreenVue/src/store/index.js +++ b/CodeManagement/BigScreenVue/src/store/index.js @@ -1,15 +1,37 @@ -import Vue from 'vue' -import Vuex from 'vuex' +/* + * @Author: your name + * @Date: 2021-07-26 09:32:49 + * @LastEditTime: 2022-04-26 09:12:33 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: \web-pc\src\pages\big-screen\store\index.js + */ +import Vuex from 'vuex'; +import Vue from 'vue'; Vue.use(Vuex) - +const modulesFiles = require.context('./modules', true, /\.js$/) +const modules = modulesFiles.keys().reduce((modules, modulePath) => { + const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') + const value = modulesFiles(modulePath) + modules[moduleName]=value.default + modules[moduleName].namespaced = true; //鎵撳紑鍛藉悕绌洪棿 + return modules +}, {}) export default new Vuex.Store({ + modules, state: { + }, mutations: { + setCollapsed(state,value){ + }, }, actions: { + getUserdata({commit}){ + + }, + }, - modules: { - } + }) diff --git a/CodeManagement/BigScreenVue/src/utils/drawMixin.js b/CodeManagement/BigScreenVue/src/utils/drawMixin.js index 93e1236..32b4c1c 100644 --- a/CodeManagement/BigScreenVue/src/utils/drawMixin.js +++ b/CodeManagement/BigScreenVue/src/utils/drawMixin.js @@ -1,3 +1,10 @@ +/* + * @Author: daidai + * @Date: 2022-02-28 10:48:02 + * @LastEditors: Please set LastEditors + * @LastEditTime: 2022-04-26 14:55:41 + * @FilePath: \web-pc\src\pages\big-screen\utils\drawMixin.js + */ // 灞忓箷閫傞厤 mixin 鍑芥暟 // * 榛樿缂╂斁鍊� @@ -17,15 +24,23 @@ data() { return { // * 瀹氭椂鍑芥暟 - drawTiming: null + drawTiming: null, + } + }, + computed: { + isScale(){ + return this.$store.state.setting.isScale } }, mounted () { + if(!this.isScale){ + return + } this.calcRate() window.addEventListener('resize', this.resize) }, beforeDestroy () { - window.removeEventListener('resize', this.resize) + window.removeEventListener('resize', this.resize) }, methods: { calcRate () { @@ -48,6 +63,9 @@ } }, resize () { + if(!this.isScale){ + return + } clearTimeout(this.drawTiming) this.drawTiming = setTimeout(() => { this.calcRate() diff --git a/CodeManagement/BigScreenVue/src/utils/index.js b/CodeManagement/BigScreenVue/src/utils/index.js index 0452fb5..5869e72 100644 --- a/CodeManagement/BigScreenVue/src/utils/index.js +++ b/CodeManagement/BigScreenVue/src/utils/index.js @@ -1,3 +1,11 @@ +/* + * @Author: daidai + * @Date: 2022-02-23 08:59:26 + * @LastEditors: daidai + * @LastEditTime: 2022-02-24 17:11:58 + * @FilePath: \big-screen-vue-datav\src\utils\index.js + */ + /** * @param {Function} fn 闃叉姈鍑芥暟 * @param {Number} delay 寤惰繜鏃堕棿 @@ -13,7 +21,6 @@ }, delay); }; } - /** * @param {date} time 闇�瑕佽浆鎹㈢殑鏃堕棿 * @param {String} fmt 闇�瑕佽浆鎹㈢殑鏍煎紡 濡� yyyy-MM-dd銆亂yyy-MM-dd HH:mm:ss diff --git a/CodeManagement/BigScreenVue/src/utils/resizeMixin.js b/CodeManagement/BigScreenVue/src/utils/resizeMixin.js deleted file mode 100644 index a4d25bc..0000000 --- a/CodeManagement/BigScreenVue/src/utils/resizeMixin.js +++ /dev/null @@ -1,32 +0,0 @@ -// 娣峰叆浠g爜 resize-mixins.js -import { debounce } from '@/utils'; -const resizeChartMethod = '$__resizeChartMethod'; - -export default { - data() { - // 鍦ㄧ粍浠跺唴閮ㄥ皢鍥捐〃 init 鐨勫紩鐢ㄦ槧灏勫埌 chart 灞炴�т笂 - return { - chart: null, - }; - }, - created() { - window.addEventListener('resize', this[resizeChartMethod], false); - }, - activated() { - // 闃叉 keep-alive 涔嬪悗鍥捐〃鍙樺舰 - if (this.chart) { - this.chart.resize() - } - }, - beforeDestroy() { - window.removeEventListener('reisze', this[resizeChartMethod]); - }, - methods: { - // 闃叉姈鍑芥暟鏉ユ帶鍒� resize 鐨勯鐜� - [resizeChartMethod]: debounce(function() { - if (this.chart) { - this.chart.resize(); - } - }, 300), - }, -}; diff --git a/CodeManagement/BigScreenVue/src/views/bottomView1.vue b/CodeManagement/BigScreenVue/src/views/bottomView1.vue deleted file mode 100644 index c4abbb3..0000000 --- a/CodeManagement/BigScreenVue/src/views/bottomView1.vue +++ /dev/null @@ -1,109 +0,0 @@ -<template> - <div id="centerRight1"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon name="chart-line" class="text-icon"></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2">褰撳墠鐢熶骇浠诲姟</span> - </div> - </div> - <div class="d-flex jc-center body-box"> - <dv-scroll-board class="dv-scr-board" :config="config" /> - </div> - </div> - </div> -</template> - <script> -import axios from "@/api/ajax.js"; -import { addListener } from "process"; -export default { - data() { - return { - config: { - header: [ "鐗╂枡缂栧彿", "浠诲姟鍒涘缓鏃堕棿","涓婃枡鏃堕棿", "鐘舵��"], - data: [ - [ - "TX0101092", - "2024/3/30 15:59:58", - "2024/3/30 15:59:58", - "鐢熶骇涓�", - ] - ], - rowNum: 10, //琛ㄦ牸琛屾暟 - waitTime: 5000, - // headerHeight: 30, - // headerBGC: "#002B46", //琛ㄥご - // oddRowBGC: "#002B46", //濂囨暟琛� - // evenRowBGC: "#042B53", //鍋舵暟琛� - index: true, - columnWidth: [100,160, 160, 160,160], - align: ["center"], - }, - }; - }, - mounted() { - this.GetProductionTask(); - setInterval(() => { - this.GetProductionTask(); - }, 5000); - }, - methods: { - GetProductionTask() { - axios.post("/api/dt_product/GetProductionTask", null, "").then((x) => { - if (x.data.status) { - var data = x.data.data; - var arr = []; //瀛樺偍闇�瑕佺殑鏁版嵁 - this.config.data = []; //娓呯┖鍘熸暟鎹� - var that = this; - for (let index = 0; index < data.length; index++) { - arr.push(data[index].product_remark); //鐗╂枡缂栧彿 - arr.push(data[index].product_createtime); //涓婃枡鏃堕棿 - arr.push(data[index].product_updatetime); //涓婃枡鏃堕棿 - arr.push(data[index].product_state); //鐘舵�� - that.config.data.push(arr); - arr = []; //娓呯┖ - } - this.config = { - header: ["鐗╂枡缂栧彿", "浠诲姟鍒涘缓鏃堕棿","涓婃枡鏃堕棿", "鐘舵��"], - data: that.config.data, - rowNum: 10, //琛ㄦ牸琛屾暟 - waitTime: 5000, - index: true, - // columnWidth: [100,220, 280, 160], - columnWidth: [100,160, 160, 160,160], - align: ["center"], - }; - } - }); - }, - }, -}; -</script> - <style lang="scss" scoped> -$box-height: 520px; -$box-width: 660px; -#centerRight1 { - padding: 16px; - padding-top: 10px; - height: $box-height; - width: $box-width; - border-radius: 5px; - .bg-color-black { - height: $box-height - 30px; - border-radius: 10px; - } - .text { - color: #ffffff; - font-size: 12pt; - } - .body-box { - border-radius: 10px; - .dv-scr-board { - width: 630px; - height: 460px; - } - } -} -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/views/bottomView2.vue b/CodeManagement/BigScreenVue/src/views/bottomView2.vue deleted file mode 100644 index ab9e152..0000000 --- a/CodeManagement/BigScreenVue/src/views/bottomView2.vue +++ /dev/null @@ -1,54 +0,0 @@ -<template> - <div id="bottomLeft"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon name="chart-bar" class="text-icon"></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2">浜у搧鍚堟牸鐜�</span> - </div> - </div> - <div> - <BottomLeftChart /> - </div> - </div> - </div> -</template> - -<script> -import BottomLeftChart from '@/components/echart/bottom/bottomLeftChart' - -export default { - components: { - BottomLeftChart - } -} -</script> - -<style lang="scss" scoped> -$box-height: 520px; -$box-width: 100%; -#bottomLeft { - padding: 20px 16px; - height: $box-height; - width: 620px; - border-radius: 5px; - .bg-color-black { - height: $box-height - 35px; - border-radius: 10px; - } - .text { - color: #ffffff; - font-size: 12pt; - } - .chart-box { - margin-top: 16px; - width: 170px; - height: 170px; - .active-ring-name { - padding-top: 10px; - } - } -} -</style> diff --git a/CodeManagement/BigScreenVue/src/views/bottomView3.vue b/CodeManagement/BigScreenVue/src/views/bottomView3.vue deleted file mode 100644 index dcbde8c..0000000 --- a/CodeManagement/BigScreenVue/src/views/bottomView3.vue +++ /dev/null @@ -1,54 +0,0 @@ -<template> - <div id="bottomLeft"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon name="chart-bar" class="text-icon"></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2">璁惧绋煎姩鐜�</span> - </div> - </div> - <div> - <BottomCenterChart /> - </div> - </div> - </div> -</template> - -<script> -import BottomCenterChart from '@/components/echart/bottom/bottomCenterChart' - -export default { - components: { - BottomCenterChart - } -} -</script> - -<style lang="scss" scoped> -$box-height: 520px; -$box-width: 100%; -#bottomLeft { - padding: 20px 16px; - height: $box-height; - width: 620px; - border-radius: 5px; - .bg-color-black { - height: $box-height - 35px; - border-radius: 10px; - } - .text { - color: #ffffff; - font-size: 12pt; - } - .chart-box { - margin-top: 16px; - width: 170px; - height: 170px; - .active-ring-name { - padding-top: 10px; - } - } -} -</style> diff --git a/CodeManagement/BigScreenVue/src/views/centerLeft1.vue b/CodeManagement/BigScreenVue/src/views/centerLeft1.vue deleted file mode 100644 index e00ba9c..0000000 --- a/CodeManagement/BigScreenVue/src/views/centerLeft1.vue +++ /dev/null @@ -1,146 +0,0 @@ -<template> - <div id="centerLeft1"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <div class="d-flex"> - <span class="fs-xl text mx-2" style="font-size: 20px" - >浜哄憳淇℃伅</span - > - </div> - </div> - <dv-decoration-2 class="dv-dec-3" /> - <div> - <div class="d-flex jc-center body-box"> - <dv-scroll-board class="dv-scr-board" :config="config" /> - </div> - </div> - </div> - </div> - </template> - - <script> - import axios from "@/api/ajax.js"; - export default { - props: { - Housetype: { - type: String, - default: "SC1", - }, - }, - data() { - return { - config: { - header: [ - "鐝粍淇℃伅", - ], //澶撮儴 - data: [ - [ - - ], - ], //濉厖鏁版嵁 - rowNum: 6, //琛ㄦ牸琛屾暟 - waitTime: 10000, //杞挱鏃堕棿 - columnWidth: [100, 220, 80, 115, 115], - align: ["center"], - }, - }; - }, - components: { - }, - mounted() { - this.GetEquipmentStatus(); - setInterval(() => { - this.GetEquipmentStatus(); - }, 5000); - }, - methods: { - GetEquipmentStatus() { - axios.post("/api/dt_personnel/GetPersonnel", null, "").then((res) => { - if (res.data.status) { - var data = res.data.data; - var arr = []; //瀛樺偍闇�瑕佺殑鏁版嵁 - this.config.data = []; //娓呯┖鍘熸暟鎹� - var that = this; - for (let index = 0; index < data.length; index++) { - arr.push(data[index].per_teams); //鐗╂枡缂栧彿 - that.config.data.push(arr); - arr = []; //娓呯┖ - } - this.config = { - header: [ - "鐝粍", - ], //澶撮儴 - data: that.config.data, //濉厖鏁版嵁 - rowNum: 6, //琛ㄦ牸琛屾暟 - waitTime: 10000, //杞挱鏃堕棿 - columnWidth: [100, 220, 80, 115, 115], - align: ["center"], - }; - } - }); - }, - }, - }; - </script> - - <style lang="scss" scoped> - $box-height: 320px; - #centerLeft1 { - padding: 16px; - height: $box-height; - width: 150px; - border-radius: 10px; - .bg-color-black { - height: $box-height - 30px; - border-radius: 10px; - } - .text { - color: #c3cbde; - } - .dv-dec-3 { - position: relative; - width: 118px; - height: 20px; - top: 2px; - } - .body-box { - border-radius: 10px; - overflow: hidden; - .dv-scr-board { - width: 650px; - height: 245px; - } - } - .bottom-data { - .item-box { - & > div { - padding-right: 5px; - } - font-size: 14px; - float: right; - position: relative; - width: 50%; - color: #d3d6dd; - .dv-digital-flop { - width: 120px; - height: 30px; - } - // 閲戝竵 - .coin { - position: relative; - top: 6px; - padding-left: 28px; - font-size: 20px; - color: #ffc107; - } - .colorYellow { - color: yellowgreen; - } - p { - text-align: center; - } - } - } - } - </style> - \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/views/centerRight1.vue b/CodeManagement/BigScreenVue/src/views/centerRight1.vue deleted file mode 100644 index 252b2ff..0000000 --- a/CodeManagement/BigScreenVue/src/views/centerRight1.vue +++ /dev/null @@ -1,159 +0,0 @@ -<template> - <div id="centerLeft1"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon - name="chart-bar" - class="text-icon" - style="color: #ffffff" - ></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2" style="font-size: 20px" - >璁惧杩愯鐘舵��</span - > - <dv-decoration-3 class="dv-dec-3" /> - </div> - </div> - <div class="d-flex" style="margin-left: 10px; margin-top: 10px"> - <div class="d-flex jc-center body-box"> - <dv-scroll-board class="dv-scr-board" :config="config" /> - </div> - </div> - </div> - </div> -</template> - - <script> -import CenterLeft1Chart from "@/components/echart/centerLeft/centerLeft1Chart"; -import axios from "@/api/ajax.js"; -export default { - props: { - Housetype: { - type: String, - default: "SC1", - }, - }, - data() { - return { - config: { - header: ["璁惧缂栧彿", "璁惧鍚嶇О", "杩愯鐘舵��"], - data: [ - ["0000001", "搴曟澘缈昏浆", "40"], - ["0000002", "鍘嬫満", "40"], - ["0000003", "寮圭哀缈昏浆", "40"], - ["0000004", "娴嬫紡", "40"], - ], - rowNum: 11, //琛ㄦ牸琛屾暟 - waitTime: 10000, - headerHeight: 28, - // headerBGC: "#002B46", //琛ㄥご - // oddRowBGC: "#002B46", //濂囨暟琛� - // evenRowBGC: "#042B53", //鍋舵暟琛� - // index: true, - columnWidth: [180, 150, 120], - align: ["center"], - }, - }; - }, - components: { - CenterLeft1Chart, - }, - mounted() { - this.GetEquipmentStatus(); - setInterval(() => { - this.GetEquipmentStatus(); - }, 5000); - }, - methods: { - GetEquipmentStatus() { - axios.post("/api/dt_equipment/GetEquipmentStatus", null, "").then((x) => { - if (x.data.status) { - var data = x.data.data; - var arr = []; //瀛樺偍闇�瑕佺殑鏁版嵁 - this.config.data = []; //娓呯┖鍘熸暟鎹� - var that = this; - for (let index = 0; index < data.length; index++) { - arr.push(data[index].equipNo); //璁惧缂栧彿 - arr.push(data[index].equipName); //璁惧鍚嶇О - arr.push(data[index].equipState); //杩愯鐘舵�� - that.config.data.push(arr); - arr = []; //娓呯┖ - } - this.config = { - header: ["璁惧缂栧彿", "璁惧鍚嶇О", "杩愯鐘舵��"], - data: that.config.data, - rowNum: 11, //琛ㄦ牸琛屾暟 - waitTime: 10000, - headerHeight: 28, - columnWidth: [180, 150, 120], - align: ["center"], - }; - } - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -$box-height: 320px; -#centerLeft1 { - padding: 16px; - height: $box-height; - border-radius: 10px; - .bg-color-black { - height: $box-height - 30px; - border-radius: 10px; - } - .text { - color: #c3cbde; - } - .dv-dec-3 { - position: relative; - width: 100px; - height: 20px; - top: -3px; - } - .body-box { - border-radius: 10px; - overflow: hidden; - .dv-scr-board { - width: 650px; - height: 245px; - } - } - .bottom-data { - .item-box { - & > div { - padding-right: 5px; - } - font-size: 14px; - float: right; - position: relative; - width: 50%; - color: #d3d6dd; - .dv-digital-flop { - width: 120px; - height: 30px; - } - // 閲戝竵 - .coin { - position: relative; - top: 6px; - padding-left: 28px; - font-size: 20px; - color: #ffc107; - } - .colorYellow { - color: yellowgreen; - } - p { - text-align: center; - } - } - } -} -</style> - \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/views/centerView1.vue b/CodeManagement/BigScreenVue/src/views/centerView1.vue deleted file mode 100644 index 9170010..0000000 --- a/CodeManagement/BigScreenVue/src/views/centerView1.vue +++ /dev/null @@ -1,122 +0,0 @@ -<template> - <div id="box"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon name="chart-line" class="text-icon"></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2">鐢熶骇璁″垝</span> - </div> - </div> - <div class="d-flex jc-center body-box"> - <dv-scroll-board class="dv-scr-board" :config="config" /> - </div> - </div> - </div> -</template> - - <script> -import axios from "@/api/ajax.js"; -export default { - data() { - return { - config: { - header: [ - "鐗╂枡缂栫爜", - "鐗╂枡鍚嶇О", - "闇�姹傛暟閲�", - "寮�濮嬫椂闂�", - "缁撴潫鏃堕棿", - ], //澶撮儴 - data: [ - [ - // "TX0101092", - // "0101092榻胯疆绠卞脊鎬ф敮鎾戞�绘垚", - // "40", - // "2024/3/19", - // "2024/3/30", - ], - ], //濉厖鏁版嵁 - rowNum: 6, //琛ㄦ牸琛屾暟 - waitTime: 10000, //杞挱鏃堕棿 - // headerHeight: 30, - // headerBGC: "#002B46", //琛ㄥご - // oddRowBGC: "#002B46", //濂囨暟琛� - // evenRowBGC: "#042B53", //鍋舵暟琛� - // index: true, - columnWidth: [100, 220, 80, 115, 115], - align: ["center"], - }, - }; - }, - mounted() { - this.GetProductionPlan(); - setInterval(() => { - this.GetProductionPlan(); - }, 1000); - }, - methods: { - GetProductionPlan() { - axios.post("/api/dt_planinfo/GetProductionPlan", null, "").then((res) => { - if (res.data.status) { - var data = res.data.data; - var arr = []; //瀛樺偍闇�瑕佺殑鏁版嵁 - this.config.data = []; //娓呯┖鍘熸暟鎹� - var that = this; - for (let index = 0; index < data.length; index++) { - arr.push(data[index].plan_matcode); //鐗╂枡缂栧彿 - arr.push(data[index].plan_matdes); //鐗╂枡鍚嶇О - arr.push(data[index].plan_requirednum); //闇�姹傛暟閲� - arr.push(data[index].plan_starttime); //璁″垝寮�濮嬫椂闂� - arr.push(data[index].plan_endtime); //璁″垝缁撴潫鏃堕棿 - that.config.data.push(arr); - arr = []; //娓呯┖ - } - this.config = { - header: [ - "鐗╂枡缂栫爜", - "鐗╂枡鍚嶇О", - "闇�姹傛暟閲�", - "寮�濮嬫椂闂�", - "缁撴潫鏃堕棿", - ], //澶撮儴 - data: that.config.data, //濉厖鏁版嵁 - rowNum: 6, //琛ㄦ牸琛屾暟 - waitTime: 10000, //杞挱鏃堕棿 - columnWidth: [100, 220, 80, 115, 115], - align: ["center"], - }; - } - }); - }, - }, -}; -</script> - <style lang="scss" scoped> -$box-height: 420px; -$box-width: 660px; -#box { - padding: 16px; - padding-top: 10px; - height: $box-height; - width: $box-width; - border-radius: 5px; - .bg-color-black { - height: $box-height - 30px; - border-radius: 10px; - } - .text { - color: #ffffff; - font-size: 12pt; - } - .body-box { - border-radius: 10px; - overflow: hidden; - .dv-scr-board { - width: 650px; - height: 355px; - } - } -} -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/views/centerView2.vue b/CodeManagement/BigScreenVue/src/views/centerView2.vue deleted file mode 100644 index e0e19eb..0000000 --- a/CodeManagement/BigScreenVue/src/views/centerView2.vue +++ /dev/null @@ -1,352 +0,0 @@ -<template> - <div id="box"> - <div class="up"> - <div class="bg-color-black item"> - <span> - <icon - name="chart-pie" - class="text-icon" - style="margin-left: 10px" - ></icon> - </span> - <span class="fs-xl text mb-1 pl-3" style="font-size: 20px" - >涓嬬嚎宸ヨ壓鍙傛暟</span - > - <br /> - <div> - <div class="row"> - <!-- <div class="cell">PressTest</div> --> - <div class="cell">淇濆帇鏃堕棿</div> - <div class="cell">鍘嬪姏闄�</div> - <!-- <div class="cell">LeakTest</div> --> - <div class="cell">鏈�澶ф祴璇曞帇鍔�</div> - <div class="cell">鏈�灏忔祴璇曞帇鍔�</div> - <div class="cell">鏈�澶у帇绱у帇鍔�</div> - <div class="cell">鏈�灏忓帇绱у帇鍔�</div> - <div class="cell">涓荤哀鐩村緞</div> - <div class="cell">涓荤哀瀹藉害</div> - <div class="cell">涓荤哀鍘氬害</div> - <div class="cell">搴曟澘鐩村緞</div> - <div class="cell">搴曟澘瀹藉害</div> - <div class="cell">搴曟澘鍘氬害</div> - </div> - <div class="body"> - <!-- PressTest --> - <!-- <div class="cell">{{ titleItem.PressTest }}</div> --> - <!-- 淇濆帇鏃堕棿 --> - <div class="cell">{{ titleItem.DwellTime }}min</div> - <!-- 淇濆帇鍘嬪姏 --> - <div class="cell">{{ titleItem.PressTest}}bar</div> - <!-- LeakTest --> - <!-- <div class="cell">{{ titleItem.LeakTest }}</div> --> - <!-- 鍔ㄤ綔寤舵椂 --> - <div class="cell">{{ titleItem.DwellPressure }}bar</div> - <!-- 鍏呮皵鏃堕棿 --> - <div class="cell">{{ titleItem.LeakTest }}bar</div> - <!-- 铻嶅悎鏃堕棿 --> - <div class="cell">{{ titleItem.ActionDelay }}bar</div> - <!-- 骞宠 鏃堕棿 --> - <div class="cell">{{ titleItem.InflationTime }}mm</div> - <div class="cell">{{ titleItem.para_MS_diameter }}mm</div> - <div class="cell">{{ titleItem.para_MS_width }}mm</div> - <div class="cell">{{ titleItem.para_MS_thickness }}mm</div> - <div class="cell">{{ titleItem.para_motherboard_diameter }}mm</div> - <div class="cell">{{ titleItem.para_motherboard_width }}mm</div> - <div class="cell">{{ titleItem.para_motherboard_thickness }}mm</div> - </div> - </div> - </div> - </div> - <div class="down" style="margin-left: 10px"> - <div class="ranking bg-color-black"> - <div id="item1" style="margin-top: 10px"> - <span> - <icon name="chart-pie" class="text-icon"></icon> - </span> - <span class="fs-xl text mb-1 pl-3" style="font-size: 20px" - >褰撴棩杈炬垚鎯呭喌</span - > - <dv-scroll-ranking-board - class="dv-scr-rank-board mt-1" - :config="rankingDay" - style="width: 200px; height: 200px; font-size: 30px" - /> - </div> - <div id="item2" style="position: absolute; top: 380px"> - <span> - <icon name="chart-pie" class="text-icon"></icon> - </span> - <span class="fs-xl text mb-1 pl-3" style="font-size: 20px" - >褰撴湀鎬昏揪鎴愭儏鍐�</span - > - <dv-scroll-ranking-board - class="dv-scr-rank-board mt-1" - :config="rankingMouth" - style="width: 200px; height: 200px; font-size: 30px" - /> - </div> - </div> - <!-- 鏁堢巼 --> - <div id="item3" style="position: absolute; top: 200px; left: 900px"> - <echarView1 /> - </div> - <div id="item3" style="position: absolute; top: 360px; left: 900px"> - <echarView2 /> - </div> - <div id="item4" style="position: absolute; top: 220px; left: 1150px;width: 150px;"> - <dv-border-box-13> - <centerLeft1/> - </dv-border-box-13> - </div> - <!-- 璁惧鐘舵�� --> - <div class="right"> - <dv-border-box-13> - <centerRight1 /> - </dv-border-box-13> - </div> - </div> - </div> -</template> - -<script> -import CenterChart from "@/components/echart/center/centerChartRate"; -import echarView1 from "./echarView1.vue"; -import echarView2 from "./echarView2.vue"; -import centerRight1 from "./centerRight1"; -import centerLeft1 from "./centerLeft1.vue"; -import axios from "@/api/ajax.js"; -export default { - data() { - return { - isTitle: true, - isRanking: true, - titleItem: { - PressTest: "", //PressTest - DwellTime: "", //淇濆帇鏃堕棿 - DwellPressure: "", //淇濆帇鍘嬪姏 - LeakTest: "", //LeakTest - ActionDelay: "", //鍔ㄤ綔寤舵椂 - InflationTime: "", //鍏呮皵鏃堕棿 - para_MS_diameter:"", - para_MS_width:"", - para_MS_thickness:"", - para_motherboard_diameter:"", - para_motherboard_width:"", - para_motherboard_thickness:"", - }, - rankingDay: { - data: [ - { - name: "鐩爣", - value: 300, - }, - { - name: "瀹為檯", - value: 200, - }, - ], - carousel: "single", - unit: "", - }, //鏃ヤ骇鍊� - rankingMouth: { - data: [ - { - name: "鐩爣", - value: 3200, - }, - { - name: "瀹為檯", - value: 2900, - }, - ], - carousel: "single", - unit: "", - }, //鏈堜骇鍊� - }; - }, - components: { - CenterChart, - echarView1, - echarView2, - centerRight1, - centerLeft1 - }, - mounted() { - this.GetTitleItem(); - setInterval(() => { - this.GetTitleItem(); - }, 5000); - this.GetRanKing(); - setInterval(() => { - this.GetRanKing(); - }, 5000); - }, - methods: { - GetTitleItem() { - axios.post("/api/dt_productionpara/GetTitleItem", null, "").then((x) => { - if (x.data.status) { - var data = x.data.data - // this.titleItem = data; - for (let index = 0; index < data.length; index++) { - this.titleItem.DwellTime=(data[index].para_holdtime); - this.titleItem.PressTest=(data[index].para_pressuredrop); - this.titleItem.DwellPressure=(data[index].para_pressuretestmax); - this.titleItem.LeakTest=(data[index].para_pressuretestmin); - this.titleItem.ActionDelay=(data[index].para_pressuremax); - this.titleItem.InflationTime=(data[index].para_pressuremin); - this.titleItem.para_MS_diameter=(data[index].para_MS_diameter); - this.titleItem.para_MS_width=(data[index].para_MS_width); - this.titleItem.para_MS_thickness=(data[index].para_MS_thickness); - this.titleItem.para_motherboard_diameter=(data[index].para_motherboard_diameter); - this.titleItem.para_motherboard_width=(data[index].para_motherboard_width); - this.titleItem.para_motherboard_thickness=(data[index].para_motherboard_thickness); - } - //寮�鍚畾鏃跺櫒 - if (this.isTitle) { - setInterval(() => { - this.GetTitleItem(); - this.isTitle = false; - }, 10000); - } - } - }); - }, - GetRanKing() { - axios.post("/api/dt_product/GetDayGoals", null, "").then((x) => { - if (x.data.status) { - this.rankingDay = { - data: [ - { - name: "鐩爣", - value: x.data.data.day_target, - }, - { - name: "瀹為檯", - value: x.data.data.day_actual, - }, - ], - carousel: "single", - unit: "", - }; - this.rankingMouth = { - data: [ - { - name: "鐩爣", - value: x.data.data.month_target - }, - { - name: "瀹為檯", - value: x.data.data.month_actual, - }, - ], - carousel: "single", - unit: "", - }; - //寮�鍚畾鏃跺櫒 - if (this.isRanking) { - setInterval(() => { - this.GetRanKing(); - this.isRanking = false; - }, 1000); - } - } - }); - }, - }, -}; -</script> -<style lang="scss" scoped> -#box { - display: flex; - flex-direction: column; - .row { - display: flex; - background-color: rgb(0, 186, 255); - color: #fff; - height: 25px; - line-height: 25px; - } - .cell { - width: 120px; - border-right: #fff 1px solid; - text-align: center; - } - .body { - display: flex; - background-color: rgb(0, 59, 81); - color: #fff; - height: 26px; - line-height: 26px; - } - .up { - width: 1250px; - display: flex; - flex-wrap: wrap; - justify-content: space-around; - .item { - border-radius: 6px; - padding-top: 8px; - margin-top: 8px; - width: 98%; - height: 80px; - .dv-dig-flop { - width: 150px; - height: 30px; - } - } - } - .down { - padding: 6px 4px; - padding-bottom: 0; - width: 880px; - display: flex; - height: 255px; - justify-content: space-between; - .bg-color-black { - border-radius: 5px; - height: 320px; - } - .water { - position: absolute; - left: 1190px; - } - .right { - width: 620px; - height: 320px; - position: absolute; - left: 1300px; - } - .ranking { - padding: 10px; - width: 220px; - display: flex; - .dv-scr-rank-board { - height: 200px; - margin-top: 20px; - } - } - .percent { - width: 40%; - display: flex; - flex-wrap: wrap; - .item { - width: 50%; - height: 120px; - span { - margin-top: 8px; - margin-left: 8px; - font-size: 14px; - display: flex; - justify-content: center; - } - } - .dv-wa-le-po { - margin-left: 1000px; - .dv-wa-le-po { - height: 120px; - } - } - } - } -} -</style> diff --git a/CodeManagement/BigScreenVue/src/views/echarView1.vue b/CodeManagement/BigScreenVue/src/views/echarView1.vue deleted file mode 100644 index dcee739..0000000 --- a/CodeManagement/BigScreenVue/src/views/echarView1.vue +++ /dev/null @@ -1,99 +0,0 @@ -<template> - <div id="centerLeft1"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon name="chart-pie" class="text-icon" style="color:#ffffff"></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2" style="font-size:20px">褰撴棩鏁堢巼</span> - <dv-decoration-3 class="dv-dec-3" /> - </div> - </div> - <div class="d-flex jc-center" style="margin-top: -10px;height: 100px;"> - <CenterLeft1Chart /> - </div> - </div> - </div> -</template> - -<script> -import CenterLeft1Chart from "@/components/echart/centerLeft/centerLeft1Chart"; -export default { - props: { - Housetype: { - type: String, - default: "SC1", - }, - }, - data() { - return { - - }; - }, - components: { - CenterLeft1Chart, - }, - mounted() { - }, - methods: { - - } -}; -</script> - -<style lang="scss" scoped> -$box-width: 255px; -$box-height: 190px; - -#centerLeft1 { - padding: 16px; - height: $box-height; - width: $box-width; - border-radius: 10px; - .bg-color-black { - height: $box-height - 30px; - border-radius: 10px; - } - .text { - color: #c3cbde; - } - .dv-dec-3 { - position: relative; - width: 100px; - height: 20px; - top: -3px; - } - - .bottom-data { - .item-box { - & > div { - padding-right: 5px; - } - font-size: 14px; - float: right; - position: relative; - width: 50%; - color: #d3d6dd; - .dv-digital-flop { - width: 120px; - height: 30px; - } - // 閲戝竵 - .coin { - position: relative; - top: 6px; - padding-left: 28px; - font-size: 20px; - color: #ffc107; - } - .colorYellow { - color: yellowgreen; - } - p { - text-align: center; - } - } - } -} -</style> diff --git a/CodeManagement/BigScreenVue/src/views/echarView2.vue b/CodeManagement/BigScreenVue/src/views/echarView2.vue deleted file mode 100644 index 8d4486e..0000000 --- a/CodeManagement/BigScreenVue/src/views/echarView2.vue +++ /dev/null @@ -1,100 +0,0 @@ -<template> - <div id="centerLeft1"> - <div class="bg-color-black"> - <div class="d-flex pt-2 pl-2"> - <span> - <icon name="chart-pie" class="text-icon" style="color:#ffffff"></icon> - </span> - <div class="d-flex"> - <span class="fs-xl text mx-2" style="font-size:20px">褰撴湀鏁堢巼</span> - <dv-decoration-3 class="dv-dec-3" /> - </div> - </div> - <div class="d-flex jc-center" style="margin-top: -10px;height: 100px;"> - <CenterLeft2Chart /> - </div> - </div> - </div> - </template> - - <script> - import CenterLeft2Chart from "@/components/echart/centerLeft/centerLeft2Chat"; - export default { - props: { - Housetype: { - type: String, - default: "SC1", - }, - }, - data() { - return { - - }; - }, - components: { - CenterLeft2Chart, - }, - mounted() { - }, - methods: { - - } - }; - </script> - - <style lang="scss" scoped> - $box-width: 255px; - $box-height: 190px; - - #centerLeft1 { - padding: 16px; - height: $box-height; - width: $box-width; - border-radius: 10px; - .bg-color-black { - height: $box-height - 30px; - border-radius: 10px; - } - .text { - color: #c3cbde; - } - .dv-dec-3 { - position: relative; - width: 100px; - height: 20px; - top: -3px; - } - - .bottom-data { - .item-box { - & > div { - padding-right: 5px; - } - font-size: 14px; - float: right; - position: relative; - width: 50%; - color: #d3d6dd; - .dv-digital-flop { - width: 120px; - height: 30px; - } - // 閲戝竵 - .coin { - position: relative; - top: 6px; - padding-left: 28px; - font-size: 20px; - color: #ffc107; - } - .colorYellow { - color: yellowgreen; - } - p { - text-align: center; - } - } - } - } - </style> - \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/views/home.vue b/CodeManagement/BigScreenVue/src/views/home.vue new file mode 100644 index 0000000..8586461 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/index.vue b/CodeManagement/BigScreenVue/src/views/index.vue deleted file mode 100644 index 14cdf08..0000000 --- a/CodeManagement/BigScreenVue/src/views/index.vue +++ /dev/null @@ -1,142 +0,0 @@ - -<template> - <div id="index" ref="appRef"> - <div class="bg"> - <div class="myhead"></div> - <dv-loading v-if="loading">Loading...</dv-loading> - <div v-else class="host-body"> - <div class="d-flex jc-center" style="margin-top: 17px"> - <div class="d-flex jc-center"> - <div class="dv-dec-8"></div> - <div class="title"> - <span - class="title-text" - style=" - font-size: 55px; - color: #ffffff; - width: 700px; - height: 100px; - margin-top: -10px; - ">鍙� 瑙� 鍖� 骞� 鍙�</span> - </div> - </div> - </div> - <div class="react-right" style="margin-left: 1510px"> - <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span> - </div> - <div class="body-box"> - <div class="content-box"> - <!-- 鐢熶骇璁″垝鏉垮潡 --> - <div> - <dv-border-box-12> - <centerView1 /> - </dv-border-box-12> - </div> - <!-- 鏍囧噯鍙傛暟銆佽揪鎴愭儏鍐点�佽澶囩姸鎬佹ā鍧� --> - <div style="display: flex; flex-wrap: wrap"> - <centerView2 /> - </div> - </div> - <div class="bototm-box"> - <!-- 褰撳墠鐢熶骇浠诲姟妯″潡 --> - <dv-border-box-12> - <bottomView1 /> - </dv-border-box-12> - <!-- 鍚堟牸鐜囨ā鍧� --> - <dv-border-box-13 style="margin-left: 10px;width: 620px;"> - <bottomView2 /> - </dv-border-box-13> - <!-- 绋煎姩鐜囨ā鍧� --> - <dv-border-box-13 style="margin-left: -40px;width: 620px;"> - <bottomView3 /> - </dv-border-box-13> - </div> - </div> - </div> - </div> - </div> -</template> - -<script> -import axios from "@/api/ajax.js"; -import drawMixin from "../utils/drawMixin"; -import { formatTime } from "../utils/index.js"; -import centerView1 from "./centerView1.vue"; -import centerView2 from "./centerView2.vue"; -import bottomView1 from "./bottomView1.vue"; -import bottomView2 from "./bottomView2.vue"; -import bottomView3 from "./bottomView3.vue"; - -// import{GetDateForLED} from "@/api/http.js" - -export default { - mixins: [drawMixin], - data() { - return { - timing: null, - loading: true, - dateDay: null, - dateYear: null, - dateWeek: null, - dataTime:null, - weekday: ["鍛ㄦ棩", "鍛ㄤ竴", "鍛ㄤ簩", "鍛ㄤ笁", "鍛ㄥ洓", "鍛ㄤ簲", "鍛ㄥ叚"], - }; - }, - components: { - centerView1, - centerView2, - bottomView1, - bottomView2, - bottomView3 - }, - mounted() { - this.timeFn(); - this.cancelLoading(); - this.GetTitleItem(); - this.GetEquipmentStatus(); - setInterval(() => { - this.GetEquipmentStatus(); - }, 1000); - }, - beforeDestroy() { - clearInterval(this.timing); - }, - methods: { - - //鍒锋柊鏃堕棿 - timeFn() { - this.timing = setInterval(() => { - axios.post("/api/dt_productionpara/GetTime", null, "").then((x) => { - this.dateDay = x.data.data.dateDay; - this.dateYear = x.data.data.dateYear; - this.dateWeek = x.data.data.dateWeek; - }); - }, 1000); - }, - cancelLoading() { - setTimeout(() => { - this.loading = false; - }, 1000); - }, - }, -}; -</script> - -<style lang="scss"> -@import "../assets/scss/index.scss"; -</style> - -<style lang="css" scoped> -.myhead { - position: absolute; - width: 100%; - height: 100px; - /* background-color: red; */ - top: 0; - left: 0; - z-index: 999; - background-image: url("../assets/head_bg1.png"); - background-size: cover; - background-position: center center; -} -</style> \ No newline at end of file diff --git a/CodeManagement/BigScreenVue/src/views/indexs/center-bottom.vue b/CodeManagement/BigScreenVue/src/views/indexs/center-bottom.vue new file mode 100644 index 0000000..4a302d6 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/center-bottom.vue @@ -0,0 +1,363 @@ +<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 {Productions} 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 + + "PCS</br>"; + } else { + result += item.marker + " " + item.seriesName + " : - </br>"; + } + }); + return result; + }, + }, + legend: { + data: ["鍗曚綅锛歅CS"], + textStyle: { + color: "#B4B4B4", + }, + top: "-5", + }, + grid: { + left: "50px", + right: "40px", + 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: "鍗曚綅锛歅CS", + 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'], + }, + ], + }, + }; + }, + 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() { + // this.numberData.forEach((item, index) => { + // item.number.number[0] += ++index + // item.number = { ...item.number } + // }) + var rep = await Productions(); + console.log(rep); + //鑾峰彇rep涓璞$殑鐨則oday鍊兼暣鍚堟垚鏁扮粍 + var todays= rep.map((item) => { + return item.today; + }); + //鑾峰彇rep涓璞$殑鐨刾csCounts鍊兼暣鍚堟垚鏁扮粍 + var pcsCounts= rep.map((item) => { + return item.pcsCounts; + }); + console.log(todays); + 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 + + "PCS</br>"; + } else { + result += item.marker + " " + item.seriesName + " : - </br>"; + } + }); + return result; + }, + }, + legend: { + data: ["鍗曚綅锛歅CS"], + textStyle: { + color: "#B4B4B4", + }, + top: "-5", + }, + grid: { + left: "60px", + right: "40px", + bottom: "30px", + top: "20px", + }, + xAxis: { + data: todays.reverse(), + axisLine: { + lineStyle: { + color: "#B4B4B4", + }, + }, + axisTick: { + show: false, + }, + }, + yAxis: [ + { + splitLine: { show: true }, + axisLine: { + lineStyle: { + color: "#B4B4B4", + }, + }, + axisLabel: { + formatter: "{value}", + }, + } + ], + series: [ + { + name: "鍗曚綅锛歅CS", + 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/CodeManagement/BigScreenVue/src/views/indexs/center-map.vue b/CodeManagement/BigScreenVue/src/views/indexs/center-map.vue new file mode 100644 index 0000000..1898df6 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/center-map.vue @@ -0,0 +1,384 @@ +<!-- + * @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"; +export default { + data() { + return { + maptitle: "灏忛儴浠朵粨搴撻瑙堝浘", + options: {}, + code: "china", //china 浠h〃涓浗 鍏朵粬鍦板競鏄鏀跨紪鐮� + echartBindClick: false, + isSouthChinaSea: false, //鏄惁瑕佸睍绀哄崡娴风兢宀� 淇敼姝ゅ�艰鍒锋柊椤甸潰 + }; + }, + created() {}, + + mounted() { + // console.log(xzqCode); + this.getData("china"); + }, + methods: { + getData(code) { + // currentGET("big8", { regionCode: code }).then((res) => { + // console.log("璁惧鍒嗗竷", res); + // if (res.success) { + // this.getGeojson(res.data.regionCode, res.data.dataList); + // this.mapclick(); + // } else { + // this.$Message.warning(res.msg); + // } + // }); + }, + /** + * @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/CodeManagement/BigScreenVue/src/views/indexs/index.vue b/CodeManagement/BigScreenVue/src/views/indexs/index.vue new file mode 100644 index 0000000..e000998 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/indexs/left-bottom.vue b/CodeManagement/BigScreenVue/src/views/indexs/left-bottom.vue new file mode 100644 index 0000000..c5bff26 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/left-bottom.vue @@ -0,0 +1,630 @@ +<!-- + * @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"; +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: [43, 50, 41, 18, 28, 25, 26, 40], + }, { + 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 = 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 rep = await ProLocationStatistics(); + 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: ["04/19", "04/20", "04/21", "04/22", "04/23", "04/24", "04/25"] + }, + //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: [160, 156, 150, 180, 170, 200, 20], + }, { + name: '鎴愬搧鍑哄簱', + type: 'line', + symbolSize: [0, 0], + itemStyle: { + color: '#1be57a' + }, + data: [80, 115, 120, 130, 91, 99, 20] + }, { + name: '鎴愬搧鍥炴', + type: 'line', + symbolSize: [0, 0], + itemStyle: { + color: '#69dbf7' + }, + data: [70, 113, 118, 111, 89, 99, 32] + }, { //姘存尝绾圭偣 + 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: [160, 156, 150, 180, 170, 200, 20] + + }, { //姘存尝绾圭偣 + 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: [80, 115, 120, 130, 91, 99, 20] + + }, { //姘存尝绾圭偣 + 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: false, + } + }, + lineStyle: { + type: "solid", + color: 'rgba(210,56,56,.6)', + width: 2 + }, + data: [{ + yAxis: 60 + }] + }, + data: [70, 113, 118, 111, 89, 99, 32] + + }] + }; + 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/CodeManagement/BigScreenVue/src/views/indexs/left-center-right.vue b/CodeManagement/BigScreenVue/src/views/indexs/left-center-right.vue new file mode 100644 index 0000000..79b6ad3 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/left-center-right.vue @@ -0,0 +1,257 @@ +<!-- + * @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((a)=>{ + console.log(a); + }); + + 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/CodeManagement/BigScreenVue/src/views/indexs/left-center.vue b/CodeManagement/BigScreenVue/src/views/indexs/left-center.vue new file mode 100644 index 0000000..a6bf8da --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/indexs/left-top.vue b/CodeManagement/BigScreenVue/src/views/indexs/left-top.vue new file mode 100644 index 0000000..4f7f439 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/indexs/pass-two.vue b/CodeManagement/BigScreenVue/src/views/indexs/pass-two.vue new file mode 100644 index 0000000..45196b6 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/pass-two.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 { ProductionRanking } 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: ['38鍙风偣锛�1锛�', '38鍙风偣锛�2锛�', '15鍙风偣', '16鍙风偣', '24鍙风偣'], + 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 rep = await ProductionRanking(); + var cityLists= rep.map((item,index) => { + return '#'+(index+1)+' 浜у搧'+item.pCode; + }); + var cityDatas= rep.map((item,index) => { + return item.qtys; + }); + 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}PCS` + } + }, + 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/CodeManagement/BigScreenVue/src/views/indexs/plan.vue b/CodeManagement/BigScreenVue/src/views/indexs/plan.vue new file mode 100644 index 0000000..1d7896c --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/plan.vue @@ -0,0 +1,363 @@ +<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 {ProductionsOut} 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 + + "PCS</br>"; + } else { + result += item.marker + " " + item.seriesName + " : - </br>"; + } + }); + return result; + }, + }, + legend: { + data: ["鍗曚綅锛歅CS"], + 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: "鍗曚綅锛歅CS", + 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'], + }, + ], + }, + }; + }, + 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() { + // this.numberData.forEach((item, index) => { + // item.number.number[0] += ++index + // item.number = { ...item.number } + // }) + var rep = await ProductionsOut(); + console.log(rep); + //鑾峰彇rep涓璞$殑鐨則oday鍊兼暣鍚堟垚鏁扮粍 + var todays= rep.map((item) => { + return item.today; + }); + //鑾峰彇rep涓璞$殑鐨刾csCounts鍊兼暣鍚堟垚鏁扮粍 + var pcsCounts= rep.map((item) => { + return item.pcsCounts; + }); + console.log(todays); + 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 + + "PCS</br>"; + } else { + result += item.marker + " " + item.seriesName + " : - </br>"; + } + }); + return result; + }, + }, + legend: { + data: ["鍗曚綅锛歅CS"], + textStyle: { + color: "#B4B4B4", + }, + top: "-5", + }, + grid: { + left: "60px", + right: "40px", + bottom: "30px", + top: "20px", + }, + xAxis: { + data: todays.reverse(), + axisLine: { + lineStyle: { + color: "#B4B4B4", + }, + }, + axisTick: { + show: false, + }, + }, + yAxis: [ + { + splitLine: { show: true }, + axisLine: { + lineStyle: { + color: "#B4B4B4", + }, + }, + axisLabel: { + formatter: "{value}", + }, + } + ], + series: [ + { + name: "鍗曚綅锛歅CS", + 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/CodeManagement/BigScreenVue/src/views/indexs/right-bottom.vue b/CodeManagement/BigScreenVue/src/views/indexs/right-bottom.vue new file mode 100644 index 0000000..b1fb54d --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/indexs/right-center.vue b/CodeManagement/BigScreenVue/src/views/indexs/right-center.vue new file mode 100644 index 0000000..65c3385 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/right-center.vue @@ -0,0 +1,451 @@ +<!-- + * @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 { ProductionStock } 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 rep = await ProductionStock(); + var data1 = [{ + text: '鎴愬搧搴撳瓨(PCS)', + value: rep.cpCount, + color: '#5dd054' + }, { + text: '鐮斿彂搴撳瓨(PCS)', + value: rep.yfCount, + color: '#097ff9' + }, { + text: '灏炬暟搴撳瓨(PCS)', + value: rep.wsCount, + 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/CodeManagement/BigScreenVue/src/views/indexs/right-top.vue b/CodeManagement/BigScreenVue/src/views/indexs/right-top.vue new file mode 100644 index 0000000..dc9d271 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/indexs/station-four.vue b/CodeManagement/BigScreenVue/src/views/indexs/station-four.vue new file mode 100644 index 0000000..768bd05 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/indexs/station-one.vue b/CodeManagement/BigScreenVue/src/views/indexs/station-one.vue new file mode 100644 index 0000000..eaa6e13 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/station-one.vue @@ -0,0 +1,294 @@ +<!-- + * @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: [9999], + 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; + // 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 rep = await Floorfault(); + + this.inboundConfig={ + ...this.inboundConfig, + number: [rep.inboundCount] + } + this.outboundConfig={ + ...this.outboundConfig, + number: [rep.outboundCount] + } + this.backConfig={ + ...this.backConfig, + number: [rep.backboundCount] + } + this.surplusConfig={ + ...this.surplusConfig, + number: [rep.surplusCount] + } + // 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/CodeManagement/BigScreenVue/src/views/indexs/station-three.vue b/CodeManagement/BigScreenVue/src/views/indexs/station-three.vue new file mode 100644 index 0000000..1a845d6 --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/station-three.vue @@ -0,0 +1,441 @@ +<!-- + * @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 rep = await ProLocationStatistics(); + + var img = + "data:image/png;base64,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"; + var trafficWay = [ + { + name: "閿佸畾", + value: rep.lockCount, + }, + { + name: "绌洪棽", + value: rep.freeCount, + }, + { + name: "鏈夎揣", + value: rep.inStockCount, + }, + ]; + 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.lockCount+rep.freeCount+rep.inStockCount}`, + 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/CodeManagement/BigScreenVue/src/views/indexs/station-two.vue b/CodeManagement/BigScreenVue/src/views/indexs/station-two.vue new file mode 100644 index 0000000..8c14a2d --- /dev/null +++ b/CodeManagement/BigScreenVue/src/views/indexs/station-two.vue @@ -0,0 +1,463 @@ +<!-- + * @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 { ProductionStock } 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() { + 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.options = { + 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; + // 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 rep = await ProductionStock(); + let dataPie = [ + { + value: 430, + 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.options = { + title: { + text: '浜у搧鎬绘暟', + subtext: '430', + 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: 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 + }, + + ] +}; + 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/CodeManagement/BigScreenVue/src/views/setting.vue b/CodeManagement/BigScreenVue/src/views/setting.vue new file mode 100644 index 0000000..37aca24 --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/src/views/tjfx/tjfx.vue b/CodeManagement/BigScreenVue/src/views/tjfx/tjfx.vue new file mode 100644 index 0000000..87c5b1b --- /dev/null +++ b/CodeManagement/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/CodeManagement/BigScreenVue/vue.config.js b/CodeManagement/BigScreenVue/vue.config.js index 37154ff..c0d86e4 100644 --- a/CodeManagement/BigScreenVue/vue.config.js +++ b/CodeManagement/BigScreenVue/vue.config.js @@ -1,16 +1,129 @@ -const path = require('path') -const resolve = dir => { - return path.join(__dirname, dir) +/* + * @Author: daidai + * @Date: 2021-11-22 14:57:15 + * @LastEditors: Please set LastEditors + * @LastEditTime: 2022-04-29 15:12:50 + */ +const path = require("path"); +function resolve(dir) { + return path.join(__dirname, dir); } + module.exports = { publicPath: './', - devServer:{ - host:'0.0.0.0', - port:8090 + outputDir: process.env.VUE_APP_outputDir || 'dist', + assetsDir: 'static', + filenameHashing: true, + lintOnSave: false, + runtimeCompiler: false, + transpileDependencies: [], + productionSourceMap: false, + css: { + // 鏄惁浣跨敤css鍒嗙鎻掍欢 ExtractTextPlugin + extract: process.env.NODE_ENV === "production" ? true : false,//鏄惁灏嗙粍浠朵腑鐨� CSS 鎻愬彇鑷充竴涓嫭绔嬬殑 CSS 鏂囦欢涓� (鑰屼笉鏄姩鎬佹敞鍏ュ埌 JavaScript 涓殑 inline 浠g爜)銆� + sourceMap: false,//鏄惁涓� CSS 寮�鍚� source map銆傝缃负 true 涔嬪悗鍙兘浼氬奖鍝嶆瀯寤虹殑鎬ц兘銆� + loaderOptions: { + sass: { + prependData: `@import "@/assets/css/variable.scss";` + } + }, + requireModuleExtension: true, }, - chainWebpack: config => { + + chainWebpack: (config) => { + // 閰嶇疆鍒悕 config.resolve.alias - .set('_c', resolve('src/components')) // key,value鑷瀹氫箟锛屾瘮濡�.set('@@', resolve('src/components')) + .set('@', resolve('src')) + .set('assets', resolve('src/assets')) + .set('assetsBig', resolve('src/pages/big-screen/assets')) + .set('components', resolve('src/components')) + .set('views', resolve('src/views')) + .set('api', resolve('src/api')) + .set('lib', resolve('src/lib')) + + if (process.env.NODE_ENV === "production") { + // 鍒犻櫎绯荤粺榛樿鐨剆plitChunk + config.optimization.delete("splitChunks"); + } + // 鍒犻櫎棰勫姞杞� + // // 绉婚櫎 prefetch 鎻掍欢 + // config.plugins.delete('prefetch-index') + // // 绉婚櫎 preload 鎻掍欢 + // config.plugins.delete('preload-index'); + // config.optimization.minimizer('terser').tap((args) => { + // // 鍘婚櫎鐢熶骇鐜console + // args[0].terserOptions.compress.drop_console = true + // return args + // }) }, - lintOnSave: false -} \ No newline at end of file + configureWebpack: config => { + // 缁欒緭鍑虹殑js鍚嶇О娣诲姞hash + config.output.filename = "static/js/[name].[hash].js"; + config.output.chunkFilename = "static/js/[name].[hash].js"; + config.optimization = { + splitChunks: { + cacheGroups: { + // 鎶界鎵�鏈夊叆鍙g殑鍏敤璧勬簮涓轰竴涓猚hunk + common: { + name: "chunk-common", + chunks: "initial", + minChunks: 2, + maxInitialRequests: 5, + minSize: 0, + priority: 1, + reuseExistingChunk: true, + enforce: true + }, + // 鎶界node_modules涓嬬殑搴撲负涓�涓猚hunk + // vendors: { + // name: "chunk-vendors", + // test: /[\\/]node_modules[\\/]/, + // chunks: "initial", + // priority: 2, + // reuseExistingChunk: true, + // enforce: true + // }, + element: { + name: "chunk-element-ui", + test: /[\\/]node_modules[\\/]element-ui[\\/]/, + chunks: "all", + priority: 3, + reuseExistingChunk: true, + enforce: true + }, + yhhtUi: { + name: "chunk-yhht-ui", + test: /[\\/]node_modules[\\/]yhht-ui[\\/]/, + chunks: "all", + priority: 4, + reuseExistingChunk: true, + enforce: true + }, + datav: { + name: "chunk-datav", + test: /[\\/]node_modules[\\/]@jiaminghi[\\/]data-view[\\/]/, + chunks: "all", + priority: 4, + reuseExistingChunk: true, + enforce: true + }, + } + } + }; + }, + // 鏄惁涓� Babel 鎴� TypeScript 浣跨敤 thread-loader銆傝閫夐」鍦ㄧ郴缁熺殑 CPU 鏈夊浜庝竴涓唴鏍告椂鑷姩鍚敤锛屼粎浣滅敤浜庣敓浜ф瀯寤恒�� + parallel: require('os').cpus().length > 1, + devServer: { + // '/api':{ + // target: 'http://192.168.8.211:8098/', + // // 璺ㄥ煙閰嶇疆 + // changeOrigin: true, + // // 璺緞閲嶅啓 + // pathRewrite:{ + // '^/api': '/' + // } + // } + }, + pluginOptions: { + } +} diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs index e9fe41e..87b21fb 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs @@ -95,6 +95,12 @@ /// </summary> [Description("绌烘墭鐩存帴鍑哄簱")] TrayInToOut = 107, + + /// <summary> + /// 鐏鍑哄簱 + /// </summary> + [Description("鐏鍑哄簱")] + OutFireAlarm = 500, } public enum TaskRelocationTypeEnum diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs index 6835697..9cdb402 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs @@ -307,5 +307,12 @@ /// <param name="deviceNo"></param> /// <returns></returns> Dt_Task QueryRelocationTask(string deviceNo); + + /// <summary> + /// 鏌ヨ鏄惁瀛樺湪鐏浠诲姟 + /// </summary> + /// <param name="deviceNo"></param> + /// <returns></returns> + Dt_Task QueryOutFireAlarmTask(string deviceNo); } } \ No newline at end of file diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user index a689c6d..43f381b 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -5,7 +5,7 @@ <Project> <PropertyGroup> <_PublishTargetUrl>E:\GET\BaiBuSanLouNew\CodeManagement\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Debug\net6.0\publish\</_PublishTargetUrl> - <History>True|2025-04-21T07:19:45.4644293Z||;True|2025-04-21T14:45:38.3552372+08:00||;True|2025-04-21T14:44:01.6152039+08:00||;True|2025-04-21T14:22:37.4989518+08:00||;True|2025-04-18T10:22:32.9554647+08:00||;True|2025-04-18T09:51:29.1384947+08:00||;True|2025-04-18T09:46:26.7326043+08:00||;True|2025-04-18T09:43:19.2433438+08:00||;False|2025-04-18T09:42:10.6513617+08:00||;True|2025-04-17T16:04:03.4011403+08:00||;True|2025-04-17T16:00:41.6595004+08:00||;True|2025-04-17T14:49:41.2104816+08:00||;True|2025-04-17T14:27:37.3613209+08:00||;True|2025-04-17T13:55:36.7316380+08:00||;True|2025-04-17T13:10:06.6039892+08:00||;True|2025-04-17T12:07:35.7350054+08:00||;True|2025-04-17T11:00:00.9151591+08:00||;True|2025-04-17T10:57:57.3417841+08:00||;True|2025-04-17T10:47:23.2976245+08:00||;True|2025-04-17T10:41:39.7210960+08:00||;True|2025-04-17T10:19:33.9192570+08:00||;True|2025-04-17T10:16:34.7379074+08:00||;True|2025-04-17T10:08:53.3641425+08:00||;True|2025-04-17T09:53:51.9356344+08:00||;True|2025-03-27T13:37:49.9939026+08:00||;True|2025-03-27T13:29:20.1926150+08:00||;True|2025-03-26T23:19:20.7301591+08:00||;True|2025-03-26T23:17:14.1194337+08:00||;True|2025-03-26T23:06:39.1521743+08:00||;True|2025-03-26T22:45:13.0771457+08:00||;True|2025-03-26T15:49:56.7831444+08:00||;True|2025-03-26T11:17:59.8156703+08:00||;True|2025-03-25T10:07:06.2413400+08:00||;True|2025-03-24T22:07:19.1662430+08:00||;True|2025-03-24T17:46:50.5366700+08:00||;True|2025-03-23T22:21:52.3680226+08:00||;True|2025-03-23T22:04:03.0344904+08:00||;True|2025-03-23T18:11:25.3235647+08:00||;True|2025-03-23T16:46:42.6441101+08:00||;True|2025-03-22T17:15:44.8475192+08:00||;True|2025-03-22T16:40:56.2937788+08:00||;True|2025-03-22T16:16:19.5470008+08:00||;True|2025-03-22T15:49:39.1178646+08:00||;True|2025-03-22T15:44:56.2071472+08:00||;True|2025-03-22T15:38:57.0439012+08:00||;True|2025-03-22T15:02:20.9416020+08:00||;True|2025-03-22T14:33:13.6730569+08:00||;True|2025-03-21T23:34:47.6039521+08:00||;True|2025-03-21T02:10:54.8314020+08:00||;True|2025-03-18T16:25:46.4649995+08:00||;True|2025-02-19T11:41:36.9348078+08:00||;True|2025-02-18T18:28:41.9967285+08:00||;True|2025-02-18T18:25:36.2264950+08:00||;True|2025-02-18T10:30:56.5234743+08:00||;True|2025-02-15T15:24:40.7310549+08:00||;True|2025-02-15T14:26:13.5854743+08:00||;True|2025-02-15T14:23:09.9103735+08:00||;True|2025-02-15T14:11:58.0255348+08:00||;True|2025-02-15T13:55:31.3438054+08:00||;True|2025-02-15T13:47:31.3307267+08:00||;True|2025-02-15T13:46:24.9001959+08:00||;True|2025-02-15T13:23:47.4161644+08:00||;True|2025-02-15T13:10:20.4988808+08:00||;True|2025-02-15T13:05:10.7619905+08:00||;True|2025-02-15T12:55:42.2397751+08:00||;True|2025-02-15T12:43:42.1819119+08:00||;True|2025-02-15T10:19:42.3871047+08:00||;True|2025-01-03T16:15:25.4007394+08:00||;True|2025-01-03T15:59:55.6586669+08:00||;True|2025-01-03T15:58:54.7953589+08:00||;True|2025-01-03T15:54:46.8938743+08:00||;True|2025-01-03T15:30:32.7439557+08:00||;True|2025-01-03T15:27:53.2337341+08:00||;True|2025-01-03T15:24:30.7045349+08:00||;True|2025-01-02T14:13:36.7820311+08:00||;</History> + <History>True|2025-04-24T04:21:20.2135420Z||;True|2025-04-24T12:16:36.7251179+08:00||;True|2025-04-21T15:19:45.4644293+08:00||;True|2025-04-21T14:45:38.3552372+08:00||;True|2025-04-21T14:44:01.6152039+08:00||;True|2025-04-21T14:22:37.4989518+08:00||;True|2025-04-18T10:22:32.9554647+08:00||;True|2025-04-18T09:51:29.1384947+08:00||;True|2025-04-18T09:46:26.7326043+08:00||;True|2025-04-18T09:43:19.2433438+08:00||;False|2025-04-18T09:42:10.6513617+08:00||;True|2025-04-17T16:04:03.4011403+08:00||;True|2025-04-17T16:00:41.6595004+08:00||;True|2025-04-17T14:49:41.2104816+08:00||;True|2025-04-17T14:27:37.3613209+08:00||;True|2025-04-17T13:55:36.7316380+08:00||;True|2025-04-17T13:10:06.6039892+08:00||;True|2025-04-17T12:07:35.7350054+08:00||;True|2025-04-17T11:00:00.9151591+08:00||;True|2025-04-17T10:57:57.3417841+08:00||;True|2025-04-17T10:47:23.2976245+08:00||;True|2025-04-17T10:41:39.7210960+08:00||;True|2025-04-17T10:19:33.9192570+08:00||;True|2025-04-17T10:16:34.7379074+08:00||;True|2025-04-17T10:08:53.3641425+08:00||;True|2025-04-17T09:53:51.9356344+08:00||;True|2025-03-27T13:37:49.9939026+08:00||;True|2025-03-27T13:29:20.1926150+08:00||;True|2025-03-26T23:19:20.7301591+08:00||;True|2025-03-26T23:17:14.1194337+08:00||;True|2025-03-26T23:06:39.1521743+08:00||;True|2025-03-26T22:45:13.0771457+08:00||;True|2025-03-26T15:49:56.7831444+08:00||;True|2025-03-26T11:17:59.8156703+08:00||;True|2025-03-25T10:07:06.2413400+08:00||;True|2025-03-24T22:07:19.1662430+08:00||;True|2025-03-24T17:46:50.5366700+08:00||;True|2025-03-23T22:21:52.3680226+08:00||;True|2025-03-23T22:04:03.0344904+08:00||;True|2025-03-23T18:11:25.3235647+08:00||;True|2025-03-23T16:46:42.6441101+08:00||;True|2025-03-22T17:15:44.8475192+08:00||;True|2025-03-22T16:40:56.2937788+08:00||;True|2025-03-22T16:16:19.5470008+08:00||;True|2025-03-22T15:49:39.1178646+08:00||;True|2025-03-22T15:44:56.2071472+08:00||;True|2025-03-22T15:38:57.0439012+08:00||;True|2025-03-22T15:02:20.9416020+08:00||;True|2025-03-22T14:33:13.6730569+08:00||;True|2025-03-21T23:34:47.6039521+08:00||;True|2025-03-21T02:10:54.8314020+08:00||;True|2025-03-18T16:25:46.4649995+08:00||;True|2025-02-19T11:41:36.9348078+08:00||;True|2025-02-18T18:28:41.9967285+08:00||;True|2025-02-18T18:25:36.2264950+08:00||;True|2025-02-18T10:30:56.5234743+08:00||;True|2025-02-15T15:24:40.7310549+08:00||;True|2025-02-15T14:26:13.5854743+08:00||;True|2025-02-15T14:23:09.9103735+08:00||;True|2025-02-15T14:11:58.0255348+08:00||;True|2025-02-15T13:55:31.3438054+08:00||;True|2025-02-15T13:47:31.3307267+08:00||;True|2025-02-15T13:46:24.9001959+08:00||;True|2025-02-15T13:23:47.4161644+08:00||;True|2025-02-15T13:10:20.4988808+08:00||;True|2025-02-15T13:05:10.7619905+08:00||;True|2025-02-15T12:55:42.2397751+08:00||;True|2025-02-15T12:43:42.1819119+08:00||;True|2025-02-15T10:19:42.3871047+08:00||;True|2025-01-03T16:15:25.4007394+08:00||;True|2025-01-03T15:59:55.6586669+08:00||;True|2025-01-03T15:58:54.7953589+08:00||;True|2025-01-03T15:54:46.8938743+08:00||;True|2025-01-03T15:30:32.7439557+08:00||;True|2025-01-03T15:27:53.2337341+08:00||;True|2025-01-03T15:24:30.7045349+08:00||;True|2025-01-02T14:13:36.7820311+08:00||;</History> <LastFailureDetails /> </PropertyGroup> </Project> \ No newline at end of file diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs index 306512f..f18d64b 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs @@ -7,6 +7,7 @@ using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_Core.LogHelper; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob.Models; @@ -656,12 +657,10 @@ catch (Exception ex) { content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�"); + QuartzLogger.WriteLogToFile($"Info_鍒嗗浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.StackTrace}銆憑Environment.NewLine}{Environment.NewLine}"); } + QuartzLogger.WriteLogToFile($"Info_鍒嗗浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}"); return content; } - //public override WebResponseContent DeleteData(Dt_Task entity) - //{ - // return base.DeleteData(entity); - //} } } \ No newline at end of file diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs index 93096e7..4fb8e05 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs @@ -104,7 +104,7 @@ task.NextAddress = item.TargetAddress; } // 鍒ゆ柇浠诲姟鐩爣鍦板潃鍜岃矾寰勬槸鍚︽弧瓒崇壒瀹氭潯浠� - else if ((task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001") && (task.Roadway.Contains("JZ")|| task.Roadway.Contains("CH"))) + else if (((task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001") && (task.Roadway.Contains("JZ")|| task.Roadway.Contains("CH")))|| task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) { // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓 task.TaskState = (int)TaskOutStatusEnum.OutNew; @@ -827,7 +827,7 @@ catch (Exception ex) { content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�"); - QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.Message}銆憑Environment.NewLine}{Environment.NewLine}"); + QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.StackTrace}銆憑Environment.NewLine}{Environment.NewLine}"); } QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}"); return content; @@ -928,6 +928,11 @@ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskStatus.Created); } + public Dt_Task QueryOutFireAlarmTask(string deviceNo) + { + return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm && x.TaskState == (int)TaskOutStatusEnum.OutNew); + } + public Dt_Task QueryExecutingTaskByBarcode(string barcode, string nextAddress) { return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy); diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs index d74ab47..f6c8469 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs @@ -212,7 +212,7 @@ Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); _taskService.UpdateData(newTask); } - if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && (task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001")) + if ((task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && (task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001"))||task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) { var TASKHTY = task.Adapt<Dt_Task_Hty>(); _taskRepository.DeleteData(task); @@ -234,6 +234,12 @@ private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane) { Dt_Task task = null; + + task = _taskService.QueryOutFireAlarmTask(commonStackerCrane.DeviceCode); + if (task != null) + { + return task; + } if (commonStackerCrane.LastTaskType == null) { task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); @@ -546,7 +552,7 @@ } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { - if (task.Roadway.Contains("GW")) + if (task.Roadway.Contains("GW") || task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) { string[] endCodes = task.NextAddress.Split("-"); stackerCraneTaskCommand.EndRow = Convert.ToInt16(endCodes[0]); @@ -559,7 +565,7 @@ } else { - if ((task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001") && (task.Roadway.Contains("JZ") || task.Roadway.Contains("CH"))) + if (((task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001") && (task.Roadway.Contains("JZ") || task.Roadway.Contains("CH"))) || task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) { string[] endCodes = task.NextAddress.Split("-"); stackerCraneTaskCommand.EndRow = Convert.ToInt16(endCodes[0]); diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs index 7bc6ebb..ef96422 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs @@ -202,6 +202,12 @@ { Dt_Task task; + task = _taskService.QueryOutFireAlarmTask(commonStackerCrane.DeviceCode); + if (task != null) + { + return task; + } + task = _taskService.QueryRelocationTask(commonStackerCrane.DeviceCode); if (task != null) { diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/CustomModels/DTSEmergencyTask.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/CustomModels/DTSEmergencyTask.cs index 5ee1b40..a5556b9 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/CustomModels/DTSEmergencyTask.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/CustomModels/DTSEmergencyTask.cs @@ -30,5 +30,10 @@ /// 宸烽亾 /// </summary> public string Roadway { get; set; } + + /// <summary> + /// 璐т綅ID + /// </summary> + public string LocationCode { get; set; } } } diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/ManageEnum.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/ManageEnum.cs index 8c0f2a0..4b8c4d5 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/ManageEnum.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/ManageEnum.cs @@ -192,6 +192,12 @@ /// </summary> [Description("鐩存帴鍑哄簱")] InToOut = 106, + + /// <summary> + /// 鐏鍑哄簱 + /// </summary> + [Description("鐏鍑哄簱")] + OutFireAlarm = 500, } public enum TaskRelocationTypeEnum diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs index f0049b5..58f94ff 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs @@ -276,6 +276,36 @@ #endregion 鍑哄簱浠诲姟瀹屾垚 + #region 鐏浠诲姟瀹屾垚 + public async Task<WebResponseContent> CompleteOutFireAlarmTaskAsync(Dt_Task task, DtStockInfo stock) + { + WebResponseContent content = new WebResponseContent(); + (var loc, var tas) = UpdateStockAndTaskStatus(stock, task); + var taskHty = task.Adapt<Dt_Task_Hty>(); + taskHty.FinishTime = DateTime.Now; + taskHty.OperateType = App.User.UserName != null ? (int)OperateTypeEnum.浜哄伐瀹屾垚 : (int)OperateTypeEnum.鑷姩瀹屾垚; + taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System"; + + DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>(); + stockInfo_Hty.ModifyDate = DateTime.Now; + + // 浜嬪姟澶勭悊 + await _unitOfWorkManage.UseTranAsync(async () => + { + if (task.TaskType != (int)TaskOutboundTypeEnum.OutQuality) + { + await DeleteStockInfoAsync(stock.Id); + await DeleteStockInfoDetailsAsync(stock.StockInfoDetails); + await AddStockInfoHtyAsync(stockInfo_Hty); + await UpdateLocationAsync(loc); //璐ㄦ浠诲姟闇�瑕佹寔缁攣瀹氬簱浣� + } + await DeleteTaskAsync(task.TaskId); + await AddTaskHtyAsync(taskHty); + }); + return content.OK("浠诲姟瀹屾垚鎴愬姛", task.Remark); + } + #endregion + #region 绉诲簱浠诲姟瀹屾垚 /// <summary> @@ -596,6 +626,11 @@ case (int)TaskOutboundTypeEnum.OutNG: LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", ""); return await CompleteStackTaskAsync(task, stock); + + case (int)TaskOutboundTypeEnum.OutFireAlarm: + + LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鐏浠诲姟", ""); + return await CompleteOutFireAlarmTaskAsync(task, stock); case (int)TaskRelocationTypeEnum.Relocation: return await CompleteTransferTaskAsync(task, stock); @@ -1641,7 +1676,10 @@ return content.Error(ex.Message); } } - + /// <summary> + /// 鑾峰彇搴撳瓨淇℃伅 + /// </summary> + /// <returns></returns> public WebResponseContent GetStockInfo() { WebResponseContent content = new WebResponseContent(); diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs index a59aa03..2323fa3 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs @@ -1092,100 +1092,119 @@ if (emergencyTask == null) throw new Exception("鐏鍙傛暟涓虹┖"); - DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.Row == emergencyTask.row && x.Column == emergencyTask.column && x.Layer == emergencyTask.layer && x.AreaId == emergencyTask.zone); - if (locationInfo == null) + string[] strings = emergencyTask.LocationCode.Split("-"); + + string[] Roadways = strings[0].Select(x => x.ToString()).ToArray(); + string Roadway = string.Empty; + switch (Roadways[0]) { - throw new Exception("鏈煡搴撲綅"); + case "J": + Roadway = "JZSC" + Roadways[1]; + break; + case "G": + Roadway = "GWSC" + Roadways[1]; + break; + case "C": + Roadway = "CWSC" + Roadways[1]; + break; + default: throw new Exception("鏈瘑鍒簱浣嶇紪鐮�"); } - //鏌ユ壘娑堥槻绔欏彴 - var station = _stationManagerRepository.QueryFirst(t => t.Roadway == locationInfo.RoadwayNo - && t.stationType == (int)StationManager.FireStation - /*&& t. == "Enable"*/); - if (station == null) + for (int i = 0; i < 2; i++) { - throw new Exception("娑堥槻绔欏彴鏈厤缃�!"); - } - - //鏌ユ壘搴撳瓨淇℃伅 - var stockInfo = _stockInfoRepository.QueryFirst(x => x.LocationCode == locationInfo.LocationCode && x.LocationInfo.RoadwayNo == locationInfo.RoadwayNo); - //鎵樼洏鐮� - string barcode = string.Empty; - if (stockInfo != null) - { - barcode = stockInfo.PalletCode; - } - else - { - //鏃犲簱瀛樹俊鎭紝鐢熸垚闅忔満鎵樼洏鐮� - barcode = "M" + DateTime.Now.ToString("MMddHHmmss") + "-" + new Random().Next(100, 1000); - } - - Dt_Task fireTask = BaseDal.QueryFirst(x => x.TaskType == 500 && x.SourceAddress == locationInfo.LocationCode && x.Roadway == station.Roadway); - - if (fireTask != null) - { - throw new Exception("宸叉坊鍔犵伀璀﹀嚭搴撲换鍔�"); - } - - int taskNum = BaseDal.GetTaskNo().Result; - Dt_Task task = new Dt_Task - { - CreateDate = DateTime.Now, - Creater = "DTS", - CurrentAddress = locationInfo.LocationCode, - Grade = 1, - Dispatchertime = DateTime.Now, - PalletCode = barcode, - Roadway = station.Roadway, - SourceAddress = locationInfo.LocationCode, - TaskState = (int)TaskOutStatusEnum.OutNew, - TaskType = 500, - TargetAddress = station.stationLocation, - NextAddress = station.stationChildCode, - TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, - TaskId = 0, - }; - - // 灏濊瘯娣诲姞鏂颁换鍔� - WMSTaskDTO taskDTO = new WMSTaskDTO() - { - TaskNum = task.TaskNum.Value, - Grade = 1, - PalletCode = task.PalletCode, - RoadWay = task.Roadway, - SourceAddress = task.SourceAddress, - TargetAddress = task.TargetAddress, - TaskState = task.TaskState.Value, - Id = 0, - TaskType = 500, - }; - - var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); - var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; - var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue; - if (ReceiveByWMSTask == null || ipAddress == null) - { - throw new Exception("WMS IP 鏈厤缃�"); - } - var wmsIpAddrss = ipAddress + ReceiveByWMSTask; - - var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO)); - if (respon != null) - { - WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString()); - if (respone.Status) + DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.Row == Convert.ToInt16(strings[1]) && x.Column == Convert.ToInt16(strings[2]) && x.Layer == (i == 0 ? Convert.ToInt16(strings[3]) * 2 - 1 : Convert.ToInt16(strings[3]) * 2) && x.RoadwayNo == Roadway); + if (locationInfo == null) { - var taskId = BaseDal.AddData(task); + throw new Exception("鏈煡搴撲綅"); + } + + //鏌ユ壘娑堥槻绔欏彴 + var station = _stationManagerRepository.QueryFirst(t => t.Roadway == locationInfo.RoadwayNo && t.stationType == (int)StationManager.FireStation); + if (station == null) + { + throw new Exception("娑堥槻绔欏彴鏈厤缃�!"); + } + + //鏌ユ壘搴撳瓨淇℃伅 + var stockInfo = _stockInfoRepository.QueryFirst(x => x.LocationCode == locationInfo.LocationCode && x.LocationInfo.RoadwayNo == locationInfo.RoadwayNo); + //鎵樼洏鐮� + string barcode = string.Empty; + if (stockInfo != null) + { + barcode = stockInfo.PalletCode; } else { - throw new Exception("WCS澶勭悊澶辫触:" + respone.Message); + //鏃犲簱瀛樹俊鎭紝鐢熸垚闅忔満鎵樼洏鐮� + barcode = "M" + DateTime.Now.ToString("MMddHHmmss") + "-" + new Random().Next(100, 1000); } - } - else - { - throw new Exception("璇锋眰澶勭悊澶辫触"); + + Dt_Task fireTask = BaseDal.QueryFirst(x => x.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm && x.SourceAddress == locationInfo.LocationCode && x.Roadway == station.Roadway); + + if (fireTask != null) + { + throw new Exception("宸叉坊鍔犵伀璀﹀嚭搴撲换鍔�"); + } + + int taskNum = BaseDal.GetTaskNo().Result; + Dt_Task task = new Dt_Task + { + CreateDate = DateTime.Now, + Creater = "DTS", + CurrentAddress = locationInfo.LocationCode, + Grade = i == 0 ? 5 : 3, + Dispatchertime = DateTime.Now, + PalletCode = barcode, + Roadway = station.Roadway, + SourceAddress = locationInfo.LocationCode, + TaskState = (int)TaskOutStatusEnum.OutNew, + TaskType = (int)TaskOutboundTypeEnum.OutFireAlarm, + TargetAddress = station.stationLocation, + NextAddress = station.stationLocation, + TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, + TaskId = 0, + }; + + // 灏濊瘯娣诲姞鏂颁换鍔� + WMSTaskDTO taskDTO = new WMSTaskDTO() + { + TaskNum = task.TaskNum.Value, + Grade = 1, + PalletCode = task.PalletCode, + RoadWay = task.Roadway, + SourceAddress = task.SourceAddress, + TargetAddress = task.TargetAddress, + TaskState = task.TaskState.Value, + Id = 0, + TaskType = task.TaskType, + }; + + var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; + var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue; + if (ReceiveByWMSTask == null || ipAddress == null) + { + throw new Exception("WMS IP 鏈厤缃�"); + } + var wmsIpAddrss = ipAddress + ReceiveByWMSTask; + + var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO)); + if (respon != null) + { + WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString()); + if (respone.Status) + { + var taskId = BaseDal.AddData(task); + } + else + { + throw new Exception("WCS澶勭悊澶辫触:" + respone.Message); + } + } + else + { + throw new Exception("璇锋眰澶勭悊澶辫触"); + } } LogFactory.GetLog("DTS鐏鍑哄簱").Info(true, $"\r\r--------------------------------------"); LogFactory.GetLog("DTS鐏鍑哄簱").Info(true, obj.ToJsonString()); diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs index 12ab8e6..f89234a 100644 --- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs +++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs @@ -79,7 +79,7 @@ // TODO 鍒ゆ柇鍦ㄩ�旀暟閲� var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine && x.fromArea == "CW"); - var needCount = needBarcode.inLineNum; + var needCount = needBarcode.inLineNum = BaseDal.QueryData(x => x.TargetAddress == STATION.stationChildCode).Count(); //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; if (needCount < needBarcode.cacheNum) { -- Gitblit v1.9.3