已重命名16个文件
已删除436个文件
已修改6个文件
已添加575个文件
| | |
| | | ###################################################################### |
| | | # Build Tools |
| | | |
| | | .gradle |
| | | /build/ |
| | | !gradle/wrapper/gradle-wrapper.jar |
| | | |
| | | target/ |
| | | !.mvn/wrapper/maven-wrapper.jar |
| | | |
| | | ###################################################################### |
| | | # IDE |
| | | |
| | | ### hbuilder ### |
| | | unpackage |
| | | .hbuilderx |
| | | |
| | | ### STS ### |
| | | .apt_generated |
| | | .classpath |
| | | .factorypath |
| | | .project |
| | | .settings |
| | | .springBeans |
| | | |
| | | ### IntelliJ IDEA ### |
| | | .idea |
| | | *.iws |
| | | *.iml |
| | | *.ipr |
| | | |
| | | ### JRebel ### |
| | | rebel.xml |
| | | |
| | | ### NetBeans ### |
| | | nbproject/private/ |
| | | build/* |
| | | nbbuild/ |
| | | # 忽ç¥çæçæä»¶ |
| | | build/ |
| | | dist/ |
| | | nbdist/ |
| | | .nb-gradle/ |
| | | unpackage/ |
| | | *.class |
| | | *.jar |
| | | *.war |
| | | *.ear |
| | | |
| | | ###################################################################### |
| | | # Others |
| | | *.log |
| | | *.xml.versionsBackup |
| | | # 忽ç¥ç¼è¾å¨/IDEçæçæä»¶åç®å½ |
| | | .idea/ |
| | | .hbuilderx |
| | | *.swp |
| | | *.swo |
| | | *~ |
| | | |
| | | !*/build/*.java |
| | | !*/build/*.html |
| | | !*/build/*.xml |
| | | # 忽ç¥ä¾èµç®¡çå·¥å
·çæçç®å½ |
| | | node_modules/ |
| | | bower_components/ |
| | | vendor/ |
| | | |
| | | # å¿½ç¥æä½ç³»ç»æä»¶ |
| | | .DS_Store |
| | | Thumbs.db |
| | | |
| | | # å¿½ç¥æ¥å¿æä»¶ |
| | | *.log |
| | | |
| | | # å¿½ç¥æææå
å«ä¸ªäººä¿¡æ¯çæä»¶ï¼æ ¹æ®éè¦æ·»å æ´å¤ï¼ |
| | | credentials.json |
| | | config.ini |
| | | secrets.txt |
| | | |
| | | # 忽ç¥å
¶ä»èªå®ä¹çæä»¶æç®å½ |
| | | /custom_directory/ |
| | | |
| | | # æé¤ç¹å®æ©å±åçæä»¶ï¼æ ¹æ®éè¦æ·»å æ´å¤ï¼ |
| | | *.bak |
| | | *.tmp |
| | | |
| | | # æé¤ç¹å®æä»¶åï¼æ ¹æ®éè¦æ·»å æ´å¤ï¼ |
| | | debug.log |
| | | |
| | | # 䏿é¤ä¸åæ©å±åçæä»¶ |
| | | !*.allowed_extension |
| | | |
| | | # 䏿é¤ä¸åæä»¶å |
| | | !important_file.txt |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | // ä½¿ç¨ IntelliSense äºè§£ç¸å
³å±æ§ã |
| | | // æ¬å以æ¥çç°æå±æ§çæè¿°ã |
| | | // 欲äºè§£æ´å¤ä¿¡æ¯ï¼è¯·è®¿é®: https://go.microsoft.com/fwlink/?linkid=830387 |
| | | "version": "0.2.0", |
| | | "configurations": [ |
| | | |
| | | { |
| | | "name": "Debug Edge", |
| | | "request": "launch", |
| | | "type": "msedge", |
| | | "url": "http://localhost:80", |
| | | "webRoot": "${workspaceFolder}", |
| | | }, |
| | | { |
| | | "name": "dev:h5", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:h5"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:app", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:app"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:app-android", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:app-android"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:app-ios", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:app-ios"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:custom", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:custom"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:h5:ssr", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:h5:ssr"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-alipay", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-alipay"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-baidu", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-baidu"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-jd", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-jd"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-kuaishou", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-kuaishou"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-lark", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-lark"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-qq", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-qq"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-toutiao", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-toutiao"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:mp-weixin", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:mp-weixin"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:quickapp-webview", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:quickapp-webview"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:quickapp-webview-huawei", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:quickapp-webview-huawei"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "dev:quickapp-webview-union", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "dev:quickapp-webview-union"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:app", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:app"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:app-android", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:app-android"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:app-ios", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:app-ios"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:custom", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:custom"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:h5", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:h5"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:h5:ssr", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:h5:ssr"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-alipay", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-alipay"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-baidu", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-baidu"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-jd", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-jd"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-kuaishou", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-kuaishou"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-lark", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-lark"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-qq", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-qq"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-toutiao", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-toutiao"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:mp-weixin", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:mp-weixin"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:quickapp-webview", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:quickapp-webview"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:quickapp-webview-huawei", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:quickapp-webview-huawei"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | }, |
| | | { |
| | | "name": "build:quickapp-webview-union", |
| | | "request": "launch", |
| | | "runtimeArgs": ["run", "build:quickapp-webview-union"], |
| | | "runtimeExecutable": "npm", |
| | | "skipFiles": ["<node_internals>/**"], |
| | | "type": "node" |
| | | } |
| | | ] |
| | | } |
| | |
| | | Apache License |
| | | Version 2.0, January 2004 |
| | | http://www.apache.org/licenses/ |
| | | MIT License |
| | | |
| | | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
| | | Copyright (c) 2023 å¦NO |
| | | |
| | | 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. |
| | |
| | | # ç§»å¨ç«¯åå°ç®¡çç³»ç» RuoYi-Mobile |
| | | 主页ï¼<a href="http://fastbuild.run" target="_blank">http://fastbuild.run</a> |
| | | # RuoYi-App-Geek |
| | | |
| | | []('https://gitee.com/yinm/RuoYi-Mobile/stargazers') |
| | | []('https://gitee.com/yinm/RuoYi-Mobile/members') |
| | | [](https://www.apache.org/licenses/LICENSE-2.0.html) |
| | | <p align="center"> |
| | | <span> |
| | | <img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png"> |
| | | </span> |
| | | <span>+</span> |
| | | <span> |
| | | <img alt="logo" src="./doc/image/logo.png"> |
| | | </span> |
| | | </p> |
| | | <h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Geek v3.8.7.3.2</h1> |
| | | <h4 align="center">åºäºSpringBoot3+Vue3åå端å离çJavaå¿«éå¼åæ¡æ¶</h4> |
| | | <p align="center"> |
| | | <img src="https://img.shields.io/github/license/mashape/apistatus.svg"> |
| | | </p> |
| | | |
| | | ### :peach: 项ç®ç®ä» |
| | | ä¼äºä¸åä½ä¿¡æ¯åå éï¼ç§»å¨ç«¯å工鿏æä¸ºè¶å¿ï¼H5æå°ç¨åºæ¯èµ·APPæ¥è¯´æ´ç®åæ¹ä¾¿ãå æ¤ä¸æ¬¾å¥½çç§»å¨ç«¯åºç¡å¹³å°ååæå¿
è¦ã<br> |
| | | 项ç®éç¨å½ä¸æµè¡çUniApp + uView2 æ¡æ¶å¼åï¼å®æå¸¸è§çæ¥å¸¸å·¥ä½åè½ä¸ç§»å¨ç«¯ç¹æåè½ç»ä»¶ã |
| | | <br><br> |
| | | # å¼è¨ |
| | | |
| | | ### :pear: å端ä¸è½½ |
| | | ä¸è½½å°åï¼<a href="http://fastbuild.run" target="_blank">ä¼ éé¨</a><br> |
| | | ***注ï¼ç®åç§»å¨ç«¯æ¯æè¥ä¾ç®¡çå¹³å°å
¨ç³»åï¼ååºç¨ãå¾®æå¡ãMySQLçãOracleçãSqlServerçãAntdççï¼ï¼éè¦éé
å
¶ä»çæ¬ç请å°ä¸é¢å°åä¸è½½ç§»å¨ç«¯æºç ã*** |
| | | <br><br> |
| | | RuoYi-Vue ä¸ RuoYi-App æ¯åºäº SpringBoot2+Vue2 æé çä¼ä¸çº§å¼åæ¡æ¶ï¼å¾å°äºå¹¿å¤§å¼åè
çåç±å积æåé¦ãéçææ¯çè¿ä»£è¿æ¥ï¼SpringBoot3 ä¸ Vue3 鿏è¿å
¥å¼åè
çè§éãä¸ºäºæ»¡è¶³å¼åè
å¯¹äºæ°ææ¯ç追æ±ï¼RuoYi 宿¹ææ¡£æä¾äº SpringBoot2 è³ SpringBoot3 çåçº§æ¹æ³ã䏿¤åæ¶ï¼ç¤¾åºä¹æ¶ç°åºäº RuoYi-Vue3ãRuoYi-App-Vue3 ççæ¬ï¼å±ç°äºå¼åè
社åºå¯¹äºææ¯å级ççæ
ä¸åªåã |
| | | |
| | | ç¶èï¼å¨å级çè¿ç¨ä¸ï¼å®æ¹çæ¹æ³ä¸ºäºå
¼é¡¾ Java1.8 çç¹æ§ä¸ä¸äºèæ§çæ¹æ³ï¼æªå®å
¨æ¥æ±**SpringBoot3 ä¸ Java17**çå
¨é¨ç¹æ§ãè社åºç RuoYi-Vue3ãRuoYi-App-Vue3 çæ¬ç±äºåºèªä¸åçå¢é乿ï¼**å
¼å®¹æ§åæ´åæ§**ä¸åå¨äºè®¸**ä¸è¶³**ãæ´ä¸ºå
³é®çæ¯ï¼å°½ç®¡è¿äºçæ¬**æ¯æ TypeScript**ï¼ä½**缺ä¹ä¸ä¹ç¸å¹é
ç tsconfig.json é
ç½®æä»¶**ï¼è¿ä½¿å¾å¨ä¸»æµç¼è¾å¨å¦ VSCode ä¸ï¼TypeScript çè¯æ³æç¤ºç¯å¢å¹¶æªè¾¾å°æä½³ç¶æã |
| | | |
| | | é´äºæ¤ï¼**RuoYi-Geek çæ**åºè¿èçã宿¨å¨ä¸ºå¹¿å¤§å¼åè
æä¾ä¸ä¸ªæ¢ä¿çåçæ¬æ ¸å¿ç¹æ§ï¼åæ´å社åºçä¼ç¹çå
¨æ°è§£å³æ¹æ¡ãå¨**RuoYi-Geek**ä¸ï¼æä»¬æ·±å
¥è°ç äºä¼ä¸å¼åä¸å¸¸ç¨ç RuoYi æ©å±ï¼å¹¶ç´æ¥å¨æ¡æ¶ä¸éæï¼ç¡®ä¿å¼åè
è½å¤å¿«é䏿ï¼é«æå¼åãåæ¶ï¼æä»¬éç¨äºææ°ç**SpringBoot3+Vue3**ææ¯æ ï¼å½»åºç§»é¤äºä¸ºäºå
¼å®¹ Java1.8 èä¿ççèæ§æ¹æ³ãæ´ä¸ºéè¦çæ¯ï¼æä»¬ä¸º TypeScript å¼åç¯å¢å å
¥äºå¸¸ç¨ç tsconfig.json é
ç½®ï¼ä½¿å¾å¼åè
å¨ VSCode çç¼è¾å¨ä¸è½å¤è·å¾æ´ä¸ºèéã便æ·çè¯æ³æç¤ºä½éªã |
| | | |
| | | **RuoYi-Geek**ä¸ä»
ä»
æ¯ä¸ä¸ªç®åçåçº§çæ¬ï¼æ´æ¯å¯¹äº RuoYi çæç䏿¬¡å
¨é¢ä¼å䏿´åãæä»¬ç¸ä¿¡ï¼éè¿**RuoYi-Geek çæ**ï¼å¼åè
å°è½å¤æ´ä¸ºé«æãææ¦å°å¼ååºä¼ç§çä¼ä¸çº§åºç¨ã |
| | | |
| | | æ¬é¡¹ç®ä¸º**RuoYi-Geek çæ**ç RuoYi-App é¨åã |
| | | **注æï¼** |
| | | æ¬äººçå
¶ä»ä¸¤ä¸ªæ¨èæé
çé¡¹ç® |
| | | |
| | | 1. [Ruoyi-SpringBoot3-Geek: è¿æ¯è¥ä¾æå®¢çæçå端 Springboot3 çæ¬ (gitee.com)](https://gitee.com/geek-xd/ruoyi-spring-boot3-geek) |
| | | 2. [RuoYi-Vue3-Geek: è¿æ¯è¥ä¾æå®¢çæç Vue3 çæ¬ (gitee.com)](https://gitee.com/geek-xd/ruo-yi-vue3-geek) |
| | | |
| | | **ä¸ Ruoyi-App ç¸æ¯è¾** |
| | | |
| | | 1. ä½¿ç¨ UniApp+Vue3 çææ°æ¡æ¶ |
| | | 2. æ¯æ TSãSCSSãLESS ç对 js å css çæ©å
è¯è¨ |
| | | 3. ä½¿ç¨ Pinia ä»£æ¿ Vuexï¼æ´å 轻巧ç®å |
| | | 4. ä½¿ç¨ uView-Plusï¼å¥½çç uiï¼ ä»£æ¿ uView-ui ç ui ç»ä»¶åº |
| | | 5. ä½¿ç¨ uChartsï¼æ¹ä¾¿çå¾è¡¨ï¼ç»å¾å·¥å
· |
| | | 6. å·²ç»å®æäºåå
æä½ |
| | | 7. æä¾äºé¢è²éæ©å¨ãäºç»´ç ç常ç¨ç»ä»¶ |
| | | 8. å°åæå
置工å
·è¿è¡ç±»åæ å® |
| | | 9. å嫿ä¾äº uview-plus å ucharts çæ¨¡æ¿ï¼å¯ä»¥ç´æ¥ä½¿ç¨æè
ç¨äºå¦ä¹ ï¼ |
| | | |
| | | # å¿«éå¼å§ |
| | | |
| | | **注æï¼** node çæ¬éè¦ 16+ |
| | | |
| | | ## è¿ç§»å°Hbuilderï¼ä¸ä¾èµHbuilderç项ç®ä¸éè¦è¿ç§»ï¼ |
| | | |
| | | 1. srcè·¯å¾ä½ä¸ºé¡¹ç®æ ¹è·¯å¾ |
| | | 2. å°index.htmlãpackage.jsonãvite.config.jsãtsconfig.jsonã.gitignoreç²è´´å°srcç®å½ä¸ |
| | | 3. å¨srcç®å½ä¸è¿è¡npm install |
| | | 4. ä¿®æ¹index.htmlä¸ç./src/main.js为./main.js |
| | | 5. å¨HBuilderXä¸è¿è¡æ¶æ³¨æè§å¯æ¯å¦ä½¿ç¨çæ¯Vue3çç¼è¯å¨ï¼è¥ä¸æ¯è¯·èªè¡æ¥æ¾æ¹æ³è§£å³ï¼æ¬äººå¯¹HbuilderX使ç¨ä¸å¤ï¼ |
| | | |
| | | |
| | | ### :watermelon: ææ¯æ |
| | | | ç»ä»¶ | çæ¬ | |
| | | |----------|--------| |
| | | | uview-ui | 2.0.31 | |
| | | | qiun-data-charts | 2.4.3-20220505 | |
| | | ## å®è£
|
| | | |
| | | <br><br> |
| | | ä¸ä¸ä¸ç§æ¹å¼åå¯ï¼æè§é度 pnpm > yarn > cnpm > npm |
| | | |
| | | ### :tw-1f348: ç³»ç»é
ç½® |
| | | 1. å端请æ±å°åé
ç½®ï¼ |
| | | **_Vue3/Vite çè¦æ± node çæ¬^14.18.0 || >=16.0.0_** |
| | | |
| | | ``` |
| | | # é
ç½®æä»¶è·¯å¾ï¼/config/environment.js |
| | | # ä¿®æ¹baseURL屿§ |
| | | |
| | | const environment = { |
| | | // å¼åç¯å¢é
ç½® |
| | | development: { |
| | | // æ¬å°é¨ç½²çå端 |
| | | baseURL: 'http://localhost:8080', |
| | | |
| | | // ç´æ¥ä½¿ç¨çº¿ä¸å端 |
| | | // baseURL: 'http://vue.ruoyi.vip/prod-api' |
| | | }, |
| | | // ç产ç¯å¢é
ç½® |
| | | production: { |
| | | baseURL: 'http://vue.ruoyi.vip/prod-api' // å叿¶éè¦ä¿®æ¹ä¸ºå端å®é
å°å |
| | | } |
| | | } |
| | | |
| | | module.exports = { |
| | | environment: environment[process.env.NODE_ENV] |
| | | } |
| | | ``` |
| | | 2. H5å¯å¨ç«¯å£é
ç½®ï¼ |
| | | |
| | | ***注æï¼ä¸è¦å¨manifest.jsonä¸é
ç½®h5å¯å¨ä¿¡æ¯ï¼å¯è½ä¼å¼åå端æ¥å£è®¿é®å¼å¸¸*** |
| | | |
| | | ``` |
| | | # é
ç½®æä»¶è·¯å¾ï¼/vue.config.js |
| | | # ä¿®æ¹port屿§ |
| | | |
| | | const { environment } = require('./config/environment.js') |
| | | |
| | | module.exports = { |
| | | devServer: { |
| | | port: 9001, |
| | | proxy: { |
| | | '/': { |
| | | target: environment.baseURL, |
| | | ws: true, |
| | | changeOrigin: true, |
| | | pathRewrite: { |
| | | '^/': '' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | |
| | | ```shell |
| | | npm install |
| | | cnpm install |
| | | yarn |
| | | pnpm install |
| | | ``` |
| | | |
| | | # å¯å¨ |
| | | |
| | | 1. å°é¡¹ç®ä¸è½½å°æ¬å° |
| | | 2. åå§å项ç®---è¿å
¥é¡¹ç®æ ¹è·¯å¾è¿è¡æä»¤åå§åé¡¹ç® |
| | | `npm install` |
| | | 3. è¿è¡é¡¹ç®---è¿å
¥é¡¹ç®æ ¹è·¯å¾è¿è¡æä»¤ï¼å¨ package.json è½æ¾å°æææä»¤ï¼ï¼ |
| | | 以微信å°ç¨åºä¸ºä¾ï¼`npm run dev:mp-weixin` |
| | | 以 H5 ä¸ºä¾ ` npm run dev:h5` |
| | | 4. æ¥çé¡¹ç® ä»¥å¾®ä¿¡å°ç¨åºä¸ºä¾ï¼ |
| | | æå¼å¾®ä¿¡å¼åè
å·¥å
·ï¼å¯¼å
¥é¡¹ç®è·¯å¾ dist\dev\mp-weixin |
| | | 以 H5 为ä¾ï¼æå¼æµè§å¨ï¼è¾å
¥æ§å¶å°è¾åºçå°å |
| | | 注ï¼å
¬ä¼å·å±äº H5ï¼ä»¥å¾®ä¿¡å
¬ä¼å·ä¸ºä¾ï¼æå¼å¾®ä¿¡å¼åè
å·¥å
·ï¼è¾å
¥æ§å¶å°è¾åºçå°å |
| | | 5. æå
项ç®---è¿å
¥é¡¹ç®æ ¹è·¯å¾è¿è¡æä»¤ï¼å¨ package.json è½æ¾å°æææä»¤ï¼ï¼ |
| | | 以微信å°ç¨åºä¸ºä¾ï¼`npm run build:mp-weixin` |
| | | 以 H5 为ä¾ï¼ `npm run build:h5` |
| | | |
| | | ### 代ç å缩 |
| | | |
| | | ### :lemon: ç³»ç»æªå¾ |
| | | é»è®¤æ¯å¯å¨ä»£ç å缩çï¼ |
| | | |
| | | 妿éè¦å
³é代ç å缩ï¼å¯ä»¥å° vite.config.js ä¸ç build.minify èµå¼ä¸º falseã |
| | | |
| | | 妿éè¦æå¼ä»£ç å缩ï¼å¯ä»¥å° vite.config.js ä¸ç build.minify èµå¼ä¸º trueã |
| | | |
| | | # å
ç½®ç»ä»¶(geek-xd) |
| | | |
| | | 1. é¢è²éæ©å¨ç»ä»¶ |
| | | 2. äºç»´ç ç»ä»¶ |
| | | 3. åå½¢èåç»ä»¶ |
| | | 4. 常ç¨ç订åç»ä»¶ |
| | | 5. ä¿¡æ¯å±ç¤ºç»ä»¶ |
| | | |
| | | # æä»¶çä½¿ç¨ |
| | | |
| | | #### tab - 页颿件 |
| | | |
| | | å¯ä»¥éè¿è®¾ç½®åæ°ä¸ç config.data æ¥å®ç°é¡µé¢ä¼ å |
| | | |
| | | | æ¹æ³ | ä½ç¨ | åæ° | |
| | | | ------------ | ------------------------------------------------ | ----------- | |
| | | | getData | å¯ä»¥æ¿å°ä¸ä¸ªé¡µé¢éè¿ tab ä¼ éçåæ° | æ | |
| | | | reLaunch | å
³éææé¡µé¢ï¼æå¼å°åºç¨å
çæä¸ªé¡µé¢ | urlãconfig | |
| | | | switchTab | è·³è½¬å° tabBar 页é¢ï¼å¹¶å
³éå
¶ä»ææé tabBar é¡µé¢ | urlãconfig | |
| | | | redirectTo | å
³éå½å页é¢ï¼è·³è½¬å°åºç¨å
çæä¸ªé¡µé¢ | urlãconfig | |
| | | | navigateTo | ä¿çå½å页é¢ï¼è·³è½¬å°åºç¨å
çæä¸ªé¡µé¢ | urlãconfig | |
| | | | navigateBack | å
³éå½å页é¢ï¼è¿åä¸ä¸é¡µé¢æå¤çº§é¡µé¢ | config | |
| | | |
| | | #### auth - é´ææä»¶ |
| | | |
| | | ä¸é¢æææ¹æ³è¿åå¼é½æ¯å¸å°å¼ï¼permission 代表æéå符串ï¼role 代表è§è²å符串ï¼å¤æ°å½¢å¼ä»£è¡¨æ°ç»ã |
| | | |
| | | | æ¹æ³ | ä½ç¨ | åæ° | |
| | | | ----------- | ------------------------------------------ | ----------- | |
| | | | hasPermi | éªè¯ç¨æ·æ¯å¦å
·å¤ææé | permission | |
| | | | hasPermiOr | éªè¯ç¨æ·æ¯å¦å«ææå®æéï¼åªéå
å«å
¶ä¸ä¸ä¸ª | permissions | |
| | | | hasPermiAnd | éªè¯ç¨æ·æ¯å¦å«ææå®æéï¼å¿
é¡»å
¨é¨æ¥æ | permissions | |
| | | | hasRole | éªè¯ç¨æ·æ¯å¦å
·å¤æè§è² | role | |
| | | | hasRoleOr | éªè¯ç¨æ·æ¯å¦å«ææå®è§è²ï¼åªéå
å«å
¶ä¸ä¸ä¸ª | roles | |
| | | | hasRoleAnd | roles | roles | |
| | | |
| | | #### modal - å¼¹çªæä»¶ |
| | | |
| | | content æ¯æ¶æ¯å
容ï¼option æ¯è¯¦ç»é
ç½®ã |
| | | |
| | | | æ¹æ³ | ä½ç¨ | åæ° | |
| | | | ------------ | ------------------------------ | ------- | |
| | | | msg | æ¶æ¯æç¤º | content | |
| | | | msgError | éè¯¯æ¶æ¯ | content | |
| | | | msgSuccess | æåæ¶æ¯ | content | |
| | | | hideMsg | éèæ¶æ¯ | æ | |
| | | | alert | å¼¹åºæç¤º | content | |
| | | | confirm | 确认çªä½ | content | |
| | | | showToast | æç¤ºä¿¡æ¯ | option | |
| | | | loading | æå¼é®ç½©å±ï¼éè¦æå¨å
³éé®ç½©å± | content | |
| | | | closeLoading | å
³éé®ç½©å± | æ | |
| | | |
| | | #### bus - äºä»¶æä»¶ |
| | | |
| | | eventName æ¯äºä»¶åç§°ï¼eventFun æ¯äºä»¶å¤ç彿°ï¼è¯·å°½éé¿å
äºä»¶æä»¶ç使ç¨ï¼è¯·å¨ç»ä»¶éæ¯æ¯è§£ç»ç´ æè¯¥ç»ä»¶æå
³çäºä»¶ï¼é¿å
产ç bugã |
| | | |
| | | | æ¹æ³ | ä½ç¨ | åæ° | |
| | | | ----- | ------------ | ------------------- | |
| | | | $on | ç»å®ä¸ä¸ªäºä»¶ | eventNameãeventFun | |
| | | | $off | è§£ç»ä¸ä¸ªäºä»¶ | eventName | |
| | | | $emit | 触åä¸ä¸ªäºä»¶ | eventNameã...args | |
| | | |
| | | #### socket |
| | | |
| | | 设置项 enableUUIDï¼æ¯å¦å¯ç¨åºäº uuid çæ¶æ¯å¤çæºå¶ï¼è¦æ±å½åéçæ¶æ¯æºå¸¦ uuid åæ®µæ¶ï¼è¿åçæ¶æ¯ä¹è¦æºå¸¦ uuid åæ®µã |
| | | |
| | | 设置项 enableEventï¼æ¯å¦å¯ç¨åºäºäºä»¶çæ¶æ¯å¤çæºå¶ï¼è¦æ±å½å¸æè¢«äºä»¶å¤ç彿°å¤ççæ¶æ¯éè¦æºå¸¦ event åæ®µã |
| | | |
| | | | æ¹æ³ | ä½ç¨ | åæ° | |
| | | | --------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | |
| | | | connect | è¿æ¥ websockeï¼å½è¿æ¥æåå触ååè°å½æ° | æç®åçç¨æ³å°±æ¯ä¼ å
¥{url:"ws://demo"} | |
| | | | send | åéä¿¡æ¯ï¼å½ uuid ä¸ä¸ºç©ºä¸ä¸ä¸º false æ¶ï¼å½æ¶å°æºå¸¦ç¸å uuid çæ¶æ¯æ¶è§¦ååè°å½æ°ï¼åªè§¦å䏿¬¡ãå¦åç±é»è®¤å¤ç彿°å¤çã | msg æ¶æ¯å
容ï¼ä¼è¢«å¤çæ json å符串 uuid å¯ä¸æ è¯ç¬¦ï¼å¯ä»¥æå¨ä¼ å
¥ï¼ä¹å¯ä»¥è®¾ç½®ä¸º true å½ä¸º true æ¶ä¼èªå¨çæä¸ä¸ª uuid å¹¶æ·»å å° msg ä¸ã | |
| | | | close | å
³éè¿æ¥ï¼ä¼è§¦ååè°å½æ°çå
容ï¼ä¸ä¼è§¦åé»è®¤å
³éäºä»¶çå¤ç彿°ï¼ä¹ä¸ä¼ä¿®æ¹é»è®¤å
³éäºä»¶çå¤ç彿°ã | æ | |
| | | | on | çå¬äºä»¶ï¼å½æ¶å°æºå¸¦ event çæ¶æ¯æ¶ä¼è°ç¨åè°å½æ°ã | event äºä»¶çåç§° | |
| | | | off | åæ¶çå¬äºä»¶ | | |
| | | | onMessage | å®ä¹é»è®¤çå¬äºä»¶ | callback é»è®¤çå¬äºä»¶çå¤ç彿° | |
| | | | onError | å®ä¹å¼å¸¸äºä»¶ | callback é»è®¤å¼å¸¸äºä»¶çå¤ç彿° | |
| | | | onClose | å®ä¹å
³éäºä»¶ | callback é»è®¤å
³éäºä»¶çå¤ç彿° | |
| | | |
| | | # ä½è
建议 |
| | | |
| | | ### 对äºéé¡¹å¼ |
| | | |
| | | ```js |
| | | this.$tab; // 建议使ç¨this.$tabè¿è¡é¡µé¢è·³è½¬ï¼çç±ï¼ä¾¿äºå¨è·³è½¬åå¤çå
¶ä»äºå¡ |
| | | this.$auth; // 建议使ç¨this.$authè¿è¡é´ææä½ |
| | | this.$modal; // 建议使ç¨this.$modalæå¼å¼¹çªï¼çç±ï¼ä¾¿äºä»¥åæ³è¦ä½¿ç¨èªå®ä¹å¼¹çª |
| | | ``` |
| | | |
| | | ### 对äºç»åå¼ |
| | | |
| | | ```js |
| | | import tab from "@/plugins/tab"; // 建议使ç¨tabè¿è¡é¡µé¢è·³è½¬ï¼çç±ï¼ä¾¿äºå¨è·³è½¬åå¤çå
¶ä»äºå¡ |
| | | import auth from "@/plugins/auth"; // 建议使ç¨authè¿è¡é´ææä½ |
| | | import modal from "@/plugins/modal"; // 建议使ç¨modalæå¼å¼¹çªï¼çç±ï¼ä¾¿äºä»¥åæ³è¦ä½¿ç¨èªå®ä¹å¼¹çª |
| | | |
| | | // ä¹å¯ä»¥ä½¿ç¨ä¸é¢çæ¹å¼ |
| | | import { tab, auth, modal } from "@/plugins"; |
| | | ``` |
| | | |
| | | ### å¯¹äº ucharts |
| | | |
| | | 建议å³ä¾¿ææ¶ä¸ä½¿ç¨å¾è¡¨ä¹ä¸è¦å é¤å®ï¼ä»¥åå¯è½ä¼ç¨å°ã |
| | | |
| | | # å缩å
å |
| | | |
| | | (主å
æä½ 809kb å·¦å³) |
| | | |
| | | ### å é¤ geek ç»ä»¶ |
| | | |
| | | 1. å é¤ pages_geek å components/geek-xd æä»¶å¤¹ |
| | | 2. å é¤ pages.json ä¸ subPackages ç root å¼ä¸ºâpages_geek/pagesâçé
ç½® |
| | | 3. å é¤ pages/template.config.js ä¸ geek ç»ä»¶ |
| | | |
| | | ### å»é¤æ¨¡æ¿ |
| | | |
| | | ï¼å ç¨ä¸»å
582kb å·¦å³ï¼ |
| | | |
| | | 1. å é¤ pages_templateãpages_qiun 两个æä»¶å¤¹ |
| | | 2. å é¤ pages.json ä¸ subPackages ç root å¼ä¸ºâpages_qiun/pagesâãâpages_template/pagesâç两个é
ç½® |
| | | 3. å é¤ pages/template.config.js å pages/template.vue |
| | | 4. å é¤ pages.json ä¸ subPackages çâtabBarâä¸ç模æ¿ä¸é¡¹åâpagesâ䏿¨¡æ¿çä¸é¡¹ |
| | | 5. å é¤ static ä¸ç uviewï¼éé¢é½æ¯ç¤ºä¾å¾çã |
| | | 6. å é¤ plugins ä¸ç config.js å common.jsï¼å¹¶å¨ plugins/index.js ä¸å é¤ç¸å
³é
ç½® |
| | | |
| | | ### å é¤ uchart |
| | | |
| | | ï¼å ç¨ä¸»å
175kb å·¦å³ï¼ä¸å»ºè®®å é¤ï¼ä»¥é²ä»¥åä¼ç¨ï¼ |
| | | |
| | | 1. å é¤ components/qiun-data-charts æä»¶å¤¹ |
| | | 2. å é¤ pages.json ä¸ç easycom ä¸ç custom ä¸ç"qiun-(.\*)"çé£ä¸è¡ |
| | | 3. å é¤ pages/index ä¸ä½¿ç¨ âqiun-data-chartsâ çé¨å |
| | | |
| | | ### å é¤ uview |
| | | |
| | | ï¼æéå¼å
¥ï¼æ²¡å¿
è¦å é¤ï¼ |
| | | |
| | | 1. main.js æè
main.ts ä¸å é¤ |
| | | |
| | | ```js |
| | | import uviewPlus from "uview-plus"; |
| | | // ...... |
| | | app.use(uviewPlus); |
| | | ``` |
| | | |
| | | 2. uni.scss ä¸å é¤ @import 'uview-plus/theme.scss'; |
| | | 3. App.vue ä¸å é¤ @import '@/static/scss/index.scss'; |
| | | 4. package.json ä¸å é¤ "clipboard": "^2.0.11","dayjs": "^1.11.9","uview-plus": "^3.1.36", |
| | | |
| | | # åè½æ¼ç¤º |
| | | |
| | | <table> |
| | | <tr> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/login.jpg"/></td> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/index.jpg"/></td> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/work.jpg"/></td> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/my.jpg"/></td> |
| | | <td><img src="./doc/image/template1.png" /></td> |
| | | <td><img src="./doc/image/template2.png" /></td> |
| | | </tr> |
| | | <tr> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/notice-m.jpg"/></td> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/notice-e.jpg"/></td> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/prefile.jpg"/></td> |
| | | <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/pwd-reset.jpg"/></td> |
| | | <td><img src="./doc/image/index.png" /></td> |
| | | <td><img src="./doc/image/mallMenu.png"/></td> |
| | | </tr> |
| | | </table> |
| | | <br><br> |
| | | |
| | | ### :lollipop: ææ¯äº¤æµ |
| | | QQ群ï¼860974500 |
| | | # éå½ |
| | | |
| | | <br><br> |
| | | #### 妿è§å¾é¡¹ç®è¿ä¸éï¼ä¸å®è®°å¾ :star: ä¸ä¸ |
| | | #### 妿è§å¾é¡¹ç®è¿ä¸éï¼ä¸å®è®°å¾ :star: ä¸ä¸ |
| | | #### 妿è§å¾é¡¹ç®è¿ä¸éï¼ä¸å®è®°å¾ :star: ä¸ä¸ |
| | | <br><br> |
| | | [Vue3 å®ç½](https://cn.vuejs.org/)ï¼ |
| | | [uniapp å®ç½](https://uniapp.dcloud.net.cn/)ï¼ |
| | | [uView-plus å®ç½](https://uiadmin.net/uview-plus/)ï¼ |
| | | [uCharts å®ç½](https://www.ucharts.cn/v2/#/)ï¼ |
| | | [RuoYi å®ç½](http://ruoyi.vip/)ï¼ |
| | | |
| | | ### :poultry_leg: ç»ä½è
å 个鸡è
¿ |
| | | 妿坹æ¨ç工使å¦ä¹ 产çäºè®¸å¸®å©ï¼å¯ä»¥ç»ä½è
çåé¤å ä¸ä¸ªé¸¡è
¿ :poultry_leg: :poultry_leg: :poultry_leg: ï¼~~ |
| | | <table> |
| | | <tr> |
| | | <td valign="top" width="180"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/wechat_pay.jpg"/></td> |
| | | <td valign="top" width="180"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/ali_pay.jpg"/></td> |
| | | </tr> |
| | | <tr> |
| | | <td valign="top" align="center">微信æå©</td> |
| | | <td valign="top" align="center">æ¯ä»å®æå©</td> |
| | | </tr> |
| | | </table> |
| | | # èç³»æä»¬ï¼ |
| | | |
| | | QQ 交æµç¾¤ï¼744785891 |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8" /> |
| | | <title>Ruoyi-App-Geek</title> |
| | | <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1"> |
| | | <script> |
| | | var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || |
| | | CSS.supports('top: constant(a)')) |
| | |
| | | </head> |
| | | <body> |
| | | <div id="app"><!--app-html--></div> |
| | | <script type="module" src="/main.js"></script> |
| | | <script type="module" src="./src/main.js"></script> |
| | | </body> |
| | | </html> |
| | |
| | | { |
| | | "id": "qian-tree", |
| | | "name": "æ 形鿩å¨å¢å¼ºçï¼æ¯æå¤éãåéãç¶çº§éä¸å级èªå¨éä¸ãæå è½½", |
| | | "version": "1.0.1", |
| | | "description": "æ 形鿩å¨å¢å¼ºçï¼æ¯æå¤éãåéãç¶çº§éæ©ãç¶å级éä¸/åæ¶èå¨ãæå è½½.", |
| | | "keywords": [ |
| | | "tree", |
| | | "æ ", |
| | | "å¤é" |
| | | ], |
| | | "dcloudext": { |
| | | "category": [ |
| | | "å端ç»ä»¶", |
| | | "éç¨ç»ä»¶" |
| | | ] |
| | | } |
| | | } |
| | | "name": "ruoyi-geek-app", |
| | | "version": "1.0.0", |
| | | "description": "è¥ä¾Geek管çç³»ç»", |
| | | "author": "Geek-XD", |
| | | "license": "MIT", |
| | | "homepage": "https://gitee.com/geek-xd", |
| | | "repository": { |
| | | "type": "git", |
| | | "url": "https://gitee.com/geek-xd/ruoyi-geek-app.git" |
| | | }, |
| | | "engines": { |
| | | "node": "^18.0.0 || >=20.0.0" |
| | | }, |
| | | "scripts": { |
| | | "dev:app": "uni -p app", |
| | | "dev:app-android": "uni -p app-android", |
| | | "dev:app-ios": "uni -p app-ios", |
| | | "dev:custom": "uni -p", |
| | | "dev:h5": "uni", |
| | | "dev:h5:ssr": "uni --ssr", |
| | | "dev:mp-alipay": "uni -p mp-alipay", |
| | | "dev:mp-baidu": "uni -p mp-baidu", |
| | | "dev:mp-jd": "uni -p mp-jd", |
| | | "dev:mp-kuaishou": "uni -p mp-kuaishou", |
| | | "dev:mp-lark": "uni -p mp-lark", |
| | | "dev:mp-qq": "uni -p mp-qq", |
| | | "dev:mp-toutiao": "uni -p mp-toutiao", |
| | | "dev:mp-weixin": "uni -p mp-weixin", |
| | | "dev:quickapp-webview": "uni -p quickapp-webview", |
| | | "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei", |
| | | "dev:quickapp-webview-union": "uni -p quickapp-webview-union", |
| | | "build:app": "uni build -p app", |
| | | "build:app-android": "uni build -p app-android", |
| | | "build:app-ios": "uni build -p app-ios", |
| | | "build:custom": "uni build -p", |
| | | "build:h5": "uni build", |
| | | "build:h5:ssr": "uni build --ssr", |
| | | "build:mp-alipay": "uni build -p mp-alipay", |
| | | "build:mp-baidu": "uni build -p mp-baidu", |
| | | "build:mp-jd": "uni build -p mp-jd", |
| | | "build:mp-kuaishou": "uni build -p mp-kuaishou", |
| | | "build:mp-lark": "uni build -p mp-lark", |
| | | "build:mp-qq": "uni build -p mp-qq", |
| | | "build:mp-toutiao": "uni build -p mp-toutiao", |
| | | "build:mp-weixin": "uni build -p mp-weixin", |
| | | "build:quickapp-webview": "uni build -p quickapp-webview", |
| | | "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei", |
| | | "build:quickapp-webview-union": "uni build -p quickapp-webview-union", |
| | | "type-check": "vue-tsc --noEmit", |
| | | "clean:linux": "rm -rf dist || rm -rf node_modules", |
| | | "clean:windows": "rd /s /q dist || rd /s /q node_modules" |
| | | }, |
| | | "dependencies": { |
| | | "@dcloudio/uni-app": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-app-harmony": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-app-plus": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-components": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-h5": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-alipay": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-baidu": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-harmony": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-jd": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-kuaishou": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-lark": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-qq": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-toutiao": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-weixin": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-mp-xhs": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-quickapp-webview": "3.0.0-4060420250429001", |
| | | "@dcloudio/uvm": "^0.3.1", |
| | | "@jridgewell/sourcemap-codec": "^1.5.0", |
| | | "@qiun/wx-ucharts": "2.5.0-20230101", |
| | | "@uview-plus/types": "^3.2.5", |
| | | "clipboard": "^2.0.11", |
| | | "dayjs": "^1.11.13", |
| | | "mqtt": "4.1.0", |
| | | "pinia": "2.2.2", |
| | | "tslib": "^2.7.0", |
| | | "uview-plus": "^3.3.32", |
| | | "vue": "3.4.21", |
| | | "vue-i18n": "^9.14.2" |
| | | }, |
| | | "devDependencies": { |
| | | "@dcloudio/types": "^3.4.14", |
| | | "@dcloudio/uni-automator": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-cli-shared": "3.0.0-4060420250429001", |
| | | "@dcloudio/uni-stacktracey": "3.0.0-4060420250429001", |
| | | "@dcloudio/vite-plugin-uni": "3.0.0-4060420250429001", |
| | | "@vue/runtime-core": "^3.5.12", |
| | | "@vue/tsconfig": "^0.5.1", |
| | | "less": "^4.2.0", |
| | | "sass": "^1.78.0", |
| | | "sass-loader": "^16.0.1", |
| | | "typescript": "^5.6.2", |
| | | "vite": "5.2.8", |
| | | "vue-tsc": "2.1.6" |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <script> |
| | | |
| | | export default { |
| | | onLaunch: function () { |
| | | console.log('App Launch') |
| | | }, |
| | | onShow: function () { |
| | | console.log('App Show') |
| | | }, |
| | | onHide: function () { |
| | | console.log('App Hide') |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import "uview-plus/index.scss"; |
| | | @import '@/static/scss/index.scss'; |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // ç»å½æ¹æ³ |
| | | export function login(username, password, code, uuid) { |
| | | const data = { |
| | | username, |
| | | password, |
| | | code, |
| | | uuid |
| | | } |
| | | return request({ |
| | | url: '/login', |
| | | headers: { |
| | | isToken: false |
| | | }, |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // æ³¨åæ¹æ³ |
| | | export function register(data) { |
| | | return request({ |
| | | url: '/register', |
| | | headers: { |
| | | isToken: false |
| | | }, |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // è·åç¨æ·è¯¦ç»ä¿¡æ¯ |
| | | export function getInfo() { |
| | | return request({ |
| | | url: '/getInfo', |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // éåºæ¹æ³ |
| | | export function logout() { |
| | | return request({ |
| | | url: '/logout', |
| | | method: 'post' |
| | | }) |
| | | } |
| | | |
| | | // è·åéªè¯ç |
| | | export function getCodeImg() { |
| | | return request({ |
| | | url: '/captchaImage', |
| | | headers: { |
| | | isToken: false |
| | | }, |
| | | method: 'get', |
| | | timeout: 20000 |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | /** |
| | | * 微信ç»å½ |
| | | * @param {*} source pub miniapp |
| | | * @param {*} code |
| | | * @returns |
| | | */ |
| | | export function wxLogin(source,code) { |
| | | return request({ |
| | | url: `/oauth/wx/login/${source}/${code}`, |
| | | headers: { |
| | | isToken: false |
| | | }, |
| | | method: 'post', |
| | | }) |
| | | } |
| | | /** |
| | | * 微信ç»å® |
| | | * @param {*} source 微信ç»å® |
| | | * @param {*} code |
| | | * @returns |
| | | */ |
| | | export function wxRegister(source,code) { |
| | | return request({ |
| | | url: `/oauth/wx/register/${source}/${code}`, |
| | | headers: { |
| | | isToken: true |
| | | }, |
| | | method: 'post', |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢åå
¸æ°æ®å表 |
| | | export function listData(query) { |
| | | return request({ |
| | | url: '/system/dict/data/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢åå
¸æ°æ®è¯¦ç» |
| | | export function getData(dictCode) { |
| | | return request({ |
| | | url: '/system/dict/data/' + dictCode, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // æ ¹æ®åå
¸ç±»åæ¥è¯¢åå
¸æ°æ®ä¿¡æ¯ |
| | | export function getDicts(dictType) { |
| | | return request({ |
| | | url: '/system/dict/data/type/' + dictType, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢åå
¸æ°æ® |
| | | export function addData(data) { |
| | | return request({ |
| | | url: '/system/dict/data', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // ä¿®æ¹åå
¸æ°æ® |
| | | export function updateData(data) { |
| | | return request({ |
| | | url: '/system/dict/data', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // å é¤åå
¸æ°æ® |
| | | export function delData(dictCode) { |
| | | return request({ |
| | | url: '/system/dict/data/' + dictCode, |
| | | method: 'delete' |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢åå
¸ç±»åå表 |
| | | export function listType(query) { |
| | | return request({ |
| | | url: '/system/dict/type/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢åå
¸ç±»åè¯¦ç» |
| | | export function getType(dictId) { |
| | | return request({ |
| | | url: '/system/dict/type/' + dictId, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢åå
¸ç±»å |
| | | export function addType(data) { |
| | | return request({ |
| | | url: '/system/dict/type', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // ä¿®æ¹åå
¸ç±»å |
| | | export function updateType(data) { |
| | | return request({ |
| | | url: '/system/dict/type', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // å é¤åå
¸ç±»å |
| | | export function delType(dictId) { |
| | | return request({ |
| | | url: '/system/dict/type/' + dictId, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | // å·æ°åå
¸ç¼å |
| | | export function refreshCache() { |
| | | return request({ |
| | | url: '/system/dict/type/refreshCache', |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | // è·ååå
¸éæ©æ¡å表 |
| | | export function optionselect() { |
| | | return request({ |
| | | url: '/system/dict/type/optionselect', |
| | | method: 'get' |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import upload from '@/utils/upload' |
| | | import request from '@/utils/request' |
| | | |
| | | // ç¨æ·å¯ç éç½® |
| | | export function updateUserPwd(oldPassword, newPassword) { |
| | | const data = { |
| | | oldPassword, |
| | | newPassword |
| | | } |
| | | return request({ |
| | | url: '/system/user/profile/updatePwd', |
| | | method: 'put', |
| | | params: data |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢ç¨æ·ä¸ªäººä¿¡æ¯ |
| | | export function getUserProfile() { |
| | | return request({ |
| | | url: '/system/user/profile', |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // ä¿®æ¹ç¨æ·ä¸ªäººä¿¡æ¯ |
| | | export function updateUserProfile(data) { |
| | | return request({ |
| | | url: '/system/user/profile', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // ç¨æ·å¤´åä¸ä¼ |
| | | export function uploadAvatar(data) { |
| | | return upload({ |
| | | url: '/system/user/profile/avatar', |
| | | name: data.name, |
| | | filePath: data.filePath |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="upload"> |
| | | <view class="imagebox"> |
| | | <view class="imageborder"> |
| | | <view class="main"> |
| | | <slot></slot> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="text"> |
| | | <text>{{ text }}</text> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from 'vue'; |
| | | |
| | | const text = ref("") |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .upload { |
| | | height: 400rpx; |
| | | width: 90%; |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | |
| | | .imagebox { |
| | | height: 80%; |
| | | background-color: #eff8ff; |
| | | align-items: center; |
| | | justify-content: center; |
| | | display: flex; |
| | | |
| | | .imageborder { |
| | | border: 5px #319fea solid; |
| | | position: relative; |
| | | width: 70%; |
| | | height: 80%; |
| | | border-radius: 30rpx; |
| | | |
| | | &::after { |
| | | position: absolute; |
| | | content: ' '; |
| | | background-color: #eff8ff; |
| | | height: 80%; |
| | | width: 120%; |
| | | top: 10%; |
| | | left: -10%; |
| | | } |
| | | |
| | | &::before { |
| | | position: absolute; |
| | | content: ' '; |
| | | background-color: #eff8ff; |
| | | top: -10%; |
| | | left: 10%; |
| | | height: 120%; |
| | | width: 80%; |
| | | } |
| | | |
| | | .main { |
| | | position: absolute; |
| | | background-color: #eff8ff; |
| | | top: 5%; |
| | | left: 5%; |
| | | height: 90%; |
| | | width: 90%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | z-index: 2; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .text { |
| | | height: 20%; |
| | | background-color: #319fea; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | text { |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <script setup lang="ts"> |
| | | import { ref, reactive, watch, nextTick, getCurrentInstance } from 'vue'; |
| | | |
| | | // ç±»åå®ä¹ |
| | | interface RGBAColor { |
| | | r: number; |
| | | g: number; |
| | | b: number; |
| | | a: number; |
| | | } |
| | | |
| | | interface HSBColor { |
| | | h: number; |
| | | s: number; |
| | | b: number; |
| | | } |
| | | |
| | | interface SitePosition { |
| | | top: number; |
| | | left: number; |
| | | } |
| | | |
| | | interface ElementPosition { |
| | | top: number; |
| | | left: number; |
| | | width: number; |
| | | height: number; |
| | | } |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'confirm', data: { rgba: RGBAColor; hex: string }): void; |
| | | }>(); |
| | | |
| | | const instance = getCurrentInstance(); |
| | | |
| | | const props = defineProps({ |
| | | color: { |
| | | type: Object as () => RGBAColor, |
| | | default() { |
| | | return { r: 0, g: 0, b: 0, a: 0 } |
| | | } |
| | | }, |
| | | spareColor: { |
| | | type: Array as () => RGBAColor[], |
| | | default() { |
| | | return [] |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // ååºå¼æ°æ® |
| | | const show = ref<boolean>(false); |
| | | const active = ref<boolean>(false); |
| | | const rgba = reactive<RGBAColor>({ r: 0, g: 0, b: 0, a: 1 }); |
| | | const hsb = reactive<HSBColor>({ h: 0, s: 0, b: 0 }); |
| | | const site = reactive<SitePosition[]>([{ top: 0, left: 0 }, { left: 0, top: 0 }, { left: 0, top: 0 }]); |
| | | const index = ref<number>(0); |
| | | const bgcolor = reactive<RGBAColor>({ r: 255, g: 0, b: 0, a: 1 }); |
| | | const hex = ref<string>('#000000'); |
| | | const mode = ref<boolean>(true); |
| | | const position = ref<ElementPosition[] | null>(null); |
| | | const colorList = ref<RGBAColor[]>([ |
| | | { r: 244, g: 67, b: 54, a: 1 }, |
| | | { r: 233, g: 30, b: 99, a: 1 }, |
| | | { r: 156, g: 39, b: 176, a: 1 }, |
| | | { r: 103, g: 58, b: 183, a: 1 }, |
| | | { r: 63, g: 81, b: 181, a: 1 }, |
| | | { r: 33, g: 150, b: 243, a: 1 }, |
| | | { r: 3, g: 169, b: 244, a: 1 }, |
| | | { r: 0, g: 188, b: 212, a: 1 }, |
| | | { r: 0, g: 150, b: 136, a: 1 }, |
| | | { r: 76, g: 175, b: 80, a: 1 }, |
| | | { r: 139, g: 195, b: 74, a: 1 }, |
| | | { r: 205, g: 220, b: 57, a: 1 }, |
| | | { r: 255, g: 235, b: 59, a: 1 }, |
| | | { r: 255, g: 193, b: 7, a: 1 }, |
| | | { r: 255, g: 152, b: 0, a: 1 }, |
| | | { r: 255, g: 87, b: 34, a: 1 }, |
| | | { r: 121, g: 85, b: 72, a: 1 }, |
| | | { r: 158, g: 158, b: 158, a: 1 }, |
| | | { r: 0, g: 0, b: 0, a: 0.5 }, |
| | | { r: 0, g: 0, b: 0, a: 0 }, |
| | | ]); |
| | | |
| | | // åå§åï¼æ¿ä»£ created é©åï¼ |
| | | Object.assign(rgba, props.color); |
| | | if (props.spareColor.length !== 0) { |
| | | colorList.value = props.spareColor; |
| | | } |
| | | |
| | | /** |
| | | * åå§å |
| | | */ |
| | | const init = (): void => { |
| | | // hsb é¢è² |
| | | Object.assign(hsb, rgbToHsb(rgba)); |
| | | setValue(rgba); |
| | | }; |
| | | |
| | | const moveHandle = (): void => { }; |
| | | |
| | | const open = (): void => { |
| | | show.value = true; |
| | | nextTick(() => { |
| | | init(); |
| | | setTimeout(() => { |
| | | active.value = true; |
| | | setTimeout(() => { |
| | | getSelectorQuery(); |
| | | }, 350) |
| | | }, 50) |
| | | }) |
| | | }; |
| | | |
| | | const close = (): void => { |
| | | active.value = false; |
| | | nextTick(() => { |
| | | setTimeout(() => { |
| | | show.value = false; |
| | | }, 500) |
| | | }) |
| | | }; |
| | | |
| | | const confirm = (): void => { |
| | | close(); |
| | | emit('confirm', { |
| | | rgba: rgba, |
| | | hex: hex.value |
| | | }) |
| | | }; |
| | | |
| | | // éæ©æ¨¡å¼ |
| | | const select = (): void => { |
| | | mode.value = !mode.value |
| | | }; |
| | | |
| | | // 常ç¨é¢è²éæ© |
| | | const selectColor = (item: RGBAColor): void => { |
| | | setColorBySelect(item) |
| | | }; |
| | | |
| | | const touchstart = (e: TouchEvent, idx: number): void => { |
| | | const { pageX, pageY, clientX, clientY } = e.touches[0]; |
| | | setPosition(clientX, clientY, idx); |
| | | }; |
| | | |
| | | const touchmove = (e: TouchEvent, idx: number): void => { |
| | | const { pageX, pageY, clientX, clientY } = e.touches[0]; |
| | | setPosition(clientX, clientY, idx); |
| | | }; |
| | | |
| | | const touchend = (e: TouchEvent, idx: number): void => { |
| | | // å代ç 为空å®ç° |
| | | }; |
| | | |
| | | /** |
| | | * 设置ä½ç½® |
| | | */ |
| | | const setPosition = (x: number, y: number, idx: number): void => { |
| | | index.value = idx; |
| | | if (!position.value || !position.value[idx]) return; |
| | | |
| | | const { |
| | | top, |
| | | left, |
| | | width, |
| | | height |
| | | } = position.value[idx]; |
| | | // 设置æå¤§æå°å¼ |
| | | |
| | | site[idx].left = Math.max(0, Math.min(parseInt(String(x - left)), width)); |
| | | if (idx === 0) { |
| | | site[idx].top = Math.max(0, Math.min(parseInt(String(y - top)), height)); |
| | | // 设置é¢è² |
| | | hsb.s = parseInt(String((100 * site[idx].left) / width)); |
| | | hsb.b = parseInt(String(100 - (100 * (site[idx].top as number)) / height)); |
| | | setColor(); |
| | | setValue(rgba); |
| | | } else { |
| | | setControl(idx, site[idx].left); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 设置 rgb é¢è² |
| | | */ |
| | | const setColor = (): void => { |
| | | const rgb = HSBToRGB(hsb); |
| | | rgba.r = rgb.r; |
| | | rgba.g = rgb.g; |
| | | rgba.b = rgb.b; |
| | | }; |
| | | |
| | | /** |
| | | * 设置äºè¿å¶é¢è² |
| | | * @param {RGBAColor} rgb |
| | | */ |
| | | const setValue = (rgb: RGBAColor): void => { |
| | | hex.value = '#' + rgbToHex(rgb); |
| | | }; |
| | | |
| | | const setControl = (idx: number, x: number): void => { |
| | | if (!position.value || !position.value[idx]) return; |
| | | |
| | | const { |
| | | width |
| | | } = position.value[idx]; |
| | | |
| | | if (idx === 1) { |
| | | hsb.h = parseInt(String((360 * x) / width)); |
| | | const newRgb = HSBToRGB({ |
| | | h: hsb.h, |
| | | s: 100, |
| | | b: 100 |
| | | }); |
| | | bgcolor.r = newRgb.r; |
| | | bgcolor.g = newRgb.g; |
| | | bgcolor.b = newRgb.b; |
| | | setColor(); |
| | | } else { |
| | | rgba.a = parseFloat((x / width).toFixed(1)); |
| | | } |
| | | setValue(rgba); |
| | | }; |
| | | |
| | | /** |
| | | * rgb 转 äºè¿å¶ hex |
| | | * @param {RGBAColor} rgb |
| | | * @returns {string} åå
è¿å¶é¢è²å符串ï¼ä¸å«#ï¼ |
| | | */ |
| | | const rgbToHex = (rgb: RGBAColor): string => { |
| | | let hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)]; |
| | | hex.map(function (str, i) { |
| | | if (str.length == 1) { |
| | | hex[i] = '0' + str; |
| | | } |
| | | }); |
| | | return hex.join(''); |
| | | }; |
| | | |
| | | const setColorBySelect = (getrgb: RGBAColor): void => { |
| | | const { |
| | | r, |
| | | g, |
| | | b, |
| | | a |
| | | } = getrgb; |
| | | |
| | | rgba.r = r ? parseInt(String(r)) : 0; |
| | | rgba.g = g ? parseInt(String(g)) : 0; |
| | | rgba.b = b ? parseInt(String(b)) : 0; |
| | | rgba.a = a ? a : 0; |
| | | |
| | | Object.assign(hsb, rgbToHsb(rgba)); |
| | | changeViewByHsb(); |
| | | }; |
| | | |
| | | const changeViewByHsb = (): void => { |
| | | if (!position.value || position.value.length < 3) return; |
| | | |
| | | const [a, b, c] = position.value; |
| | | site[0].left = parseInt(String(hsb.s * a.width / 100)); |
| | | site[0].top = parseInt(String((100 - hsb.b) * a.height / 100)); |
| | | setColor(); |
| | | setValue(rgba); |
| | | |
| | | const newRgb = HSBToRGB({ |
| | | h: hsb.h, |
| | | s: 100, |
| | | b: 100 |
| | | }); |
| | | bgcolor.r = newRgb.r; |
| | | bgcolor.g = newRgb.g; |
| | | bgcolor.b = newRgb.b; |
| | | |
| | | site[1].left = hsb.h / 360 * b.width; |
| | | site[2].left = rgba.a * c.width; |
| | | }; |
| | | |
| | | /** |
| | | * hsb 转 rgb |
| | | * @param {HSBColor} hsb é¢è²æ¨¡å¼ H(hues)表示è²ç¸ï¼S(saturation)表示饱å度ï¼Bï¼brightnessï¼è¡¨ç¤ºäº®åº¦ |
| | | * @returns {RGBAColor} RGBé¢è²å¯¹è±¡ |
| | | */ |
| | | const HSBToRGB = (hsb: HSBColor): RGBAColor => { |
| | | let rgb: { r: number; g: number; b: number } = { r: 0, g: 0, b: 0 }; |
| | | let h = Math.round(hsb.h); |
| | | let s = Math.round((hsb.s * 255) / 100); |
| | | let v = Math.round((hsb.b * 255) / 100); |
| | | if (s == 0) { |
| | | rgb.r = rgb.g = rgb.b = v; |
| | | } else { |
| | | let t1 = v; |
| | | let t2 = ((255 - s) * v) / 255; |
| | | let t3 = ((t1 - t2) * (h % 60)) / 60; |
| | | if (h == 360) h = 0; |
| | | if (h < 60) { |
| | | rgb.r = t1; |
| | | rgb.b = t2; |
| | | rgb.g = t2 + t3; |
| | | } else if (h < 120) { |
| | | rgb.g = t1; |
| | | rgb.b = t2; |
| | | rgb.r = t1 - t3; |
| | | } else if (h < 180) { |
| | | rgb.g = t1; |
| | | rgb.r = t2; |
| | | rgb.b = t2 + t3; |
| | | } else if (h < 240) { |
| | | rgb.b = t1; |
| | | rgb.r = t2; |
| | | rgb.g = t1 - t3; |
| | | } else if (h < 300) { |
| | | rgb.b = t1; |
| | | rgb.g = t2; |
| | | rgb.r = t2 + t3; |
| | | } else if (h < 360) { |
| | | rgb.r = t1; |
| | | rgb.g = t2; |
| | | rgb.b = t1 - t3; |
| | | } else { |
| | | rgb.r = 0; |
| | | rgb.g = 0; |
| | | rgb.b = 0; |
| | | } |
| | | } |
| | | return { |
| | | r: Math.round(rgb.r), |
| | | g: Math.round(rgb.g), |
| | | b: Math.round(rgb.b), |
| | | a: 1 |
| | | }; |
| | | }; |
| | | |
| | | /** |
| | | * rgb转hsb |
| | | * @param {RGBAColor} rgb RGBé¢è²å¯¹è±¡ |
| | | * @returns {HSBColor} HSBé¢è²å¯¹è±¡ |
| | | */ |
| | | const rgbToHsb = (rgb: RGBAColor): HSBColor => { |
| | | let hsb = { |
| | | h: 0, |
| | | s: 0, |
| | | b: 0 |
| | | }; |
| | | let min = Math.min(rgb.r, rgb.g, rgb.b); |
| | | let max = Math.max(rgb.r, rgb.g, rgb.b); |
| | | let delta = max - min; |
| | | hsb.b = max; |
| | | hsb.s = max != 0 ? 255 * delta / max : 0; |
| | | if (hsb.s != 0) { |
| | | if (rgb.r == max) hsb.h = (rgb.g - rgb.b) / delta; |
| | | else if (rgb.g == max) hsb.h = 2 + (rgb.b - rgb.r) / delta; |
| | | else hsb.h = 4 + (rgb.r - rgb.g) / delta; |
| | | } else hsb.h = -1; |
| | | hsb.h *= 60; |
| | | if (hsb.h < 0) hsb.h = 0; |
| | | hsb.s *= 100 / 255; |
| | | hsb.b *= 100 / 255; |
| | | return hsb; |
| | | }; |
| | | |
| | | const getSelectorQuery = (): void => { |
| | | const views = uni.createSelectorQuery().in(instance!.proxy); |
| | | views.selectAll('.boxs') |
| | | .boundingClientRect(data => { |
| | | if (Array.isArray(data) ? data.length === 0 : !data) { |
| | | setTimeout(() => getSelectorQuery(), 20) |
| | | return |
| | | } |
| | | position.value = data as unknown as ElementPosition[]; |
| | | setColorBySelect(rgba); |
| | | }) |
| | | .exec(); |
| | | }; |
| | | |
| | | // çå¬ props |
| | | watch(() => props.spareColor, (newVal) => { |
| | | colorList.value = newVal; |
| | | }); |
| | | |
| | | // æ´é²ç»ä»¶æ¹æ³ä¾ç¶ç»ä»¶è°ç¨ |
| | | defineExpose({ |
| | | open, |
| | | close, |
| | | confirm |
| | | }); |
| | | </script> |
| | | <template> |
| | | <view v-show="show" class="t-wrapper" @touchmove.stop.prevent="moveHandle"> |
| | | <view class="t-mask" :class="{ active: active }" @click.stop="close"></view> |
| | | <view class="t-box" :class="{ active: active }"> |
| | | <view class="t-header"> |
| | | <view class="t-header-button" @click="close">åæ¶</view> |
| | | <view class="t-header-button confrim" @click="confirm">确认</view> |
| | | </view> |
| | | <view class="t-color__box" |
| | | :style="{ background: 'rgb(' + bgcolor.r + ',' + bgcolor.g + ',' + bgcolor.b + ')' }"> |
| | | <view class="t-background boxs" @touchstart="touchstart($event, 0)" @touchmove="touchmove($event, 0)" |
| | | @touchend="touchend($event, 0)"> |
| | | <view class="t-color-mask"></view> |
| | | <view class="t-pointer" :style="{ |
| | | top: site[0].top - 8 + 'px', |
| | | left: site[0].left - 8 + 'px' |
| | | }"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="t-control__box"> |
| | | <view class="t-control__color"> |
| | | <view class="t-control__color-content" |
| | | :style="{ background: 'rgba(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ',' + rgba.a + ')' }"> |
| | | </view> |
| | | </view> |
| | | <view class="t-control-box__item"> |
| | | <view class="t-controller boxs" @touchstart="touchstart($event, 1)" |
| | | @touchmove="touchmove($event, 1)" @touchend="touchend($event, 1)"> |
| | | <view class="t-hue"> |
| | | <view class="t-circle" :style="{ left: site[1].left - 12 + 'px' }"></view> |
| | | </view> |
| | | </view> |
| | | <view class="t-controller boxs" @touchstart="touchstart($event, 2)" |
| | | @touchmove="touchmove($event, 2)" @touchend="touchend($event, 2)"> |
| | | <view class="t-transparency"> |
| | | <view class="t-circle" :style="{ left: site[2].left - 12 + 'px' }"></view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="t-result__box"> |
| | | <view v-if="mode" class="t-result__item"> |
| | | <view class="t-result__box-input">{{ hex }}</view> |
| | | <view class="t-result__box-text">HEX</view> |
| | | </view> |
| | | <template v-else> |
| | | <view class="t-result__item"> |
| | | <view class="t-result__box-input">{{ rgba.r }}</view> |
| | | <view class="t-result__box-text">R</view> |
| | | </view> |
| | | <view class="t-result__item"> |
| | | <view class="t-result__box-input">{{ rgba.g }}</view> |
| | | <view class="t-result__box-text">G</view> |
| | | </view> |
| | | <view class="t-result__item"> |
| | | <view class="t-result__box-input">{{ rgba.b }}</view> |
| | | <view class="t-result__box-text">B</view> |
| | | </view> |
| | | <view class="t-result__item"> |
| | | <view class="t-result__box-input">{{ rgba.a }}</view> |
| | | <view class="t-result__box-text">A</view> |
| | | </view> |
| | | </template> |
| | | |
| | | <view class="t-result__item t-select" @click="select"> |
| | | <view class="t-result__box-input"> |
| | | <view>忢</view> |
| | | <view>模å¼</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="t-alternative"> |
| | | <view class="t-alternative__item" v-for="(item, index) in colorList" :key="index"> |
| | | <view class="t-alternative__item-content" |
| | | :style="{ background: 'rgba(' + item.r + ',' + item.g + ',' + item.b + ',' + item.a + ')' }" |
| | | @click="selectColor(item)"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <style lang="scss" scoped> |
| | | .t-wrapper { |
| | | position: fixed; |
| | | top: 0; |
| | | bottom: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | z-index: 9999; |
| | | } |
| | | |
| | | .t-box { |
| | | width: 100%; |
| | | position: absolute; |
| | | bottom: 0; |
| | | padding: 30upx 0; |
| | | padding-top: 0; |
| | | background: #fff; |
| | | transition: all 0.3s; |
| | | transform: translateY(100%); |
| | | |
| | | &.active { |
| | | transform: translateY(0%); |
| | | } |
| | | } |
| | | |
| | | .t-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | width: 100%; |
| | | height: 100upx; |
| | | border-bottom: 1px #eee solid; |
| | | box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1); |
| | | background: #fff; |
| | | } |
| | | |
| | | .t-header-button { |
| | | display: flex; |
| | | align-items: center; |
| | | width: 150upx; |
| | | height: 100upx; |
| | | font-size: 30upx; |
| | | color: #666; |
| | | padding-left: 20upx; |
| | | |
| | | &:last-child { |
| | | justify-content: flex-end; |
| | | padding-right: 20upx; |
| | | } |
| | | |
| | | &.confrim { |
| | | color: #007AFF; |
| | | } |
| | | } |
| | | |
| | | .t-mask { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.6); |
| | | z-index: -1; |
| | | transition: all 0.3s; |
| | | opacity: 0; |
| | | |
| | | &.active { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | // é¿å
ä½¿ç¨ &__box åæ³ï¼æ¹ä¸ºå®æ´ç±»å |
| | | .t-color__box { |
| | | position: relative; |
| | | height: 400upx; |
| | | background: rgb(255, 0, 0); |
| | | overflow: hidden; |
| | | box-sizing: border-box; |
| | | margin: 0 20upx; |
| | | margin-top: 20upx; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .t-color-mask { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | width: 100%; |
| | | height: 400upx; |
| | | background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); |
| | | } |
| | | |
| | | .t-background { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); |
| | | } |
| | | |
| | | .t-pointer { |
| | | position: absolute; |
| | | bottom: -8px; |
| | | left: -8px; |
| | | z-index: 2; |
| | | width: 15px; |
| | | height: 15px; |
| | | border: 1px #fff solid; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | .t-show-color { |
| | | width: 100upx; |
| | | height: 50upx; |
| | | } |
| | | |
| | | // é¿å
使ç¨åµå¥æ¹å¼ï¼ä½¿ç¨å®æ´ç±»å |
| | | .t-control__box { |
| | | margin-top: 50upx; |
| | | width: 100%; |
| | | display: flex; |
| | | padding-left: 20upx; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .t-control__color { |
| | | flex-shrink: 0; |
| | | width: 100upx; |
| | | height: 100upx; |
| | | border-radius: 50%; |
| | | background-color: #fff; |
| | | background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee), |
| | | linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee); |
| | | background-size: 36upx 36upx; |
| | | background-position: 0 0, 18upx 18upx; |
| | | border: 1px #eee solid; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .t-control__color-content { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .t-control-box__item { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | width: 100%; |
| | | padding: 0 30upx; |
| | | } |
| | | |
| | | .t-controller { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 16px; |
| | | background-color: #fff; |
| | | background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee), |
| | | linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee); |
| | | background-size: 32upx 32upx; |
| | | background-position: 0 0, 16upx 16upx; |
| | | } |
| | | |
| | | .t-hue { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); |
| | | } |
| | | |
| | | .t-transparency { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0)); |
| | | } |
| | | |
| | | .t-circle { |
| | | position: absolute; |
| | | top: -2px; |
| | | width: 20px; |
| | | height: 20px; |
| | | box-sizing: border-box; |
| | | border-radius: 50%; |
| | | background: #fff; |
| | | box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | // 使ç¨å®æ´çç±»åè䏿¯åµå¥ |
| | | .t-result__box { |
| | | margin-top: 20upx; |
| | | padding: 10upx; |
| | | width: 100%; |
| | | display: flex; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .t-result__item { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: 10upx; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .t-result__box-input { |
| | | padding: 10upx 0; |
| | | width: 100%; |
| | | font-size: 28upx; |
| | | box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); |
| | | color: #999; |
| | | text-align: center; |
| | | background: #fff; |
| | | } |
| | | |
| | | .t-result__box-text { |
| | | margin-top: 10upx; |
| | | font-size: 28upx; |
| | | line-height: 2; |
| | | } |
| | | |
| | | .t-select { |
| | | flex-shrink: 0; |
| | | width: 150upx; |
| | | padding: 0 30upx; |
| | | |
| | | .t-result__box-input { |
| | | border-radius: 10upx; |
| | | border: none; |
| | | color: #999; |
| | | box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.1); |
| | | background: #fff; |
| | | |
| | | &:active { |
| | | box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .t-alternative { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | width: 100%; |
| | | padding-right: 10upx; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .t-alternative__item { |
| | | margin-left: 12upx; |
| | | margin-top: 10upx; |
| | | width: 50upx; |
| | | height: 50upx; |
| | | border-radius: 10upx; |
| | | background-color: #fff; |
| | | background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee), |
| | | linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee); |
| | | background-size: 36upx 36upx; |
| | | background-position: 0 0, 18upx 18upx; |
| | | border: 1px #eee solid; |
| | | overflow: hidden; |
| | | |
| | | &:active { |
| | | transition: all 0.3s; |
| | | transform: scale(1.1); |
| | | } |
| | | } |
| | | |
| | | .t-alternative__item-content { |
| | | width: 50upx; |
| | | height: 50upx; |
| | | background: rgba(255, 0, 0, 0.5); |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <script setup> |
| | | const props = defineProps({ |
| | | img: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | title: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | subTitle: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | price: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | type: { |
| | | type: String, |
| | | default: 'line' // line, rect |
| | | } |
| | | }) |
| | | </script> |
| | | <template> |
| | | <view class="card" :class="type" @click="$emit('click')"> |
| | | <image class="img" :src="img" /> |
| | | <view class="content"> |
| | | <view class="title">{{ title }}</view> |
| | | <view class="subTitle">{{ subTitle }}</view> |
| | | <view class="price">ï¿¥{{ price }}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <style lang="scss" scoped> |
| | | .card { |
| | | padding: 0; |
| | | border-radius: 10px; |
| | | background-color: #ffffff; |
| | | width: 700rpx; |
| | | padding: 20rpx; |
| | | margin: 10rpx; |
| | | position: relative; |
| | | |
| | | .img { |
| | | height: 200rpx; |
| | | width: 200rpx; |
| | | } |
| | | } |
| | | |
| | | .line { |
| | | display: flex; |
| | | |
| | | .content { |
| | | height: 200rpx; |
| | | padding-left: 20rpx; |
| | | |
| | | .title { |
| | | width: 400rpx; |
| | | font-size: 35rpx; |
| | | } |
| | | |
| | | .subTitle { |
| | | width: 400rpx; |
| | | height: 90rpx; |
| | | margin-top: 10rpx; |
| | | font-size: 20rpx; |
| | | color: rgb(87, 87, 87); |
| | | line-height: 30rpx; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 3; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .price { |
| | | font-size: 40rpx; |
| | | color: red; |
| | | width: 400rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .rect { |
| | | border-radius: 10px; |
| | | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
| | | width: 350rpx; |
| | | padding: 0; |
| | | margin: 10rpx; |
| | | display: inline-block; |
| | | |
| | | .img { |
| | | border-radius: 10px 10px 0 0; |
| | | height: 350rpx; |
| | | width: 350rpx; |
| | | } |
| | | |
| | | .content { |
| | | padding: 0 20rpx; |
| | | margin: 0; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | |
| | | .title { |
| | | width: 330rpx; |
| | | font-size: 25rpx; |
| | | } |
| | | |
| | | .subTitle { |
| | | width: 330rpx; |
| | | font-size: 20rpx; |
| | | color: rgb(87, 87, 87); |
| | | } |
| | | |
| | | .price { |
| | | font-size: 30rpx; |
| | | color: red; |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <script setup> |
| | | import { computed } from 'vue'; |
| | | |
| | | const props = defineProps({ |
| | | icon: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | size: { |
| | | type: Number, |
| | | default: 80 |
| | | }, |
| | | label: { |
| | | type: String, |
| | | default: "èå" |
| | | }, |
| | | labelColor: { |
| | | type: String, |
| | | default: '#515151' |
| | | }, |
| | | type: { |
| | | type: String, |
| | | default: 'circle' |
| | | } |
| | | }) |
| | | const menuStyle = computed(() => { |
| | | return { |
| | | width: `${props.size + 40}rpx`, |
| | | height: `${props.size + 40}rpx` |
| | | } |
| | | }) |
| | | const titleStype = computed(() => { |
| | | return { |
| | | width: `${props.size + 40}rpx`, |
| | | color: props.labelColor |
| | | } |
| | | }) |
| | | </script> |
| | | <template> |
| | | <view> |
| | | <view class="menu" :class="type" :style="menuStyle" @click="$emit('click')"> |
| | | <image :src="icon" style="width: 100%;height: 100%"></image> |
| | | </view> |
| | | <view class="title" :style="titleStype">{{ label }}</view> |
| | | </view> |
| | | </template> |
| | | <style lang="scss" scoped> |
| | | .menu { |
| | | padding: 20rpx; |
| | | } |
| | | |
| | | .circle { |
| | | padding: 20rpx; |
| | | border-radius: 100%; |
| | | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
| | | |
| | | &:active { |
| | | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.8); |
| | | } |
| | | } |
| | | |
| | | .rect { |
| | | padding: 15rpx; |
| | | margin-bottom: -15rpx; |
| | | |
| | | &:active { |
| | | opacity: 0.5; |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | text-align: center; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="geek-card" @click="$emit('click')"> |
| | | <view class="geek-header"> |
| | | <view class="geek-shop">{{ shop }} > </view> |
| | | <view class="geek-status">{{ status }}</view> |
| | | </view> |
| | | <view class="geek-content"> |
| | | <image class="geek-img" :src="img"></image> |
| | | <view class="geek-label">{{ label }}</view> |
| | | <view class="geek-sum"> |
| | | <view class="geek-price"> |
| | | <view class="geek-sum-1">ï¿¥{{ number.integerPart }}</view> |
| | | <view class="geek-sum-2">. {{ number.decimalPart }}</view> |
| | | </view> |
| | | <view class="geek-sum-3">å
± {{ num }} ä»¶</view> |
| | | </view> |
| | | </view> |
| | | <view class="geek-footer"> |
| | | <view class="geek-more" @click="$emit('more')">æ´å¤</view> |
| | | <view class="geek-buttonGroup"> |
| | | <view class="geek-btn" @click="$emit('sell')">åäºæ¢é±</view> |
| | | <view class="geek-btn" @click="$emit('return')">鿢/å®å</view> |
| | | <view class="geek-buy" @click="$emit('again')">忬¡è´ä¹°</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script setup> |
| | | import { computed } from 'vue'; |
| | | |
| | | const props = defineProps({ |
| | | shop: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | status: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | img: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | label: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | price: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | num: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | type: { |
| | | type: String, |
| | | default: 'line' |
| | | } |
| | | }) |
| | | |
| | | const number = computed(() => { |
| | | return formatNumber(props.price, 2) |
| | | }) |
| | | |
| | | function formatNumber(num, place) { |
| | | |
| | | let fixedNum = Number(num).toFixed(place); // å°æ°åä¿ç两ä½å°æ° |
| | | let parts = fixedNum.split('.'); // æåæ´æ°é¨ååå°æ°é¨å |
| | | let integerPart = parts[0]; // æ´æ°é¨å |
| | | let decimalPart = parts[1]; // å°æ°é¨å |
| | | |
| | | // 使ç¨padStartæ¹æ³è¡¥0å°å°æ°é¨å |
| | | decimalPart = decimalPart.padStart(place, '0'); |
| | | |
| | | return { |
| | | integerPart, decimalPart |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .geek-card { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | position: relative; |
| | | padding: 20rpx; |
| | | background-color: white; |
| | | border-radius: 20rpx; |
| | | height: 360rpx; |
| | | width: 700rpx; |
| | | margin: 25rpx; |
| | | |
| | | .geek-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | height: 60rpx; |
| | | width: 100%; |
| | | margin-bottom: 6rpx; |
| | | |
| | | .geek-shop { |
| | | font-size: 28rpx; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .geek-status { |
| | | width: 100rpx; |
| | | text-align: center; |
| | | opacity: 0.5; |
| | | font-size: 25rpx; |
| | | text-align: end; |
| | | } |
| | | |
| | | } |
| | | |
| | | .geek-content { |
| | | position: relative; |
| | | height: auto; |
| | | width: 664rpx; |
| | | |
| | | .geek-img { |
| | | border-radius: 30rpx; |
| | | height: 170rpx; |
| | | width: 170rpx; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .geek-label { |
| | | position: absolute; |
| | | top: 40rpx; |
| | | left: 178rpx; |
| | | |
| | | width: 350rpx; |
| | | |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .geek-sum { |
| | | position: absolute; |
| | | top: 44rpx; |
| | | right: 20rpx; |
| | | |
| | | width: 150rpx; |
| | | height: 84rpx; |
| | | |
| | | .geek-price { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | font-weight: bold; |
| | | |
| | | .geek-sum-1 { |
| | | font-size: 32rpx; |
| | | } |
| | | |
| | | .geek-sum-2 { |
| | | padding-top: 20rpx; |
| | | font-size: 20rpx; |
| | | } |
| | | } |
| | | |
| | | |
| | | .geek-sum-3 { |
| | | font-size: 20rpx; |
| | | text-align: end; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .geek-footer { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | height: 60rpx; |
| | | width: 100%; |
| | | font-size: 25rpx; |
| | | |
| | | .geek-more { |
| | | height: 60rpx; |
| | | margin-right: 110rpx; |
| | | text-align: center; |
| | | line-height: 60rpx; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .geek-buttonGroup { |
| | | height: 60rpx; |
| | | display: inline-block; |
| | | |
| | | .geek-btn { |
| | | border: 1rpx solid #E9E9E9; |
| | | width: 140rpx; |
| | | height: 60rpx; |
| | | border-radius: 80rpx; |
| | | opacity: 0.8; |
| | | padding: 10rpx; |
| | | margin-right: 10rpx; |
| | | text-align: center; |
| | | display: inline-block; |
| | | |
| | | } |
| | | |
| | | .geek-buy { |
| | | width: 140rpx; |
| | | height: 60rpx; |
| | | border-radius: 80rpx; |
| | | opacity: 0.8; |
| | | padding: 10rpx; |
| | | text-align: center; |
| | | display: inline-block; |
| | | color: #F25E53; |
| | | border: 1rpx solid #F4DADA; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | # uni-app äºç»´ç çæå¨ |
| | | |
| | | æ¹èªä½è
è¯å°æçtki-qrcodeäºç»´ç çæå¨ |
| | | |
| | | ### ä½è
ï¼è£çå¯ |
| | | |
| | | 1. H5ã微信å°ç¨åºãæ¯ä»å®å°ç¨åºãAPPï¼å
¶å®å¹³å°çå°ç¨åºæ²¡ææµè¯ |
| | | 2. 使ç¨canvasçæ |
| | | 3. å¯è®¾ç½®äºç»´ç èæ¯è²ï¼åæ¯è²ï¼è§æ è² |
| | | 4. å¯è®¾ç½®äºç»´ç logo |
| | | |
| | | ## éè¦çäºæ
说3é éè¦çäºæ
说3é éè¦çäºæ
说3é |
| | | |
| | | 1. IOSãAndroidçæºé½å¯ä»¥æ£å¸¸çæäºç»´ç |
| | | 2. 使ç¨çæ¶ååºç°æ æ³çæäºç»´ç æç©ºç½ç请å
githubç´æ¥æå
ä¸è½½ï¼é®é¢ä¾æ§ï¼è¯·githubä¸ç´æ¥æåºé®é¢å¹¶é
å¾ |
| | | 3. æé®é¢è¯·è¯´æé®é¢åå ï¼è¿æ ·ææå¥½å®ä½ï¼å¦åæä¹æ æ³è§£å³ |
| | | 4. å¦ææ¤æä»¶æå¸®å©å°ä½ 请æ5åæèµèµæï¼ä½ çæ¯ææ¯ææ´æ°çå¨å |
| | | |
| | | + å¾ç1 æ¯å¾®ä¿¡å°ç¨åºçæºå®æµ |
| | | + å¾ç2 æ¯å¾®ä¿¡å°ç¨åºæ¨¡æå®æµ |
| | | + å¾ç3 æ¯æ¯ä»å®å°ç¨åºæ¨¡æå¨å®æµ |
| | | + å¾ç4 æ¯å®åçæºå®æµ |
| | | + å¾ç5 H5 |
| | | |
| | | ### ä½¿ç¨æ¹æ³ |
| | | |
| | | å¨ `template` ä¸ä½¿ç¨ |
| | | |
| | | ```javascript |
| | | <view class="qrimg"> |
| | | <geek-qrcode |
| | | ref="qrcode" |
| | | :cid="cid" |
| | | :val="val" |
| | | :size="size" |
| | | :unit="unit" |
| | | :background="background" |
| | | :foreground="foreground" |
| | | :pdground="pdground" |
| | | :icon="icon" |
| | | :iconSize="iconsize" |
| | | :lv="lv" |
| | | :onval="onval" |
| | | :loadMake="loadMake" |
| | | :usingComponents="usingComponents" |
| | | :showLoading="showLoading" |
| | | :loadingText="loadingText" |
| | | @result="qrR" /> |
| | | </view> |
| | | ``` |
| | | |
| | | ### 屿§ |
| | | |
| | | | 屿§å | ç±»å | é»è®¤å¼ | å¯éå¼ | 说æ | |
| | | | :-------------- | :-----: | :---------------: | :----: | :-------------------------------------------------------------------------------------------------- | |
| | | | cid | String | tki-qrcode-canvas | | canvasIdï¼é¡µé¢åå¨å¤ä¸ªäºç»´ç ç»ä»¶æ¶é设置ä¸åçID | |
| | | | size | Number | 200 | | çæçäºç»´ç å¤§å° | |
| | | | unit | String | upx | px | 大å°åä½å°ºå¯¸ | |
| | | | show | Boolean | true | | é»è®¤ä½¿ç¨ç»ä»¶ä¸çimageæ ç¾æ¾ç¤ºäºç»´ç | |
| | | | val | String | äºç»´ç | | è¦çæçå
容 | |
| | | | background | String | #000000 | | äºç»´ç èæ¯è² | |
| | | | foreground | String | #ffffff | | äºç»´ç åæ¯è² | |
| | | | pdground | String | #ffffff | | äºç»´ç è§æ è² | |
| | | | icon | String | | | äºç»´ç 徿 URLï¼å¿
é¡»æ¯æ¬å°å¾çï¼ç½ç»å¾éè¦å
ä¸è½½è³æ¬å°ï¼ | |
| | | | iconSize | Number | 40 | | äºç»´ç 徿 大å°ï¼æ³¨ææ¤å¤§å°ä¸ä¼è·éäºç»´ç size 卿ååï¼è®¾ç½®æ¶éè¦æ³¨æå¤§å°ï¼ä¸è¦å¤ªå¤§ï¼ä»¥å
æ æ³è¯å«ï¼ | |
| | | | lv | Number | 3 | | 容é级å«ï¼ä¸è¬ä¸ç¨è®¾ç½®ï¼ | |
| | | | onval | Boolean | false | | çå¬valå¼ååèªå¨éæ°çæäºç»´ç | |
| | | | loadMake | Boolean | false | | ç»ä»¶åå§å宿åèªå¨çæäºç»´ç ï¼valéè¦æå¼ | |
| | | | usingComponents | Boolean | true | false | æ¯å¦ä½¿ç¨äºèªå®ä¹ç»ä»¶æ¨¡å¼ï¼ä¸»è¦æ¯ä¸ºäºä¿®å¤éèªå®ä¹ç»ä»¶æ¨¡å¼æ¶ v-if æ æ³çæäºç»´ç çé®é¢ï¼ | |
| | | | showLoading | Boolean | true | false | æ¯å¦æ¾ç¤ºloading | |
| | | | loadingText | String | äºç»´ç çæä¸ | | loadingæå | |
| | | |
| | | ### æ¹æ³ |
| | | |
| | | | æ¹æ³å | åæ° | é»è®¤å¼ | 说æ | |
| | | | :----------- | :--: | :----: | :-------------------------------------------------- | |
| | | | _makeCode() | | | çæäºç»´ç | |
| | | | _clearCode() | | | æ¸
空äºç»´ç ï¼æ¸
空äºç»´ç ä¼è§¦åresultåè° è¿åå¼ä¸ºç©ºï¼ | |
| | | | _saveCode() | | | ä¿åäºç»´ç å°å¾åº | |
| | | |
| | | ### äºä»¶ |
| | | |
| | | | äºä»¶å | è¿åå¼ | 说æ | |
| | | | :----- | :----------------------------: | --------------------------------------: | |
| | | | result | çæçå¾çbase64æå¾ç临æ¶å°å | è¿åäºç»´ç è·¯å¾ æ³¨ï¼_clearCode()åè¿å空 | |
| | | |
| | | ### æè°¢ |
| | | |
| | | [uni-app](https://uniapp.dcloud.io/ "uni-app") |
| | | [qrcode](https://github.com/aralejs/qrcode "qrcode") |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template xlang="wxml" minapp="mpvue"> |
| | | <view class="geek-qrcode"> |
| | | <canvas class="geek-qrcode-canvas" :canvas-id="cid" :style="{width:cpSize+'px',height:cpSize+'px'}" /> |
| | | <image v-show="show" :src="result" :style="{width:cpSize+'px',height:cpSize+'px'}" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import QRCode from "./qrcode.js" |
| | | let qrcode |
| | | export default { |
| | | name: "geek-qrcode", |
| | | props: { |
| | | cid: { |
| | | type: String, |
| | | default: 'geek-qrcode-canvas' |
| | | }, |
| | | size: { |
| | | type: Number, |
| | | default: 200 |
| | | }, |
| | | unit: { |
| | | type: String, |
| | | default: 'upx' |
| | | }, |
| | | show: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | val: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | background: { |
| | | type: String, |
| | | default: '#ffffff' |
| | | }, |
| | | foreground: { |
| | | type: String, |
| | | default: '#000000' |
| | | }, |
| | | pdground: { |
| | | type: String, |
| | | default: '#000000' |
| | | }, |
| | | icon: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | iconSize: { |
| | | type: Number, |
| | | default: 40 |
| | | }, |
| | | lv: { |
| | | type: Number, |
| | | default: 3 |
| | | }, |
| | | onval: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | loadMake: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | usingComponents: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | showLoading: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | loadingText: { |
| | | type: String, |
| | | default: 'äºç»´ç çæä¸' |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | result: '', |
| | | } |
| | | }, |
| | | methods: { |
| | | _makeCode() { |
| | | let that = this |
| | | if (!this._empty(this.val)) { |
| | | qrcode = new QRCode({ |
| | | context: that, // ä¸ä¸æç¯å¢ |
| | | canvasId:that.cid, // canvas-id |
| | | usingComponents: that.usingComponents, // æ¯å¦æ¯èªå®ä¹ç»ä»¶ |
| | | showLoading: that.showLoading, // æ¯å¦æ¾ç¤ºloading |
| | | loadingText: that.loadingText, // loadingæå |
| | | text: that.val, // çæå
容 |
| | | size: that.cpSize, // äºç»´ç å¤§å° |
| | | background: that.background, // èæ¯è² |
| | | foreground: that.foreground, // åæ¯è² |
| | | pdground: that.pdground, // å®ä½è§ç¹é¢è² |
| | | correctLevel: that.lv, // 容éçº§å« |
| | | image: that.icon, // äºç»´ç 徿 |
| | | imageSize: that.iconSize,// äºç»´ç 徿 å¤§å° |
| | | cbResult: function (res) { // çæäºç»´ç çåè° |
| | | that._result(res) |
| | | }, |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: 'äºç»´ç å
容ä¸è½ä¸ºç©º', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | }, |
| | | _clearCode() { |
| | | this._result('') |
| | | qrcode.clear() |
| | | }, |
| | | _saveCode() { |
| | | let that = this; |
| | | if (this.result != "") { |
| | | uni.saveImageToPhotosAlbum({ |
| | | filePath: that.result, |
| | | success: function () { |
| | | uni.showToast({ |
| | | title: 'äºç»´ç ä¿åæå', |
| | | icon: 'success', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | _result(res) { |
| | | this.result = res; |
| | | this.$emit('result', res) |
| | | }, |
| | | _empty(v) { |
| | | let tp = typeof v, |
| | | rt = false; |
| | | if (tp == "number" && String(v) == "") { |
| | | rt = true |
| | | } else if (tp == "undefined") { |
| | | rt = true |
| | | } else if (tp == "object") { |
| | | if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true |
| | | } else if (tp == "string") { |
| | | if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true |
| | | } else if (tp == "function") { |
| | | rt = false |
| | | } |
| | | return rt |
| | | } |
| | | }, |
| | | watch: { |
| | | size: function (n, o) { |
| | | if (n != o && !this._empty(n)) { |
| | | this.cSize = n |
| | | if (!this._empty(this.val)) { |
| | | setTimeout(() => { |
| | | this._makeCode() |
| | | }, 100); |
| | | } |
| | | } |
| | | }, |
| | | val: function (n, o) { |
| | | if (this.onval) { |
| | | if (n != o && !this._empty(n)) { |
| | | setTimeout(() => { |
| | | this._makeCode() |
| | | }, 0); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | cpSize() { |
| | | if(this.unit == "upx"){ |
| | | return uni.upx2px(this.size) |
| | | }else{ |
| | | return this.size |
| | | } |
| | | } |
| | | }, |
| | | mounted: function () { |
| | | if (this.loadMake) { |
| | | if (!this._empty(this.val)) { |
| | | setTimeout(() => { |
| | | this._makeCode() |
| | | }, 0); |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | <style> |
| | | .geek-qrcode { |
| | | position: relative; |
| | | } |
| | | .geek-qrcode-canvas { |
| | | position: fixed; |
| | | top: -99999upx; |
| | | left: -99999upx; |
| | | z-index: -99999; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | let QRCode = {}; |
| | | (function () { |
| | | /** |
| | | * è·åå个å符çutf8ç¼ç |
| | | * unicode BMPå¹³é¢çº¦65535个å符 |
| | | * @param {num} code |
| | | * return {array} |
| | | */ |
| | | function unicodeFormat8(code) { |
| | | // 1 byte |
| | | var c0, c1, c2; |
| | | if (code < 128) { |
| | | return [code]; |
| | | // 2 bytes |
| | | } else if (code < 2048) { |
| | | c0 = 192 + (code >> 6); |
| | | c1 = 128 + (code & 63); |
| | | return [c0, c1]; |
| | | // 3 bytes |
| | | } else { |
| | | c0 = 224 + (code >> 12); |
| | | c1 = 128 + (code >> 6 & 63); |
| | | c2 = 128 + (code & 63); |
| | | return [c0, c1, c2]; |
| | | } |
| | | } |
| | | /** |
| | | * è·åå符串çutf8ç¼ç åè串 |
| | | * @param {string} string |
| | | * @return {array} |
| | | */ |
| | | function getUTF8Bytes(string) { |
| | | var utf8codes = []; |
| | | for (var i = 0; i < string.length; i++) { |
| | | var code = string.charCodeAt(i); |
| | | var utf8 = unicodeFormat8(code); |
| | | for (var j = 0; j < utf8.length; j++) { |
| | | utf8codes.push(utf8[j]); |
| | | } |
| | | } |
| | | return utf8codes; |
| | | } |
| | | /** |
| | | * äºç»´ç ç®æ³å®ç° |
| | | * @param {string} data è¦ç¼ç çä¿¡æ¯å符串 |
| | | * @param {num} errorCorrectLevel çº éç级 |
| | | */ |
| | | function QRCodeAlg(data, errorCorrectLevel) { |
| | | this.typeNumber = -1; //çæ¬ |
| | | this.errorCorrectLevel = errorCorrectLevel; |
| | | this.modules = null; //äºç»´ç©éµï¼åæ¾æç»ç»æ |
| | | this.moduleCount = 0; //ç©éµå¤§å° |
| | | this.dataCache = null; //æ°æ®ç¼å |
| | | this.rsBlocks = null; //çæ¬æ°æ®ä¿¡æ¯ |
| | | this.totalDataCount = -1; //å¯ä½¿ç¨çæ°æ®é |
| | | this.data = data; |
| | | this.utf8bytes = getUTF8Bytes(data); |
| | | this.make(); |
| | | } |
| | | QRCodeAlg.prototype = { |
| | | constructor: QRCodeAlg, |
| | | /** |
| | | * è·åäºç»´ç ç©éµå¤§å° |
| | | * @return {num} ç©éµå¤§å° |
| | | */ |
| | | getModuleCount: function () { |
| | | return this.moduleCount; |
| | | }, |
| | | /** |
| | | * ç¼ç |
| | | */ |
| | | make: function () { |
| | | this.getRightType(); |
| | | this.dataCache = this.createData(); |
| | | this.createQrcode(); |
| | | }, |
| | | /** |
| | | * 设置äºä½ç©éµåè½å¾å½¢ |
| | | * @param {bool} test 表示æ¯å¦å¨å¯»æ¾æå¥½æ©èé¶æ®µ |
| | | * @param {num} maskPattern æ©èççæ¬ |
| | | */ |
| | | makeImpl: function (maskPattern) { |
| | | this.moduleCount = this.typeNumber * 4 + 17; |
| | | this.modules = new Array(this.moduleCount); |
| | | for (var row = 0; row < this.moduleCount; row++) { |
| | | this.modules[row] = new Array(this.moduleCount); |
| | | } |
| | | this.setupPositionProbePattern(0, 0); |
| | | this.setupPositionProbePattern(this.moduleCount - 7, 0); |
| | | this.setupPositionProbePattern(0, this.moduleCount - 7); |
| | | this.setupPositionAdjustPattern(); |
| | | this.setupTimingPattern(); |
| | | this.setupTypeInfo(true, maskPattern); |
| | | if (this.typeNumber >= 7) { |
| | | this.setupTypeNumber(true); |
| | | } |
| | | this.mapData(this.dataCache, maskPattern); |
| | | }, |
| | | /** |
| | | * 设置äºç»´ç çä½ç½®æ¢æµå¾å½¢ |
| | | * @param {num} row æ¢æµå¾å½¢çä¸å¿æ¨ªåæ |
| | | * @param {num} col æ¢æµå¾å½¢çä¸å¿çºµåæ |
| | | */ |
| | | setupPositionProbePattern: function (row, col) { |
| | | for (var r = -1; r <= 7; r++) { |
| | | if (row + r <= -1 || this.moduleCount <= row + r) continue; |
| | | for (var c = -1; c <= 7; c++) { |
| | | if (col + c <= -1 || this.moduleCount <= col + c) continue; |
| | | if ((0 <= r && r <= 6 && (c == 0 || c == 6)) || (0 <= c && c <= 6 && (r == 0 || r == 6)) || (2 <= r && r <= 4 && 2 <= c && c <= 4)) { |
| | | this.modules[row + r][col + c] = true; |
| | | } else { |
| | | this.modules[row + r][col + c] = false; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | /** |
| | | * å建äºç»´ç |
| | | * @return {[type]} [description] |
| | | */ |
| | | createQrcode: function () { |
| | | var minLostPoint = 0; |
| | | var pattern = 0; |
| | | var bestModules = null; |
| | | for (var i = 0; i < 8; i++) { |
| | | this.makeImpl(i); |
| | | var lostPoint = QRUtil.getLostPoint(this); |
| | | if (i == 0 || minLostPoint > lostPoint) { |
| | | minLostPoint = lostPoint; |
| | | pattern = i; |
| | | bestModules = this.modules; |
| | | } |
| | | } |
| | | this.modules = bestModules; |
| | | this.setupTypeInfo(false, pattern); |
| | | if (this.typeNumber >= 7) { |
| | | this.setupTypeNumber(false); |
| | | } |
| | | }, |
| | | /** |
| | | * 设置å®ä½å¾å½¢ |
| | | * @return {[type]} [description] |
| | | */ |
| | | setupTimingPattern: function () { |
| | | for (var r = 8; r < this.moduleCount - 8; r++) { |
| | | if (this.modules[r][6] != null) { |
| | | continue; |
| | | } |
| | | this.modules[r][6] = (r % 2 == 0); |
| | | if (this.modules[6][r] != null) { |
| | | continue; |
| | | } |
| | | this.modules[6][r] = (r % 2 == 0); |
| | | } |
| | | }, |
| | | /** |
| | | * è®¾ç½®ç«æ£å¾å½¢ |
| | | * @return {[type]} [description] |
| | | */ |
| | | setupPositionAdjustPattern: function () { |
| | | var pos = QRUtil.getPatternPosition(this.typeNumber); |
| | | for (var i = 0; i < pos.length; i++) { |
| | | for (var j = 0; j < pos.length; j++) { |
| | | var row = pos[i]; |
| | | var col = pos[j]; |
| | | if (this.modules[row][col] != null) { |
| | | continue; |
| | | } |
| | | for (var r = -2; r <= 2; r++) { |
| | | for (var c = -2; c <= 2; c++) { |
| | | if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) { |
| | | this.modules[row + r][col + c] = true; |
| | | } else { |
| | | this.modules[row + r][col + c] = false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | /** |
| | | * è®¾ç½®çæ¬ä¿¡æ¯ï¼7以ä¸çæ¬ææï¼ |
| | | * @param {bool} test æ¯å¦å¤äºå¤ææä½³æ©èé¶æ®µ |
| | | * @return {[type]} [description] |
| | | */ |
| | | setupTypeNumber: function (test) { |
| | | var bits = QRUtil.getBCHTypeNumber(this.typeNumber); |
| | | for (var i = 0; i < 18; i++) { |
| | | var mod = (!test && ((bits >> i) & 1) == 1); |
| | | this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod; |
| | | this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod; |
| | | } |
| | | }, |
| | | /** |
| | | * è®¾ç½®æ ¼å¼ä¿¡æ¯ï¼çº éççº§åæ©èçæ¬ï¼ |
| | | * @param {bool} test |
| | | * @param {num} maskPattern æ©èçæ¬ |
| | | * @return {} |
| | | */ |
| | | setupTypeInfo: function (test, maskPattern) { |
| | | var data = (QRErrorCorrectLevel[this.errorCorrectLevel] << 3) | maskPattern; |
| | | var bits = QRUtil.getBCHTypeInfo(data); |
| | | // vertical |
| | | for (var i = 0; i < 15; i++) { |
| | | var mod = (!test && ((bits >> i) & 1) == 1); |
| | | if (i < 6) { |
| | | this.modules[i][8] = mod; |
| | | } else if (i < 8) { |
| | | this.modules[i + 1][8] = mod; |
| | | } else { |
| | | this.modules[this.moduleCount - 15 + i][8] = mod; |
| | | } |
| | | // horizontal |
| | | var mod = (!test && ((bits >> i) & 1) == 1); |
| | | if (i < 8) { |
| | | this.modules[8][this.moduleCount - i - 1] = mod; |
| | | } else if (i < 9) { |
| | | this.modules[8][15 - i - 1 + 1] = mod; |
| | | } else { |
| | | this.modules[8][15 - i - 1] = mod; |
| | | } |
| | | } |
| | | // fixed module |
| | | this.modules[this.moduleCount - 8][8] = (!test); |
| | | }, |
| | | /** |
| | | * æ°æ®ç¼ç |
| | | * @return {[type]} [description] |
| | | */ |
| | | createData: function () { |
| | | var buffer = new QRBitBuffer(); |
| | | var lengthBits = this.typeNumber > 9 ? 16 : 8; |
| | | buffer.put(4, 4); //æ·»å æ¨¡å¼ |
| | | buffer.put(this.utf8bytes.length, lengthBits); |
| | | for (var i = 0, l = this.utf8bytes.length; i < l; i++) { |
| | | buffer.put(this.utf8bytes[i], 8); |
| | | } |
| | | if (buffer.length + 4 <= this.totalDataCount * 8) { |
| | | buffer.put(0, 4); |
| | | } |
| | | // padding |
| | | while (buffer.length % 8 != 0) { |
| | | buffer.putBit(false); |
| | | } |
| | | // padding |
| | | while (true) { |
| | | if (buffer.length >= this.totalDataCount * 8) { |
| | | break; |
| | | } |
| | | buffer.put(QRCodeAlg.PAD0, 8); |
| | | if (buffer.length >= this.totalDataCount * 8) { |
| | | break; |
| | | } |
| | | buffer.put(QRCodeAlg.PAD1, 8); |
| | | } |
| | | return this.createBytes(buffer); |
| | | }, |
| | | /** |
| | | * çº éç ç¼ç |
| | | * @param {buffer} buffer æ°æ®ç¼ç |
| | | * @return {[type]} |
| | | */ |
| | | createBytes: function (buffer) { |
| | | var offset = 0; |
| | | var maxDcCount = 0; |
| | | var maxEcCount = 0; |
| | | var length = this.rsBlock.length / 3; |
| | | var rsBlocks = new Array(); |
| | | for (var i = 0; i < length; i++) { |
| | | var count = this.rsBlock[i * 3 + 0]; |
| | | var totalCount = this.rsBlock[i * 3 + 1]; |
| | | var dataCount = this.rsBlock[i * 3 + 2]; |
| | | for (var j = 0; j < count; j++) { |
| | | rsBlocks.push([dataCount, totalCount]); |
| | | } |
| | | } |
| | | var dcdata = new Array(rsBlocks.length); |
| | | var ecdata = new Array(rsBlocks.length); |
| | | for (var r = 0; r < rsBlocks.length; r++) { |
| | | var dcCount = rsBlocks[r][0]; |
| | | var ecCount = rsBlocks[r][1] - dcCount; |
| | | maxDcCount = Math.max(maxDcCount, dcCount); |
| | | maxEcCount = Math.max(maxEcCount, ecCount); |
| | | dcdata[r] = new Array(dcCount); |
| | | for (var i = 0; i < dcdata[r].length; i++) { |
| | | dcdata[r][i] = 0xff & buffer.buffer[i + offset]; |
| | | } |
| | | offset += dcCount; |
| | | var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount); |
| | | var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1); |
| | | var modPoly = rawPoly.mod(rsPoly); |
| | | ecdata[r] = new Array(rsPoly.getLength() - 1); |
| | | for (var i = 0; i < ecdata[r].length; i++) { |
| | | var modIndex = i + modPoly.getLength() - ecdata[r].length; |
| | | ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0; |
| | | } |
| | | } |
| | | var data = new Array(this.totalDataCount); |
| | | var index = 0; |
| | | for (var i = 0; i < maxDcCount; i++) { |
| | | for (var r = 0; r < rsBlocks.length; r++) { |
| | | if (i < dcdata[r].length) { |
| | | data[index++] = dcdata[r][i]; |
| | | } |
| | | } |
| | | } |
| | | for (var i = 0; i < maxEcCount; i++) { |
| | | for (var r = 0; r < rsBlocks.length; r++) { |
| | | if (i < ecdata[r].length) { |
| | | data[index++] = ecdata[r][i]; |
| | | } |
| | | } |
| | | } |
| | | return data; |
| | | |
| | | }, |
| | | /** |
| | | * å¸ç½®æ¨¡åï¼æå»ºæç»ä¿¡æ¯ |
| | | * @param {} data |
| | | * @param {} maskPattern |
| | | * @return {} |
| | | */ |
| | | mapData: function (data, maskPattern) { |
| | | var inc = -1; |
| | | var row = this.moduleCount - 1; |
| | | var bitIndex = 7; |
| | | var byteIndex = 0; |
| | | for (var col = this.moduleCount - 1; col > 0; col -= 2) { |
| | | if (col == 6) col--; |
| | | while (true) { |
| | | for (var c = 0; c < 2; c++) { |
| | | if (this.modules[row][col - c] == null) { |
| | | var dark = false; |
| | | if (byteIndex < data.length) { |
| | | dark = (((data[byteIndex] >>> bitIndex) & 1) == 1); |
| | | } |
| | | var mask = QRUtil.getMask(maskPattern, row, col - c); |
| | | if (mask) { |
| | | dark = !dark; |
| | | } |
| | | this.modules[row][col - c] = dark; |
| | | bitIndex--; |
| | | if (bitIndex == -1) { |
| | | byteIndex++; |
| | | bitIndex = 7; |
| | | } |
| | | } |
| | | } |
| | | row += inc; |
| | | if (row < 0 || this.moduleCount <= row) { |
| | | row -= inc; |
| | | inc = -inc; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * å¡«å
åæ®µ |
| | | */ |
| | | QRCodeAlg.PAD0 = 0xEC; |
| | | QRCodeAlg.PAD1 = 0x11; |
| | | //--------------------------------------------------------------------- |
| | | // çº éç级对åºçç¼ç |
| | | //--------------------------------------------------------------------- |
| | | var QRErrorCorrectLevel = [1, 0, 3, 2]; |
| | | //--------------------------------------------------------------------- |
| | | // æ©èçæ¬ |
| | | //--------------------------------------------------------------------- |
| | | var QRMaskPattern = { |
| | | PATTERN000: 0, |
| | | PATTERN001: 1, |
| | | PATTERN010: 2, |
| | | PATTERN011: 3, |
| | | PATTERN100: 4, |
| | | PATTERN101: 5, |
| | | PATTERN110: 6, |
| | | PATTERN111: 7 |
| | | }; |
| | | //--------------------------------------------------------------------- |
| | | // å·¥å
·ç±» |
| | | //--------------------------------------------------------------------- |
| | | var QRUtil = { |
| | | /* |
| | | æ¯ä¸ªçæ¬ç«æ£å¾å½¢çä½ç½® |
| | | */ |
| | | PATTERN_POSITION_TABLE: [ |
| | | [], |
| | | [6, 18], |
| | | [6, 22], |
| | | [6, 26], |
| | | [6, 30], |
| | | [6, 34], |
| | | [6, 22, 38], |
| | | [6, 24, 42], |
| | | [6, 26, 46], |
| | | [6, 28, 50], |
| | | [6, 30, 54], |
| | | [6, 32, 58], |
| | | [6, 34, 62], |
| | | [6, 26, 46, 66], |
| | | [6, 26, 48, 70], |
| | | [6, 26, 50, 74], |
| | | [6, 30, 54, 78], |
| | | [6, 30, 56, 82], |
| | | [6, 30, 58, 86], |
| | | [6, 34, 62, 90], |
| | | [6, 28, 50, 72, 94], |
| | | [6, 26, 50, 74, 98], |
| | | [6, 30, 54, 78, 102], |
| | | [6, 28, 54, 80, 106], |
| | | [6, 32, 58, 84, 110], |
| | | [6, 30, 58, 86, 114], |
| | | [6, 34, 62, 90, 118], |
| | | [6, 26, 50, 74, 98, 122], |
| | | [6, 30, 54, 78, 102, 126], |
| | | [6, 26, 52, 78, 104, 130], |
| | | [6, 30, 56, 82, 108, 134], |
| | | [6, 34, 60, 86, 112, 138], |
| | | [6, 30, 58, 86, 114, 142], |
| | | [6, 34, 62, 90, 118, 146], |
| | | [6, 30, 54, 78, 102, 126, 150], |
| | | [6, 24, 50, 76, 102, 128, 154], |
| | | [6, 28, 54, 80, 106, 132, 158], |
| | | [6, 32, 58, 84, 110, 136, 162], |
| | | [6, 26, 54, 82, 110, 138, 166], |
| | | [6, 30, 58, 86, 114, 142, 170] |
| | | ], |
| | | G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0), |
| | | G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0), |
| | | G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1), |
| | | /* |
| | | BCHç¼ç æ ¼å¼ä¿¡æ¯ |
| | | */ |
| | | getBCHTypeInfo: function (data) { |
| | | var d = data << 10; |
| | | while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) { |
| | | d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15))); |
| | | } |
| | | return ((data << 10) | d) ^ QRUtil.G15_MASK; |
| | | }, |
| | | /* |
| | | BCHç¼ç çæ¬ä¿¡æ¯ |
| | | */ |
| | | getBCHTypeNumber: function (data) { |
| | | var d = data << 12; |
| | | while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) { |
| | | d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18))); |
| | | } |
| | | return (data << 12) | d; |
| | | }, |
| | | /* |
| | | è·åBCHä½ä¿¡æ¯ |
| | | */ |
| | | getBCHDigit: function (data) { |
| | | var digit = 0; |
| | | while (data != 0) { |
| | | digit++; |
| | | data >>>= 1; |
| | | } |
| | | return digit; |
| | | }, |
| | | /* |
| | | è·åçæ¬å¯¹åºçç«æ£å¾å½¢ä½ç½® |
| | | */ |
| | | getPatternPosition: function (typeNumber) { |
| | | return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]; |
| | | }, |
| | | /* |
| | | æ©èç®æ³ |
| | | */ |
| | | getMask: function (maskPattern, i, j) { |
| | | switch (maskPattern) { |
| | | case QRMaskPattern.PATTERN000: |
| | | return (i + j) % 2 == 0; |
| | | case QRMaskPattern.PATTERN001: |
| | | return i % 2 == 0; |
| | | case QRMaskPattern.PATTERN010: |
| | | return j % 3 == 0; |
| | | case QRMaskPattern.PATTERN011: |
| | | return (i + j) % 3 == 0; |
| | | case QRMaskPattern.PATTERN100: |
| | | return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0; |
| | | case QRMaskPattern.PATTERN101: |
| | | return (i * j) % 2 + (i * j) % 3 == 0; |
| | | case QRMaskPattern.PATTERN110: |
| | | return ((i * j) % 2 + (i * j) % 3) % 2 == 0; |
| | | case QRMaskPattern.PATTERN111: |
| | | return ((i * j) % 3 + (i + j) % 2) % 2 == 0; |
| | | default: |
| | | throw new Error("bad maskPattern:" + maskPattern); |
| | | } |
| | | }, |
| | | /* |
| | | è·åRSççº éå¤é¡¹å¼ |
| | | */ |
| | | getErrorCorrectPolynomial: function (errorCorrectLength) { |
| | | var a = new QRPolynomial([1], 0); |
| | | for (var i = 0; i < errorCorrectLength; i++) { |
| | | a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0)); |
| | | } |
| | | return a; |
| | | }, |
| | | /* |
| | | è·åè¯ä»· |
| | | */ |
| | | getLostPoint: function (qrCode) { |
| | | var moduleCount = qrCode.getModuleCount(), |
| | | lostPoint = 0, |
| | | darkCount = 0; |
| | | for (var row = 0; row < moduleCount; row++) { |
| | | var sameCount = 0; |
| | | var head = qrCode.modules[row][0]; |
| | | for (var col = 0; col < moduleCount; col++) { |
| | | var current = qrCode.modules[row][col]; |
| | | //level 3 è¯ä»· |
| | | if (col < moduleCount - 6) { |
| | | if (current && !qrCode.modules[row][col + 1] && qrCode.modules[row][col + 2] && qrCode.modules[row][col + 3] && qrCode.modules[row][col + 4] && !qrCode.modules[row][col + 5] && qrCode.modules[row][col + 6]) { |
| | | if (col < moduleCount - 10) { |
| | | if (qrCode.modules[row][col + 7] && qrCode.modules[row][col + 8] && qrCode.modules[row][col + 9] && qrCode.modules[row][col + 10]) { |
| | | lostPoint += 40; |
| | | } |
| | | } else if (col > 3) { |
| | | if (qrCode.modules[row][col - 1] && qrCode.modules[row][col - 2] && qrCode.modules[row][col - 3] && qrCode.modules[row][col - 4]) { |
| | | lostPoint += 40; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //level 2 è¯ä»· |
| | | if ((row < moduleCount - 1) && (col < moduleCount - 1)) { |
| | | var count = 0; |
| | | if (current) count++; |
| | | if (qrCode.modules[row + 1][col]) count++; |
| | | if (qrCode.modules[row][col + 1]) count++; |
| | | if (qrCode.modules[row + 1][col + 1]) count++; |
| | | if (count == 0 || count == 4) { |
| | | lostPoint += 3; |
| | | } |
| | | } |
| | | //level 1 è¯ä»· |
| | | if (head ^ current) { |
| | | sameCount++; |
| | | } else { |
| | | head = current; |
| | | if (sameCount >= 5) { |
| | | lostPoint += (3 + sameCount - 5); |
| | | } |
| | | sameCount = 1; |
| | | } |
| | | //level 4 è¯ä»· |
| | | if (current) { |
| | | darkCount++; |
| | | } |
| | | } |
| | | } |
| | | for (var col = 0; col < moduleCount; col++) { |
| | | var sameCount = 0; |
| | | var head = qrCode.modules[0][col]; |
| | | for (var row = 0; row < moduleCount; row++) { |
| | | var current = qrCode.modules[row][col]; |
| | | //level 3 è¯ä»· |
| | | if (row < moduleCount - 6) { |
| | | if (current && !qrCode.modules[row + 1][col] && qrCode.modules[row + 2][col] && qrCode.modules[row + 3][col] && qrCode.modules[row + 4][col] && !qrCode.modules[row + 5][col] && qrCode.modules[row + 6][col]) { |
| | | if (row < moduleCount - 10) { |
| | | if (qrCode.modules[row + 7][col] && qrCode.modules[row + 8][col] && qrCode.modules[row + 9][col] && qrCode.modules[row + 10][col]) { |
| | | lostPoint += 40; |
| | | } |
| | | } else if (row > 3) { |
| | | if (qrCode.modules[row - 1][col] && qrCode.modules[row - 2][col] && qrCode.modules[row - 3][col] && qrCode.modules[row - 4][col]) { |
| | | lostPoint += 40; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //level 1 è¯ä»· |
| | | if (head ^ current) { |
| | | sameCount++; |
| | | } else { |
| | | head = current; |
| | | if (sameCount >= 5) { |
| | | lostPoint += (3 + sameCount - 5); |
| | | } |
| | | sameCount = 1; |
| | | } |
| | | } |
| | | } |
| | | // LEVEL4 |
| | | var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5; |
| | | lostPoint += ratio * 10; |
| | | return lostPoint; |
| | | } |
| | | |
| | | }; |
| | | //--------------------------------------------------------------------- |
| | | // QRMath使ç¨çæ°å¦å·¥å
· |
| | | //--------------------------------------------------------------------- |
| | | var QRMath = { |
| | | /* |
| | | å°n转å为a^m |
| | | */ |
| | | glog: function (n) { |
| | | if (n < 1) { |
| | | throw new Error("glog(" + n + ")"); |
| | | } |
| | | return QRMath.LOG_TABLE[n]; |
| | | }, |
| | | /* |
| | | å°a^m转å为n |
| | | */ |
| | | gexp: function (n) { |
| | | while (n < 0) { |
| | | n += 255; |
| | | } |
| | | while (n >= 256) { |
| | | n -= 255; |
| | | } |
| | | return QRMath.EXP_TABLE[n]; |
| | | }, |
| | | EXP_TABLE: new Array(256), |
| | | LOG_TABLE: new Array(256) |
| | | |
| | | }; |
| | | for (var i = 0; i < 8; i++) { |
| | | QRMath.EXP_TABLE[i] = 1 << i; |
| | | } |
| | | for (var i = 8; i < 256; i++) { |
| | | QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8]; |
| | | } |
| | | for (var i = 0; i < 255; i++) { |
| | | QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i; |
| | | } |
| | | //--------------------------------------------------------------------- |
| | | // QRPolynomial å¤é¡¹å¼ |
| | | //--------------------------------------------------------------------- |
| | | /** |
| | | * å¤é¡¹å¼ç±» |
| | | * @param {Array} num ç³»æ° |
| | | * @param {num} shift a^shift |
| | | */ |
| | | function QRPolynomial(num, shift) { |
| | | if (num.length == undefined) { |
| | | throw new Error(num.length + "/" + shift); |
| | | } |
| | | var offset = 0; |
| | | while (offset < num.length && num[offset] == 0) { |
| | | offset++; |
| | | } |
| | | this.num = new Array(num.length - offset + shift); |
| | | for (var i = 0; i < num.length - offset; i++) { |
| | | this.num[i] = num[i + offset]; |
| | | } |
| | | } |
| | | QRPolynomial.prototype = { |
| | | get: function (index) { |
| | | return this.num[index]; |
| | | }, |
| | | getLength: function () { |
| | | return this.num.length; |
| | | }, |
| | | /** |
| | | * å¤é¡¹å¼ä¹æ³ |
| | | * @param {QRPolynomial} e 被ä¹å¤é¡¹å¼ |
| | | * @return {[type]} [description] |
| | | */ |
| | | multiply: function (e) { |
| | | var num = new Array(this.getLength() + e.getLength() - 1); |
| | | for (var i = 0; i < this.getLength(); i++) { |
| | | for (var j = 0; j < e.getLength(); j++) { |
| | | num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j))); |
| | | } |
| | | } |
| | | return new QRPolynomial(num, 0); |
| | | }, |
| | | /** |
| | | * å¤é¡¹å¼æ¨¡è¿ç® |
| | | * @param {QRPolynomial} e 模å¤é¡¹å¼ |
| | | * @return {} |
| | | */ |
| | | mod: function (e) { |
| | | var tl = this.getLength(), |
| | | el = e.getLength(); |
| | | if (tl - el < 0) { |
| | | return this; |
| | | } |
| | | var num = new Array(tl); |
| | | for (var i = 0; i < tl; i++) { |
| | | num[i] = this.get(i); |
| | | } |
| | | while (num.length >= el) { |
| | | var ratio = QRMath.glog(num[0]) - QRMath.glog(e.get(0)); |
| | | |
| | | for (var i = 0; i < e.getLength(); i++) { |
| | | num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio); |
| | | } |
| | | while (num[0] == 0) { |
| | | num.shift(); |
| | | } |
| | | } |
| | | return new QRPolynomial(num, 0); |
| | | } |
| | | }; |
| | | |
| | | //--------------------------------------------------------------------- |
| | | // RS_BLOCK_TABLE |
| | | //--------------------------------------------------------------------- |
| | | /* |
| | | äºç»´ç åä¸ªçæ¬ä¿¡æ¯[åæ°, æ¯åä¸çæ°æ®åæ°, æ¯åä¸çä¿¡æ¯åæ°] |
| | | */ |
| | | var RS_BLOCK_TABLE = [ |
| | | // L |
| | | // M |
| | | // Q |
| | | // H |
| | | // 1 |
| | | [1, 26, 19], |
| | | [1, 26, 16], |
| | | [1, 26, 13], |
| | | [1, 26, 9], |
| | | |
| | | // 2 |
| | | [1, 44, 34], |
| | | [1, 44, 28], |
| | | [1, 44, 22], |
| | | [1, 44, 16], |
| | | |
| | | // 3 |
| | | [1, 70, 55], |
| | | [1, 70, 44], |
| | | [2, 35, 17], |
| | | [2, 35, 13], |
| | | |
| | | // 4 |
| | | [1, 100, 80], |
| | | [2, 50, 32], |
| | | [2, 50, 24], |
| | | [4, 25, 9], |
| | | |
| | | // 5 |
| | | [1, 134, 108], |
| | | [2, 67, 43], |
| | | [2, 33, 15, 2, 34, 16], |
| | | [2, 33, 11, 2, 34, 12], |
| | | |
| | | // 6 |
| | | [2, 86, 68], |
| | | [4, 43, 27], |
| | | [4, 43, 19], |
| | | [4, 43, 15], |
| | | |
| | | // 7 |
| | | [2, 98, 78], |
| | | [4, 49, 31], |
| | | [2, 32, 14, 4, 33, 15], |
| | | [4, 39, 13, 1, 40, 14], |
| | | |
| | | // 8 |
| | | [2, 121, 97], |
| | | [2, 60, 38, 2, 61, 39], |
| | | [4, 40, 18, 2, 41, 19], |
| | | [4, 40, 14, 2, 41, 15], |
| | | |
| | | // 9 |
| | | [2, 146, 116], |
| | | [3, 58, 36, 2, 59, 37], |
| | | [4, 36, 16, 4, 37, 17], |
| | | [4, 36, 12, 4, 37, 13], |
| | | |
| | | // 10 |
| | | [2, 86, 68, 2, 87, 69], |
| | | [4, 69, 43, 1, 70, 44], |
| | | [6, 43, 19, 2, 44, 20], |
| | | [6, 43, 15, 2, 44, 16], |
| | | |
| | | // 11 |
| | | [4, 101, 81], |
| | | [1, 80, 50, 4, 81, 51], |
| | | [4, 50, 22, 4, 51, 23], |
| | | [3, 36, 12, 8, 37, 13], |
| | | |
| | | // 12 |
| | | [2, 116, 92, 2, 117, 93], |
| | | [6, 58, 36, 2, 59, 37], |
| | | [4, 46, 20, 6, 47, 21], |
| | | [7, 42, 14, 4, 43, 15], |
| | | |
| | | // 13 |
| | | [4, 133, 107], |
| | | [8, 59, 37, 1, 60, 38], |
| | | [8, 44, 20, 4, 45, 21], |
| | | [12, 33, 11, 4, 34, 12], |
| | | |
| | | // 14 |
| | | [3, 145, 115, 1, 146, 116], |
| | | [4, 64, 40, 5, 65, 41], |
| | | [11, 36, 16, 5, 37, 17], |
| | | [11, 36, 12, 5, 37, 13], |
| | | |
| | | // 15 |
| | | [5, 109, 87, 1, 110, 88], |
| | | [5, 65, 41, 5, 66, 42], |
| | | [5, 54, 24, 7, 55, 25], |
| | | [11, 36, 12], |
| | | |
| | | // 16 |
| | | [5, 122, 98, 1, 123, 99], |
| | | [7, 73, 45, 3, 74, 46], |
| | | [15, 43, 19, 2, 44, 20], |
| | | [3, 45, 15, 13, 46, 16], |
| | | |
| | | // 17 |
| | | [1, 135, 107, 5, 136, 108], |
| | | [10, 74, 46, 1, 75, 47], |
| | | [1, 50, 22, 15, 51, 23], |
| | | [2, 42, 14, 17, 43, 15], |
| | | |
| | | // 18 |
| | | [5, 150, 120, 1, 151, 121], |
| | | [9, 69, 43, 4, 70, 44], |
| | | [17, 50, 22, 1, 51, 23], |
| | | [2, 42, 14, 19, 43, 15], |
| | | |
| | | // 19 |
| | | [3, 141, 113, 4, 142, 114], |
| | | [3, 70, 44, 11, 71, 45], |
| | | [17, 47, 21, 4, 48, 22], |
| | | [9, 39, 13, 16, 40, 14], |
| | | |
| | | // 20 |
| | | [3, 135, 107, 5, 136, 108], |
| | | [3, 67, 41, 13, 68, 42], |
| | | [15, 54, 24, 5, 55, 25], |
| | | [15, 43, 15, 10, 44, 16], |
| | | |
| | | // 21 |
| | | [4, 144, 116, 4, 145, 117], |
| | | [17, 68, 42], |
| | | [17, 50, 22, 6, 51, 23], |
| | | [19, 46, 16, 6, 47, 17], |
| | | |
| | | // 22 |
| | | [2, 139, 111, 7, 140, 112], |
| | | [17, 74, 46], |
| | | [7, 54, 24, 16, 55, 25], |
| | | [34, 37, 13], |
| | | |
| | | // 23 |
| | | [4, 151, 121, 5, 152, 122], |
| | | [4, 75, 47, 14, 76, 48], |
| | | [11, 54, 24, 14, 55, 25], |
| | | [16, 45, 15, 14, 46, 16], |
| | | |
| | | // 24 |
| | | [6, 147, 117, 4, 148, 118], |
| | | [6, 73, 45, 14, 74, 46], |
| | | [11, 54, 24, 16, 55, 25], |
| | | [30, 46, 16, 2, 47, 17], |
| | | |
| | | // 25 |
| | | [8, 132, 106, 4, 133, 107], |
| | | [8, 75, 47, 13, 76, 48], |
| | | [7, 54, 24, 22, 55, 25], |
| | | [22, 45, 15, 13, 46, 16], |
| | | |
| | | // 26 |
| | | [10, 142, 114, 2, 143, 115], |
| | | [19, 74, 46, 4, 75, 47], |
| | | [28, 50, 22, 6, 51, 23], |
| | | [33, 46, 16, 4, 47, 17], |
| | | |
| | | // 27 |
| | | [8, 152, 122, 4, 153, 123], |
| | | [22, 73, 45, 3, 74, 46], |
| | | [8, 53, 23, 26, 54, 24], |
| | | [12, 45, 15, 28, 46, 16], |
| | | |
| | | // 28 |
| | | [3, 147, 117, 10, 148, 118], |
| | | [3, 73, 45, 23, 74, 46], |
| | | [4, 54, 24, 31, 55, 25], |
| | | [11, 45, 15, 31, 46, 16], |
| | | |
| | | // 29 |
| | | [7, 146, 116, 7, 147, 117], |
| | | [21, 73, 45, 7, 74, 46], |
| | | [1, 53, 23, 37, 54, 24], |
| | | [19, 45, 15, 26, 46, 16], |
| | | |
| | | // 30 |
| | | [5, 145, 115, 10, 146, 116], |
| | | [19, 75, 47, 10, 76, 48], |
| | | [15, 54, 24, 25, 55, 25], |
| | | [23, 45, 15, 25, 46, 16], |
| | | |
| | | // 31 |
| | | [13, 145, 115, 3, 146, 116], |
| | | [2, 74, 46, 29, 75, 47], |
| | | [42, 54, 24, 1, 55, 25], |
| | | [23, 45, 15, 28, 46, 16], |
| | | |
| | | // 32 |
| | | [17, 145, 115], |
| | | [10, 74, 46, 23, 75, 47], |
| | | [10, 54, 24, 35, 55, 25], |
| | | [19, 45, 15, 35, 46, 16], |
| | | |
| | | // 33 |
| | | [17, 145, 115, 1, 146, 116], |
| | | [14, 74, 46, 21, 75, 47], |
| | | [29, 54, 24, 19, 55, 25], |
| | | [11, 45, 15, 46, 46, 16], |
| | | |
| | | // 34 |
| | | [13, 145, 115, 6, 146, 116], |
| | | [14, 74, 46, 23, 75, 47], |
| | | [44, 54, 24, 7, 55, 25], |
| | | [59, 46, 16, 1, 47, 17], |
| | | |
| | | // 35 |
| | | [12, 151, 121, 7, 152, 122], |
| | | [12, 75, 47, 26, 76, 48], |
| | | [39, 54, 24, 14, 55, 25], |
| | | [22, 45, 15, 41, 46, 16], |
| | | |
| | | // 36 |
| | | [6, 151, 121, 14, 152, 122], |
| | | [6, 75, 47, 34, 76, 48], |
| | | [46, 54, 24, 10, 55, 25], |
| | | [2, 45, 15, 64, 46, 16], |
| | | |
| | | // 37 |
| | | [17, 152, 122, 4, 153, 123], |
| | | [29, 74, 46, 14, 75, 47], |
| | | [49, 54, 24, 10, 55, 25], |
| | | [24, 45, 15, 46, 46, 16], |
| | | |
| | | // 38 |
| | | [4, 152, 122, 18, 153, 123], |
| | | [13, 74, 46, 32, 75, 47], |
| | | [48, 54, 24, 14, 55, 25], |
| | | [42, 45, 15, 32, 46, 16], |
| | | |
| | | // 39 |
| | | [20, 147, 117, 4, 148, 118], |
| | | [40, 75, 47, 7, 76, 48], |
| | | [43, 54, 24, 22, 55, 25], |
| | | [10, 45, 15, 67, 46, 16], |
| | | |
| | | // 40 |
| | | [19, 148, 118, 6, 149, 119], |
| | | [18, 75, 47, 31, 76, 48], |
| | | [34, 54, 24, 34, 55, 25], |
| | | [20, 45, 15, 61, 46, 16] |
| | | ]; |
| | | |
| | | /** |
| | | * æ ¹æ®æ°æ®è·å对åºçæ¬ |
| | | * @return {[type]} [description] |
| | | */ |
| | | QRCodeAlg.prototype.getRightType = function () { |
| | | for (var typeNumber = 1; typeNumber < 41; typeNumber++) { |
| | | var rsBlock = RS_BLOCK_TABLE[(typeNumber - 1) * 4 + this.errorCorrectLevel]; |
| | | if (rsBlock == undefined) { |
| | | throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + this.errorCorrectLevel); |
| | | } |
| | | var length = rsBlock.length / 3; |
| | | var totalDataCount = 0; |
| | | for (var i = 0; i < length; i++) { |
| | | var count = rsBlock[i * 3 + 0]; |
| | | var dataCount = rsBlock[i * 3 + 2]; |
| | | totalDataCount += dataCount * count; |
| | | } |
| | | var lengthBytes = typeNumber > 9 ? 2 : 1; |
| | | if (this.utf8bytes.length + lengthBytes < totalDataCount || typeNumber == 40) { |
| | | this.typeNumber = typeNumber; |
| | | this.rsBlock = rsBlock; |
| | | this.totalDataCount = totalDataCount; |
| | | break; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | //--------------------------------------------------------------------- |
| | | // QRBitBuffer |
| | | //--------------------------------------------------------------------- |
| | | function QRBitBuffer() { |
| | | this.buffer = new Array(); |
| | | this.length = 0; |
| | | } |
| | | QRBitBuffer.prototype = { |
| | | get: function (index) { |
| | | var bufIndex = Math.floor(index / 8); |
| | | return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1); |
| | | }, |
| | | put: function (num, length) { |
| | | for (var i = 0; i < length; i++) { |
| | | this.putBit(((num >>> (length - i - 1)) & 1)); |
| | | } |
| | | }, |
| | | putBit: function (bit) { |
| | | var bufIndex = Math.floor(this.length / 8); |
| | | if (this.buffer.length <= bufIndex) { |
| | | this.buffer.push(0); |
| | | } |
| | | if (bit) { |
| | | this.buffer[bufIndex] |= (0x80 >>> (this.length % 8)); |
| | | } |
| | | this.length++; |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | // xzedit |
| | | let qrcodeAlgObjCache = []; |
| | | /** |
| | | * äºç»´ç æé 彿°ï¼ä¸»è¦ç¨äºç»å¶ |
| | | * @param {åæ°å表} opt ä¼ éåæ° |
| | | * @return {} |
| | | */ |
| | | QRCode = function (opt) { |
| | | //设置é»è®¤åæ° |
| | | this.options = { |
| | | text: '', |
| | | size: 256, |
| | | correctLevel: 3, |
| | | background: '#ffffff', |
| | | foreground: '#000000', |
| | | pdground: '#000000', |
| | | image: '', |
| | | imageSize: 30, |
| | | canvasId: opt.canvasId, |
| | | context: opt.context, |
| | | usingComponents: opt.usingComponents, |
| | | showLoading: opt.showLoading, |
| | | loadingText: opt.loadingText, |
| | | }; |
| | | if (typeof opt === 'string') { // åªç¼ç ASCIIå符串 |
| | | opt = { |
| | | text: opt |
| | | }; |
| | | } |
| | | if (opt) { |
| | | for (var i in opt) { |
| | | this.options[i] = opt[i]; |
| | | } |
| | | } |
| | | //使ç¨QRCodeAlgå建äºç»´ç ç»æ |
| | | var qrCodeAlg = null; |
| | | for (var i = 0, l = qrcodeAlgObjCache.length; i < l; i++) { |
| | | if (qrcodeAlgObjCache[i].text == this.options.text && qrcodeAlgObjCache[i].text.correctLevel == this.options.correctLevel) { |
| | | qrCodeAlg = qrcodeAlgObjCache[i].obj; |
| | | break; |
| | | } |
| | | } |
| | | if (i == l) { |
| | | qrCodeAlg = new QRCodeAlg(this.options.text, this.options.correctLevel); |
| | | qrcodeAlgObjCache.push({ |
| | | text: this.options.text, |
| | | correctLevel: this.options.correctLevel, |
| | | obj: qrCodeAlg |
| | | }); |
| | | } |
| | | /** |
| | | * 计ç®ç©éµç¹çåæ¯è² |
| | | * @param {Obj} config |
| | | * @param {Number} config.row ç¹xåæ |
| | | * @param {Number} config.col ç¹yåæ |
| | | * @param {Number} config.count ç©éµå¤§å° |
| | | * @param {Number} config.options ç»ä»¶çoptions |
| | | * @return {String} |
| | | */ |
| | | let getForeGround = function (config) { |
| | | var options = config.options; |
| | | if (options.pdground && ( |
| | | (config.row > 1 && config.row < 5 && config.col > 1 && config.col < 5) || |
| | | (config.row > (config.count - 6) && config.row < (config.count - 2) && config.col > 1 && config.col < 5) || |
| | | (config.row > 1 && config.row < 5 && config.col > (config.count - 6) && config.col < (config.count - 2)) |
| | | )) { |
| | | return options.pdground; |
| | | } |
| | | return options.foreground; |
| | | } |
| | | // å建canvas |
| | | let createCanvas = function (options) { |
| | | if(options.showLoading){ |
| | | uni.showLoading({ |
| | | title: options.loadingText, |
| | | mask: true |
| | | }); |
| | | } |
| | | var ctx = uni.createCanvasContext(options.canvasId, options.context); |
| | | var count = qrCodeAlg.getModuleCount(); |
| | | var ratioSize = options.size; |
| | | var ratioImgSize = options.imageSize; |
| | | //è®¡ç®æ¯ä¸ªç¹çé¿å®½ |
| | | var tileW = (ratioSize / count).toPrecision(4); |
| | | var tileH = (ratioSize / count).toPrecision(4); |
| | | //ç»å¶ |
| | | for (var row = 0; row < count; row++) { |
| | | for (var col = 0; col < count; col++) { |
| | | var w = (Math.ceil((col + 1) * tileW) - Math.floor(col * tileW)); |
| | | var h = (Math.ceil((row + 1) * tileW) - Math.floor(row * tileW)); |
| | | var foreground = getForeGround({ |
| | | row: row, |
| | | col: col, |
| | | count: count, |
| | | options: options |
| | | }); |
| | | ctx.setFillStyle(qrCodeAlg.modules[row][col] ? foreground : options.background); |
| | | ctx.fillRect(Math.round(col * tileW), Math.round(row * tileH), w, h); |
| | | } |
| | | } |
| | | if (options.image) { |
| | | var x = Number(((ratioSize - ratioImgSize) / 2).toFixed(2)); |
| | | var y = Number(((ratioSize - ratioImgSize) / 2).toFixed(2)); |
| | | drawRoundedRect(ctx, x, y, ratioImgSize, ratioImgSize, 2, 6, true, true) |
| | | ctx.drawImage(options.image, x, y, ratioImgSize, ratioImgSize); |
| | | // ç»åè§ç©å½¢ |
| | | function drawRoundedRect(ctxi, x, y, width, height, r, lineWidth, fill, stroke) { |
| | | ctxi.setLineWidth(lineWidth); |
| | | ctxi.setFillStyle(options.background); |
| | | ctxi.setStrokeStyle(options.background); |
| | | ctxi.beginPath(); // draw top and top right corner |
| | | ctxi.moveTo(x + r, y); |
| | | ctxi.arcTo(x + width, y, x + width, y + r, r); // draw right side and bottom right corner |
| | | ctxi.arcTo(x + width, y + height, x + width - r, y + height, r); // draw bottom and bottom left corner |
| | | ctxi.arcTo(x, y + height, x, y + height - r, r); // draw left and top left corner |
| | | ctxi.arcTo(x, y, x + r, y, r); |
| | | ctxi.closePath(); |
| | | if (fill) { |
| | | ctxi.fill(); |
| | | } |
| | | if (stroke) { |
| | | ctxi.stroke(); |
| | | } |
| | | } |
| | | } |
| | | setTimeout(() => { |
| | | ctx.draw(true, () => { |
| | | // ä¿åå°ä¸´æ¶åºå |
| | | setTimeout(() => { |
| | | uni.canvasToTempFilePath({ |
| | | width: options.width, |
| | | height: options.height, |
| | | destWidth: options.width, |
| | | destHeight: options.height, |
| | | canvasId: options.canvasId, |
| | | quality: Number(1), |
| | | success: function (res) { |
| | | if (options.cbResult) { |
| | | // ç±äºå®æ¹è¿æ²¡æç»ä¸æ¤æ¥å£çè¾åºåæ®µï¼æä»¥å
å¤å®ä¸ æ¯ä»å®ä¸º res.apFilePath |
| | | if (!empty(res.tempFilePath)) { |
| | | options.cbResult(res.tempFilePath) |
| | | } else if (!empty(res.apFilePath)) { |
| | | options.cbResult(res.apFilePath) |
| | | } else { |
| | | options.cbResult(res.tempFilePath) |
| | | } |
| | | } |
| | | }, |
| | | fail: function (res) { |
| | | if (options.cbResult) { |
| | | options.cbResult(res) |
| | | } |
| | | }, |
| | | complete: function () { |
| | | uni.hideLoading(); |
| | | }, |
| | | }, options.context); |
| | | }, options.text.length + 100); |
| | | }); |
| | | }, options.usingComponents ? 0 : 150); |
| | | } |
| | | createCanvas(this.options); |
| | | // 空å¤å® |
| | | let empty = function (v) { |
| | | let tp = typeof v, |
| | | rt = false; |
| | | if (tp == "number" && String(v) == "") { |
| | | rt = true |
| | | } else if (tp == "undefined") { |
| | | rt = true |
| | | } else if (tp == "object") { |
| | | if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true |
| | | } else if (tp == "string") { |
| | | if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true |
| | | } else if (tp == "function") { |
| | | rt = false |
| | | } |
| | | return rt |
| | | } |
| | | }; |
| | | QRCode.prototype.clear = function (fn) { |
| | | var ctx = uni.createCanvasContext(this.options.canvasId, this.options.context) |
| | | ctx.clearRect(0, 0, this.options.size, this.options.size) |
| | | ctx.draw(false, () => { |
| | | if (fn) { |
| | | fn() |
| | | } |
| | | }) |
| | | }; |
| | | })() |
| | | |
| | | export default QRCode |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view :style="labelStyle" class="title">{{ label }}</view> |
| | | <view :style="numberStyle" class="number">{{ formatNumber(number,props.place) }}</view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { computed } from 'vue'; |
| | | |
| | | const props = defineProps({ |
| | | label: { |
| | | type: String, |
| | | default: "è®¢åæ°é" |
| | | }, |
| | | width: { |
| | | type: Number, |
| | | default: 300 |
| | | }, |
| | | labelColor: { |
| | | type: String, |
| | | default: '#white' |
| | | }, |
| | | labelSize: { |
| | | type: Number, |
| | | default: 16 |
| | | }, |
| | | number: { |
| | | type: Number, |
| | | default: 80 |
| | | }, |
| | | numberColor: { |
| | | type: String, |
| | | default: 'red' |
| | | }, |
| | | numberSize: { |
| | | type: Number, |
| | | default: 20 |
| | | }, |
| | | place: { |
| | | type: Number, |
| | | default: 2 |
| | | } |
| | | }) |
| | | const labelStyle = computed(() => { |
| | | return { |
| | | width: `${props.width}rpx`, |
| | | color: props.labelColor, |
| | | fontSize: `${props.labelSize}px` |
| | | } |
| | | }) |
| | | |
| | | const numberStyle = computed(() => { |
| | | return { |
| | | width: `${props.width}rpx`, |
| | | color: props.numberColor, |
| | | fontSize: `${props.numberSize}px` |
| | | } |
| | | }) |
| | | |
| | | function formatNumber(num,place) { |
| | | |
| | | let fixedNum = Number(num).toFixed(place); // å°æ°åä¿ç两ä½å°æ° |
| | | let parts = fixedNum.split('.'); // æåæ´æ°é¨ååå°æ°é¨å |
| | | let integerPart = parts[0]; // æ´æ°é¨å |
| | | let decimalPart = parts[1]; // å°æ°é¨å |
| | | |
| | | // 使ç¨padStartæ¹æ³è¡¥0å°å°æ°é¨å |
| | | decimalPart = decimalPart.padStart(place, '0'); |
| | | |
| | | return integerPart + '.' + decimalPart; |
| | | } |
| | | |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .title { |
| | | text-align: center; |
| | | } |
| | | |
| | | .number { |
| | | text-align: center; |
| | | } |
| | | </style> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export interface Menu { |
| | | icon: string, |
| | | label: string |
| | | } |
| | | |
| | | export interface Commodity { |
| | | img: string, |
| | | title: string, |
| | | subTitle?: string, |
| | | price: number |
| | | } |
| | | |
| | | export interface CommodityOrder extends Commodity { |
| | | shop: string, |
| | | status: string, |
| | | num: number, |
| | | label?:string |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## 2.5.0-20230101ï¼2023-01-01ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®æ¹æ¡ä»¶ç¼è¯é¡ºåºï¼ç¡®ä¿uniappçcliæ¹å¼ç项ç®ä¾èµä¸å®æ´æ¶å¯ä»¥æ£å¸¸æ¾ç¤º |
| | | - ç§äºå¾è¡¨ç»ä»¶ æ¢å¤props屿§directoryç使ç¨ï¼ä»¥ä¿®å¤vue3项ç®ä¸ï¼å¼å¯echartsåï¼echartsç®å½è¯å«é误çbug |
| | | - uCharts.js ä¿®å¤åºåå¾ãæ··åå¾åªæä¸ä¸ªæ°æ®æ¶å¾è¡¨æ¾ç¤ºä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤æçº¿å¾ãåºåå¾ä¸æ¶é´è½´ç±»å«å¾è¡¨tooltipæç¤ºç¹æ¾ç¤ºä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤x轴使ç¨labelCountæ¶ï¼å¹¶ä¸boundaryGap = 'justify' å¹¶ä¸å
³éYè½´æ¾ç¤ºçæ¶åï¼æåä¸ä¸ªåæ å¼ä¸æ¾ç¤ºçbug |
| | | - uCharts.js ä¿®å¤æçº¿å¾åªæä¸ç»æ°æ®æ¶ ios16 渲æé¢è²ä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤ç«ç°å¾å徿¾ç¤ºä¸æ£ç¡®çbug |
| | | - uCharts.js æ±ç¶å¾ã山峰å¾å¢å æ£è´å¾åè½ï¼yè½´ç½æ ¼å¦æéè¦æ¾ç¤º0è½´åç± min max å splitNumber ç¡®å®ï¼åç»çæ¬ä¼åèªå¨æ¾ç¤º0è½´ |
| | | - uCharts.js æ±ç¶å¾columnå¢å opts.extra.column.labelPositionï¼æ°æ®æ ç¾ä½ç½®ï¼ææå¼ä¸º outsideå¤é¨, insideTopå
é¡¶é¨, centerå
ä¸é´, bottomå
åºé¨ |
| | | - uCharts.js é·è¾¾å¾radarå¢å opts.extra.radar.labelShowï¼å¦æ¾ç¤ºå项æ è¯ææ¡æ¯ï¼é»è®¤true |
| | | - uCharts.js æç¤ºçªtooltipå¢å opts.extra.tooltip.boxPaddingï¼æç¤ºçªè¾¹æ¡å¡«å
è·ç¦»ï¼é»è®¤3px |
| | | - uCharts.js æç¤ºçªtooltipå¢å opts.extra.tooltip.fontSizeï¼æç¤ºçªåä½å¤§å°é
ç½®ï¼é»è®¤13px |
| | | - uCharts.js æç¤ºçªtooltipå¢å opts.extra.tooltip.lineHeightï¼æç¤ºçªæåè¡é«ï¼é»è®¤20px |
| | | - uCharts.js æç¤ºçªtooltipå¢å opts.extra.tooltip.legendShowï¼æ¯å¦æ¾ç¤ºå·¦ä¾§å¾ä¾ï¼é»è®¤true |
| | | - uCharts.js æç¤ºçªtooltipå¢å opts.extra.tooltip.legendShapeï¼å¾ä¾å½¢ç¶ï¼å¾ä¾æ è¯æ ·å¼ï¼ææå¼ä¸º autoèªå¨è·éå¾ä¾, diamondâ, circleâ, triangleâ², squareâ , rectâ¬, line- |
| | | - uCharts.js æ 记线markLineå¢å opts.extra.markLine.labelFontSizeï¼åä½å¤§å°é
ç½®ï¼é»è®¤13px |
| | | - uCharts.js æ 记线markLineå¢å opts.extra.markLine.labelPaddingï¼æ ç¾è¾¹æ¡å
å¡«å
è·ç¦»ï¼é»è®¤6px |
| | | - uCharts.js æçº¿å¾lineå¢å opts.extra.line.linearTypeï¼æ¸åè²ç±»åï¼å¯éå¼ noneå
³éæ¸åè²ï¼custom èªå®ä¹æ¸åè²ã使ç¨èªå®ä¹æ¸åè²æ¶è¯·èµå¼serie.linearColorä½ä¸ºé¢è²å¼ |
| | | - uCharts.js æçº¿å¾lineå¢å serie.linearColorï¼æ¸åè²æ°ç»ï¼æ ¼å¼ä¸º2ç»´æ°ç»[èµ·å§ä½ç½®ï¼é¢è²å¼]ï¼ä¾å¦[[0,'#0EE2F8'],[0.3,'#2BDCA8'],[0.6,'#1890FF'],[1,'#9A60B4']] |
| | | - uCharts.js æçº¿å¾lineå¢å opts.extra.line.onShadowï¼æ¯å¦å¼å¯æçº¿é´å½±ï¼å¼å¯å请èµå¼serie.setShadowé´å½±è®¾ç½® |
| | | - uCharts.js æçº¿å¾lineå¢å serie.setShadowï¼é´å½±é
ç½®ï¼æ ¼å¼ä¸º4使°ç»ï¼[offsetX,offsetY,blur,color] |
| | | - uCharts.js æçº¿å¾lineå¢å opts.extra.line.animationï¼å¨ç»æææ¹åï¼å¯éå¼ä¸ºvertical åç´å¨ç»ææï¼horizontal æ°´å¹³å¨ç»ææ |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.lineHeightï¼Xè½´åä½è¡é«ï¼é»è®¤20px |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.marginTopï¼Xè½´æåè·ç¦»è½´çº¿çè·ç¦»ï¼é»è®¤0px |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.titleï¼å½åXè½´æ é¢ |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.titleFontSizeï¼æ é¢åä½å¤§å°ï¼é»è®¤13px |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.titleOffsetYï¼æ é¢çºµååç§»è·ç¦»ï¼è´æ°ä¸ºåä¸åç§»ï¼æ£æ°åä¸åç§» |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.titleOffsetXï¼æ 颿¨ªååç§»è·ç¦»ï¼è´æ°ä¸ºåå·¦åç§»ï¼æ£æ°åå³åç§» |
| | | - uCharts.js Xè½´xAxiså¢å opts.xAxis.titleFontColorï¼æ é¢åä½é¢è²ï¼é»è®¤#666666 |
| | | |
| | | ## æ¥éTypeError: Cannot read properties of undefined (reading 'length') |
| | | - 妿æ¯uni-modulesçæ¬ç»ä»¶ï¼è¯·å
ç»å½HBuilderXè´¦å·ï¼ |
| | | - å¨HBuilderXä¸çmanifest.jsonï¼ç¹å»éæ°è·åuniappçappidï¼æè
å é¤appidéæ°ç²è´´ï¼éæ°è¿è¡ï¼ |
| | | - 妿æ¯cli项ç®è¯·ä½¿ç¨ç äºä¸çéuniCloudçæ¬ç»ä»¶ï¼ |
| | | - æè
æ·»å uniCloudçä¾èµï¼ |
| | | - æè
使ç¨åçuChartsï¼ |
| | | ## 2.4.5-20221130ï¼2022-11-30ï¼ |
| | | - uCharts.js ä¼åtooltip彿åå¾å¤å为左侧æ¾ç¤ºæ¶ï¼å¦æç»å¸ä»æ¾æ¾ç¤ºä¸ä¸ï¼æç¤ºæ¡éä½ç½®å为以左侧0ä½ç½®èµ·ç» |
| | | - uCharts.js æçº¿å¾ä¿®å¤ç¹æ®æ
åµä¸åªæåç¹æ°æ®ï¼å¹¶æ¹å线宽åç¹å为åå½¢çbug |
| | | - uCharts.js ä¿®å¤Yè½´disabledå¯ç¨åæ æå¹¶æ¥éçbug |
| | | - uCharts.js ä¿®å¤ä»ªè¡¨çèµ·å§ç»æè§åº¦ç¹æ®æ
åµä¸æ¾ç¤ºä¸æ£ç¡®çbug |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ° opts.extra.radar.radius , èªå®ä¹é·è¾¾å¾åå¾ |
| | | - uCharts.js æçº¿å¾ãåºåå¾å¢å tooltipæç¤ºç¹ï¼opts.extra.line.activeType/opts.extra.area.activeTypeï¼å¯éå¼"none"ä¸å¯ç¨æ¿æ´»æç¤ºç¹,"hollow"空å¿ç¹æ¨¡å¼,"solid"å®å¿ç¹æ¨¡å¼ |
| | | ## 2.4.4-20221102ï¼2022-11-02ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ä½¿ç¨echartsæ¶reloadãreshowæ æ³è°ç¨éæ°æ¸²æçbugï¼[详è§ç äºPR](https://gitee.com/uCharts/uCharts/pulls/40) |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ä½¿ç¨echartsæ¶ï¼åå§åæ¶å®½é«ä¸æ£ç¡®çbugï¼[详è§ç äºPR](https://gitee.com/uCharts/uCharts/pulls/42) |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤uniappçh5使ç¨historyæ¨¡å¼æ¶ï¼æ æ³å è½½echartsçbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ å°ç¨åºç«¯@completeã@scrollLeftã@scrollRightã@getTouchStartã@getTouchMoveã@getTouchEndäºä»¶å¢å optsåæ°ä¼ åºï¼æ¹ä¾¿ä¸äºç¹æ®éæ±ç交äºè·åæ°æ®ã |
| | | |
| | | - uCharts.js ä¿®å¤calTooltipYAxisDataæ¹æ³å
formatteræ ¼å¼åæ¹æ³æªä¸yè½´æ¹æ³åæ¥çé®é¢ï¼[详è§ç äºPR](https://gitee.com/uCharts/uCharts/pulls/43) |
| | | - uCharts.js å°å¾æ°å¢åæ°opts.series[i].fillOpacityï¼ä»¥éæåº¦æ¹å¼æ¥è®¾ç½®é¢è²è¿åº¦ææï¼[详è§ç äºPR](https://gitee.com/uCharts/uCharts/pulls/38) |
| | | - uCharts.js å°å¾æ°å¢åæ°opts.extra.map.activeï¼æ¯å¦å¯ç¨ç¹å»æ¿æ´»åè² |
| | | - uCharts.js å°å¾æ°å¢åæ°opts.extra.map.activeTextColorï¼æ¯å¦å¯ç¨ç¹å»æ¿æ´»åè² |
| | | - uCharts.js å°å¾æ°å¢æ¸²æå®æäºä»¶renderComplete |
| | | - uCharts.js æ¼æå¾ä¿®å¤å½é¨åæ°æ®ç¸åæ¶tooltipæç¤ºçªç¹å»é误çbug |
| | | - uCharts.js æ¼æå¾æ°å¢åæ°series.data[i].centerText å±
䏿 ç¾ææ¡ |
| | | - uCharts.js æ¼æå¾æ°å¢åæ°series.data[i].centerTextSize å±
䏿 ç¾ææ¡åä½å¤§å°ï¼é»è®¤opts.fontSize |
| | | - uCharts.js æ¼æå¾æ°å¢åæ°series.data[i].centerTextColor å±
䏿 ç¾ææ¡åä½é¢è²ï¼é»è®¤#FFFFFF |
| | | - uCharts.js æ¼æå¾æ°å¢åæ°opts.extra.funnel.minSize æå°å¼çæå°å®½åº¦ï¼é»è®¤0 |
| | | - uCharts.js è¿åº¦æ¡æ°å¢åæ°opts.extra.arcbar.directionï¼å¨ç»æ¹åï¼å¯éå¼ä¸ºcw顺æ¶éãccwéæ¶é |
| | | - uCharts.js æ··å徿°å¢åæ°opts.extra.mix.line.widthï¼æçº¿ç宽度ï¼é»è®¤2 |
| | | - uCharts.js ä¿®å¤tooltipå¼å¯horizentalLineæ°´å¹³æ¨ªçº¿æ æ³¨æ¶ï¼å¾è¡¨æ¾ç¤ºéä½çbug |
| | | - uCharts.js ä¼åtooltip彿åå¾å¤å为左侧æ¾ç¤ºæ¶ï¼å¦æç»å¸ä»æ¾æ¾ç¤ºä¸ä¸ï¼æç¤ºæ¡éä½ç½®å为以左侧0ä½ç½®èµ·ç» |
| | | - uCharts.js ä¿®å¤å¼å¯æ»å¨æ¡åXè½´æåè¶
åºç»å¾åºååçéèé»è¾ |
| | | - uCharts.js æ±ç¶å¾ãæ¡ç¶å¾ä¿®å¤å å æ¨¡å¼ä¸è½éè¿{value,color}èµå¼å个æ±åé¢è²çé®é¢ |
| | | - uCharts.js æ°æ³¡å¾ä¿®å¤ä¸è¯å«series.textSizeåseries.textColorçbug |
| | | |
| | | ## æ¥éTypeError: Cannot read properties of undefined (reading 'length') |
| | | 1. 妿æ¯uni-modulesçæ¬ç»ä»¶ï¼è¯·å
ç»å½HBuilderXè´¦å·ï¼ |
| | | 2. å¨HBuilderXä¸çmanifest.jsonï¼ç¹å»éæ°è·åuniappçappidï¼æè
å é¤appidéæ°ç²è´´ï¼éæ°è¿è¡ï¼ |
| | | 3. 妿æ¯cli项ç®è¯·ä½¿ç¨ç äºä¸çéuniCloudçæ¬ç»ä»¶ï¼ |
| | | 4. æè
æ·»å uniCloudçä¾èµï¼ |
| | | 5. æè
使ç¨åçuChartsï¼ |
| | | ## 2.4.3-20220505ï¼2022-05-05ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤å¼å¯canvas2dåå°seriesèµå¼ä¸ºç©ºæ°ç»æ¾ç¤ºå è½½å¾æ æ¶ï¼å次èµå¼åç»å¸éªå¨çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤å级hbxææ°çåEChartsçhighlightæ¹æ³æ¥éçbug |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.gridEvalï¼æ°æ®ç¹ä½ç½æ ¼æ½å¸ï¼é»è®¤1 |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.axisLabelï¼ æ¯å¦æ¾ç¤ºå»åº¦ç¹å¼ï¼é»è®¤false |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.axisLabelTofixï¼å»åº¦ç¹å¼å°æ°ä½æ°ï¼é»è®¤0 |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.labelPointShowï¼æ¯å¦æ¾ç¤ºæ«ç«¯å»åº¦åç¹ï¼é»è®¤false |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.labelPointRadiusï¼å»åº¦åç¹çåå¾ï¼é»è®¤3 |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.labelPointColorï¼å»åº¦åç¹çé¢è²ï¼é»è®¤#cccccc |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.linearTypeï¼æ¸åè²ç±»åï¼å¯éå¼"none"å
³éæ¸å,"custom"å¼å¯æ¸å |
| | | - uCharts.js é·è¾¾å¾æ°å¢åæ°opts.extra.radar.customColorï¼èªå®ä¹æ¸åé¢è²ï¼æ°ç»ç±»å对åºseriesçæ°ç»é¿åº¦ä»¥å¹é
ä¸åseriesé¢è²çä¸åé
è²æ¹æ¡ï¼ä¾å¦["#FA7D8D", "#EB88E2"] |
| | | - uCharts.js é·è¾¾å¾ä¼åæ¯æseries.textColorãseries.textSize屿§ |
| | | - uCharts.js æ±ç¶å¾ä¸æ¸©åº¦è®¡å¼å¾æ ï¼ä¼åæ¯æå
¨åè§ç±»åï¼ä¿®å¤è¾¹æ¡æç¼éçbugï¼è¯¦è§å®ç½ãæ¼ç¤ºãä¸ç温度计å¾è¡¨ |
| | | - uCharts.js æ±ç¶å¾æ°å¢åæ°opts.extra.column.activeWidthï¼å½åç¹å»æ±ç¶å¾çèæ¯å®½åº¦ï¼é»è®¤ä¸ä¸ªåå
æ ¼åä½ |
| | | - uCharts.js æ··åå¾å¢å opts.extra.mix.area.gradient åºå徿¯å¦å¼å¯æ¸åè² |
| | | - uCharts.js æ··åå¾å¢å opts.extra.mix.area.opacity åºåå¾éæåº¦ï¼é»è®¤0.2 |
| | | - uCharts.js 饼å¾ãåç¯å¾ãç«ç°å¾ãæ¼æå¾ï¼å¢å opts.series[0].data[i].labelTextï¼èªå®ä¹æ ç¾æåï¼é¿å
formatteræ ¼å¼åçç¹çï¼è¯¦è§å®ç½ãæ¼ç¤ºãä¸çé¥¼å¾ |
| | | - uCharts.js 饼å¾ãåç¯å¾ãç«ç°å¾ãæ¼æå¾ï¼å¢å opts.series[0].data[i].labelShowï¼èªå®ä¹æ¯å¦æ¾ç¤ºæä¸ä¸ªæç¤ºæ ç¾ï¼é¿å
å 饼å¾ç±»å«å¤ªå¤å¯¼è´æ ç¾é夿è
å±
å¤å¯¼è´å¾å½¢åå½¢çé®é¢ï¼è¯¦è§å®ç½ãæ¼ç¤ºãä¸çé¥¼å¾ |
| | | - uCharts.js å¢å opts.series[i].legendText/opts.series[0].data[i].legendTextï¼ä¸series.nameå级ï¼èªå®ä¹å¾ä¾æ¾ç¤ºæåçæ¹æ³ |
| | | - uCharts.js ä¼åXè½´ãYè½´formatteræ ¼å¼åæ¹æ³å¢å å½¢åï¼ç»ä¸ä¸ºfromatter:function(value,index,opts){} |
| | | - uCharts.js ä¿®å¤æ¨ªå±æ¨¡å¼ä¸æ æ³ä½¿ç¨åæç¼©æ¾æ¹æ³çbug |
| | | - uCharts.js ä¿®å¤å½åªæä¸æ¡æ°æ®æè
夿¡æ°æ®å¼ç¸ççæ¶åYè½´èªå¨è®¡ç®çæå¤§å¼é误çbug |
| | | - ãå®ç½æ¨¡æ¿ãå¢å å¤é¨èªå®ä¹å¾ä¾ä¸å¾è¡¨äº¤äºçä¾åï¼[ç¹å»è·³è½¬](https://www.ucharts.cn/v2/#/layout/info?id=2) |
| | | |
| | | ## 注æï¼éunimodules çæ¬å¦å æ´æ° hbx è³ 3.4.7 å¯¼è´æ¥éå¦ä¸ï¼è¯·å°ç äºæ´æ°é unimodules çæ¬ç»ä»¶ï¼[ç¹å»è·³è½¬](https://gitee.com/uCharts/uCharts/tree/master/uni-app/uCharts-%E7%BB%84%E4%BB%B6) |
| | | > Error in callback for immediate watcher "uchartsOpts": "SyntaxError: Unexpected token u in JSON at position 0" |
| | | ## 2.4.2-20220421ï¼2022-04-21ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤HBXå级3.4.6.20220420çæ¬åechartsæ¥éçé®é¢ |
| | | ## 2.4.2-20220420ï¼2022-04-20ï¼ |
| | | ## éè¦ï¼æ¤çæ¬uChartsæ°å¢äºå¾å¤åè½ï¼ä¿®å¤äºè¯¸å¤å·²ç¥é®é¢ |
| | | - ç§äºå¾è¡¨ç»ä»¶ æ°å¢onzoomå¼å¯åæç¼©æ¾åè½ï¼ä»
uChartsï¼ï¼åæéè¦ç´è§åæ 系类å¾è¡¨ç±»åï¼å¹¶ä¸ontouch为trueãopts.enableScroll为trueï¼è¯¦è§å®ä¾é¡¹ç®Kçº¿å¾ |
| | | - ç§äºå¾è¡¨ç»ä»¶ æ°å¢optsWatchæ¯å¦çå¬optsååï¼å
³éoptsWatchåï¼å¨æä¿®æ¹optsä¸ä¼è§¦åå¾è¡¨éç» |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤å¼å¯canvas2dåè½åï¼å¨ææ´æ°æ°æ®åç»å¸éªå¨çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ å»é¤directory屿§ï¼æ¹ä¸ºèªå¨è·åecharts.min.jsè·¯å¾ï¼å级ä¸åå½±åï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ å¢å getImage()æ¹æ³å@getImageäºä»¶ï¼éè¿refè°ç¨getImage()æ¹æ³è·ï¼è§¦å@getImageäºä»¶è·åå½åç»å¸çbase64å¾çæä»¶æµã |
| | | - ç§äºå¾è¡¨ç»ä»¶ æ¯ä»å®ãåèè·³å¨ãé£ä¹¦ãå¿«æå°ç¨åºæ¯æå¼å¯canvas2då屿¸²æè®¾ç½®ã |
| | | - ç§äºå¾è¡¨ç»ä»¶ æ°å¢å ãéuniCloudãçæ¬ç»ä»¶ï¼é¿å
æäºä¸éè¦uniCloudç使ç¨ç»ä»¶åå¸è³å°ç¨åºéè¦æäº¤éç§å£°æé®é¢ï¼è¯·å°ç äº[ãéuniCloudçæ¬ã](https://gitee.com/uCharts/uCharts/tree/master/uni-app/uCharts-%E7%BB%84%E4%BB%B6)ï¼ænpm[ãéuniCloudçæ¬ã](https://www.npmjs.com/package/@qiun/uni-ucharts)ä¸è½½ä½¿ç¨ã |
| | | - uCharts.js æ°å¢dobuleZoomåæç¼©æ¾åè½ |
| | | - uCharts.js æ°å¢å±±å³°å¾type="mount"ï¼æ°æ®æ ¼å¼ä¸ºé¥¼å¾ç±»æ ¼å¼ï¼ä¸éè¦ä¼ å
¥categoriesï¼å
·ä½è¯¦è§æ°çå®ç½å¨çº¿æ¼ç¤º |
| | | - uCharts.js ä¿®å¤æçº¿å¾å½æ°æ®ä¸åå¨nullæ¶tooltipæ¥éçbug |
| | | - uCharts.js ä¿®å¤é¥¼å¾ç±»å½ç»å¸æ¯è¾å°æ¶èªå¨è®¡ç®çå徿¯è´æ°æ¥éçbug |
| | | - uCharts.js ç»ä¸åå¾è¡¨ç±»åçseries.formatteræ ¼å¼åæ¹æ³çå½¢å为(val, index, series, opts)ï¼æ¹ä¾¿æ ¼å¼åæ¶ææ´å¤åæ°å¯ç¨ |
| | | - uCharts.js æ 记线åè½å¢å labelTextèªå®ä¹æ¾ç¤ºæåï¼å¢å labelAlignæ ç¾æ¾ç¤ºä½ç½®ï¼å·¦ä¾§æå³ä¾§ï¼ï¼å¢å æ ç¾æ¾ç¤ºä½ç½®å¾®è°labelOffsetXãlabelOffsetY |
| | | - uCharts.js ä¿®å¤æ¡ç¶å¾å½æ°å¼å¾å°æ¶å¼å¯åè§åæ ·å¼é误çbug |
| | | - uCharts.js ä¿®å¤Xè½´å¼å¯disabledåï¼Xè½´ä»å ç¨ç©ºé´çbug |
| | | - uCharts.js ä¿®å¤Xè½´å¼å¯æ»å¨æ¡å¹¶ä¸å¼å¯rotateLabelåï¼Xè½´æå䏿»å¨æ¡éå çbug |
| | | - uCharts.js å¢å Xè½´rotateAngleæåæè½¬èªå®ä¹è§åº¦ï¼åå¼èå´(-90è³90) |
| | | - uCharts.js ä¿®å¤å°å¾æåæ ç¾å±çº§æ¾ç¤ºä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤é¥¼å¾ãåç¯å¾ãç«ç°å¾å½æ°æ®å
¨é¨ä¸º0çæ¶å䏿¾ç¤ºæ°æ®æ ç¾çbug |
| | | - uCharts.js ä¿®å¤å½opts.paddingä¸è¾¹è·ä¸º0æ¶ï¼Yè½´é¡¶é¨å»åº¦æ ç¾ä½ç½®ä¸æ£ç¡®çbug |
| | | |
| | | ## å¦å¤æä»¬è¿å¼åäºå大åçå°ç¨åºç»ä»¶ï¼å·²åå¸è³ç äºånpm |
| | | [https://gitee.com/uCharts/uCharts](https://gitee.com/uCharts/uCharts) |
| | | [https://www.npmjs.com/~qiun](https://www.npmjs.com/~qiun) |
| | | |
| | | ## 对äºåçuChartsææ¡£æä»¬å·²ä¸çº¿æ°ç宿¹ç½ç«ï¼è¯¦æ
ç¹å»ä¸é¢é¾æ¥è¿å
¥å®ç½ |
| | | [https://www.uCharts.cn/v2/](https://www.ucharts.cn/v2/) |
| | | ## 2.3.7-20220122ï¼2022-01-22ï¼ |
| | | ## éè¦ï¼ä½¿ç¨vue3ç¼è¯ï¼è¯·ä½¿ç¨cli模å¼å¹¶åçº§è³ææ°ä¾èµï¼HbuilderXç¼è¯éè¦ä½¿ç¨3.3.8以ä¸çæ¬ |
| | | - uCharts.js ä¿®å¤uni-appå¹³å°ç»ä»¶æ¨¡å¼ä½¿ç¨vue3ç¼è¯å°å°ç¨åºæ¥éçbugã |
| | | ## 2.3.7-20220118ï¼2022-01-18ï¼ |
| | | ## 注æï¼ä½¿ç¨vue3çåææ¯éè¦3.3.8.20220114-alphaçæ¬çHBuilderï¼ |
| | | ## 2.3.67-20220118ï¼2022-01-18ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ç»ä»¶åæ¥æ¯ævue3ï¼å
¨ç«¯ç¼è¯ä¼æäºé®é¢ï¼å
·ä½è¯¦è§ä¸é¢ä¿®æ¹ï¼ |
| | | 1. å°ç¨åºç«¯è¿è¡æ¶ï¼å¨uni_modulesæä»¶å¤¹çqiun-data-charts.jsä¸æç´¢ new uni_modules_qiunDataCharts_js_sdk_uCharts_uCharts.uChartsï¼å°.uCharts廿ã |
| | | 2. å°ç¨åºç«¯åè¡æ¶ï¼å¨uni_modulesæä»¶å¤¹çqiun-data-charts.jsä¸æç´¢ new e.uChartsï¼å°.uCharts廿ï¼å为 new eã |
| | | 3. 妿è§å¾ä¸è¿°æ¥éª¤æ¯è¾éº»ç¦ï¼å¦ææ¨ç项ç®åªç¼è¯å°å°ç¨åºç«¯ï¼å¯ä»¥ä¿®æ¹u-charts.jsæåä¸è¡å¯¼åºæ¹å¼ï¼å° export default uCharts;åæ´ä¸º export default { uCharts: uCharts }; è¿æ ·åæ´åï¼H5åApp端çrenderjs伿é®é¢ï¼è¯·å¼åè
èªè¡éæ©ãï¼æ¤é®é¢éç»ä»¶é®é¢ï¼è¯·çå¾
DC宿¹ä¿®å¤Vue3çå°ç¨åºç«¯ï¼ |
| | | ## 2.3.6-20220111ï¼2022-01-11ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®æ¹ç»ä»¶ props 屿§ä¸ç background é»è®¤å¼ä¸º rgba(0,0,0,0) |
| | | ## 2.3.6-20211201ï¼2021-12-01ï¼ |
| | | - uCharts.js ä¿®å¤baræ¡ç¶å¾å¼å¯åè§æ¨¡å¼æ¶ï¼å¼å¾å°æ¶åè§æ¸²æé误çbug |
| | | ## 2.3.5-20211014ï¼2021-10-15ï¼ |
| | | - uCharts.js å¢å vue3çç¼è¯æ¯æï¼ä»
åçuChartsï¼qiun-data-chartsç»ä»¶åç»ä¼æ¯æï¼è¯·å
³æ³¨æ´æ°ï¼ |
| | | ## 2.3.4-20211012ï¼2021-10-12ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ mac os x ç³»ç» mouseover äºä»¶ä¸¢å¤±ç bug |
| | | ## 2.3.3-20210706ï¼2021-07-06ï¼ |
| | | - uCharts.js å¢å é·è¾¾å¾å¼å¯æ°æ®ç¹å¼ï¼opts.dataLabelï¼çæ¾ç¤º |
| | | ## 2.3.2-20210627ï¼2021-06-27ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤tooltipCustomä¸ªå«æ
åµä¸ä¼ å¼ä¸æ£ç¡®æ¥éTypeError: Cannot read property 'name' of undefinedçbug |
| | | ## 2.3.1-20210616ï¼2021-06-16ï¼ |
| | | - uCharts.js ä¿®å¤åè§æ±ç¶å¾ä½¿ç¨4è§åè§æ¶ï¼å½æ°å¼è¿å¤§æ¶ä¸æ£ç¡®çbug |
| | | ## 2.3.0-20210612ï¼2021-06-12ï¼ |
| | | - uCharts.js ãéè¦ãuChartså¢å nvueå
¼å®¹ï¼å¯å¨nvue项ç®ä¸ä½¿ç¨gcanvasç»ä»¶æ¸²æuChartsï¼[详è§ç äºuCharts-demo-nvue](https://gitee.com/uCharts/uCharts) |
| | | - ç§äºå¾è¡¨ç»ä»¶ å¢å tapLegend屿§ï¼æ¯å¦å¼å¯å¾ä¾ç¹å»äº¤äºäºä»¶ |
| | | - ç§äºå¾è¡¨ç»ä»¶ getIndexäºä»¶ä¸å¢å è¿åuChartså®ä¾ä¸çoptsåæ°ï¼ä»¥ä¾¿å¨é¡µé¢ä¸è°ç¨åæ° |
| | | - 示ä¾é¡¹ç® pages/other/other.vueå¢å app端èªå®ä¹tooltipçæ¹æ³ï¼è¯¦è§showOptsTooltipæ¹æ³ |
| | | ## 2.2.1-20210603ï¼2021-06-03ï¼ |
| | | - uCharts.js ä¿®å¤é¥¼å¾ãåç¯å¾ãç«ç°å¾ï¼å½èµ·å§è§åº¦ä¸ä¸º0æ¶ï¼tooltipä½ç½®ä¸åç¡®çbug |
| | | - uCharts.js å¢å æ¸©åº¦è®¡å¼æ±ç¶å¾å¼å¯é¡¶é¨ååå½¢çé
ç½® |
| | | ## 2.2.0-20210529ï¼2021-05-29ï¼ |
| | | - uCharts.js å¢å æ¡ç¶å¾type="bar" |
| | | - 示ä¾é¡¹ç® pages/ucharts/ucharts.vueå¢å æ¡ç¶å¾çdemo |
| | | ## 2.1.7-20210524ï¼2021-05-24ï¼ |
| | | - uCharts.js ä¿®å¤å¤§æ°æ®é模å¼ä¸æ²çº¿å¾ä¸å¹³æ»çbug |
| | | ## 2.1.6-20210523ï¼2021-05-23ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤å°ç¨åºç«¯å¼å¯æ»å¨æ¡æ´æ°æ°æ®åæ»å¨æ¡ä½ç½®ä¸ç¬¦å颿çbug |
| | | ## 2.1.5-2021051702ï¼2021-05-17ï¼ |
| | | - uCharts.js ä¿®å¤èªå®ä¹Yè½´minåmaxå¼ä¸º0æ¶ä¸è½æ£ç¡®æ¾ç¤ºçbug |
| | | ## 2.1.5-20210517ï¼2021-05-17ï¼ |
| | | - uCharts.js ä¿®å¤Yè½´èªå®ä¹minåmaxæ¶ï¼æªææå®çæå¤§å¼æå°å¼æ¾ç¤ºåæ è½´å»åº¦çbug |
| | | ## 2.1.4-20210516ï¼2021-05-16ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¼åonWindowResizeé²ææ¹æ³ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤APP端uChartsæ´æ°æ°æ®æ¶ï¼æ¸
空seriesæ¾ç¤ºloading徿 ååæ¾ç¤ºå¾è¡¨ï¼å¾è¡¨æå¨çbug |
| | | - uCharts.js ä¿®å¤å¼å¯canvas2dåï¼xè½´ãyè½´ãseriesèªå®ä¹åä½å¤§å°æªææ¯ä¾ç¼©æ¾çbug |
| | | - 示ä¾é¡¹ç® ä¿®å¤format-e.vueæ¼åé误导è´app端使ç¨uCharts渲æå¾è¡¨ |
| | | ## 2.1.3-20210513ï¼2021-05-13ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®æ¹uChartsåæ´chartDataæ°æ®ä¸ºupdateDataæ¹æ³ï¼æ¯æå¸¦æ»å¨æ¡çæ°æ®å¨ææç¹ |
| | | - ç§äºå¾è¡¨ç»ä»¶ å¢å onWindowResizeé²ææ¹æ³ fix by ã©èªè¨ï¼å¦å°è¬æææµå¹´ã¥ |
| | | - ç§äºå¾è¡¨ç»ä»¶ H5æè
APPåæ´chartDataæ°æ®æ¾ç¤ºloadingå¾è¡¨æ¶ï¼åæ°æ®éªç°çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ propså¢å errorReloadç¦ç¨é误ç¹å»éæ°å è½½çæ¹æ³ |
| | | - uCharts.js å¢å tooltipæ¾ç¤ºcategoryï¼x轴对åºç¹ä½ï¼æ é¢çåè½ï¼opts.extra.tooltip.showCategoryï¼é»è®¤ä¸ºfalse |
| | | - uCharts.js ä¿®å¤mixæ··åå¾åªææ±ç¶å¾æ¶ï¼tooltipçåå²çº¿æ¾ç¤ºä½ç½®ä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤å¼å¯æ»å¨æ¡ï¼å¾è¡¨å¨æå¨ä¸å¨ææç¹ï¼æ»å¨æ¡ä½ç½®ä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤é¥¼å¾ç±»æ°æ®æ ¼å¼ä¸ºechartsæ°æ®æ ¼å¼ï¼series为空æ°ç»æ¥éçbug |
| | | - 示ä¾é¡¹ç® ä¿®æ¹uCharts.jsæ´æ°å°v2.1.2çæ¬åï¼@getIndexæ¹æ³è·åç´¢å¼å¼åæ´ä¸ºe.currentIndex.index |
| | | - 示ä¾é¡¹ç® pages/updata/updata.vueå¢å æ»å¨æ¡æå¨æ´æ°ï¼æ°æ®å¨ææç¹ï¼çdemo |
| | | - 示ä¾é¡¹ç® pages/other/other.vueå¢å errorReloadç¦ç¨é误ç¹å»éæ°å è½½çdemo |
| | | ## 2.1.2-20210509ï¼2021-05-09ï¼ |
| | | ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤APP端åå§åæ¶å°±ä¼ å
¥chartDataælacaldata䏿¾ç¤ºå¾è¡¨çbug |
| | | ## 2.1.1-20210509ï¼2021-05-09ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ åæ´EChartsçeoptsé
ç½®å¨renderjså
æ§è¡ï¼æ¯æå¨config-echarts.jsé
ç½®æä»¶å
åfunctioné
ç½®ã |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤APP端æ¥éProp being mutated: "onmouse"é误çbugã |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤APP端æ¥éError: Not Foundï¼Page[6][-1,27] at view.umd.min.js:1çbugã |
| | | ## 2.1.0-20210507ï¼2021-05-07ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤åå§åæ¶å°±ææ°æ®æè
æ°æ®æ´æ°çæ¶åloadingå è½½å¨ç»éªå¨çbug |
| | | - uCharts.js ä¿®å¤xè½´formatæ¹æ³categories为åç¬¦ä¸²ç±»åæ¶è¿åNaNçbug |
| | | - uCharts.js ä¿®å¤series.textColorãlegend.fontColoræªæ§è¡å
¨å±é»è®¤é¢è²çbug |
| | | ## 2.1.0-20210506ï¼2021-05-06ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤æä¸ªå«æ
åµä¸æ¥éitem.properties undefinedçbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤æä¸ªå«æ
åµä¸å
³éå è½½å¨ç»reshowä¸èµ·ä½ç¨ï¼æ æ³æ¾ç¤ºå¾è¡¨çbug |
| | | - 示ä¾é¡¹ç® pages/ucharts/ucharts.vue å¢å æ¶é´è½´æçº¿å¾ï¼type="tline"ï¼ãæ¶é´è½´åºåå¾ï¼type="tarea"ï¼ãæ£ç¹å¾ï¼type="scatter"ï¼ãæ°æ³¡å¾demoï¼type="bubble"ï¼ãåä¸è§å½¢æ¼æå¾ï¼opts.extra.funnel.type="triangle"ï¼ãéåå¡å½¢æ¼æå¾ï¼opts.extra.funnel.type="pyramid"ï¼ |
| | | - 示ä¾é¡¹ç® pages/format-u/format-u.vue å¢å Xè½´formatæ ¼å¼åç¤ºä¾ |
| | | - uCharts.js å级è³v2.1.0çæ¬ |
| | | - uCharts.js ä¿®å¤ ç«ç°å¾é¢ç§¯æ¨¡å¼ç¹å»tooltipä½ç½®ä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤ ç«ç°å¾ç¹å»å¾ä¾ï¼åªå©ä¸ä¸ªç±»å«æ¾ç¤ºç©ºç½çbug |
| | | - uCharts.js ä¿®å¤ é¥¼å¾ç±»å¾ç¹å»å¾ä¾ï¼å
¶ä»å¾è¡¨tooltipä½ç½®æäºæ
åµä¸ä¸åçbug |
| | | - uCharts.js ä¿®å¤ x轴为ç¢éè½´ï¼æ¶é´è½´ï¼æ
åµä¸ï¼ç¹å»tooltipä½ç½®ä¸æ£ç¡®çbug |
| | | - uCharts.js ä¿®å¤ è¯äºå¾è·åç¹å»ç´¢å¼å¶å°ä¸åçbug |
| | | - uCharts.js å¢å ç´è§åæ ç³»å¾è¡¨Xè½´formatæ ¼å¼åæ¹æ³ï¼åçuCharts.jsç¨æ³è¯·ä½¿ç¨formatterï¼ |
| | | - uCharts.js å¢å æ¼æå¾æ©å±é
ç½®ï¼åä¸è§å½¢ï¼opts.extra.funnel.type="triangle"ï¼ï¼éåå¡å½¢ï¼opts.extra.funnel.type="pyramid"ï¼ |
| | | - uCharts.js å¢å æ£ç¹å¾ï¼opts.type="scatter"ï¼ãæ°æ³¡å¾ï¼opts.type="bubble"ï¼ |
| | | - åæè®¡å å®åæ£ç¹å¾ãæ°æ³¡å¾ï¼å¢å markPointsæ è®°ç¹ï¼å¢å æ¨ªåæ¡ç¶å¾ã |
| | | ## 2.0.0-20210502ï¼2021-05-02ï¼ |
| | | - uCharts.js ä¿®å¤è¯äºå¾è·åç¹å»ç´¢å¼ä¸æ£ç¡®çbug |
| | | ## 2.0.0-20210501ï¼2021-05-01ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤QQå°ç¨åºãç¾åº¦å°ç¨åºå¨å
³éå¨ç»æææ
åµä¸ï¼v-for循ç¯ä½¿ç¨å¾è¡¨ï¼æ¾ç¤ºä¸æ£ç¡®çbug |
| | | ## 2.0.0-20210426ï¼2021-04-26ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤QQå°ç¨åºä¸æ¯æcanvas2dçbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ééå°ç¨åºæäºæ
åµç¹å»åæ 计ç®é误çbug |
| | | - uCharts.js å¢å extra.column.categoryGap åæ°ï¼æ±ç¶å¾ç±»æ¯ä¸ªcategoryç¹ä½ï¼Xè½´ç¹ï¼æ±åç»ä¹é´çé´è· |
| | | - uCharts.js å¢å yAxis.data[i].titleOffsetY åæ°ï¼æ é¢çºµååç§»è·ç¦»ï¼è´æ°ä¸ºåä¸åç§»ï¼æ£æ°åä¸åç§» |
| | | - uCharts.js å¢å yAxis.data[i].titleOffsetX åæ°ï¼æ 颿¨ªååç§»è·ç¦»ï¼è´æ°ä¸ºåå·¦åç§»ï¼æ£æ°åå³åç§» |
| | | - uCharts.js å¢å extra.gauge.labelOffset åæ°ï¼ä»ªè¡¨çæ ç¾æåå¾å便å®è·ç¦»ï¼é»è®¤13px |
| | | ## 2.0.0-20210422-2ï¼2021-04-22ï¼ |
| | | ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ formatterAssign æªå¤æ args[key] == null çæ
åµå¯¼è´æ 溢åºç bug |
| | | ## 2.0.0-20210422ï¼2021-04-22ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤H5ãAPPãæ¯ä»å®å°ç¨åºã微信å°ç¨åºcanvas2d模å¼ä¸æ¨ªå±æ¨¡å¼çbug |
| | | ## 2.0.0-20210421ï¼2021-04-21ï¼ |
| | | - uCharts.js ä¿®å¤å¤è¡å¾ä¾çæ
åµä¸ï¼å¾ä¾å¨ä¸æ¹æè
䏿¹æ¶ï¼å¾ä¾float为左侧æè
å³ä¾§æ¶ï¼ç¬¬äºè¡å以åçå¾ä¾å¯¹é½æ¹å¼ä¸æ£ç¡®çbug |
| | | ## 2.0.0-20210420ï¼2021-04-20ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤å¾®ä¿¡å°ç¨åºå¼å¯canvas2d模å¼åï¼windowsç微信å°ç¨åºä¸æ¯æcanvas2d模å¼çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®æ¹éuni_modulesçæ¬ä¸ºv2.0çæ¬qiun-data-chartsç»ä»¶ |
| | | ## 2.0.0-20210419ï¼2021-04-19ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ç»¿è²ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½¿ç¨ï¼ç¤ºä¾é¡¹ç®è¯·ç¹å»å³ä¾§èè²æé®ã使ç¨HBuilderX导å
¥ç¤ºä¾é¡¹ç®ãã |
| | | ## 忬¡ä½¿ç¨å¦ææç¤ºæªæ³¨å<qiun-data-charts>ç»ä»¶ï¼è¯·éå¯HBuilderXï¼å¦ä»ä¸å¥½ç¨ï¼è¯·éå¯çµèï¼ |
| | | ## 妿æ¯cli项ç®ï¼è¯·å°è¯æ¸
çnode_modulesï¼éæ°installï¼è¿ä¸è¡å°±å é¤é¡¹ç®ï¼åéæ°installã |
| | | ## æ¤é®é¢å·²äºDCloud宿¹ç¡®è®¤ï¼HBuilderXä¸ä¸ªçæ¬ä¼ä¿®å¤ã |
| | | ## å
¶ä»å¾è¡¨ä¸æ¾ç¤ºé®é¢è¯¦è§[常è§é®é¢é项å¡](https://demo.ucharts.cn) |
| | | ## <font color=#FF0000> æ°æè¯·å
宿´é
è¯»å¸®å©ææ¡£å常è§é®é¢3éï¼å³ä¾§èè²æé®ç¤ºä¾é¡¹ç®è¯·ç2éï¼ </font> |
| | | ## [DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## [å¾è¡¨ç»ä»¶å¨é¡¹ç®ä¸çåºç¨åè§ UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | - uCharts.js ä¿®å¤æ··åå¾ä¸æ±ç¶å¾åç¬è®¾ç½®é¢è²ä¸çæçbug |
| | | - uCharts.js ä¿®å¤å¤Yè½´åç¬è®¾ç½®fontSizeæ¶ï¼å¼å¯canvas2dåï¼æªå¯¹åºæ¾å¤§åä½çbug |
| | | ## 2.0.0-20210418ï¼2021-04-18ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ å¢å directoryé
ç½®ï¼ä¿®å¤H5端history模å¼ä¸å¦æåå¸å°äºçº§ç®å½æ æ³æ£ç¡®å è½½echarts.min.jsçbug |
| | | ## 2.0.0-20210416ï¼2021-04-16ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ç»¿è²ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½¿ç¨ï¼ç¤ºä¾é¡¹ç®è¯·ç¹å»å³ä¾§èè²æé®ã使ç¨HBuilderX导å
¥ç¤ºä¾é¡¹ç®ãã |
| | | ## 忬¡ä½¿ç¨å¦ææç¤ºæªæ³¨å<qiun-data-charts>ç»ä»¶ï¼è¯·éå¯HBuilderXï¼å¦ä»ä¸å¥½ç¨ï¼è¯·éå¯çµèï¼ |
| | | ## 妿æ¯cli项ç®ï¼è¯·å°è¯æ¸
çnode_modulesï¼éæ°installï¼è¿ä¸è¡å°±å é¤é¡¹ç®ï¼åéæ°installã |
| | | ## æ¤é®é¢å·²äºDCloud宿¹ç¡®è®¤ï¼HBuilderXä¸ä¸ªçæ¬ä¼ä¿®å¤ã |
| | | ## å
¶ä»å¾è¡¨ä¸æ¾ç¤ºé®é¢è¯¦è§[常è§é®é¢é项å¡](https://demo.ucharts.cn) |
| | | ## <font color=#FF0000> æ°æè¯·å
宿´é
è¯»å¸®å©ææ¡£å常è§é®é¢3éï¼å³ä¾§èè²æé®ç¤ºä¾é¡¹ç®è¯·ç2éï¼ </font> |
| | | ## [DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## [å¾è¡¨ç»ä»¶å¨é¡¹ç®ä¸çåºç¨åè§ UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤APP端æäºæ
åµä¸æ¥é`Not Found Page`çbugï¼fix by é«çº§bugå¼åææ¯å |
| | | - 示ä¾é¡¹ç® ä¿®å¤APP端v-forå¾ªç¯æäºæ
åµä¸æ¥é`Not Found Page`çbugï¼fix by é«çº§bugå¼åææ¯å |
| | | - uCharts.js ä¿®å¤éç´è§åæ ç³»tooltipæç¤ºçªå³ä¾§è¶
åºæªåæ¢æ¹åæ¾ç¤ºçbug |
| | | ## 2.0.0-20210415ï¼2021-04-15ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤H5端åå¸å°äºçº§ç®å½ä¸echartsæ æ³å è½½çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤æäºæ
åµä¸echarts.off('finished')ç§»é¤çå¬äºä»¶æ¥éçbug |
| | | ## 2.0.0-20210414ï¼2021-04-14ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ç»¿è²ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½¿ç¨ï¼ç¤ºä¾é¡¹ç®è¯·ç¹å»å³ä¾§èè²æé®ã使ç¨HBuilderX导å
¥ç¤ºä¾é¡¹ç®ãã |
| | | ## 忬¡ä½¿ç¨å¦ææç¤ºæªæ³¨å<qiun-data-charts>ç»ä»¶ï¼è¯·éå¯HBuilderXï¼å¦ä»ä¸å¥½ç¨ï¼è¯·éå¯çµèï¼ |
| | | ## 妿æ¯cli项ç®ï¼è¯·å°è¯æ¸
çnode_modulesï¼éæ°installï¼è¿ä¸è¡å°±å é¤é¡¹ç®ï¼åéæ°installã |
| | | ## æ¤é®é¢å·²äºDCloud宿¹ç¡®è®¤ï¼HBuilderXä¸ä¸ªçæ¬ä¼ä¿®å¤ã |
| | | ## å
¶ä»å¾è¡¨ä¸æ¾ç¤ºé®é¢è¯¦è§[常è§é®é¢é项å¡](https://demo.ucharts.cn) |
| | | ## <font color=#FF0000> æ°æè¯·å
宿´é
è¯»å¸®å©ææ¡£å常è§é®é¢3éï¼å³ä¾§èè²æé®ç¤ºä¾é¡¹ç®è¯·ç2éï¼ </font> |
| | | ## [DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## [å¾è¡¨ç»ä»¶å¨é¡¹ç®ä¸çåºç¨åè§ UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤H5端å¨cli项ç®ä¸EChartså¼ç¨å°åé误çbug |
| | | - 示ä¾é¡¹ç® å¢å EChartsçformatterç¨æ³ç示ä¾(详è§ç¤ºä¾é¡¹ç®format-e.vue) |
| | | - uCharts.js å¢å åç¯å¾ä¸å¿èæ¯è²çé
ç½®extra.ring.centerColor |
| | | - uCharts.js ä¿®å¤å¾®ä¿¡å°ç¨åºå®å端æ±ç¶å¾å¼å¯éæè²åæ¾ç¤ºä¸æ£ç¡®çbug |
| | | ## 2.0.0-20210413ï¼2021-04-13ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ç¾åº¦å°ç¨åºå¤ä¸ªå¾è¡¨çæºæªè½æ£ç¡®è·åæ ¹å
ç´ dom尺寸çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤ç¾åº¦å°ç¨åºæ¨ªå±æ¨¡å¼æ¹å䏿£ç¡®çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®æ¹ontouchæ¶ï¼@getTouchStart@getTouchMove@getTouchEndçè§¦åæ¡ä»¶ |
| | | - uCharts.js ä¿®å¤é¥¼å¾ç±»æ°æ®æ ¼å¼series屿§ä¸çæçbug |
| | | - uCharts.js å¢å æ¶åºåºåå¾ è¯¦è§ç¤ºä¾é¡¹ç®ä¸ucharts.vue |
| | | ## 2.0.0-20210412-2ï¼2021-04-12ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ç»¿è²ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½¿ç¨ï¼ç¤ºä¾é¡¹ç®è¯·ç¹å»å³ä¾§èè²æé®ã使ç¨HBuilderX导å
¥ç¤ºä¾é¡¹ç®ãã |
| | | ## 忬¡ä½¿ç¨å¦ææç¤ºæªæ³¨å<qiun-data-charts>ç»ä»¶ï¼è¯·éå¯HBuilderXãå¦ä»ä¸å¥½ç¨ï¼è¯·éå¯çµèï¼æ¤é®é¢å·²äºDCloud宿¹ç¡®è®¤ï¼HBuilderXä¸ä¸ªçæ¬ä¼ä¿®å¤ã |
| | | ## [DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## [å¾è¡¨ç»ä»¶å¨uniCloudAdminä¸çåºç¨ UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤uChartså¨APPç«¯æ¨ªå±æ¨¡å¼ä¸ä¸è½æ£ç¡®æ¸²æçbug |
| | | - 示ä¾é¡¹ç® å¢å EChartsæ±ç¶å¾æ¸åè²ãåè§æ±ç¶å¾ãæ¨ªåæ±ç¶å¾ï¼æ¡ç¶å¾ï¼çç¤ºä¾ |
| | | ## 2.0.0-20210412ï¼2021-04-12ï¼ |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤createdä¸å¤æecharts导è´APPç«¯æ æ³è¯å«ï¼æ¹åmountedä¸å¤æechartsåå§å |
| | | - uCharts.js ä¿®å¤2d模å¼ä¸series.textOffsetæªä¹åç´ æ¯çbug |
| | | ## 2.0.0-20210411ï¼2021-04-11ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ç»¿è²ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½¿ç¨ï¼ç¤ºä¾é¡¹ç®è¯·ç¹å»å³ä¾§èè²æé®ã使ç¨HBuilderX导å
¥ç¤ºä¾é¡¹ç®ãã |
| | | ## 忬¡ä½¿ç¨å¦ææç¤ºæªæ³¨å<qiun-data-charts>ç»ä»¶ï¼è¯·éå¯HBuilderXï¼å¹¶æ¸
空å°ç¨åºå¼åè
å·¥å
·ç¼åã |
| | | ## [DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## [å¾è¡¨ç»ä»¶å¨uniCloudAdminä¸çåºç¨ UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | - uCharts.js æçº¿å¾åºåå¾å¢å connectNullsæç¹ç»è¿çåè½ï¼è¯¦è§ç¤ºä¾é¡¹ç®ä¸ucharts.vue |
| | | - ç§äºå¾è¡¨ç»ä»¶ åæ´åå§åæ¹æ³ä¸ºcreatedï¼åæ´type2dé»è®¤å¼ä¸ºtrueï¼ä¼å2d模å¼ä¸ç»ä»¶åå§åådomè·åä¸å°çbug |
| | | - ç§äºå¾è¡¨ç»ä»¶ ä¿®å¤å·¦å³å¸å±æ¶ï¼å³ä¾§å¾è¡¨ç¹å»åæ é误çbugï¼ä¿®å¤tooltipæ±ç¶å¾èªå®ä¹é¢è²æ¾ç¤ºobjectçbug |
| | | ## 2.0.0-20210410ï¼2021-04-10ï¼ |
| | | - ä¿®å¤å·¦å³å¸å±æ¶ï¼å³ä¾§å¾è¡¨ç¹å»åæ é误çbugï¼ä¿®å¤æ±ç¶å¾èªå®ä¹é¢è²tooltipæ¾ç¤ºobjectçbug |
| | | - å¢å æ è®°çº¿åæ±ç¶å¾èªå®ä¹é¢è²çdemo |
| | | ## 2.0.0-20210409ï¼2021-04-08ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½éªï¼DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼[https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## å¾è¡¨ç»ä»¶å¨uniCloudAdminä¸çåºç¨ [UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | - uCharts.js ä¿®å¤ééå°ç¨åºç¾åº¦å°ç¨åºmeasureTextä¸åç¡®çbugï¼ä¿®å¤2d模å¼ä¸é¥¼å¾ç±»activeRadiusä¸ºææ¯ä¾æ¾å¤§çbug |
| | | - ä¿®å¤ç»ä»¶å¨æ¯ä»å®å°ç¨åºç«¯ç¹å»ä½ç½®ä¸åç¡®çbug |
| | | ## 2.0.0-20210408ï¼2021-04-07ï¼ |
| | | - ä¿®å¤ç»ä»¶å¨æ¯ä»å®å°ç¨åºç«¯ä¸è½æ¾ç¤ºçbugï¼ç®åæ¯ä»å®å°ç¨ä¸è½ç¹å»äº¤äºï¼åç»ä¿®å¤ï¼ |
| | | - uCharts.js ä¿®å¤é«åå±ä¸æ±ç¶å¾ç±»ï¼åå¼§è¿åº¦æ¡ èªå®ä¹å®½åº¦ä¸è½ææ¯ä¾æ¾å¤§çbug |
| | | ## 2.0.0-20210407ï¼2021-04-06ï¼ |
| | | ## v1.0çæ¬å·²åæ´ï¼å»ºè®®è½¬uni_modulesçæ¬ç»ä»¶æ¹å¼è°ç¨ï¼ç¹å»å³ä¾§ã使ç¨HBuilderX导å
¥æä»¶ãå³å¯ä½éªï¼DEMOæ¼ç¤ºåå¨çº¿çæå·¥å
·ï¼v2.0ææ¡£ï¼[https://demo.ucharts.cn](https://demo.ucharts.cn) |
| | | ## å¢å éè¿tofixåunitå¿«éæ ¼å¼åyè½´çdemo add by `howcode` |
| | | ## å¢å å¾è¡¨ç»ä»¶å¨uniCloudAdminä¸çåºç¨ [UReportæ°æ®æ¥è¡¨](https://ext.dcloud.net.cn/plugin?id=4651) |
| | | ## 2.0.0-20210406ï¼2021-04-05ï¼ |
| | | # ç§äºå¾è¡¨ç»ä»¶+uCharts v2.0çæ¬åæ¥ä¸çº¿ï¼ä½¿ç¨æ¹æ³è¯¦è§https://demo.ucharts.cn帮å©é¡µ |
| | | ## 2.0.0ï¼2021-04-05ï¼ |
| | | # ç§äºå¾è¡¨ç»ä»¶+uCharts v2.0çæ¬åæ¥ä¸çº¿ï¼ä½¿ç¨æ¹æ³è¯¦è§https://demo.ucharts.cn帮å©é¡µ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | * qiun-data-charts ç§äºé«æ§è½è·¨å
¨ç«¯å¾è¡¨ç»ä»¶ |
| | | * Copyright (c) 2021 QIUN® ç§äº https://www.ucharts.cn All rights reserved. |
| | | * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
| | | * å¤å¶ä½¿ç¨è¯·ä¿çæ¬æ®µæ³¨éï¼æè°¢æ¯æå¼æºï¼ |
| | | * 为æ¹ä¾¿æ´å¤å¼åè
使ç¨ï¼å¦ææ´å¥½ç建议请æäº¤ç äº Pull Requests ï¼ |
| | | * |
| | | * uChartsÂ®å®æ¹ç½ç« |
| | | * https://www.uCharts.cn |
| | | * |
| | | * 弿ºå°å: |
| | | * https://gitee.com/uCharts/uCharts |
| | | * |
| | | * uni-appæä»¶å¸åºå°åï¼ |
| | | * http://ext.dcloud.net.cn/plugin?id=271 |
| | | * |
| | | --> |
| | | <template> |
| | | <view class="chartsview" :id="'ChartBoxId'+cid"> |
| | | <view v-if="mixinDatacomLoading"> |
| | | <!-- èªå®ä¹å è½½ç¶æï¼è¯·æ¹è¿é --> |
| | | <qiun-loading :loadingType="loadingType" /> |
| | | </view> |
| | | <view v-if="mixinDatacomErrorMessage && errorShow" @tap="reloading"> |
| | | <!-- èªå®ä¹é误æç¤ºï¼è¯·æ¹è¿é --> |
| | | <qiun-error :errorMessage="errorMessage" /> |
| | | </view> |
| | | <!-- APPåH5éç¨renderjs渲æå¾è¡¨ --> |
| | | <!-- #ifdef APP-VUE || H5 --> |
| | | <block v-if="echarts"> |
| | | <view |
| | | :style="{ background: background }" |
| | | style="width: 100%;height: 100%;" |
| | | :data-directory="directory" |
| | | :id="'EC'+cid" |
| | | :prop="echartsOpts" |
| | | :change:prop="rdcharts.ecinit" |
| | | :resize="echartsResize" |
| | | :change:resize="rdcharts.ecresize" |
| | | v-show="showchart" |
| | | /> |
| | | </block> |
| | | <block v-else> |
| | | <view |
| | | v-on:tap="rdcharts.tap" |
| | | v-on:mousemove="rdcharts.mouseMove" |
| | | v-on:mousedown="rdcharts.mouseDown" |
| | | v-on:mouseup="rdcharts.mouseUp" |
| | | v-on:touchstart="rdcharts.touchStart" |
| | | v-on:touchmove="rdcharts.touchMove" |
| | | v-on:touchend="rdcharts.touchEnd" |
| | | :id="'UC'+cid" |
| | | :prop="uchartsOpts" |
| | | :change:prop="rdcharts.ucinit" |
| | | > |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | :disable-scroll="disableScroll" |
| | | @error="_error" |
| | | v-show="showchart" |
| | | /> |
| | | </view> |
| | | </block> |
| | | <!-- #endif --> |
| | | <!-- æ¯ä»å®å°ç¨åº --> |
| | | <!-- #ifdef MP-ALIPAY --> |
| | | <block v-if="ontouch"> |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :width="cWidth * pixel" |
| | | :height="cHeight * pixel" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | :disable-scroll="disScroll" |
| | | @tap="_tap" |
| | | @touchstart="_touchStart" |
| | | @touchmove="_touchMove" |
| | | @touchend="_touchEnd" |
| | | @error="_error" |
| | | v-show="showchart" |
| | | /> |
| | | </block> |
| | | <block v-if="!ontouch"> |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :width="cWidth * pixel" |
| | | :height="cHeight * pixel" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | :disable-scroll="disScroll" |
| | | @tap="_tap" |
| | | @error="_error" |
| | | v-show="showchart" |
| | | /> |
| | | </block> |
| | | <!-- #endif --> |
| | | <!-- å
¶ä»å°ç¨åºéè¿vue渲æå¾è¡¨ --> |
| | | <!-- #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-TOUTIAO || MP-KUAISHOU || MP-LARK || MP-JD || MP-360 --> |
| | | <block v-if="type2d"> |
| | | <view v-if="ontouch" @tap="_tap"> |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | type="2d" |
| | | :disable-scroll="disScroll" |
| | | @touchstart="_touchStart" |
| | | @touchmove="_touchMove" |
| | | @touchend="_touchEnd" |
| | | @error="_error" |
| | | v-show="showchart" |
| | | /> |
| | | </view> |
| | | <view v-if="!ontouch" @tap="_tap"> |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | type="2d" |
| | | :disable-scroll="disScroll" |
| | | @error="_error" |
| | | v-show="showchart" |
| | | /> |
| | | </view> |
| | | </block> |
| | | <block v-if="!type2d"> |
| | | <view v-if="ontouch" @tap="_tap"> |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | @touchstart="_touchStart" |
| | | @touchmove="_touchMove" |
| | | @touchend="_touchEnd" |
| | | :disable-scroll="disScroll" |
| | | @error="_error" |
| | | v-if="showchart" |
| | | /> |
| | | </view> |
| | | <view v-if="!ontouch" > |
| | | <canvas |
| | | :id="cid" |
| | | :canvasId="cid" |
| | | :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }" |
| | | :disable-scroll="disScroll" |
| | | @tap="_tap" |
| | | @error="_error" |
| | | v-if="showchart" |
| | | /> |
| | | </view> |
| | | </block> |
| | | <!-- #endif --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import uCharts from '../../js_sdk/u-charts/u-charts.js'; |
| | | import cfu from '../../js_sdk/u-charts/config-ucharts.js'; |
| | | // #ifdef APP-VUE || H5 |
| | | import cfe from '../../js_sdk/u-charts/config-echarts.js'; |
| | | // #endif |
| | | |
| | | function deepCloneAssign(origin = {}, ...args) { |
| | | for (let i in args) { |
| | | for (let key in args[i]) { |
| | | if (args[i].hasOwnProperty(key)) { |
| | | origin[key] = args[i][key] && typeof args[i][key] === 'object' ? deepCloneAssign(Array.isArray(args[i][key]) ? [] : {}, origin[key], args[i][key]) : args[i][key]; |
| | | } |
| | | } |
| | | } |
| | | return origin; |
| | | } |
| | | |
| | | function formatterAssign(args,formatter) { |
| | | for (let key in args) { |
| | | if(args.hasOwnProperty(key) && args[key] !== null && typeof args[key] === 'object'){ |
| | | formatterAssign(args[key],formatter) |
| | | }else if(key === 'format' && typeof args[key] === 'string'){ |
| | | args['formatter'] = formatter[args[key]] ? formatter[args[key]] : undefined; |
| | | } |
| | | } |
| | | return args; |
| | | } |
| | | |
| | | // æ¶é´è½¬æ¢å½æ°ï¼ä¸ºäºå¹é
uniClinetDB读ååºçæ¶é´ä¸categoriesä¸å |
| | | function getFormatDate(date) { |
| | | var seperator = "-"; |
| | | var year = date.getFullYear(); |
| | | var month = date.getMonth() + 1; |
| | | var strDate = date.getDate(); |
| | | if (month >= 1 && month <= 9) { |
| | | month = "0" + month; |
| | | } |
| | | if (strDate >= 0 && strDate <= 9) { |
| | | strDate = "0" + strDate; |
| | | } |
| | | var currentdate = year + seperator + month + seperator + strDate; |
| | | return currentdate; |
| | | } |
| | | |
| | | var lastMoveTime = null; |
| | | /** |
| | | * 鲿 |
| | | * |
| | | * @param { Function } fn è¦æ§è¡çæ¹æ³ |
| | | * @param { Number } wait 鲿å¤å°æ¯«ç§ |
| | | * |
| | | * å¨ vue ä¸ä½¿ç¨ï¼æ³¨æï¼ä¸è½ä½¿ç¨ç®å¤´å½æ°ï¼å¦åthisæåä¸å¯¹ï¼å¹¶ä¸ä¸è½å次å°è£
å¦ï¼ |
| | | * move(){ // é误è°ç¨æ¹å¼ |
| | | * debounce(function () { |
| | | * console.log(this.title); |
| | | * }, 1000)}ï¼; |
| | | * åºè¯¥ç´æ¥ä½¿ç¨ï¼// æ£ç¡®è°ç¨æ¹å¼ |
| | | * move: debounce(function () { |
| | | * console.log(this.title); |
| | | * }, 1000) |
| | | */ |
| | | function debounce(fn, wait) { |
| | | let timer = false; |
| | | return function() { |
| | | clearTimeout(timer); |
| | | timer && clearTimeout(timer); |
| | | timer = setTimeout(() => { |
| | | timer = false; |
| | | fn.apply(this, arguments); // æåæ°ä¼ è¿å» |
| | | }, wait); |
| | | }; |
| | | } |
| | | |
| | | export default { |
| | | name: 'qiun-data-charts', |
| | | mixins: [uniCloud.mixinDatacom], |
| | | props: { |
| | | type: { |
| | | type: String, |
| | | default: null |
| | | }, |
| | | canvasId: { |
| | | type: String, |
| | | default: 'uchartsid' |
| | | }, |
| | | canvas2d: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | background: { |
| | | type: String, |
| | | default: 'rgba(0,0,0,0)' |
| | | }, |
| | | animation: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | chartData: { |
| | | type: Object, |
| | | default() { |
| | | return { |
| | | categories: [], |
| | | series: [] |
| | | }; |
| | | } |
| | | }, |
| | | opts: { |
| | | type: Object, |
| | | default() { |
| | | return {}; |
| | | } |
| | | }, |
| | | eopts: { |
| | | type: Object, |
| | | default() { |
| | | return {}; |
| | | } |
| | | }, |
| | | loadingType: { |
| | | type: Number, |
| | | default: 2 |
| | | }, |
| | | errorShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | errorReload: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | errorMessage: { |
| | | type: String, |
| | | default: null |
| | | }, |
| | | inScrollView: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | reshow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | reload: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | disableScroll: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | optsWatch: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | onzoom: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | ontap: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | ontouch: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | onmouse: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | onmovetip: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | echartsH5: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | echartsApp: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | tooltipShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | tooltipFormat: { |
| | | type: String, |
| | | default: undefined |
| | | }, |
| | | tooltipCustom: { |
| | | type: Object, |
| | | default: undefined |
| | | }, |
| | | startDate: { |
| | | type: String, |
| | | default: undefined |
| | | }, |
| | | endDate: { |
| | | type: String, |
| | | default: undefined |
| | | }, |
| | | textEnum: { |
| | | type: Array, |
| | | default () { |
| | | return [] |
| | | } |
| | | }, |
| | | groupEnum: { |
| | | type: Array, |
| | | default () { |
| | | return [] |
| | | } |
| | | }, |
| | | pageScrollTop: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | directory: { |
| | | type: String, |
| | | default: '/' |
| | | }, |
| | | tapLegend: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | menus: { |
| | | type: Array, |
| | | default () { |
| | | return [] |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | cid: 'uchartsid', |
| | | inWx: false, |
| | | inAli: false, |
| | | inTt: false, |
| | | inBd: false, |
| | | inH5: false, |
| | | inApp: false, |
| | | inWin: false, |
| | | type2d: true, |
| | | disScroll: false, |
| | | openmouse: false, |
| | | pixel: 1, |
| | | cWidth: 375, |
| | | cHeight: 250, |
| | | showchart: false, |
| | | echarts: false, |
| | | echartsResize:{ |
| | | state:false |
| | | }, |
| | | uchartsOpts: {}, |
| | | echartsOpts: {}, |
| | | drawData:{}, |
| | | lastDrawTime:null, |
| | | }; |
| | | }, |
| | | created(){ |
| | | this.cid = this.canvasId |
| | | if (this.canvasId == 'uchartsid' || this.canvasId == '') { |
| | | let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' |
| | | let len = t.length |
| | | let id = '' |
| | | for (let i = 0; i < 32; i++) { |
| | | id += t.charAt(Math.floor(Math.random() * len)) |
| | | } |
| | | this.cid = id |
| | | } |
| | | const systemInfo = uni.getSystemInfoSync() |
| | | if(systemInfo.platform === 'windows' || systemInfo.platform === 'mac'){ |
| | | this.inWin = true; |
| | | } |
| | | // #ifdef MP-WEIXIN |
| | | this.inWx = true; |
| | | if (this.canvas2d === false || systemInfo.platform === 'windows' || systemInfo.platform === 'mac') { |
| | | this.type2d = false; |
| | | }else{ |
| | | this.type2d = true; |
| | | this.pixel = systemInfo.pixelRatio; |
| | | } |
| | | // #endif |
| | | //é微信å°ç¨åºç«¯å¼ºå¶å
³écanvas2dæ¨¡å¼ |
| | | // #ifndef MP-WEIXIN |
| | | this.type2d = false; |
| | | // #endif |
| | | // #ifdef MP-TOUTIAO || MP-LARK || MP-ALIPAY |
| | | this.type2d = this.canvas2d; |
| | | // #endif |
| | | // #ifdef MP-ALIPAY |
| | | this.inAli = true; |
| | | this.pixel = systemInfo.pixelRatio; |
| | | // #endif |
| | | // #ifdef MP-BAIDU |
| | | this.inBd = true; |
| | | // #endif |
| | | // #ifdef MP-TOUTIAO |
| | | this.inTt = true; |
| | | // #endif |
| | | this.disScroll = this.disableScroll; |
| | | }, |
| | | mounted() { |
| | | // #ifdef APP-VUE |
| | | this.inApp = true; |
| | | if (this.echartsApp === true) { |
| | | this.echarts = true; |
| | | this.openmouse = false; |
| | | } |
| | | // #endif |
| | | // #ifdef APP-NVUE |
| | | this.inApp = true; |
| | | this.mixinDatacomLoading = false |
| | | this.mixinDatacomErrorMessage = "æä¸æ¯æNVUE" |
| | | // #endif |
| | | // #ifdef H5 |
| | | this.inH5 = true; |
| | | if(this.inWin === true){ |
| | | this.openmouse = this.onmouse; |
| | | } |
| | | if (this.echartsH5 === true) { |
| | | this.echarts = true; |
| | | } |
| | | // #endif |
| | | this.$nextTick(()=>{ |
| | | this.beforeInit(); |
| | | }) |
| | | // #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || APP-VUE |
| | | const time = this.inH5 ? 500 : 200; |
| | | const _this = this; |
| | | uni.onWindowResize( |
| | | debounce(function(res) { |
| | | if (_this.mixinDatacomLoading == true) { |
| | | return; |
| | | } |
| | | let errmsg = _this.mixinDatacomErrorMessage; |
| | | if (errmsg !== null && errmsg !== 'null' && errmsg !== '') { |
| | | return; |
| | | } |
| | | if (_this.echarts) { |
| | | _this.echartsResize.state = !_this.echartsResize.state; |
| | | } else { |
| | | _this.resizeHandler(); |
| | | } |
| | | }, time) |
| | | ); |
| | | // #endif |
| | | }, |
| | | destroyed(){ |
| | | if(this.echarts === true){ |
| | | delete cfe.option[this.cid] |
| | | delete cfe.instance[this.cid] |
| | | }else{ |
| | | delete cfu.option[this.cid] |
| | | delete cfu.instance[this.cid] |
| | | } |
| | | // #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO |
| | | uni.offWindowResize(()=>{}) |
| | | // #endif |
| | | }, |
| | | watch: { |
| | | chartDataProps: { |
| | | handler(val, oldval) { |
| | | if (typeof val === 'object') { |
| | | if (JSON.stringify(val) !== JSON.stringify(oldval)) { |
| | | this._clearChart(); |
| | | if (val.series && val.series.length > 0) { |
| | | this.beforeInit(); |
| | | }else{ |
| | | this.mixinDatacomLoading = true; |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = null; |
| | | } |
| | | } |
| | | } else { |
| | | this.mixinDatacomLoading = false; |
| | | this._clearChart(); |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = 'åæ°é误ï¼chartDataæ°æ®ç±»åé误'; |
| | | } |
| | | }, |
| | | immediate: false, |
| | | deep: true |
| | | }, |
| | | localdata:{ |
| | | handler(val, oldval) { |
| | | if (JSON.stringify(val) !== JSON.stringify(oldval)) { |
| | | if (val.length > 0) { |
| | | this.beforeInit(); |
| | | }else{ |
| | | this.mixinDatacomLoading = true; |
| | | this._clearChart(); |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = null; |
| | | } |
| | | } |
| | | }, |
| | | immediate: false, |
| | | deep: true |
| | | }, |
| | | optsProps: { |
| | | handler(val, oldval) { |
| | | if (typeof val === 'object') { |
| | | if (JSON.stringify(val) !== JSON.stringify(oldval) && this.echarts === false && this.optsWatch == true) { |
| | | this.checkData(this.drawData); |
| | | } |
| | | } else { |
| | | this.mixinDatacomLoading = false; |
| | | this._clearChart(); |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = 'åæ°é误ï¼optsæ°æ®ç±»åé误'; |
| | | } |
| | | }, |
| | | immediate: false, |
| | | deep: true |
| | | }, |
| | | eoptsProps: { |
| | | handler(val, oldval) { |
| | | if (typeof val === 'object') { |
| | | if (JSON.stringify(val) !== JSON.stringify(oldval) && this.echarts === true) { |
| | | this.checkData(this.drawData); |
| | | } |
| | | } else { |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = 'åæ°é误ï¼eoptsæ°æ®ç±»åé误'; |
| | | } |
| | | }, |
| | | immediate: false, |
| | | deep: true |
| | | }, |
| | | reshow(val, oldval) { |
| | | if (val === true && this.mixinDatacomLoading === false) { |
| | | setTimeout(() => { |
| | | this.mixinDatacomErrorMessage = null; |
| | | this.echartsResize.state = !this.echartsResize.state; |
| | | this.checkData(this.drawData); |
| | | }, 200); |
| | | } |
| | | }, |
| | | reload(val, oldval) { |
| | | if (val === true) { |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = null; |
| | | this.reloading(); |
| | | } |
| | | }, |
| | | mixinDatacomErrorMessage(val, oldval) { |
| | | if (val) { |
| | | this.emitMsg({name: 'error', params: {type:"error", errorShow: this.errorShow, msg: val, id: this.cid}}); |
| | | if(this.errorShow){ |
| | | console.log('[ç§äºå¾è¡¨ç»ä»¶]' + val); |
| | | } |
| | | } |
| | | }, |
| | | errorMessage(val, oldval) { |
| | | if (val && this.errorShow && val !== null && val !== 'null' && val !== '') { |
| | | this.showchart = false; |
| | | this.mixinDatacomLoading = false; |
| | | this.mixinDatacomErrorMessage = val; |
| | | } else { |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = null; |
| | | this.reloading(); |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | optsProps() { |
| | | return JSON.parse(JSON.stringify(this.opts)); |
| | | }, |
| | | eoptsProps() { |
| | | return JSON.parse(JSON.stringify(this.eopts)); |
| | | }, |
| | | chartDataProps() { |
| | | return JSON.parse(JSON.stringify(this.chartData)); |
| | | }, |
| | | }, |
| | | methods: { |
| | | beforeInit(){ |
| | | this.mixinDatacomErrorMessage = null; |
| | | if (typeof this.chartData === 'object' && this.chartData != null && this.chartData.series !== undefined && this.chartData.series.length > 0) { |
| | | //æ·è´ä¸ä¸chartDataï¼ä¸ºäºoptsåæ´åç»ä¸æ°æ®æ¥æº |
| | | this.drawData = deepCloneAssign({}, this.chartData); |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = true; |
| | | this.checkData(this.chartData); |
| | | }else if(this.localdata.length>0){ |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = true; |
| | | this.localdataInit(this.localdata); |
| | | }else if(this.collection !== ''){ |
| | | this.mixinDatacomLoading = false; |
| | | this.getCloudData(); |
| | | }else{ |
| | | this.mixinDatacomLoading = true; |
| | | } |
| | | }, |
| | | localdataInit(resdata){ |
| | | //æ¿æ¢enumç±»å为æ£ç¡®çæè¿° |
| | | if(this.groupEnum.length>0){ |
| | | for (let i = 0; i < resdata.length; i++) { |
| | | for (let j = 0; j < this.groupEnum.length; j++) { |
| | | if(resdata[i].group === this.groupEnum[j].value){ |
| | | resdata[i].group = this.groupEnum[j].text |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(this.textEnum.length>0){ |
| | | for (let i = 0; i < resdata.length; i++) { |
| | | for (let j = 0; j < this.textEnum.length; j++) { |
| | | if(resdata[i].text === this.textEnum[j].value){ |
| | | resdata[i].text = this.textEnum[j].text |
| | | } |
| | | } |
| | | } |
| | | } |
| | | let needCategories = false; |
| | | let tmpData = {categories:[], series:[]} |
| | | let tmpcategories = [] |
| | | let tmpseries = []; |
| | | //æ¼æ¥categories |
| | | if(this.echarts === true){ |
| | | needCategories = cfe.categories.includes(this.type) |
| | | }else{ |
| | | needCategories = cfu.categories.includes(this.type) |
| | | } |
| | | if(needCategories === true){ |
| | | //妿propsä¸çchartData带æcategoriesï¼åä¼å
使ç¨chartDataçcategories |
| | | if(this.chartData && this.chartData.categories && this.chartData.categories.length>0){ |
| | | tmpcategories = this.chartData.categories |
| | | }else{ |
| | | //å¦ææ¯æ¥æç±»åçæ°æ®ï¼ä¸ç®¡æ¯æ¬å°æ°æ®è¿æ¯äºæ°æ®ï¼é½æèµ·æ¢æ¥æèªå¨æ¼æ¥categories |
| | | if(this.startDate && this.endDate){ |
| | | let idate = new Date(this.startDate) |
| | | let edate = new Date(this.endDate) |
| | | while (idate <= edate) { |
| | | tmpcategories.push(getFormatDate(idate)) |
| | | idate = idate.setDate(idate.getDate() + 1) |
| | | idate = new Date(idate) |
| | | } |
| | | //å¦åä»ç»æä¸å»éå¹¶æ¼æ¥categories |
| | | }else{ |
| | | let tempckey = {}; |
| | | resdata.map(function(item, index) { |
| | | if (item.text != undefined && !tempckey[item.text]) { |
| | | tmpcategories.push(item.text) |
| | | tempckey[item.text] = true |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | tmpData.categories = tmpcategories |
| | | } |
| | | //æ¼æ¥series |
| | | let tempskey = {}; |
| | | resdata.map(function(item, index) { |
| | | if (item.group != undefined && !tempskey[item.group]) { |
| | | tmpseries.push({ name: item.group, data: [] }); |
| | | tempskey[item.group] = true; |
| | | } |
| | | }); |
| | | //å¦ææ²¡æè·åå°åç»åç§°(å¯è½æ¯å¸¦categoriesçæ°æ®ï¼ä¹å¯è½æ¯ä¸å¸¦ç饼å¾ç±») |
| | | if (tmpseries.length == 0) { |
| | | tmpseries = [{ name: 'é»è®¤åç»', data: [] }]; |
| | | //妿æ¯éè¦categoriesçå¾è¡¨ç±»å |
| | | if(needCategories === true){ |
| | | for (let j = 0; j < tmpcategories.length; j++) { |
| | | let seriesdata = 0; |
| | | for (let i = 0; i < resdata.length; i++) { |
| | | if (resdata[i].text == tmpcategories[j]) { |
| | | seriesdata = resdata[i].value; |
| | | } |
| | | } |
| | | tmpseries[0].data.push(seriesdata); |
| | | } |
| | | //妿æ¯é¥¼å¾ç±»çå¾è¡¨ç±»å |
| | | }else{ |
| | | for (let i = 0; i < resdata.length; i++) { |
| | | tmpseries[0].data.push({"name": resdata[i].text,"value": resdata[i].value}); |
| | | } |
| | | } |
| | | //妿æåç»å |
| | | } else { |
| | | for (let k = 0; k < tmpseries.length; k++) { |
| | | //妿æcategories |
| | | if (tmpcategories.length > 0) { |
| | | for (let j = 0; j < tmpcategories.length; j++) { |
| | | let seriesdata = 0; |
| | | for (let i = 0; i < resdata.length; i++) { |
| | | if (tmpseries[k].name == resdata[i].group && resdata[i].text == tmpcategories[j]) { |
| | | seriesdata = resdata[i].value; |
| | | } |
| | | } |
| | | tmpseries[k].data.push(seriesdata); |
| | | } |
| | | //å¦æä¼ äºgroupèæ²¡æä¼ textï¼å³æ²¡æcategoriesï¼æ£å¸¸æ
åµä¸è¿ç§æ°æ®æ¯ä¸ç¬¦åæ°æ®è¦æ±è§èçï¼ |
| | | } else { |
| | | for (let i = 0; i < resdata.length; i++) { |
| | | if (tmpseries[k].name == resdata[i].group) { |
| | | tmpseries[k].data.push(resdata[i].value); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | tmpData.series = tmpseries |
| | | //æ·è´ä¸ä¸chartDataï¼ä¸ºäºoptsåæ´åç»ä¸æ°æ®æ¥æº |
| | | this.drawData = deepCloneAssign({}, tmpData); |
| | | this.checkData(tmpData) |
| | | }, |
| | | reloading() { |
| | | if(this.errorReload === false){ |
| | | return; |
| | | } |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = null; |
| | | if (this.collection !== '') { |
| | | this.mixinDatacomLoading = false; |
| | | this.onMixinDatacomPropsChange(true); |
| | | } else { |
| | | this.beforeInit(); |
| | | } |
| | | }, |
| | | checkData(anyData) { |
| | | let cid = this.cid |
| | | //å¤ä½optsæeopts |
| | | if(this.echarts === true){ |
| | | cfe.option[cid] = deepCloneAssign({}, this.eopts); |
| | | cfe.option[cid].id = cid; |
| | | cfe.option[cid].type = this.type; |
| | | }else{ |
| | | if (this.type && cfu.type.includes(this.type)) { |
| | | cfu.option[cid] = deepCloneAssign({}, cfu[this.type], this.opts); |
| | | cfu.option[cid].canvasId = cid; |
| | | } else { |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = 'åæ°é误ï¼propsåæ°ä¸typeç±»å䏿£ç¡®'; |
| | | } |
| | | } |
| | | //æè½½categoriesåseries |
| | | let newData = deepCloneAssign({}, anyData); |
| | | if (newData.series !== undefined && newData.series.length > 0) { |
| | | this.mixinDatacomErrorMessage = null; |
| | | if (this.echarts === true) { |
| | | cfe.option[cid].chartData = newData; |
| | | this.$nextTick(()=>{ |
| | | this.init() |
| | | }) |
| | | }else{ |
| | | cfu.option[cid].categories = newData.categories; |
| | | cfu.option[cid].series = newData.series; |
| | | this.$nextTick(()=>{ |
| | | this.init() |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | resizeHandler() { |
| | | //渲æé²æ |
| | | let currTime = Date.now(); |
| | | let lastDrawTime = this.lastDrawTime?this.lastDrawTime:currTime-3000; |
| | | let duration = currTime - lastDrawTime; |
| | | if (duration < 1000) return; |
| | | let chartdom = uni |
| | | .createSelectorQuery() |
| | | // #ifndef MP-ALIPAY |
| | | .in(this) |
| | | // #endif |
| | | .select('#ChartBoxId'+this.cid) |
| | | .boundingClientRect(data => { |
| | | this.showchart = true; |
| | | if (data.width > 0 && data.height > 0) { |
| | | if (data.width !== this.cWidth || data.height !== this.cHeight) { |
| | | this.checkData(this.drawData) |
| | | } |
| | | } |
| | | }) |
| | | .exec(); |
| | | }, |
| | | getCloudData() { |
| | | if (this.mixinDatacomLoading == true) { |
| | | return; |
| | | } |
| | | this.mixinDatacomLoading = true; |
| | | this.mixinDatacomGet() |
| | | .then(res => { |
| | | this.mixinDatacomResData = res.result.data; |
| | | this.localdataInit(this.mixinDatacomResData); |
| | | }) |
| | | .catch(err => { |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = '请æ±é误ï¼' + err; |
| | | }); |
| | | }, |
| | | onMixinDatacomPropsChange(needReset, changed) { |
| | | if (needReset == true && this.collection !== '') { |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = null; |
| | | this._clearChart(); |
| | | this.getCloudData(); |
| | | } |
| | | }, |
| | | _clearChart() { |
| | | let cid = this.cid |
| | | if (this.echarts !== true && cfu.option[cid] && cfu.option[cid].context) { |
| | | const ctx = cfu.option[cid].context; |
| | | if(typeof ctx === "object" && !!!cfu.option[cid].update){ |
| | | ctx.clearRect(0, 0, this.cWidth*this.pixel, this.cHeight*this.pixel); |
| | | ctx.draw(); |
| | | } |
| | | } |
| | | }, |
| | | init() { |
| | | let cid = this.cid |
| | | let chartdom = uni |
| | | .createSelectorQuery() |
| | | // #ifndef MP-ALIPAY |
| | | .in(this) |
| | | // #endif |
| | | .select('#ChartBoxId'+cid) |
| | | .boundingClientRect(data => { |
| | | if (data.width > 0 && data.height > 0) { |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = true; |
| | | this.lastDrawTime = Date.now(); |
| | | this.cWidth = data.width; |
| | | this.cHeight = data.height; |
| | | if(this.echarts !== true){ |
| | | cfu.option[cid].background = this.background == 'rgba(0,0,0,0)' ? '#FFFFFF' : this.background; |
| | | cfu.option[cid].canvas2d = this.type2d; |
| | | cfu.option[cid].pixelRatio = this.pixel; |
| | | cfu.option[cid].animation = this.animation; |
| | | cfu.option[cid].width = data.width * this.pixel; |
| | | cfu.option[cid].height = data.height * this.pixel; |
| | | cfu.option[cid].onzoom = this.onzoom; |
| | | cfu.option[cid].ontap = this.ontap; |
| | | cfu.option[cid].ontouch = this.ontouch; |
| | | cfu.option[cid].onmouse = this.openmouse; |
| | | cfu.option[cid].onmovetip = this.onmovetip; |
| | | cfu.option[cid].tooltipShow = this.tooltipShow; |
| | | cfu.option[cid].tooltipFormat = this.tooltipFormat; |
| | | cfu.option[cid].tooltipCustom = this.tooltipCustom; |
| | | cfu.option[cid].inScrollView = this.inScrollView; |
| | | cfu.option[cid].lastDrawTime = this.lastDrawTime; |
| | | cfu.option[cid].tapLegend = this.tapLegend; |
| | | } |
| | | //妿æ¯H5æè
App端ï¼éç¨renderjs渲æå¾è¡¨ |
| | | if (this.inH5 || this.inApp) { |
| | | if (this.echarts == true) { |
| | | cfe.option[cid].ontap = this.ontap; |
| | | cfe.option[cid].onmouse = this.openmouse; |
| | | cfe.option[cid].tooltipShow = this.tooltipShow; |
| | | cfe.option[cid].tooltipFormat = this.tooltipFormat; |
| | | cfe.option[cid].tooltipCustom = this.tooltipCustom; |
| | | cfe.option[cid].lastDrawTime = this.lastDrawTime; |
| | | this.echartsOpts = deepCloneAssign({}, cfe.option[cid]); |
| | | } else { |
| | | cfu.option[cid].rotateLock = cfu.option[cid].rotate; |
| | | this.uchartsOpts = deepCloneAssign({}, cfu.option[cid]); |
| | | } |
| | | //妿æ¯å°ç¨åºç«¯ï¼éç¨uCharts渲æ |
| | | } else { |
| | | cfu.option[cid] = formatterAssign(cfu.option[cid],cfu.formatter) |
| | | this.mixinDatacomErrorMessage = null; |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = true; |
| | | this.$nextTick(()=>{ |
| | | if (this.type2d === true) { |
| | | const query = uni.createSelectorQuery().in(this) |
| | | query |
| | | .select('#' + cid) |
| | | .fields({ node: true, size: true }) |
| | | .exec(res => { |
| | | if (res[0]) { |
| | | const canvas = res[0].node; |
| | | const ctx = canvas.getContext('2d'); |
| | | cfu.option[cid].context = ctx; |
| | | cfu.option[cid].rotateLock = cfu.option[cid].rotate; |
| | | if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){ |
| | | this._updataUChart(cid) |
| | | }else{ |
| | | canvas.width = data.width * this.pixel; |
| | | canvas.height = data.height * this.pixel; |
| | | canvas._width = data.width * this.pixel; |
| | | canvas._height = data.height * this.pixel; |
| | | setTimeout(()=>{ |
| | | cfu.option[cid].context.restore(); |
| | | cfu.option[cid].context.save(); |
| | | this._newChart(cid) |
| | | },100) |
| | | } |
| | | } else { |
| | | this.showchart = false; |
| | | this.mixinDatacomErrorMessage = 'åæ°é误ï¼å¼å¯2d模å¼åï¼æªè·åå°domèç¹ï¼canvas-id:' + cid; |
| | | } |
| | | }); |
| | | } else { |
| | | if(this.inAli){ |
| | | cfu.option[cid].rotateLock = cfu.option[cid].rotate; |
| | | } |
| | | cfu.option[cid].context = uni.createCanvasContext(cid, this); |
| | | if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){ |
| | | this._updataUChart(cid) |
| | | }else{ |
| | | setTimeout(()=>{ |
| | | cfu.option[cid].context.restore(); |
| | | cfu.option[cid].context.save(); |
| | | this._newChart(cid) |
| | | },100) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | this.mixinDatacomLoading = false; |
| | | this.showchart = false; |
| | | if (this.reshow == true) { |
| | | this.mixinDatacomErrorMessage = 'å¸å±éè¯¯ï¼æªè·åå°ç¶å
ç´ å®½é«å°ºå¯¸ï¼canvas-id:' + cid; |
| | | } |
| | | } |
| | | }) |
| | | .exec(); |
| | | }, |
| | | saveImage(){ |
| | | uni.canvasToTempFilePath({ |
| | | canvasId: this.cid, |
| | | success: res=>{ |
| | | //#ifdef H5 |
| | | var a = document.createElement("a"); |
| | | a.href = res.tempFilePath; |
| | | a.download = this.cid; |
| | | a.target = '_blank' |
| | | a.click(); |
| | | //#endif |
| | | //#ifndef H5 |
| | | uni.saveImageToPhotosAlbum({ |
| | | filePath: res.tempFilePath, |
| | | success: function () { |
| | | uni.showToast({ |
| | | title: 'ä¿åæå', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | }); |
| | | //#endif |
| | | } |
| | | },this); |
| | | }, |
| | | getImage(){ |
| | | if(this.type2d == false){ |
| | | uni.canvasToTempFilePath({ |
| | | canvasId: this.cid, |
| | | success: res=>{ |
| | | this.emitMsg({name: 'getImage', params: {type:"getImage", base64: res.tempFilePath}}); |
| | | } |
| | | },this); |
| | | }else{ |
| | | const query = uni.createSelectorQuery().in(this) |
| | | query |
| | | .select('#' + this.cid) |
| | | .fields({ node: true, size: true }) |
| | | .exec(res => { |
| | | if (res[0]) { |
| | | const canvas = res[0].node; |
| | | this.emitMsg({name: 'getImage', params: {type:"getImage", base64: canvas.toDataURL('image/png')}}); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | // #ifndef APP-VUE || H5 |
| | | _newChart(cid) { |
| | | if (this.mixinDatacomLoading == true) { |
| | | return; |
| | | } |
| | | this.showchart = true; |
| | | cfu.instance[cid] = new uCharts(cfu.option[cid]); |
| | | cfu.instance[cid].addEventListener('renderComplete', () => { |
| | | this.emitMsg({name: 'complete', params: {type:"complete", complete: true, id: cid, opts: cfu.instance[cid].opts}}); |
| | | cfu.instance[cid].delEventListener('renderComplete') |
| | | }); |
| | | cfu.instance[cid].addEventListener('scrollLeft', () => { |
| | | this.emitMsg({name: 'scrollLeft', params: {type:"scrollLeft", scrollLeft: true, id: cid, opts: cfu.instance[cid].opts}}); |
| | | }); |
| | | cfu.instance[cid].addEventListener('scrollRight', () => { |
| | | this.emitMsg({name: 'scrollRight', params: {type:"scrollRight", scrollRight: true, id: cid, opts: cfu.instance[cid].opts}}); |
| | | }); |
| | | }, |
| | | _updataUChart(cid) { |
| | | cfu.instance[cid].updateData(cfu.option[cid]) |
| | | }, |
| | | _tooltipDefault(item, category, index, opts) { |
| | | if (category) { |
| | | let data = item.data |
| | | if(typeof item.data === "object"){ |
| | | data = item.data.value |
| | | } |
| | | return category + ' ' + item.name + ':' + data; |
| | | } else { |
| | | if (item.properties && item.properties.name) { |
| | | return item.properties.name; |
| | | } else { |
| | | return item.name + ':' + item.data; |
| | | } |
| | | } |
| | | }, |
| | | _showTooltip(e) { |
| | | let cid = this.cid |
| | | let tc = cfu.option[cid].tooltipCustom |
| | | if (tc && tc !== undefined && tc !== null) { |
| | | let offset = undefined; |
| | | if (tc.x >= 0 && tc.y >= 0) { |
| | | offset = { x: tc.x, y: tc.y + 10 }; |
| | | } |
| | | cfu.instance[cid].showToolTip(e, { |
| | | index: tc.index, |
| | | offset: offset, |
| | | textList: tc.textList, |
| | | formatter: (item, category, index, opts) => { |
| | | if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) { |
| | | return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts); |
| | | } else { |
| | | return this._tooltipDefault(item, category, index, opts); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | cfu.instance[cid].showToolTip(e, { |
| | | formatter: (item, category, index, opts) => { |
| | | if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) { |
| | | return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts); |
| | | } else { |
| | | return this._tooltipDefault(item, category, index, opts); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | _tap(e,move) { |
| | | let cid = this.cid |
| | | let currentIndex = null; |
| | | let legendIndex = null; |
| | | if (this.inScrollView === true || this.inAli) { |
| | | let chartdom = uni |
| | | .createSelectorQuery() |
| | | // #ifndef MP-ALIPAY |
| | | .in(this) |
| | | .select('#ChartBoxId'+cid) |
| | | // #endif |
| | | // #ifdef MP-ALIPAY |
| | | .select('#'+this.cid) |
| | | // #endif |
| | | .boundingClientRect(data => { |
| | | e.changedTouches=[]; |
| | | if (this.inAli) { |
| | | e.changedTouches.unshift({ x: e.detail.clientX - data.left, y: e.detail.clientY - data.top}); |
| | | }else{ |
| | | e.changedTouches.unshift({ x: e.detail.x - data.left, y: e.detail.y - data.top - this.pageScrollTop}); |
| | | } |
| | | if(move){ |
| | | if (this.tooltipShow === true) { |
| | | this._showTooltip(e); |
| | | } |
| | | }else{ |
| | | currentIndex = cfu.instance[cid].getCurrentDataIndex(e); |
| | | legendIndex = cfu.instance[cid].getLegendDataIndex(e); |
| | | if(this.tapLegend === true){ |
| | | cfu.instance[cid].touchLegend(e); |
| | | } |
| | | if (this.tooltipShow === true) { |
| | | this._showTooltip(e); |
| | | } |
| | | this.emitMsg({name: 'getIndex', params: { type:"getIndex", event:{ x: e.detail.x - data.left, y: e.detail.y - data.top }, currentIndex: currentIndex, legendIndex: legendIndex, id: cid, opts: cfu.instance[cid].opts}}); |
| | | } |
| | | }) |
| | | .exec(); |
| | | } else { |
| | | if(move){ |
| | | if (this.tooltipShow === true) { |
| | | this._showTooltip(e); |
| | | } |
| | | }else{ |
| | | e.changedTouches=[]; |
| | | e.changedTouches.unshift({ x: e.detail.x - e.currentTarget.offsetLeft, y: e.detail.y - e.currentTarget.offsetTop }); |
| | | currentIndex = cfu.instance[cid].getCurrentDataIndex(e); |
| | | legendIndex = cfu.instance[cid].getLegendDataIndex(e); |
| | | if(this.tapLegend === true){ |
| | | cfu.instance[cid].touchLegend(e); |
| | | } |
| | | if (this.tooltipShow === true) { |
| | | this._showTooltip(e); |
| | | } |
| | | this.emitMsg({name: 'getIndex', params: {type:"getIndex", event:{ x: e.detail.x, y: e.detail.y - e.currentTarget.offsetTop }, currentIndex: currentIndex, legendIndex: legendIndex, id: cid, opts: cfu.instance[cid].opts}}); |
| | | } |
| | | } |
| | | }, |
| | | _touchStart(e) { |
| | | let cid = this.cid |
| | | lastMoveTime=Date.now(); |
| | | if(cfu.option[cid].enableScroll === true && e.touches.length == 1){ |
| | | cfu.instance[cid].scrollStart(e); |
| | | } |
| | | this.emitMsg({name:'getTouchStart', params:{type:"touchStart", event:e.changedTouches[0], id:cid, opts: cfu.instance[cid].opts}}); |
| | | }, |
| | | _touchMove(e) { |
| | | let cid = this.cid |
| | | let currMoveTime = Date.now(); |
| | | let duration = currMoveTime - lastMoveTime; |
| | | let touchMoveLimit = cfu.option[cid].touchMoveLimit || 24; |
| | | if (duration < Math.floor(1000 / touchMoveLimit)) return;//æ¯ç§60帧 |
| | | lastMoveTime = currMoveTime; |
| | | if(cfu.option[cid].enableScroll === true && e.changedTouches.length == 1){ |
| | | cfu.instance[cid].scroll(e); |
| | | } |
| | | if(this.ontap === true && cfu.option[cid].enableScroll === false && this.onmovetip === true){ |
| | | this._tap(e,true) |
| | | } |
| | | if(this.ontouch === true && cfu.option[cid].enableScroll === true && this.onzoom === true && e.changedTouches.length == 2){ |
| | | cfu.instance[cid].dobuleZoom(e); |
| | | } |
| | | this.emitMsg({name: 'getTouchMove', params: {type:"touchMove", event:e.changedTouches[0], id: cid, opts: cfu.instance[cid].opts}}); |
| | | }, |
| | | _touchEnd(e) { |
| | | let cid = this.cid |
| | | if(cfu.option[cid].enableScroll === true && e.touches.length == 0){ |
| | | cfu.instance[cid].scrollEnd(e); |
| | | } |
| | | this.emitMsg({name:'getTouchEnd', params:{type:"touchEnd", event:e.changedTouches[0], id:cid, opts: cfu.instance[cid].opts}}); |
| | | if(this.ontap === true && cfu.option[cid].enableScroll === false && this.onmovetip === true){ |
| | | this._tap(e,true) |
| | | } |
| | | }, |
| | | // #endif |
| | | _error(e) { |
| | | this.mixinDatacomErrorMessage = e.detail.errMsg; |
| | | }, |
| | | emitMsg(msg) { |
| | | this.$emit(msg.name, msg.params); |
| | | }, |
| | | getRenderType() { |
| | | //鲿¢å¦æå¼å¯echartsä¸ç¶å
ç´ ä¸ºv-ifçæ
åµrenderjsçå¬ä¸å°propååçé®é¢ |
| | | if(this.echarts===true && this.mixinDatacomLoading===false){ |
| | | this.beforeInit() |
| | | } |
| | | }, |
| | | toJSON(){ |
| | | return this |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <!-- #ifdef APP-VUE || H5 --> |
| | | <script module="rdcharts" lang="renderjs"> |
| | | import uChartsRD from '../../js_sdk/u-charts/u-charts.js'; |
| | | import cfu from '../../js_sdk/u-charts/config-ucharts.js'; |
| | | import cfe from '../../js_sdk/u-charts/config-echarts.js'; |
| | | |
| | | var that = {}; |
| | | var rootdom = null; |
| | | |
| | | function rddeepCloneAssign(origin = {}, ...args) { |
| | | for (let i in args) { |
| | | for (let key in args[i]) { |
| | | if (args[i].hasOwnProperty(key)) { |
| | | origin[key] = args[i][key] && typeof args[i][key] === 'object' ? rddeepCloneAssign(Array.isArray(args[i][key]) ? [] : {}, origin[key], args[i][key]) : args[i][key]; |
| | | } |
| | | } |
| | | } |
| | | return origin; |
| | | } |
| | | |
| | | function rdformatterAssign(args,formatter) { |
| | | for (let key in args) { |
| | | if(args.hasOwnProperty(key) && args[key] !== null && typeof args[key] === 'object'){ |
| | | rdformatterAssign(args[key],formatter) |
| | | }else if(key === 'format' && typeof args[key] === 'string'){ |
| | | args['formatter'] = formatter[args[key]] ? formatter[args[key]] : undefined; |
| | | } |
| | | } |
| | | return args; |
| | | } |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | rid:null |
| | | } |
| | | }, |
| | | mounted() { |
| | | rootdom = {top:0,left:0} |
| | | let dm = document.querySelectorAll('uni-main')[0] |
| | | if(dm === undefined){ |
| | | dm = document.querySelectorAll('uni-page-wrapper')[0] |
| | | } |
| | | if(dm !== undefined){ |
| | | rootdom = {top:dm.offsetTop,left:dm.offsetLeft} |
| | | } |
| | | setTimeout(()=>{ |
| | | if(this.rid === null){ |
| | | this.$ownerInstance && this.$ownerInstance.callMethod('getRenderType') |
| | | } |
| | | },200) |
| | | }, |
| | | destroyed(){ |
| | | delete cfu.option[this.rid] |
| | | delete cfu.instance[this.rid] |
| | | delete cfe.option[this.rid] |
| | | delete cfe.instance[this.rid] |
| | | }, |
| | | methods: { |
| | | //==============以䏿¯EChartsçæ¹æ³==================== |
| | | ecinit(newVal, oldVal, owner, instance){ |
| | | let cid = JSON.stringify(newVal.id) |
| | | this.rid = cid |
| | | that[cid] = this.$ownerInstance || instance |
| | | let eopts = JSON.parse(JSON.stringify(newVal)) |
| | | let type = eopts.type; |
| | | //è½½å
¥å¹¶è¦çé»è®¤é
ç½® |
| | | if (type && cfe.type.includes(type)) { |
| | | cfe.option[cid] = rddeepCloneAssign({}, cfe[type], eopts); |
| | | }else{ |
| | | cfe.option[cid] = rddeepCloneAssign({}, eopts); |
| | | } |
| | | let newData = eopts.chartData; |
| | | if(newData){ |
| | | //æè½½categoriesåseries |
| | | if(cfe.option[cid].xAxis && cfe.option[cid].xAxis.type && cfe.option[cid].xAxis.type === 'category'){ |
| | | cfe.option[cid].xAxis.data = newData.categories |
| | | } |
| | | if(cfe.option[cid].yAxis && cfe.option[cid].yAxis.type && cfe.option[cid].yAxis.type === 'category'){ |
| | | cfe.option[cid].yAxis.data = newData.categories |
| | | } |
| | | cfe.option[cid].series = [] |
| | | for (var i = 0; i < newData.series.length; i++) { |
| | | cfe.option[cid].seriesTemplate = cfe.option[cid].seriesTemplate ? cfe.option[cid].seriesTemplate : {} |
| | | let Template = rddeepCloneAssign({},cfe.option[cid].seriesTemplate,newData.series[i]) |
| | | cfe.option[cid].series.push(Template) |
| | | } |
| | | } |
| | | |
| | | if (typeof window.echarts === 'object') { |
| | | this.newEChart() |
| | | }else{ |
| | | const script = document.createElement('script') |
| | | script.src = './uni_modules/qiun-data-charts/static/app-plus/echarts.min.js' |
| | | const rooturl = window.location.origin |
| | | const directory = instance.getDataset().directory |
| | | script.src = rooturl + directory + 'uni_modules/qiun-data-charts/static/h5/echarts.min.js' |
| | | script.onload = this.newEChart |
| | | document.head.appendChild(script) |
| | | } |
| | | }, |
| | | ecresize(newVal, oldVal, owner, instance){ |
| | | if(cfe.instance[this.rid]){ |
| | | cfe.instance[this.rid].resize() |
| | | } |
| | | }, |
| | | newEChart(){ |
| | | let cid = this.rid |
| | | if(cfe.instance[cid] === undefined){ |
| | | cfe.instance[cid] = echarts.init(that[cid].$el.children[0]) |
| | | //ontapå¼å¯åæè§¦åclickäºä»¶ |
| | | if(cfe.option[cid].ontap === true){ |
| | | cfe.instance[cid].on('click', resdata => { |
| | | let event = JSON.parse(JSON.stringify({ |
| | | x:resdata.event.offsetX,y:resdata.event.offsetY |
| | | })) |
| | | that[cid].callMethod('emitMsg',{name:"getIndex", params:{type:"getIndex", event:event, currentIndex:resdata.dataIndex, value:resdata.data, seriesName: resdata.seriesName,id:cid}}) |
| | | }) |
| | | // å¢å EChartsçhighlightæ¶æ¯ï¼å®ç°æä¸ç§»å¨è¿åç´¢å¼åè½ãadd by onefish åå»ºäº 2021-12-11 09:50 |
| | | cfe.instance[cid].on('highlight', resdata => { |
| | | that[cid].callMethod('emitMsg',{name:"getHighlight", params:{type:"highlight", res:resdata, id:cid}}) |
| | | }) |
| | | } |
| | | this.updataEChart(cid,cfe.option[cid]) |
| | | }else{ |
| | | this.updataEChart(cid,cfe.option[cid]) |
| | | } |
| | | }, |
| | | updataEChart(cid,option){ |
| | | //æ¿æ¢optionå
format屿§ä¸ºformatterçé¢å®ä¹æ¹æ³ |
| | | option = rdformatterAssign(option,cfe.formatter) |
| | | if(option.tooltip){ |
| | | option.tooltip.show = option.tooltipShow?true:false; |
| | | option.tooltip.position = this.tooltipPosition() |
| | | //tooltipFormatæ¹æ³ï¼æ¿æ¢ç»ä»¶çtooltipFormat为config-echarts.jså
对åºçæ¹æ³ |
| | | if (typeof option.tooltipFormat === 'string' && cfe.formatter[option.tooltipFormat]) { |
| | | option.tooltip.formatter = option.tooltip.formatter ? option.tooltip.formatter : cfe.formatter[option.tooltipFormat] |
| | | } |
| | | } |
| | | // é¢è²æ¸åæ·»å çæ¹æ³ |
| | | if (option.series) { |
| | | for (let i in option.series) { |
| | | let linearGradient = option.series[i].linearGradient |
| | | if (linearGradient) { |
| | | option.series[i].color = new echarts.graphic.LinearGradient(linearGradient[0],linearGradient[1],linearGradient[2],linearGradient[3],linearGradient[4]) |
| | | } |
| | | } |
| | | } |
| | | cfe.instance[cid].setOption(option, option.notMerge) |
| | | cfe.instance[cid].on('finished', function(){ |
| | | that[cid].callMethod('emitMsg',{name:"complete",params:{type:"complete",complete:true,id:cid}}) |
| | | if(cfe.instance[cid]){ |
| | | cfe.instance[cid].off('finished') |
| | | } |
| | | }); |
| | | |
| | | //ä¿®å¤initåå§åå®ä¾è·å宽é«ä¸æ£ç¡®é®é¢ |
| | | if( |
| | | typeof that[cid].$el.children[0].clientWidth != 'undefined' && |
| | | ( |
| | | Math.abs( that[cid].$el.children[0].clientWidth - cfe.instance[cid].getWidth() )>3 || |
| | | Math.abs( that[cid].$el.children[0].clientHeight - cfe.instance[cid].getHeight() )>3 |
| | | ) |
| | | ){this.ecresize();} |
| | | }, |
| | | tooltipPosition(){ |
| | | return (point, params, dom, rect, size) => { |
| | | let x = point[0] |
| | | let y = point[1] |
| | | let viewWidth = size.viewSize[0] |
| | | let viewHeight = size.viewSize[1] |
| | | let boxWidth = size.contentSize[0] |
| | | let boxHeight = size.contentSize[1] |
| | | let posX = x + 30 |
| | | let posY = y + 30 |
| | | if (posX + boxWidth > viewWidth) { |
| | | posX = x - boxWidth - 30 |
| | | } |
| | | if (posY + boxHeight > viewHeight) { |
| | | posY = y - boxHeight - 30 |
| | | } |
| | | return [posX, posY] |
| | | } |
| | | }, |
| | | //==============以䏿¯uChartsçæ¹æ³==================== |
| | | ucinit(newVal, oldVal, owner, instance){ |
| | | if(JSON.stringify(newVal) == JSON.stringify(oldVal)){ |
| | | return; |
| | | } |
| | | if(!newVal.canvasId){ |
| | | return; |
| | | } |
| | | let cid = JSON.parse(JSON.stringify(newVal.canvasId)) |
| | | this.rid = cid |
| | | that[cid] = this.$ownerInstance || instance |
| | | cfu.option[cid] = JSON.parse(JSON.stringify(newVal)) |
| | | cfu.option[cid] = rdformatterAssign(cfu.option[cid],cfu.formatter) |
| | | let canvasdom = document.getElementById(cid) |
| | | if(canvasdom && canvasdom.children[0]){ |
| | | cfu.option[cid].context = canvasdom.children[0].getContext("2d") |
| | | if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){ |
| | | this.updataUChart() |
| | | }else{ |
| | | setTimeout(()=>{ |
| | | cfu.option[cid].context.restore(); |
| | | cfu.option[cid].context.save(); |
| | | this.newUChart() |
| | | },100) |
| | | } |
| | | } |
| | | }, |
| | | newUChart() { |
| | | let cid = this.rid |
| | | cfu.instance[cid] = new uChartsRD(cfu.option[cid]) |
| | | cfu.instance[cid].addEventListener('renderComplete', () => { |
| | | that[cid].callMethod('emitMsg',{name:"complete",params:{type:"complete",complete:true,id:cid, opts: cfu.instance[cid].opts}}) |
| | | cfu.instance[cid].delEventListener('renderComplete') |
| | | }); |
| | | cfu.instance[cid].addEventListener('scrollLeft', () => { |
| | | that[cid].callMethod('emitMsg',{name:"scrollLeft",params:{type:"scrollLeft",scrollLeft:true,id:cid, opts: cfu.instance[cid].opts}}) |
| | | }); |
| | | cfu.instance[cid].addEventListener('scrollRight', () => { |
| | | that[cid].callMethod('emitMsg',{name:"scrollRight",params:{type:"scrollRight",scrollRight:true,id:cid, opts: cfu.instance[cid].opts}}) |
| | | }); |
| | | }, |
| | | updataUChart() { |
| | | let cid = this.rid |
| | | cfu.instance[cid].updateData(cfu.option[cid]) |
| | | }, |
| | | tooltipDefault(item, category, index, opts) { |
| | | if (category) { |
| | | let data = item.data |
| | | if(typeof item.data === "object"){ |
| | | data = item.data.value |
| | | } |
| | | return category + ' ' + item.name + ':' + data; |
| | | } else { |
| | | if (item.properties && item.properties.name) { |
| | | return item.properties.name ; |
| | | } else { |
| | | return item.name + ':' + item.data; |
| | | } |
| | | } |
| | | }, |
| | | showTooltip(e,cid) { |
| | | let tc = cfu.option[cid].tooltipCustom |
| | | if (tc && tc !== undefined && tc !== null) { |
| | | let offset = undefined; |
| | | if (tc.x >= 0 && tc.y >= 0) { |
| | | offset = { x: tc.x, y: tc.y + 10 }; |
| | | } |
| | | cfu.instance[cid].showToolTip(e, { |
| | | index: tc.index, |
| | | offset: offset, |
| | | textList: tc.textList, |
| | | formatter: (item, category, index, opts) => { |
| | | if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) { |
| | | return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts); |
| | | } else { |
| | | return this.tooltipDefault(item, category, index, opts); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | cfu.instance[cid].showToolTip(e, { |
| | | formatter: (item, category, index, opts) => { |
| | | if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) { |
| | | return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts); |
| | | } else { |
| | | return this.tooltipDefault(item, category, index, opts); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | tap(e) { |
| | | let cid = this.rid |
| | | let ontap = cfu.option[cid].ontap |
| | | let tooltipShow = cfu.option[cid].tooltipShow |
| | | let tapLegend = cfu.option[cid].tapLegend |
| | | if(ontap == false) return; |
| | | let currentIndex=null |
| | | let legendIndex=null |
| | | let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect() |
| | | let tmpe = {} |
| | | if(e.detail.x){//tapæè
clickçäºä»¶ |
| | | tmpe = { x: e.detail.x - rchartdom.left, y:e.detail.y - rchartdom.top + rootdom.top} |
| | | }else{//mouseçäºä»¶ |
| | | tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top} |
| | | } |
| | | e.changedTouches = []; |
| | | e.changedTouches.unshift(tmpe) |
| | | currentIndex=cfu.instance[cid].getCurrentDataIndex(e) |
| | | legendIndex=cfu.instance[cid].getLegendDataIndex(e) |
| | | if(tapLegend === true){ |
| | | cfu.instance[cid].touchLegend(e); |
| | | } |
| | | if(tooltipShow==true){ |
| | | this.showTooltip(e,cid) |
| | | } |
| | | that[cid].callMethod('emitMsg',{name:"getIndex",params:{type:"getIndex",event:tmpe,currentIndex:currentIndex,legendIndex:legendIndex,id:cid, opts: cfu.instance[cid].opts}}) |
| | | }, |
| | | touchStart(e) { |
| | | let cid = this.rid |
| | | let ontouch = cfu.option[cid].ontouch |
| | | if(ontouch == false) return; |
| | | if(cfu.option[cid].enableScroll === true && e.touches.length == 1){ |
| | | cfu.instance[cid].scrollStart(e); |
| | | } |
| | | that[cid].callMethod('emitMsg',{name:"getTouchStart",params:{type:"touchStart",event:e.changedTouches[0],id:cid, opts: cfu.instance[cid].opts}}) |
| | | }, |
| | | touchMove(e) { |
| | | let cid = this.rid |
| | | let ontouch = cfu.option[cid].ontouch |
| | | if(ontouch == false) return; |
| | | if(cfu.option[cid].enableScroll === true && e.changedTouches.length == 1){ |
| | | cfu.instance[cid].scroll(e); |
| | | } |
| | | if(cfu.option[cid].ontap === true && cfu.option[cid].enableScroll === false && cfu.option[cid].onmovetip === true){ |
| | | let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect() |
| | | let tmpe = { x: e.changedTouches[0].clientX - rchartdom.left, y:e.changedTouches[0].clientY - rchartdom.top + rootdom.top} |
| | | e.changedTouches.unshift(tmpe) |
| | | if(cfu.option[cid].tooltipShow === true){ |
| | | this.showTooltip(e,cid) |
| | | } |
| | | } |
| | | if(ontouch === true && cfu.option[cid].enableScroll === true && cfu.option[cid].onzoom === true && e.changedTouches.length == 2){ |
| | | cfu.instance[cid].dobuleZoom(e); |
| | | } |
| | | that[cid].callMethod('emitMsg',{name:"getTouchMove",params:{type:"touchMove",event:e.changedTouches[0],id:cid, opts: cfu.instance[cid].opts}}) |
| | | }, |
| | | touchEnd(e) { |
| | | let cid = this.rid |
| | | let ontouch = cfu.option[cid].ontouch |
| | | if(ontouch == false) return; |
| | | if(cfu.option[cid].enableScroll === true && e.touches.length == 0){ |
| | | cfu.instance[cid].scrollEnd(e); |
| | | } |
| | | that[cid].callMethod('emitMsg',{name:"getTouchEnd",params:{type:"touchEnd",event:e.changedTouches[0],id:cid, opts: cfu.instance[cid].opts}}) |
| | | }, |
| | | mouseDown(e) { |
| | | let cid = this.rid |
| | | let onmouse = cfu.option[cid].onmouse |
| | | if(onmouse == false) return; |
| | | let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect() |
| | | let tmpe = {} |
| | | tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top} |
| | | e.changedTouches = []; |
| | | e.changedTouches.unshift(tmpe) |
| | | cfu.instance[cid].scrollStart(e) |
| | | cfu.option[cid].mousedown=true; |
| | | that[cid].callMethod('emitMsg',{name:"getTouchStart",params:{type:"mouseDown",event:tmpe,id:cid, opts: cfu.instance[cid].opts}}) |
| | | }, |
| | | mouseMove(e) { |
| | | let cid = this.rid |
| | | let onmouse = cfu.option[cid].onmouse |
| | | let tooltipShow = cfu.option[cid].tooltipShow |
| | | if(onmouse == false) return; |
| | | let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect() |
| | | let tmpe = {} |
| | | tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top} |
| | | e.changedTouches = []; |
| | | e.changedTouches.unshift(tmpe) |
| | | if(cfu.option[cid].mousedown){ |
| | | cfu.instance[cid].scroll(e) |
| | | that[cid].callMethod('emitMsg',{name:"getTouchMove",params:{type:"mouseMove",event:tmpe,id:cid, opts: cfu.instance[cid].opts}}) |
| | | }else if(cfu.instance[cid]){ |
| | | if(tooltipShow==true){ |
| | | this.showTooltip(e,cid) |
| | | } |
| | | } |
| | | }, |
| | | mouseUp(e) { |
| | | let cid = this.rid |
| | | let onmouse = cfu.option[cid].onmouse |
| | | if(onmouse == false) return; |
| | | let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect() |
| | | let tmpe = {} |
| | | tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top} |
| | | e.changedTouches = []; |
| | | e.changedTouches.unshift(tmpe) |
| | | cfu.instance[cid].scrollEnd(e) |
| | | cfu.option[cid].mousedown=false; |
| | | that[cid].callMethod('emitMsg',{name:"getTouchEnd",params:{type:"mouseUp",event:tmpe,id:cid, opts: cfu.instance[cid].opts}}) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <!-- #endif --> |
| | | |
| | | <style scoped> |
| | | .chartsview { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | flex: 1; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * uCharts® |
| | | * 髿§è½è·¨å¹³å°å¾è¡¨åºï¼æ¯æH5ãAPPãå°ç¨åºï¼å¾®ä¿¡/æ¯ä»å®/ç¾åº¦/头æ¡/QQ/360ï¼ãVueãTaroçæ¯æcanvasçæ¡æ¶å¹³å° |
| | | * Copyright (c) 2021 QIUN®ç§äº https://www.ucharts.cn All rights reserved. |
| | | * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
| | | * å¤å¶ä½¿ç¨è¯·ä¿çæ¬æ®µæ³¨éï¼æè°¢æ¯æå¼æºï¼ |
| | | * |
| | | * uChartsÂ®å®æ¹ç½ç« |
| | | * https://www.uCharts.cn |
| | | * |
| | | * 弿ºå°å: |
| | | * https://gitee.com/uCharts/uCharts |
| | | * |
| | | * uni-appæä»¶å¸åºå°åï¼ |
| | | * http://ext.dcloud.net.cn/plugin?id=271 |
| | | * |
| | | */ |
| | | |
| | | // 主é¢é¢è²é
ç½®ï¼å¦æ¯ä¸ªå¾è¡¨ç±»åéè¦ä¸å主é¢ï¼è¯·å¨å¯¹åºå¾è¡¨ç±»å䏿´æ¹color屿§ |
| | | const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; |
| | | |
| | | //äºä»¶è½¬æ¢å½æ°ï¼ä¸»è¦ç¨ä½æ ¼å¼åx轴为æ¶é´è½´ï¼æ ¹æ®éæ±èªè¡ä¿®æ¹ |
| | | const formatDateTime = (timeStamp, returnType)=>{ |
| | | var date = new Date(); |
| | | date.setTime(timeStamp * 1000); |
| | | var y = date.getFullYear(); |
| | | var m = date.getMonth() + 1; |
| | | m = m < 10 ? ('0' + m) : m; |
| | | var d = date.getDate(); |
| | | d = d < 10 ? ('0' + d) : d; |
| | | var h = date.getHours(); |
| | | h = h < 10 ? ('0' + h) : h; |
| | | var minute = date.getMinutes(); |
| | | var second = date.getSeconds(); |
| | | minute = minute < 10 ? ('0' + minute) : minute; |
| | | second = second < 10 ? ('0' + second) : second; |
| | | if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;} |
| | | if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;} |
| | | if(returnType == 'h:m'){return h +':' + minute;} |
| | | if(returnType == 'h:m:s'){return h +':' + minute +':' + second;} |
| | | return [y, m, d, h, minute, second]; |
| | | } |
| | | |
| | | const cfu = { |
| | | //demotype为èªå®ä¹å¾è¡¨ç±»åï¼ä¸è¬ä¸éè¦èªå®ä¹å¾è¡¨ç±»åï¼åªéè¦æ¹æ ¹èç¹ä¸å¯¹åºçç±»åå³å¯ |
| | | "type":["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"], |
| | | "range":["饼ç¶å¾","åç¯å¾","ç«ç°å¾","è¯äºå¾","æ¼æå¾","å°å¾","åå¼§è¿åº¦æ¡","æçº¿å¾","æ±ç¶å¾","山峰å¾","æ¡ç¶å¾","åºåå¾","é·è¾¾å¾","仪表ç","K线å¾","æ··åå¾","æ¶é´è½´æçº¿","æ¶é´è½´åºå","æ£ç¹å¾","æ°æ³¡å¾","èªå®ä¹ç±»å"], |
| | | //å¢å èªå®ä¹å¾è¡¨ç±»åï¼å¦æéè¦categoriesï¼è¯·å¨è¿éå å
¥æ¨çå¾è¡¨ç±»åï¼ä¾å¦æåç"demotype" |
| | | //èªå®ä¹ç±»åæ¶éè¦æ³¨æ"tline","tarea","scatter","bubble"çæ¶é´è½´ï¼ç¢éxè½´ï¼ç±»å¾è¡¨ï¼æ²¡æcategoriesï¼ä¸éè¦å å
¥categories |
| | | "categories":["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"], |
| | | //instance为å®ä¾åéæ¿è½½å±æ§ï¼ä¸è¦å é¤ |
| | | "instance":{}, |
| | | //option为optsåeoptsæ¿è½½å±æ§ï¼ä¸è¦å é¤ |
| | | "option":{}, |
| | | //ä¸é¢æ¯èªå®ä¹formaté
ç½®ï¼å é¤H5端å¤çå
¶ä»ç«¯æ æ³éè¿propsä¼ é彿°ï¼åªè½éè¿æ¤å±æ§å¯¹åºä¸æ çæ¹å¼æ¥æ¿æ¢ |
| | | "formatter":{ |
| | | "yAxisDemo1":function(val, index, opts){return val+'å
'}, |
| | | "yAxisDemo2":function(val, index, opts){return val.toFixed(2)}, |
| | | "xAxisDemo1":function(val, index, opts){return val+'å¹´';}, |
| | | "xAxisDemo2":function(val, index, opts){return formatDateTime(val,'h:m')}, |
| | | "seriesDemo1":function(val, index, series, opts){return val+'å
'}, |
| | | "tooltipDemo1":function(item, category, index, opts){ |
| | | if(index==0){ |
| | | return 'é便ç¨'+item.data+'å¹´' |
| | | }else{ |
| | | return 'å
¶ä»ææ²¡æ¹'+item.data+'天' |
| | | } |
| | | }, |
| | | "pieDemo":function(val, index, series, opts){ |
| | | if(index !== undefined){ |
| | | return series[index].name+'ï¼'+series[index].data+'å
' |
| | | } |
| | | }, |
| | | }, |
| | | //è¿éæ¼ç¤ºäºèªå®ä¹æ¨çå¾è¡¨ç±»åçoptionï¼å¯ä»¥éæå½åï¼ä¹åå¨ç»ä»¶ä¸ type="demotype" åï¼ç»ä»¶ä¼è°ç¨è¿ä¸ªè±æ¬å·éçoptionï¼å¦æç»ä»¶ä¸è¿åå¨optsåæ°ï¼ä¼å°demotypeä¸optsä¸optionå并忏²æå¾è¡¨ã |
| | | "demotype":{ |
| | | //æè¿éææ²çº¿å¾å½åäºèªå®ä¹å¾è¡¨ç±»åï¼æ¨å¯ä»¥æ ¹æ®éè¦éææå®ç±»åæé
ç½® |
| | | "type": "line", |
| | | "color": color, |
| | | "padding": [15,10,0,15], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | }, |
| | | "yAxis": { |
| | | "gridType": "dash", |
| | | "dashLength": 2, |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "line": { |
| | | "type": "curve", |
| | | "width": 2 |
| | | }, |
| | | } |
| | | }, |
| | | //ä¸é¢æ¯èªå®ä¹é
ç½®ï¼è¯·æ·»å é¡¹ç®æéçéç¨é
ç½® |
| | | "pie":{ |
| | | "type": "pie", |
| | | "color": color, |
| | | "padding": [5,5,5,5], |
| | | "extra": { |
| | | "pie": { |
| | | "activeOpacity": 0.5, |
| | | "activeRadius": 10, |
| | | "offsetAngle": 0, |
| | | "labelWidth": 15, |
| | | "border": true, |
| | | "borderWidth": 3, |
| | | "borderColor": "#FFFFFF" |
| | | }, |
| | | } |
| | | }, |
| | | "ring":{ |
| | | "type": "ring", |
| | | "color": color, |
| | | "padding": [5,5,5,5], |
| | | "rotate": false, |
| | | "dataLabel": true, |
| | | "legend": { |
| | | "show": true, |
| | | "position": "right", |
| | | "lineHeight": 25, |
| | | }, |
| | | "title": { |
| | | "name": "æ¶çç", |
| | | "fontSize": 15, |
| | | "color": "#666666" |
| | | }, |
| | | "subtitle": { |
| | | "name": "70%", |
| | | "fontSize": 25, |
| | | "color": "#7cb5ec" |
| | | }, |
| | | "extra": { |
| | | "ring": { |
| | | "ringWidth":30, |
| | | "activeOpacity": 0.5, |
| | | "activeRadius": 10, |
| | | "offsetAngle": 0, |
| | | "labelWidth": 15, |
| | | "border": true, |
| | | "borderWidth": 3, |
| | | "borderColor": "#FFFFFF" |
| | | }, |
| | | }, |
| | | }, |
| | | "rose":{ |
| | | "type": "rose", |
| | | "color": color, |
| | | "padding": [5,5,5,5], |
| | | "legend": { |
| | | "show": true, |
| | | "position": "left", |
| | | "lineHeight": 25, |
| | | }, |
| | | "extra": { |
| | | "rose": { |
| | | "type": "area", |
| | | "minRadius": 50, |
| | | "activeOpacity": 0.5, |
| | | "activeRadius": 10, |
| | | "offsetAngle": 0, |
| | | "labelWidth": 15, |
| | | "border": false, |
| | | "borderWidth": 2, |
| | | "borderColor": "#FFFFFF" |
| | | }, |
| | | } |
| | | }, |
| | | "word":{ |
| | | "type": "word", |
| | | "color": color, |
| | | "extra": { |
| | | "word": { |
| | | "type": "normal", |
| | | "autoColors": false |
| | | } |
| | | } |
| | | }, |
| | | "funnel":{ |
| | | "type": "funnel", |
| | | "color": color, |
| | | "padding": [15,15,0,15], |
| | | "extra": { |
| | | "funnel": { |
| | | "activeOpacity": 0.3, |
| | | "activeWidth": 10, |
| | | "border": true, |
| | | "borderWidth": 2, |
| | | "borderColor": "#FFFFFF", |
| | | "fillOpacity": 1, |
| | | "labelAlign": "right" |
| | | }, |
| | | } |
| | | }, |
| | | "map":{ |
| | | "type": "map", |
| | | "color": color, |
| | | "padding": [0,0,0,0], |
| | | "dataLabel": true, |
| | | "extra": { |
| | | "map": { |
| | | "border": true, |
| | | "borderWidth": 1, |
| | | "borderColor": "#666666", |
| | | "fillOpacity": 0.6, |
| | | "activeBorderColor": "#F04864", |
| | | "activeFillColor": "#FACC14", |
| | | "activeFillOpacity": 1 |
| | | }, |
| | | } |
| | | }, |
| | | "arcbar":{ |
| | | "type": "arcbar", |
| | | "color": color, |
| | | "title": { |
| | | "name": "ç¾åæ¯", |
| | | "fontSize": 25, |
| | | "color": "#00FF00" |
| | | }, |
| | | "subtitle": { |
| | | "name": "é»è®¤æ é¢", |
| | | "fontSize": 15, |
| | | "color": "#666666" |
| | | }, |
| | | "extra": { |
| | | "arcbar": { |
| | | "type": "default", |
| | | "width": 12, |
| | | "backgroundColor": "#E9E9E9", |
| | | "startAngle": 0.75, |
| | | "endAngle": 0.25, |
| | | "gap": 2 |
| | | } |
| | | } |
| | | }, |
| | | "line":{ |
| | | "type": "line", |
| | | "color": color, |
| | | "padding": [15,10,0,15], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | }, |
| | | "yAxis": { |
| | | "gridType": "dash", |
| | | "dashLength": 2, |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "line": { |
| | | "type": "straight", |
| | | "width": 2, |
| | | "activeType": "hollow" |
| | | }, |
| | | } |
| | | }, |
| | | "tline":{ |
| | | "type": "line", |
| | | "color": color, |
| | | "padding": [15,10,0,15], |
| | | "xAxis": { |
| | | "disableGrid": false, |
| | | "boundaryGap":"justify", |
| | | }, |
| | | "yAxis": { |
| | | "gridType": "dash", |
| | | "dashLength": 2, |
| | | "data":[ |
| | | { |
| | | "min":0, |
| | | "max":80 |
| | | } |
| | | ] |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "line": { |
| | | "type": "curve", |
| | | "width": 2, |
| | | "activeType": "hollow" |
| | | }, |
| | | } |
| | | }, |
| | | "tarea":{ |
| | | "type": "area", |
| | | "color": color, |
| | | "padding": [15,10,0,15], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | "boundaryGap":"justify", |
| | | }, |
| | | "yAxis": { |
| | | "gridType": "dash", |
| | | "dashLength": 2, |
| | | "data":[ |
| | | { |
| | | "min":0, |
| | | "max":80 |
| | | } |
| | | ] |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "area": { |
| | | "type": "curve", |
| | | "opacity": 0.2, |
| | | "addLine": true, |
| | | "width": 2, |
| | | "gradient": true, |
| | | "activeType": "hollow" |
| | | }, |
| | | } |
| | | }, |
| | | "column":{ |
| | | "type": "column", |
| | | "color": color, |
| | | "padding": [15,15,0,5], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | }, |
| | | "yAxis": { |
| | | "data":[{"min":0}] |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "column": { |
| | | "type": "group", |
| | | "width": 30, |
| | | "activeBgColor": "#000000", |
| | | "activeBgOpacity": 0.08 |
| | | }, |
| | | } |
| | | }, |
| | | "mount":{ |
| | | "type": "mount", |
| | | "color": color, |
| | | "padding": [15,15,0,5], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | }, |
| | | "yAxis": { |
| | | "data":[{"min":0}] |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "mount": { |
| | | "type": "mount", |
| | | "widthRatio": 1.5, |
| | | }, |
| | | } |
| | | }, |
| | | "bar":{ |
| | | "type": "bar", |
| | | "color": color, |
| | | "padding": [15,30,0,5], |
| | | "xAxis": { |
| | | "boundaryGap":"justify", |
| | | "disableGrid":false, |
| | | "min":0, |
| | | "axisLine":false |
| | | }, |
| | | "yAxis": { |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "bar": { |
| | | "type": "group", |
| | | "width": 30, |
| | | "meterBorde": 1, |
| | | "meterFillColor": "#FFFFFF", |
| | | "activeBgColor": "#000000", |
| | | "activeBgOpacity": 0.08 |
| | | }, |
| | | } |
| | | }, |
| | | "area":{ |
| | | "type": "area", |
| | | "color": color, |
| | | "padding": [15,15,0,15], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | }, |
| | | "yAxis": { |
| | | "gridType": "dash", |
| | | "dashLength": 2, |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "area": { |
| | | "type": "straight", |
| | | "opacity": 0.2, |
| | | "addLine": true, |
| | | "width": 2, |
| | | "gradient": false, |
| | | "activeType": "hollow" |
| | | }, |
| | | } |
| | | }, |
| | | "radar":{ |
| | | "type": "radar", |
| | | "color": color, |
| | | "padding": [5,5,5,5], |
| | | "dataLabel": false, |
| | | "legend": { |
| | | "show": true, |
| | | "position": "right", |
| | | "lineHeight": 25, |
| | | }, |
| | | "extra": { |
| | | "radar": { |
| | | "gridType": "radar", |
| | | "gridColor": "#CCCCCC", |
| | | "gridCount": 3, |
| | | "opacity": 0.2, |
| | | "max": 200, |
| | | "labelShow": true |
| | | }, |
| | | } |
| | | }, |
| | | "gauge":{ |
| | | "type": "gauge", |
| | | "color": color, |
| | | "title": { |
| | | "name": "66Km/H", |
| | | "fontSize": 25, |
| | | "color": "#2fc25b", |
| | | "offsetY": 50 |
| | | }, |
| | | "subtitle": { |
| | | "name": "宿¶é度", |
| | | "fontSize": 15, |
| | | "color": "#1890ff", |
| | | "offsetY": -50 |
| | | }, |
| | | "extra": { |
| | | "gauge": { |
| | | "type": "default", |
| | | "width": 30, |
| | | "labelColor": "#666666", |
| | | "startAngle": 0.75, |
| | | "endAngle": 0.25, |
| | | "startNumber": 0, |
| | | "endNumber": 100, |
| | | "labelFormat": "", |
| | | "splitLine": { |
| | | "fixRadius": 0, |
| | | "splitNumber": 10, |
| | | "width": 30, |
| | | "color": "#FFFFFF", |
| | | "childNumber": 5, |
| | | "childWidth": 12 |
| | | }, |
| | | "pointer": { |
| | | "width": 24, |
| | | "color": "auto" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "candle":{ |
| | | "type": "candle", |
| | | "color": color, |
| | | "padding": [15,15,0,15], |
| | | "enableScroll": true, |
| | | "enableMarkLine": true, |
| | | "dataLabel": false, |
| | | "xAxis": { |
| | | "labelCount": 4, |
| | | "itemCount": 40, |
| | | "disableGrid": true, |
| | | "gridColor": "#CCCCCC", |
| | | "gridType": "solid", |
| | | "dashLength": 4, |
| | | "scrollShow": true, |
| | | "scrollAlign": "left", |
| | | "scrollColor": "#A6A6A6", |
| | | "scrollBackgroundColor": "#EFEBEF" |
| | | }, |
| | | "yAxis": { |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "candle": { |
| | | "color": { |
| | | "upLine": "#f04864", |
| | | "upFill": "#f04864", |
| | | "downLine": "#2fc25b", |
| | | "downFill": "#2fc25b" |
| | | }, |
| | | "average": { |
| | | "show": true, |
| | | "name": ["MA5","MA10","MA30"], |
| | | "day": [5,10,20], |
| | | "color": ["#1890ff","#2fc25b","#facc14"] |
| | | } |
| | | }, |
| | | "markLine": { |
| | | "type": "dash", |
| | | "dashLength": 5, |
| | | "data": [ |
| | | { |
| | | "value": 2150, |
| | | "lineColor": "#f04864", |
| | | "showLabel": true |
| | | }, |
| | | { |
| | | "value": 2350, |
| | | "lineColor": "#f04864", |
| | | "showLabel": true |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | "mix":{ |
| | | "type": "mix", |
| | | "color": color, |
| | | "padding": [15,15,0,15], |
| | | "xAxis": { |
| | | "disableGrid": true, |
| | | }, |
| | | "yAxis": { |
| | | "disabled": false, |
| | | "disableGrid": false, |
| | | "splitNumber": 5, |
| | | "gridType": "dash", |
| | | "dashLength": 4, |
| | | "gridColor": "#CCCCCC", |
| | | "padding": 10, |
| | | "showTitle": true, |
| | | "data": [] |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "mix": { |
| | | "column": { |
| | | "width": 20 |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | "scatter":{ |
| | | "type": "scatter", |
| | | "color":color, |
| | | "padding":[15,15,0,15], |
| | | "dataLabel":false, |
| | | "xAxis": { |
| | | "disableGrid": false, |
| | | "gridType":"dash", |
| | | "splitNumber":5, |
| | | "boundaryGap":"justify", |
| | | "min":0 |
| | | }, |
| | | "yAxis": { |
| | | "disableGrid": false, |
| | | "gridType":"dash", |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "scatter": { |
| | | }, |
| | | } |
| | | }, |
| | | "bubble":{ |
| | | "type": "bubble", |
| | | "color":color, |
| | | "padding":[15,15,0,15], |
| | | "xAxis": { |
| | | "disableGrid": false, |
| | | "gridType":"dash", |
| | | "splitNumber":5, |
| | | "boundaryGap":"justify", |
| | | "min":0, |
| | | "max":250 |
| | | }, |
| | | "yAxis": { |
| | | "disableGrid": false, |
| | | "gridType":"dash", |
| | | "data":[{ |
| | | "min":0, |
| | | "max":150 |
| | | }] |
| | | }, |
| | | "legend": { |
| | | }, |
| | | "extra": { |
| | | "bubble": { |
| | | "border":2, |
| | | "opacity": 0.5, |
| | | }, |
| | | } |
| | | } |
| | | } |
| | | |
| | | export default cfu; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * uCharts (R) |
| | | * 髿§è½è·¨å¹³å°å¾è¡¨åºï¼æ¯æH5ãAPPãå°ç¨åºï¼å¾®ä¿¡/æ¯ä»å®/ç¾åº¦/头æ¡/QQ/360/å¿«æï¼ãVueãTaroçæ¯æcanvasçæ¡æ¶å¹³å° |
| | | * Copyright (C) 2021 QIUN (R) ç§äº https://www.ucharts.cn All rights reserved. |
| | | * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
| | | * å¤å¶ä½¿ç¨è¯·ä¿çæ¬æ®µæ³¨éï¼æè°¢æ¯æå¼æºï¼ |
| | | * |
| | | * uCharts (R) 宿¹ç½ç« |
| | | * https://www.uCharts.cn |
| | | * |
| | | * 弿ºå°å: |
| | | * https://gitee.com/uCharts/uCharts |
| | | * |
| | | * uni-appæä»¶å¸åºå°åï¼ |
| | | * http://ext.dcloud.net.cn/plugin?id=271 |
| | | * |
| | | */ |
| | | "use strict";var config={version:"v2.5.0-20230101",yAxisWidth:15,xAxisHeight:22,padding:[10,10,10,10],rotate:false,fontSize:13,fontColor:"#666666",dataPointShape:["circle","circle","circle","circle"],color:["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],linearColor:["#0EE2F8","#2BDCA8","#FA7D8D","#EB88E2","#2AE3A0","#0EE2F8","#EB88E2","#6773E3","#F78A85"],pieChartLinePadding:15,pieChartTextPadding:5,titleFontSize:20,subtitleFontSize:15,radarLabelTextMargin:13};var assign=function(e,...t){if(e==null){throw new TypeError("[uCharts] Cannot convert undefined or null to object")}if(!t||t.length<=0){return e}function i(e,a){for(let t in a){e[t]=e[t]&&e[t].toString()==="[object Object]"?i(e[t],a[t]):e[t]=a[t]}return e}t.forEach(t=>{e=i(e,t)});return e};var util={toFixed:function t(e,a){a=a||2;if(this.isFloat(e)){e=e.toFixed(a)}return e},isFloat:function t(e){return e%1!==0},approximatelyEqual:function t(e,a){return Math.abs(e-a)<1e-10},isSameSign:function t(e,a){return Math.abs(e)===e&&Math.abs(a)===a||Math.abs(e)!==e&&Math.abs(a)!==a},isSameXCoordinateArea:function t(e,a){return this.isSameSign(e.x,a.x)},isCollision:function t(e,a){e.end={};e.end.x=e.start.x+e.width;e.end.y=e.start.y-e.height;a.end={};a.end.x=a.start.x+a.width;a.end.y=a.start.y-a.height;var i=a.start.x>e.end.x||a.end.x<e.start.x||a.end.y>e.start.y||a.start.y<e.end.y;return!i}};function getH5Offset(t){t.mp={changedTouches:[]};t.mp.changedTouches.push({x:t.offsetX,y:t.offsetY});return t}function hexToRgb(t,e){var a=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;var i=t.replace(a,function(t,e,a,i){return e+e+a+a+i+i});var r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);var o=parseInt(r[1],16);var n=parseInt(r[2],16);var l=parseInt(r[3],16);return"rgba("+o+","+n+","+l+","+e+")"}function findRange(t,e,a){if(isNaN(t)){throw new Error("[uCharts] seriesæ°æ®é为Numberæ ¼å¼")}a=a||10;e=e?e:"upper";var i=1;while(a<1){a*=10;i*=10}if(e==="upper"){t=Math.ceil(t*i)}else{t=Math.floor(t*i)}while(t%a!==0){if(e==="upper"){if(t==t+1){break}t++}else{t--}}return t/i}function calCandleMA(o,t,e,n){let a=[];for(let r=0;r<o.length;r++){let i={data:[],name:t[r],color:e[r]};for(let a=0,t=n.length;a<t;a++){if(a<o[r]){i.data.push(null);continue}let e=0;for(let t=0;t<o[r];t++){e+=n[a-t][1]}i.data.push(+(e/o[r]).toFixed(3))}a.push(i)}return a}function calValidDistance(t,e,a,i,r){var o=r.width-r.area[1]-r.area[3];var n=a.eachSpacing*(r.chartData.xAxisData.xAxisPoints.length-1);if(r.type=="mount"&&r.extra&&r.extra.mount&&r.extra.mount.widthRatio&&r.extra.mount.widthRatio>1){if(r.extra.mount.widthRatio>2)r.extra.mount.widthRatio=2;n+=(r.extra.mount.widthRatio-1)*a.eachSpacing}var l=e;if(e>=0){l=0;t.uevent.trigger("scrollLeft");t.scrollOption.position="left";r.xAxis.scrollPosition="left"}else if(Math.abs(e)>=n-o){l=o-n;t.uevent.trigger("scrollRight");t.scrollOption.position="right";r.xAxis.scrollPosition="right"}else{t.scrollOption.position=e;r.xAxis.scrollPosition=e}return l}function isInAngleRange(t,e,a){function i(t){while(t<0){t+=2*Math.PI}while(t>2*Math.PI){t-=2*Math.PI}return t}t=i(t);e=i(e);a=i(a);if(e>a){a+=2*Math.PI;if(t<e){t+=2*Math.PI}}return t>=e&&t<=a}function createCurveControlPoints(t,e){function a(t,e){if(t[e-1]&&t[e+1]){return t[e].y>=Math.max(t[e-1].y,t[e+1].y)||t[e].y<=Math.min(t[e-1].y,t[e+1].y)}else{return false}}function c(t,e){if(t[e-1]&&t[e+1]){return t[e].x>=Math.max(t[e-1].x,t[e+1].x)||t[e].x<=Math.min(t[e-1].x,t[e+1].x)}else{return false}}var i=.2;var r=.2;var o=null;var n=null;var l=null;var s=null;if(e<1){o=t[0].x+(t[1].x-t[0].x)*i;n=t[0].y+(t[1].y-t[0].y)*i}else{o=t[e].x+(t[e+1].x-t[e-1].x)*i;n=t[e].y+(t[e+1].y-t[e-1].y)*i}if(e>t.length-3){var h=t.length-1;l=t[h].x-(t[h].x-t[h-1].x)*r;s=t[h].y-(t[h].y-t[h-1].y)*r}else{l=t[e+1].x-(t[e+2].x-t[e].x)*r;s=t[e+1].y-(t[e+2].y-t[e].y)*r}if(a(t,e+1)){s=t[e+1].y}if(a(t,e)){n=t[e].y}if(c(t,e+1)){l=t[e+1].x}if(c(t,e)){o=t[e].x}if(n>=Math.max(t[e].y,t[e+1].y)||n<=Math.min(t[e].y,t[e+1].y)){n=t[e].y}if(s>=Math.max(t[e].y,t[e+1].y)||s<=Math.min(t[e].y,t[e+1].y)){s=t[e+1].y}if(o>=Math.max(t[e].x,t[e+1].x)||o<=Math.min(t[e].x,t[e+1].x)){o=t[e].x}if(l>=Math.max(t[e].x,t[e+1].x)||l<=Math.min(t[e].x,t[e+1].x)){l=t[e+1].x}return{ctrA:{x:o,y:n},ctrB:{x:l,y:s}}}function convertCoordinateOrigin(t,e,a){return{x:a.x+t,y:a.y-e}}function avoidCollision(t,e){if(e){while(util.isCollision(t,e)){if(t.start.x>0){t.start.y--}else if(t.start.x<0){t.start.y++}else{if(t.start.y>0){t.start.y++}else{t.start.y--}}}}return t}function fixPieSeries(e,a,t){let i=[];if(e.length>0&&e[0].data.constructor.toString().indexOf("Array")>-1){a._pieSeries_=e;let t=e[0].data;for(var r=0;r<t.length;r++){t[r].formatter=e[0].formatter;t[r].data=t[r].value;i.push(t[r])}a.series=i}else{i=e}return i}function fillSeries(e,a,i){var r=0;for(var o=0;o<e.length;o++){let t=e[o];if(!t.color){t.color=i.color[r];r=(r+1)%i.color.length}if(!t.linearIndex){t.linearIndex=o}if(!t.index){t.index=0}if(!t.type){t.type=a.type}if(typeof t.show=="undefined"){t.show=true}if(!t.type){t.type=a.type}if(!t.pointShape){t.pointShape="circle"}if(!t.legendShape){switch(t.type){case"line":t.legendShape="line";break;case"column":case"bar":t.legendShape="rect";break;case"area":case"mount":t.legendShape="triangle";break;default:t.legendShape="circle"}}}return e}function fillCustomColor(t,e,a,i){var r=e||[];if(t=="custom"&&r.length==0){r=i.linearColor}if(t=="custom"&&r.length<a.length){let t=a.length-r.length;for(var o=0;o<t;o++){r.push(i.linearColor[(o+1)%i.linearColor.length])}}return r}function getDataRange(t,e){var a=0;var i=e-t;if(i>=1e4){a=1e3}else if(i>=1e3){a=100}else if(i>=100){a=10}else if(i>=10){a=5}else if(i>=1){a=1}else if(i>=.1){a=.1}else if(i>=.01){a=.01}else if(i>=.001){a=.001}else if(i>=1e-4){a=1e-4}else if(i>=1e-5){a=1e-5}else{a=1e-6}return{minRange:findRange(t,"lower",a),maxRange:findRange(e,"upper",a)}}function measureText(a,t,e){var i=0;a=String(a);e=false;if(e!==false&&e!==undefined&&e.setFontSize&&e.measureText){e.setFontSize(t);return e.measureText(a).width}else{var a=a.split("");for(let e=0;e<a.length;e++){let t=a[e];if(/[a-zA-Z]/.test(t)){i+=7}else if(/[0-9]/.test(t)){i+=5.5}else if(/\./.test(t)){i+=2.7}else if(/-/.test(t)){i+=3.25}else if(/:/.test(t)){i+=2.5}else if(/[\u4e00-\u9fa5]/.test(t)){i+=10}else if(/\(|\)/.test(t)){i+=3.73}else if(/\s/.test(t)){i+=2.5}else if(/%/.test(t)){i+=8}else{i+=10}}return i*t/10}}function dataCombine(t){return t.reduce(function(t,e){return(t.data?t.data:t).concat(e.data)},[])}function dataCombineStack(t,e){var a=new Array(e);for(var i=0;i<a.length;i++){a[i]=0}for(var r=0;r<t.length;r++){for(var i=0;i<a.length;i++){a[i]+=t[r].data[i]}}return t.reduce(function(t,e){return(t.data?t.data:t).concat(e.data).concat(a)},[])}function getTouches(t,e,a){let i,r;if(t.clientX){if(e.rotate){r=e.height-t.clientX*e.pix;i=(t.pageY-a.currentTarget.offsetTop-e.height/e.pix/2*(e.pix-1))*e.pix}else{i=t.clientX*e.pix;r=(t.pageY-a.currentTarget.offsetTop-e.height/e.pix/2*(e.pix-1))*e.pix}}else{if(e.rotate){r=e.height-t.x*e.pix;i=t.y*e.pix}else{i=t.x*e.pix;r=t.y*e.pix}}return{x:i,y:r}}function getSeriesDataItem(e,i,a){var r=[];var o=[];var n=i.constructor.toString().indexOf("Array")>-1;if(n){let t=filterSeries(e);for(var l=0;l<a.length;l++){o.push(t[a[l]])}}else{o=e}for(let t=0;t<o.length;t++){let e=o[t];let a=-1;if(n){a=i[t]}else{a=i}if(e.data[a]!==null&&typeof e.data[a]!=="undefined"&&e.show){let t={};t.color=e.color;t.type=e.type;t.style=e.style;t.pointShape=e.pointShape;t.disableLegend=e.disableLegend;t.legendShape=e.legendShape;t.name=e.name;t.show=e.show;t.data=e.formatter?e.formatter(e.data[a]):e.data[a];r.push(t)}}return r}function getMaxTextListLength(t,e,a){var i=t.map(function(t){return measureText(t,e,a)});return Math.max.apply(null,i)}function getRadarCoordinateSeries(t){var e=2*Math.PI/t;var a=[];for(var i=0;i<t;i++){a.push(e*i)}return a.map(function(t){return-1*t+Math.PI/2})}function getToolTipData(t,a,i,r,o){var n=arguments.length>5&&arguments[5]!==undefined?arguments[5]:{};var l=a.chartData.calPoints?a.chartData.calPoints:[];let s={};if(r.length>0){let e=[];for(let t=0;t<r.length;t++){e.push(l[r[t]])}s=e[0][i[0]]}else{for(let t=0;t<l.length;t++){if(l[t][i]){s=l[t][i];break}}}var e=t.map(function(t){let e=null;if(a.categories&&a.categories.length>0){e=o[i]}return{text:n.formatter?n.formatter(t,e,i,a):t.name+": "+t.data,color:t.color,legendShape:a.extra.tooltip.legendShape=="auto"?t.legendShape:a.extra.tooltip.legendShape}});var h={x:Math.round(s.x),y:Math.round(s.y)};return{textList:e,offset:h}}function getMixToolTipData(t,e,a,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var o=e.chartData.xAxisPoints[a]+e.chartData.eachSpacing/2;var n=t.map(function(t){return{text:r.formatter?r.formatter(t,i[a],a,e):t.name+": "+t.data,color:t.color,disableLegend:t.disableLegend?true:false,legendShape:e.extra.tooltip.legendShape=="auto"?t.legendShape:e.extra.tooltip.legendShape}});n=n.filter(function(t){if(t.disableLegend!==true){return t}});var l={x:Math.round(o),y:0};return{textList:n,offset:l}}function getCandleToolTipData(o,e,n,l,i,t){var r=arguments.length>6&&arguments[6]!==undefined?arguments[6]:{};var a=n.chartData.calPoints;let s=t.color.upFill;let h=t.color.downFill;let c=[s,s,h,s];var d=[];e.map(function(t){if(l==0){if(t.data[1]-t.data[0]<0){c[1]=h}else{c[1]=s}}else{if(t.data[0]<o[l-1][1]){c[0]=h}if(t.data[1]<t.data[0]){c[1]=h}if(t.data[2]>o[l-1][1]){c[2]=s}if(t.data[3]<o[l-1][1]){c[3]=h}}let e={text:"å¼çï¼"+t.data[0],color:c[0],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};let a={text:"æ¶çï¼"+t.data[1],color:c[1],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};let i={text:"æä½ï¼"+t.data[2],color:c[2],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};let r={text:"æé«ï¼"+t.data[3],color:c[3],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};d.push(e,a,i,r)});var x=[];var f={x:0,y:0};for(let e=0;e<a.length;e++){let t=a[e];if(typeof t[l]!=="undefined"&&t[l]!==null){x.push(t[l])}}f.x=Math.round(x[0][0].x);return{textList:d,offset:f}}function filterSeries(e){let a=[];for(let t=0;t<e.length;t++){if(e[t].show==true){a.push(e[t])}}return a}function findCurrentIndex(o,n,e,t){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var l={index:-1,group:[]};var i=e.chartData.eachSpacing/2;let r=[];if(n&&n.length>0){if(!e.categories){i=0}else{for(let t=1;t<e.chartData.xAxisPoints.length;t++){r.push(e.chartData.xAxisPoints[t]-i)}if((e.type=="line"||e.type=="area")&&e.xAxis.boundaryGap=="justify"){r=e.chartData.xAxisPoints}}if(isInExactChartArea(o,e,t)){if(!e.categories){let a=Array(n.length);for(let e=0;e<n.length;e++){a[e]=Array(n[e].length);for(let t=0;t<n[e].length;t++){a[e][t]=Math.abs(n[e][t].x-o.x)}}let e=Array(a.length);let i=Array(a.length);for(let t=0;t<a.length;t++){e[t]=Math.min.apply(null,a[t]);i[t]=a[t].indexOf(e[t])}let r=Math.min.apply(null,e);l.index=[];for(let t=0;t<e.length;t++){if(e[t]==r){l.group.push(t);l.index.push(i[t])}}}else{r.forEach(function(t,e){if(o.x+a+i>t){l.index=e}})}}}return l}function findBarChartCurrentIndex(a,t,e,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var o={index:-1,group:[]};var n=e.chartData.eachSpacing/2;let l=e.chartData.yAxisPoints;if(t&&t.length>0){if(isInExactChartArea(a,e,i)){l.forEach(function(t,e){if(a.y+r+n>t){o.index=e}})}}return o}function findLegendIndex(o,t,e){let n=-1;let l=0;if(isInExactLegendArea(o,t.area)){let i=t.points;let r=-1;for(let t=0,e=i.length;t<e;t++){let a=i[t];for(let e=0;e<a.length;e++){r+=1;let t=a[e]["area"];if(t&&o.x>t[0]-l&&o.x<t[2]+l&&o.y>t[1]-l&&o.y<t[3]+l){n=r;break}}}return n}return n}function isInExactLegendArea(t,e){return t.x>e.start.x&&t.x<e.end.x&&t.y>e.start.y&&t.y<e.end.y}function isInExactChartArea(t,e,a){return t.x<=e.width-e.area[1]+10&&t.x>=e.area[3]-10&&t.y>=e.area[0]&&t.y<=e.height-e.area[2]}function findRadarChartCurrentIndex(t,e,a){var r=2*Math.PI/a;var o=-1;if(isInExactPieChartArea(t,e.center,e.radius)){var n=function t(e){if(e<0){e+=2*Math.PI}if(e>2*Math.PI){e-=2*Math.PI}return e};var l=Math.atan2(e.center.y-t.y,t.x-e.center.x);l=-1*l;if(l<0){l+=2*Math.PI}var i=e.angleList.map(function(t){t=n(-1*t);return t});i.forEach(function(t,e){var a=n(t-r/2);var i=n(t+r/2);if(i<a){i+=2*Math.PI}if(l>=a&&l<=i||l+2*Math.PI>=a&&l+2*Math.PI<=i){o=e}})}return o}function findFunnelChartCurrentIndex(t,e){var a=-1;for(var i=0,r=e.series.length;i<r;i++){var o=e.series[i];if(t.x>o.funnelArea[0]&&t.x<o.funnelArea[2]&&t.y>o.funnelArea[1]&&t.y<o.funnelArea[3]){a=i;break}}return a}function findWordChartCurrentIndex(t,e){var a=-1;for(var i=0,r=e.length;i<r;i++){var o=e[i];if(t.x>o.area[0]&&t.x<o.area[2]&&t.y>o.area[1]&&t.y<o.area[3]){a=i;break}}return a}function findMapChartCurrentIndex(t,e){var a=-1;var i=e.chartData.mapData;var r=e.series;var o=pointToCoordinate(t.y,t.x,i.bounds,i.scale,i.xoffset,i.yoffset);var n=[o.x,o.y];for(var l=0,s=r.length;l<s;l++){var h=r[l].geometry.coordinates;if(isPoiWithinPoly(n,h,e.chartData.mapData.mercator)){a=l;break}}return a}function findRoseChartCurrentIndex(t,e,a){var i=-1;var r=getRoseDataPoints(a._series_,a.extra.rose.type,e.radius,e.radius);if(e&&e.center&&isInExactPieChartArea(t,e.center,e.radius)){var o=Math.atan2(e.center.y-t.y,t.x-e.center.x);o=-o;if(a.extra.rose&&a.extra.rose.offsetAngle){o=o-a.extra.rose.offsetAngle*Math.PI/180}for(var n=0,l=r.length;n<l;n++){if(isInAngleRange(o,r[n]._start_,r[n]._start_+r[n]._rose_proportion_*2*Math.PI)){i=n;break}}}return i}function findPieChartCurrentIndex(t,e,a){var i=-1;var r=getPieDataPoints(e.series);if(e&&e.center&&isInExactPieChartArea(t,e.center,e.radius)){var o=Math.atan2(e.center.y-t.y,t.x-e.center.x);o=-o;if(a.extra.pie&&a.extra.pie.offsetAngle){o=o-a.extra.pie.offsetAngle*Math.PI/180}if(a.extra.ring&&a.extra.ring.offsetAngle){o=o-a.extra.ring.offsetAngle*Math.PI/180}for(var n=0,l=r.length;n<l;n++){if(isInAngleRange(o,r[n]._start_,r[n]._start_+r[n]._proportion_*2*Math.PI)){i=n;break}}}return i}function isInExactPieChartArea(t,e,a){return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)<=Math.pow(a,2)}function splitPoints(t,a){var i=[];var r=[];t.forEach(function(t,e){if(a.connectNulls){if(t!==null){r.push(t)}}else{if(t!==null){r.push(t)}else{if(r.length){i.push(r)}r=[]}}});if(r.length){i.push(r)}return i}function calLegendData(l,s,e,t,h){let c={area:{start:{x:0,y:0},end:{x:0,y:0},width:0,height:0,wholeWidth:0,wholeHeight:0},points:[],widthArr:[],heightArr:[]};if(s.legend.show===false){t.legendData=c;return c}let d=s.legend.padding*s.pix;let x=s.legend.margin*s.pix;let f=s.legend.fontSize?s.legend.fontSize*s.pix:e.fontSize;let p=15*s.pix;let g=5*s.pix;let u=Math.max(s.legend.lineHeight*s.pix,f);if(s.legend.position=="top"||s.legend.position=="bottom"){let i=[];let r=0;let o=[];let n=[];for(let a=0;a<l.length;a++){let t=l[a];const y=t.legendText?t.legendText:t.name;let e=p+g+measureText(y||"undefined",f,h)+s.legend.itemGap*s.pix;if(r+e>s.width-s.area[1]-s.area[3]){i.push(n);o.push(r-s.legend.itemGap*s.pix);r=e;n=[t]}else{r+=e;n.push(t)}}if(n.length){i.push(n);o.push(r-s.legend.itemGap*s.pix);c.widthArr=o;let t=Math.max.apply(null,o);switch(s.legend.float){case"left":c.area.start.x=s.area[3];c.area.end.x=s.area[3]+t+2*d;break;case"right":c.area.start.x=s.width-s.area[1]-t-2*d;c.area.end.x=s.width-s.area[1];break;default:c.area.start.x=(s.width-t)/2-d;c.area.end.x=(s.width+t)/2+d}c.area.width=t+2*d;c.area.wholeWidth=t+2*d;c.area.height=i.length*u+2*d;c.area.wholeHeight=i.length*u+2*d+2*x;c.points=i}}else{let t=l.length;let e=s.height-s.area[0]-s.area[2]-2*x-2*d;let a=Math.min(Math.floor(e/u),t);c.area.height=a*u+d*2;c.area.wholeHeight=a*u+d*2;switch(s.legend.float){case"top":c.area.start.y=s.area[0]+x;c.area.end.y=s.area[0]+x+c.area.height;break;case"bottom":c.area.start.y=s.height-s.area[2]-x-c.area.height;c.area.end.y=s.height-s.area[2]-x;break;default:c.area.start.y=(s.height-c.area.height)/2;c.area.end.y=(s.height+c.area.height)/2}let i=t%a===0?t/a:Math.floor(t/a+1);let r=[];for(let e=0;e<i;e++){let t=l.slice(e*a,e*a+a);r.push(t)}c.points=r;if(r.length){for(let t=0;t<r.length;t++){let a=r[t];let i=0;for(let e=0;e<a.length;e++){let t=p+g+measureText(a[e].name||"undefined",f,h)+s.legend.itemGap*s.pix;if(t>i){i=t}}c.widthArr.push(i);c.heightArr.push(a.length*u+d*2)}let e=0;for(let t=0;t<c.widthArr.length;t++){e+=c.widthArr[t]}c.area.width=e-s.legend.itemGap*s.pix+2*d;c.area.wholeWidth=c.area.width+d}}switch(s.legend.position){case"top":c.area.start.y=s.area[0]+x;c.area.end.y=s.area[0]+x+c.area.height;break;case"bottom":c.area.start.y=s.height-s.area[2]-c.area.height-x;c.area.end.y=s.height-s.area[2]-x;break;case"left":c.area.start.x=s.area[3];c.area.end.x=s.area[3]+c.area.width;break;case"right":c.area.start.x=s.width-s.area[1]-c.area.width;c.area.end.x=s.width-s.area[1];break}t.legendData=c;return c}function calCategoriesData(t,i,e,a,r){var o={angle:0,xAxisHeight:i.xAxis.lineHeight*i.pix+i.xAxis.marginTop*i.pix};var n=i.xAxis.fontSize*i.pix;var l=t.map(function(t,e){var a=i.xAxis.formatter?i.xAxis.formatter(t,e,i):t;return measureText(String(a),n,r)});var s=Math.max.apply(this,l);if(i.xAxis.rotateLabel==true){o.angle=i.xAxis.rotateAngle*Math.PI/180;let t=i.xAxis.marginTop*i.pix*2+Math.abs(s*Math.sin(o.angle));t=t<n+i.xAxis.marginTop*i.pix*2?t+i.xAxis.marginTop*i.pix*2:t;o.xAxisHeight=t}if(i.enableScroll&&i.xAxis.scrollShow){o.xAxisHeight+=6*i.pix}if(i.xAxis.disabled){o.xAxisHeight=0}return o}function getXAxisTextList(t,e,h,c){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[0])}}else{r.push(t.value)}}else{r.push(t)}});var o=0;var n=0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(a>-1){if(typeof e.xAxis.data[a].min==="number"){o=Math.min(e.xAxis.data[a].min,o)}if(typeof e.xAxis.data[a].max==="number"){n=Math.max(e.xAxis.data[a].max,n)}}else{if(typeof e.xAxis.min==="number"){o=Math.min(e.xAxis.min,o)}if(typeof e.xAxis.max==="number"){n=Math.max(e.xAxis.max,n)}}if(o===n){var d=n||10;n+=d}var l=o;var x=n;var f=[];var p=(x-l)/e.xAxis.splitNumber;for(var s=0;s<=e.xAxis.splitNumber;s++){f.push(l+p*s)}return f}function calXAxisData(t,e,a,i){var r=assign({},{type:""},e.extra.bar);var o={angle:0,xAxisHeight:e.xAxis.lineHeight*e.pix+e.xAxis.marginTop*e.pix};o.ranges=getXAxisTextList(t,e,a,r.type);o.rangesFormat=o.ranges.map(function(t){t=util.toFixed(t,2);return t});var n=o.ranges.map(function(t){t=util.toFixed(t,2);return t});o=Object.assign(o,getXAxisPoints(n,e,a));var l=o.eachSpacing;var s=n.map(function(t){return measureText(t,e.xAxis.fontSize*e.pix,i)});if(e.xAxis.disabled===true){o.xAxisHeight=0}return o}function getRadarDataPoints(r,o,n,a,t){var l=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var e=t.extra.radar||{};e.max=e.max||0;var s=Math.max(e.max,Math.max.apply(null,dataCombine(a)));var h=[];for(let e=0;e<a.length;e++){let t=a[e];let i={};i.color=t.color;i.legendShape=t.legendShape;i.pointShape=t.pointShape;i.data=[];t.data.forEach(function(t,e){let a={};a.angle=r[e];a.proportion=t/s;a.value=t;a.position=convertCoordinateOrigin(n*a.proportion*l*Math.cos(a.angle),n*a.proportion*l*Math.sin(a.angle),o);i.data.push(a)});h.push(i)}return h}function getPieDataPoints(a,i){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;var o=0;var n=0;for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;o+=t.data}for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;if(o===0){t._proportion_=1/a.length*r}else{t._proportion_=t.data/o*r}t._radius_=i}for(let e=0;e<a.length;e++){let t=a[e];t._start_=n;n+=2*t._proportion_*Math.PI}return a}function getFunnelDataPoints(e,a,i,r){var o=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;for(let t=0;t<e.length;t++){if(i.type=="funnel"){e[t].radius=e[t].data/e[0].data*a*o}else{e[t].radius=r*(e.length-t)/(r*e.length)*a*o}e[t]._proportion_=e[t].data/e[0].data}return e}function getRoseDataPoints(a,i,r,o){var n=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var l=0;var s=0;var h=[];for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;l+=t.data;h.push(t.data)}var c=Math.min.apply(null,h);var d=Math.max.apply(null,h);var x=o-r;for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;if(l===0){t._proportion_=1/a.length*n;t._rose_proportion_=1/a.length*n}else{t._proportion_=t.data/l*n;if(i=="area"){t._rose_proportion_=1/a.length*n}else{t._rose_proportion_=t.data/l*n}}t._radius_=r+x*((t.data-c)/(d-c))||o}for(let e=0;e<a.length;e++){let t=a[e];t._start_=s;s+=2*t._rose_proportion_*Math.PI}return a}function getArcbarDataPoints(i,r){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a<i.length;a++){let t=i[a];t.data=t.data===null?0:t.data;let e;if(r.type=="circle"){e=2}else{if(r.direction=="ccw"){if(r.startAngle<r.endAngle){e=2+r.startAngle-r.endAngle}else{e=r.startAngle-r.endAngle}}else{if(r.endAngle<r.startAngle){e=2+r.endAngle-r.startAngle}else{e=r.startAngle-r.endAngle}}}t._proportion_=e*t.data*o+r.startAngle;if(r.direction=="ccw"){t._proportion_=r.startAngle-e*t.data*o}if(t._proportion_>=2){t._proportion_=t._proportion_%2}}return i}function getGaugeArcbarDataPoints(i,r){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a<i.length;a++){let t=i[a];t.data=t.data===null?0:t.data;let e;if(r.type=="circle"){e=2}else{if(r.endAngle<r.startAngle){e=2+r.endAngle-r.startAngle}else{e=r.startAngle-r.endAngle}}t._proportion_=e*t.data*o+r.startAngle;if(t._proportion_>=2){t._proportion_=t._proportion_%2}}return i}function getGaugeAxisPoints(e,a,t){let i;if(t<a){i=2+t-a}else{i=a-t}let r=a;for(let t=0;t<e.length;t++){e[t].value=e[t].value===null?0:e[t].value;e[t]._startAngle_=r;e[t]._endAngle_=i*e[t].value+a;if(e[t]._endAngle_>=2){e[t]._endAngle_=e[t]._endAngle_%2}r=e[t]._endAngle_}return e}function getGaugeDataPoints(i,r,o){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1;for(let a=0;a<i.length;a++){let e=i[a];e.data=e.data===null?0:e.data;if(o.pointer.color=="auto"){for(let t=0;t<r.length;t++){if(e.data<=r[t].value){e.color=r[t].color;break}}}else{e.color=o.pointer.color}let t;if(o.endAngle<o.startAngle){t=2+o.endAngle-o.startAngle}else{t=o.startAngle-o.endAngle}e._endAngle_=t*e.data+o.startAngle;e._oldAngle_=o.oldAngle;if(o.oldAngle<o.endAngle){e._oldAngle_+=2}if(e.data>=o.oldData){e._proportion_=(e._endAngle_-e._oldAngle_)*n+o.oldAngle}else{e._proportion_=e._oldAngle_-(e._oldAngle_-e._endAngle_)*n}if(e._proportion_>=2){e._proportion_=e._proportion_%2}}return i}function getPieTextMaxLength(i,r,o,n){i=getPieDataPoints(i);let l=0;for(let a=0;a<i.length;a++){let t=i[a];let e=t.formatter?t.formatter(+t._proportion_.toFixed(2)):util.toFixed(t._proportion_*100)+"%";l=Math.max(l,measureText(e,t.textSize*n.pix||r.fontSize,o))}return l}function fixColumeData(t,i,r,o,e,n){return t.map(function(t){if(t===null){return null}var e=0;var a=0;if(n.type=="mix"){e=n.extra.mix.column.seriesGap*n.pix||0;a=n.extra.mix.column.categoryGap*n.pix||0}else{e=n.extra.column.seriesGap*n.pix||0;a=n.extra.column.categoryGap*n.pix||0}e=Math.min(e,i/r);a=Math.min(a,i/r);t.width=Math.ceil((i-2*a-e*(r-1))/r);if(n.extra.mix&&n.extra.mix.column.width&&+n.extra.mix.column.width>0){t.width=Math.min(t.width,+n.extra.mix.column.width*n.pix)}if(n.extra.column&&n.extra.column.width&&+n.extra.column.width>0){t.width=Math.min(t.width,+n.extra.column.width*n.pix)}if(t.width<=0){t.width=1}t.x+=(o+.5-r/2)*(t.width+e);return t})}function fixBarData(t,i,r,o,e,n){return t.map(function(t){if(t===null){return null}var e=0;var a=0;e=n.extra.bar.seriesGap*n.pix||0;a=n.extra.bar.categoryGap*n.pix||0;e=Math.min(e,i/r);a=Math.min(a,i/r);t.width=Math.ceil((i-2*a-e*(r-1))/r);if(n.extra.bar&&n.extra.bar.width&&+n.extra.bar.width>0){t.width=Math.min(t.width,+n.extra.bar.width*n.pix)}if(t.width<=0){t.width=1}t.y+=(o+.5-r/2)*(t.width+e);return t})}function fixColumeMeterData(t,e,a,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t){if(t===null){return null}t.width=e-2*l;if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(i>0){t.width-=n}return t})}function fixColumeStackData(t,a,e,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(t.width<=0){t.width=1}return t})}function fixBarStackData(t,a,e,i,r,o,n){var l=o.extra.bar.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0){t.width=Math.min(t.width,+o.extra.bar.width*o.pix)}if(t.width<=0){t.width=1}return t})}function getXAxisPoints(t,e,h){var a=e.width-e.area[1]-e.area[3];var i=e.enableScroll?Math.min(e.xAxis.itemCount,t.length):t.length;if((e.type=="line"||e.type=="area"||e.type=="scatter"||e.type=="bubble"||e.type=="bar")&&i>1&&e.xAxis.boundaryGap=="justify"){i-=1}var r=0;if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;r=e.extra.mount.widthRatio-1;i+=r}var o=a/i;var n=[];var l=e.area[3];var s=e.width-e.area[1];t.forEach(function(t,e){n.push(l+r/2*o+e*o)});if(e.xAxis.boundaryGap!=="justify"){if(e.enableScroll===true){n.push(l+r*o+t.length*o)}else{n.push(s)}}return{xAxisPoints:n,startX:l,endX:s,eachSpacing:o}}function getCandleDataPoints(t,l,s,h,c,d,a){var x=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var e=[];var f=d.height-d.area[0]-d.area[2];t.forEach(function(t,o){if(t===null){e.push(null)}else{var n=[];t.forEach(function(t,e){var a={};a.x=h[o]+Math.round(c/2);var i=t.value||t;var r=f*(i-l)/(s-l);r*=x;a.y=d.height-Math.round(r)-d.area[2];n.push(a)});e.push(n)}});return e}function getDataPoints(t,a,n,l,s,h,e){var c=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var d="center";if(h.type=="line"||h.type=="area"||h.type=="scatter"||h.type=="bubble"){d=h.xAxis.boundaryGap}var x=[];var f=h.height-h.area[0]-h.area[2];var p=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+p*(i[0]-e)/(a-e);if(h.type=="bubble"){r.r=i[2];r.t=i[3]}}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}});return x}function getLineDataPoints(t,a,n,l,s,h,e,p,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=h.xAxis.boundaryGap;var x=[];var f=h.height-h.area[0]-h.area[2];var u=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;if(p.animation=="vertical"){r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+u*(i[0]-e)/(a-e)}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}else{r.x=l[0]+s*t*c;var o=i;if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);r.y=h.height-e-h.area[2];x.push(r)}}});return x}function getColumnDataPoints(t,a,n,l,s,h,e,i,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var f=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){d.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+f*(i[0]-e)/(a-e)}else{o=i.value}}r.x+=s/2;var e=x*(o*c-a)/(n-a);r.y=h.height-e-h.area[2];d.push(r)}});return d}function getMountDataPoints(t,o,n,l,s,h,e,a){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var i=h.width-h.area[1]-h.area[3];var f=s*e.widthRatio;t.forEach(function(t,e){if(t===null){d.push(null)}else{var a={};a.color=t.color;a.x=l[e];a.x+=s/2;var i=t.data;var r=x*(i*c-o)/(n-o);a.y=h.height-r-h.area[2];a.value=i;a.width=f;d.push(a)}});return d}function getBarDataPoints(t,o,n,l,e,s,a){var h=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var c=[];var i=s.height-s.area[0]-s.area[2];var d=s.width-s.area[1]-s.area[3];t.forEach(function(t,e){if(t===null){c.push(null)}else{var a={};a.color=t.color;a.y=l[e];var i=t;if(typeof t==="object"&&t!==null){i=t.value}var r=d*(i-o)/(n-o);r*=h;a.height=r;a.value=i;a.x=r+s.area[3];c.push(a)}});return c}function getStackDataPoints(t,s,h,c,g,d,e,x,y){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.height-d.area[0]-d.area[2];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.x=c[e]+Math.round(g/2);if(x>0){var i=0;for(let t=0;t<=x;t++){i+=y[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.y=d.height-Math.round(o)-d.area[2];a.y0=d.height-Math.round(l)-d.area[2];p.push(a)}});return p}function getBarStackDataPoints(t,s,h,c,e,d,a,x,g){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.width-d.area[1]-d.area[3];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.y=c[e];if(x>0){var i=0;for(let t=0;t<=x;t++){i+=g[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.height=o-l;a.x=d.area[3]+o;a.x0=d.area[3]+l;p.push(a)}});return p}function getYAxisTextList(t,e,h,c,a){var d=arguments.length>5&&arguments[5]!==undefined?arguments[5]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[1])}}else{r.push(t.value)}}else{r.push(t)}});var o=a.min||0;var n=a.max||0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(o===n){if(n==0){n=10}else{o=0}}var l=getDataRange(o,n);var x=a.min===undefined||a.min===null?l.minRange:a.min;var f=a.max===undefined||a.max===null?l.maxRange:a.max;var p=(f-x)/e.yAxis.splitNumber;var u=[];for(var s=0;s<=e.yAxis.splitNumber;s++){u.push(x+p*s)}return u.reverse()}function calYAxisData(a,o,e,n){var l=assign({},{type:""},o.extra.column);var t=o.yAxis.data.length;var s=new Array(t);if(t>0){for(let e=0;e<t;e++){s[e]=[];for(let t=0;t<a.length;t++){if(a[t].index==e){s[e].push(a[t])}}}var h=new Array(t);var c=new Array(t);var d=new Array(t);for(let r=0;r<t;r++){let i=o.yAxis.data[r];if(o.yAxis.disabled==true){i.disabled=true}if(i.type==="categories"){if(!i.formatter){i.formatter=(t,e,a)=>{return t+(i.unit||"")}}i.categories=i.categories||o.categories;h[r]=i.categories}else{if(!i.formatter){i.formatter=(t,e,a)=>{return util.toFixed(t,i.tofix||0)+(i.unit||"")}}h[r]=getYAxisTextList(s[r],o,e,l.type,i,r)}let a=i.fontSize*o.pix||e.fontSize;d[r]={position:i.position?i.position:"left",width:0};c[r]=h[r].map(function(t,e){t=i.formatter(t,e,o);d[r].width=Math.max(d[r].width,measureText(t,a,n)+5);return t});let t=i.calibration?4*o.pix:0;d[r].width+=t+3*o.pix;if(i.disabled===true){d[r].width=0}}}else{var h=new Array(1);var c=new Array(1);var d=new Array(1);if(o.type==="bar"){h[0]=o.categories;if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t+(a.yAxis.unit||"")}}}else{if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t.toFixed(a.yAxis.tofix)+(a.yAxis.unit||"")}}h[0]=getYAxisTextList(a,o,e,l.type,{})}d[0]={position:"left",width:0};var i=o.yAxis.fontSize*o.pix||e.fontSize;c[0]=h[0].map(function(t,e){t=o.yAxis.formatter(t,e,o);d[0].width=Math.max(d[0].width,measureText(t,i,n)+5);return t});d[0].width+=3*o.pix;if(o.yAxis.disabled===true){d[0]={position:"left",width:0};o.yAxis.data[0]={disabled:true}}else{o.yAxis.data[0]={disabled:false,position:"left",max:o.yAxis.max,min:o.yAxis.min,formatter:o.yAxis.formatter};if(o.type==="bar"){o.yAxis.data[0].categories=o.categories;o.yAxis.data[0].type="categories"}}}return{rangesFormat:c,ranges:h,yAxisWidth:d}}function calTooltipYAxisData(r,t,o,e,a){let n=[].concat(o.chartData.yAxisData.ranges);let l=o.height-o.area[0]-o.area[2];let s=o.area[0];let h=[];for(let i=0;i<n.length;i++){let t=Math.max.apply(this,n[i]);let e=Math.min.apply(this,n[i]);let a=t-(t-e)*(r-s)/l;a=o.yAxis.data&&o.yAxis.data[i].formatter?o.yAxis.data[i].formatter(a,i,o):a.toFixed(0);h.push(String(a))}return h}function calMarkLineData(i,r){let o,n;let l=r.height-r.area[0]-r.area[2];for(let a=0;a<i.length;a++){i[a].yAxisIndex=i[a].yAxisIndex?i[a].yAxisIndex:0;let t=[].concat(r.chartData.yAxisData.ranges[i[a].yAxisIndex]);o=t.pop();n=t.shift();let e=l*(i[a].value-o)/(n-o);i[a].y=r.height-Math.round(e)-r.area[2]}return i}function contextRotate(t,e){if(e.rotateLock!==true){t.translate(e.height,0);t.rotate(90*Math.PI/180)}else if(e._rotate_!==true){t.translate(e.height,0);t.rotate(90*Math.PI/180);e._rotate_=true}}function drawPointShape(t,e,a,i,r){i.beginPath();if(r.dataPointShapeType=="hollow"){i.setStrokeStyle(e);i.setFillStyle(r.background);i.setLineWidth(2*r.pix)}else{i.setStrokeStyle("#ffffff");i.setFillStyle(e);i.setLineWidth(1*r.pix)}if(a==="diamond"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y);i.lineTo(t.x,t.y+4.5);i.lineTo(t.x+4.5,t.y);i.lineTo(t.x,t.y-4.5)}})}else if(a==="circle"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x+2.5*r.pix,t.y);i.arc(t.x,t.y,3*r.pix,0,2*Math.PI,false)}})}else if(a==="square"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x-3.5,t.y-3.5);i.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(a==="triangle"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y+4.5);i.lineTo(t.x+4.5,t.y+4.5);i.lineTo(t.x,t.y-4.5)}})}else if(a==="none"){return}i.closePath();i.fill();i.stroke()}function drawActivePoint(t,e,a,i,r,o,n){if(!r.tooltip){return}if(r.tooltip.group.length>0&&r.tooltip.group.includes(n)==false){return}var l=typeof r.tooltip.index==="number"?r.tooltip.index:r.tooltip.index[r.tooltip.group.indexOf(n)];i.beginPath();if(o.activeType=="hollow"){i.setStrokeStyle(e);i.setFillStyle(r.background);i.setLineWidth(2*r.pix)}else{i.setStrokeStyle("#ffffff");i.setFillStyle(e);i.setLineWidth(1*r.pix)}if(a==="diamond"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y);i.lineTo(t.x,t.y+4.5);i.lineTo(t.x+4.5,t.y);i.lineTo(t.x,t.y-4.5)}})}else if(a==="circle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x+2.5*r.pix,t.y);i.arc(t.x,t.y,3*r.pix,0,2*Math.PI,false)}})}else if(a==="square"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x-3.5,t.y-3.5);i.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(a==="triangle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y+4.5);i.lineTo(t.x+4.5,t.y+4.5);i.lineTo(t.x,t.y-4.5)}})}else if(a==="none"){return}i.closePath();i.fill();i.stroke()}function drawRingTitle(t,e,a,i){var r=t.title.fontSize||e.titleFontSize;var o=t.subtitle.fontSize||e.subtitleFontSize;var n=t.title.name||"";var l=t.subtitle.name||"";var c=t.title.color||t.fontColor;var d=t.subtitle.color||t.fontColor;var x=n?r:0;var f=l?o:0;var s=5;if(l){var p=measureText(l,o*t.pix,a);var u=i.x-p/2+(t.subtitle.offsetX||0)*t.pix;var h=i.y+o*t.pix/2+(t.subtitle.offsetY||0)*t.pix;if(n){h+=(x*t.pix+s)/2}a.beginPath();a.setFontSize(o*t.pix);a.setFillStyle(d);a.fillText(l,u,h);a.closePath();a.stroke()}if(n){var g=measureText(n,r*t.pix,a);var y=i.x-g/2+(t.title.offsetX||0);var v=i.y+r*t.pix/2+(t.title.offsetY||0)*t.pix;if(l){v-=(f*t.pix+s)/2}a.beginPath();a.setFontSize(r*t.pix);a.setFillStyle(c);a.fillText(n,y,v);a.closePath();a.stroke()}}function drawPointText(t,o,n,l,s){var h=o.data;var c=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){if(h[e].constructor.toString().indexOf("Array")>-1){i=h[e][1]}else{i=h[e].value}}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("center");l.fillText(String(r),t.x,t.y-4+c*s.pix);l.closePath();l.stroke();l.setTextAlign("left")}})}function drawColumePointText(t,n,l,s,h){var c=n.data;var d=n.textOffset?n.textOffset:0;var x=h.extra.column.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n.textSize?n.textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n.textColor||h.fontColor);var i=c[e];if(typeof c[e]==="object"&&c[e]!==null){if(c[e].constructor.toString().indexOf("Array")>-1){i=c[e][1]}else{i=c[e].value}}var r=n.formatter?n.formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>n.zeroPoints){o=t.y+d*h.pix+a}if(x=="insideTop"){o=t.y+a+d*h.pix;if(t.y>n.zeroPoints){o=t.y-d*h.pix-4*h.pix}}if(x=="center"){o=t.y+d*h.pix+(h.height-h.area[2]-t.y+a)/2;if(n.zeroPoints<h.height-h.area[2]){o=t.y+d*h.pix+(n.zeroPoints-t.y+a)/2}if(t.y>n.zeroPoints){o=t.y-d*h.pix-(t.y-n.zeroPoints-a)/2}if(h.extra.column.type=="stack"){o=t.y+d*h.pix+(t.y0-t.y+a)/2}}if(x=="bottom"){o=h.height-h.area[2]+d*h.pix-4*h.pix;if(n.zeroPoints<h.height-h.area[2]){o=n.zeroPoints+d*h.pix-4*h.pix}if(t.y>n.zeroPoints){o=n.zeroPoints-d*h.pix+a+2*h.pix}if(h.extra.column.type=="stack"){o=t.y0+d*h.pix-4*h.pix}}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawMountPointText(t,n,l,s,h,c){var e=n.data;var d=n.textOffset?n.textOffset:0;var a=h.extra.mount.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n[e].textSize?n[e].textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n[e].textColor||h.fontColor);var i=t.value;var r=n[e].formatter?n[e].formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>c){o=t.y+d*h.pix+a}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawBarPointText(t,o,n,l,s){var h=o.data;var e=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){i=h[e].value}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("left");l.fillText(String(r),t.x+4*s.pix,t.y+a/2-3);l.closePath();l.stroke()}})}function drawGaugeLabel(e,a,i,r,o,n){a-=e.width/2+e.labelOffset*r.pix;a=a<10?10:a;let t;if(e.endAngle<e.startAngle){t=2+e.endAngle-e.startAngle}else{t=e.startAngle-e.endAngle}let c=t/e.splitLine.splitNumber;let d=e.endNumber-e.startNumber;let x=d/e.splitLine.splitNumber;let l=e.startAngle;let s=e.startNumber;for(let t=0;t<e.splitLine.splitNumber+1;t++){var h={x:a*Math.cos(l*Math.PI),y:a*Math.sin(l*Math.PI)};var f=e.formatter?e.formatter(s,t,r):s;h.x+=i.x-measureText(f,o.fontSize,n)/2;h.y+=i.y;var p=h.x;var u=h.y;n.beginPath();n.setFontSize(o.fontSize);n.setFillStyle(e.labelColor||r.fontColor);n.fillText(f,p,u+o.fontSize/2);n.closePath();n.stroke();l+=c;if(l>=2){l=l%2}s+=x}}function drawRadarLabel(t,s,h,c,d,x){var f=c.extra.radar||{};t.forEach(function(t,e){if(f.labelPointShow===true&&c.categories[e]!==""){var a={x:s*Math.cos(t),y:s*Math.sin(t)};var i=convertCoordinateOrigin(a.x,a.y,h);x.setFillStyle(f.labelPointColor);x.beginPath();x.arc(i.x,i.y,f.labelPointRadius*c.pix,0,2*Math.PI,false);x.closePath();x.fill()}if(f.labelShow===true){var r={x:(s+d.radarLabelTextMargin*c.pix)*Math.cos(t),y:(s+d.radarLabelTextMargin*c.pix)*Math.sin(t)};var o=convertCoordinateOrigin(r.x,r.y,h);var n=o.x;var l=o.y;if(util.approximatelyEqual(r.x,0)){n-=measureText(c.categories[e]||"",d.fontSize,x)/2}else if(r.x<0){n-=measureText(c.categories[e]||"",d.fontSize,x)}x.beginPath();x.setFontSize(d.fontSize);x.setFillStyle(f.labelColor||c.fontColor);x.fillText(c.categories[e]||"",n,l+d.fontSize/2);x.closePath();x.stroke()}})}function drawPieText(n,d,x,f,t,l){var p=x.pieChartLinePadding;var u=[];var g=null;var y=n.map(function(t,e){var a=t.formatter?t.formatter(t,e,n,d):util.toFixed(t._proportion_.toFixed(4)*100)+"%";a=t.labelText?t.labelText:a;var i=2*Math.PI-(t._start_+2*Math.PI*t._proportion_/2);if(t._rose_proportion_){i=2*Math.PI-(t._start_+2*Math.PI*t._rose_proportion_/2)}var r=t.color;var o=t._radius_;return{arc:i,text:a,color:r,radius:o,textColor:t.textColor,textSize:t.textSize,labelShow:t.labelShow}});for(let c=0;c<y.length;c++){let t=y[c];let e=Math.cos(t.arc)*(t.radius+p);let a=Math.sin(t.arc)*(t.radius+p);let i=Math.cos(t.arc)*t.radius;let r=Math.sin(t.arc)*t.radius;let o=e>=0?e+x.pieChartTextPadding:e-x.pieChartTextPadding;let n=a;let l=measureText(t.text,t.textSize*d.pix||x.fontSize,f);let s=n;if(g&&util.isSameXCoordinateArea(g.start,{x:o})){if(o>0){s=Math.min(n,g.start.y)}else if(e<0){s=Math.max(n,g.start.y)}else{if(n>0){s=Math.max(n,g.start.y)}else{s=Math.min(n,g.start.y)}}}if(o<0){o-=l}let h={lineStart:{x:i,y:r},lineEnd:{x:e,y:a},start:{x:o,y:s},width:l,height:x.fontSize,text:t.text,color:t.color,textColor:t.textColor,textSize:t.textSize};g=avoidCollision(h,g);u.push(g)}for(let n=0;n<u.length;n++){if(y[n].labelShow===false){continue}let t=u[n];let e=convertCoordinateOrigin(t.lineStart.x,t.lineStart.y,l);let a=convertCoordinateOrigin(t.lineEnd.x,t.lineEnd.y,l);let i=convertCoordinateOrigin(t.start.x,t.start.y,l);f.setLineWidth(1*d.pix);f.setFontSize(t.textSize*d.pix||x.fontSize);f.beginPath();f.setStrokeStyle(t.color);f.setFillStyle(t.color);f.moveTo(e.x,e.y);let r=t.start.x<0?i.x+t.width:i.x;let o=t.start.x<0?i.x-5:i.x+5;f.quadraticCurveTo(a.x,a.y,r,i.y);f.moveTo(e.x,e.y);f.stroke();f.closePath();f.beginPath();f.moveTo(i.x+t.width,i.y);f.arc(r,i.y,2*d.pix,0,2*Math.PI);f.closePath();f.fill();f.beginPath();f.setFontSize(t.textSize*d.pix||x.fontSize);f.setFillStyle(t.textColor||d.fontColor);f.fillText(t.text,o,i.y+3);f.closePath();f.stroke();f.closePath()}}function drawToolTipSplitLine(r,o,n,l){var s=o.extra.tooltip||{};s.gridType=s.gridType==undefined?"solid":s.gridType;s.dashLength=s.dashLength==undefined?4:s.dashLength;var t=o.area[0];var h=o.height-o.area[2];if(s.gridType=="dash"){l.setLineDash([s.dashLength,s.dashLength])}l.setStrokeStyle(s.gridColor||"#cccccc");l.setLineWidth(1*o.pix);l.beginPath();l.moveTo(r,t);l.lineTo(r,h);l.stroke();l.setLineDash([]);if(s.xAxisLabel){let t=o.categories[o.tooltip.index];l.setFontSize(n.fontSize);let e=measureText(t,n.fontSize,l);let a=r-.5*e;let i=h+2*o.pix;l.beginPath();l.setFillStyle(hexToRgb(s.labelBgColor||n.toolTipBackground,s.labelBgOpacity||n.toolTipOpacity));l.setStrokeStyle(s.labelBgColor||n.toolTipBackground);l.setLineWidth(1*o.pix);l.rect(a-s.boxPadding*o.pix,i,e+2*s.boxPadding*o.pix,n.fontSize+2*s.boxPadding*o.pix);l.closePath();l.stroke();l.fill();l.beginPath();l.setFontSize(n.fontSize);l.setFillStyle(s.labelFontColor||o.fontColor);l.fillText(String(t),a,i+s.boxPadding*o.pix+n.fontSize);l.closePath();l.stroke()}}function drawMarkLine(h,t,c){let e=assign({},{type:"solid",dashLength:4,data:[]},h.extra.markLine);let a=h.area[3];let i=h.width-h.area[1];let r=calMarkLineData(e.data,h);for(let t=0;t<r.length;t++){let s=assign({},{lineColor:"#DE4A42",showLabel:false,labelFontSize:13,labelPadding:6,labelFontColor:"#666666",labelBgColor:"#DFE8FF",labelBgOpacity:.8,labelAlign:"left",labelOffsetX:0,labelOffsetY:0},r[t]);if(e.type=="dash"){c.setLineDash([e.dashLength,e.dashLength])}c.setStrokeStyle(s.lineColor);c.setLineWidth(1*h.pix);c.beginPath();c.moveTo(a,s.y);c.lineTo(i,s.y);c.stroke();c.setLineDash([]);if(s.showLabel){let t=s.labelFontSize*h.pix;let e=s.labelText?s.labelText:s.value;c.setFontSize(t);let a=measureText(e,t,c);let i=a+s.labelPadding*h.pix*2;let r=s.labelAlign=="left"?h.area[3]-i:h.width-h.area[1];r+=s.labelOffsetX;let o=s.y-.5*t-s.labelPadding*h.pix;o+=s.labelOffsetY;let n=r+s.labelPadding*h.pix;let l=s.y;c.setFillStyle(hexToRgb(s.labelBgColor,s.labelBgOpacity));c.setStrokeStyle(s.labelBgColor);c.setLineWidth(1*h.pix);c.beginPath();c.rect(r,o,i,t+2*s.labelPadding*h.pix);c.closePath();c.stroke();c.fill();c.setFontSize(t);c.setTextAlign("left");c.setFillStyle(s.labelFontColor);c.fillText(String(e),n,o+t+s.labelPadding*h.pix/2);c.stroke();c.setTextAlign("left")}}}function drawToolTipHorizentalLine(x,f,p,t,e){var u=assign({},{gridType:"solid",dashLength:4},x.extra.tooltip);var a=x.area[3];var i=x.width-x.area[1];if(u.gridType=="dash"){p.setLineDash([u.dashLength,u.dashLength])}p.setStrokeStyle(u.gridColor||"#cccccc");p.setLineWidth(1*x.pix);p.beginPath();p.moveTo(a,x.tooltip.offset.y);p.lineTo(i,x.tooltip.offset.y);p.stroke();p.setLineDash([]);if(u.yAxisLabel){let l=u.boxPadding*x.pix;let s=calTooltipYAxisData(x.tooltip.offset.y,x.series,x,f,t);let h=x.chartData.yAxisData.yAxisWidth;let c=x.area[3];let d=x.width-x.area[1];for(let n=0;n<s.length;n++){p.setFontSize(u.fontSize*x.pix);let t=measureText(s[n],u.fontSize*x.pix,p);let e,a,i;if(h[n].position=="left"){e=c-(t+l*2)-2*x.pix;a=Math.max(e,e+t+l*2)}else{e=d+2*x.pix;a=Math.max(e+h[n].width,e+t+l*2)}i=a-e;let r=e+(i-t)/2;let o=x.tooltip.offset.y;p.beginPath();p.setFillStyle(hexToRgb(u.labelBgColor||f.toolTipBackground,u.labelBgOpacity||f.toolTipOpacity));p.setStrokeStyle(u.labelBgColor||f.toolTipBackground);p.setLineWidth(1*x.pix);p.rect(e,o-.5*f.fontSize-l,i,f.fontSize+2*l);p.closePath();p.stroke();p.fill();p.beginPath();p.setFontSize(f.fontSize);p.setFillStyle(u.labelFontColor||x.fontColor);p.fillText(s[n],r,o+.5*f.fontSize);p.closePath();p.stroke();if(h[n].position=="left"){c-=h[n].width+x.yAxis.padding*x.pix}else{d+=h[n].width+x.yAxis.padding*x.pix}}}}function drawToolTipSplitArea(t,e,a,i,r){var o=assign({},{activeBgColor:"#000000",activeBgOpacity:.08,activeWidth:r},e.extra.column);o.activeWidth=o.activeWidth>r?r:o.activeWidth;var n=e.area[0];var l=e.height-e.area[2];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(t-o.activeWidth/2,n,o.activeWidth,l-n);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawBarToolTipSplitArea(t,e,a,i,r){var o=assign({},{activeBgColor:"#000000",activeBgOpacity:.08},e.extra.bar);var n=e.area[3];var l=e.width-e.area[1];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(n,t-r/2,l-n,r);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawToolTip(e,r,o,a,n,i,f){var l=assign({},{showBox:true,showArrow:true,showCategory:false,bgColor:"#000000",bgOpacity:.7,borderColor:"#000000",borderWidth:0,borderRadius:0,borderOpacity:.7,boxPadding:3,fontColor:"#FFFFFF",fontSize:13,lineHeight:20,legendShow:true,legendShape:"auto",splitLine:true},o.extra.tooltip);if(l.showCategory==true&&o.categories){e.unshift({text:o.categories[o.tooltip.index],color:null})}var s=l.fontSize*o.pix;var p=l.lineHeight*o.pix;var h=l.boxPadding*o.pix;var c=s;var u=5*o.pix;if(l.legendShow==false){c=0;u=0}var d=l.showArrow?8*o.pix:0;var g=false;if(o.type=="line"||o.type=="mount"||o.type=="area"||o.type=="candle"||o.type=="mix"){if(l.splitLine==true){drawToolTipSplitLine(o.tooltip.offset.x,o,a,n)}}r=assign({x:0,y:0},r);r.y-=8*o.pix;var y=e.map(function(t){return measureText(t.text,s,n)});var x=c+u+4*h+Math.max.apply(null,y);var v=2*h+e.length*p;if(l.showBox==false){return}if(r.x-Math.abs(o._scrollDistance_||0)+d+x>o.width){g=true}if(v+r.y>o.height){r.y=o.height-v}n.beginPath();n.setFillStyle(hexToRgb(l.bgColor,l.bgOpacity));n.setLineWidth(l.borderWidth*o.pix);n.setStrokeStyle(hexToRgb(l.borderColor,l.borderOpacity));var t=l.borderRadius;if(g){if(x+d>o.width){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(x>r.x){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x-d,r.y+10*o.pix+5*o.pix)}n.arc(r.x-d-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x-d-Math.round(x)+t,r.y+v-t,t,Math.PI/2,Math.PI,false);n.arc(r.x-d-Math.round(x)+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x-d-t,r.y+t,t,-Math.PI/2,0,false);if(l.showArrow){n.lineTo(r.x-d,r.y+10*o.pix-5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}else{if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x+d,r.y+10*o.pix-5*o.pix)}n.arc(r.x+d+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x+d+Math.round(x)-t,r.y+t,t,-Math.PI/2,0,false);n.arc(r.x+d+Math.round(x)-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x+d+t,r.y+v-t,t,Math.PI/2,Math.PI,false);if(l.showArrow){n.lineTo(r.x+d,r.y+10*o.pix+5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}n.closePath();n.fill();if(l.borderWidth>0){n.stroke()}if(l.legendShow){e.forEach(function(t,e){if(t.color!==null){n.beginPath();n.setFillStyle(t.color);var a=r.x+d+2*h;var i=r.y+(p-s)/2+p*e+h+1;if(g){a=r.x-x-d+2*h}switch(t.legendShape){case"line":n.moveTo(a,i+.5*c-2*o.pix);n.fillRect(a,i+.5*c-2*o.pix,c,4*o.pix);break;case"triangle":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"diamond":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"circle":n.moveTo(a+7.5*o.pix,i+.5*c);n.arc(a+7.5*o.pix,i+.5*c,5*o.pix,0,2*Math.PI);break;case"rect":n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix);break;case"square":n.moveTo(a+2*o.pix,i+.5*c-5*o.pix);n.fillRect(a+2*o.pix,i+.5*c-5*o.pix,10*o.pix,10*o.pix);break;default:n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix)}n.closePath();n.fill()}})}e.forEach(function(t,e){var a=r.x+d+2*h+c+u;if(g){a=r.x-x-d+2*h+c+u}var i=r.y+p*e+(p-s)/2-1+h+s;n.beginPath();n.setFontSize(s);n.setTextBaseline("normal");n.setFillStyle(l.fontColor);n.fillText(t.text,a,i);n.closePath();n.stroke()})}function drawColumnDataPoints(T,b,S,w){let A=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=b.chartData.xAxisData,P=t.xAxisPoints,C=t.eachSpacing;let D=assign({},{type:"group",width:C/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0,labelPosition:"outside"},b.extra.column);let M=[];w.save();let L=-2;let F=P.length+2;if(b._scrollDistance_&&b._scrollDistance_!==0&&b.enableScroll===true){w.translate(b._scrollDistance_,0);L=Math.floor(-b._scrollDistance_/C)-2;F=L+b.xAxis.itemCount+4}if(b.tooltip&&b.tooltip.textList&&b.tooltip.textList.length&&A===1){drawToolTipSplitArea(b.tooltip.offset.x,b,S,w,C)}D.customColor=fillCustomColor(D.linearType,D.customColor,T,S);T.forEach(function(a,i){let e,t,o;e=[].concat(b.chartData.yAxisData.ranges[a.index]);t=e.pop();o=e.shift();let x=b.height-b.area[0]-b.area[2];let f=x*(0-t)/(o-t);let n=b.height-Math.round(f)-b.area[2];a.zeroPoints=n;var p=a.data;switch(D.type){case"group":var r=getColumnDataPoints(p,t,o,P,C,b,S,n,A);var u=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(u);r=fixColumeData(r,C,T.length,i,S,b);for(let t=0;t<r.length;t++){let o=r[t];if(o!==null&&t>L&&t<F){var l=o.x-o.width/2;var s=b.height-o.y-b.area[2];w.beginPath();var g=o.color||a.color;var y=o.color||a.color;if(D.linearType!=="none"){var v=w.createLinearGradient(l,o.y,l,n);if(D.linearType=="opacity"){v.addColorStop(0,hexToRgb(g,D.linearOpacity));v.addColorStop(1,hexToRgb(g,1))}else{v.addColorStop(0,hexToRgb(D.customColor[a.linearIndex],D.linearOpacity));v.addColorStop(D.colorStop,hexToRgb(D.customColor[a.linearIndex],D.linearOpacity));v.addColorStop(1,hexToRgb(g,1))}g=v}if(D.barBorderRadius&&D.barBorderRadius.length===4||D.barBorderCircle===true){const h=l;const c=o.y>n?n:o.y;const d=o.width;const s=Math.abs(n-o.y);if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}if(o.y>n){D.barBorderRadius=[0,0,d/2,d/2]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.setLineWidth(1);w.setStrokeStyle(y)}w.setFillStyle(g);w.closePath();w.fill()}};break;case"stack":var r=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(r);r=fixColumeStackData(r,C,T.length,i,S,b,T);for(let e=0;e<r.length;e++){let t=r[e];if(t!==null&&e>L&&e<F){w.beginPath();var g=t.color||a.color;var l=t.x-t.width/2+1;var s=b.height-t.y-b.area[2];var m=b.height-t.y0-b.area[2];if(i>0){s-=m}w.setFillStyle(g);w.moveTo(l,t.y);w.fillRect(l,t.y,t.width,s);w.closePath();w.fill()}};break;case"meter":var r=getDataPoints(p,t,o,P,C,b,S,A);M.push(r);r=fixColumeMeterData(r,C,T.length,i,S,b,D.meterBorder);for(let t=0;t<r.length;t++){let o=r[t];if(o!==null&&t>L&&t<F){w.beginPath();if(i==0&&D.meterBorder>0){w.setStrokeStyle(a.color);w.setLineWidth(D.meterBorder*b.pix)}if(i==0){w.setFillStyle(D.meterFillColor)}else{w.setFillStyle(o.color||a.color)}var l=o.x-o.width/2;var s=b.height-o.y-b.area[2];if(D.barBorderRadius&&D.barBorderRadius.length===4||D.barBorderCircle===true){const h=l;const c=o.y;const d=o.width;const s=n-o.y;if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI);w.fill()}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.fill()}if(i==0&&D.meterBorder>0){w.closePath();w.stroke()}}}break}});if(b.dataLabel!==false&&A===1){T.forEach(function(t,e){let a,i,r;a=[].concat(b.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;switch(D.type){case"group":var n=getColumnDataPoints(o,i,r,P,C,b,S,A);n=fixColumeData(n,C,T.length,e,S,b);drawColumePointText(n,t,S,w,b);break;case"stack":var n=getStackDataPoints(o,i,r,P,C,b,S,e,T,A);drawColumePointText(n,t,S,w,b);break;case"meter":var n=getDataPoints(o,i,r,P,C,b,S,A);drawColumePointText(n,t,S,w,b);break}})}w.restore();return{xAxisPoints:P,calPoints:M,eachSpacing:C}}function drawMountDataPoints(i,r,o,n){let f=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=r.chartData.xAxisData,p=t.xAxisPoints,l=t.eachSpacing;let s=assign({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:false,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},r.extra.mount);s.widthRatio=s.widthRatio<=0?0:s.widthRatio;s.widthRatio=s.widthRatio>=2?2:s.widthRatio;let e=[];n.save();let u=-2;let g=p.length+2;if(r._scrollDistance_&&r._scrollDistance_!==0&&r.enableScroll===true){n.translate(r._scrollDistance_,0);u=Math.floor(-r._scrollDistance_/l)-2;g=u+r.xAxis.itemCount+4}s.customColor=fillCustomColor(s.linearType,s.customColor,i,o);let y,v,m;y=[].concat(r.chartData.yAxisData.ranges[0]);v=y.pop();m=y.shift();let T=r.height-r.area[0]-r.area[2];let b=T*(0-v)/(m-v);let h=r.height-Math.round(b)-r.area[2];var c=getMountDataPoints(i,v,m,p,l,r,s,h,f);switch(s.type){case"bar":for(let t=0;t<c.length;t++){let o=c[t];if(o!==null&&t>u&&t<g){var d=o.x-l*s.widthRatio/2;var S=r.height-o.y-r.area[2];n.beginPath();var a=o.color||i[t].color;var w=o.color||i[t].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,o.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[t].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[t].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}if(s.barBorderRadius&&s.barBorderRadius.length===4||s.barBorderCircle===true){const A=d;const P=o.y>h?h:o.y;const C=o.width;const S=Math.abs(h-o.y);if(s.barBorderCircle){s.barBorderRadius=[C/2,C/2,0,0]}if(o.y>h){s.barBorderRadius=[0,0,C/2,C/2]}let[t,e,a,i]=s.barBorderRadius;let r=Math.min(C/2,S/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;n.arc(A+t,P+t,t,-Math.PI,-Math.PI/2);n.arc(A+C-e,P+e,e,-Math.PI/2,0);n.arc(A+C-a,P+S-a,a,0,Math.PI/2);n.arc(A+i,P+S-i,i,Math.PI/2,Math.PI)}else{n.moveTo(d,o.y);n.lineTo(d+o.width,o.y);n.lineTo(d+o.width,h);n.lineTo(d,h);n.lineTo(d,o.y)}n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.closePath();n.stroke()}n.fill()}};break;case"triangle":for(let e=0;e<c.length;e++){let t=c[e];if(t!==null&&e>u&&e<g){var d=t.x-l*s.widthRatio/2;var S=r.height-t.y-r.area[2];n.beginPath();var a=t.color||i[e].color;var w=t.color||i[e].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,t.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}n.moveTo(d,h);n.lineTo(t.x,t.y);n.lineTo(d+t.width,h);n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"mount":for(let e=0;e<c.length;e++){let t=c[e];if(t!==null&&e>u&&e<g){var d=t.x-l*s.widthRatio/2;var S=r.height-t.y-r.area[2];n.beginPath();var a=t.color||i[e].color;var w=t.color||i[e].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,t.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}n.moveTo(d,h);n.bezierCurveTo(t.x-t.width/4,h,t.x-t.width/4,t.y,t.x,t.y);n.bezierCurveTo(t.x+t.width/4,t.y,t.x+t.width/4,h,d+t.width,h);n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"sharp":for(let e=0;e<c.length;e++){let t=c[e];if(t!==null&&e>u&&e<g){var d=t.x-l*s.widthRatio/2;var S=r.height-t.y-r.area[2];n.beginPath();var a=t.color||i[e].color;var w=t.color||i[e].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,t.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}n.moveTo(d,h);n.quadraticCurveTo(t.x-0,h-S/4,t.x,t.y);n.quadraticCurveTo(t.x+0,h-S/4,d+t.width,h);n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break}if(r.dataLabel!==false&&f===1){let t,e,a;t=[].concat(r.chartData.yAxisData.ranges[0]);e=t.pop();a=t.shift();var c=getMountDataPoints(i,e,a,p,l,r,s,h,f);drawMountPointText(c,i,o,n,r,h)}n.restore();return{xAxisPoints:p,calPoints:c,eachSpacing:l}}function drawBarDataPoints(y,v,m,T){let b=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let S=[];let w=(v.height-v.area[0]-v.area[2])/v.categories.length;for(let t=0;t<v.categories.length;t++){S.push(v.area[0]+w/2+w*t)}let A=assign({},{type:"group",width:w/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},v.extra.bar);let P=[];T.save();let C=-2;let D=S.length+2;if(v.tooltip&&v.tooltip.textList&&v.tooltip.textList.length&&b===1){drawBarToolTipSplitArea(v.tooltip.offset.y,v,m,T,w)}A.customColor=fillCustomColor(A.linearType,A.customColor,y,m);y.forEach(function(a,t){let o,e,d;o=[].concat(v.chartData.xAxisData.ranges);d=o.pop();e=o.shift();var x=a.data;switch(A.type){case"group":var i=getBarDataPoints(x,e,d,S,w,v,m,b);var f=getBarStackDataPoints(x,e,d,S,w,v,m,t,y,b);P.push(f);i=fixBarData(i,w,y.length,t,m,v);for(let t=0;t<i.length;t++){let o=i[t];if(o!==null&&t>C&&t<D){var n=v.area[3];var r=o.y-o.width/2;var p=o.height;T.beginPath();var l=o.color||a.color;var u=o.color||a.color;if(A.linearType!=="none"){var s=T.createLinearGradient(n,o.y,o.x,o.y);if(A.linearType=="opacity"){s.addColorStop(0,hexToRgb(l,A.linearOpacity));s.addColorStop(1,hexToRgb(l,1))}else{s.addColorStop(0,hexToRgb(A.customColor[a.linearIndex],A.linearOpacity));s.addColorStop(A.colorStop,hexToRgb(A.customColor[a.linearIndex],A.linearOpacity));s.addColorStop(1,hexToRgb(l,1))}l=s}if(A.barBorderRadius&&A.barBorderRadius.length===4||A.barBorderCircle===true){const g=n;const h=o.width;const c=o.y-o.width/2;const p=o.height;if(A.barBorderCircle){A.barBorderRadius=[h/2,h/2,0,0]}let[t,e,a,i]=A.barBorderRadius;let r=Math.min(h/2,p/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(g+i,c+i,i,-Math.PI,-Math.PI/2);T.arc(o.x-t,c+t,t,-Math.PI/2,0);T.arc(o.x-e,c+h-e,e,0,Math.PI/2);T.arc(g+a,c+h-a,a,Math.PI/2,Math.PI)}else{T.moveTo(n,r);T.lineTo(o.x,r);T.lineTo(o.x,r+o.width);T.lineTo(n,r+o.width);T.lineTo(n,r);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(l);T.closePath();T.fill()}};break;case"stack":var i=getBarStackDataPoints(x,e,d,S,w,v,m,t,y,b);P.push(i);i=fixBarStackData(i,w,y.length,t,m,v,y);for(let e=0;e<i.length;e++){let t=i[e];if(t!==null&&e>C&&e<D){T.beginPath();var l=t.color||a.color;var n=t.x0;T.setFillStyle(l);T.moveTo(n,t.y-t.width/2);T.fillRect(n,t.y-t.width/2,t.height,t.width);T.closePath();T.fill()}};break}});if(v.dataLabel!==false&&b===1){y.forEach(function(t,e){let a,i,r;a=[].concat(v.chartData.xAxisData.ranges);r=a.pop();i=a.shift();var o=t.data;switch(A.type){case"group":var n=getBarDataPoints(o,i,r,S,w,v,m,b);n=fixBarData(n,w,y.length,e,m,v);drawBarPointText(n,t,m,T,v);break;case"stack":var n=getBarStackDataPoints(o,i,r,S,w,v,m,e,y,b);drawBarPointText(n,t,m,T,v);break}})}return{yAxisPoints:S,calPoints:P,eachSpacing:w}}function drawCandleDataPoints(e,t,h,c,d){var g=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var s=assign({},{color:{},average:{}},h.extra.candle);s.color=assign({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},s.color);s.average=assign({},{show:false,name:[],day:[],color:c.color},s.average);h.extra.candle=s;let a=h.chartData.xAxisData,x=a.xAxisPoints,f=a.eachSpacing;let y=[];d.save();let p=-2;let v=x.length+2;let u=0;let m=h.width+f;if(h._scrollDistance_&&h._scrollDistance_!==0&&h.enableScroll===true){d.translate(h._scrollDistance_,0);p=Math.floor(-h._scrollDistance_/f)-2;v=p+h.xAxis.itemCount+4;u=-h._scrollDistance_-f*2+h.area[3];m=u+(h.xAxis.itemCount+4)*f}if(s.average.show||t){t.forEach(function(e,t){let a,i,r;a=[].concat(h.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();var o=e.data;var n=getDataPoints(o,i,r,x,f,h,c,g);var l=splitPoints(n,e);for(let t=0;t<l.length;t++){let i=l[t];d.beginPath();d.setStrokeStyle(e.color);d.setLineWidth(1);if(i.length===1){d.moveTo(i[0].x,i[0].y);d.arc(i[0].x,i[0].y,1,0,2*Math.PI)}else{d.moveTo(i[0].x,i[0].y);let a=0;for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>u){d.moveTo(t.x,t.y);a=1}if(e>0&&t.x>u&&t.x<m){var s=createCurveControlPoints(i,e-1);d.bezierCurveTo(s.ctrA.x,s.ctrA.y,s.ctrB.x,s.ctrB.y,t.x,t.y)}}d.moveTo(i[0].x,i[0].y)}d.closePath();d.stroke()}})}e.forEach(function(t,e){let a,i,r;a=[].concat(h.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getCandleDataPoints(o,i,r,x,f,h,c,g);y.push(n);var l=splitPoints(n,t);for(let e=0;e<l[0].length;e++){if(e>p&&e<v){let t=l[0][e];d.beginPath();if(o[e][1]-o[e][0]>0){d.setStrokeStyle(s.color.upLine);d.setFillStyle(s.color.upFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.moveTo(t[3].x,t[3].y)}else{d.setStrokeStyle(s.color.downLine);d.setFillStyle(s.color.downFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.moveTo(t[3].x,t[3].y)}d.closePath();d.fill();d.stroke()}}});d.restore();return{xAxisPoints:x,calPoints:y,eachSpacing:f}}function drawAreaDataPoints(t,s,h,c){var d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var x=assign({},{type:"straight",opacity:.2,addLine:false,width:2,gradient:false,activeType:"none"},s.extra.area);let e=s.chartData.xAxisData,f=e.xAxisPoints,p=e.eachSpacing;let y=s.height-s.area[2];let v=[];c.save();let u=0;let g=s.width+p;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);u=-s._scrollDistance_-p*2+s.area[3];g=u+(s.xAxis.itemCount+4)*p}t.forEach(function(e,t){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();let o=e.data;let n=getDataPoints(o,i,r,f,p,s,h,d);v.push(n);let l=splitPoints(n,e);for(let t=0;t<l.length;t++){let r=l[t];c.beginPath();c.setStrokeStyle(hexToRgb(e.color,x.opacity));if(x.gradient){let t=c.createLinearGradient(0,s.area[0],0,s.height-s.area[2]);t.addColorStop("0",hexToRgb(e.color,x.opacity));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));c.setFillStyle(t)}else{c.setFillStyle(hexToRgb(e.color,x.opacity))}c.setLineWidth(x.width*s.pix);if(r.length>1){let t=r[0];let e=r[r.length-1];c.moveTo(t.x,t.y);let i=0;if(x.type==="curve"){for(let a=0;a<r.length;a++){let e=r[a];if(i==0&&e.x>u){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.x<g){let t=createCurveControlPoints(r,a-1);c.bezierCurveTo(t.ctrA.x,t.ctrA.y,t.ctrB.x,t.ctrB.y,e.x,e.y)}}}if(x.type==="straight"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,t.y)}}}if(x.type==="step"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,r[e-1].y);c.lineTo(t.x,t.y)}}}c.lineTo(e.x,y);c.lineTo(t.x,y);c.lineTo(t.x,t.y)}else{let t=r[0];c.moveTo(t.x-p/2,t.y)}c.closePath();c.fill();if(x.addLine){if(e.lineType=="dash"){let t=e.dashLength?e.dashLength:8;t*=s.pix;c.setLineDash([t,t])}c.beginPath();c.setStrokeStyle(e.color);c.setLineWidth(x.width*s.pix);if(r.length===1){c.moveTo(r[0].x,r[0].y)}else{c.moveTo(r[0].x,r[0].y);let i=0;if(x.type==="curve"){for(let a=0;a<r.length;a++){let e=r[a];if(i==0&&e.x>u){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.x<g){let t=createCurveControlPoints(r,a-1);c.bezierCurveTo(t.ctrA.x,t.ctrA.y,t.ctrB.x,t.ctrB.y,e.x,e.y)}}}if(x.type==="straight"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,t.y)}}}if(x.type==="step"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,r[e-1].y);c.lineTo(t.x,t.y)}}}c.moveTo(r[0].x,r[0].y)}c.stroke();c.setLineDash([])}}if(s.dataPointShape!==false){drawPointShape(n,e.color,e.pointShape,c,s)}drawActivePoint(n,e.color,e.pointShape,c,s,x,t)});if(s.dataLabel!==false&&d===1){t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,f,p,s,h,d);drawPointText(n,t,h,c,s)})}c.restore();return{xAxisPoints:f,calPoints:v,eachSpacing:p}}function drawScatterDataPoints(t,s,h,c){var d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var i=assign({},{type:"circle"},s.extra.scatter);let e=s.chartData.xAxisData,x=e.xAxisPoints,f=e.eachSpacing;var r=[];c.save();let a=0;let o=s.width+f;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);a=-s._scrollDistance_-f*2+s.area[3];o=a+(s.xAxis.itemCount+4)*f}t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);c.beginPath();c.setStrokeStyle(t.color);c.setFillStyle(t.color);c.setLineWidth(1*s.pix);var l=t.pointShape;if(l==="diamond"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y);c.lineTo(t.x,t.y+4.5);c.lineTo(t.x+4.5,t.y);c.lineTo(t.x,t.y-4.5)}})}else if(l==="circle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x+2.5*s.pix,t.y);c.arc(t.x,t.y,3*s.pix,0,2*Math.PI,false)}})}else if(l==="square"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x-3.5,t.y-3.5);c.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(l==="triangle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y+4.5);c.lineTo(t.x+4.5,t.y+4.5);c.lineTo(t.x,t.y-4.5)}})}else if(l==="triangle"){return}c.closePath();c.fill();c.stroke()});if(s.dataLabel!==false&&d===1){t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);drawPointText(n,t,h,c,s)})}c.restore();return{xAxisPoints:x,calPoints:r,eachSpacing:f}}function drawBubbleDataPoints(a,l,s,h){var c=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var d=assign({},{opacity:1,border:2},l.extra.bubble);let t=l.chartData.xAxisData,x=t.xAxisPoints,f=t.eachSpacing;var i=[];h.save();let e=0;let r=l.width+f;if(l._scrollDistance_&&l._scrollDistance_!==0&&l.enableScroll===true){h.translate(l._scrollDistance_,0);e=-l._scrollDistance_-f*2+l.area[3];r=e+(l.xAxis.itemCount+4)*f}a.forEach(function(i,t){let e,a,r;e=[].concat(l.chartData.yAxisData.ranges[i.index]);a=e.pop();r=e.shift();var o=i.data;var n=getDataPoints(o,a,r,x,f,l,s,c);h.beginPath();h.setStrokeStyle(i.color);h.setLineWidth(d.border*l.pix);h.setFillStyle(hexToRgb(i.color,d.opacity));n.forEach(function(t,e){h.moveTo(t.x+t.r,t.y);h.arc(t.x,t.y,t.r*l.pix,0,2*Math.PI,false)});h.closePath();h.fill();h.stroke();if(l.dataLabel!==false&&c===1){n.forEach(function(t,e){h.beginPath();var a=i.textSize*l.pix||s.fontSize;h.setFontSize(a);h.setFillStyle(i.textColor||"#FFFFFF");h.setTextAlign("center");h.fillText(String(t.t),t.x,t.y+a/2);h.closePath();h.stroke();h.setTextAlign("left")})}});h.restore();return{xAxisPoints:x,calPoints:i,eachSpacing:f}}function drawLineDataPoints(t,d,x,f){var p=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var u=assign({},{type:"straight",width:2,activeType:"none",linearType:"none",onShadow:false,animation:"vertical"},d.extra.line);u.width*=d.pix;let e=d.chartData.xAxisData,g=e.xAxisPoints,y=e.eachSpacing;var T=[];f.save();let v=0;let m=d.width+y;if(d._scrollDistance_&&d._scrollDistance_!==0&&d.enableScroll===true){f.translate(d._scrollDistance_,0);v=-d._scrollDistance_-y*2+d.area[3];m=v+(d.xAxis.itemCount+4)*y}t.forEach(function(e,c){f.beginPath();f.setStrokeStyle(e.color);f.moveTo(-1e4,-1e4);f.lineTo(-10001,-10001);f.stroke();let t,a,i;t=[].concat(d.chartData.yAxisData.ranges[e.index]);a=t.pop();i=t.shift();var r=e.data;var o=getLineDataPoints(r,a,i,g,y,d,x,u,p);T.push(o);var n=splitPoints(o,e);if(e.lineType=="dash"){let t=e.dashLength?e.dashLength:8;t*=d.pix;f.setLineDash([t,t])}f.beginPath();var l=e.color;if(u.linearType!=="none"&&e.linearColor&&e.linearColor.length>0){var s=f.createLinearGradient(d.chartData.xAxisData.startX,d.height/2,d.chartData.xAxisData.endX,d.height/2);for(var h=0;h<e.linearColor.length;h++){s.addColorStop(e.linearColor[h][0],hexToRgb(e.linearColor[h][1],1))}l=s}f.setStrokeStyle(l);if(u.onShadow==true&&e.setShadow&&e.setShadow.length>0){f.setShadow(e.setShadow[0],e.setShadow[1],e.setShadow[2],e.setShadow[3])}else{f.setShadow(0,0,0,"rgba(0,0,0,0)")}f.setLineWidth(u.width);n.forEach(function(i,t){if(i.length===1){f.moveTo(i[0].x,i[0].y)}else{f.moveTo(i[0].x,i[0].y);let a=0;if(u.type==="curve"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>v){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x<m){var r=createCurveControlPoints(i,e-1);f.bezierCurveTo(r.ctrA.x,r.ctrA.y,r.ctrB.x,r.ctrB.y,t.x,t.y)}}}if(u.type==="straight"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>v){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x<m){f.lineTo(t.x,t.y)}}}if(u.type==="step"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>v){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x<m){f.lineTo(t.x,i[e-1].y);f.lineTo(t.x,t.y)}}}f.moveTo(i[0].x,i[0].y)}});f.stroke();f.setLineDash([]);if(d.dataPointShape!==false){drawPointShape(o,e.color,e.pointShape,f,d)}drawActivePoint(o,e.color,e.pointShape,f,d,u)});if(d.dataLabel!==false&&p===1){t.forEach(function(t,e){let a,i,r;a=[].concat(d.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,g,y,d,x,p);drawPointText(n,t,x,f,d)})}f.restore();return{xAxisPoints:g,calPoints:T,eachSpacing:y}}function drawMixDataPoints(t,v,m,T){let D=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let e=v.chartData.xAxisData,b=e.xAxisPoints,S=e.eachSpacing;let w=assign({},{width:S/2,barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},v.extra.mix.column);let A=assign({},{opacity:.2,gradient:false},v.extra.mix.area);let M=assign({},{width:2},v.extra.mix.line);let L=v.height-v.area[2];let F=[];var _=0;var k=0;t.forEach(function(t,e){if(t.type=="column"){k+=1}});T.save();let R=-2;let I=b.length+2;let P=0;let C=v.width+S;if(v._scrollDistance_&&v._scrollDistance_!==0&&v.enableScroll===true){T.translate(v._scrollDistance_,0);R=Math.floor(-v._scrollDistance_/S)-2;I=R+v.xAxis.itemCount+4;P=-v._scrollDistance_-S*2+v.area[3];C=P+(v.xAxis.itemCount+4)*S}w.customColor=fillCustomColor(w.linearType,w.customColor,t,m);t.forEach(function(n,t){let o,x,f;o=[].concat(v.chartData.yAxisData.ranges[n.index]);x=o.pop();f=o.shift();var p=n.data;var a=getDataPoints(p,x,f,b,S,v,m,D);F.push(a);if(n.type=="column"){a=fixColumeData(a,S,k,_,m,v);for(let t=0;t<a.length;t++){let o=a[t];if(o!==null&&t>R&&t<I){var l=o.x-o.width/2;var s=v.height-o.y-v.area[2];T.beginPath();var e=o.color||n.color;var u=o.color||n.color;if(w.linearType!=="none"){var i=T.createLinearGradient(l,o.y,l,v.height-v.area[2]);if(w.linearType=="opacity"){i.addColorStop(0,hexToRgb(e,w.linearOpacity));i.addColorStop(1,hexToRgb(e,1))}else{i.addColorStop(0,hexToRgb(w.customColor[n.linearIndex],w.linearOpacity));i.addColorStop(w.colorStop,hexToRgb(w.customColor[n.linearIndex],w.linearOpacity));i.addColorStop(1,hexToRgb(e,1))}e=i}if(w.barBorderRadius&&w.barBorderRadius.length===4||w.barBorderCircle){const h=l;const c=o.y;const d=o.width;const s=v.height-v.area[2]-o.y;if(w.barBorderCircle){w.barBorderRadius=[d/2,d/2,0,0]}let[t,e,a,i]=w.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);T.arc(h+d-e,c+e,e,-Math.PI/2,0);T.arc(h+d-a,c+s-a,a,0,Math.PI/2);T.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{T.moveTo(l,o.y);T.lineTo(l+o.width,o.y);T.lineTo(l+o.width,v.height-v.area[2]);T.lineTo(l,v.height-v.area[2]);T.lineTo(l,o.y);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(e);T.closePath();T.fill()}}_+=1}if(n.type=="area"){let e=splitPoints(a,n);for(let t=0;t<e.length;t++){let i=e[t];T.beginPath();T.setStrokeStyle(n.color);T.setStrokeStyle(hexToRgb(n.color,A.opacity));if(A.gradient){let t=T.createLinearGradient(0,v.area[0],0,v.height-v.area[2]);t.addColorStop("0",hexToRgb(n.color,A.opacity));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));T.setFillStyle(t)}else{T.setFillStyle(hexToRgb(n.color,A.opacity))}T.setLineWidth(2*v.pix);if(i.length>1){var r=i[0];let t=i[i.length-1];T.moveTo(r.x,r.y);let a=0;if(n.style==="curve"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){var g=createCurveControlPoints(i,e-1);T.bezierCurveTo(g.ctrA.x,g.ctrA.y,g.ctrB.x,g.ctrB.y,t.x,t.y)}}}else{for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){T.lineTo(t.x,t.y)}}}T.lineTo(t.x,L);T.lineTo(r.x,L);T.lineTo(r.x,r.y)}else{let t=i[0];T.moveTo(t.x-S/2,t.y)}T.closePath();T.fill()}}if(n.type=="line"){var y=splitPoints(a,n);y.forEach(function(i,t){if(n.lineType=="dash"){let t=n.dashLength?n.dashLength:8;t*=v.pix;T.setLineDash([t,t])}T.beginPath();T.setStrokeStyle(n.color);T.setLineWidth(M.width*v.pix);if(i.length===1){T.moveTo(i[0].x,i[0].y)}else{T.moveTo(i[0].x,i[0].y);let a=0;if(n.style=="curve"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){var r=createCurveControlPoints(i,e-1);T.bezierCurveTo(r.ctrA.x,r.ctrA.y,r.ctrB.x,r.ctrB.y,t.x,t.y)}}}else{for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){T.lineTo(t.x,t.y)}}}T.moveTo(i[0].x,i[0].y)}T.stroke();T.setLineDash([])})}if(n.type=="point"){n.addPoint=true}if(n.addPoint==true&&n.type!=="column"){drawPointShape(a,n.color,n.pointShape,T,v)}});if(v.dataLabel!==false&&D===1){var _=0;t.forEach(function(t,e){let a,i,r;a=[].concat(v.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,b,S,v,m,D);if(t.type!=="column"){drawPointText(n,t,m,T,v)}else{n=fixColumeData(n,S,k,_,m,v);drawPointText(n,t,m,T,v);_+=1}})}T.restore();return{xAxisPoints:b,calPoints:F,eachSpacing:S}}function drawToolTipBridge(t,e,a,i,r,o){var n=t.extra.tooltip||{};if(n.horizentalLine&&t.tooltip&&i===1&&(t.type=="line"||t.type=="area"||t.type=="column"||t.type=="mount"||t.type=="candle"||t.type=="mix")){drawToolTipHorizentalLine(t,e,a,r,o)}a.save();if(t._scrollDistance_&&t._scrollDistance_!==0&&t.enableScroll===true){a.translate(t._scrollDistance_,0)}if(t.tooltip&&t.tooltip.textList&&t.tooltip.textList.length&&i===1){drawToolTip(t.tooltip.textList,t.tooltip.offset,t,e,a,r,o)}a.restore()}function drawXAxis(r,h,c,d){let e=h.chartData.xAxisData,x=e.xAxisPoints,t=e.startX,a=e.endX,f=e.eachSpacing;var p="center";if(h.type=="bar"||h.type=="line"||h.type=="area"||h.type=="scatter"||h.type=="bubble"){p=h.xAxis.boundaryGap}var u=h.height-h.area[2];var i=h.area[0];if(h.enableScroll&&h.xAxis.scrollShow){var o=h.height-h.area[2]+c.xAxisHeight;var n=a-t;var l=f*(x.length-1);if(h.type=="mount"&&h.extra&&h.extra.mount&&h.extra.mount.widthRatio&&h.extra.mount.widthRatio>1){if(h.extra.mount.widthRatio>2)h.extra.mount.widthRatio=2;l+=(h.extra.mount.widthRatio-1)*f}var s=n*n/l;var y=0;if(h._scrollDistance_){y=-h._scrollDistance_*n/l}d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollBackgroundColor||"#EFEBEF");d.moveTo(t,o);d.lineTo(a,o);d.stroke();d.closePath();d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollColor||"#A6A6A6");d.moveTo(t+y,o);d.lineTo(t+y+s,o);d.stroke();d.closePath();d.setLineCap("butt")}d.save();if(h._scrollDistance_&&h._scrollDistance_!==0){d.translate(h._scrollDistance_,0)}if(h.xAxis.calibration===true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);x.forEach(function(t,e){if(e>0){d.beginPath();d.moveTo(t-f/2,u);d.lineTo(t-f/2,u+3*h.pix);d.closePath();d.stroke()}})}if(h.xAxis.disableGrid!==true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);if(h.xAxis.gridType=="dash"){d.setLineDash([h.xAxis.dashLength*h.pix,h.xAxis.dashLength*h.pix])}h.xAxis.gridEval=h.xAxis.gridEval||1;x.forEach(function(t,e){if(e%h.xAxis.gridEval==0){d.beginPath();d.moveTo(t,u);d.lineTo(t,i);d.stroke()}});d.setLineDash([])}if(h.xAxis.disabled!==true){let t=r.length;if(h.xAxis.labelCount){if(h.xAxis.itemCount){t=Math.ceil(r.length/h.xAxis.itemCount*h.xAxis.labelCount)}else{t=h.xAxis.labelCount}t-=1}let e=Math.ceil(r.length/t);let a=[];let i=r.length;for(let t=0;t<i;t++){if(t%e!==0){a.push("")}else{a.push(r[t])}}a[i-1]=r[i-1];var g=h.xAxis.fontSize*h.pix||c.fontSize;if(c._xAxisTextAngle_===0){a.forEach(function(t,e){var a=h.xAxis.formatter?h.xAxis.formatter(t,e,h):t;var i=-measureText(String(a),g,d)/2;if(p=="center"){i+=f/2}var r=0;if(h.xAxis.scrollShow){r=6*h.pix}var o=h._scrollDistance_||0;var n=p=="center"?x[e]+f/2:x[e];if(n-Math.abs(o)>=h.area[3]-1&&n-Math.abs(o)<=h.width-h.area[1]+1){d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);d.fillText(String(a),x[e]+i,u+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.fontSize)*h.pix/2+h.xAxis.fontSize*h.pix);d.closePath();d.stroke()}})}else{a.forEach(function(t,e){var a=h.xAxis.formatter?h.xAxis.formatter(t):t;var i=h._scrollDistance_||0;var r=p=="center"?x[e]+f/2:x[e];if(r-Math.abs(i)>=h.area[3]-1&&r-Math.abs(i)<=h.width-h.area[1]+1){d.save();d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);var o=measureText(String(a),g,d);var n=x[e];if(p=="center"){n=x[e]+f/2}var l=0;if(h.xAxis.scrollShow){l=6*h.pix}var s=u+h.xAxis.marginTop*h.pix+g-g*Math.abs(Math.sin(c._xAxisTextAngle_));if(h.xAxis.rotateAngle<0){n-=g/2;o=0}else{n+=g/2;o=-o}d.translate(n,s);d.rotate(-1*c._xAxisTextAngle_);d.fillText(String(a),o,0);d.closePath();d.stroke();d.restore()}})}}d.restore();if(h.xAxis.title){d.beginPath();d.setFontSize(h.xAxis.titleFontSize*h.pix);d.setFillStyle(h.xAxis.titleFontColor);d.fillText(String(h.xAxis.title),h.width-h.area[1]+h.xAxis.titleOffsetX*h.pix,h.height-h.area[2]+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.titleFontSize)*h.pix/2+(h.xAxis.titleFontSize+h.xAxis.titleOffsetY)*h.pix);d.closePath();d.stroke()}if(h.xAxis.axisLine){d.beginPath();d.setStrokeStyle(h.xAxis.axisLineColor);d.setLineWidth(1*h.pix);d.moveTo(t,h.height-h.area[2]);d.lineTo(a,h.height-h.area[2]);d.stroke()}}function drawYAxisGrid(c,e,d,a){if(e.yAxis.disableGrid===true){return}let t=e.height-e.area[0]-e.area[2];let i=t/e.yAxis.splitNumber;let r=e.area[3];let o=e.chartData.xAxisData.xAxisPoints,n=e.chartData.xAxisData.eachSpacing;let l=n*(o.length-1);if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;l+=(e.extra.mount.widthRatio-1)*n}let x=r+l;let s=[];let h=1;if(e.xAxis.axisLine===false){h=0}for(let t=h;t<e.yAxis.splitNumber+1;t++){s.push(e.height-e.area[2]-i*t)}a.save();if(e._scrollDistance_&&e._scrollDistance_!==0){a.translate(e._scrollDistance_,0)}if(e.yAxis.gridType=="dash"){a.setLineDash([e.yAxis.dashLength*e.pix,e.yAxis.dashLength*e.pix])}a.setStrokeStyle(e.yAxis.gridColor);a.setLineWidth(1*e.pix);s.forEach(function(t,e){a.beginPath();a.moveTo(r,t);a.lineTo(x,t);a.stroke()});a.setLineDash([]);a.restore()}function drawYAxis(e,h,a,c){if(h.yAxis.disabled===true){return}var i=h.height-h.area[0]-h.area[2];var r=i/h.yAxis.splitNumber;var o=h.area[3];var n=h.width-h.area[1];var t=h.height-h.area[2];c.beginPath();c.setFillStyle(h.background);if(h.enableScroll==true&&h.xAxis.scrollPosition&&h.xAxis.scrollPosition!=="left"){c.fillRect(0,0,o,t+2*h.pix)}if(h.enableScroll==true&&h.xAxis.scrollPosition&&h.xAxis.scrollPosition!=="right"){c.fillRect(n,0,h.width,t+2*h.pix)}c.closePath();c.stroke();let d=h.area[3];let x=h.width-h.area[1];let f=h.area[3]+(h.width-h.area[1]-h.area[3])/2;if(h.yAxis.data){for(let e=0;e<h.yAxis.data.length;e++){let s=h.yAxis.data[e];var p=[];if(s.type==="categories"){for(let t=0;t<=s.categories.length;t++){p.push(h.area[0]+i/s.categories.length/2+i/s.categories.length*t)}}else{for(let t=0;t<=h.yAxis.splitNumber;t++){p.push(h.area[0]+r*t)}}if(s.disabled!==true){let t=h.chartData.yAxisData.rangesFormat[e];let o=s.fontSize?s.fontSize*h.pix:a.fontSize;let n=h.chartData.yAxisData.yAxisWidth[e];let l=s.textAlign||"right";t.forEach(function(t,e){var a=p[e];c.beginPath();c.setFontSize(o);c.setLineWidth(1*h.pix);c.setStrokeStyle(s.axisLineColor||"#cccccc");c.setFillStyle(s.fontColor||h.fontColor);let i=0;let r=4*h.pix;if(n.position=="left"){if(s.calibration==true){c.moveTo(d,a);c.lineTo(d-3*h.pix,a);r+=3*h.pix}switch(l){case"left":c.setTextAlign("left");i=d-n.width;break;case"right":c.setTextAlign("right");i=d-r;break;default:c.setTextAlign("center");i=d-n.width/2}c.fillText(String(t),i,a+o/2-3*h.pix)}else if(n.position=="right"){if(s.calibration==true){c.moveTo(x,a);c.lineTo(x+3*h.pix,a);r+=3*h.pix}switch(l){case"left":c.setTextAlign("left");i=x+r;break;case"right":c.setTextAlign("right");i=x+n.width;break;default:c.setTextAlign("center");i=x+n.width/2}c.fillText(String(t),i,a+o/2-3*h.pix)}else if(n.position=="center"){if(s.calibration==true){c.moveTo(f,a);c.lineTo(f-3*h.pix,a);r+=3*h.pix}switch(l){case"left":c.setTextAlign("left");i=f-n.width;break;case"right":c.setTextAlign("right");i=f-r;break;default:c.setTextAlign("center");i=f-n.width/2}c.fillText(String(t),i,a+o/2-3*h.pix)}c.closePath();c.stroke();c.setTextAlign("left")});if(s.axisLine!==false){c.beginPath();c.setStrokeStyle(s.axisLineColor||"#cccccc");c.setLineWidth(1*h.pix);if(n.position=="left"){c.moveTo(d,h.height-h.area[2]);c.lineTo(d,h.area[0])}else if(n.position=="right"){c.moveTo(x,h.height-h.area[2]);c.lineTo(x,h.area[0])}else if(n.position=="center"){c.moveTo(f,h.height-h.area[2]);c.lineTo(f,h.area[0])}c.stroke()}if(h.yAxis.showTitle){let t=s.titleFontSize*h.pix||a.fontSize;let e=s.title;c.beginPath();c.setFontSize(t);c.setFillStyle(s.titleFontColor||h.fontColor);if(n.position=="left"){c.fillText(e,d-measureText(e,t,c)/2+(s.titleOffsetX||0),h.area[0]-(10-(s.titleOffsetY||0))*h.pix)}else if(n.position=="right"){c.fillText(e,x-measureText(e,t,c)/2+(s.titleOffsetX||0),h.area[0]-(10-(s.titleOffsetY||0))*h.pix)}else if(n.position=="center"){c.fillText(e,f-measureText(e,t,c)/2+(s.titleOffsetX||0),h.area[0]-(10-(s.titleOffsetY||0))*h.pix)}c.closePath();c.stroke()}if(n.position=="left"){d-=n.width+h.yAxis.padding*h.pix}else{x+=n.width+h.yAxis.padding*h.pix}}}}}function drawLegend(t,l,y,s,e){if(l.legend.show===false){return}let h=e.legendData;let a=h.points;let c=h.area;let d=l.legend.padding*l.pix;let x=l.legend.fontSize*l.pix;let f=15*l.pix;let p=5*l.pix;let u=l.legend.itemGap*l.pix;let g=Math.max(l.legend.lineHeight*l.pix,x);s.beginPath();s.setLineWidth(l.legend.borderWidth*l.pix);s.setStrokeStyle(l.legend.borderColor);s.setFillStyle(l.legend.backgroundColor);s.moveTo(c.start.x,c.start.y);s.rect(c.start.x,c.start.y,c.width,c.height);s.closePath();s.fill();s.stroke();a.forEach(function(i,t){let e=0;let a=0;e=h.widthArr[t];a=h.heightArr[t];let r=0;let o=0;if(l.legend.position=="top"||l.legend.position=="bottom"){switch(l.legend.float){case"left":r=c.start.x+d;break;case"right":r=c.start.x+c.width-e;break;default:r=c.start.x+(c.width-e)/2}o=c.start.y+d+t*g}else{if(t==0){e=0}else{e=h.widthArr[t-1]}r=c.start.x+d+e;o=c.start.y+d+(c.height-a)/2}s.setFontSize(y.fontSize);for(let a=0;a<i.length;a++){let t=i[a];t.area=[0,0,0,0];t.area[0]=r;t.area[1]=o;t.area[3]=o+g;s.beginPath();s.setLineWidth(1*l.pix);s.setStrokeStyle(t.show?t.color:l.legend.hiddenColor);s.setFillStyle(t.show?t.color:l.legend.hiddenColor);switch(t.legendShape){case"line":s.moveTo(r,o+.5*g-2*l.pix);s.fillRect(r,o+.5*g-2*l.pix,15*l.pix,4*l.pix);break;case"triangle":s.moveTo(r+7.5*l.pix,o+.5*g-5*l.pix);s.lineTo(r+2.5*l.pix,o+.5*g+5*l.pix);s.lineTo(r+12.5*l.pix,o+.5*g+5*l.pix);s.lineTo(r+7.5*l.pix,o+.5*g-5*l.pix);break;case"diamond":s.moveTo(r+7.5*l.pix,o+.5*g-5*l.pix);s.lineTo(r+2.5*l.pix,o+.5*g);s.lineTo(r+7.5*l.pix,o+.5*g+5*l.pix);s.lineTo(r+12.5*l.pix,o+.5*g);s.lineTo(r+7.5*l.pix,o+.5*g-5*l.pix);break;case"circle":s.moveTo(r+7.5*l.pix,o+.5*g);s.arc(r+7.5*l.pix,o+.5*g,5*l.pix,0,2*Math.PI);break;case"rect":s.moveTo(r,o+.5*g-5*l.pix);s.fillRect(r,o+.5*g-5*l.pix,15*l.pix,10*l.pix);break;case"square":s.moveTo(r+5*l.pix,o+.5*g-5*l.pix);s.fillRect(r+5*l.pix,o+.5*g-5*l.pix,10*l.pix,10*l.pix);break;case"none":break;default:s.moveTo(r,o+.5*g-5*l.pix);s.fillRect(r,o+.5*g-5*l.pix,15*l.pix,10*l.pix)}s.closePath();s.fill();s.stroke();r+=f+p;let e=.5*g+.5*x-2;const n=t.legendText?t.legendText:t.name;s.beginPath();s.setFontSize(x);s.setFillStyle(t.show?l.legend.fontColor:l.legend.hiddenColor);s.fillText(n,r,o+e);s.closePath();s.stroke();if(l.legend.position=="top"||l.legend.position=="bottom"){r+=measureText(n,x,s)+u;t.area[2]=r}else{t.area[2]=r+measureText(n,x,s)+u;r-=f+p;o+=g}}})}function drawPieDataPoints(t,r,e,o){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,ringWidth:30,customRadius:0,border:false,borderWidth:2,borderColor:"#FFFFFF",centerColor:"#FFFFFF",linearType:"none",customColor:[]},r.type=="pie"?r.extra.pie:r.extra.ring);var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;if(n.customRadius>0){i=n.customRadius*r.pix}t=getPieDataPoints(t,i,a);var h=n.activeRadius*r.pix;n.customColor=fillCustomColor(n.linearType,n.customColor,t,e);t=t.map(function(t){t._start_+=n.offsetAngle*Math.PI/180;return t});t.forEach(function(t,e){if(r.tooltip){if(r.tooltip.index==e){o.beginPath();o.setFillStyle(hexToRgb(t.color,n.activeOpacity||.5));o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_+h,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill()}}o.beginPath();o.setLineWidth(n.borderWidth*r.pix);o.lineJoin="round";o.setStrokeStyle(n.borderColor);var a=t.color;if(n.linearType=="custom"){var i;if(o.createCircularGradient){i=o.createCircularGradient(l.x,l.y,t._radius_)}else{i=o.createRadialGradient(l.x,l.y,0,l.x,l.y,t._radius_)}i.addColorStop(0,hexToRgb(n.customColor[t.linearIndex],1));i.addColorStop(1,hexToRgb(t.color,1));a=i}o.setFillStyle(a);o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill();if(n.border==true){o.stroke()}});if(r.type==="ring"){var s=i*.6;if(typeof n.ringWidth==="number"&&n.ringWidth>0){s=Math.max(0,i-n.ringWidth*r.pix)}o.beginPath();o.setFillStyle(n.centerColor);o.moveTo(l.x,l.y);o.arc(l.x,l.y,s,0,2*Math.PI);o.closePath();o.fill()}if(r.dataLabel!==false&&a===1){drawPieText(t,r,e,o,i,l)}if(a===1&&r.type==="ring"){drawRingTitle(r,e,o,l)}return{center:l,radius:i,series:t}}function drawRoseDataPoints(t,r,e,o){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{type:"area",activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:false,borderWidth:2,borderColor:"#FFFFFF",linearType:"none",customColor:[]},r.extra.rose);if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;var s=n.minRadius||i*.5;if(i<s){i=s+10}t=getRoseDataPoints(t,n.type,s,i,a);var h=n.activeRadius*r.pix;n.customColor=fillCustomColor(n.linearType,n.customColor,t,e);t=t.map(function(t){t._start_+=(n.offsetAngle||0)*Math.PI/180;return t});t.forEach(function(t,e){if(r.tooltip){if(r.tooltip.index==e){o.beginPath();o.setFillStyle(hexToRgb(t.color,n.activeOpacity||.5));o.moveTo(l.x,l.y);o.arc(l.x,l.y,h+t._radius_,t._start_,t._start_+2*t._rose_proportion_*Math.PI);o.closePath();o.fill()}}o.beginPath();o.setLineWidth(n.borderWidth*r.pix);o.lineJoin="round";o.setStrokeStyle(n.borderColor);var a=t.color;if(n.linearType=="custom"){var i;if(o.createCircularGradient){i=o.createCircularGradient(l.x,l.y,t._radius_)}else{i=o.createRadialGradient(l.x,l.y,0,l.x,l.y,t._radius_)}i.addColorStop(0,hexToRgb(n.customColor[t.linearIndex],1));i.addColorStop(1,hexToRgb(t.color,1));a=i}o.setFillStyle(a);o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_,t._start_,t._start_+2*t._rose_proportion_*Math.PI);o.closePath();o.fill();if(n.border==true){o.stroke()}});if(r.dataLabel!==false&&a===1){drawPieText(t,r,e,o,i,l)}return{center:l,radius:i,series:t}}function drawArcbarDataPoints(a,i,t,r){var e=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var o=assign({},{startAngle:.75,endAngle:.25,type:"default",direction:"cw",lineCap:"round",width:12,gap:2,linearType:"none",customColor:[]},i.extra.arcbar);a=getArcbarDataPoints(a,o,e);var n;if(o.centerX||o.centerY){n={x:o.centerX?o.centerX:i.width/2,y:o.centerY?o.centerY:i.height/2}}else{n={x:i.width/2,y:i.height/2}}var l;if(o.radius){l=o.radius}else{l=Math.min(n.x,n.y);l-=5*i.pix;l-=o.width/2}l=l<10?10:l;o.customColor=fillCustomColor(o.linearType,o.customColor,a,t);for(let e=0;e<a.length;e++){let t=a[e];r.setLineWidth(o.width*i.pix);r.setStrokeStyle(o.backgroundColor||"#E9E9E9");r.setLineCap(o.lineCap);r.beginPath();if(o.type=="default"){r.arc(n.x,n.y,l-(o.width*i.pix+o.gap*i.pix)*e,o.startAngle*Math.PI,o.endAngle*Math.PI,o.direction=="ccw")}else{r.arc(n.x,n.y,l-(o.width*i.pix+o.gap*i.pix)*e,0,2*Math.PI,o.direction=="ccw")}r.stroke();var s=t.color;if(o.linearType=="custom"){var h=r.createLinearGradient(n.x-l,n.y,n.x+l,n.y);h.addColorStop(1,hexToRgb(o.customColor[t.linearIndex],1));h.addColorStop(0,hexToRgb(t.color,1));s=h}r.setLineWidth(o.width*i.pix);r.setStrokeStyle(s);r.setLineCap(o.lineCap);r.beginPath();r.arc(n.x,n.y,l-(o.width*i.pix+o.gap*i.pix)*e,o.startAngle*Math.PI,t._proportion_*Math.PI,o.direction=="ccw");r.stroke()}drawRingTitle(i,t,r,n);return{center:n,radius:l,series:a}}function drawGaugeDataPoints(n,h,c,t,d){var x=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var f=assign({},{type:"default",startAngle:.75,endAngle:.25,width:15,labelOffset:13,splitLine:{fixRadius:0,splitNumber:10,width:15,color:"#FFFFFF",childNumber:5,childWidth:5},pointer:{width:15,color:"auto"}},c.extra.gauge);if(f.oldAngle==undefined){f.oldAngle=f.startAngle}if(f.oldData==undefined){f.oldData=0}n=getGaugeAxisPoints(n,f.startAngle,f.endAngle);var p={x:c.width/2,y:c.height/2};var u=Math.min(p.x,p.y);u-=5*c.pix;u-=f.width/2;u=u<10?10:u;var g=u-f.width;var y=0;if(f.type=="progress"){var v=u-f.width*3;d.beginPath();let t=d.createLinearGradient(p.x,p.y-v,p.x,p.y+v);t.addColorStop("0",hexToRgb(h[0].color,.3));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));d.setFillStyle(t);d.arc(p.x,p.y,v,0,2*Math.PI,false);d.fill();d.setLineWidth(f.width);d.setStrokeStyle(hexToRgb(h[0].color,.3));d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,f.endAngle*Math.PI,false);d.stroke();if(f.endAngle<f.startAngle){y=2+f.endAngle-f.startAngle}else{y=f.startAngle-f.endAngle}let e=y/f.splitLine.splitNumber;let a=y/f.splitLine.splitNumber/f.splitLine.childNumber;let i=-u-f.width*.5-f.splitLine.fixRadius;let r=-u-f.width-f.splitLine.fixRadius+f.splitLine.width;d.save();d.translate(p.x,p.y);d.rotate((f.startAngle-1)*Math.PI);let o=f.splitLine.splitNumber*f.splitLine.childNumber+1;let n=h[0].data*x;for(let t=0;t<o;t++){d.beginPath();if(n>t/o){d.setStrokeStyle(hexToRgb(h[0].color,1))}else{d.setStrokeStyle(hexToRgb(h[0].color,.3))}d.setLineWidth(3*c.pix);d.moveTo(i,0);d.lineTo(r,0);d.stroke();d.rotate(a*Math.PI)}d.restore();h=getGaugeArcbarDataPoints(h,f,x);d.setLineWidth(f.width);d.setStrokeStyle(h[0].color);d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,h[0]._proportion_*Math.PI,false);d.stroke();let l=u-f.width*2.5;d.save();d.translate(p.x,p.y);d.rotate((h[0]._proportion_-1)*Math.PI);d.beginPath();d.setLineWidth(f.width/3);let s=d.createLinearGradient(0,-l*.6,0,l*.6);s.addColorStop("0",hexToRgb("#FFFFFF",0));s.addColorStop("0.5",hexToRgb(h[0].color,1));s.addColorStop("1.0",hexToRgb("#FFFFFF",0));d.setStrokeStyle(s);d.arc(0,0,l,.85*Math.PI,1.15*Math.PI,false);d.stroke();d.beginPath();d.setLineWidth(1);d.setStrokeStyle(h[0].color);d.setFillStyle(h[0].color);d.moveTo(-l-f.width/3/2,-4);d.lineTo(-l-f.width/3/2-4,0);d.lineTo(-l-f.width/3/2,4);d.lineTo(-l-f.width/3/2,-4);d.stroke();d.fill();d.restore()}else{d.setLineWidth(f.width);d.setLineCap("butt");for(let e=0;e<n.length;e++){let t=n[e];d.beginPath();d.setStrokeStyle(t.color);d.arc(p.x,p.y,u,t._startAngle_*Math.PI,t._endAngle_*Math.PI,false);d.stroke()}d.save();if(f.endAngle<f.startAngle){y=2+f.endAngle-f.startAngle}else{y=f.startAngle-f.endAngle}let e=y/f.splitLine.splitNumber;let a=y/f.splitLine.splitNumber/f.splitLine.childNumber;let i=-u-f.width*.5-f.splitLine.fixRadius;let r=-u-f.width*.5-f.splitLine.fixRadius+f.splitLine.width;let o=-u-f.width*.5-f.splitLine.fixRadius+f.splitLine.childWidth;d.translate(p.x,p.y);d.rotate((f.startAngle-1)*Math.PI);for(let t=0;t<f.splitLine.splitNumber+1;t++){d.beginPath();d.setStrokeStyle(f.splitLine.color);d.setLineWidth(2*c.pix);d.moveTo(i,0);d.lineTo(r,0);d.stroke();d.rotate(e*Math.PI)}d.restore();d.save();d.translate(p.x,p.y);d.rotate((f.startAngle-1)*Math.PI);for(let t=0;t<f.splitLine.splitNumber*f.splitLine.childNumber+1;t++){d.beginPath();d.setStrokeStyle(f.splitLine.color);d.setLineWidth(1*c.pix);d.moveTo(i,0);d.lineTo(o,0);d.stroke();d.rotate(a*Math.PI)}d.restore();h=getGaugeDataPoints(h,n,f,x);for(let e=0;e<h.length;e++){let t=h[e];d.save();d.translate(p.x,p.y);d.rotate((t._proportion_-1)*Math.PI);d.beginPath();d.setFillStyle(t.color);d.moveTo(f.pointer.width,0);d.lineTo(0,-f.pointer.width/2);d.lineTo(-g,0);d.lineTo(0,f.pointer.width/2);d.lineTo(f.pointer.width,0);d.closePath();d.fill();d.beginPath();d.setFillStyle("#FFFFFF");d.arc(0,0,f.pointer.width/6,0,2*Math.PI,false);d.fill();d.restore()}if(c.dataLabel!==false){drawGaugeLabel(f,u,p,c,t,d)}}drawRingTitle(c,t,d,p);if(x===1&&c.type==="gauge"){c.extra.gauge.oldAngle=h[0]._proportion_;c.extra.gauge.oldData=h[0].data}return{center:p,radius:u,innerRadius:g,categories:n,totalAngle:y}}function drawRadarDataPoints(o,n,i,l){var t=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var s=assign({},{gridColor:"#cccccc",gridType:"radar",gridEval:1,axisLabel:false,axisLabelTofix:0,labelShow:true,labelColor:"#666666",labelPointShow:false,labelPointRadius:3,labelPointColor:"#cccccc",opacity:.2,gridCount:3,border:false,borderWidth:2,linearType:"none",customColor:[]},n.extra.radar);var a=getRadarCoordinateSeries(n.categories.length);var h={x:n.area[3]+(n.width-n.area[1]-n.area[3])/2,y:n.area[0]+(n.height-n.area[0]-n.area[2])/2};var r=(n.width-n.area[1]-n.area[3])/2;var d=(n.height-n.area[0]-n.area[2])/2;var c=Math.min(r-(getMaxTextListLength(n.categories,i.fontSize,l)+i.radarLabelTextMargin),d-i.radarLabelTextMargin);c-=i.radarLabelTextMargin*n.pix;c=c<10?10:c;c=s.radius?s.radius:c;l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);a.forEach(function(t,e){var a=convertCoordinateOrigin(c*Math.cos(t),c*Math.sin(t),h);l.moveTo(h.x,h.y);if(e%s.gridEval==0){l.lineTo(a.x,a.y)}});l.stroke();l.closePath();var x=function t(i){var r={};l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);if(s.gridType=="radar"){a.forEach(function(t,e){var a=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(t),c/s.gridCount*i*Math.sin(t),h);if(e===0){r=a;l.moveTo(a.x,a.y)}else{l.lineTo(a.x,a.y)}});l.lineTo(r.x,r.y)}else{var e=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(1.5),c/s.gridCount*i*Math.sin(1.5),h);l.arc(h.x,h.y,h.y-e.y,0,2*Math.PI,false)}l.stroke();l.closePath()};for(var e=1;e<=s.gridCount;e++){x(e)}s.customColor=fillCustomColor(s.linearType,s.customColor,o,i);var f=getRadarDataPoints(a,h,c,o,n,t);f.forEach(function(t,e){l.beginPath();l.setLineWidth(s.borderWidth*n.pix);l.setStrokeStyle(t.color);var a=hexToRgb(t.color,s.opacity);if(s.linearType=="custom"){var i;if(l.createCircularGradient){i=l.createCircularGradient(h.x,h.y,c)}else{i=l.createRadialGradient(h.x,h.y,0,h.x,h.y,c)}i.addColorStop(0,hexToRgb(s.customColor[o[e].linearIndex],s.opacity));i.addColorStop(1,hexToRgb(t.color,s.opacity));a=i}l.setFillStyle(a);t.data.forEach(function(t,e){if(e===0){l.moveTo(t.position.x,t.position.y)}else{l.lineTo(t.position.x,t.position.y)}});l.closePath();l.fill();if(s.border===true){l.stroke()}l.closePath();if(n.dataPointShape!==false){var r=t.data.map(function(t){return t.position});drawPointShape(r,t.color,t.pointShape,l,n)}});if(s.axisLabel===true){const p=Math.max(s.max,Math.max.apply(null,dataCombine(o)));const u=c/s.gridCount;const g=n.fontSize*n.pix;l.setFontSize(g);l.setFillStyle(n.fontColor);l.setTextAlign("left");for(var e=0;e<s.gridCount+1;e++){let t=e*p/s.gridCount;t=t.toFixed(s.axisLabelTofix);l.fillText(String(t),h.x+3*n.pix,h.y-e*u+g/2)}}drawRadarLabel(a,c,h,n,i,l);if(n.dataLabel!==false&&t===1){f.forEach(function(t,e){l.beginPath();var a=t.textSize*n.pix||i.fontSize;l.setFontSize(a);l.setFillStyle(t.textColor||n.fontColor);t.data.forEach(function(t,e){if(Math.abs(t.position.x-h.x)<2){if(t.position.y<h.y){l.setTextAlign("center");l.fillText(t.value,t.position.x,t.position.y-4)}else{l.setTextAlign("center");l.fillText(t.value,t.position.x,t.position.y+a+2)}}else{if(t.position.x<h.x){l.setTextAlign("right");l.fillText(t.value,t.position.x-4,t.position.y+a/2-2)}else{l.setTextAlign("left");l.fillText(t.value,t.position.x+4,t.position.y+a/2-2)}}});l.closePath();l.stroke()});l.setTextAlign("left")}return{center:h,radius:c,angleList:a}}function lonlat2mercator(t,e){var a=Array(2);var i=t*20037508.34/180;var r=Math.log(Math.tan((90+e)*Math.PI/360))/(Math.PI/180);r=r*20037508.34/180;a[0]=i;a[1]=r;return a}function mercator2lonlat(t,e){var a=Array(2);var i=t/20037508.34*180;var r=e/20037508.34*180;r=180/Math.PI*(2*Math.atan(Math.exp(r*Math.PI/180))-Math.PI/2);a[0]=i;a[1]=r;return a}function getBoundingBox(t){var e={},a;e.xMin=180;e.xMax=0;e.yMin=90;e.yMax=0;for(var i=0;i<t.length;i++){var r=t[i].geometry.coordinates;for(var o=0;o<r.length;o++){a=r[o];if(a.length==1){a=a[0]}for(var n=0;n<a.length;n++){var l=a[n][0];var s=a[n][1];var h={x:l,y:s};e.xMin=e.xMin<h.x?e.xMin:h.x;e.xMax=e.xMax>h.x?e.xMax:h.x;e.yMin=e.yMin<h.y?e.yMin:h.y;e.yMax=e.yMax>h.y?e.yMax:h.y}}}return e}function coordinateToPoint(t,e,a,i,r,o){return{x:(e-a.xMin)*i+r,y:(a.yMax-t)*i+o}}function pointToCoordinate(t,e,a,i,r,o){return{x:(e-r)/i+a.xMin,y:a.yMax-(t-o)/i}}function isRayIntersectsSegment(t,e,a){if(e[1]==a[1]){return false}if(e[1]>t[1]&&a[1]>t[1]){return false}if(e[1]<t[1]&&a[1]<t[1]){return false}if(e[1]==t[1]&&a[1]>t[1]){return false}if(a[1]==t[1]&&e[1]>t[1]){return false}if(e[0]<t[0]&&a[1]<t[1]){return false}let i=a[0]-(a[0]-e[0])*(a[1]-t[1])/(a[1]-e[1]);if(i<t[0]){return false}else{return true}}function isPoiWithinPoly(r,e,o){let n=0;for(let t=0;t<e.length;t++){let i=e[t][0];if(e.length==1){i=e[t][0]}for(let a=0;a<i.length-1;a++){let t=i[a];let e=i[a+1];if(o){t=lonlat2mercator(i[a][0],i[a][1]);e=lonlat2mercator(i[a+1][0],i[a+1][1])}if(isRayIntersectsSegment(r,t,e)){n+=1}}}if(n%2==1){return true}else{return false}}function drawMapDataPoints(a,i,d,r){var o=assign({},{border:true,mercator:false,borderWidth:1,active:true,borderColor:"#666666",fillOpacity:.6,activeBorderColor:"#f04864",activeFillColor:"#facc14",activeFillOpacity:1},i.extra.map);var t,n;var l=a;var s=getBoundingBox(l);if(o.mercator){var x=lonlat2mercator(s.xMax,s.yMax);var f=lonlat2mercator(s.xMin,s.yMin);s.xMax=x[0];s.yMax=x[1];s.xMin=f[0];s.yMin=f[1]}var p=i.width/Math.abs(s.xMax-s.xMin);var u=i.height/Math.abs(s.yMax-s.yMin);var h=p<u?p:u;var g=i.width/2-Math.abs(s.xMax-s.xMin)/2*h;var y=i.height/2-Math.abs(s.yMax-s.yMin)/2*h;for(var c=0;c<l.length;c++){r.beginPath();r.setLineWidth(o.borderWidth*i.pix);r.setStrokeStyle(o.borderColor);r.setFillStyle(hexToRgb(a[c].color,a[c].fillOpacity||o.fillOpacity));if(o.active==true&&i.tooltip){if(i.tooltip.index==c){r.setStrokeStyle(o.activeBorderColor);r.setFillStyle(hexToRgb(o.activeFillColor,o.activeFillOpacity))}}var v=l[c].geometry.coordinates;for(var m=0;m<v.length;m++){t=v[m];if(t.length==1){t=t[0]}for(var e=0;e<t.length;e++){var T=Array(2);if(o.mercator){T=lonlat2mercator(t[e][0],t[e][1])}else{T=t[e]}n=coordinateToPoint(T[1],T[0],s,h,g,y);if(e===0){r.beginPath();r.moveTo(n.x,n.y)}else{r.lineTo(n.x,n.y)}}r.fill();if(o.border==true){r.stroke()}}}if(i.dataLabel==true){for(var c=0;c<l.length;c++){var b=l[c].properties.centroid;if(b){if(o.mercator){b=lonlat2mercator(l[c].properties.centroid[0],l[c].properties.centroid[1])}n=coordinateToPoint(b[1],b[0],s,h,g,y);let t=l[c].textSize*i.pix||d.fontSize;let e=l[c].textColor||i.fontColor;if(o.active&&o.activeTextColor&&i.tooltip&&i.tooltip.index==c){e=o.activeTextColor}let a=l[c].properties.name;r.beginPath();r.setFontSize(t);r.setFillStyle(e);r.fillText(a,n.x-measureText(a,t,r)/2,n.y+t/2);r.closePath();r.stroke()}}}i.chartData.mapData={bounds:s,scale:h,xoffset:g,yoffset:y,mercator:o.mercator};drawToolTipBridge(i,d,r,1);r.draw()}function normalInt(t,e,a){a=a==0?1:a;var i=[];for(var r=0;r<a;r++){i[r]=Math.random()}return Math.floor(i.reduce(function(t,e){return t+e})/a*(e-t))+t}function collisionNew(e,a,i,r){var o=false;for(let t=0;t<a.length;t++){if(a[t].area){if(e[3]<a[t].area[1]||e[0]>a[t].area[2]||e[1]>a[t].area[3]||e[2]<a[t].area[0]){if(e[0]<0||e[1]<0||e[2]>i||e[3]>r){o=true;break}else{o=false}}else{o=true;break}}}return o}function getWordCloudPoint(c,t,d){let x=c.series;switch(t){case"normal":for(let l=0;l<x.length;l++){let t=x[l].name;let e=x[l].textSize*c.pix;let a=measureText(t,e,d);let i,r;let o;let n=0;while(true){n++;i=normalInt(-c.width/2,c.width/2,5)-a/2;r=normalInt(-c.height/2,c.height/2,5)+e/2;o=[i-5+c.width/2,r-5-e+c.height/2,i+a+5+c.width/2,r+5+c.height/2];let t=collisionNew(o,x,c.width,c.height);if(!t)break;if(n==1e3){o=[-100,-100,-100,-100];break}}x[l].area=o}break;case"vertical":function f(){if(Math.random()>.7){return true}else{return false}};for(let h=0;h<x.length;h++){let t=x[h].name;let e=x[h].textSize*c.pix;let a=measureText(t,e,d);let i=f();let r,o,n,l;let s=0;while(true){s++;let t;if(i){r=normalInt(-c.width/2,c.width/2,5)-a/2;o=normalInt(-c.height/2,c.height/2,5)+e/2;n=[o-5-a+c.width/2,-r-5+c.height/2,o+5+c.width/2,-r+e+5+c.height/2];l=[c.width-(c.width/2-c.height/2)-(-r+e+5+c.height/2)-5,c.height/2-c.width/2+(o-5-a+c.width/2)-5,c.width-(c.width/2-c.height/2)-(-r+e+5+c.height/2)+e,c.height/2-c.width/2+(o-5-a+c.width/2)+a+5];t=collisionNew(l,x,c.height,c.width)}else{r=normalInt(-c.width/2,c.width/2,5)-a/2;o=normalInt(-c.height/2,c.height/2,5)+e/2;n=[r-5+c.width/2,o-5-e+c.height/2,r+a+5+c.width/2,o+5+c.height/2];t=collisionNew(n,x,c.width,c.height)}if(!t)break;if(s==1e3){n=[-1e3,-1e3,-1e3,-1e3];break}}if(i){x[h].area=l;x[h].areav=n}else{x[h].area=n}x[h].rotate=i};break}return x}function drawWordCloudDataPoints(t,r,e,o){let n=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let a=assign({},{type:"normal",autoColors:true},r.extra.word);if(!r.chartData.wordCloudData){r.chartData.wordCloudData=getWordCloudPoint(r,a.type,o)}o.beginPath();o.setFillStyle(r.background);o.rect(0,0,r.width,r.height);o.fill();o.save();let l=r.chartData.wordCloudData;o.translate(r.width/2,r.height/2);for(let i=0;i<l.length;i++){o.save();if(l[i].rotate){o.rotate(90*Math.PI/180)}let t=l[i].name;let e=l[i].textSize*r.pix;let a=measureText(t,e,o);o.beginPath();o.setStrokeStyle(l[i].color);o.setFillStyle(l[i].color);o.setFontSize(e);if(l[i].rotate){if(l[i].areav[0]>0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}}else{if(l[i].area[0]>0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}}o.stroke();o.restore()}o.restore()}function drawFunnelDataPoints(t,e,c,a){let d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let i=assign({},{type:"funnel",activeWidth:10,activeOpacity:.3,border:false,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,minSize:0,labelAlign:"right",linearType:"none",customColor:[]},e.extra.funnel);let r=(e.height-e.area[0]-e.area[2])/t.length;let o={x:e.area[3]+(e.width-e.area[1]-e.area[3])/2,y:e.height-e.area[2]};let n=i.activeWidth*e.pix;let x=Math.min((e.width-e.area[1]-e.area[3])/2-n,(e.height-e.area[0]-e.area[2])/2-n);let l=getFunnelDataPoints(t,x,i,r,d);a.save();a.translate(o.x,o.y);i.customColor=fillCustomColor(i.linearType,i.customColor,t,c);if(i.type=="pyramid"){for(let t=0;t<l.length;t++){if(t==l.length-1){if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(-n,-r);a.lineTo(-l[t].radius-n,0);a.lineTo(l[t].radius+n,0);a.lineTo(n,-r);a.lineTo(-n,-r);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r*(t+1),o.x+l[t].radius,o.y-r*t];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,-r);a.lineTo(-l[t].radius,0);a.lineTo(l[t].radius,0);a.lineTo(0,-r);a.closePath();a.fill();if(i.border==true){a.stroke()}}else{if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(0,0);a.lineTo(-l[t].radius-n,0);a.lineTo(-l[t+1].radius-n,-r);a.lineTo(l[t+1].radius+n,-r);a.lineTo(l[t].radius+n,0);a.lineTo(0,0);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r*(t+1),o.x+l[t].radius,o.y-r*t];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,0);a.lineTo(-l[t].radius,0);a.lineTo(-l[t+1].radius,-r);a.lineTo(l[t+1].radius,-r);a.lineTo(l[t].radius,0);a.lineTo(0,0);a.closePath();a.fill();if(i.border==true){a.stroke()}}a.translate(0,-r)}}else{a.translate(0,-(l.length-1)*r);for(let t=0;t<l.length;t++){if(t==l.length-1){if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(-n-i.minSize/2,0);a.lineTo(-l[t].radius-n,-r);a.lineTo(l[t].radius+n,-r);a.lineTo(n+i.minSize/2,0);a.lineTo(-n-i.minSize/2,0);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r,o.x+l[t].radius,o.y];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,0);a.lineTo(-i.minSize/2,0);a.lineTo(-l[t].radius,-r);a.lineTo(l[t].radius,-r);a.lineTo(i.minSize/2,0);a.lineTo(0,0);a.closePath();a.fill();if(i.border==true){a.stroke()}}else{if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(0,0);a.lineTo(-l[t+1].radius-n,0);a.lineTo(-l[t].radius-n,-r);a.lineTo(l[t].radius+n,-r);a.lineTo(l[t+1].radius+n,0);a.lineTo(0,0);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r*(l.length-t),o.x+l[t].radius,o.y-r*(l.length-t-1)];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,0);a.lineTo(-l[t+1].radius,0);a.lineTo(-l[t].radius,-r);a.lineTo(l[t].radius,-r);a.lineTo(l[t+1].radius,0);a.lineTo(0,0);a.closePath();a.fill();if(i.border==true){a.stroke()}}a.translate(0,r)}}a.restore();if(e.dataLabel!==false&&d===1){drawFunnelText(l,e,a,r,i.labelAlign,n,o)}if(d===1){drawFunnelCenterText(l,e,a,r,i.labelAlign,n,o)}return{center:o,radius:x,series:l}}function drawFunnelText(l,s,h,c,d,x,f){for(let n=0;n<l.length;n++){let t=l[n];if(t.labelShow===false){continue}let e,a,i,r;let o=t.formatter?t.formatter(t,n,l,s):util.toFixed(t._proportion_*100)+"%";o=t.labelText?t.labelText:o;if(d=="right"){if(n==l.length-1){e=(t.funnelArea[2]+f.x)/2}else{e=(t.funnelArea[2]+l[n+1].funnelArea[2])/2}a=e+x*2;i=t.funnelArea[1]+c/2;r=t.textSize*s.pix||s.fontSize*s.pix;h.setLineWidth(1*s.pix);h.setStrokeStyle(t.color);h.setFillStyle(t.color);h.beginPath();h.moveTo(e,i);h.lineTo(a,i);h.stroke();h.closePath();h.beginPath();h.moveTo(a,i);h.arc(a,i,2*s.pix,0,2*Math.PI);h.closePath();h.fill();h.beginPath();h.setFontSize(r);h.setFillStyle(t.textColor||s.fontColor);h.fillText(o,a+5,i+r/2-2);h.closePath();h.stroke();h.closePath()}if(d=="left"){if(n==l.length-1){e=(t.funnelArea[0]+f.x)/2}else{e=(t.funnelArea[0]+l[n+1].funnelArea[0])/2}a=e-x*2;i=t.funnelArea[1]+c/2;r=t.textSize*s.pix||s.fontSize*s.pix;h.setLineWidth(1*s.pix);h.setStrokeStyle(t.color);h.setFillStyle(t.color);h.beginPath();h.moveTo(e,i);h.lineTo(a,i);h.stroke();h.closePath();h.beginPath();h.moveTo(a,i);h.arc(a,i,2,0,2*Math.PI);h.closePath();h.fill();h.beginPath();h.setFontSize(r);h.setFillStyle(t.textColor||s.fontColor);h.fillText(o,a-5-measureText(o,r,h),i+r/2-2);h.closePath();h.stroke();h.closePath()}}}function drawFunnelCenterText(r,o,n,l,t,e,s){for(let i=0;i<r.length;i++){let t=r[i];let e,a;if(t.centerText){e=t.funnelArea[1]+l/2;a=t.centerTextSize*o.pix||o.fontSize*o.pix;n.beginPath();n.setFontSize(a);n.setFillStyle(t.centerTextColor||"#FFFFFF");n.fillText(t.centerText,s.x-measureText(t.centerText,a,n)/2,e+a/2-2);n.closePath();n.stroke();n.closePath()}}}function drawCanvas(t,e){e.save();e.translate(0,.5);e.restore();e.draw()}var Timing={easeIn:function t(e){return Math.pow(e,3)},easeOut:function t(e){return Math.pow(e-1,3)+1},easeInOut:function t(e){if((e/=.5)<1){return.5*Math.pow(e,3)}else{return.5*(Math.pow(e-2,3)+2)}},linear:function t(e){return e}};function Animation(r){this.isStop=false;r.duration=typeof r.duration==="undefined"?1e3:r.duration;r.timing=r.timing||"easeInOut";var o=17;function t(){if(typeof setTimeout!=="undefined"){return function(e,t){setTimeout(function(){var t=+new Date;e(t)},t)}}else if(typeof requestAnimationFrame!=="undefined"){return requestAnimationFrame}else{return function(t){t(null)}}}var n=t();var l=null;var s=function t(e){if(e===null||this.isStop===true){r.onProcess&&r.onProcess(1);r.onAnimationFinish&&r.onAnimationFinish();return}if(l===null){l=e}if(e-l<r.duration){var a=(e-l)/r.duration;var i=Timing[r.timing];a=i(a);r.onProcess&&r.onProcess(a);n(s,o)}else{r.onProcess&&r.onProcess(1);r.onAnimationFinish&&r.onAnimationFinish()}};s=s.bind(this);n(s,o)}Animation.prototype.stop=function(){this.isStop=true};function drawCharts(t,l,n,s){var h=this;var c=l.series;if(t==="pie"||t==="ring"||t==="mount"||t==="rose"||t==="funnel"){c=fixPieSeries(c,l,n)}var d=l.categories;if(t==="mount"){d=[];for(let t=0;t<c.length;t++){if(c[t].show!==false)d.push(c[t].name)}l.categories=d}c=fillSeries(c,l,n);var e=l.animation?l.duration:0;h.animationInstance&&h.animationInstance.stop();var x=null;if(t=="candle"){let t=assign({},l.extra.candle.average);if(t.show){x=calCandleMA(t.day,t.name,t.color,c[0].data);x=fillSeries(x,l,n);l.seriesMA=x}else if(l.seriesMA){x=l.seriesMA=fillSeries(l.seriesMA,l,n)}else{x=c}}else{x=c}l._series_=c=filterSeries(c);l.area=new Array(4);for(let t=0;t<4;t++){l.area[t]=l.padding[t]*l.pix}var a=calLegendData(x,l,n,l.chartData,s),r=a.area.wholeHeight,o=a.area.wholeWidth;switch(l.legend.position){case"top":l.area[0]+=r;break;case"bottom":l.area[2]+=r;break;case"left":l.area[3]+=o;break;case"right":l.area[1]+=o;break}let f={},i=0;if(l.type==="line"||l.type==="column"||l.type==="mount"||l.type==="area"||l.type==="mix"||l.type==="candle"||l.type==="scatter"||l.type==="bubble"||l.type==="bar"){f=calYAxisData(c,l,n,s);i=f.yAxisWidth;if(l.yAxis.showTitle){let e=0;for(let t=0;t<l.yAxis.data.length;t++){e=Math.max(e,l.yAxis.data[t].titleFontSize?l.yAxis.data[t].titleFontSize*l.pix:n.fontSize)}l.area[0]+=e}let e=0,a=0;for(let t=0;t<i.length;t++){if(i[t].position=="left"){if(a>0){l.area[3]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[3]+=i[t].width}a+=1}else if(i[t].position=="right"){if(e>0){l.area[1]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[1]+=i[t].width}e+=1}}}else{n.yAxisWidth=i}l.chartData.yAxisData=f;if(l.categories&&l.categories.length&&l.type!=="radar"&&l.type!=="gauge"&&l.type!=="bar"){l.chartData.xAxisData=getXAxisPoints(l.categories,l,n);let t=calCategoriesData(l.categories,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{if(l.type==="line"||l.type==="area"||l.type==="scatter"||l.type==="bubble"||l.type==="bar"){l.chartData.xAxisData=calXAxisData(c,l,n,s);d=l.chartData.xAxisData.rangesFormat;let t=calCategoriesData(d,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{l.chartData.xAxisData={xAxisPoints:[]}}}if(l.enableScroll&&l.xAxis.scrollAlign=="right"&&l._scrollDistance_===undefined){let t=0,e=l.chartData.xAxisData.xAxisPoints,a=l.chartData.xAxisData.startX,i=l.chartData.xAxisData.endX,r=l.chartData.xAxisData.eachSpacing;let o=r*(e.length-1);let n=i-a;t=n-o;h.scrollOption.currentOffset=t;h.scrollOption.startTouchX=t;h.scrollOption.distance=0;h.scrollOption.lastMoveTime=0;l._scrollDistance_=t}if(t==="pie"||t==="ring"||t==="rose"){n._pieTextMaxLength_=l.dataLabel===false?0:getPieTextMaxLength(x,n,s,l)}switch(t){case"word":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawWordCloudDataPoints(c,l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"map":s.clearRect(0,0,l.width,l.height);drawMapDataPoints(c,l,n,s);setTimeout(()=>{this.uevent.trigger("renderComplete")},50);break;case"funnel":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.funnelData=drawFunnelDataPoints(c,l,n,s,t);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"line":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawLineDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"scatter":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawScatterDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bubble":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawBubbleDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mix":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMixDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"column":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawColumnDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mount":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMountDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawXAxis(d,l,n,s);var a=drawBarDataPoints(c,l,n,s,e),i=a.yAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.yAxisPoints=i;l.chartData.xAxisPoints=l.chartData.xAxisData.xAxisPoints;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"area":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawAreaDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"ring":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"pie":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"rose":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawRoseDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"radar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.radarData=drawRadarDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"arcbar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.arcbarData=drawArcbarDataPoints(c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"gauge":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.gaugeData=drawGaugeDataPoints(d,c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"candle":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawCandleDataPoints(c,x,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}if(x){drawLegend(x,l,n,s,l.chartData)}else{drawLegend(l.series,l,n,s,l.chartData)}drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break}}function uChartsEvent(){this.events={}}uChartsEvent.prototype.addEventListener=function(t,e){this.events[t]=this.events[t]||[];this.events[t].push(e)};uChartsEvent.prototype.delEventListener=function(t){this.events[t]=[]};uChartsEvent.prototype.trigger=function(){for(var t=arguments.length,e=Array(t),a=0;a<t;a++){e[a]=arguments[a]}var i=e[0];var r=e.slice(1);if(!!this.events[i]){this.events[i].forEach(function(t){try{t.apply(null,r)}catch(t){}})}};var uCharts=function t(a){a.pix=a.pixelRatio?a.pixelRatio:1;a.fontSize=a.fontSize?a.fontSize:13;a.fontColor=a.fontColor?a.fontColor:config.fontColor;if(a.background==""||a.background=="none"){a.background="#FFFFFF"}a.title=assign({},a.title);a.subtitle=assign({},a.subtitle);a.duration=a.duration?a.duration:1e3;a.yAxis=assign({},{data:[],showTitle:false,disabled:false,disableGrid:false,gridSet:"number",splitNumber:5,gridType:"solid",dashLength:4*a.pix,gridColor:"#cccccc",padding:10,fontColor:"#666666"},a.yAxis);a.xAxis=assign({},{rotateLabel:false,rotateAngle:45,disabled:false,disableGrid:false,splitNumber:5,calibration:false,fontColor:"#666666",fontSize:13,lineHeight:20,marginTop:0,gridType:"solid",dashLength:4,scrollAlign:"left",boundaryGap:"center",axisLine:true,axisLineColor:"#cccccc",titleFontSize:13,titleOffsetY:0,titleOffsetX:0,titleFontColor:"#666666"},a.xAxis);a.xAxis.scrollPosition=a.xAxis.scrollAlign;a.legend=assign({},{show:true,position:"bottom",float:"center",backgroundColor:"rgba(0,0,0,0)",borderColor:"rgba(0,0,0,0)",borderWidth:0,padding:5,margin:5,itemGap:10,fontSize:a.fontSize,lineHeight:a.fontSize,fontColor:a.fontColor,formatter:{},hiddenColor:"#CECECE"},a.legend);a.extra=assign({tooltip:{legendShape:"auto"}},a.extra);a.rotate=a.rotate?true:false;a.animation=a.animation?true:false;a.rotate=a.rotate?true:false;a.canvas2d=a.canvas2d?true:false;let e=assign({},config);e.color=a.color?a.color:e.color;if(a.type=="pie"){e.pieChartLinePadding=a.dataLabel===false?0:a.extra.pie.labelWidth*a.pix||e.pieChartLinePadding*a.pix}if(a.type=="ring"){e.pieChartLinePadding=a.dataLabel===false?0:a.extra.ring.labelWidth*a.pix||e.pieChartLinePadding*a.pix}if(a.type=="rose"){e.pieChartLinePadding=a.dataLabel===false?0:a.extra.rose.labelWidth*a.pix||e.pieChartLinePadding*a.pix}e.pieChartTextPadding=a.dataLabel===false?0:e.pieChartTextPadding*a.pix;e.rotate=a.rotate;if(a.rotate){let t=a.width;let e=a.height;a.width=e;a.height=t}a.padding=a.padding?a.padding:e.padding;e.yAxisWidth=config.yAxisWidth*a.pix;e.fontSize=a.fontSize*a.pix;e.titleFontSize=config.titleFontSize*a.pix;e.subtitleFontSize=config.subtitleFontSize*a.pix;if(!a.context){throw new Error("[uCharts] æªè·åå°contextï¼æ³¨æï¼v2.0çæ¬åï¼éè¦èªè¡è·åcanvasçç»å¾ä¸ä¸æå¹¶ä¼ å
¥opts.contextï¼")}this.context=a.context;if(!this.context.setTextAlign){this.context.setStrokeStyle=function(t){return this.strokeStyle=t};this.context.setLineWidth=function(t){return this.lineWidth=t};this.context.setLineCap=function(t){return this.lineCap=t};this.context.setFontSize=function(t){return this.font=t+"px sans-serif"};this.context.setFillStyle=function(t){return this.fillStyle=t};this.context.setTextAlign=function(t){return this.textAlign=t};this.context.setTextBaseline=function(t){return this.textBaseline=t};this.context.setShadow=function(t,e,a,i){this.shadowColor=i;this.shadowOffsetX=t;this.shadowOffsetY=e;this.shadowBlur=a};this.context.draw=function(){}}if(!this.context.setLineDash){this.context.setLineDash=function(t){}}a.chartData={};this.uevent=new uChartsEvent;this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};this.opts=a;this.config=e;drawCharts.call(this,a.type,a,e,this.context)};uCharts.prototype.updateData=function(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.opts=assign({},this.opts,t);this.opts.updateData=true;let c=t.scrollPosition||"current";switch(c){case"current":this.opts._scrollDistance_=this.scrollOption.currentOffset;break;case"left":this.opts._scrollDistance_=0;this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};break;case"right":let t=calYAxisData(this.opts.series,this.opts,this.config,this.context),e=t.yAxisWidth;this.config.yAxisWidth=e;let a=0;let i=getXAxisPoints(this.opts.categories,this.opts,this.config),r=i.xAxisPoints,o=i.startX,n=i.endX,l=i.eachSpacing;let s=l*(r.length-1);let h=n-o;a=h-s;this.scrollOption={currentOffset:a,startTouchX:a,distance:0,lastMoveTime:0};this.opts._scrollDistance_=a;break}drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.zoom=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.opts.xAxis.itemCount;if(this.opts.enableScroll!==true){console.log("[uCharts] 请å¯ç¨æ»å¨æ¡å使ç¨");return}let e=Math.round(Math.abs(this.scrollOption.currentOffset)/this.opts.chartData.eachSpacing)+Math.round(this.opts.xAxis.itemCount/2);this.opts.animation=false;this.opts.xAxis.itemCount=t.itemCount;let a=calYAxisData(this.opts.series,this.opts,this.config,this.context),i=a.yAxisWidth;this.config.yAxisWidth=i;let r=0;let o=getXAxisPoints(this.opts.categories,this.opts,this.config),h=o.xAxisPoints,c=o.startX,d=o.endX,n=o.eachSpacing;let x=n*e;let l=d-c;let s=l-n*(h.length-1);r=l/2-x;if(r>0){r=0}if(r<s){r=s}this.scrollOption={currentOffset:r,startTouchX:0,distance:0,lastMoveTime:0};calValidDistance(this,r,this.opts.chartData,this.config,this.opts);this.opts._scrollDistance_=r;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.dobuleZoom=function(t){if(this.opts.enableScroll!==true){console.log("[uCharts] 请å¯ç¨æ»å¨æ¡å使ç¨");return}const a=t.changedTouches;if(a.length<2){return}for(var e=0;e<a.length;e++){a[e].x=a[e].x?a[e].x:a[e].clientX;a[e].y=a[e].y?a[e].y:a[e].clientY}const i=[getTouches(a[0],this.opts,t),getTouches(a[1],this.opts,t)];const c=Math.abs(i[0].x-i[1].x);if(!this.scrollOption.moveCount){let t={changedTouches:[{x:a[0].x,y:this.opts.area[0]/this.opts.pix+2}]};let e={changedTouches:[{x:a[1].x,y:this.opts.area[0]/this.opts.pix+2}]};if(this.opts.rotate){t={changedTouches:[{x:this.opts.height/this.opts.pix-this.opts.area[0]/this.opts.pix-2,y:a[0].y}]};e={changedTouches:[{x:this.opts.height/this.opts.pix-this.opts.area[0]/this.opts.pix-2,y:a[1].y}]}}const s=this.getCurrentDataIndex(t).index;const h=this.getCurrentDataIndex(e).index;const v=Math.abs(s-h);this.scrollOption.moveCount=v;this.scrollOption.moveCurrent1=Math.min(s,h);this.scrollOption.moveCurrent2=Math.max(s,h);return}let d=c/this.scrollOption.moveCount;let r=(this.opts.width-this.opts.area[1]-this.opts.area[3])/d;r=r<=2?2:r;r=r>=this.opts.categories.length?this.opts.categories.length:r;this.opts.animation=false;this.opts.xAxis.itemCount=r;let o=0;let n=getXAxisPoints(this.opts.categories,this.opts,this.config),x=n.xAxisPoints,f=n.startX,p=n.endX,l=n.eachSpacing;let u=l*this.scrollOption.moveCurrent1;let g=p-f;let y=g-l*(x.length-1);o=-u+Math.min(i[0].x,i[1].x)-this.opts.area[3]-l;if(o>0){o=0}if(o<y){o=y}this.scrollOption.currentOffset=o;this.scrollOption.startTouchX=0;this.scrollOption.distance=0;calValidDistance(this,o,this.opts.chartData,this.config,this.opts);this.opts._scrollDistance_=o;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.stopAnimation=function(){this.animationInstance&&this.animationInstance.stop()};uCharts.prototype.addEventListener=function(t,e){this.uevent.addEventListener(t,e)};uCharts.prototype.delEventListener=function(t){this.uevent.delEventListener(t)};uCharts.prototype.getCurrentDataIndex=function(e){var a=null;if(e.changedTouches){a=e.changedTouches[0]}else{a=e.mp.changedTouches[0]}if(a){let t=getTouches(a,this.opts,e);if(this.opts.type==="pie"||this.opts.type==="ring"){return findPieChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.pieData,this.opts)}else if(this.opts.type==="rose"){return findRoseChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.pieData,this.opts)}else if(this.opts.type==="radar"){return findRadarChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.radarData,this.opts.categories.length)}else if(this.opts.type==="funnel"){return findFunnelChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.funnelData)}else if(this.opts.type==="map"){return findMapChartCurrentIndex({x:t.x,y:t.y},this.opts)}else if(this.opts.type==="word"){return findWordChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.wordCloudData)}else if(this.opts.type==="bar"){return findBarChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.calPoints,this.opts,this.config,Math.abs(this.scrollOption.currentOffset))}else{return findCurrentIndex({x:t.x,y:t.y},this.opts.chartData.calPoints,this.opts,this.config,Math.abs(this.scrollOption.currentOffset))}}return-1};uCharts.prototype.getLegendDataIndex=function(e){var a=null;if(e.changedTouches){a=e.changedTouches[0]}else{a=e.mp.changedTouches[0]}if(a){let t=getTouches(a,this.opts,e);return findLegendIndex({x:t.x,y:t.y},this.opts.chartData.legendData)}return-1};uCharts.prototype.touchLegend=function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var a=null;if(t.changedTouches){a=t.changedTouches[0]}else{a=t.mp.changedTouches[0]}if(a){var i=getTouches(a,this.opts,t);var r=this.getLegendDataIndex(t);if(r>=0){if(this.opts.type=="candle"){this.opts.seriesMA[r].show=!this.opts.seriesMA[r].show}else{this.opts.series[r].show=!this.opts.series[r].show}this.opts.animation=e.animation?true:false;this.opts._scrollDistance_=this.scrollOption.currentOffset;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)}}};uCharts.prototype.showToolTip=function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var c=null;if(t.changedTouches){c=t.changedTouches[0]}else{c=t.mp.changedTouches[0]}if(!c){console.log("[uCharts] æªè·åå°eventåæ ä¿¡æ¯")}var a=getTouches(c,this.opts,t);var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});if(this.opts.type==="line"||this.opts.type==="area"||this.opts.type==="column"||this.opts.type==="scatter"||this.opts.type==="bubble"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o,group:r.group}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mount"){var o=e.index==undefined?this.getCurrentDataIndex(t).index:e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:i.chartData.calPoints[o].x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="bar"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.x=a.x;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mix"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var x=getMixToolTipData(n,this.opts,o,this.opts.categories,e),s=x.textList,h=x.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="candle"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var l=getCandleToolTipData(this.opts.series[0].data,n,this.opts,o,this.opts.categories,this.opts.extra.candle,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="pie"||this.opts.type==="ring"||this.opts.type==="rose"||this.opts.type==="funnel"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="map"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);n.name=n.properties.name;var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="word"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="radar"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var s=n.map(t=>{return{text:e.formatter?e.formatter(t,this.opts.categories[o],o,this.opts):t.name+": "+t.data,color:t.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?t.legendShape:this.opts.extra.tooltip.legendShape}});var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}};uCharts.prototype.translate=function(t){this.scrollOption={currentOffset:t,startTouchX:t,distance:0,lastMoveTime:0};let e=assign({},this.opts,{_scrollDistance_:t,animation:false});drawCharts.call(this,this.opts.type,e,this.config,this.context)};uCharts.prototype.scrollStart=function(t){var e=null;if(t.changedTouches){e=t.changedTouches[0]}else{e=t.mp.changedTouches[0]}var a=getTouches(e,this.opts,t);if(e&&this.opts.enableScroll===true){this.scrollOption.startTouchX=a.x}};uCharts.prototype.scroll=function(t){if(this.scrollOption.lastMoveTime===0){this.scrollOption.lastMoveTime=Date.now()}let e=this.opts.touchMoveLimit||60;let a=Date.now();let i=a-this.scrollOption.lastMoveTime;if(i<Math.floor(1e3/e))return;if(this.scrollOption.startTouchX==0)return;this.scrollOption.lastMoveTime=a;var r=null;if(t.changedTouches){r=t.changedTouches[0]}else{r=t.mp.changedTouches[0]}if(r&&this.opts.enableScroll===true){var o=getTouches(r,this.opts,t);var n;n=o.x-this.scrollOption.startTouchX;var l=this.scrollOption.currentOffset;var s=calValidDistance(this,l+n,this.opts.chartData,this.config,this.opts);this.scrollOption.distance=n=s-l;var h=assign({},this.opts,{_scrollDistance_:l+n,animation:false});this.opts=h;drawCharts.call(this,h.type,h,this.config,this.context);return l+n}};uCharts.prototype.scrollEnd=function(t){if(this.opts.enableScroll===true){var e=this.scrollOption,a=e.currentOffset,i=e.distance;this.scrollOption.currentOffset=a+i;this.scrollOption.distance=0;this.scrollOption.moveCount=0}};export default uCharts; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "id": "qiun-data-charts", |
| | | "displayName": "ç§äº ucharts echarts 髿§è½è·¨å
¨ç«¯å¾è¡¨ç»ä»¶", |
| | | "version": "2.5.0-20230101", |
| | | "description": "uCharts æ°å¢æ£è´æ±ç¶å¾ï¼æ¯æH5åAPPç¨ ucharts echarts 渲æå¾è¡¨ï¼uniappå¯è§åé¦éç»ä»¶", |
| | | "keywords": [ |
| | | "ucharts", |
| | | "echarts", |
| | | "f2", |
| | | "å¾è¡¨", |
| | | "å¯è§å" |
| | | ], |
| | | "repository": "https://gitee.com/uCharts/uCharts", |
| | | "engines": { |
| | | }, |
| | | "dcloudext": { |
| | | "sale": { |
| | | "regular": { |
| | | "price": "0.00" |
| | | }, |
| | | "sourcecode": { |
| | | "price": "0.00" |
| | | } |
| | | }, |
| | | "contact": { |
| | | "qq": "474119" |
| | | }, |
| | | "declaration": { |
| | | "ads": "æ ", |
| | | "data": "æä»¶ä¸éé任使°æ®", |
| | | "permissions": "æ " |
| | | }, |
| | | "npmurl": "https://www.npmjs.com/~qiun", |
| | | "type": "component-vue" |
| | | }, |
| | | "uni_modules": { |
| | | "dependencies": [], |
| | | "encrypt": [], |
| | | "platforms": { |
| | | "cloud": { |
| | | "tcb": "y", |
| | | "aliyun": "y" |
| | | }, |
| | | "client": { |
| | | "App": { |
| | | "app-vue": "y", |
| | | "app-nvue": "y" |
| | | }, |
| | | "H5-mobile": { |
| | | "Safari": "y", |
| | | "Android Browser": "y", |
| | | "微信æµè§å¨(Android)": "y", |
| | | "QQæµè§å¨(Android)": "y" |
| | | }, |
| | | "H5-pc": { |
| | | "Chrome": "y", |
| | | "IE": "y", |
| | | "Edge": "y", |
| | | "Firefox": "y", |
| | | "Safari": "y" |
| | | }, |
| | | "å°ç¨åº": { |
| | | "微信": "y", |
| | | "é¿é": "y", |
| | | "ç¾åº¦": "y", |
| | | "åèè·³å¨": "y", |
| | | "QQ": "y" |
| | | }, |
| | | "å¿«åºç¨": { |
| | | "å为": "y", |
| | | "èç": "y" |
| | | }, |
| | | "Vue": { |
| | | "vue2": "y", |
| | | "vue3": "y" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | |  |
| | | |
| | | |
| | | [](https://gitee.com/uCharts/uCharts/stargazers) |
| | | [](https://gitee.com/uCharts/uCharts/members) |
| | | [](https://www.apache.org/licenses/LICENSE-2.0.html) |
| | | [](https://www.npmjs.com/~qiun) |
| | | |
| | | |
| | | ## uChartsç®ä» |
| | | |
| | | `uCharts`æ¯ä¸æ¬¾åºäº`canvas API`å¼åçéç¨äºææå端åºç¨çå¾è¡¨åºï¼å¼åè
ç¼åä¸å¥ä»£ç ï¼å¯è¿è¡å° WebãiOSãAndroidï¼åºäº uni-app / taro ï¼ã以ååç§å°ç¨åºï¼å¾®ä¿¡/æ¯ä»å®/ç¾åº¦/头æ¡/é£ä¹¦/QQ/å¿«æ/éé/æ·å®ï¼ãå¿«åºç¨çæ´å¤æ¯æ canvas API çå¹³å°ã |
| | | |
| | | ## 宿¹ç½ç« |
| | | |
| | | ## [https://www.ucharts.cn](https://www.ucharts.cn) |
| | | |
| | | ## å¿«éä½éª |
| | | |
| | | ä¸å¥ä»£ç ç¼å°å¤ä¸ªå¹³å°ï¼ä¾æ¬¡æ«æäºç»´ç ï¼äº²èªä½éªuChartså¾è¡¨è·¨å¹³å°ææï¼å
¶ä»å¹³å°è¯·èªè¡ç¼è¯ã |
| | | |
| | |  |
| | | |
| | |  |
| | | |
| | | ## è´å¼åè
|
| | | |
| | | æè°¢åä½å¼åè
`äºå¹´`æ¥å¯¹ç§äºåuChartsçæ¯æï¼uChartsçè¿æ¥ç¦»ä¸å¼åä½å¼åè
çé¼å±ä¸è´¡ç®ã为æ´å¥½ç帮å©åä½å¼åè
使ç¨å¾è¡¨å·¥å
·ï¼æä»¬æ¨åºäºæ°çå®ç½ï¼å¢å äºå¨çº¿å®å¶ãé®ç社åºãå¨çº¿é
ç½®çä¸äºå¢å¼æå¡ï¼ä¸ºç¡®ä¿æ¨è½æ´å¥½çåºç¨å¾è¡¨ç»ä»¶ï¼å»ºè®®æ¨å
`ä»ç»é
读å®ç½æå`以å`常è§é®é¢`ï¼è䏿¯ä¸è½½ä¸æ¥`ç´æ¥ä½¿ç¨`ãå¦ä»ç¶ä¸è½è§£å³ï¼è¯·å°`å®ç½ç¤¾åº`æå¼éä¼ååå å
¥`ä¸å±VIPä¼å群`æé®å°ä¼å¾å¿«å¾å°åçã |
| | | |
| | | ## è§é¢æç¨ |
| | | |
| | | ## [uChartsæ°æå
¥é¨æç¨](https://www.bilibili.com/video/BV1qA411Q7se/?share_source=copy_web&vd_source=42a1242f9aaade6427736af69eb2e1d9) |
| | | |
| | | |
| | | ## ç¤¾ç¾¤æ¯æ |
| | | |
| | | uCharts宿¹æ¥æ5个2000人çQQ群åä¸å±VIPä¼åç¾¤æ¯æï¼åºå¤§çç¨æ·éè¯ææä»¬ä¸ç´å¨åªåï¼è¯·å使¾å¿ä½¿ç¨ï¼uChartsç弿ºå¾è¡¨ç»ä»¶çå¼åï¼å¢éä»åºäºå¤§éçæ¶é´ä¸ç²¾åï¼ç»è¿åæ¥çèéªï¼ä¸ä¼ææ¯è¾ææ¾çbugï¼è¯·å使¾å¿ä½¿ç¨ãå¦ææ¨ææ´å¥½çæ³æ³ï¼å¯ä»¥å¨`ç äºæäº¤Pull Requests`以叮婿´å¤å¼åè
宿鿱ï¼å次æè°¢åä½å¯¹uChartsçé¼å±ä¸æ¯æï¼ |
| | | |
| | | #### 宿¹äº¤æµç¾¤ |
| | | - 交æµç¾¤1ï¼371774600ï¼å·²æ»¡ï¼ |
| | | - 交æµç¾¤2ï¼619841586ï¼å·²æ»¡ï¼ |
| | | - 交æµç¾¤3ï¼955340127ï¼å·²æ»¡ï¼ |
| | | - 交æµç¾¤4ï¼641669795ï¼å·²æ»¡ï¼ |
| | | - 交æµç¾¤5ï¼236294809ï¼åªè½æ«ç å å
¥ï¼ |
| | | |
| | |  |
| | | |
| | | - å£ä»¤`uniapp` |
| | | |
| | | #### ä¸å±VIPä¼å群 |
| | | - å¼éä¼åå详è§ãè´¦å·è¯¦æ
ã页é¢ä¸é¡¶é¨çæ»å¨éç¥ |
| | | - å£ä»¤`æ¨çç¨æ·ID` |
| | | |
| | | ## çæä¿¡æ¯ |
| | | |
| | | uChartså§ç»åæå¼æºï¼éµå¾ª [Apache Licence 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) 弿ºåè®®ï¼æå³çæ¨æ 鿝ä»ä»»ä½è´¹ç¨ï¼å³å¯å°uChartsåºç¨å°æ¨ç产åä¸ã |
| | | |
| | | 注æï¼è¿å¹¶ä¸æå³çæ¨å¯ä»¥å°uChartsåºç¨å°éæ³çé¢åï¼æ¯å¦æ¶åèµåï¼æ´åçæ¹é¢ãå¦å æ¤äº§ççº çº·ææ³å¾é®é¢ï¼uChartsç¸å
³æ¹åç§äºç§æä¸æ¿æ
ä»»ä½è´£ä»»ã |
| | | |
| | | ## åä½ä¼ä¼´ |
| | | |
| | | [](https://www.diygw.com/) |
| | | [](https://gitee.com/howcode/has-chat) |
| | | [](https://www.uviewui.com/) |
| | | [](https://ext.dcloud.net.cn/plugin?id=7088) |
| | | [](https://ext.dcloud.net.cn/publisher?id=202) |
| | | [](https://www.firstui.cn/) |
| | | [](https://ext.dcloud.net.cn/plugin?id=5169) |
| | | [](https://www.graceui.com/) |
| | | |
| | | |
| | | ## æ´æ°è®°å½ |
| | | |
| | | 详è§å®ç½æåä¸è¯´æï¼[ç¹å»æ¤å¤æ¥ç](https://www.ucharts.cn/v2/#/guide/index?id=100) |
| | | |
| | | |
| | | ## ç¸å
³é¾æ¥ |
| | | - [uChartså®ç½](https://www.ucharts.cn) |
| | | - [DCloudæä»¶å¸åºå°å](https://ext.dcloud.net.cn/plugin?id=271) |
| | | - [uChartsç äºå¼æºæç®¡å°å](https://gitee.com/uCharts/uCharts) [](https://gitee.com/uCharts/uCharts/stargazers) |
| | | - [uCharts npm弿ºå°å](https://www.ucharts.cn) |
| | | - [EChartså®ç½](https://echarts.apache.org/zh/index.html) |
| | | - [EChartsé
ç½®æå](https://echarts.apache.org/zh/option.html) |
| | | - [å¾è¡¨ç»ä»¶å¨é¡¹ç®ä¸çåºç¨ ReportPlusæ°æ®æ¥è¡¨](https://www.ucharts.cn/v2/#/layout/info?id=1) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <template v-for="(item, index) in options"> |
| | | <template v-if="values.includes(item.value)"> |
| | | <span |
| | | v-if="item.elTagType == 'default' || item.elTagType == ''" |
| | | :key="item.value" |
| | | :index="index" |
| | | :class="item.elTagClass" |
| | | >{{ item.label }}</span> |
| | | <uni-tag |
| | | v-else |
| | | :key="item.value + ''" |
| | | :index="index" |
| | | :type="elTagType(item.elTagType)" |
| | | :class="item.elTagClass" |
| | | :text="item.label" |
| | | /> |
| | | </template> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | const props = defineProps({ |
| | | // æ°æ® |
| | | options: { |
| | | type: Array, |
| | | default: null, |
| | | }, |
| | | // å½åçå¼ |
| | | value: [Number, String, Array], |
| | | }) |
| | | |
| | | const values = computed(() => { |
| | | if (props.value !== null && typeof props.value !== 'undefined') { |
| | | return Array.isArray(props.value) ? props.value : [String(props.value)]; |
| | | } else { |
| | | return []; |
| | | } |
| | | }) |
| | | |
| | | const elTagType = (tagType) =>{ |
| | | tagType === 'danger' ? 'error' : tagType |
| | | tagType === 'info' ? 'default' : tagType |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .uni-tag + .uni-tag { |
| | | margin-left: 10px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | var areaData=[[[{"label":"ä¸ååº","value":"110101"},{"label":"西ååº","value":"110102"},{"label":"æé³åº","value":"110105"},{"label":"丰å°åº","value":"110106"},{"label":"ç³æ¯å±±åº","value":"110107"},{"label":"æµ·æ·åº","value":"110108"},{"label":"é¨å¤´æ²åº","value":"110109"},{"label":"æ¿å±±åº","value":"110111"},{"label":"éå·åº","value":"110112"},{"label":"顺ä¹åº","value":"110113"},{"label":"æå¹³åº","value":"110114"},{"label":"大å
´åº","value":"110115"},{"label":"ææåº","value":"110116"},{"label":"平谷åº","value":"110117"},{"label":"å¯äºåº","value":"110118"},{"label":"å»¶åºåº","value":"110119"}]],[[{"label":"åå¹³åº","value":"120101"},{"label":"æ²³ä¸åº","value":"120102"},{"label":"河西åº","value":"120103"},{"label":"åå¼åº","value":"120104"},{"label":"æ²³ååº","value":"120105"},{"label":"红桥åº","value":"120106"},{"label":"ä¸ä¸½åº","value":"120110"},{"label":"西éåº","value":"120111"},{"label":"æ´¥ååº","value":"120112"},{"label":"åè¾°åº","value":"120113"},{"label":"æ¦æ¸
åº","value":"120114"},{"label":"å®å»åº","value":"120115"},{"label":"滨海æ°åº","value":"120116"},{"label":"宿²³åº","value":"120117"},{"label":"éæµ·åº","value":"120118"},{"label":"èå·åº","value":"120119"}]],[[{"label":"é¿å®åº","value":"130102"},{"label":"桥西åº","value":"130104"},{"label":"æ°ååº","value":"130105"},{"label":"äºéç¿åº","value":"130107"},{"label":"è£ååº","value":"130108"},{"label":"èååº","value":"130109"},{"label":"鹿æ³åº","value":"130110"},{"label":"æ ¾ååº","value":"130111"},{"label":"äºéå¿","value":"130121"},{"label":"æ£å®å¿","value":"130123"},{"label":"è¡åå¿","value":"130125"},{"label":"çµå¯¿å¿","value":"130126"},{"label":"é«éå¿","value":"130127"},{"label":"深泽å¿","value":"130128"},{"label":"èµçå¿","value":"130129"},{"label":"æ æå¿","value":"130130"},{"label":"平山å¿","value":"130131"},{"label":"å
æ°å¿","value":"130132"},{"label":"èµµå¿","value":"130133"},{"label":"ç³å®¶åºé«æ°ææ¯äº§ä¸å¼ååº","value":"130171"},{"label":"ç³å®¶åºå¾ªç¯åå·¥ååº","value":"130172"},{"label":"è¾éå¸","value":"130181"},{"label":"æå·å¸","value":"130183"},{"label":"æ°ä¹å¸","value":"130184"}],[{"label":"è·¯ååº","value":"130202"},{"label":"è·¯ååº","value":"130203"},{"label":"å¤å¶åº","value":"130204"},{"label":"å¼å¹³åº","value":"130205"},{"label":"丰ååº","value":"130207"},{"label":"丰润åº","value":"130208"},{"label":"æ¹å¦ç¸åº","value":"130209"},{"label":"滦å¿","value":"130223"},{"label":"滦åå¿","value":"130224"},{"label":"ä¹äºå¿","value":"130225"},{"label":"è¿è¥¿å¿","value":"130227"},{"label":"çç°å¿","value":"130229"},{"label":"åå±±å¸è¦å°ç»æµææ¯å¼ååº","value":"130271"},{"label":"å山叿±æ²½ç®¡çåº","value":"130272"},{"label":"å山髿°ææ¯äº§ä¸å¼ååº","value":"130273"},{"label":"æ²³ååå±±æµ·æ¸¯ç»æµå¼ååº","value":"130274"},{"label":"éµåå¸","value":"130281"},{"label":"è¿å®å¸","value":"130283"}],[{"label":"海港åº","value":"130302"},{"label":"山海å
³åº","value":"130303"},{"label":"åæ´æ²³åº","value":"130304"},{"label":"æå®åº","value":"130306"},{"label":"é龿»¡æèªæ²»å¿","value":"130321"},{"label":"æé»å¿","value":"130322"},{"label":"å¢é¾å¿","value":"130324"},{"label":"秦çå²å¸ç»æµææ¯å¼ååº","value":"130371"},{"label":"åæ´æ²³æ°åº","value":"130372"}],[{"label":"é¯å±±åº","value":"130402"},{"label":"ä¸å°åº","value":"130403"},{"label":"å¤å
´åº","value":"130404"},{"label":"å³°å³°ç¿åº","value":"130406"},{"label":"è¥ä¹¡åº","value":"130407"},{"label":"永年åº","value":"130408"},{"label":"临漳å¿","value":"130423"},{"label":"æå®å¿","value":"130424"},{"label":"大åå¿","value":"130425"},{"label":"æ¶å¿","value":"130426"},{"label":"ç£å¿","value":"130427"},{"label":"é±å¿","value":"130430"},{"label":"鸡泽å¿","value":"130431"},{"label":"广平å¿","value":"130432"},{"label":"é¦é¶å¿","value":"130433"},{"label":"éå¿","value":"130434"},{"label":"æ²å¨å¿","value":"130435"},{"label":"é¯é¸ç»æµææ¯å¼ååº","value":"130471"},{"label":"é¯é¸ååæ°åº","value":"130473"},{"label":"æ¦å®å¸","value":"130481"}],[{"label":"æ¡¥ä¸åº","value":"130502"},{"label":"桥西åº","value":"130503"},{"label":"é¢å°å¿","value":"130521"},{"label":"临åå¿","value":"130522"},{"label":"å
ä¸å¿","value":"130523"},{"label":"æä¹¡å¿","value":"130524"},{"label":"éå°§å¿","value":"130525"},{"label":"ä»»å¿","value":"130526"},{"label":"ååå¿","value":"130527"},{"label":"宿å¿","value":"130528"},{"label":"巨鹿å¿","value":"130529"},{"label":"æ°æ²³å¿","value":"130530"},{"label":"广å®å¿","value":"130531"},{"label":"平乡å¿","value":"130532"},{"label":"å¨å¿","value":"130533"},{"label":"æ¸
æ²³å¿","value":"130534"},{"label":"临西å¿","value":"130535"},{"label":"æ²³åé¢å°ç»æµå¼ååº","value":"130571"},{"label":"å宫å¸","value":"130581"},{"label":"æ²æ²³å¸","value":"130582"}],[{"label":"ç«ç§åº","value":"130602"},{"label":"è²æ± åº","value":"130606"},{"label":"满ååº","value":"130607"},{"label":"æ¸
èåº","value":"130608"},{"label":"徿°´åº","value":"130609"},{"label":"æ¶æ°´å¿","value":"130623"},{"label":"éå¹³å¿","value":"130624"},{"label":"å®å
´å¿","value":"130626"},{"label":"åå¿","value":"130627"},{"label":"é«é³å¿","value":"130628"},{"label":"容åå¿","value":"130629"},{"label":"æ¶æºå¿","value":"130630"},{"label":"æé½å¿","value":"130631"},{"label":"宿°å¿","value":"130632"},{"label":"æå¿","value":"130633"},{"label":"æ²é³å¿","value":"130634"},{"label":"è ¡å¿","value":"130635"},{"label":"顺平å¿","value":"130636"},{"label":"åéå¿","value":"130637"},{"label":"éå¿","value":"130638"},{"label":"ä¿å®é«æ°ææ¯äº§ä¸å¼ååº","value":"130671"},{"label":"ä¿å®ç½æ²æ°å","value":"130672"},{"label":"æ¶¿å·å¸","value":"130681"},{"label":"å®å·å¸","value":"130682"},{"label":"å®å½å¸","value":"130683"},{"label":"é«ç¢åºå¸","value":"130684"}],[{"label":"æ¡¥ä¸åº","value":"130702"},{"label":"桥西åº","value":"130703"},{"label":"宣ååº","value":"130705"},{"label":"ä¸è±ååº","value":"130706"},{"label":"ä¸å
¨åº","value":"130708"},{"label":"å´ç¤¼åº","value":"130709"},{"label":"å¼ åå¿","value":"130722"},{"label":"康ä¿å¿","value":"130723"},{"label":"æ²½æºå¿","value":"130724"},{"label":"å°ä¹å¿","value":"130725"},{"label":"èå¿","value":"130726"},{"label":"é³åå¿","value":"130727"},{"label":"æå®å¿","value":"130728"},{"label":"ææ¥å¿","value":"130730"},{"label":"涿鹿å¿","value":"130731"},{"label":"赤åå¿","value":"130732"},{"label":"å¼ å®¶å£å¸é«æ°ææ¯äº§ä¸å¼ååº","value":"130771"},{"label":"å¼ å®¶å£å¸å¯å管çåº","value":"130772"},{"label":"å¼ å®¶å£å¸å¡å管çåº","value":"130773"}],[{"label":"åæ¡¥åº","value":"130802"},{"label":"åæ»¦åº","value":"130803"},{"label":"é¹°æè¥åç¿åº","value":"130804"},{"label":"æ¿å¾·å¿","value":"130821"},{"label":"å
´éå¿","value":"130822"},{"label":"滦平å¿","value":"130824"},{"label":"éåå¿","value":"130825"},{"label":"䏰宿»¡æèªæ²»å¿","value":"130826"},{"label":"宽忻¡æèªæ²»å¿","value":"130827"},{"label":"å´åºæ»¡æèå¤æèªæ²»å¿","value":"130828"},{"label":"æ¿å¾·é«æ°ææ¯äº§ä¸å¼ååº","value":"130871"},{"label":"å¹³æ³å¸","value":"130881"}],[{"label":"æ°ååº","value":"130902"},{"label":"è¿æ²³åº","value":"130903"},{"label":"æ²§å¿","value":"130921"},{"label":"éå¿","value":"130922"},{"label":"ä¸å
å¿","value":"130923"},{"label":"æµ·å
´å¿","value":"130924"},{"label":"çå±±å¿","value":"130925"},{"label":"èå®å¿","value":"130926"},{"label":"åç®å¿","value":"130927"},{"label":"å´æ¡¥å¿","value":"130928"},{"label":"ç®å¿","value":"130929"},{"label":"åæåæèªæ²»å¿","value":"130930"},{"label":"æ²³åæ²§å·ç»æµå¼ååº","value":"130971"},{"label":"æ²§å·é«æ°ææ¯äº§ä¸å¼ååº","value":"130972"},{"label":"æ²§å·æ¸¤æµ·æ°åº","value":"130973"},{"label":"æ³å¤´å¸","value":"130981"},{"label":"ä»»ä¸å¸","value":"130982"},{"label":"é»éª
å¸","value":"130983"},{"label":"æ²³é´å¸","value":"130984"}],[{"label":"宿¬¡åº","value":"131002"},{"label":"广é³åº","value":"131003"},{"label":"åºå®å¿","value":"131022"},{"label":"æ°¸æ¸
å¿","value":"131023"},{"label":"馿²³å¿","value":"131024"},{"label":"大åå¿","value":"131025"},{"label":"æå®å¿","value":"131026"},{"label":"大ååæèªæ²»å¿","value":"131028"},{"label":"å»åç»æµææ¯å¼ååº","value":"131071"},{"label":"é¸å·å¸","value":"131081"},{"label":"䏿²³å¸","value":"131082"}],[{"label":"æ¡ååº","value":"131102"},{"label":"åå·åº","value":"131103"},{"label":"æ£å¼ºå¿","value":"131121"},{"label":"æ¦éå¿","value":"131122"},{"label":"æ¦å¼ºå¿","value":"131123"},{"label":"饶é³å¿","value":"131124"},{"label":"å®å¹³å¿","value":"131125"},{"label":"æ
åå¿","value":"131126"},{"label":"æ¯å¿","value":"131127"},{"label":"éåå¿","value":"131128"},{"label":"æ²³åè¡¡æ°´ç»æµå¼ååº","value":"131171"},{"label":"è¡¡æ°´æ»¨æ¹æ°åº","value":"131172"},{"label":"æ·±å·å¸","value":"131182"}]],[[{"label":"å°åºåº","value":"140105"},{"label":"è¿æ³½åº","value":"140106"},{"label":"æè±å²åº","value":"140107"},{"label":"å°èåªåº","value":"140108"},{"label":"䏿æåº","value":"140109"},{"label":"ææºåº","value":"140110"},{"label":"æ¸
å¾å¿","value":"140121"},{"label":"鳿²å¿","value":"140122"},{"label":"å¨ç¦å¿","value":"140123"},{"label":"山西转åç»¼åæ¹é©ç¤ºèåº","value":"140171"},{"label":"å¤äº¤å¸","value":"140181"}],[{"label":"ååº","value":"140202"},{"label":"ç¿åº","value":"140203"},{"label":"åéåº","value":"140211"},{"label":"æ°è£åº","value":"140212"},{"label":"é³é«å¿","value":"140221"},{"label":"天éå¿","value":"140222"},{"label":"广çµå¿","value":"140223"},{"label":"çµä¸å¿","value":"140224"},{"label":"æµæºå¿","value":"140225"},{"label":"å·¦äºå¿","value":"140226"},{"label":"大åå¿","value":"140227"},{"label":"山西大åç»æµå¼ååº","value":"140271"}],[{"label":"ååº","value":"140302"},{"label":"ç¿åº","value":"140303"},{"label":"éåº","value":"140311"},{"label":"å¹³å®å¿","value":"140321"},{"label":"çå¿","value":"140322"},{"label":"å±±è¥¿é³æ³ç»æµå¼ååº","value":"140371"}],[{"label":"ååº","value":"140402"},{"label":"éåº","value":"140411"},{"label":"é¿æ²»å¿","value":"140421"},{"label":"è¥å£å¿","value":"140423"},{"label":"屯çå¿","value":"140424"},{"label":"平顺å¿","value":"140425"},{"label":"é»åå¿","value":"140426"},{"label":"壶å
³å¿","value":"140427"},{"label":"é¿åå¿","value":"140428"},{"label":"æ¦ä¹¡å¿","value":"140429"},{"label":"æ²å¿","value":"140430"},{"label":"æ²æºå¿","value":"140431"},{"label":"å±±è¥¿é¿æ²»é«æ°ææ¯äº§ä¸ååº","value":"140471"},{"label":"æ½åå¸","value":"140481"}],[{"label":"ååº","value":"140502"},{"label":"æ²æ°´å¿","value":"140521"},{"label":"é³åå¿","value":"140522"},{"label":"éµå·å¿","value":"140524"},{"label":"æ³½å·å¿","value":"140525"},{"label":"é«å¹³å¸","value":"140581"}],[{"label":"æååº","value":"140602"},{"label":"å¹³é²åº","value":"140603"},{"label":"å±±é´å¿","value":"140621"},{"label":"åºå¿","value":"140622"},{"label":"å³çå¿","value":"140623"},{"label":"æä»å¿","value":"140624"},{"label":"山西æå·ç»æµå¼ååº","value":"140671"}],[{"label":"æ¦æ¬¡åº","value":"140702"},{"label":"æ¦ç¤¾å¿","value":"140721"},{"label":"å·¦æå¿","value":"140722"},{"label":"å顺å¿","value":"140723"},{"label":"æé³å¿","value":"140724"},{"label":"寿é³å¿","value":"140725"},{"label":"太谷å¿","value":"140726"},{"label":"ç¥å¿","value":"140727"},{"label":"å¹³é¥å¿","value":"140728"},{"label":"çµç³å¿","value":"140729"},{"label":"ä»ä¼å¸","value":"140781"}],[{"label":"çæ¹åº","value":"140802"},{"label":"临çå¿","value":"140821"},{"label":"ä¸è£å¿","value":"140822"},{"label":"é»åå¿","value":"140823"},{"label":"稷山å¿","value":"140824"},{"label":"æ°ç»å¿","value":"140825"},{"label":"ç»å¿","value":"140826"},{"label":"壿²å¿","value":"140827"},{"label":"å¤å¿","value":"140828"},{"label":"å¹³éå¿","value":"140829"},{"label":"è®åå¿","value":"140830"},{"label":"æ°¸æµå¸","value":"140881"},{"label":"河津å¸","value":"140882"}],[{"label":"å¿»åºåº","value":"140902"},{"label":"å®è¥å¿","value":"140921"},{"label":"äºå°å¿","value":"140922"},{"label":"代å¿","value":"140923"},{"label":"ç¹å³å¿","value":"140924"},{"label":"宿¦å¿","value":"140925"},{"label":"éä¹å¿","value":"140926"},{"label":"ç¥æ± å¿","value":"140927"},{"label":"äºå¯¨å¿","value":"140928"},{"label":"å²¢å²å¿","value":"140929"},{"label":"æ²³æ²å¿","value":"140930"},{"label":"ä¿å¾·å¿","value":"140931"},{"label":"åå
³å¿","value":"140932"},{"label":"äºå°å±±é£æ¯åèåº","value":"140971"},{"label":"åå¹³å¸","value":"140981"}],[{"label":"å°§é½åº","value":"141002"},{"label":"æ²æ²å¿","value":"141021"},{"label":"翼åå¿","value":"141022"},{"label":"è¥æ±¾å¿","value":"141023"},{"label":"æ´ªæ´å¿","value":"141024"},{"label":"å¤å¿","value":"141025"},{"label":"宿³½å¿","value":"141026"},{"label":"浮山å¿","value":"141027"},{"label":"åå¿","value":"141028"},{"label":"乡å®å¿","value":"141029"},{"label":"大å®å¿","value":"141030"},{"label":"é°å¿","value":"141031"},{"label":"æ°¸åå¿","value":"141032"},{"label":"è²å¿","value":"141033"},{"label":"汾西å¿","value":"141034"},{"label":"侯马å¸","value":"141081"},{"label":"éå·å¸","value":"141082"}],[{"label":"离ç³åº","value":"141102"},{"label":"ææ°´å¿","value":"141121"},{"label":"交åå¿","value":"141122"},{"label":"å
´å¿","value":"141123"},{"label":"临å¿","value":"141124"},{"label":"æ³æå¿","value":"141125"},{"label":"ç³æ¥¼å¿","value":"141126"},{"label":"å²å¿","value":"141127"},{"label":"æ¹å±±å¿","value":"141128"},{"label":"ä¸é³å¿","value":"141129"},{"label":"交å£å¿","value":"141130"},{"label":"åä¹å¸","value":"141181"},{"label":"æ±¾é³å¸","value":"141182"}]],[[{"label":"æ°ååº","value":"150102"},{"label":"åæ°åº","value":"150103"},{"label":"çæ³åº","value":"150104"},{"label":"èµç½åº","value":"150105"},{"label":"åé»ç¹å·¦æ","value":"150121"},{"label":"æå
æå¿","value":"150122"},{"label":"åææ ¼å°å¿","value":"150123"},{"label":"æ¸
æ°´æ²³å¿","value":"150124"},{"label":"æ¦å·å¿","value":"150125"},{"label":"å¼å浩ç¹éæµ·å·¥ä¸ååº","value":"150171"},{"label":"å¼å浩ç¹ç»æµææ¯å¼ååº","value":"150172"}],[{"label":"䏿²³åº","value":"150202"},{"label":"æé½ä»åº","value":"150203"},{"label":"éå±±åº","value":"150204"},{"label":"ç³æåº","value":"150205"},{"label":"ç½äºéåç¿åº","value":"150206"},{"label":"ä¹ååº","value":"150207"},{"label":"åé»ç¹å³æ","value":"150221"},{"label":"åºé³å¿","value":"150222"},{"label":"è¾¾å°ç½èæå®èåæ","value":"150223"},{"label":"å
头ç¨å髿°ææ¯äº§ä¸å¼ååº","value":"150271"}],[{"label":"æµ·åæ¹¾åº","value":"150302"},{"label":"æµ·ååº","value":"150303"},{"label":"ä¹è¾¾åº","value":"150304"}],[{"label":"红山åº","value":"150402"},{"label":"å
å®å±±åº","value":"150403"},{"label":"æ¾å±±åº","value":"150404"},{"label":"é¿é²ç§å°æ²æ","value":"150421"},{"label":"å·´æå·¦æ","value":"150422"},{"label":"å·´æå³æ","value":"150423"},{"label":"æè¥¿å¿","value":"150424"},{"label":"å
ä»å
è
¾æ","value":"150425"},{"label":"ç¿çç¹æ","value":"150426"},{"label":"ååæ²æ","value":"150428"},{"label":"å®åå¿","value":"150429"},{"label":"ææ±æ","value":"150430"}],[{"label":"ç§å°æ²åº","value":"150502"},{"label":"ç§å°æ²å·¦ç¿¼ä¸æ","value":"150521"},{"label":"ç§å°æ²å·¦ç¿¼åæ","value":"150522"},{"label":"å¼é²å¿","value":"150523"},{"label":"åºä¼¦æ","value":"150524"},{"label":"奿¼æ","value":"150525"},{"label":"æé²ç¹æ","value":"150526"},{"label":"éè¾½ç»æµææ¯å¼ååº","value":"150571"},{"label":"éæéåå¸","value":"150581"}],[{"label":"ä¸èåº","value":"150602"},{"label":"康巴ä»åº","value":"150603"},{"label":"è¾¾æç¹æ","value":"150621"},{"label":"åæ ¼å°æ","value":"150622"},{"label":"éæå
åæ","value":"150623"},{"label":"éæå
æ","value":"150624"},{"label":"æé¦æ","value":"150625"},{"label":"ä¹å®¡æ","value":"150626"},{"label":"ä¼ééæ´æ","value":"150627"}],[{"label":"æµ·æå°åº","value":"150702"},{"label":"æèµè¯ºå°åº","value":"150703"},{"label":"é¿è£æ","value":"150721"},{"label":"è«åè¾¾ç¦è¾¾æ¡å°æèªæ²»æ","value":"150722"},{"label":"é伦æ¥èªæ²»æ","value":"150723"},{"label":"鿏©å
æèªæ²»æ","value":"150724"},{"label":"éå·´å°èæ","value":"150725"},{"label":"æ°å·´å°èå·¦æ","value":"150726"},{"label":"æ°å·´å°è峿","value":"150727"},{"label":"满洲éå¸","value":"150781"},{"label":"çå
ç³å¸","value":"150782"},{"label":"æå
°å±¯å¸","value":"150783"},{"label":"é¢å°å¤çº³å¸","value":"150784"},{"label":"æ ¹æ²³å¸","value":"150785"}],[{"label":"临河åº","value":"150802"},{"label":"äºåå¿","value":"150821"},{"label":"磴å£å¿","value":"150822"},{"label":"乿ç¹åæ","value":"150823"},{"label":"乿ç¹ä¸æ","value":"150824"},{"label":"乿ç¹åæ","value":"150825"},{"label":"æé¦åæ","value":"150826"}],[{"label":"éå®åº","value":"150902"},{"label":"åèµå¿","value":"150921"},{"label":"åå¾·å¿","value":"150922"},{"label":"åé½å¿","value":"150923"},{"label":"å
´åå¿","value":"150924"},{"label":"ååå¿","value":"150925"},{"label":"å¯åå°å³ç¿¼åæ","value":"150926"},{"label":"å¯åå°å³ç¿¼ä¸æ","value":"150927"},{"label":"å¯åå°å³ç¿¼åæ","value":"150928"},{"label":"ååçæ","value":"150929"},{"label":"丰éå¸","value":"150981"}],[{"label":"ä¹å
°æµ©ç¹å¸","value":"152201"},{"label":"é¿å°å±±å¸","value":"152202"},{"label":"ç§å°æ²å³ç¿¼åæ","value":"152221"},{"label":"ç§å°æ²å³ç¿¼ä¸æ","value":"152222"},{"label":"æèµç¹æ","value":"152223"},{"label":"çªæ³å¿","value":"152224"}],[{"label":"äºè¿æµ©ç¹å¸","value":"152501"},{"label":"é¡ææµ©ç¹å¸","value":"152502"},{"label":"é¿å·´åæ","value":"152522"},{"label":"èå°¼ç¹å·¦æ","value":"152523"},{"label":"èå°¼ç¹å³æ","value":"152524"},{"label":"ä¸ä¹ç ç©æ²æ","value":"152525"},{"label":"西ä¹ç ç©æ²æ","value":"152526"},{"label":"太ä»å¯ºæ","value":"152527"},{"label":"é¶é»æ","value":"152528"},{"label":"æ£é¶ç½æ","value":"152529"},{"label":"æ£èæ","value":"152530"},{"label":"å¤ä¼¦å¿","value":"152531"},{"label":"乿ç管å§ä¼","value":"152571"}],[{"label":"é¿æåå·¦æ","value":"152921"},{"label":"é¿æå峿","value":"152922"},{"label":"颿µçº³æ","value":"152923"},{"label":"å
èå¤é¿æåç»æµå¼ååº","value":"152971"}]],[[{"label":"åå¹³åº","value":"210102"},{"label":"æ²æ²³åº","value":"210103"},{"label":"大ä¸åº","value":"210104"},{"label":"çå§åº","value":"210105"},{"label":"é西åº","value":"210106"},{"label":"è家屯åº","value":"210111"},{"label":"æµååº","value":"210112"},{"label":"æ²åæ°åº","value":"210113"},{"label":"äºæ´ªåº","value":"210114"},{"label":"è¾½ä¸åº","value":"210115"},{"label":"康平å¿","value":"210123"},{"label":"æ³åºå¿","value":"210124"},{"label":"æ°æ°å¸","value":"210181"}],[{"label":"ä¸å±±åº","value":"210202"},{"label":"西å²åº","value":"210203"},{"label":"æ²æ²³å£åº","value":"210204"},{"label":"çäºååº","value":"210211"},{"label":"æ
顺å£åº","value":"210212"},{"label":"éå·åº","value":"210213"},{"label":"æ®å
°åºåº","value":"210214"},{"label":"é¿æµ·å¿","value":"210224"},{"label":"ç¦æ¿åºå¸","value":"210281"},{"label":"åºæ²³å¸","value":"210283"}],[{"label":"éä¸åº","value":"210302"},{"label":"é西åº","value":"210303"},{"label":"ç«å±±åº","value":"210304"},{"label":"åå±±åº","value":"210311"},{"label":"å°å®å¿","value":"210321"},{"label":"岫岩满æèªæ²»å¿","value":"210323"},{"label":"æµ·åå¸","value":"210381"}],[{"label":"æ°æåº","value":"210402"},{"label":"䏿´²åº","value":"210403"},{"label":"æè±åº","value":"210404"},{"label":"顺ååº","value":"210411"},{"label":"æé¡ºå¿","value":"210421"},{"label":"æ°å®¾æ»¡æèªæ²»å¿","value":"210422"},{"label":"æ¸
åæ»¡æèªæ²»å¿","value":"210423"}],[{"label":"平山åº","value":"210502"},{"label":"溪æ¹åº","value":"210503"},{"label":"æå±±åº","value":"210504"},{"label":"åè¬åº","value":"210505"},{"label":"æ¬æºªæ»¡æèªæ²»å¿","value":"210521"},{"label":"æ¡ä»æ»¡æèªæ²»å¿","value":"210522"}],[{"label":"å
å®åº","value":"210602"},{"label":"æ¯å
´åº","value":"210603"},{"label":"æ¯å®åº","value":"210604"},{"label":"å®½ç¸æ»¡æèªæ²»å¿","value":"210624"},{"label":"䏿¸¯å¸","value":"210681"},{"label":"å¤åå¸","value":"210682"}],[{"label":"å¤å¡åº","value":"210702"},{"label":"åæ²³åº","value":"210703"},{"label":"太ååº","value":"210711"},{"label":"é»å±±å¿","value":"210726"},{"label":"ä¹å¿","value":"210727"},{"label":"åæµ·å¸","value":"210781"},{"label":"åéå¸","value":"210782"}],[{"label":"ç«ååº","value":"210802"},{"label":"西å¸åº","value":"210803"},{"label":"é²
é±¼ååº","value":"210804"},{"label":"èè¾¹åº","value":"210811"},{"label":"çå·å¸","value":"210881"},{"label":"å¤§ç³æ¡¥å¸","value":"210882"}],[{"label":"æµ·å·åº","value":"210902"},{"label":"æ°é±åº","value":"210903"},{"label":"太平åº","value":"210904"},{"label":"æ¸
æ²³é¨åº","value":"210905"},{"label":"ç»æ²³åº","value":"210911"},{"label":"éæ°èå¤æèªæ²»å¿","value":"210921"},{"label":"å½°æ¦å¿","value":"210922"}],[{"label":"ç½å¡åº","value":"211002"},{"label":"æå£åº","value":"211003"},{"label":"å®ä¼åº","value":"211004"},{"label":"å¼é¿å²åº","value":"211005"},{"label":"å¤ªåæ²³åº","value":"211011"},{"label":"è¾½é³å¿","value":"211021"},{"label":"ç¯å¡å¸","value":"211081"}],[{"label":"åå°ååº","value":"211102"},{"label":"å
´éå°åº","value":"211103"},{"label":"大洼åº","value":"211104"},{"label":"çå±±å¿","value":"211122"}],[{"label":"é¶å·åº","value":"211202"},{"label":"æ¸
æ²³åº","value":"211204"},{"label":"éå²å¿","value":"211221"},{"label":"西丰å¿","value":"211223"},{"label":"æå¾å¿","value":"211224"},{"label":"è°å
µå±±å¸","value":"211281"},{"label":"å¼åå¸","value":"211282"}],[{"label":"åå¡åº","value":"211302"},{"label":"é¾ååº","value":"211303"},{"label":"æé³å¿","value":"211321"},{"label":"建平å¿","value":"211322"},{"label":"ååæ²å·¦ç¿¼èå¤æèªæ²»å¿","value":"211324"},{"label":"å票å¸","value":"211381"},{"label":"åæºå¸","value":"211382"}],[{"label":"è¿å±±åº","value":"211402"},{"label":"龿¸¯åº","value":"211403"},{"label":"å票åº","value":"211404"},{"label":"绥ä¸å¿","value":"211421"},{"label":"建æå¿","value":"211422"},{"label":"å
´åå¸","value":"211481"}]],[[{"label":"åå
³åº","value":"220102"},{"label":"宽ååº","value":"220103"},{"label":"æé³åº","value":"220104"},{"label":"äºéåº","value":"220105"},{"label":"绿ååº","value":"220106"},{"label":"åé³åº","value":"220112"},{"label":"ä¹å°åº","value":"220113"},{"label":"åå®å¿","value":"220122"},{"label":"é¿æ¥ç»æµææ¯å¼ååº","value":"220171"},{"label":"é¿æ¥åæé«æ°ææ¯äº§ä¸å¼ååº","value":"220172"},{"label":"é¿æ¥é«æ°ææ¯äº§ä¸å¼ååº","value":"220173"},{"label":"é¿æ¥æ±½è½¦ç»æµææ¯å¼ååº","value":"220174"},{"label":"æ¦æ å¸","value":"220182"},{"label":"å¾·æ å¸","value":"220183"}],[{"label":"æéåº","value":"220202"},{"label":"龿½åº","value":"220203"},{"label":"è¹è¥åº","value":"220204"},{"label":"丰满åº","value":"220211"},{"label":"æ°¸åå¿","value":"220221"},{"label":"åæç»æµå¼ååº","value":"220271"},{"label":"åæé«æ°ææ¯äº§ä¸å¼ååº","value":"220272"},{"label":"åæä¸å½æ°å å¡é£ååº","value":"220273"},{"label":"èæ²³å¸","value":"220281"},{"label":"桦ç¸å¸","value":"220282"},{"label":"èå
°å¸","value":"220283"},{"label":"ç£ç³å¸","value":"220284"}],[{"label":"é西åº","value":"220302"},{"label":"éä¸åº","value":"220303"},{"label":"梨æ å¿","value":"220322"},{"label":"ä¼é满æèªæ²»å¿","value":"220323"},{"label":"å
¬ä¸»å²å¸","value":"220381"},{"label":"åè¾½å¸","value":"220382"}],[{"label":"é¾å±±åº","value":"220402"},{"label":"西å®åº","value":"220403"},{"label":"ä¸ä¸°å¿","value":"220421"},{"label":"ä¸è¾½å¿","value":"220422"}],[{"label":"䏿åº","value":"220502"},{"label":"äºéæ±åº","value":"220503"},{"label":"éåå¿","value":"220521"},{"label":"è¾åå¿","value":"220523"},{"label":"æ³æ²³å¿","value":"220524"},{"label":"æ¢
æ²³å£å¸","value":"220581"},{"label":"éå®å¸","value":"220582"}],[{"label":"æµæ±åº","value":"220602"},{"label":"æ±æºåº","value":"220605"},{"label":"ææ¾å¿","value":"220621"},{"label":"éå®å¿","value":"220622"},{"label":"é¿ç½æé²æèªæ²»å¿","value":"220623"},{"label":"临æ±å¸","value":"220681"}],[{"label":"宿±åº","value":"220702"},{"label":"åéå°ç½æ¯èå¤æèªæ²»å¿","value":"220721"},{"label":"é¿å²å¿","value":"220722"},{"label":"ä¹¾å®å¿","value":"220723"},{"label":"åææ¾åç»æµå¼ååº","value":"220771"},{"label":"æ¶ä½å¸","value":"220781"}],[{"label":"æ´®ååº","value":"220802"},{"label":"éèµå¿","value":"220821"},{"label":"鿦å¿","value":"220822"},{"label":"åæç½åç»æµå¼ååº","value":"220871"},{"label":"æ´®åå¸","value":"220881"},{"label":"大å®å¸","value":"220882"}],[{"label":"å»¶åå¸","value":"222401"},{"label":"å¾ä»¬å¸","value":"222402"},{"label":"æ¦åå¸","value":"222403"},{"label":"ç²æ¥å¸","value":"222404"},{"label":"é¾äºå¸","value":"222405"},{"label":"åé¾å¸","value":"222406"},{"label":"汪æ¸
å¿","value":"222424"},{"label":"å®å¾å¿","value":"222426"}]],[[{"label":"ééåº","value":"230102"},{"label":"åå²åº","value":"230103"},{"label":"éå¤åº","value":"230104"},{"label":"å¹³æ¿åº","value":"230108"},{"label":"æ¾ååº","value":"230109"},{"label":"é¦ååº","value":"230110"},{"label":"å¼å
°åº","value":"230111"},{"label":"é¿ååº","value":"230112"},{"label":"åååº","value":"230113"},{"label":"ä¾å
°å¿","value":"230123"},{"label":"æ¹æ£å¿","value":"230124"},{"label":"宾å¿","value":"230125"},{"label":"巴彦å¿","value":"230126"},{"label":"æ¨å
°å¿","value":"230127"},{"label":"éæ²³å¿","value":"230128"},{"label":"延寿å¿","value":"230129"},{"label":"å°å¿å¸","value":"230183"},{"label":"äºå¸¸å¸","value":"230184"}],[{"label":"龿²åº","value":"230202"},{"label":"建ååº","value":"230203"},{"label":"ééåº","value":"230204"},{"label":"æææºªåº","value":"230205"},{"label":"坿å°åºåº","value":"230206"},{"label":"碾åå±±åº","value":"230207"},{"label":"æ¢
éæ¯è¾¾æ¡å°æåº","value":"230208"},{"label":"龿±å¿","value":"230221"},{"label":"ä¾å®å¿","value":"230223"},{"label":"æ³°æ¥å¿","value":"230224"},{"label":"çåå¿","value":"230225"},{"label":"å¯è£å¿","value":"230227"},{"label":"å
å±±å¿","value":"230229"},{"label":"å
ä¸å¿","value":"230230"},{"label":"ææ³å¿","value":"230231"},{"label":"è®·æ²³å¸","value":"230281"}],[{"label":"鸡å åº","value":"230302"},{"label":"æå±±åº","value":"230303"},{"label":"æ»´éåº","value":"230304"},{"label":"梨æ åº","value":"230305"},{"label":"ååæ²³åº","value":"230306"},{"label":"麻山åº","value":"230307"},{"label":"鸡ä¸å¿","value":"230321"},{"label":"èæå¸","value":"230381"},{"label":"å¯å±±å¸","value":"230382"}],[{"label":"åé³åº","value":"230402"},{"label":"å·¥ååº","value":"230403"},{"label":"åå±±åº","value":"230404"},{"label":"å
´å®åº","value":"230405"},{"label":"ä¸å±±åº","value":"230406"},{"label":"å
´å±±åº","value":"230407"},{"label":"èåå¿","value":"230421"},{"label":"绥滨å¿","value":"230422"}],[{"label":"å°å±±åº","value":"230502"},{"label":"å²ä¸åº","value":"230503"},{"label":"åæ¹å°åº","value":"230505"},{"label":"å®å±±åº","value":"230506"},{"label":"éè´¤å¿","value":"230521"},{"label":"åè°å¿","value":"230522"},{"label":"宿¸
å¿","value":"230523"},{"label":"饶河å¿","value":"230524"}],[{"label":"è¨å°å¾åº","value":"230602"},{"label":"é¾å¤åº","value":"230603"},{"label":"让è¡è·¯åº","value":"230604"},{"label":"红å²åº","value":"230605"},{"label":"大ååº","value":"230606"},{"label":"èå·å¿","value":"230621"},{"label":"èæºå¿","value":"230622"},{"label":"æç¸å¿","value":"230623"},{"label":"æå°ä¼¯ç¹èå¤æèªæ²»å¿","value":"230624"},{"label":"大åºé«æ°ææ¯äº§ä¸å¼ååº","value":"230671"}],[{"label":"伿¥åº","value":"230702"},{"label":"åå²åº","value":"230703"},{"label":"å好åº","value":"230704"},{"label":"西æåº","value":"230705"},{"label":"ç¿ å³¦åº","value":"230706"},{"label":"æ°éåº","value":"230707"},{"label":"ç¾æºªåº","value":"230708"},{"label":"é山屯åº","value":"230709"},{"label":"äºè¥åº","value":"230710"},{"label":"ä¹é©¬æ²³åº","value":"230711"},{"label":"æ±¤æºæ²³åº","value":"230712"},{"label":"带å²åº","value":"230713"},{"label":"ä¹ä¼å²åº","value":"230714"},{"label":"红æåº","value":"230715"},{"label":"ä¸çå²åº","value":"230716"},{"label":"åè«å¿","value":"230722"},{"label":"éåå¸","value":"230781"}],[{"label":"åé³åº","value":"230803"},{"label":"åè¿åº","value":"230804"},{"label":"ä¸é£åº","value":"230805"},{"label":"éåº","value":"230811"},{"label":"桦åå¿","value":"230822"},{"label":"桦å·å¿","value":"230826"},{"label":"汤åå¿","value":"230828"},{"label":"åæ±å¸","value":"230881"},{"label":"å¯é¦å¸","value":"230882"},{"label":"æè¿å¸","value":"230883"}],[{"label":"æ°å
´åº","value":"230902"},{"label":"æ¡å±±åº","value":"230903"},{"label":"èåæ²³åº","value":"230904"},{"label":"åå©å¿","value":"230921"}],[{"label":"ä¸å®åº","value":"231002"},{"label":"鳿åº","value":"231003"},{"label":"ç±æ°åº","value":"231004"},{"label":"西å®åº","value":"231005"},{"label":"æå£å¿","value":"231025"},{"label":"ç¡ä¸¹æ±ç»æµææ¯å¼ååº","value":"231071"},{"label":"ç»¥è¬æ²³å¸","value":"231081"},{"label":"æµ·æå¸","value":"231083"},{"label":"å®å®å¸","value":"231084"},{"label":"ç©æ£±å¸","value":"231085"},{"label":"ä¸å®å¸","value":"231086"}],[{"label":"ç±è¾åº","value":"231102"},{"label":"å«©æ±å¿","value":"231121"},{"label":"éå
å¿","value":"231123"},{"label":"åå´å¿","value":"231124"},{"label":"åå®å¸","value":"231181"},{"label":"äºå¤§è¿æ± å¸","value":"231182"}],[{"label":"åæåº","value":"231202"},{"label":"æå¥å¿","value":"231221"},{"label":"å
°è¥¿å¿","value":"231222"},{"label":"éåå¿","value":"231223"},{"label":"åºå®å¿","value":"231224"},{"label":"ææ°´å¿","value":"231225"},{"label":"绥棱å¿","value":"231226"},{"label":"å®è¾¾å¸","value":"231281"},{"label":"èä¸å¸","value":"231282"},{"label":"海伦å¸","value":"231283"}],[{"label":"å æ ¼è¾¾å¥åº","value":"232701"},{"label":"æ¾å²åº","value":"232702"},{"label":"æ°æåº","value":"232703"},{"label":"å¼ä¸åº","value":"232704"},{"label":"å¼çå¿","value":"232721"},{"label":"塿²³å¿","value":"232722"},{"label":"æ¼ æ²³å¿","value":"232723"}]],[[{"label":"黿µ¦åº","value":"310101"},{"label":"徿±åº","value":"310104"},{"label":"é¿å®åº","value":"310105"},{"label":"éå®åº","value":"310106"},{"label":"æ®éåº","value":"310107"},{"label":"è¹å£åº","value":"310109"},{"label":"æ¨æµ¦åº","value":"310110"},{"label":"éµè¡åº","value":"310112"},{"label":"å®å±±åº","value":"310113"},{"label":"åå®åº","value":"310114"},{"label":"æµ¦ä¸æ°åº","value":"310115"},{"label":"éå±±åº","value":"310116"},{"label":"æ¾æ±åº","value":"310117"},{"label":"éæµ¦åº","value":"310118"},{"label":"å¥è´¤åº","value":"310120"},{"label":"å´æåº","value":"310151"}]],[[{"label":"çæ¦åº","value":"320102"},{"label":"秦淮åº","value":"320104"},{"label":"建éºåº","value":"320105"},{"label":"鼿¥¼åº","value":"320106"},{"label":"浦å£åº","value":"320111"},{"label":"æ éåº","value":"320113"},{"label":"é¨è±å°åº","value":"320114"},{"label":"æ±å®åº","value":"320115"},{"label":"å
ååº","value":"320116"},{"label":"溧水åº","value":"320117"},{"label":"髿·³åº","value":"320118"}],[{"label":"é¡å±±åº","value":"320205"},{"label":"æ å±±åº","value":"320206"},{"label":"滨æ¹åº","value":"320211"},{"label":"æ¢æºªåº","value":"320213"},{"label":"æ°å´åº","value":"320214"},{"label":"æ±é´å¸","value":"320281"},{"label":"å®å
´å¸","value":"320282"}],[{"label":"鼿¥¼åº","value":"320302"},{"label":"äºé¾åº","value":"320303"},{"label":"贾汪åº","value":"320305"},{"label":"æ³å±±åº","value":"320311"},{"label":"éå±±åº","value":"320312"},{"label":"丰å¿","value":"320321"},{"label":"æ²å¿","value":"320322"},{"label":"ç¢å®å¿","value":"320324"},{"label":"å¾å·ç»æµææ¯å¼ååº","value":"320371"},{"label":"æ°æ²å¸","value":"320381"},{"label":"é³å·å¸","value":"320382"}],[{"label":"天å®åº","value":"320402"},{"label":"鿥¼åº","value":"320404"},{"label":"æ°ååº","value":"320411"},{"label":"æ¦è¿åº","value":"320412"},{"label":"éååº","value":"320413"},{"label":"溧é³å¸","value":"320481"}],[{"label":"èä¸åº","value":"320505"},{"label":"å´ä¸åº","value":"320506"},{"label":"ç¸ååº","value":"320507"},{"label":"å§èåº","value":"320508"},{"label":"å´æ±åº","value":"320509"},{"label":"èå·å·¥ä¸ååº","value":"320571"},{"label":"常çå¸","value":"320581"},{"label":"å¼ å®¶æ¸¯å¸","value":"320582"},{"label":"æå±±å¸","value":"320583"},{"label":"太ä»å¸","value":"320585"}],[{"label":"å´å·åº","value":"320602"},{"label":"港é¸åº","value":"320611"},{"label":"éå·åº","value":"320612"},{"label":"æµ·å®å¿","value":"320621"},{"label":"å¦ä¸å¿","value":"320623"},{"label":"åéç»æµææ¯å¼ååº","value":"320671"},{"label":"å¯ä¸å¸","value":"320681"},{"label":"å¦çå¸","value":"320682"},{"label":"æµ·é¨å¸","value":"320684"}],[{"label":"è¿äºåº","value":"320703"},{"label":"æµ·å·åº","value":"320706"},{"label":"èµ£æ¦åº","value":"320707"},{"label":"䏿µ·å¿","value":"320722"},{"label":"çäºå¿","value":"320723"},{"label":"çåå¿","value":"320724"},{"label":"è¿äºæ¸¯ç»æµææ¯å¼ååº","value":"320771"},{"label":"è¿äºæ¸¯é«æ°ææ¯äº§ä¸å¼ååº","value":"320772"}],[{"label":"æ·®å®åº","value":"320803"},{"label":"æ·®é´åº","value":"320804"},{"label":"æ¸
æ±æµ¦åº","value":"320812"},{"label":"洪泽åº","value":"320813"},{"label":"æ¶æ°´å¿","value":"320826"},{"label":"ç±çå¿","value":"320830"},{"label":"éæ¹å¿","value":"320831"},{"label":"æ·®å®ç»æµææ¯å¼ååº","value":"320871"}],[{"label":"äºæ¹åº","value":"320902"},{"label":"çé½åº","value":"320903"},{"label":"大丰åº","value":"320904"},{"label":"åæ°´å¿","value":"320921"},{"label":"滨海å¿","value":"320922"},{"label":"éå®å¿","value":"320923"},{"label":"å°é³å¿","value":"320924"},{"label":"建æ¹å¿","value":"320925"},{"label":"çåç»æµææ¯å¼ååº","value":"320971"},{"label":"ä¸å°å¸","value":"320981"}],[{"label":"广éµåº","value":"321002"},{"label":"éæ±åº","value":"321003"},{"label":"æ±é½åº","value":"321012"},{"label":"å®åºå¿","value":"321023"},{"label":"æ¬å·ç»æµææ¯å¼ååº","value":"321071"},{"label":"仪å¾å¸","value":"321081"},{"label":"é«é®å¸","value":"321084"}],[{"label":"京å£åº","value":"321102"},{"label":"润å·åº","value":"321111"},{"label":"丹å¾åº","value":"321112"},{"label":"éæ±æ°åº","value":"321171"},{"label":"丹é³å¸","value":"321181"},{"label":"æ¬ä¸å¸","value":"321182"},{"label":"å¥å®¹å¸","value":"321183"}],[{"label":"æµ·éµåº","value":"321202"},{"label":"髿¸¯åº","value":"321203"},{"label":"å§å °åº","value":"321204"},{"label":"æ³°å·å»è¯é«æ°ææ¯äº§ä¸å¼ååº","value":"321271"},{"label":"å
´åå¸","value":"321281"},{"label":"éæ±å¸","value":"321282"},{"label":"æ³°å
´å¸","value":"321283"}],[{"label":"宿ååº","value":"321302"},{"label":"宿豫åº","value":"321311"},{"label":"æ²é³å¿","value":"321322"},{"label":"æ³é³å¿","value":"321323"},{"label":"æ³æ´ªå¿","value":"321324"},{"label":"宿è¿ç»æµææ¯å¼ååº","value":"321371"}]],[[{"label":"ä¸ååº","value":"330102"},{"label":"ä¸ååº","value":"330103"},{"label":"æ±å¹²åº","value":"330104"},{"label":"æ±å¢
åº","value":"330105"},{"label":"西æ¹åº","value":"330106"},{"label":"滨æ±åº","value":"330108"},{"label":"è§å±±åº","value":"330109"},{"label":"使åº","value":"330110"},{"label":"å¯é³åº","value":"330111"},{"label":"临å®åº","value":"330112"},{"label":"æ¡åºå¿","value":"330122"},{"label":"æ·³å®å¿","value":"330127"},{"label":"建德å¸","value":"330182"}],[{"label":"æµ·æåº","value":"330203"},{"label":"æ±ååº","value":"330205"},{"label":"åä»åº","value":"330206"},{"label":"éæµ·åº","value":"330211"},{"label":"éå·åº","value":"330212"},{"label":"å¥ååº","value":"330213"},{"label":"象山å¿","value":"330225"},{"label":"宿µ·å¿","value":"330226"},{"label":"ä½å§å¸","value":"330281"},{"label":"æ
溪å¸","value":"330282"}],[{"label":"鹿ååº","value":"330302"},{"label":"龿¹¾åº","value":"330303"},{"label":"ç¯æµ·åº","value":"330304"},{"label":"æ´å¤´åº","value":"330305"},{"label":"æ°¸åå¿","value":"330324"},{"label":"å¹³é³å¿","value":"330326"},{"label":"èåå¿","value":"330327"},{"label":"ææå¿","value":"330328"},{"label":"泰顺å¿","value":"330329"},{"label":"温å·ç»æµææ¯å¼ååº","value":"330371"},{"label":"çå®å¸","value":"330381"},{"label":"乿¸
å¸","value":"330382"}],[{"label":"åæ¹åº","value":"330402"},{"label":"ç§æ´²åº","value":"330411"},{"label":"ååå¿","value":"330421"},{"label":"æµ·çå¿","value":"330424"},{"label":"æµ·å®å¸","value":"330481"},{"label":"å¹³æ¹å¸","value":"330482"},{"label":"æ¡ä¹¡å¸","value":"330483"}],[{"label":"å´å
´åº","value":"330502"},{"label":"åæµåº","value":"330503"},{"label":"å¾·æ¸
å¿","value":"330521"},{"label":"é¿å
´å¿","value":"330522"},{"label":"å®åå¿","value":"330523"}],[{"label":"è¶ååº","value":"330602"},{"label":"æ¯æ¡¥åº","value":"330603"},{"label":"ä¸èåº","value":"330604"},{"label":"æ°æå¿","value":"330624"},{"label":"诸æ¨å¸","value":"330681"},{"label":"åµå·å¸","value":"330683"}],[{"label":"婺ååº","value":"330702"},{"label":"éä¸åº","value":"330703"},{"label":"æ¦ä¹å¿","value":"330723"},{"label":"浦æ±å¿","value":"330726"},{"label":"ç£å®å¿","value":"330727"},{"label":"å
°æºªå¸","value":"330781"},{"label":"ä¹ä¹å¸","value":"330782"},{"label":"ä¸é³å¸","value":"330783"},{"label":"永康å¸","value":"330784"}],[{"label":"æ¯ååº","value":"330802"},{"label":"è¡¢æ±åº","value":"330803"},{"label":"常山å¿","value":"330822"},{"label":"å¼åå¿","value":"330824"},{"label":"龿¸¸å¿","value":"330825"},{"label":"æ±å±±å¸","value":"330881"}],[{"label":"宿µ·åº","value":"330902"},{"label":"æ®éåº","value":"330903"},{"label":"岱山å¿","value":"330921"},{"label":"嵿³å¿","value":"330922"}],[{"label":"æ¤æ±åº","value":"331002"},{"label":"é»å²©åº","value":"331003"},{"label":"路桥åº","value":"331004"},{"label":"ä¸é¨å¿","value":"331022"},{"label":"天å°å¿","value":"331023"},{"label":"ä»å±
å¿","value":"331024"},{"label":"温å²å¸","value":"331081"},{"label":"临海å¸","value":"331082"},{"label":"çç¯å¸","value":"331083"}],[{"label":"è²é½åº","value":"331102"},{"label":"éç°å¿","value":"331121"},{"label":"ç¼äºå¿","value":"331122"},{"label":"éæå¿","value":"331123"},{"label":"æ¾é³å¿","value":"331124"},{"label":"äºåå¿","value":"331125"},{"label":"åºå
å¿","value":"331126"},{"label":"æ¯å®ç²æèªæ²»å¿","value":"331127"},{"label":"龿³å¸","value":"331181"}]],[[{"label":"ç¶æµ·åº","value":"340102"},{"label":"åºé³åº","value":"340103"},{"label":"èå±±åº","value":"340104"},{"label":"å
æ²³åº","value":"340111"},{"label":"é¿ä¸°å¿","value":"340121"},{"label":"è¥ä¸å¿","value":"340122"},{"label":"è¥è¥¿å¿","value":"340123"},{"label":"åºæ±å¿","value":"340124"},{"label":"åè¥é«æ°ææ¯äº§ä¸å¼ååº","value":"340171"},{"label":"åè¥ç»æµææ¯å¼ååº","value":"340172"},{"label":"åè¥æ°ç«é«æ°ææ¯äº§ä¸å¼ååº","value":"340173"},{"label":"å·¢æ¹å¸","value":"340181"}],[{"label":"éæ¹åº","value":"340202"},{"label":"弿±åº","value":"340203"},{"label":"é¸ æ±åº","value":"340207"},{"label":"ä¸å±±åº","value":"340208"},{"label":"èæ¹å¿","value":"340221"},{"label":"ç¹æå¿","value":"340222"},{"label":"åéµå¿","value":"340223"},{"label":"æ 为å¿","value":"340225"},{"label":"èæ¹ç»æµææ¯å¼ååº","value":"340271"},{"label":"å®å¾½èæ¹é¿æ±å¤§æ¡¥ç»æµå¼ååº","value":"340272"}],[{"label":"é¾åæ¹åº","value":"340302"},{"label":"èå±±åº","value":"340303"},{"label":"禹ä¼åº","value":"340304"},{"label":"æ·®ä¸åº","value":"340311"},{"label":"æè¿å¿","value":"340321"},{"label":"äºæ²³å¿","value":"340322"},{"label":"åºéå¿","value":"340323"},{"label":"èå å¸é«æ°ææ¯å¼ååº","value":"340371"},{"label":"èå å¸ç»æµå¼ååº","value":"340372"}],[{"label":"大éåº","value":"340402"},{"label":"ç°å®¶åºµåº","value":"340403"},{"label":"谢家éåº","value":"340404"},{"label":"å
«å
¬å±±åº","value":"340405"},{"label":"æ½éåº","value":"340406"},{"label":"å¤å°å¿","value":"340421"},{"label":"寿å¿","value":"340422"}],[{"label":"è±å±±åº","value":"340503"},{"label":"é¨å±±åº","value":"340504"},{"label":"åæåº","value":"340506"},{"label":"彿¶å¿","value":"340521"},{"label":"å«å±±å¿","value":"340522"},{"label":"åå¿","value":"340523"}],[{"label":"æéåº","value":"340602"},{"label":"ç¸å±±åº","value":"340603"},{"label":"çå±±åº","value":"340604"},{"label":"æ¿æºªå¿","value":"340621"}],[{"label":"éå®åº","value":"340705"},{"label":"ä¹å®åº","value":"340706"},{"label":"éåº","value":"340711"},{"label":"æé³å¿","value":"340722"}],[{"label":"è¿æ±åº","value":"340802"},{"label":"大è§åº","value":"340803"},{"label":"å®ç§åº","value":"340811"},{"label":"æå®å¿","value":"340822"},{"label":"æ½å±±å¿","value":"340824"},{"label":"太æ¹å¿","value":"340825"},{"label":"宿æ¾å¿","value":"340826"},{"label":"ææ±å¿","value":"340827"},{"label":"岳西å¿","value":"340828"},{"label":"å®å¾½å®åºç»æµå¼ååº","value":"340871"},{"label":"æ¡åå¸","value":"340881"}],[{"label":"屯溪åº","value":"341002"},{"label":"é»å±±åº","value":"341003"},{"label":"å¾½å·åº","value":"341004"},{"label":"æå¿","value":"341021"},{"label":"ä¼å®å¿","value":"341022"},{"label":"é»å¿","value":"341023"},{"label":"ç¥é¨å¿","value":"341024"}],[{"label":"ç
çåº","value":"341102"},{"label":"åè°¯åº","value":"341103"},{"label":"æ¥å®å¿","value":"341122"},{"label":"å
¨æ¤å¿","value":"341124"},{"label":"å®è¿å¿","value":"341125"},{"label":"å¤é³å¿","value":"341126"},{"label":"èæ»ç°ä»£äº§ä¸å","value":"341171"},{"label":"æ»å·ç»æµææ¯å¼ååº","value":"341172"},{"label":"天é¿å¸","value":"341181"},{"label":"æå
å¸","value":"341182"}],[{"label":"é¢å·åº","value":"341202"},{"label":"é¢ä¸åº","value":"341203"},{"label":"颿³åº","value":"341204"},{"label":"临æ³å¿","value":"341221"},{"label":"太åå¿","value":"341222"},{"label":"éåå¿","value":"341225"},{"label":"é¢ä¸å¿","value":"341226"},{"label":"éé³åè¥ç°ä»£äº§ä¸ååº","value":"341271"},{"label":"éé³ç»æµææ¯å¼ååº","value":"341272"},{"label":"çé¦å¸","value":"341282"}],[{"label":"åæ¡¥åº","value":"341302"},{"label":"ç å±±å¿","value":"341321"},{"label":"è§å¿","value":"341322"},{"label":"çµç§å¿","value":"341323"},{"label":"æ³å¿","value":"341324"},{"label":"宿å·é©¬éå±±ç°ä»£äº§ä¸ååº","value":"341371"},{"label":"宿å·ç»æµææ¯å¼ååº","value":"341372"}],[{"label":"éå®åº","value":"341502"},{"label":"è£å®åº","value":"341503"},{"label":"å¶éåº","value":"341504"},{"label":"éé±å¿","value":"341522"},{"label":"èåå¿","value":"341523"},{"label":"é寨å¿","value":"341524"},{"label":"éå±±å¿","value":"341525"}],[{"label":"è°¯ååº","value":"341602"},{"label":"æ¶¡é³å¿","value":"341621"},{"label":"èåå¿","value":"341622"},{"label":"å©è¾å¿","value":"341623"}],[{"label":"è´µæ± åº","value":"341702"},{"label":"ä¸è³å¿","value":"341721"},{"label":"ç³å°å¿","value":"341722"},{"label":"éé³å¿","value":"341723"}],[{"label":"宣å·åº","value":"341802"},{"label":"éæºªå¿","value":"341821"},{"label":"广德å¿","value":"341822"},{"label":"æ³¾å¿","value":"341823"},{"label":"绩溪å¿","value":"341824"},{"label":"æå¾·å¿","value":"341825"},{"label":"宣åå¸ç»æµå¼ååº","value":"341871"},{"label":"å®å½å¸","value":"341881"}]],[[{"label":"鼿¥¼åº","value":"350102"},{"label":"å°æ±åº","value":"350103"},{"label":"ä»å±±åº","value":"350104"},{"label":"马尾åº","value":"350105"},{"label":"æå®åº","value":"350111"},{"label":"é½ä¾¯å¿","value":"350121"},{"label":"è¿æ±å¿","value":"350122"},{"label":"ç½æºå¿","value":"350123"},{"label":"齿¸
å¿","value":"350124"},{"label":"永泰å¿","value":"350125"},{"label":"å¹³æ½å¿","value":"350128"},{"label":"ç¦æ¸
å¸","value":"350181"},{"label":"é¿ä¹å¸","value":"350182"}],[{"label":"ææåº","value":"350203"},{"label":"æµ·æ²§åº","value":"350205"},{"label":"æ¹éåº","value":"350206"},{"label":"éç¾åº","value":"350211"},{"label":"åå®åº","value":"350212"},{"label":"ç¿å®åº","value":"350213"}],[{"label":"åå¢åº","value":"350302"},{"label":"æ¶µæ±åº","value":"350303"},{"label":"èååº","value":"350304"},{"label":"ç§å±¿åº","value":"350305"},{"label":"仿¸¸å¿","value":"350322"}],[{"label":"æ¢
ååº","value":"350402"},{"label":"ä¸å
åº","value":"350403"},{"label":"ææºªå¿","value":"350421"},{"label":"æ¸
æµå¿","value":"350423"},{"label":"å®åå¿","value":"350424"},{"label":"大ç°å¿","value":"350425"},{"label":"尤溪å¿","value":"350426"},{"label":"æ²å¿","value":"350427"},{"label":"å°ä¹å¿","value":"350428"},{"label":"æ³°å®å¿","value":"350429"},{"label":"建å®å¿","value":"350430"},{"label":"æ°¸å®å¸","value":"350481"}],[{"label":"鲤ååº","value":"350502"},{"label":"丰泽åº","value":"350503"},{"label":"æ´æ±åº","value":"350504"},{"label":"æ³æ¸¯åº","value":"350505"},{"label":"æ å®å¿","value":"350521"},{"label":"宿ºªå¿","value":"350524"},{"label":"æ°¸æ¥å¿","value":"350525"},{"label":"å¾·åå¿","value":"350526"},{"label":"éé¨å¿","value":"350527"},{"label":"ç³ç®å¸","value":"350581"},{"label":"ææ±å¸","value":"350582"},{"label":"åå®å¸","value":"350583"}],[{"label":"èååº","value":"350602"},{"label":"龿åº","value":"350603"},{"label":"äºéå¿","value":"350622"},{"label":"漳浦å¿","value":"350623"},{"label":"è¯å®å¿","value":"350624"},{"label":"é¿æ³°å¿","value":"350625"},{"label":"ä¸å±±å¿","value":"350626"},{"label":"åéå¿","value":"350627"},{"label":"å¹³åå¿","value":"350628"},{"label":"åå®å¿","value":"350629"},{"label":"龿µ·å¸","value":"350681"}],[{"label":"å»¶å¹³åº","value":"350702"},{"label":"建é³åº","value":"350703"},{"label":"顺æå¿","value":"350721"},{"label":"浦åå¿","value":"350722"},{"label":"å
æ³½å¿","value":"350723"},{"label":"æ¾æºªå¿","value":"350724"},{"label":"æ¿åå¿","value":"350725"},{"label":"鵿¦å¸","value":"350781"},{"label":"æ¦å¤·å±±å¸","value":"350782"},{"label":"建ç¯å¸","value":"350783"}],[{"label":"æ°ç½åº","value":"350802"},{"label":"æ°¸å®åº","value":"350803"},{"label":"é¿æ±å¿","value":"350821"},{"label":"䏿å¿","value":"350823"},{"label":"æ¦å¹³å¿","value":"350824"},{"label":"è¿åå¿","value":"350825"},{"label":"漳平å¸","value":"350881"}],[{"label":"èååº","value":"350902"},{"label":"éæµ¦å¿","value":"350921"},{"label":"å¤ç°å¿","value":"350922"},{"label":"å±åå¿","value":"350923"},{"label":"寿å®å¿","value":"350924"},{"label":"å¨å®å¿","value":"350925"},{"label":"æè£å¿","value":"350926"},{"label":"ç¦å®å¸","value":"350981"},{"label":"ç¦é¼å¸","value":"350982"}]],[[{"label":"䏿¹åº","value":"360102"},{"label":"西æ¹åº","value":"360103"},{"label":"éäºè°±åº","value":"360104"},{"label":"æ¹¾éåº","value":"360105"},{"label":"éå±±æ¹åº","value":"360111"},{"label":"æ°å»ºåº","value":"360112"},{"label":"åæå¿","value":"360121"},{"label":"å®ä¹å¿","value":"360123"},{"label":"è¿è´¤å¿","value":"360124"}],[{"label":"ææ±åº","value":"360202"},{"label":"ç å±±åº","value":"360203"},{"label":"æµ®æ¢å¿","value":"360222"},{"label":"ä¹å¹³å¸","value":"360281"}],[{"label":"宿ºåº","value":"360302"},{"label":"æ¹ä¸åº","value":"360313"},{"label":"è²è±å¿","value":"360321"},{"label":"䏿 å¿","value":"360322"},{"label":"è¦æºªå¿","value":"360323"}],[{"label":"æ¿æºªåº","value":"360402"},{"label":"æµé³åº","value":"360403"},{"label":"æ´æ¡åº","value":"360404"},{"label":"æ¦å®å¿","value":"360423"},{"label":"修水å¿","value":"360424"},{"label":"永修å¿","value":"360425"},{"label":"å¾·å®å¿","value":"360426"},{"label":"齿å¿","value":"360428"},{"label":"æ¹å£å¿","value":"360429"},{"label":"彿³½å¿","value":"360430"},{"label":"çæå¸","value":"360481"},{"label":"å
±éåå¸","value":"360482"},{"label":"åºå±±å¸","value":"360483"}],[{"label":"æ¸æ°´åº","value":"360502"},{"label":"åå®å¿","value":"360521"}],[{"label":"ææ¹åº","value":"360602"},{"label":"使±å¿","value":"360622"},{"label":"贵溪å¸","value":"360681"}],[{"label":"ç« è´¡åº","value":"360702"},{"label":"å康åº","value":"360703"},{"label":"èµ£å¿åº","value":"360704"},{"label":"信丰å¿","value":"360722"},{"label":"大ä½å¿","value":"360723"},{"label":"ä¸ç¹å¿","value":"360724"},{"label":"å´ä¹å¿","value":"360725"},{"label":"å®è¿å¿","value":"360726"},{"label":"é¾åå¿","value":"360727"},{"label":"å®åå¿","value":"360728"},{"label":"å
¨åå¿","value":"360729"},{"label":"å®é½å¿","value":"360730"},{"label":"äºé½å¿","value":"360731"},{"label":"å
´å½å¿","value":"360732"},{"label":"伿å¿","value":"360733"},{"label":"寻ä¹å¿","value":"360734"},{"label":"ç³åå¿","value":"360735"},{"label":"çéå¸","value":"360781"}],[{"label":"åå·åº","value":"360802"},{"label":"éååº","value":"360803"},{"label":"åå®å¿","value":"360821"},{"label":"åæ°´å¿","value":"360822"},{"label":"峡æ±å¿","value":"360823"},{"label":"æ°å¹²å¿","value":"360824"},{"label":"永丰å¿","value":"360825"},{"label":"æ³°åå¿","value":"360826"},{"label":"éå·å¿","value":"360827"},{"label":"ä¸å®å¿","value":"360828"},{"label":"å®ç¦å¿","value":"360829"},{"label":"æ°¸æ°å¿","value":"360830"},{"label":"äºåå±±å¸","value":"360881"}],[{"label":"è¢å·åº","value":"360902"},{"label":"奿°å¿","value":"360921"},{"label":"ä¸è½½å¿","value":"360922"},{"label":"ä¸é«å¿","value":"360923"},{"label":"å®ä¸°å¿","value":"360924"},{"label":"éå®å¿","value":"360925"},{"label":"éé¼å¿","value":"360926"},{"label":"丰åå¸","value":"360981"},{"label":"æ¨æ å¸","value":"360982"},{"label":"é«å®å¸","value":"360983"}],[{"label":"临å·åº","value":"361002"},{"label":"ä¸ä¹¡åº","value":"361003"},{"label":"ååå¿","value":"361021"},{"label":"é»å·å¿","value":"361022"},{"label":"å丰å¿","value":"361023"},{"label":"å´ä»å¿","value":"361024"},{"label":"ä¹å®å¿","value":"361025"},{"label":"å®é»å¿","value":"361026"},{"label":"éæºªå¿","value":"361027"},{"label":"èµæºªå¿","value":"361028"},{"label":"广æå¿","value":"361030"}],[{"label":"ä¿¡å·åº","value":"361102"},{"label":"广丰åº","value":"361103"},{"label":"ä¸é¥¶å¿","value":"361121"},{"label":"çå±±å¿","value":"361123"},{"label":"é
å±±å¿","value":"361124"},{"label":"横峰å¿","value":"361125"},{"label":"å¼é³å¿","value":"361126"},{"label":"ä½å¹²å¿","value":"361127"},{"label":"é±é³å¿","value":"361128"},{"label":"ä¸å¹´å¿","value":"361129"},{"label":"婺æºå¿","value":"361130"},{"label":"å¾·å
´å¸","value":"361181"}]],[[{"label":"åä¸åº","value":"370102"},{"label":"å¸ä¸åº","value":"370103"},{"label":"æ§è«åº","value":"370104"},{"label":"天桥åº","value":"370105"},{"label":"åååº","value":"370112"},{"label":"é¿æ¸
åº","value":"370113"},{"label":"ç« ä¸åº","value":"370114"},{"label":"å¹³é´å¿","value":"370124"},{"label":"æµé³å¿","value":"370125"},{"label":"åæ²³å¿","value":"370126"},{"label":"æµå髿°ææ¯äº§ä¸å¼ååº","value":"370171"}],[{"label":"å¸ååº","value":"370202"},{"label":"å¸ååº","value":"370203"},{"label":"é»å²åº","value":"370211"},{"label":"å´å±±åº","value":"370212"},{"label":"ææ²§åº","value":"370213"},{"label":"åé³åº","value":"370214"},{"label":"å³å¢¨åº","value":"370215"},{"label":"éå²é«æ°ææ¯äº§ä¸å¼ååº","value":"370271"},{"label":"è¶å·å¸","value":"370281"},{"label":"平度å¸","value":"370283"},{"label":"è±è¥¿å¸","value":"370285"}],[{"label":"æ·å·åº","value":"370302"},{"label":"å¼ åºåº","value":"370303"},{"label":"åå±±åº","value":"370304"},{"label":"临æ·åº","value":"370305"},{"label":"卿åº","value":"370306"},{"label":"æ¡å°å¿","value":"370321"},{"label":"é«éå¿","value":"370322"},{"label":"æ²æºå¿","value":"370323"}],[{"label":"å¸ä¸åº","value":"370402"},{"label":"èååº","value":"370403"},{"label":"å³ååº","value":"370404"},{"label":"å°å¿åºåº","value":"370405"},{"label":"å±±äºåº","value":"370406"},{"label":"æ»å·å¸","value":"370481"}],[{"label":"ä¸è¥åº","value":"370502"},{"label":"æ²³å£åº","value":"370503"},{"label":"å¦å©åº","value":"370505"},{"label":"婿´¥å¿","value":"370522"},{"label":"广饶å¿","value":"370523"},{"label":"ä¸è¥ç»æµææ¯å¼ååº","value":"370571"},{"label":"ä¸è¥æ¸¯ç»æµå¼ååº","value":"370572"}],[{"label":"èç½åº","value":"370602"},{"label":"ç¦å±±åº","value":"370611"},{"label":"çå¹³åº","value":"370612"},{"label":"è±å±±åº","value":"370613"},{"label":"é¿å²å¿","value":"370634"},{"label":"çå°é«æ°ææ¯äº§ä¸å¼ååº","value":"370671"},{"label":"çå°ç»æµææ¯å¼ååº","value":"370672"},{"label":"é¾å£å¸","value":"370681"},{"label":"è±é³å¸","value":"370682"},{"label":"è±å·å¸","value":"370683"},{"label":"è¬è±å¸","value":"370684"},{"label":"æè¿å¸","value":"370685"},{"label":"æ éå¸","value":"370686"},{"label":"æµ·é³å¸","value":"370687"}],[{"label":"æ½ååº","value":"370702"},{"label":"å¯äºåº","value":"370703"},{"label":"åååº","value":"370704"},{"label":"奿åº","value":"370705"},{"label":"临æå¿","value":"370724"},{"label":"æä¹å¿","value":"370725"},{"label":"æ½åæ»¨æµ·ç»æµææ¯å¼ååº","value":"370772"},{"label":"éå·å¸","value":"370781"},{"label":"诸åå¸","value":"370782"},{"label":"寿å
å¸","value":"370783"},{"label":"å®ä¸å¸","value":"370784"},{"label":"é«å¯å¸","value":"370785"},{"label":"æéå¸","value":"370786"}],[{"label":"ä»»ååº","value":"370811"},{"label":"å
å·åº","value":"370812"},{"label":"微山å¿","value":"370826"},{"label":"é±¼å°å¿","value":"370827"},{"label":"é乡å¿","value":"370828"},{"label":"å祥å¿","value":"370829"},{"label":"æ±¶ä¸å¿","value":"370830"},{"label":"æ³æ°´å¿","value":"370831"},{"label":"æ¢å±±å¿","value":"370832"},{"label":"æµå®é«æ°ææ¯äº§ä¸å¼ååº","value":"370871"},{"label":"æ²éå¸","value":"370881"},{"label":"é¹åå¸","value":"370883"}],[{"label":"æ³°å±±åº","value":"370902"},{"label":"岱岳åº","value":"370911"},{"label":"å®é³å¿","value":"370921"},{"label":"ä¸å¹³å¿","value":"370923"},{"label":"æ°æ³°å¸","value":"370982"},{"label":"è¥åå¸","value":"370983"}],[{"label":"ç¯ç¿ åº","value":"371002"},{"label":"æç»åº","value":"371003"},{"label":"卿µ·ç«ç¬é«ææ¯äº§ä¸å¼ååº","value":"371071"},{"label":"卿µ·ç»æµææ¯å¼ååº","value":"371072"},{"label":"卿µ·ä¸´æ¸¯ç»æµææ¯å¼ååº","value":"371073"},{"label":"è£æå¸","value":"371082"},{"label":"乳山å¸","value":"371083"}],[{"label":"䏿¸¯åº","value":"371102"},{"label":"å²å±±åº","value":"371103"},{"label":"äºè²å¿","value":"371121"},{"label":"èå¿","value":"371122"},{"label":"æ¥ç
§ç»æµææ¯å¼ååº","value":"371171"},{"label":"æ¥ç
§å½é
æµ·æ´å","value":"371172"}],[{"label":"è±ååº","value":"371202"},{"label":"é¢ååº","value":"371203"}],[{"label":"å
°å±±åº","value":"371302"},{"label":"ç½åºåº","value":"371311"},{"label":"æ²³ä¸åº","value":"371312"},{"label":"æ²åå¿","value":"371321"},{"label":"é¯åå¿","value":"371322"},{"label":"æ²æ°´å¿","value":"371323"},{"label":"å
°éµå¿","value":"371324"},{"label":"è´¹å¿","value":"371325"},{"label":"å¹³éå¿","value":"371326"},{"label":"èåå¿","value":"371327"},{"label":"èé´å¿","value":"371328"},{"label":"临æ²å¿","value":"371329"},{"label":"临æ²é«æ°ææ¯äº§ä¸å¼ååº","value":"371371"},{"label":"临æ²ç»æµææ¯å¼ååº","value":"371372"},{"label":"临æ²ä¸´æ¸¯ç»æµå¼ååº","value":"371373"}],[{"label":"å¾·ååº","value":"371402"},{"label":"éµååº","value":"371403"},{"label":"宿´¥å¿","value":"371422"},{"label":"åºäºå¿","value":"371423"},{"label":"临éå¿","value":"371424"},{"label":"齿²³å¿","value":"371425"},{"label":"å¹³åå¿","value":"371426"},{"label":"夿´¥å¿","value":"371427"},{"label":"æ¦åå¿","value":"371428"},{"label":"å¾·å·ç»æµææ¯å¼ååº","value":"371471"},{"label":"å¾·å·è¿æ²³ç»æµå¼ååº","value":"371472"},{"label":"ä¹éµå¸","value":"371481"},{"label":"禹åå¸","value":"371482"}],[{"label":"䏿åºåº","value":"371502"},{"label":"é³è°·å¿","value":"371521"},{"label":"èå¿","value":"371522"},{"label":"èå¹³å¿","value":"371523"},{"label":"ä¸é¿å¿","value":"371524"},{"label":"å å¿","value":"371525"},{"label":"é«åå¿","value":"371526"},{"label":"临æ¸
å¸","value":"371581"}],[{"label":"滨ååº","value":"371602"},{"label":"æ²¾ååº","value":"371603"},{"label":"æ æ°å¿","value":"371621"},{"label":"é³ä¿¡å¿","value":"371622"},{"label":"æ æ££å¿","value":"371623"},{"label":"åå
´å¿","value":"371625"},{"label":"é¹å¹³å¿","value":"371626"}],[{"label":"ç¡ä¸¹åº","value":"371702"},{"label":"å®é¶åº","value":"371703"},{"label":"æ¹å¿","value":"371721"},{"label":"åå¿","value":"371722"},{"label":"ææ¦å¿","value":"371723"},{"label":"å·¨éå¿","value":"371724"},{"label":"éåå¿","value":"371725"},{"label":"éåå¿","value":"371726"},{"label":"䏿å¿","value":"371728"},{"label":"èæ³½ç»æµææ¯å¼ååº","value":"371771"},{"label":"èæ³½é«æ°ææ¯å¼ååº","value":"371772"}]],[[{"label":"ä¸ååº","value":"410102"},{"label":"äºä¸åº","value":"410103"},{"label":"管ååæåº","value":"410104"},{"label":"éæ°´åº","value":"410105"},{"label":"ä¸è¡åº","value":"410106"},{"label":"æ æµåº","value":"410108"},{"label":"ä¸çå¿","value":"410122"},{"label":"éå·ç»æµææ¯å¼ååº","value":"410171"},{"label":"éå·é«æ°ææ¯äº§ä¸å¼ååº","value":"410172"},{"label":"éå·èªç©ºæ¸¯ç»æµç»¼åå®éªåº","value":"410173"},{"label":"å·©ä¹å¸","value":"410181"},{"label":"è¥é³å¸","value":"410182"},{"label":"æ°å¯å¸","value":"410183"},{"label":"æ°éå¸","value":"410184"},{"label":"ç»å°å¸","value":"410185"}],[{"label":"é¾äºåº","value":"410202"},{"label":"顺河åæåº","value":"410203"},{"label":"鼿¥¼åº","value":"410204"},{"label":"禹çå°åº","value":"410205"},{"label":"祥符åº","value":"410212"},{"label":"æå¿","value":"410221"},{"label":"é许å¿","value":"410222"},{"label":"å°æ°å¿","value":"410223"},{"label":"å
°èå¿","value":"410225"}],[{"label":"èååº","value":"410302"},{"label":"西工åº","value":"410303"},{"label":"çæ²³åæåº","value":"410304"},{"label":"涧西åº","value":"410305"},{"label":"åå©åº","value":"410306"},{"label":"æ´é¾åº","value":"410311"},{"label":"åæ´¥å¿","value":"410322"},{"label":"æ°å®å¿","value":"410323"},{"label":"æ ¾å·å¿","value":"410324"},{"label":"嵩å¿","value":"410325"},{"label":"æ±é³å¿","value":"410326"},{"label":"å®é³å¿","value":"410327"},{"label":"æ´å®å¿","value":"410328"},{"label":"ä¼å·å¿","value":"410329"},{"label":"æ´é³é«æ°ææ¯äº§ä¸å¼ååº","value":"410371"},{"label":"åå¸å¸","value":"410381"}],[{"label":"æ°ååº","value":"410402"},{"label":"å«ä¸åº","value":"410403"},{"label":"ç³é¾åº","value":"410404"},{"label":"æ¹æ²³åº","value":"410411"},{"label":"å®ä¸°å¿","value":"410421"},{"label":"å¶å¿","value":"410422"},{"label":"é²å±±å¿","value":"410423"},{"label":"éå¿","value":"410425"},{"label":"平顶山髿°ææ¯äº§ä¸å¼ååº","value":"410471"},{"label":"平顶山叿°ååº","value":"410472"},{"label":"èé¢å¸","value":"410481"},{"label":"æ±å·å¸","value":"410482"}],[{"label":"æå³°åº","value":"410502"},{"label":"åå
³åº","value":"410503"},{"label":"æ®·é½åº","value":"410505"},{"label":"é¾å®åº","value":"410506"},{"label":"å®é³å¿","value":"410522"},{"label":"汤é´å¿","value":"410523"},{"label":"æ»å¿","value":"410526"},{"label":"å
é»å¿","value":"410527"},{"label":"å®é³é«æ°ææ¯äº§ä¸å¼ååº","value":"410571"},{"label":"æå·å¸","value":"410581"}],[{"label":"鹤山åº","value":"410602"},{"label":"å±±ååº","value":"410603"},{"label":"æ·æ»¨åº","value":"410611"},{"label":"æµå¿","value":"410621"},{"label":"æ·å¿","value":"410622"},{"label":"鹤å£ç»æµææ¯å¼ååº","value":"410671"}],[{"label":"红æåº","value":"410702"},{"label":"嫿»¨åº","value":"410703"},{"label":"夿³åº","value":"410704"},{"label":"ç§éåº","value":"410711"},{"label":"æ°ä¹¡å¿","value":"410721"},{"label":"è·åå¿","value":"410724"},{"label":"åé³å¿","value":"410725"},{"label":"å»¶æ´¥å¿","value":"410726"},{"label":"å°ä¸å¿","value":"410727"},{"label":"é¿å£å¿","value":"410728"},{"label":"æ°ä¹¡é«æ°ææ¯äº§ä¸å¼ååº","value":"410771"},{"label":"æ°ä¹¡ç»æµææ¯å¼ååº","value":"410772"},{"label":"æ°ä¹¡å¸å¹³åå乡ä¸ä½å示èåº","value":"410773"},{"label":"å«è¾å¸","value":"410781"},{"label":"è¾å¿å¸","value":"410782"}],[{"label":"è§£æ¾åº","value":"410802"},{"label":"ä¸ç«åº","value":"410803"},{"label":"马æåº","value":"410804"},{"label":"å±±é³åº","value":"410811"},{"label":"ä¿®æ¦å¿","value":"410821"},{"label":"åç±å¿","value":"410822"},{"label":"æ¦éå¿","value":"410823"},{"label":"温å¿","value":"410825"},{"label":"ç¦ä½å乡ä¸ä½å示èåº","value":"410871"},{"label":"æ²é³å¸","value":"410882"},{"label":"åå·å¸","value":"410883"}],[{"label":"åé¾åº","value":"410902"},{"label":"æ¸
丰å¿","value":"410922"},{"label":"åä¹å¿","value":"410923"},{"label":"èå¿","value":"410926"},{"label":"å°åå¿","value":"410927"},{"label":"æ¿®é³å¿","value":"410928"},{"label":"æ²³åæ¿®é³å·¥ä¸ååº","value":"410971"},{"label":"æ¿®é³ç»æµææ¯å¼ååº","value":"410972"}],[{"label":"éé½åº","value":"411002"},{"label":"建å®åº","value":"411003"},{"label":"é¢éµå¿","value":"411024"},{"label":"è¥åå¿","value":"411025"},{"label":"许æç»æµææ¯å¼ååº","value":"411071"},{"label":"禹å·å¸","value":"411081"},{"label":"é¿èå¸","value":"411082"}],[{"label":"æºæ±åº","value":"411102"},{"label":"é¾ååº","value":"411103"},{"label":"å¬éµåº","value":"411104"},{"label":"èé³å¿","value":"411121"},{"label":"临é¢å¿","value":"411122"},{"label":"æ¼¯æ²³ç»æµææ¯å¼ååº","value":"411171"}],[{"label":"æ¹æ»¨åº","value":"411202"},{"label":"éå·åº","value":"411203"},{"label":"æ¸æ± å¿","value":"411221"},{"label":"墿°å¿","value":"411224"},{"label":"æ²³åä¸é¨å³¡ç»æµå¼ååº","value":"411271"},{"label":"ä¹é©¬å¸","value":"411281"},{"label":"çµå®å¸","value":"411282"}],[{"label":"å®ååº","value":"411302"},{"label":"å§é¾åº","value":"411303"},{"label":"åå¬å¿","value":"411321"},{"label":"æ¹åå¿","value":"411322"},{"label":"西峡å¿","value":"411323"},{"label":"éå¹³å¿","value":"411324"},{"label":"å
乡å¿","value":"411325"},{"label":"æ·
å·å¿","value":"411326"},{"label":"社æå¿","value":"411327"},{"label":"åæ²³å¿","value":"411328"},{"label":"æ°éå¿","value":"411329"},{"label":"æ¡æå¿","value":"411330"},{"label":"åé³é«æ°ææ¯äº§ä¸å¼ååº","value":"411371"},{"label":"åé³å¸å乡ä¸ä½å示èåº","value":"411372"},{"label":"éå·å¸","value":"411381"}],[{"label":"æ¢ååº","value":"411402"},{"label":"ç¢é³åº","value":"411403"},{"label":"æ°æå¿","value":"411421"},{"label":"ç¢å¿","value":"411422"},{"label":"å®éµå¿","value":"411423"},{"label":"æåå¿","value":"411424"},{"label":"èåå¿","value":"411425"},{"label":"å¤éå¿","value":"411426"},{"label":"豫ä¸ç»¼åç©æµäº§ä¸èéåº","value":"411471"},{"label":"æ²³ååä¸ç»æµå¼ååº","value":"411472"},{"label":"æ°¸åå¸","value":"411481"}],[{"label":"æµæ²³åº","value":"411502"},{"label":"平桥åº","value":"411503"},{"label":"ç½å±±å¿","value":"411521"},{"label":"å
å±±å¿","value":"411522"},{"label":"æ°å¿","value":"411523"},{"label":"ååå¿","value":"411524"},{"label":"åºå§å¿","value":"411525"},{"label":"æ½¢å·å¿","value":"411526"},{"label":"淮滨å¿","value":"411527"},{"label":"æ¯å¿","value":"411528"},{"label":"ä¿¡é³é«æ°ææ¯äº§ä¸å¼ååº","value":"411571"}],[{"label":"å·æ±åº","value":"411602"},{"label":"æ¶æ²å¿","value":"411621"},{"label":"西åå¿","value":"411622"},{"label":"åæ°´å¿","value":"411623"},{"label":"æ²ä¸å¿","value":"411624"},{"label":"é¸åå¿","value":"411625"},{"label":"æ·®é³å¿","value":"411626"},{"label":"太康å¿","value":"411627"},{"label":"鹿éå¿","value":"411628"},{"label":"æ²³åå¨å£ç»æµå¼ååº","value":"411671"},{"label":"项åå¸","value":"411681"}],[{"label":"é©¿ååº","value":"411702"},{"label":"西平å¿","value":"411721"},{"label":"ä¸è¡å¿","value":"411722"},{"label":"å¹³èå¿","value":"411723"},{"label":"æ£é³å¿","value":"411724"},{"label":"确山å¿","value":"411725"},{"label":"æ³é³å¿","value":"411726"},{"label":"æ±åå¿","value":"411727"},{"label":"éå¹³å¿","value":"411728"},{"label":"æ°è¡å¿","value":"411729"},{"label":"æ²³å驻马åºç»æµå¼ååº","value":"411771"}],[{"label":"æµæºå¸","value":"419001"}]],[[{"label":"æ±å²¸åº","value":"420102"},{"label":"æ±æ±åº","value":"420103"},{"label":"ç¡å£åº","value":"420104"},{"label":"æ±é³åº","value":"420105"},{"label":"æ¦æåº","value":"420106"},{"label":"éå±±åº","value":"420107"},{"label":"洪山åº","value":"420111"},{"label":"ä¸è¥¿æ¹åº","value":"420112"},{"label":"æ±ååº","value":"420113"},{"label":"è¡ç¸åº","value":"420114"},{"label":"æ±å¤åº","value":"420115"},{"label":"é»éåº","value":"420116"},{"label":"æ°æ´²åº","value":"420117"}],[{"label":"é»ç³æ¸¯åº","value":"420202"},{"label":"西å¡å±±åº","value":"420203"},{"label":"ä¸éåº","value":"420204"},{"label":"éå±±åº","value":"420205"},{"label":"鳿°å¿","value":"420222"},{"label":"大å¶å¸","value":"420281"}],[{"label":"è
ç®åº","value":"420302"},{"label":"å¼ æ¹¾åº","value":"420303"},{"label":"é§é³åº","value":"420304"},{"label":"é§è¥¿å¿","value":"420322"},{"label":"竹山å¿","value":"420323"},{"label":"竹溪å¿","value":"420324"},{"label":"æ¿å¿","value":"420325"},{"label":"丹æ±å£å¸","value":"420381"}],[{"label":"西éµåº","value":"420502"},{"label":"ä¼å®¶å²åº","value":"420503"},{"label":"ç¹ååº","value":"420504"},{"label":"çäºåº","value":"420505"},{"label":"夷éµåº","value":"420506"},{"label":"è¿å®å¿","value":"420525"},{"label":"å
´å±±å¿","value":"420526"},{"label":"ç§å½å¿","value":"420527"},{"label":"é¿é³åå®¶æèªæ²»å¿","value":"420528"},{"label":"äºå³°åå®¶æèªæ²»å¿","value":"420529"},{"label":"å®é½å¸","value":"420581"},{"label":"å½é³å¸","value":"420582"},{"label":"ææ±å¸","value":"420583"}],[{"label":"è¥ååº","value":"420602"},{"label":"æ¨ååº","value":"420606"},{"label":"è¥å·åº","value":"420607"},{"label":"åæ¼³å¿","value":"420624"},{"label":"è°·åå¿","value":"420625"},{"label":"ä¿åº·å¿","value":"420626"},{"label":"èæ²³å£å¸","value":"420682"},{"label":"æ£é³å¸","value":"420683"},{"label":"å®åå¸","value":"420684"}],[{"label":"æ¢åæ¹åº","value":"420702"},{"label":"å容åº","value":"420703"},{"label":"éååº","value":"420704"}],[{"label":"ä¸å®åº","value":"420802"},{"label":"æååº","value":"420804"},{"label":"京山å¿","value":"420821"},{"label":"æ²æ´å¿","value":"420822"},{"label":"é祥å¸","value":"420881"}],[{"label":"åååº","value":"420902"},{"label":"åæå¿","value":"420921"},{"label":"大æå¿","value":"420922"},{"label":"äºæ¢¦å¿","value":"420923"},{"label":"åºåå¸","value":"420981"},{"label":"å®éå¸","value":"420982"},{"label":"æ±å·å¸","value":"420984"}],[{"label":"æ²å¸åº","value":"421002"},{"label":"èå·åº","value":"421003"},{"label":"å
¬å®å¿","value":"421022"},{"label":"çå©å¿","value":"421023"},{"label":"æ±éµå¿","value":"421024"},{"label":"èå·ç»æµææ¯å¼ååº","value":"421071"},{"label":"ç³é¦å¸","value":"421081"},{"label":"æ´ªæ¹å¸","value":"421083"},{"label":"æ¾æ»å¸","value":"421087"}],[{"label":"é»å·åº","value":"421102"},{"label":"å¢é£å¿","value":"421121"},{"label":"红å®å¿","value":"421122"},{"label":"ç½ç°å¿","value":"421123"},{"label":"è±å±±å¿","value":"421124"},{"label":"æµ æ°´å¿","value":"421125"},{"label":"è²æ¥å¿","value":"421126"},{"label":"黿¢
å¿","value":"421127"},{"label":"龿æ¹ç®¡çåº","value":"421171"},{"label":"麻åå¸","value":"421181"},{"label":"æ¦ç©´å¸","value":"421182"}],[{"label":"å¸å®åº","value":"421202"},{"label":"åé±¼å¿","value":"421221"},{"label":"éåå¿","value":"421222"},{"label":"å´é³å¿","value":"421223"},{"label":"éå±±å¿","value":"421224"},{"label":"赤å£å¸","value":"421281"}],[{"label":"æ¾é½åº","value":"421303"},{"label":"éå¿","value":"421321"},{"label":"广水å¸","value":"421381"}],[{"label":"æ©æ½å¸","value":"422801"},{"label":"å©å·å¸","value":"422802"},{"label":"建å§å¿","value":"422822"},{"label":"å·´ä¸å¿","value":"422823"},{"label":"宣æ©å¿","value":"422825"},{"label":"å¸ä¸°å¿","value":"422826"},{"label":"æ¥å¤å¿","value":"422827"},{"label":"鹤峰å¿","value":"422828"}],[{"label":"仿¡å¸","value":"429004"},{"label":"æ½æ±å¸","value":"429005"},{"label":"天é¨å¸","value":"429006"},{"label":"ç¥åæ¶æåº","value":"429021"}]],[[{"label":"èèåº","value":"430102"},{"label":"天å¿åº","value":"430103"},{"label":"å²³éºåº","value":"430104"},{"label":"å¼ç¦åº","value":"430105"},{"label":"é¨è±åº","value":"430111"},{"label":"æååº","value":"430112"},{"label":"é¿æ²å¿","value":"430121"},{"label":"æµé³å¸","value":"430181"},{"label":"å®ä¹¡å¸","value":"430182"}],[{"label":"è·å¡åº","value":"430202"},{"label":"è¦æ·åº","value":"430203"},{"label":"ç³å³°åº","value":"430204"},{"label":"天å
åº","value":"430211"},{"label":"æ ªæ´²å¿","value":"430221"},{"label":"æ¸å¿","value":"430223"},{"label":"è¶éµå¿","value":"430224"},{"label":"çéµå¿","value":"430225"},{"label":"äºé¾ç¤ºèåº","value":"430271"},{"label":"é´éµå¸","value":"430281"}],[{"label":"鍿¹åº","value":"430302"},{"label":"å²³å¡åº","value":"430304"},{"label":"æ¹æ½å¿","value":"430321"},{"label":"æ¹åæ¹æ½é«æ°ææ¯äº§ä¸ååº","value":"430371"},{"label":"æ¹æ½æå±±ç¤ºèåº","value":"430372"},{"label":"æ¹æ½ä¹å示èåº","value":"430373"},{"label":"æ¹ä¹¡å¸","value":"430381"},{"label":"é¶å±±å¸","value":"430382"}],[{"label":"ç æåº","value":"430405"},{"label":"éå³°åº","value":"430406"},{"label":"ç³é¼åº","value":"430407"},{"label":"è¸æ¹åº","value":"430408"},{"label":"åå²³åº","value":"430412"},{"label":"è¡¡é³å¿","value":"430421"},{"label":"è¡¡åå¿","value":"430422"},{"label":"è¡¡å±±å¿","value":"430423"},{"label":"è¡¡ä¸å¿","value":"430424"},{"label":"ç¥ä¸å¿","value":"430426"},{"label":"è¡¡é³ç»¼åä¿ç¨åº","value":"430471"},{"label":"æ¹åè¡¡é³é«æ°ææ¯äº§ä¸ååº","value":"430472"},{"label":"æ¹åè¡¡é³æ¾æ¨ç»æµå¼ååº","value":"430473"},{"label":"èé³å¸","value":"430481"},{"label":"常å®å¸","value":"430482"}],[{"label":"忏
åº","value":"430502"},{"label":"大祥åº","value":"430503"},{"label":"åå¡åº","value":"430511"},{"label":"éµä¸å¿","value":"430521"},{"label":"æ°éµå¿","value":"430522"},{"label":"éµé³å¿","value":"430523"},{"label":"éåå¿","value":"430524"},{"label":"æ´å£å¿","value":"430525"},{"label":"绥å®å¿","value":"430527"},{"label":"æ°å®å¿","value":"430528"},{"label":"忥èæèªæ²»å¿","value":"430529"},{"label":"æ¦åå¸","value":"430581"}],[{"label":"岳鳿¥¼åº","value":"430602"},{"label":"äºæºªåº","value":"430603"},{"label":"åå±±åº","value":"430611"},{"label":"å²³é³å¿","value":"430621"},{"label":"å容å¿","value":"430623"},{"label":"æ¹é´å¿","value":"430624"},{"label":"å¹³æ±å¿","value":"430626"},{"label":"å²³é³å¸å±å管çåº","value":"430671"},{"label":"汨ç½å¸","value":"430681"},{"label":"临æ¹å¸","value":"430682"}],[{"label":"æ¦éµåº","value":"430702"},{"label":"é¼ååº","value":"430703"},{"label":"å®ä¹¡å¿","value":"430721"},{"label":"æ±å¯¿å¿","value":"430722"},{"label":"æ¾§å¿","value":"430723"},{"label":"临澧å¿","value":"430724"},{"label":"æ¡æºå¿","value":"430725"},{"label":"ç³é¨å¿","value":"430726"},{"label":"常德å¸è¥¿æ´åºç®¡çåº","value":"430771"},{"label":"æ´¥å¸å¸","value":"430781"}],[{"label":"æ°¸å®åº","value":"430802"},{"label":"æ¦éµæºåº","value":"430811"},{"label":"æ
å©å¿","value":"430821"},{"label":"æ¡æ¤å¿","value":"430822"}],[{"label":"èµé³åº","value":"430902"},{"label":"赫山åº","value":"430903"},{"label":"åå¿","value":"430921"},{"label":"æ¡æ±å¿","value":"430922"},{"label":"å®åå¿","value":"430923"},{"label":"çé³å¸å¤§éæ¹ç®¡çåº","value":"430971"},{"label":"æ¹åçé³é«æ°ææ¯äº§ä¸ååº","value":"430972"},{"label":"æ²
æ±å¸","value":"430981"}],[{"label":"åæ¹åº","value":"431002"},{"label":"èä»åº","value":"431003"},{"label":"æ¡é³å¿","value":"431021"},{"label":"å®ç« å¿","value":"431022"},{"label":"æ°¸å
´å¿","value":"431023"},{"label":"å禾å¿","value":"431024"},{"label":"临æ¦å¿","value":"431025"},{"label":"æ±åå¿","value":"431026"},{"label":"æ¡ä¸å¿","value":"431027"},{"label":"å®ä»å¿","value":"431028"},{"label":"èµå
´å¸","value":"431081"}],[{"label":"é¶éµåº","value":"431102"},{"label":"å·æ°´æ»©åº","value":"431103"},{"label":"ç¥é³å¿","value":"431121"},{"label":"ä¸å®å¿","value":"431122"},{"label":"åçå¿","value":"431123"},{"label":"éå¿","value":"431124"},{"label":"æ±æ°¸å¿","value":"431125"},{"label":"å®è¿å¿","value":"431126"},{"label":"èå±±å¿","value":"431127"},{"label":"æ°ç°å¿","value":"431128"},{"label":"æ±åç¶æèªæ²»å¿","value":"431129"},{"label":"æ°¸å·ç»æµææ¯å¼ååº","value":"431171"},{"label":"æ°¸å·å¸éæ´ç®¡çåº","value":"431172"},{"label":"æ°¸å·å¸åé¾å©ç®¡çåº","value":"431173"}],[{"label":"鹤ååº","value":"431202"},{"label":"䏿¹å¿","value":"431221"},{"label":"æ²
éµå¿","value":"431222"},{"label":"辰溪å¿","value":"431223"},{"label":"æºæµ¦å¿","value":"431224"},{"label":"ä¼åå¿","value":"431225"},{"label":"麻é³èæèªæ²»å¿","value":"431226"},{"label":"æ°æä¾æèªæ²»å¿","value":"431227"},{"label":"è·æ±ä¾æèªæ²»å¿","value":"431228"},{"label":"éå·èæä¾æèªæ²»å¿","value":"431229"},{"label":"ééä¾æèªæ²»å¿","value":"431230"},{"label":"æå叿´ªæ±ç®¡çåº","value":"431271"},{"label":"æ´ªæ±å¸","value":"431281"}],[{"label":"卿åº","value":"431302"},{"label":"åå³°å¿","value":"431321"},{"label":"æ°åå¿","value":"431322"},{"label":"å·æ°´æ±å¸","value":"431381"},{"label":"æ¶æºå¸","value":"431382"}],[{"label":"åé¦å¸","value":"433101"},{"label":"泸溪å¿","value":"433122"},{"label":"å¤å°å¿","value":"433123"},{"label":"è±å£å¿","value":"433124"},{"label":"ä¿éå¿","value":"433125"},{"label":"å¤ä¸å¿","value":"433126"},{"label":"永顺å¿","value":"433127"},{"label":"é¾å±±å¿","value":"433130"},{"label":"æ¹ååé¦ç»æµå¼ååº","value":"433172"},{"label":"æ¹åæ°¸é¡ºç»æµå¼ååº","value":"433173"}]],[[{"label":"èæ¹¾åº","value":"440103"},{"label":"è¶ç§åº","value":"440104"},{"label":"æµ·ç åº","value":"440105"},{"label":"天河åº","value":"440106"},{"label":"ç½äºåº","value":"440111"},{"label":"é»ååº","value":"440112"},{"label":"çªç¦ºåº","value":"440113"},{"label":"è±é½åº","value":"440114"},{"label":"åæ²åº","value":"440115"},{"label":"ä»ååº","value":"440117"},{"label":"å¢ååº","value":"440118"}],[{"label":"æ¦æ±åº","value":"440203"},{"label":"æµæ±åº","value":"440204"},{"label":"æ²æ±åº","value":"440205"},{"label":"å§å
´å¿","value":"440222"},{"label":"ä»åå¿","value":"440224"},{"label":"ç¿æºå¿","value":"440229"},{"label":"ä¹³æºç¶æèªæ²»å¿","value":"440232"},{"label":"æ°ä¸°å¿","value":"440233"},{"label":"乿å¸","value":"440281"},{"label":"åéå¸","value":"440282"}],[{"label":"ç½æ¹åº","value":"440303"},{"label":"ç¦ç°åº","value":"440304"},{"label":"åå±±åº","value":"440305"},{"label":"å®å®åº","value":"440306"},{"label":"é¾å²åº","value":"440307"},{"label":"çç°åº","value":"440308"},{"label":"é¾ååº","value":"440309"},{"label":"åªå±±åº","value":"440310"}],[{"label":"馿´²åº","value":"440402"},{"label":"æé¨åº","value":"440403"},{"label":"éæ¹¾åº","value":"440404"}],[{"label":"龿¹åº","value":"440507"},{"label":"éå¹³åº","value":"440511"},{"label":"æ¿ æ±åº","value":"440512"},{"label":"æ½®é³åº","value":"440513"},{"label":"æ½®ååº","value":"440514"},{"label":"æ¾æµ·åº","value":"440515"},{"label":"åæ¾³å¿","value":"440523"}],[{"label":"ç¦
ååº","value":"440604"},{"label":"åæµ·åº","value":"440605"},{"label":"顺德åº","value":"440606"},{"label":"䏿°´åº","value":"440607"},{"label":"髿åº","value":"440608"}],[{"label":"è¬æ±åº","value":"440703"},{"label":"æ±æµ·åº","value":"440704"},{"label":"æ°ä¼åº","value":"440705"},{"label":"å°å±±å¸","value":"440781"},{"label":"å¼å¹³å¸","value":"440783"},{"label":"鹤山å¸","value":"440784"},{"label":"æ©å¹³å¸","value":"440785"}],[{"label":"赤ååº","value":"440802"},{"label":"éå±±åº","value":"440803"},{"label":"å¡å¤´åº","value":"440804"},{"label":"éº»ç« åº","value":"440811"},{"label":"éæºªå¿","value":"440823"},{"label":"å¾é»å¿","value":"440825"},{"label":"廿±å¸","value":"440881"},{"label":"é·å·å¸","value":"440882"},{"label":"å´å·å¸","value":"440883"}],[{"label":"èååº","value":"440902"},{"label":"çµç½åº","value":"440904"},{"label":"é«å·å¸","value":"440981"},{"label":"åå·å¸","value":"440982"},{"label":"ä¿¡å®å¸","value":"440983"}],[{"label":"端å·åº","value":"441202"},{"label":"鼿¹åº","value":"441203"},{"label":"é«è¦åº","value":"441204"},{"label":"广å®å¿","value":"441223"},{"label":"æéå¿","value":"441224"},{"label":"å°å¼å¿","value":"441225"},{"label":"å¾·åºå¿","value":"441226"},{"label":"åä¼å¸","value":"441284"}],[{"label":"æ ååº","value":"441302"},{"label":"æ é³åº","value":"441303"},{"label":"åç½å¿","value":"441322"},{"label":"æ ä¸å¿","value":"441323"},{"label":"é¾é¨å¿","value":"441324"}],[{"label":"æ¢
æ±åº","value":"441402"},{"label":"æ¢
å¿åº","value":"441403"},{"label":"大åå¿","value":"441422"},{"label":"丰顺å¿","value":"441423"},{"label":"äºåå¿","value":"441424"},{"label":"å¹³è¿å¿","value":"441426"},{"label":"èå²å¿","value":"441427"},{"label":"å
´å®å¸","value":"441481"}],[{"label":"ååº","value":"441502"},{"label":"海丰å¿","value":"441521"},{"label":"éæ²³å¿","value":"441523"},{"label":"é丰å¸","value":"441581"}],[{"label":"æºååº","value":"441602"},{"label":"ç´«éå¿","value":"441621"},{"label":"é¾å·å¿","value":"441622"},{"label":"è¿å¹³å¿","value":"441623"},{"label":"åå¹³å¿","value":"441624"},{"label":"䏿ºå¿","value":"441625"}],[{"label":"æ±ååº","value":"441702"},{"label":"é³ä¸åº","value":"441704"},{"label":"é³è¥¿å¿","value":"441721"},{"label":"鳿¥å¸","value":"441781"}],[{"label":"æ¸
ååº","value":"441802"},{"label":"æ¸
æ°åº","value":"441803"},{"label":"ä½åå¿","value":"441821"},{"label":"é³å±±å¿","value":"441823"},{"label":"è¿å±±å£®æç¶æèªæ²»å¿","value":"441825"},{"label":"è¿åç¶æèªæ²»å¿","value":"441826"},{"label":"è±å¾·å¸","value":"441881"},{"label":"è¿å·å¸","value":"441882"}],[{"label":"ä¸èå¸","value":"441900"}],[{"label":"ä¸å±±å¸","value":"442000"}],[{"label":"æ¹æ¡¥åº","value":"445102"},{"label":"æ½®å®åº","value":"445103"},{"label":"饶平å¿","value":"445122"}],[{"label":"æ¦ååº","value":"445202"},{"label":"æä¸åº","value":"445203"},{"label":"æè¥¿å¿","value":"445222"},{"label":"æ æ¥å¿","value":"445224"},{"label":"æ®å®å¸","value":"445281"}],[{"label":"äºååº","value":"445302"},{"label":"äºå®åº","value":"445303"},{"label":"æ°å
´å¿","value":"445321"},{"label":"éåå¿","value":"445322"},{"label":"ç½å®å¸","value":"445381"}]],[[{"label":"å
´å®åº","value":"450102"},{"label":"éç§åº","value":"450103"},{"label":"æ±ååº","value":"450105"},{"label":"西乡å¡åº","value":"450107"},{"label":"è¯åºåº","value":"450108"},{"label":"éå®åº","value":"450109"},{"label":"æ¦é¸£åº","value":"450110"},{"label":"éå®å¿","value":"450123"},{"label":"马山å¿","value":"450124"},{"label":"䏿å¿","value":"450125"},{"label":"宾é³å¿","value":"450126"},{"label":"横å¿","value":"450127"}],[{"label":"åä¸åº","value":"450202"},{"label":"鱼峰åº","value":"450203"},{"label":"æ³ååº","value":"450204"},{"label":"æ³ååº","value":"450205"},{"label":"æ³æ±åº","value":"450206"},{"label":"æ³åå¿","value":"450222"},{"label":"鹿寨å¿","value":"450223"},{"label":"èå®å¿","value":"450224"},{"label":"èæ°´èæèªæ²»å¿","value":"450225"},{"label":"䏿±ä¾æèªæ²»å¿","value":"450226"}],[{"label":"ç§å³°åº","value":"450302"},{"label":"å 彩åº","value":"450303"},{"label":"象山åº","value":"450304"},{"label":"䏿åº","value":"450305"},{"label":"éå±±åº","value":"450311"},{"label":"临æ¡åº","value":"450312"},{"label":"鳿å¿","value":"450321"},{"label":"çµå·å¿","value":"450323"},{"label":"å
¨å·å¿","value":"450324"},{"label":"å
´å®å¿","value":"450325"},{"label":"æ°¸ç¦å¿","value":"450326"},{"label":"çé³å¿","value":"450327"},{"label":"é¾èåæèªæ²»å¿","value":"450328"},{"label":"èµæºå¿","value":"450329"},{"label":"å¹³ä¹å¿","value":"450330"},{"label":"èæµ¦å¿","value":"450331"},{"label":"æåç¶æèªæ²»å¿","value":"450332"}],[{"label":"ä¸ç§åº","value":"450403"},{"label":"é¿æ´²åº","value":"450405"},{"label":"é¾å©åº","value":"450406"},{"label":"èæ¢§å¿","value":"450421"},{"label":"è¤å¿","value":"450422"},{"label":"èå±±å¿","value":"450423"},{"label":"岿ºªå¸","value":"450481"}],[{"label":"æµ·ååº","value":"450502"},{"label":"é¶æµ·åº","value":"450503"},{"label":"é山港åº","value":"450512"},{"label":"åæµ¦å¿","value":"450521"}],[{"label":"港å£åº","value":"450602"},{"label":"é²ååº","value":"450603"},{"label":"䏿å¿","value":"450621"},{"label":"ä¸å
´å¸","value":"450681"}],[{"label":"é¦ååº","value":"450702"},{"label":"é¦ååº","value":"450703"},{"label":"çµå±±å¿","value":"450721"},{"label":"浦åå¿","value":"450722"}],[{"label":"港ååº","value":"450802"},{"label":"港ååº","value":"450803"},{"label":"è¦å¡åº","value":"450804"},{"label":"å¹³åå¿","value":"450821"},{"label":"æ¡å¹³å¸","value":"450881"}],[{"label":"çå·åº","value":"450902"},{"label":"ç¦ç»µåº","value":"450903"},{"label":"容å¿","value":"450921"},{"label":"éå·å¿","value":"450922"},{"label":"åç½å¿","value":"450923"},{"label":"å
´ä¸å¿","value":"450924"},{"label":"åæµå¸","value":"450981"}],[{"label":"峿±åº","value":"451002"},{"label":"ç°é³å¿","value":"451021"},{"label":"ç°ä¸å¿","value":"451022"},{"label":"å¹³æå¿","value":"451023"},{"label":"å¾·ä¿å¿","value":"451024"},{"label":"é£å¡å¿","value":"451026"},{"label":"åäºå¿","value":"451027"},{"label":"ä¹ä¸å¿","value":"451028"},{"label":"ç°æå¿","value":"451029"},{"label":"西æå¿","value":"451030"},{"label":"éæåæèªæ²»å¿","value":"451031"},{"label":"é西å¸","value":"451081"}],[{"label":"å
«æ¥åº","value":"451102"},{"label":"å¹³æ¡åº","value":"451103"},{"label":"æå¹³å¿","value":"451121"},{"label":"éå±±å¿","value":"451122"},{"label":"å¯å·ç¶æèªæ²»å¿","value":"451123"}],[{"label":"éåæ±åº","value":"451202"},{"label":"å®å·åº","value":"451203"},{"label":"å丹å¿","value":"451221"},{"label":"天峨å¿","value":"451222"},{"label":"å¤å±±å¿","value":"451223"},{"label":"ä¸å
°å¿","value":"451224"},{"label":"ç½å仫佬æèªæ²»å¿","value":"451225"},{"label":"ç¯æ±æ¯åæèªæ²»å¿","value":"451226"},{"label":"å·´é©¬ç¶æèªæ²»å¿","value":"451227"},{"label":"é½å®ç¶æèªæ²»å¿","value":"451228"},{"label":"大åç¶æèªæ²»å¿","value":"451229"}],[{"label":"å
´å®¾åº","value":"451302"},{"label":"å¿»åå¿","value":"451321"},{"label":"象å·å¿","value":"451322"},{"label":"æ¦å®£å¿","value":"451323"},{"label":"éç§ç¶æèªæ²»å¿","value":"451324"},{"label":"åå±±å¸","value":"451381"}],[{"label":"æ±å·åº","value":"451402"},{"label":"æ¶ç»¥å¿","value":"451421"},{"label":"宿å¿","value":"451422"},{"label":"é¾å·å¿","value":"451423"},{"label":"大æ°å¿","value":"451424"},{"label":"天çå¿","value":"451425"},{"label":"å祥å¸","value":"451481"}]],[[{"label":"ç§è±åº","value":"460105"},{"label":"é¾ååº","value":"460106"},{"label":"ç¼å±±åº","value":"460107"},{"label":"ç¾å
°åº","value":"460108"}],[{"label":"æµ·æ£ åº","value":"460202"},{"label":"åé³åº","value":"460203"},{"label":"天涯åº","value":"460204"},{"label":"å´å·åº","value":"460205"}],[{"label":"西æ²ç¾¤å²","value":"460321"},{"label":"åæ²ç¾¤å²","value":"460322"},{"label":"䏿²ç¾¤å²çå²ç¤åå
¶æµ·å","value":"460323"}],[{"label":"åå·å¸","value":"460400"}],[{"label":"äºæå±±å¸","value":"469001"},{"label":"ç¼æµ·å¸","value":"469002"},{"label":"ææå¸","value":"469005"},{"label":"ä¸å®å¸","value":"469006"},{"label":"䏿¹å¸","value":"469007"},{"label":"å®å®å¿","value":"469021"},{"label":"屯æå¿","value":"469022"},{"label":"æ¾è¿å¿","value":"469023"},{"label":"临é«å¿","value":"469024"},{"label":"ç½æ²é»æèªæ²»å¿","value":"469025"},{"label":"ææ±é»æèªæ²»å¿","value":"469026"},{"label":"ä¹ä¸é»æèªæ²»å¿","value":"469027"},{"label":"鵿°´é»æèªæ²»å¿","value":"469028"},{"label":"ä¿äºé»æèæèªæ²»å¿","value":"469029"},{"label":"ç¼ä¸é»æèæèªæ²»å¿","value":"469030"}]],[[{"label":"ä¸å·åº","value":"500101"},{"label":"涪éµåº","value":"500102"},{"label":"æ¸ä¸åº","value":"500103"},{"label":"大渡å£åº","value":"500104"},{"label":"æ±ååº","value":"500105"},{"label":"æ²åªååº","value":"500106"},{"label":"ä¹é¾å¡åº","value":"500107"},{"label":"å岸åº","value":"500108"},{"label":"åç¢åº","value":"500109"},{"label":"綦æ±åº","value":"500110"},{"label":"大足åº","value":"500111"},{"label":"æ¸ååº","value":"500112"},{"label":"å·´ååº","value":"500113"},{"label":"黿±åº","value":"500114"},{"label":"é¿å¯¿åº","value":"500115"},{"label":"æ±æ´¥åº","value":"500116"},{"label":"åå·åº","value":"500117"},{"label":"æ°¸å·åº","value":"500118"},{"label":"åå·åº","value":"500119"},{"label":"ç§å±±åº","value":"500120"},{"label":"鿢åº","value":"500151"},{"label":"æ½¼ååº","value":"500152"},{"label":"è£æåº","value":"500153"},{"label":"å¼å·åº","value":"500154"},{"label":"æ¢å¹³åº","value":"500155"},{"label":"æ¦éåº","value":"500156"}],[{"label":"åå£å¿","value":"500229"},{"label":"丰é½å¿","value":"500230"},{"label":"嫿±å¿","value":"500231"},{"label":"å¿ å¿","value":"500233"},{"label":"äºé³å¿","value":"500235"},{"label":"å¥èå¿","value":"500236"},{"label":"å·«å±±å¿","value":"500237"},{"label":"巫溪å¿","value":"500238"},{"label":"ç³æ±åå®¶æèªæ²»å¿","value":"500240"},{"label":"ç§å±±åå®¶æèæèªæ²»å¿","value":"500241"},{"label":"é
é³åå®¶æèæèªæ²»å¿","value":"500242"},{"label":"彿°´èæåå®¶æèªæ²»å¿","value":"500243"}]],[[{"label":"馿±åº","value":"510104"},{"label":"éç¾åº","value":"510105"},{"label":"éçåº","value":"510106"},{"label":"æ¦ä¾¯åº","value":"510107"},{"label":"æååº","value":"510108"},{"label":"龿³é©¿åº","value":"510112"},{"label":"éç½æ±åº","value":"510113"},{"label":"æ°é½åº","value":"510114"},{"label":"温æ±åº","value":"510115"},{"label":"åæµåº","value":"510116"},{"label":"é«é½åº","value":"510117"},{"label":"éå å¿","value":"510121"},{"label":"大éå¿","value":"510129"},{"label":"è²æ±å¿","value":"510131"},{"label":"æ°æ´¥å¿","value":"510132"},{"label":"齿±å °å¸","value":"510181"},{"label":"å½å·å¸","value":"510182"},{"label":"éå´å¸","value":"510183"},{"label":"å´å·å¸","value":"510184"},{"label":"ç®é³å¸","value":"510185"}],[{"label":"èªæµäºåº","value":"510302"},{"label":"è´¡äºåº","value":"510303"},{"label":"大å®åº","value":"510304"},{"label":"沿滩åº","value":"510311"},{"label":"è£å¿","value":"510321"},{"label":"å¯é¡ºå¿","value":"510322"}],[{"label":"ä¸åº","value":"510402"},{"label":"西åº","value":"510403"},{"label":"ä»ååº","value":"510411"},{"label":"ç±³æå¿","value":"510421"},{"label":"çè¾¹å¿","value":"510422"}],[{"label":"æ±é³åº","value":"510502"},{"label":"纳溪åº","value":"510503"},{"label":"é¾é©¬æ½åº","value":"510504"},{"label":"泸å¿","value":"510521"},{"label":"åæ±å¿","value":"510522"},{"label":"åæ°¸å¿","value":"510524"},{"label":"å¤èºå¿","value":"510525"}],[{"label":"æé³åº","value":"510603"},{"label":"ç½æ±åº","value":"510604"},{"label":"䏿±å¿","value":"510623"},{"label":"广æ±å¸","value":"510681"},{"label":"ä»é¡å¸","value":"510682"},{"label":"绵竹å¸","value":"510683"}],[{"label":"涪ååº","value":"510703"},{"label":"游ä»åº","value":"510704"},{"label":"å®å·åº","value":"510705"},{"label":"ä¸å°å¿","value":"510722"},{"label":"çäºå¿","value":"510723"},{"label":"æ¢æ½¼å¿","value":"510725"},{"label":"åå·ç¾æèªæ²»å¿","value":"510726"},{"label":"å¹³æ¦å¿","value":"510727"},{"label":"æ±æ²¹å¸","value":"510781"}],[{"label":"å©å·åº","value":"510802"},{"label":"æååº","value":"510811"},{"label":"æå¤©åº","value":"510812"},{"label":"æºèå¿","value":"510821"},{"label":"éå·å¿","value":"510822"},{"label":"åéå¿","value":"510823"},{"label":"èæºªå¿","value":"510824"}],[{"label":"è¹å±±åº","value":"510903"},{"label":"å®å±
åº","value":"510904"},{"label":"è¬æºªå¿","value":"510921"},{"label":"å°æ´ªå¿","value":"510922"},{"label":"大è±å¿","value":"510923"}],[{"label":"å¸ä¸åº","value":"511002"},{"label":"ä¸å
´åº","value":"511011"},{"label":"å¨è¿å¿","value":"511024"},{"label":"èµä¸å¿","value":"511025"},{"label":"å
æ±ç»æµå¼ååº","value":"511071"},{"label":"éæå¸","value":"511083"}],[{"label":"å¸ä¸åº","value":"511102"},{"label":"æ²æ¹¾åº","value":"511111"},{"label":"äºéæ¡¥åº","value":"511112"},{"label":"é壿²³åº","value":"511113"},{"label":"ç为å¿","value":"511123"},{"label":"äºç å¿","value":"511124"},{"label":"夹æ±å¿","value":"511126"},{"label":"æ²å·å¿","value":"511129"},{"label":"å³¨è¾¹å½æèªæ²»å¿","value":"511132"},{"label":"é©¬è¾¹å½æèªæ²»å¿","value":"511133"},{"label":"峨çå±±å¸","value":"511181"}],[{"label":"顺åºåº","value":"511302"},{"label":"é«åªåº","value":"511303"},{"label":"åéµåº","value":"511304"},{"label":"åé¨å¿","value":"511321"},{"label":"è¥å±±å¿","value":"511322"},{"label":"è¬å®å¿","value":"511323"},{"label":"仪éå¿","value":"511324"},{"label":"西å
å¿","value":"511325"},{"label":"éä¸å¸","value":"511381"}],[{"label":"ä¸å¡åº","value":"511402"},{"label":"å½å±±åº","value":"511403"},{"label":"ä»å¯¿å¿","value":"511421"},{"label":"æ´ªé
å¿","value":"511423"},{"label":"丹棱å¿","value":"511424"},{"label":"éç¥å¿","value":"511425"}],[{"label":"ç¿ å±åº","value":"511502"},{"label":"åæºªåº","value":"511503"},{"label":"å®å®¾å¿","value":"511521"},{"label":"æ±å®å¿","value":"511523"},{"label":"é¿å®å¿","value":"511524"},{"label":"é«å¿","value":"511525"},{"label":"çå¿","value":"511526"},{"label":"ç è¿å¿","value":"511527"},{"label":"å
´æå¿","value":"511528"},{"label":"å±å±±å¿","value":"511529"}],[{"label":"广å®åº","value":"511602"},{"label":"åéåº","value":"511603"},{"label":"å²³æ± å¿","value":"511621"},{"label":"æ¦èå¿","value":"511622"},{"label":"黿°´å¿","value":"511623"},{"label":"åè¥å¸","value":"511681"}],[{"label":"éå·åº","value":"511702"},{"label":"è¾¾å·åº","value":"511703"},{"label":"宣æ±å¿","value":"511722"},{"label":"弿±å¿","value":"511723"},{"label":"大竹å¿","value":"511724"},{"label":"æ¸ å¿","value":"511725"},{"label":"è¾¾å·ç»æµå¼ååº","value":"511771"},{"label":"䏿ºå¸","value":"511781"}],[{"label":"é¨ååº","value":"511802"},{"label":"åå±±åº","value":"511803"},{"label":"è¥ç»å¿","value":"511822"},{"label":"æ±æºå¿","value":"511823"},{"label":"ç³æ£å¿","value":"511824"},{"label":"天å
¨å¿","value":"511825"},{"label":"è¦å±±å¿","value":"511826"},{"label":"å®å
´å¿","value":"511827"}],[{"label":"å·´å·åº","value":"511902"},{"label":"æ©é³åº","value":"511903"},{"label":"éæ±å¿","value":"511921"},{"label":"åæ±å¿","value":"511922"},{"label":"å¹³æå¿","value":"511923"},{"label":"å·´ä¸ç»æµå¼ååº","value":"511971"}],[{"label":"éæ±åº","value":"512002"},{"label":"å®å²³å¿","value":"512021"},{"label":"ä¹è³å¿","value":"512022"}],[{"label":"马å°åº·å¸","value":"513201"},{"label":"æ±¶å·å¿","value":"513221"},{"label":"çå¿","value":"513222"},{"label":"èå¿","value":"513223"},{"label":"æ¾æ½å¿","value":"513224"},{"label":"ä¹å¯¨æ²å¿","value":"513225"},{"label":"éå·å¿","value":"513226"},{"label":"å°éå¿","value":"513227"},{"label":"黿°´å¿","value":"513228"},{"label":"壤å¡å¿","value":"513230"},{"label":"é¿åå¿","value":"513231"},{"label":"è¥å°çå¿","value":"513232"},{"label":"红åå¿","value":"513233"}],[{"label":"康å®å¸","value":"513301"},{"label":"泸å®å¿","value":"513322"},{"label":"丹巴å¿","value":"513323"},{"label":"ä¹é¾å¿","value":"513324"},{"label":"é
æ±å¿","value":"513325"},{"label":"éåå¿","value":"513326"},{"label":"çéå¿","value":"513327"},{"label":"çåå¿","value":"513328"},{"label":"æ°é¾å¿","value":"513329"},{"label":"å¾·æ ¼å¿","value":"513330"},{"label":"ç½çå¿","value":"513331"},{"label":"ç³æ¸ å¿","value":"513332"},{"label":"è²è¾¾å¿","value":"513333"},{"label":"çå¡å¿","value":"513334"},{"label":"å·´å¡å¿","value":"513335"},{"label":"乡åå¿","value":"513336"},{"label":"稻åå¿","value":"513337"},{"label":"å¾è£å¿","value":"513338"}],[{"label":"西æå¸","value":"513401"},{"label":"æ¨éèæèªæ²»å¿","value":"513422"},{"label":"çæºå¿","value":"513423"},{"label":"å¾·æå¿","value":"513424"},{"label":"ä¼çå¿","value":"513425"},{"label":"ä¼ä¸å¿","value":"513426"},{"label":"å®åå¿","value":"513427"},{"label":"æ®æ ¼å¿","value":"513428"},{"label":"叿å¿","value":"513429"},{"label":"éé³å¿","value":"513430"},{"label":"æè§å¿","value":"513431"},{"label":"åå¾·å¿","value":"513432"},{"label":"åå®å¿","value":"513433"},{"label":"è¶è¥¿å¿","value":"513434"},{"label":"çæ´å¿","value":"513435"},{"label":"ç¾å§å¿","value":"513436"},{"label":"é·æ³¢å¿","value":"513437"}]],[[{"label":"åæåº","value":"520102"},{"label":"äºå²©åº","value":"520103"},{"label":"è±æºªåº","value":"520111"},{"label":"ä¹å½åº","value":"520112"},{"label":"ç½äºåº","value":"520113"},{"label":"è§å±±æ¹åº","value":"520115"},{"label":"å¼é³å¿","value":"520121"},{"label":"æ¯ç½å¿","value":"520122"},{"label":"ä¿®æå¿","value":"520123"},{"label":"æ¸
éå¸","value":"520181"}],[{"label":"éå±±åº","value":"520201"},{"label":"å
æç¹åº","value":"520203"},{"label":"æ°´åå¿","value":"520221"},{"label":"çå·å¸","value":"520281"}],[{"label":"红è±å²åº","value":"520302"},{"label":"æ±å·åº","value":"520303"},{"label":"æå·åº","value":"520304"},{"label":"æ¡æ¢å¿","value":"520322"},{"label":"绥é³å¿","value":"520323"},{"label":"æ£å®å¿","value":"520324"},{"label":"éç仡佬æèæèªæ²»å¿","value":"520325"},{"label":"å¡å·ä»¡ä½¬æèæèªæ²»å¿","value":"520326"},{"label":"å¤åå¿","value":"520327"},{"label":"æ¹æ½å¿","value":"520328"},{"label":"ä½åºå¿","value":"520329"},{"label":"ä¹ æ°´å¿","value":"520330"},{"label":"赤水å¸","value":"520381"},{"label":"仿å¸","value":"520382"}],[{"label":"西ç§åº","value":"520402"},{"label":"å¹³ååº","value":"520403"},{"label":"æ®å®å¿","value":"520422"},{"label":"éå®å¸ä¾æèæèªæ²»å¿","value":"520423"},{"label":"å
³å²å¸ä¾æèæèªæ²»å¿","value":"520424"},{"label":"ç´«äºèæå¸ä¾æèªæ²»å¿","value":"520425"}],[{"label":"䏿å
³åº","value":"520502"},{"label":"大æ¹å¿","value":"520521"},{"label":"é»è¥¿å¿","value":"520522"},{"label":"éæ²å¿","value":"520523"},{"label":"ç»éå¿","value":"520524"},{"label":"纳éå¿","value":"520525"},{"label":"å¨å®å½æåæèæèªæ²»å¿","value":"520526"},{"label":"èµ«ç« å¿","value":"520527"}],[{"label":"碧æ±åº","value":"520602"},{"label":"ä¸å±±åº","value":"520603"},{"label":"æ±å£å¿","value":"520621"},{"label":"çå±ä¾æèªæ²»å¿","value":"520622"},{"label":"ç³é¡å¿","value":"520623"},{"label":"æåå¿","value":"520624"},{"label":"å°æ±åå®¶æèæèªæ²»å¿","value":"520625"},{"label":"å¾·æ±å¿","value":"520626"},{"label":"沿河åå®¶æèªæ²»å¿","value":"520627"},{"label":"æ¾æ¡èæèªæ²»å¿","value":"520628"}],[{"label":"å
´ä¹å¸","value":"522301"},{"label":"å
´ä»å¿","value":"522322"},{"label":"æ®å®å¿","value":"522323"},{"label":"æ´éå¿","value":"522324"},{"label":"è´ä¸°å¿","value":"522325"},{"label":"æè°å¿","value":"522326"},{"label":"å亨å¿","value":"522327"},{"label":"å®é¾å¿","value":"522328"}],[{"label":"å¯éå¸","value":"522601"},{"label":"é»å¹³å¿","value":"522622"},{"label":"æ½ç§å¿","value":"522623"},{"label":"ä¸ç©å¿","value":"522624"},{"label":"éè¿å¿","value":"522625"},{"label":"å²å·©å¿","value":"522626"},{"label":"天æ±å¿","value":"522627"},{"label":"é¦å±å¿","value":"522628"},{"label":"åæ²³å¿","value":"522629"},{"label":"å°æ±å¿","value":"522630"},{"label":"é»å¹³å¿","value":"522631"},{"label":"æ¦æ±å¿","value":"522632"},{"label":"仿±å¿","value":"522633"},{"label":"é·å±±å¿","value":"522634"},{"label":"麻æ±å¿","value":"522635"},{"label":"丹寨å¿","value":"522636"}],[{"label":"é½åå¸","value":"522701"},{"label":"ç¦æ³å¸","value":"522702"},{"label":"èæ³¢å¿","value":"522722"},{"label":"è´µå®å¿","value":"522723"},{"label":"ç®å®å¿","value":"522725"},{"label":"ç¬å±±å¿","value":"522726"},{"label":"å¹³å¡å¿","value":"522727"},{"label":"ç½ç¸å¿","value":"522728"},{"label":"é¿é¡ºå¿","value":"522729"},{"label":"é¾éå¿","value":"522730"},{"label":"æ æ°´å¿","value":"522731"},{"label":"ä¸é½æ°´æèªæ²»å¿","value":"522732"}]],[[{"label":"äºååº","value":"530102"},{"label":"çé¾åº","value":"530103"},{"label":"宿¸¡åº","value":"530111"},{"label":"西山åº","value":"530112"},{"label":"ä¸å·åº","value":"530113"},{"label":"åè´¡åº","value":"530114"},{"label":"æå®åº","value":"530115"},{"label":"坿°å¿","value":"530124"},{"label":"å®è¯å¿","value":"530125"},{"label":"ç³æå½æèªæ²»å¿","value":"530126"},{"label":"嵩æå¿","value":"530127"},{"label":"ç¦å彿èæèªæ²»å¿","value":"530128"},{"label":"寻ç¸åæå½æèªæ²»å¿","value":"530129"},{"label":"å®å®å¸","value":"530181"}],[{"label":"éºéºåº","value":"530302"},{"label":"æ²¾çåº","value":"530303"},{"label":"马é¾å¿","value":"530321"},{"label":"éè¯å¿","value":"530322"},{"label":"å¸å®å¿","value":"530323"},{"label":"ç½å¹³å¿","value":"530324"},{"label":"坿ºå¿","value":"530325"},{"label":"伿³½å¿","value":"530326"},{"label":"宣å¨å¸","value":"530381"}],[{"label":"红å¡åº","value":"530402"},{"label":"æ±å·åº","value":"530403"},{"label":"æ¾æ±å¿","value":"530422"},{"label":"éæµ·å¿","value":"530423"},{"label":"åå®å¿","value":"530424"},{"label":"æé¨å¿","value":"530425"},{"label":"å³¨å±±å½æèªæ²»å¿","value":"530426"},{"label":"æ°å¹³å½æå£æèªæ²»å¿","value":"530427"},{"label":"å
æ±åå°¼æå½æå£æèªæ²»å¿","value":"530428"}],[{"label":"éé³åº","value":"530502"},{"label":"æ½ç¸å¿","value":"530521"},{"label":"é¾éµå¿","value":"530523"},{"label":"æå®å¿","value":"530524"},{"label":"è
¾å²å¸","value":"530581"}],[{"label":"æé³åº","value":"530602"},{"label":"é²ç¸å¿","value":"530621"},{"label":"å·§å®¶å¿","value":"530622"},{"label":"çæ´¥å¿","value":"530623"},{"label":"大å
³å¿","value":"530624"},{"label":"æ°¸åå¿","value":"530625"},{"label":"绥æ±å¿","value":"530626"},{"label":"ééå¿","value":"530627"},{"label":"å½è¯å¿","value":"530628"},{"label":"å¨ä¿¡å¿","value":"530629"},{"label":"æ°´å¯å¿","value":"530630"}],[{"label":"å¤ååº","value":"530702"},{"label":"çé¾çº³è¥¿æèªæ²»å¿","value":"530721"},{"label":"æ°¸èå¿","value":"530722"},{"label":"ååªå¿","value":"530723"},{"label":"å®èå½æèªæ²»å¿","value":"530724"}],[{"label":"æè
åº","value":"530802"},{"label":"宿´±åå°¼æå½æèªæ²»å¿","value":"530821"},{"label":"墨æ±åå°¼æèªæ²»å¿","value":"530822"},{"label":"æ¯ä¸å½æèªæ²»å¿","value":"530823"},{"label":"æ¯è°·å£æå½æèªæ²»å¿","value":"530824"},{"label":"éæ²
彿åå°¼ææç¥æèªæ²»å¿","value":"530825"},{"label":"æ±ååå°¼æå½æèªæ²»å¿","value":"530826"},{"label":"åè¿å£ææç¥æä½¤æèªæ²»å¿","value":"530827"},{"label":"æ¾æ²§æç¥æèªæ²»å¿","value":"530828"},{"label":"西ç佤æèªæ²»å¿","value":"530829"}],[{"label":"临ç¿åº","value":"530902"},{"label":"å¤åºå¿","value":"530921"},{"label":"äºå¿","value":"530922"},{"label":"永德å¿","value":"530923"},{"label":"é康å¿","value":"530924"},{"label":"åæ±æç¥æä½¤æå¸ææå£æèªæ²»å¿","value":"530925"},{"label":"è¿é©¬å£æä½¤æèªæ²»å¿","value":"530926"},{"label":"æ²§æºä½¤æèªæ²»å¿","value":"530927"}],[{"label":"æ¥éå¸","value":"532301"},{"label":"åæå¿","value":"532322"},{"label":"çå®å¿","value":"532323"},{"label":"ååå¿","value":"532324"},{"label":"å§å®å¿","value":"532325"},{"label":"大å§å¿","value":"532326"},{"label":"æ°¸ä»å¿","value":"532327"},{"label":"å
è°å¿","value":"532328"},{"label":"æ¦å®å¿","value":"532329"},{"label":"ç¦ä¸°å¿","value":"532331"}],[{"label":"个æ§å¸","value":"532501"},{"label":"å¼è¿å¸","value":"532502"},{"label":"èèªå¸","value":"532503"},{"label":"å¼¥åå¸","value":"532504"},{"label":"å±è¾¹èæèªæ²»å¿","value":"532523"},{"label":"建水å¿","value":"532524"},{"label":"ç³å±å¿","value":"532525"},{"label":"泸西å¿","value":"532527"},{"label":"å
é³å¿","value":"532528"},{"label":"红河å¿","value":"532529"},{"label":"éå¹³èæç¶æå£æèªæ²»å¿","value":"532530"},{"label":"绿æ¥å¿","value":"532531"},{"label":"æ²³å£ç¶æèªæ²»å¿","value":"532532"}],[{"label":"æå±±å¸","value":"532601"},{"label":"ç å±±å¿","value":"532622"},{"label":"西ç´å¿","value":"532623"},{"label":"麻æ å¡å¿","value":"532624"},{"label":"马å
³å¿","value":"532625"},{"label":"ä¸åå¿","value":"532626"},{"label":"广åå¿","value":"532627"},{"label":"å¯å®å¿","value":"532628"}],[{"label":"æ¯æ´ªå¸","value":"532801"},{"label":"åæµ·å¿","value":"532822"},{"label":"åè
å¿","value":"532823"}],[{"label":"大çå¸","value":"532901"},{"label":"æ¼¾æ¿å½æèªæ²»å¿","value":"532922"},{"label":"祥äºå¿","value":"532923"},{"label":"宾å·å¿","value":"532924"},{"label":"弥渡å¿","value":"532925"},{"label":"åæ¶§å½æèªæ²»å¿","value":"532926"},{"label":"å·å±±å½æåæèªæ²»å¿","value":"532927"},{"label":"永平å¿","value":"532928"},{"label":"äºé¾å¿","value":"532929"},{"label":"æ´±æºå¿","value":"532930"},{"label":"åå·å¿","value":"532931"},{"label":"鹤åºå¿","value":"532932"}],[{"label":"ç丽å¸","value":"533102"},{"label":"èå¸","value":"533103"},{"label":"æ¢æ²³å¿","value":"533122"},{"label":"çæ±å¿","value":"533123"},{"label":"éå·å¿","value":"533124"}],[{"label":"泸水å¸","value":"533301"},{"label":"ç¦è´¡å¿","value":"533323"},{"label":"è´¡å±±ç¬é¾æææèªæ²»å¿","value":"533324"},{"label":"å
°åªç½ææ®ç±³æèªæ²»å¿","value":"533325"}],[{"label":"馿 ¼éæå¸","value":"533401"},{"label":"å¾·é¦å¿","value":"533422"},{"label":"维西åå³æèªæ²»å¿","value":"533423"}]],[[{"label":"åå
³åº","value":"540102"},{"label":"å é¾å¾·åºåº","value":"540103"},{"label":"æå¨å¿","value":"540121"},{"label":"å½éå¿","value":"540122"},{"label":"å°¼æ¨å¿","value":"540123"},{"label":"æ²æ°´å¿","value":"540124"},{"label":"è¾¾åå¿","value":"540126"},{"label":"墨竹工å¡å¿","value":"540127"},{"label":"æ ¼å°æ¨èéå·¥ä¸ååº","value":"540171"},{"label":"æè¨ç»æµææ¯å¼ååº","value":"540172"},{"label":"西èæåæ
游åæååº","value":"540173"},{"label":"è¾¾åå·¥ä¸ååº","value":"540174"}],[{"label":"æ¡ç ååº","value":"540202"},{"label":"忍æå¿","value":"540221"},{"label":"æ±åå¿","value":"540222"},{"label":"宿¥å¿","value":"540223"},{"label":"è¨è¿¦å¿","value":"540224"},{"label":"æåå¿","value":"540225"},{"label":"æä»å¿","value":"540226"},{"label":"è°¢éé¨å¿","value":"540227"},{"label":"ç½æå¿","value":"540228"},{"label":"ä»å¸å¿","value":"540229"},{"label":"康马å¿","value":"540230"},{"label":"å®ç»å¿","value":"540231"},{"label":"仲巴å¿","value":"540232"},{"label":"äºä¸å¿","value":"540233"},{"label":"åéå¿","value":"540234"},{"label":"èææ¨å¿","value":"540235"},{"label":"è¨åå¿","value":"540236"},{"label":"å²å·´å¿","value":"540237"}],[{"label":"å¡è¥åº","value":"540302"},{"label":"æ±è¾¾å¿","value":"540321"},{"label":"è´¡è§å¿","value":"540322"},{"label":"ç±»ä¹é½å¿","value":"540323"},{"label":"ä¸éå¿","value":"540324"},{"label":"å¯é
å¿","value":"540325"},{"label":"å
«å®¿å¿","value":"540326"},{"label":"左贡å¿","value":"540327"},{"label":"è康å¿","value":"540328"},{"label":"æ´éå¿","value":"540329"},{"label":"è¾¹åå¿","value":"540330"}],[{"label":"å·´å®åº","value":"540402"},{"label":"工叿±è¾¾å¿","value":"540421"},{"label":"ç±³æå¿","value":"540422"},{"label":"墨è±å¿","value":"540423"},{"label":"æ³¢å¯å¿","value":"540424"},{"label":"å¯é
å¿","value":"540425"},{"label":"æå¿","value":"540426"}],[{"label":"ä¹ä¸åº","value":"540502"},{"label":"æåå¿","value":"540521"},{"label":"è´¡åå¿","value":"540522"},{"label":"æ¡æ¥å¿","value":"540523"},{"label":"ç¼ç»å¿","value":"540524"},{"label":"æ²æ¾å¿","value":"540525"},{"label":"æªç¾å¿","value":"540526"},{"label":"æ´æå¿","value":"540527"},{"label":"å æ¥å¿","value":"540528"},{"label":"éåå¿","value":"540529"},{"label":"éé£å¿","value":"540530"},{"label":"浪å¡åå¿","value":"540531"}],[{"label":"飿²å¿","value":"542421"},{"label":"åé»å¿","value":"542422"},{"label":"æ¯å¦å¿","value":"542423"},{"label":"èè£å¿","value":"542424"},{"label":"å®å¤å¿","value":"542425"},{"label":"ç³æå¿","value":"542426"},{"label":"ç´¢å¿","value":"542427"},{"label":"çæå¿","value":"542428"},{"label":"å·´éå¿","value":"542429"},{"label":"å°¼çå¿","value":"542430"},{"label":"åæ¹å¿","value":"542431"}],[{"label":"æ®å
°å¿","value":"542521"},{"label":"æè¾¾å¿","value":"542522"},{"label":"å¶å°å¿","value":"542523"},{"label":"æ¥åå¿","value":"542524"},{"label":"é©åå¿","value":"542525"},{"label":"æ¹åå¿","value":"542526"},{"label":"æªå¤å¿","value":"542527"}]],[[{"label":"æ°ååº","value":"610102"},{"label":"ç¢æåº","value":"610103"},{"label":"è²æ¹åº","value":"610104"},{"label":"çæ¡¥åº","value":"610111"},{"label":"æªå¤®åº","value":"610112"},{"label":"éå¡åº","value":"610113"},{"label":"éè¯åº","value":"610114"},{"label":"临潼åº","value":"610115"},{"label":"é¿å®åº","value":"610116"},{"label":"é«éµåº","value":"610117"},{"label":"é éåº","value":"610118"},{"label":"èç°å¿","value":"610122"},{"label":"å¨è³å¿","value":"610124"}],[{"label":"ççåº","value":"610202"},{"label":"å°å°åº","value":"610203"},{"label":"èå·åº","value":"610204"},{"label":"å®åå¿","value":"610222"}],[{"label":"æ¸æ»¨åº","value":"610302"},{"label":"éå°åº","value":"610303"},{"label":"éä»åº","value":"610304"},{"label":"å¤ç¿å¿","value":"610322"},{"label":"å²å±±å¿","value":"610323"},{"label":"æ¶é£å¿","value":"610324"},{"label":"çå¿","value":"610326"},{"label":"éå¿","value":"610327"},{"label":"åé³å¿","value":"610328"},{"label":"éºæ¸¸å¿","value":"610329"},{"label":"å¤å¿","value":"610330"},{"label":"太ç½å¿","value":"610331"}],[{"label":"秦é½åº","value":"610402"},{"label":"æ¨éµåº","value":"610403"},{"label":"æ¸ååº","value":"610404"},{"label":"ä¸åå¿","value":"610422"},{"label":"æ³¾é³å¿","value":"610423"},{"label":"ä¹¾å¿","value":"610424"},{"label":"礼æ³å¿","value":"610425"},{"label":"永寿å¿","value":"610426"},{"label":"彬å¿","value":"610427"},{"label":"é¿æ¦å¿","value":"610428"},{"label":"æ¬éå¿","value":"610429"},{"label":"æ·³åå¿","value":"610430"},{"label":"æ¦åå¿","value":"610431"},{"label":"å
´å¹³å¸","value":"610481"}],[{"label":"临æ¸åº","value":"610502"},{"label":"åå·åº","value":"610503"},{"label":"æ½¼å
³å¿","value":"610522"},{"label":"大èå¿","value":"610523"},{"label":"åé³å¿","value":"610524"},{"label":"æ¾åå¿","value":"610525"},{"label":"è²åå¿","value":"610526"},{"label":"ç½æ°´å¿","value":"610527"},{"label":"å¯å¹³å¿","value":"610528"},{"label":"é©åå¸","value":"610581"},{"label":"åé´å¸","value":"610582"}],[{"label":"å®å¡åº","value":"610602"},{"label":"å®å¡åº","value":"610603"},{"label":"å»¶é¿å¿","value":"610621"},{"label":"å»¶å·å¿","value":"610622"},{"label":"åé¿å¿","value":"610623"},{"label":"å¿ä¸¹å¿","value":"610625"},{"label":"å´èµ·å¿","value":"610626"},{"label":"çæ³å¿","value":"610627"},{"label":"å¯å¿","value":"610628"},{"label":"æ´å·å¿","value":"610629"},{"label":"å®å·å¿","value":"610630"},{"label":"é»é¾å¿","value":"610631"},{"label":"é»éµå¿","value":"610632"}],[{"label":"æ±å°åº","value":"610702"},{"label":"åéåº","value":"610703"},{"label":"ååºå¿","value":"610722"},{"label":"æ´å¿","value":"610723"},{"label":"西乡å¿","value":"610724"},{"label":"åå¿","value":"610725"},{"label":"å®å¼ºå¿","value":"610726"},{"label":"ç¥é³å¿","value":"610727"},{"label":"éå·´å¿","value":"610728"},{"label":"çåå¿","value":"610729"},{"label":"ä½åªå¿","value":"610730"}],[{"label":"æ¦é³åº","value":"610802"},{"label":"横山åº","value":"610803"},{"label":"åºè°·å¿","value":"610822"},{"label":"éè¾¹å¿","value":"610824"},{"label":"å®è¾¹å¿","value":"610825"},{"label":"绥德å¿","value":"610826"},{"label":"ç±³èå¿","value":"610827"},{"label":"ä½³å¿","value":"610828"},{"label":"å´å ¡å¿","value":"610829"},{"label":"æ¸
æ¶§å¿","value":"610830"},{"label":"åæ´²å¿","value":"610831"},{"label":"ç¥æ¨å¸","value":"610881"}],[{"label":"æ±æ»¨åº","value":"610902"},{"label":"æ±é´å¿","value":"610921"},{"label":"ç³æ³å¿","value":"610922"},{"label":"å®éå¿","value":"610923"},{"label":"ç´«é³å¿","value":"610924"},{"label":"å²çå¿","value":"610925"},{"label":"å¹³å©å¿","value":"610926"},{"label":"éåªå¿","value":"610927"},{"label":"æ¬é³å¿","value":"610928"},{"label":"ç½æ²³å¿","value":"610929"}],[{"label":"åå·åº","value":"611002"},{"label":"æ´åå¿","value":"611021"},{"label":"丹å¤å¿","value":"611022"},{"label":"ååå¿","value":"611023"},{"label":"å±±é³å¿","value":"611024"},{"label":"éå®å¿","value":"611025"},{"label":"ææ°´å¿","value":"611026"}]],[[{"label":"åå
³åº","value":"620102"},{"label":"ä¸éæ²³åº","value":"620103"},{"label":"西åºåº","value":"620104"},{"label":"å®å®åº","value":"620105"},{"label":"红å¤åº","value":"620111"},{"label":"æ°¸ç»å¿","value":"620121"},{"label":"çå
°å¿","value":"620122"},{"label":"æ¦ä¸å¿","value":"620123"},{"label":"å
°å·æ°åº","value":"620171"}],[{"label":"å峪å
³å¸","value":"620201"}],[{"label":"éå·åº","value":"620302"},{"label":"æ°¸æå¿","value":"620321"}],[{"label":"ç½é¶åº","value":"620402"},{"label":"å¹³å·åº","value":"620403"},{"label":"éè¿å¿","value":"620421"},{"label":"ä¼å®å¿","value":"620422"},{"label":"æ¯æ³°å¿","value":"620423"}],[{"label":"秦å·åº","value":"620502"},{"label":"麦积åº","value":"620503"},{"label":"æ¸
æ°´å¿","value":"620521"},{"label":"秦å®å¿","value":"620522"},{"label":"çè°·å¿","value":"620523"},{"label":"æ¦å±±å¿","value":"620524"},{"label":"å¼ å®¶å·åæèªæ²»å¿","value":"620525"}],[{"label":"åå·åº","value":"620602"},{"label":"æ°å¤å¿","value":"620621"},{"label":"夿µªå¿","value":"620622"},{"label":"天ç¥èæèªæ²»å¿","value":"620623"}],[{"label":"çå·åº","value":"620702"},{"label":"èåè£åºæèªæ²»å¿","value":"620721"},{"label":"æ°ä¹å¿","value":"620722"},{"label":"临泽å¿","value":"620723"},{"label":"é«å°å¿","value":"620724"},{"label":"山丹å¿","value":"620725"}],[{"label":"å´å³åº","value":"620802"},{"label":"æ³¾å·å¿","value":"620821"},{"label":"çµå°å¿","value":"620822"},{"label":"å´ä¿¡å¿","value":"620823"},{"label":"åäºå¿","value":"620824"},{"label":"åºæµªå¿","value":"620825"},{"label":"éå®å¿","value":"620826"},{"label":"å¹³åå·¥ä¸ååº","value":"620871"}],[{"label":"èå·åº","value":"620902"},{"label":"éå¡å¿","value":"620921"},{"label":"çå·å¿","value":"620922"},{"label":"èåèå¤æèªæ²»å¿","value":"620923"},{"label":"é¿å
å¡åè¨å
æèªæ²»å¿","value":"620924"},{"label":"çé¨å¸","value":"620981"},{"label":"æ¦ç
å¸","value":"620982"}],[{"label":"西峰åº","value":"621002"},{"label":"åºåå¿","value":"621021"},{"label":"ç¯å¿","value":"621022"},{"label":"åæ± å¿","value":"621023"},{"label":"åæ°´å¿","value":"621024"},{"label":"æ£å®å¿","value":"621025"},{"label":"å®å¿","value":"621026"},{"label":"éåå¿","value":"621027"}],[{"label":"å®å®åº","value":"621102"},{"label":"鿏å¿","value":"621121"},{"label":"é西å¿","value":"621122"},{"label":"æ¸æºå¿","value":"621123"},{"label":"临洮å¿","value":"621124"},{"label":"æ¼³å¿","value":"621125"},{"label":"å²·å¿","value":"621126"}],[{"label":"æ¦é½åº","value":"621202"},{"label":"æå¿","value":"621221"},{"label":"æå¿","value":"621222"},{"label":"宿å¿","value":"621223"},{"label":"康å¿","value":"621224"},{"label":"西åå¿","value":"621225"},{"label":"礼å¿","value":"621226"},{"label":"å¾½å¿","value":"621227"},{"label":"两å½å¿","value":"621228"}],[{"label":"临å¤å¸","value":"622901"},{"label":"临å¤å¿","value":"622921"},{"label":"康ä¹å¿","value":"622922"},{"label":"æ°¸éå¿","value":"622923"},{"label":"广河å¿","value":"622924"},{"label":"åæ¿å¿","value":"622925"},{"label":"ä¸ä¹¡æèªæ²»å¿","value":"622926"},{"label":"积ç³å±±ä¿å®æä¸ä¹¡ææææèªæ²»å¿","value":"622927"}],[{"label":"åä½å¸","value":"623001"},{"label":"临æ½å¿","value":"623021"},{"label":"åå°¼å¿","value":"623022"},{"label":"èæ²å¿","value":"623023"},{"label":"è¿é¨å¿","value":"623024"},{"label":"çæ²å¿","value":"623025"},{"label":"ç¢æ²å¿","value":"623026"},{"label":"夿²³å¿","value":"623027"}]],[[{"label":"åä¸åº","value":"630102"},{"label":"åä¸åº","value":"630103"},{"label":"å西åº","value":"630104"},{"label":"åååº","value":"630105"},{"label":"大éåæåæèªæ²»å¿","value":"630121"},{"label":"æ¹ä¸å¿","value":"630122"},{"label":"æ¹æºå¿","value":"630123"}],[{"label":"ä¹é½åº","value":"630202"},{"label":"å¹³å®åº","value":"630203"},{"label":"æ°ååæåæèªæ²»å¿","value":"630222"},{"label":"äºå©åæèªæ²»å¿","value":"630223"},{"label":"åéåæèªæ²»å¿","value":"630224"},{"label":"å¾ªåæææèªæ²»å¿","value":"630225"}],[{"label":"鍿ºåæèªæ²»å¿","value":"632221"},{"label":"ç¥è¿å¿","value":"632222"},{"label":"æµ·æå¿","value":"632223"},{"label":"åå¯å¿","value":"632224"}],[{"label":"åä»å¿","value":"632321"},{"label":"å°æå¿","value":"632322"},{"label":"æ³½åºå¿","value":"632323"},{"label":"æ²³åèå¤æèªæ²»å¿","value":"632324"}],[{"label":"å
±åå¿","value":"632521"},{"label":"åå¾·å¿","value":"632522"},{"label":"贵德å¿","value":"632523"},{"label":"å
´æµ·å¿","value":"632524"},{"label":"è´µåå¿","value":"632525"}],[{"label":"çæ²å¿","value":"632621"},{"label":"ççå¿","value":"632622"},{"label":"çå¾·å¿","value":"632623"},{"label":"è¾¾æ¥å¿","value":"632624"},{"label":"ä¹
æ²»å¿","value":"632625"},{"label":"çå¤å¿","value":"632626"}],[{"label":"çæ å¸","value":"632701"},{"label":"æå¤å¿","value":"632722"},{"label":"ç§°å¤å¿","value":"632723"},{"label":"æ²»å¤å¿","value":"632724"},{"label":"åè°¦å¿","value":"632725"},{"label":"æ²éº»è±å¿","value":"632726"}],[{"label":"æ ¼å°æ¨å¸","value":"632801"},{"label":"德令åå¸","value":"632802"},{"label":"ä¹å
°å¿","value":"632821"},{"label":"é½å
°å¿","value":"632822"},{"label":"天峻å¿","value":"632823"},{"label":"å¤§æ´æ¦è¡æ¿å§åä¼","value":"632857"},{"label":"å·æ¹è¡æ¿å§åä¼","value":"632858"},{"label":"è«å´è¡æ¿å§åä¼","value":"632859"}]],[[{"label":"å
´åºåº","value":"640104"},{"label":"西å¤åº","value":"640105"},{"label":"éå¤åº","value":"640106"},{"label":"æ°¸å®å¿","value":"640121"},{"label":"è´ºå
°å¿","value":"640122"},{"label":"çµæ¦å¸","value":"640181"}],[{"label":"大æ¦å£åº","value":"640202"},{"label":"æ ååº","value":"640205"},{"label":"å¹³ç½å¿","value":"640221"}],[{"label":"å©éåº","value":"640302"},{"label":"çº¢å¯ºå ¡åº","value":"640303"},{"label":"çæ± å¿","value":"640323"},{"label":"åå¿å¿","value":"640324"},{"label":"éé峡å¸","value":"640381"}],[{"label":"åå·åº","value":"640402"},{"label":"西åå¿","value":"640422"},{"label":"éå¾·å¿","value":"640423"},{"label":"æ³¾æºå¿","value":"640424"},{"label":"å½é³å¿","value":"640425"}],[{"label":"æ²å¡å¤´åº","value":"640502"},{"label":"ä¸å®å¿","value":"640521"},{"label":"æµ·åå¿","value":"640522"}]],[[{"label":"天山åº","value":"650102"},{"label":"æ²ä¾å·´å
åº","value":"650103"},{"label":"æ°å¸åº","value":"650104"},{"label":"水磨æ²åº","value":"650105"},{"label":"头屯河åº","value":"650106"},{"label":"è¾¾åååº","value":"650107"},{"label":"ç±³ä¸åº","value":"650109"},{"label":"ä¹é²æ¨é½å¿","value":"650121"},{"label":"ä¹é²æ¨é½ç»æµææ¯å¼ååº","value":"650171"},{"label":"ä¹é²æ¨é½é«æ°ææ¯äº§ä¸å¼ååº","value":"650172"}],[{"label":"ç¬å±±ååº","value":"650202"},{"label":"å
æçä¾åº","value":"650203"},{"label":"ç½ç¢±æ»©åº","value":"650204"},{"label":"ä¹å°ç¦¾åº","value":"650205"}],[{"label":"髿åº","value":"650402"},{"label":"é¯åå¿","value":"650421"},{"label":"æå
éå¿","value":"650422"}],[{"label":"ä¼å·åº","value":"650502"},{"label":"å·´éå¤åè¨å
èªæ²»å¿","value":"650521"},{"label":"ä¼å¾å¿","value":"650522"}],[{"label":"æåå¸","value":"652301"},{"label":"é康å¸","value":"652302"},{"label":"å¼å¾å£å¿","value":"652323"},{"label":"ç纳æ¯å¿","value":"652324"},{"label":"å¥å°å¿","value":"652325"},{"label":"忍è¨å°å¿","value":"652327"},{"label":"æ¨ååè¨å
èªæ²»å¿","value":"652328"}],[{"label":"åä¹å¸","value":"652701"},{"label":"é¿æå±±å£å¸","value":"652702"},{"label":"精河å¿","value":"652722"},{"label":"温æ³å¿","value":"652723"}],[{"label":"åºå°åå¸","value":"652801"},{"label":"è½®å°å¿","value":"652822"},{"label":"å°çå¿","value":"652823"},{"label":"è¥ç¾å¿","value":"652824"},{"label":"䏿«å¿","value":"652825"},{"label":"çèåæèªæ²»å¿","value":"652826"},{"label":"åéå¿","value":"652827"},{"label":"åç¡å¿","value":"652828"},{"label":"åæ¹å¿","value":"652829"},{"label":"åºå°åç»æµææ¯å¼ååº","value":"652871"}],[{"label":"é¿å
èå¸","value":"652901"},{"label":"温宿å¿","value":"652922"},{"label":"åºè½¦å¿","value":"652923"},{"label":"æ²é
å¿","value":"652924"},{"label":"æ°åå¿","value":"652925"},{"label":"æåå¿","value":"652926"},{"label":"ä¹ä»å¿","value":"652927"},{"label":"é¿ç¦æå¿","value":"652928"},{"label":"æ¯åªå¿","value":"652929"}],[{"label":"é¿å¾ä»å¸","value":"653001"},{"label":"é¿å
é¶å¿","value":"653022"},{"label":"é¿åå¥å¿","value":"653023"},{"label":"乿°å¿","value":"653024"}],[{"label":"åä»å¸","value":"653101"},{"label":"çéå¿","value":"653121"},{"label":"çåå¿","value":"653122"},{"label":"è±åæ²å¿","value":"653123"},{"label":"æ³½æ®å¿","value":"653124"},{"label":"è车å¿","value":"653125"},{"label":"å¶åå¿","value":"653126"},{"label":"麦çæå¿","value":"653127"},{"label":"å²³æ®æ¹å¿","value":"653128"},{"label":"ä¼½å¸å¿","value":"653129"},{"label":"å·´æ¥å¿","value":"653130"},{"label":"å¡ä»åºå°å¹²å¡åå
èªæ²»å¿","value":"653131"}],[{"label":"åç°å¸","value":"653201"},{"label":"åç°å¿","value":"653221"},{"label":"墨çå¿","value":"653222"},{"label":"ç®å±±å¿","value":"653223"},{"label":"æ´æµ¦å¿","value":"653224"},{"label":"çåå¿","value":"653225"},{"label":"äºç°å¿","value":"653226"},{"label":"æ°ä¸°å¿","value":"653227"}],[{"label":"ä¼å®å¸","value":"654002"},{"label":"å¥å±¯å¸","value":"654003"},{"label":"éå°ææ¯å¸","value":"654004"},{"label":"ä¼å®å¿","value":"654021"},{"label":"å¯å¸æ¥å°é¡ä¼¯èªæ²»å¿","value":"654022"},{"label":"éåå¿","value":"654023"},{"label":"å·©çå¿","value":"654024"},{"label":"æ°æºå¿","value":"654025"},{"label":"æèå¿","value":"654026"},{"label":"ç¹å
æ¯å¿","value":"654027"},{"label":"å°¼åå
å¿","value":"654028"}],[{"label":"å¡åå¸","value":"654201"},{"label":"ä¹èå¸","value":"654202"},{"label":"颿å¿","value":"654221"},{"label":"æ²æ¹¾å¿","value":"654223"},{"label":"æéå¿","value":"654224"},{"label":"è£æ°å¿","value":"654225"},{"label":"åå¸å
èµå°èå¤èªæ²»å¿","value":"654226"}],[{"label":"é¿åæ³°å¸","value":"654301"},{"label":"å¸å°æ´¥å¿","value":"654321"},{"label":"å¯è´å¿","value":"654322"},{"label":"ç¦æµ·å¿","value":"654323"},{"label":"åå·´æ²³å¿","value":"654324"},{"label":"éæ²³å¿","value":"654325"},{"label":"忍ä¹å¿","value":"654326"}],[{"label":"ç³æ²³åå¸","value":"659001"},{"label":"é¿æå°å¸","value":"659002"},{"label":"徿¨èå
å¸","value":"659003"},{"label":"äºå®¶æ¸ å¸","value":"659004"},{"label":"éé¨å
³å¸","value":"659006"}]],[[{"label":"å°å","value":"660101"}],[{"label":"é«é","value":"660201"}],[{"label":"åºé","value":"660301"}],[{"label":"å°ä¸","value":"660401"}],[{"label":"å°å","value":"660501"}],[{"label":"æ°ç«¹","value":"660601"}],[{"label":"åä¹","value":"660701"}],[{"label":"å®å
°","value":"660801"}],[{"label":"æ¡å","value":"660901"}],[{"label":"èæ ","value":"661001"}],[{"label":"å½°å","value":"661101"}],[{"label":"åæ","value":"661201"}],[{"label":"äºæ","value":"661301"}],[{"label":"å±ä¸","value":"661401"}],[{"label":"å°ä¸","value":"661501"}],[{"label":"è±è²","value":"661601"}],[{"label":"æ¾æ¹","value":"661701"}]],[[{"label":"馿¸¯å²","value":"670101"}],[{"label":"ä¹é¾","value":"670201"}],[{"label":"æ°ç","value":"670301"}]],[[{"label":"æ¾³é¨åå²","value":"680101"}],[{"label":"æ°¹ä»å²","value":"680201"}],[{"label":"è·¯ç¯å²","value":"680301"}],[{"label":"路氹å","value":"680401"}]]];export default areaData; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | var cityData=[[{"label":"å¸è¾åº","value":"1101"}],[{"label":"å¸è¾åº","value":"1201"}],[{"label":"ç³å®¶åºå¸","value":"1301"},{"label":"åå±±å¸","value":"1302"},{"label":"秦çå²å¸","value":"1303"},{"label":"é¯é¸å¸","value":"1304"},{"label":"é¢å°å¸","value":"1305"},{"label":"ä¿å®å¸","value":"1306"},{"label":"å¼ å®¶å£å¸","value":"1307"},{"label":"æ¿å¾·å¸","value":"1308"},{"label":"æ²§å·å¸","value":"1309"},{"label":"å»åå¸","value":"1310"},{"label":"è¡¡æ°´å¸","value":"1311"}],[{"label":"太åå¸","value":"1401"},{"label":"大åå¸","value":"1402"},{"label":"鳿³å¸","value":"1403"},{"label":"é¿æ²»å¸","value":"1404"},{"label":"æåå¸","value":"1405"},{"label":"æå·å¸","value":"1406"},{"label":"æä¸å¸","value":"1407"},{"label":"è¿åå¸","value":"1408"},{"label":"å¿»å·å¸","value":"1409"},{"label":"临汾å¸","value":"1410"},{"label":"忢å¸","value":"1411"}],[{"label":"å¼å浩ç¹å¸","value":"1501"},{"label":"å
头å¸","value":"1502"},{"label":"乿µ·å¸","value":"1503"},{"label":"赤峰å¸","value":"1504"},{"label":"éè¾½å¸","value":"1505"},{"label":"éå°å¤æ¯å¸","value":"1506"},{"label":"å¼ä¼¦è´å°å¸","value":"1507"},{"label":"巴彦æ·å°å¸","value":"1508"},{"label":"ä¹å
°å¯å¸å¸","value":"1509"},{"label":"å
´å®ç","value":"1522"},{"label":"顿éåç","value":"1525"},{"label":"é¿æåç","value":"1529"}],[{"label":"æ²é³å¸","value":"2101"},{"label":"大è¿å¸","value":"2102"},{"label":"éå±±å¸","value":"2103"},{"label":"æé¡ºå¸","value":"2104"},{"label":"æ¬æºªå¸","value":"2105"},{"label":"丹ä¸å¸","value":"2106"},{"label":"é¦å·å¸","value":"2107"},{"label":"è¥å£å¸","value":"2108"},{"label":"éæ°å¸","value":"2109"},{"label":"è¾½é³å¸","value":"2110"},{"label":"çé¦å¸","value":"2111"},{"label":"éå²å¸","value":"2112"},{"label":"æé³å¸","value":"2113"},{"label":"è«è¦å²å¸","value":"2114"}],[{"label":"é¿æ¥å¸","value":"2201"},{"label":"åæå¸","value":"2202"},{"label":"åå¹³å¸","value":"2203"},{"label":"è¾½æºå¸","value":"2204"},{"label":"éåå¸","value":"2205"},{"label":"ç½å±±å¸","value":"2206"},{"label":"æ¾åå¸","value":"2207"},{"label":"ç½åå¸","value":"2208"},{"label":"å»¶è¾¹æé²æèªæ²»å·","value":"2224"}],[{"label":"åå°æ»¨å¸","value":"2301"},{"label":"é½é½åå°å¸","value":"2302"},{"label":"鸡西å¸","value":"2303"},{"label":"鹤å²å¸","value":"2304"},{"label":"åé¸å±±å¸","value":"2305"},{"label":"大åºå¸","value":"2306"},{"label":"伿¥å¸","value":"2307"},{"label":"ä½³æ¨æ¯å¸","value":"2308"},{"label":"ä¸å°æ²³å¸","value":"2309"},{"label":"ç¡ä¸¹æ±å¸","value":"2310"},{"label":"黿²³å¸","value":"2311"},{"label":"绥åå¸","value":"2312"},{"label":"大å
´å®å²å°åº","value":"2327"}],[{"label":"å¸è¾åº","value":"3101"}],[{"label":"å京å¸","value":"3201"},{"label":"æ é¡å¸","value":"3202"},{"label":"å¾å·å¸","value":"3203"},{"label":"常å·å¸","value":"3204"},{"label":"èå·å¸","value":"3205"},{"label":"åéå¸","value":"3206"},{"label":"è¿äºæ¸¯å¸","value":"3207"},{"label":"æ·®å®å¸","value":"3208"},{"label":"çåå¸","value":"3209"},{"label":"æ¬å·å¸","value":"3210"},{"label":"éæ±å¸","value":"3211"},{"label":"æ³°å·å¸","value":"3212"},{"label":"宿è¿å¸","value":"3213"}],[{"label":"æå·å¸","value":"3301"},{"label":"宿³¢å¸","value":"3302"},{"label":"温å·å¸","value":"3303"},{"label":"åå
´å¸","value":"3304"},{"label":"æ¹å·å¸","value":"3305"},{"label":"ç»å
´å¸","value":"3306"},{"label":"éåå¸","value":"3307"},{"label":"è¡¢å·å¸","value":"3308"},{"label":"èå±±å¸","value":"3309"},{"label":"å°å·å¸","value":"3310"},{"label":"丽水å¸","value":"3311"}],[{"label":"åè¥å¸","value":"3401"},{"label":"èæ¹å¸","value":"3402"},{"label":"èå å¸","value":"3403"},{"label":"æ·®åå¸","value":"3404"},{"label":"马éå±±å¸","value":"3405"},{"label":"æ·®åå¸","value":"3406"},{"label":"ééµå¸","value":"3407"},{"label":"å®åºå¸","value":"3408"},{"label":"é»å±±å¸","value":"3410"},{"label":"æ»å·å¸","value":"3411"},{"label":"éé³å¸","value":"3412"},{"label":"宿å·å¸","value":"3413"},{"label":"å
å®å¸","value":"3415"},{"label":"亳å·å¸","value":"3416"},{"label":"æ± å·å¸","value":"3417"},{"label":"宣åå¸","value":"3418"}],[{"label":"ç¦å·å¸","value":"3501"},{"label":"å¦é¨å¸","value":"3502"},{"label":"èç°å¸","value":"3503"},{"label":"䏿å¸","value":"3504"},{"label":"æ³å·å¸","value":"3505"},{"label":"æ¼³å·å¸","value":"3506"},{"label":"åå¹³å¸","value":"3507"},{"label":"é¾å²©å¸","value":"3508"},{"label":"å®å¾·å¸","value":"3509"}],[{"label":"åæå¸","value":"3601"},{"label":"æ¯å¾·éå¸","value":"3602"},{"label":"è乡å¸","value":"3603"},{"label":"乿±å¸","value":"3604"},{"label":"æ°ä½å¸","value":"3605"},{"label":"é¹°æ½å¸","value":"3606"},{"label":"èµ£å·å¸","value":"3607"},{"label":"åå®å¸","value":"3608"},{"label":"宿¥å¸","value":"3609"},{"label":"æå·å¸","value":"3610"},{"label":"ä¸é¥¶å¸","value":"3611"}],[{"label":"æµåå¸","value":"3701"},{"label":"éå²å¸","value":"3702"},{"label":"æ·åå¸","value":"3703"},{"label":"æ£åºå¸","value":"3704"},{"label":"ä¸è¥å¸","value":"3705"},{"label":"çå°å¸","value":"3706"},{"label":"æ½åå¸","value":"3707"},{"label":"æµå®å¸","value":"3708"},{"label":"æ³°å®å¸","value":"3709"},{"label":"卿µ·å¸","value":"3710"},{"label":"æ¥ç
§å¸","value":"3711"},{"label":"è±èå¸","value":"3712"},{"label":"临æ²å¸","value":"3713"},{"label":"å¾·å·å¸","value":"3714"},{"label":"èåå¸","value":"3715"},{"label":"滨å·å¸","value":"3716"},{"label":"èæ³½å¸","value":"3717"}],[{"label":"éå·å¸","value":"4101"},{"label":"å¼å°å¸","value":"4102"},{"label":"æ´é³å¸","value":"4103"},{"label":"平顶山å¸","value":"4104"},{"label":"å®é³å¸","value":"4105"},{"label":"鹤å£å¸","value":"4106"},{"label":"æ°ä¹¡å¸","value":"4107"},{"label":"ç¦ä½å¸","value":"4108"},{"label":"æ¿®é³å¸","value":"4109"},{"label":"许æå¸","value":"4110"},{"label":"漯河å¸","value":"4111"},{"label":"ä¸é¨å³¡å¸","value":"4112"},{"label":"åé³å¸","value":"4113"},{"label":"åä¸å¸","value":"4114"},{"label":"ä¿¡é³å¸","value":"4115"},{"label":"å¨å£å¸","value":"4116"},{"label":"驻马åºå¸","value":"4117"},{"label":"çç´è¾å¿çº§è¡æ¿åºå","value":"4190"}],[{"label":"æ¦æ±å¸","value":"4201"},{"label":"é»ç³å¸","value":"4202"},{"label":"åå °å¸","value":"4203"},{"label":"宿å¸","value":"4205"},{"label":"è¥é³å¸","value":"4206"},{"label":"éå·å¸","value":"4207"},{"label":"èé¨å¸","value":"4208"},{"label":"åæå¸","value":"4209"},{"label":"èå·å¸","value":"4210"},{"label":"é»åå¸","value":"4211"},{"label":"å¸å®å¸","value":"4212"},{"label":"éå·å¸","value":"4213"},{"label":"æ©æ½åå®¶æèæèªæ²»å·","value":"4228"},{"label":"çç´è¾å¿çº§è¡æ¿åºå","value":"4290"}],[{"label":"é¿æ²å¸","value":"4301"},{"label":"æ ªæ´²å¸","value":"4302"},{"label":"æ¹æ½å¸","value":"4303"},{"label":"è¡¡é³å¸","value":"4304"},{"label":"éµé³å¸","value":"4305"},{"label":"å²³é³å¸","value":"4306"},{"label":"常德å¸","value":"4307"},{"label":"å¼ å®¶çå¸","value":"4308"},{"label":"çé³å¸","value":"4309"},{"label":"é´å·å¸","value":"4310"},{"label":"æ°¸å·å¸","value":"4311"},{"label":"æåå¸","value":"4312"},{"label":"å¨åºå¸","value":"4313"},{"label":"æ¹è¥¿åå®¶æèæèªæ²»å·","value":"4331"}],[{"label":"广å·å¸","value":"4401"},{"label":"é¶å
³å¸","value":"4402"},{"label":"æ·±å³å¸","value":"4403"},{"label":"ç æµ·å¸","value":"4404"},{"label":"æ±å¤´å¸","value":"4405"},{"label":"ä½å±±å¸","value":"4406"},{"label":"æ±é¨å¸","value":"4407"},{"label":"æ¹æ±å¸","value":"4408"},{"label":"èåå¸","value":"4409"},{"label":"èåºå¸","value":"4412"},{"label":"æ å·å¸","value":"4413"},{"label":"æ¢
å·å¸","value":"4414"},{"label":"æ±å°¾å¸","value":"4415"},{"label":"æ²³æºå¸","value":"4416"},{"label":"鳿±å¸","value":"4417"},{"label":"æ¸
è¿å¸","value":"4418"},{"label":"ä¸èå¸","value":"4419"},{"label":"ä¸å±±å¸","value":"4420"},{"label":"æ½®å·å¸","value":"4451"},{"label":"æé³å¸","value":"4452"},{"label":"äºæµ®å¸","value":"4453"}],[{"label":"åå®å¸","value":"4501"},{"label":"æ³å·å¸","value":"4502"},{"label":"æ¡æå¸","value":"4503"},{"label":"梧å·å¸","value":"4504"},{"label":"åæµ·å¸","value":"4505"},{"label":"é²å港å¸","value":"4506"},{"label":"é¦å·å¸","value":"4507"},{"label":"贵港å¸","value":"4508"},{"label":"çæå¸","value":"4509"},{"label":"ç¾è²å¸","value":"4510"},{"label":"è´ºå·å¸","value":"4511"},{"label":"æ²³æ± å¸","value":"4512"},{"label":"æ¥å®¾å¸","value":"4513"},{"label":"å´å·¦å¸","value":"4514"}],[{"label":"æµ·å£å¸","value":"4601"},{"label":"ä¸äºå¸","value":"4602"},{"label":"䏿²å¸","value":"4603"},{"label":"åå·å¸","value":"4604"},{"label":"çç´è¾å¿çº§è¡æ¿åºå","value":"4690"}],[{"label":"å¸è¾åº","value":"5001"},{"label":"å¿","value":"5002"}],[{"label":"æé½å¸","value":"5101"},{"label":"èªè´¡å¸","value":"5103"},{"label":"ææè±å¸","value":"5104"},{"label":"泸å·å¸","value":"5105"},{"label":"å¾·é³å¸","value":"5106"},{"label":"绵é³å¸","value":"5107"},{"label":"广å
å¸","value":"5108"},{"label":"éå®å¸","value":"5109"},{"label":"å
æ±å¸","value":"5110"},{"label":"ä¹å±±å¸","value":"5111"},{"label":"åå
å¸","value":"5113"},{"label":"çå±±å¸","value":"5114"},{"label":"å®å®¾å¸","value":"5115"},{"label":"广å®å¸","value":"5116"},{"label":"è¾¾å·å¸","value":"5117"},{"label":"é
å®å¸","value":"5118"},{"label":"å·´ä¸å¸","value":"5119"},{"label":"èµé³å¸","value":"5120"},{"label":"é¿åèæç¾æèªæ²»å·","value":"5132"},{"label":"çåèæèªæ²»å·","value":"5133"},{"label":"åå±±å½æèªæ²»å·","value":"5134"}],[{"label":"è´µé³å¸","value":"5201"},{"label":"å
çæ°´å¸","value":"5202"},{"label":"éµä¹å¸","value":"5203"},{"label":"å®é¡ºå¸","value":"5204"},{"label":"æ¯èå¸","value":"5205"},{"label":"éä»å¸","value":"5206"},{"label":"é»è¥¿åå¸ä¾æèæèªæ²»å·","value":"5223"},{"label":"é»ä¸åèæä¾æèªæ²»å·","value":"5226"},{"label":"é»åå¸ä¾æèæèªæ²»å·","value":"5227"}],[{"label":"ææå¸","value":"5301"},{"label":"æ²éå¸","value":"5303"},{"label":"çæºªå¸","value":"5304"},{"label":"ä¿å±±å¸","value":"5305"},{"label":"æéå¸","value":"5306"},{"label":"丽æ±å¸","value":"5307"},{"label":"æ®æ´±å¸","value":"5308"},{"label":"临沧å¸","value":"5309"},{"label":"æ¥éå½æèªæ²»å·","value":"5323"},{"label":"红河åå°¼æå½æèªæ²»å·","value":"5325"},{"label":"æå±±å£®æèæèªæ²»å·","value":"5326"},{"label":"西åççº³å£æèªæ²»å·","value":"5328"},{"label":"大çç½æèªæ²»å·","value":"5329"},{"label":"å¾·å®å£ææ¯é¢æèªæ²»å·","value":"5331"},{"label":"ææ±åå³æèªæ²»å·","value":"5333"},{"label":"迪åºèæèªæ²»å·","value":"5334"}],[{"label":"æè¨å¸","value":"5401"},{"label":"æ¥ååå¸","value":"5402"},{"label":"æé½å¸","value":"5403"},{"label":"æèå¸","value":"5404"},{"label":"å±±åå¸","value":"5405"},{"label":"飿²å°åº","value":"5424"},{"label":"é¿éå°åº","value":"5425"}],[{"label":"西å®å¸","value":"6101"},{"label":"éå·å¸","value":"6102"},{"label":"å®é¸¡å¸","value":"6103"},{"label":"å¸é³å¸","value":"6104"},{"label":"æ¸åå¸","value":"6105"},{"label":"å»¶å®å¸","value":"6106"},{"label":"æ±ä¸å¸","value":"6107"},{"label":"æ¦æå¸","value":"6108"},{"label":"å®åº·å¸","value":"6109"},{"label":"åæ´å¸","value":"6110"}],[{"label":"å
°å·å¸","value":"6201"},{"label":"å峪å
³å¸","value":"6202"},{"label":"éæå¸","value":"6203"},{"label":"ç½é¶å¸","value":"6204"},{"label":"天水å¸","value":"6205"},{"label":"æ¦å¨å¸","value":"6206"},{"label":"å¼ æå¸","value":"6207"},{"label":"å¹³åå¸","value":"6208"},{"label":"é
æ³å¸","value":"6209"},{"label":"åºé³å¸","value":"6210"},{"label":"å®è¥¿å¸","value":"6211"},{"label":"éåå¸","value":"6212"},{"label":"临å¤åæèªæ²»å·","value":"6229"},{"label":"çåèæèªæ²»å·","value":"6230"}],[{"label":"西å®å¸","value":"6301"},{"label":"æµ·ä¸å¸","value":"6302"},{"label":"æµ·åèæèªæ²»å·","value":"6322"},{"label":"é»åèæèªæ²»å·","value":"6323"},{"label":"æµ·åèæèªæ²»å·","value":"6325"},{"label":"ææ´èæèªæ²»å·","value":"6326"},{"label":"çæ èæèªæ²»å·","value":"6327"},{"label":"海西è夿èæèªæ²»å·","value":"6328"}],[{"label":"é¶å·å¸","value":"6401"},{"label":"ç³å´å±±å¸","value":"6402"},{"label":"å´å¿ å¸","value":"6403"},{"label":"åºåå¸","value":"6404"},{"label":"ä¸å«å¸","value":"6405"}],[{"label":"ä¹é²æ¨é½å¸","value":"6501"},{"label":"å
æçä¾å¸","value":"6502"},{"label":"åé²çªå¸","value":"6504"},{"label":"åå¯å¸","value":"6505"},{"label":"æååæèªæ²»å·","value":"6523"},{"label":"åå°å¡æèå¤èªæ²»å·","value":"6527"},{"label":"å·´é³éæ¥èå¤èªæ²»å·","value":"6528"},{"label":"é¿å
èå°åº","value":"6529"},{"label":"å
ååèæ¯å°å
åèªæ²»å·","value":"6530"},{"label":"åä»å°åº","value":"6531"},{"label":"åç°å°åº","value":"6532"},{"label":"ä¼çåè¨å
èªæ²»å·","value":"6540"},{"label":"å¡åå°åº","value":"6542"},{"label":"é¿åæ³°å°åº","value":"6543"},{"label":"èªæ²»åºç´è¾å¿çº§è¡æ¿åºå","value":"6590"}],[{"label":"å°å","value":"6601"},{"label":"é«é","value":"6602"},{"label":"åºé","value":"6603"},{"label":"å°ä¸","value":"6604"},{"label":"å°å","value":"6605"},{"label":"æ°ç«¹","value":"6606"},{"label":"åä¹","value":"6607"},{"label":"å®å
°","value":"6608"},{"label":"æ¡å","value":"6609"},{"label":"èæ ","value":"6610"},{"label":"å½°å","value":"6611"},{"label":"åæ","value":"6612"},{"label":"äºæ","value":"6613"},{"label":"å±ä¸","value":"6614"},{"label":"å°ä¸","value":"6615"},{"label":"è±è²","value":"6616"},{"label":"æ¾æ¹","value":"6617"}],[{"label":"馿¸¯å²","value":"6701"},{"label":"ä¹é¾","value":"6702"},{"label":"æ°ç","value":"6703"}],[{"label":"æ¾³é¨åå²","value":"6801"},{"label":"æ°¹ä»å²","value":"6802"},{"label":"è·¯ç¯å²","value":"6803"},{"label":"路氹å","value":"6804"}]];export default cityData; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | var provinceData=[{"label":"å京å¸","value":"11"},{"label":"天津å¸","value":"12"},{"label":"æ²³åç","value":"13"},{"label":"山西ç","value":"14"},{"label":"å
èå¤èªæ²»åº","value":"15"},{"label":"è¾½å®ç","value":"21"},{"label":"åæç","value":"22"},{"label":"é»é¾æ±ç","value":"23"},{"label":"䏿µ·å¸","value":"31"},{"label":"æ±èç","value":"32"},{"label":"æµæ±ç","value":"33"},{"label":"å®å¾½ç","value":"34"},{"label":"ç¦å»ºç","value":"35"},{"label":"æ±è¥¿ç","value":"36"},{"label":"å±±ä¸ç","value":"37"},{"label":"æ²³åç","value":"41"},{"label":"æ¹åç","value":"42"},{"label":"æ¹åç","value":"43"},{"label":"广ä¸ç","value":"44"},{"label":"广西壮æèªæ²»åº","value":"45"},{"label":"æµ·åç","value":"46"},{"label":"éåºå¸","value":"50"},{"label":"åå·ç","value":"51"},{"label":"è´µå·ç","value":"52"},{"label":"äºåç","value":"53"},{"label":"西èèªæ²»åº","value":"54"},{"label":"é西ç","value":"61"},{"label":"çèç","value":"62"},{"label":"éæµ·ç","value":"63"},{"label":"å®å¤åæèªæ²»åº","value":"64"},{"label":"æ°çç»´å¾å°èªæ²»åº","value":"65"},{"label":"å°æ¹¾","value":"66"},{"label":"馿¸¯","value":"67"},{"label":"æ¾³é¨","value":"68"}];export default provinceData; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <u-popup :show="modelValue" mode="bottom" :popup="false" :mask="true" :closeable="true" |
| | | :safe-area-inset-bottom="true" close-icon-color="#ffffff" :z-index="uZIndex" :maskCloseAble="maskCloseAble" |
| | | @close="close"> |
| | | <u-tabs v-if="modelValue" :list="genTabsList" :scrollable="true" :current="tabsIndex" @change="tabsChange" |
| | | ref="tabs" /> |
| | | <view class="area-box"> |
| | | <view class="u-flex" :class="{ 'change': isChange }"> |
| | | <view class="area-item"> |
| | | <view class="u-padding-10 u-bg-gray" style="height: 100%;"> |
| | | <scroll-view :scroll-y="true" style="height: 100%"> |
| | | <u-cell-group> |
| | | <u-cell v-for="(item, index) in provinces" :title="item.label" :arrow="false" |
| | | :index="index" :key="index" @click="provinceChange(index)"> |
| | | <template v-slot:right-icon> |
| | | <u-icon v-if="isChooseP && province === index" size="17" |
| | | name="checkbox-mark"></u-icon> |
| | | </template> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | <view class="area-item"> |
| | | <view class="u-padding-10 u-bg-gray" style="height: 100%;"> |
| | | <scroll-view :scroll-y="true" style="height: 100%"> |
| | | <u-cell-group v-if="isChooseP"> |
| | | <u-cell v-for="(item, index) in citys" :title="item.label" :arrow="false" :index="index" |
| | | :key="index" @click="cityChange(index)"> |
| | | <template v-slot:right-icon> |
| | | <u-icon v-if="isChooseC && city === index" size="17" |
| | | name="checkbox-mark"></u-icon> |
| | | </template> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | <view class="area-item"> |
| | | <view class="u-padding-10 u-bg-gray" style="height: 100%;"> |
| | | <scroll-view :scroll-y="true" style="height: 100%"> |
| | | <u-cell-group v-if="isChooseC"> |
| | | <u-cell v-for="(item, index) in areas" :title="item.label" :arrow="false" :index="index" |
| | | :key="index" @click="areaChange(index)"> |
| | | <template v-slot:right-icon> |
| | | <u-icon v-if="isChooseA && area === index" size="17" |
| | | name="checkbox-mark"></u-icon> |
| | | </template> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { ref, computed, onMounted, PropType } from 'vue'; |
| | | import provincesSource from "./province.js"; |
| | | import citysSource from "./city.js"; |
| | | import areasSource from "./area.js"; |
| | | |
| | | // å®ä¹æ¥å£ |
| | | interface Region { |
| | | label: string; |
| | | value: string; |
| | | } |
| | | |
| | | interface CitySelectResult { |
| | | province: Region; |
| | | city: Region; |
| | | area: Region; |
| | | } |
| | | |
| | | interface TabItem { |
| | | name: string; |
| | | } |
| | | |
| | | // Props å®ä¹ |
| | | const props = defineProps({ |
| | | // éè¿ååç»å®æ§å¶ç»ä»¶çå¼¹åºä¸æ¶èµ· |
| | | modelValue: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | // é»è®¤æ¾ç¤ºçå°åºï¼å¯ä¼ 类似["æ²³åç", "秦çå²å¸", "åæ´æ²³åº"] |
| | | defaultRegion: { |
| | | type: Array as PropType<string[]>, |
| | | default: () => [] |
| | | }, |
| | | // é»è®¤æ¾ç¤ºå°åºçç¼ç ï¼defaultRegionåareaCodeåæ¶åå¨ï¼areaCodeä¼å
ï¼å¯ä¼ 类似["13", "1303", "130304"] |
| | | areaCode: { |
| | | type: Array as PropType<string[]>, |
| | | default: () => [] |
| | | }, |
| | | // æ¯å¦å
许éè¿ç¹å»é®ç½©å
³éPicker |
| | | maskCloseAble: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | // å¼¹åºçz-indexå¼ |
| | | zIndex: { |
| | | type: [String, Number], |
| | | default: 0 |
| | | } |
| | | }); |
| | | |
| | | // äºä»¶å®ä¹ |
| | | const emit = defineEmits<{ |
| | | (e: 'update:modelValue', value: boolean): void; |
| | | (e: 'close'): void; |
| | | (e: 'city-change', result: CitySelectResult): void; |
| | | }>(); |
| | | |
| | | const cityValue = ref(""); |
| | | const isChooseP = ref(false); // æ¯å¦å·²ç»éæ©äºç |
| | | const province = ref(0); // ççº§ä¸æ |
| | | const provinces = ref<Region[]>(provincesSource); |
| | | const isChooseC = ref(false); // æ¯å¦å·²ç»éæ©äºå¸ |
| | | const city = ref(0); // å¸çº§ä¸æ |
| | | const citys = ref<Region[]>(citysSource[0]); |
| | | const isChooseA = ref(false); // æ¯å¦å·²ç»éæ©äºåº |
| | | const area = ref(0); // åºçº§ä¸æ |
| | | const areas = ref<Region[]>(areasSource[0][0]); |
| | | const tabsIndex = ref(0); |
| | | const tabs = ref(); |
| | | |
| | | // 计ç®å±æ§ |
| | | const isChange = computed(() => { |
| | | return tabsIndex.value > 1; |
| | | }); |
| | | |
| | | const genTabsList = computed((): TabItem[] => { |
| | | let tabsList: TabItem[] = [{ |
| | | name: "è¯·éæ©" |
| | | }]; |
| | | |
| | | if (isChooseP.value) { |
| | | tabsList[0].name = provinces.value[province.value].label; |
| | | tabsList[1] = { |
| | | name: "è¯·éæ©" |
| | | }; |
| | | } |
| | | |
| | | if (isChooseC.value) { |
| | | tabsList[1].name = citys.value[city.value].label; |
| | | tabsList[2] = { |
| | | name: "è¯·éæ©" |
| | | }; |
| | | } |
| | | |
| | | if (isChooseA.value) { |
| | | tabsList[2].name = areas.value[area.value].label; |
| | | } |
| | | |
| | | return tabsList; |
| | | }); |
| | | |
| | | const uZIndex = computed(() => { |
| | | // å¦æç¨æ·æä¼ éz-indexå¼ï¼ä¼å
ä½¿ç¨ |
| | | return props.zIndex ? props.zIndex : 1075; // å设$u.zIndex.popup为1075 |
| | | }); |
| | | |
| | | // æ¹æ³ |
| | | const setProvince = (label = "", value = "") => { |
| | | provinces.value.map((v, k) => { |
| | | if (value ? v.value == value : v.label == label) { |
| | | provinceChange(k); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const setCity = (label = "", value = "") => { |
| | | citys.value.map((v, k) => { |
| | | if (value ? v.value == value : v.label == label) { |
| | | cityChange(k); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const setArea = (label = "", value = "") => { |
| | | areas.value.map((v, k) => { |
| | | if (value ? v.value == value : v.label == label) { |
| | | isChooseA.value = true; |
| | | area.value = k; |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const close = () => { |
| | | emit('update:modelValue', false); |
| | | emit('close'); |
| | | }; |
| | | |
| | | const tabsChange = (value: { index: number }) => { |
| | | tabsIndex.value = value.index; |
| | | }; |
| | | |
| | | const provinceChange = (index: number) => { |
| | | isChooseP.value = true; |
| | | isChooseC.value = false; |
| | | isChooseA.value = false; |
| | | province.value = index; |
| | | citys.value = citysSource[index]; |
| | | tabsIndex.value = 1; |
| | | }; |
| | | |
| | | const cityChange = (index: number) => { |
| | | isChooseC.value = true; |
| | | isChooseA.value = false; |
| | | city.value = index; |
| | | areas.value = areasSource[province.value][index]; |
| | | tabsIndex.value = 2; |
| | | }; |
| | | |
| | | const areaChange = (index: number) => { |
| | | isChooseA.value = true; |
| | | area.value = index; |
| | | const result: CitySelectResult = { |
| | | province: provinces.value[province.value], |
| | | city: citys.value[city.value], |
| | | area: areas.value[area.value] |
| | | }; |
| | | emit('city-change', result); |
| | | close(); |
| | | }; |
| | | |
| | | // çå½å¨æé©å |
| | | onMounted(() => { |
| | | if (props.areaCode.length == 3) { |
| | | setProvince("", props.areaCode[0]); |
| | | setCity("", props.areaCode[1]); |
| | | setArea("", props.areaCode[2]); |
| | | } else if (props.defaultRegion.length == 3) { |
| | | setProvince(props.defaultRegion[0], ""); |
| | | setCity(props.defaultRegion[1], ""); |
| | | setArea(props.defaultRegion[2], ""); |
| | | } |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .area-box { |
| | | width: 100%; |
| | | overflow: hidden; |
| | | height: 800rpx; |
| | | |
| | | >view { |
| | | width: 150%; |
| | | transition: transform 0.3s ease-in-out 0s; |
| | | transform: translateX(0); |
| | | |
| | | &.change { |
| | | transform: translateX(-33.3333333%); |
| | | } |
| | | } |
| | | |
| | | .area-item { |
| | | width: 33.3333333%; |
| | | height: 800rpx; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="uni-section"> |
| | | <view class="uni-section-header" @click="onClick"> |
| | | <view class="uni-section-header__decoration" v-if="type" :class="type" /> |
| | | <slot v-else name="decoration"></slot> |
| | | |
| | | <view class="uni-section-header__content"> |
| | | <text :style="{'font-size':titleFontSize,'color':titleColor}" class="uni-section__content-title" :class="{'distraction':!subTitle}">{{ title }}</text> |
| | | <text v-if="subTitle" :style="{'font-size':subTitleFontSize,'color':subTitleColor}" class="uni-section-header__content-sub">{{ subTitle }}</text> |
| | | </view> |
| | | |
| | | <view class="uni-section-header__slot-right"> |
| | | <slot name="right"></slot> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="uni-section-content" :style="{padding: _padding}"> |
| | | <slot /> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | /** |
| | | * Section æ 颿 |
| | | * @description æ 颿 |
| | | * @property {String} type = [line|circle|square] æ é¢è£
饰类å |
| | | * @value line ç«çº¿ |
| | | * @value circle åå½¢ |
| | | * @value square æ£æ¹å½¢ |
| | | * @property {String} title 主æ é¢ |
| | | * @property {String} titleFontSize 主æ é¢åä½å¤§å° |
| | | * @property {String} titleColor 主æ é¢åä½é¢è² |
| | | * @property {String} subTitle 坿 é¢ |
| | | * @property {String} subTitleFontSize 坿 é¢åä½å¤§å° |
| | | * @property {String} subTitleColor 坿 é¢åä½é¢è² |
| | | * @property {String} padding é»è®¤ææ§½ padding |
| | | */ |
| | | |
| | | export default { |
| | | name: 'UniSection', |
| | | emits:['click'], |
| | | props: { |
| | | type: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | title: { |
| | | type: String, |
| | | required: true, |
| | | default: '' |
| | | }, |
| | | titleFontSize: { |
| | | type: String, |
| | | default: '14px' |
| | | }, |
| | | titleColor:{ |
| | | type: String, |
| | | default: '#333' |
| | | }, |
| | | subTitle: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | subTitleFontSize: { |
| | | type: String, |
| | | default: '12px' |
| | | }, |
| | | subTitleColor: { |
| | | type: String, |
| | | default: '#999' |
| | | }, |
| | | padding: { |
| | | type: [Boolean, String], |
| | | default: false |
| | | } |
| | | }, |
| | | computed:{ |
| | | _padding(){ |
| | | if(typeof this.padding === 'string'){ |
| | | return this.padding |
| | | } |
| | | |
| | | return this.padding?'10px':'' |
| | | } |
| | | }, |
| | | watch: { |
| | | title(newVal) { |
| | | if (uni.report && newVal !== '') { |
| | | uni.report('title', newVal) |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | onClick() { |
| | | this.$emit('click') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" > |
| | | $uni-primary: #2979ff !default; |
| | | |
| | | .uni-section { |
| | | background-color: #fff; |
| | | .uni-section-header { |
| | | position: relative; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | align-items: center; |
| | | padding: 12px 10px; |
| | | font-weight: normal; |
| | | |
| | | &__decoration{ |
| | | margin-right: 6px; |
| | | background-color: $uni-primary; |
| | | &.line { |
| | | width: 4px; |
| | | height: 12px; |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | &.circle { |
| | | width: 8px; |
| | | height: 8px; |
| | | border-top-right-radius: 50px; |
| | | border-top-left-radius: 50px; |
| | | border-bottom-left-radius: 50px; |
| | | border-bottom-right-radius: 50px; |
| | | } |
| | | |
| | | &.square { |
| | | width: 8px; |
| | | height: 8px; |
| | | } |
| | | } |
| | | |
| | | &__content { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | flex: 1; |
| | | color: #333; |
| | | |
| | | .distraction { |
| | | flex-direction: row; |
| | | align-items: center; |
| | | } |
| | | &-sub { |
| | | margin-top: 2px; |
| | | } |
| | | } |
| | | |
| | | &__slot-right{ |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | |
| | | .uni-section-content{ |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // åºç¨å
¨å±é
ç½® |
| | | const config = { |
| | | // baseUrl: 'https://vue.ruoyi.vip/prod-api', |
| | | // baseUrl: 'http://localhost/prod-api', |
| | | baseUrl: 'http://localhost:8080', |
| | | //cloudåå°ç½å
³å°å |
| | | // baseUrl: 'http://192.168.10.3:8080', |
| | | // åºç¨ä¿¡æ¯ |
| | | appInfo: { |
| | | // åºç¨åç§° |
| | | name: "ruoyi-app-vue3", |
| | | // åºç¨çæ¬ |
| | | version: "1.1.0", |
| | | // åºç¨logo |
| | | logo: "/static/logo.png", |
| | | // 宿¹ç½ç« |
| | | site_url: "http://ruoyi.vip", |
| | | // æ¿çåè®® |
| | | agreements: [{ |
| | | title: "éç§æ¿ç", |
| | | url: "https://ruoyi.vip/protocol.html" |
| | | }, |
| | | { |
| | | title: "ç¨æ·æå¡åè®®", |
| | | url: "https://ruoyi.vip/protocol.html" |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | |
| | | export default config |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // #ifdef APP-VUE || H5 |
| | | /** |
| | | * v-copyText å¤å¶ææ¬å
容 |
| | | * Copyright (c) 2022 ruoyi |
| | | * v-copyText="è¦å¤å¶çææ¬å
容" |
| | | * v-copyText:callback="å¤å¶æååçåè°å½æ°" |
| | | * ç¹å»è¢«æ 注çå
ç´ å³å¯å¤å¶ææ¬å
容 |
| | | */ |
| | | |
| | | import type { Directive, DirectiveBinding } from "vue"; |
| | | interface ElType extends HTMLElement { |
| | | $copyValue: string; |
| | | $copyCallback: Function; |
| | | $destroyCopy:Function; |
| | | } |
| | | const vCopyText:Directive = { |
| | | beforeMount(el:ElType , binding:DirectiveBinding) { |
| | | if (binding.arg === "callback") { |
| | | el.$copyCallback = binding.value; |
| | | } else { |
| | | el.$copyValue = binding.value; |
| | | const handler = () => { |
| | | copyTextToClipboard(el.$copyValue); |
| | | if (el.$copyCallback) { |
| | | el.$copyCallback(el.$copyValue); |
| | | } |
| | | }; |
| | | el.addEventListener("click", handler); |
| | | el.$destroyCopy = () => el.removeEventListener("click", handler); |
| | | } |
| | | } |
| | | } |
| | | export default vCopyText; |
| | | |
| | | function copyTextToClipboard(input:string, { target = document.body } = {}) { |
| | | const element = document.createElement('textarea'); |
| | | const previouslyFocusedElement = document.activeElement as HTMLElement; |
| | | |
| | | element.value = input; |
| | | |
| | | // Prevent keyboard from showing on mobile |
| | | element.setAttribute('readonly', ''); |
| | | |
| | | element.style.contain = 'strict'; |
| | | element.style.position = 'absolute'; |
| | | element.style.left = '-9999px'; |
| | | element.style.fontSize = '12pt'; // Prevent zooming on iOS |
| | | |
| | | const selection = document.getSelection(); |
| | | if(!selection)return |
| | | const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0); |
| | | |
| | | target.append(element); |
| | | element.select(); |
| | | |
| | | // Explicit selection workaround for iOS |
| | | element.selectionStart = 0; |
| | | element.selectionEnd = input.length; |
| | | |
| | | let isSuccess = false; |
| | | try { |
| | | isSuccess = document.execCommand('copy'); |
| | | } catch { } |
| | | |
| | | element.remove(); |
| | | |
| | | if (originalRange) { |
| | | selection.removeAllRanges(); |
| | | selection.addRange(originalRange); |
| | | } |
| | | |
| | | // Get the focus back on the previously focused element, if any |
| | | if (previouslyFocusedElement) { |
| | | previouslyFocusedElement.focus(); |
| | | } |
| | | |
| | | return isSuccess; |
| | | } |
| | | // #endif |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import type { Directive } from "vue"; |
| | | const vFocus: Directive = { |
| | | mounted: (el) => el.focus() |
| | | } |
| | | export default vFocus |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import type { Directive } from "vue"; |
| | | interface ElType extends HTMLElement { |
| | | $oldStyle: CSSStyleDeclaration; |
| | | $fullStyle: CSSStyleDeclaration; |
| | | } |
| | | const vFull: Directive = { |
| | | mounted: (el: ElType, binding) => { |
| | | el.$oldStyle = { ...el.style } |
| | | if (binding.arg === 'screen') { |
| | | el.$fullStyle = { |
| | | ...el.style, |
| | | left: '0', |
| | | top: '0', |
| | | zIndex: '8', |
| | | position: 'fixed', |
| | | height: '100vh', |
| | | width: '100vw', |
| | | } |
| | | } else { |
| | | el.$fullStyle = { |
| | | ...el.style, |
| | | left: '0', |
| | | top: '0', |
| | | zIndex: '8', |
| | | position: 'absolute', |
| | | height: '100%', |
| | | width: '100%', |
| | | } |
| | | } |
| | | |
| | | }, |
| | | updated: (el: ElType, binding) => { |
| | | function setStyle(el: CSSStyleDeclaration, style: CSSStyleDeclaration) { |
| | | el.position = style.position |
| | | el.left = style.left |
| | | el.top = style.top |
| | | el.zIndex = style.zIndex |
| | | el.height = style.height |
| | | el.width = style.width |
| | | } |
| | | if (binding.value) { |
| | | setStyle(el.style, el.$fullStyle) |
| | | } else { |
| | | setStyle(el.style, el.$oldStyle) |
| | | } |
| | | } |
| | | } |
| | | export default vFull |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // #ifdef APP-VUE || H5 |
| | | import copyText from './common/copyText' |
| | | // #endif |
| | | import hasRole from './permission/hasRole' |
| | | import hasPermi from './permission/hasPermi' |
| | | import focus from './common/focus' |
| | | import full from './common/full' |
| | | import { App } from 'vue' |
| | | |
| | | export default function directive(app: App) { |
| | | // #ifdef APP-VUE || H5 |
| | | app.directive('copyText', copyText) |
| | | // #endif |
| | | app.directive('hasRole', hasRole) |
| | | app.directive('hasPermi', hasPermi) |
| | | app.directive('focus', focus) |
| | | app.directive('full', full) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * v-hasPermi æä½æéå¤ç |
| | | * Copyright (c) 2019 ruoyi |
| | | */ |
| | | |
| | | import useUserStore from '@/store/modules/user' |
| | | |
| | | import type { Directive } from "vue"; |
| | | const vHasPermi: Directive = { |
| | | mounted(el, binding, vnode) { |
| | | const { value } = binding |
| | | const all_permission = "*:*:*"; |
| | | const permissions = useUserStore().permissions |
| | | |
| | | if (value && value instanceof Array && value.length > 0) { |
| | | const permissionFlag = value |
| | | |
| | | const hasPermissions = permissions.some(permission => { |
| | | return all_permission === permission || permissionFlag.includes(permission) |
| | | }) |
| | | |
| | | if (!hasPermissions) { |
| | | el.parentNode && el.parentNode.removeChild(el) |
| | | } |
| | | } else { |
| | | throw new Error(`请设置æä½æéæ ç¾å¼`) |
| | | } |
| | | } |
| | | } |
| | | export default vHasPermi |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * v-hasRole è§è²æéå¤ç |
| | | * Copyright (c) 2019 ruoyi |
| | | */ |
| | | |
| | | import useUserStore from '@/store/modules/user' |
| | | import type { Directive } from "vue"; |
| | | const vHasRole: Directive = { |
| | | mounted(el, binding, vnode) { |
| | | const { value } = binding |
| | | const super_admin = "admin"; |
| | | const roles = useUserStore().roles |
| | | |
| | | if (value && value instanceof Array && value.length > 0) { |
| | | const roleFlag = value |
| | | |
| | | const hasRole = roles.some(role => { |
| | | return super_admin === role || roleFlag.includes(role) |
| | | }) |
| | | |
| | | if (!hasRole) { |
| | | el.parentNode && el.parentNode.removeChild(el) |
| | | } |
| | | } else { |
| | | throw new Error(`请设置è§è²æéæ ç¾å¼`) |
| | | } |
| | | } |
| | | } |
| | | |
| | | export default vHasRole; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /// <reference types="vite/client" /> |
| | | /// <reference types="@dcloudio/types" /> |
| | | |
| | | declare module '*.vue' { |
| | | import { DefineComponent } from 'vue' |
| | | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types |
| | | const component: DefineComponent<{}, {}, any> |
| | | export default component |
| | | } |
| | | declare module "uview-plus"; |
| | | declare module 'mqtt/dist/mqtt'; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import App from './App.vue' |
| | | import plugins from './plugins' |
| | | import store from './store' |
| | | import uviewPlus from 'uview-plus' |
| | | |
| | | |
| | | import { createSSRApp } from 'vue' |
| | | import directive from './directive' // directive |
| | | |
| | | import { useDict } from '@/utils/dict' |
| | | import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi' |
| | | |
| | | |
| | | |
| | | export function createApp() { |
| | | const app = createSSRApp(App) |
| | | app.use(store) |
| | | app.use(uviewPlus) |
| | | app.use(plugins) |
| | | |
| | | // #ifndef MP-WEIXIN |
| | | // 微信å°ç¨åºä¸ä¸æ¯æèªå®ä¹æä»¤ |
| | | directive(app) |
| | | // #endif |
| | | |
| | | // å
¨å±æ¹æ³æè½½ |
| | | app.config.globalProperties.useDict = useDict |
| | | app.config.globalProperties.parseTime = parseTime |
| | | app.config.globalProperties.resetForm = resetForm |
| | | app.config.globalProperties.handleTree = handleTree |
| | | app.config.globalProperties.addDateRange = addDateRange |
| | | app.config.globalProperties.selectDictLabel = selectDictLabel |
| | | app.config.globalProperties.selectDictLabels = selectDictLabels |
| | | |
| | | return { |
| | | app |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "name" : "ruoyi-vue3", |
| | | "appid" : "__UNI__3DD118D", |
| | | "description" : "", |
| | | "versionName" : "1.0.0", |
| | | "versionCode" : "100", |
| | | "transformPx" : false, |
| | | /* 5+Appç¹æç¸å
³ */ |
| | | "app-plus" : { |
| | | "usingComponents" : true, |
| | | "nvueStyleCompiler" : "uni-app", |
| | | "compilerVersion" : 3, |
| | | "splashscreen" : { |
| | | "alwaysShowBeforeRender" : true, |
| | | "waiting" : true, |
| | | "autoclose" : true, |
| | | "delay" : 0 |
| | | }, |
| | | /* 模åé
ç½® */ |
| | | "modules" : {}, |
| | | /* åºç¨åå¸ä¿¡æ¯ */ |
| | | "distribute" : { |
| | | /* androidæå
é
ç½® */ |
| | | "android" : { |
| | | "permissions" : [ |
| | | "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
| | | "<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CAMERA\"/>", |
| | | "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
| | | "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera\"/>", |
| | | "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" |
| | | ] |
| | | }, |
| | | /* iosæå
é
ç½® */ |
| | | "ios" : {}, |
| | | /* SDKé
ç½® */ |
| | | "sdkConfigs" : {} |
| | | } |
| | | }, |
| | | /* å¿«åºç¨ç¹æç¸å
³ */ |
| | | "quickapp" : {}, |
| | | /* å°ç¨åºç¹æç¸å
³ */ |
| | | "mp-weixin" : { |
| | | "appid" : "", |
| | | "setting" : { |
| | | "urlCheck" : false |
| | | }, |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-alipay" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-baidu" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-toutiao" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "uniStatistics" : { |
| | | "enable" : false |
| | | }, |
| | | "vueVersion" : "3" |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "easycom": { |
| | | "custom": { |
| | | "u-city-select": "@/components/u-city-select/u-city-select.vue", |
| | | "geek-(.*)": "@/components/geek-xd/components/geek-$1/geek-$1.vue", |
| | | "gx-(.*)": "@/components/geek-xd/components/geek-$1/geek-$1.vue", |
| | | "^u--(.*)": "uview-plus/components/u-$1/u-$1.vue", |
| | | "^up-(.*)": "uview-plus/components/u-$1/u-$1.vue", |
| | | "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue", |
| | | "qiun-(.*)": "@/components/qiun-data-charts/components/qiun-$1/qiun-$1.vue" |
| | | } |
| | | }, |
| | | "pages": [ |
| | | { |
| | | "path": "pages/index", |
| | | "style": { |
| | | "navigationBarTitleText": "è¥ä¾ç§»å¨ç«¯æ¡æ¶", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/login", |
| | | "style": { |
| | | "navigationBarTitleText": "ç»å½" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/work", |
| | | "style": { |
| | | "navigationBarTitleText": "å·¥ä½å°" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/template", |
| | | "style": { |
| | | "navigationBarTitleText": "模æ¿" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/mine", |
| | | "style": { |
| | | "navigationBarTitleText": "æç" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/common/webview/index", |
| | | "style": { |
| | | "navigationBarTitleText": "æµè§ç½é¡µ" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/common/textview/index", |
| | | "style": { |
| | | "navigationBarTitleText": "æµè§ææ¬" |
| | | } |
| | | } |
| | | ], |
| | | "subPackages": [ |
| | | { |
| | | "root": "pages_mine/pages", |
| | | "pages": [ |
| | | { |
| | | "path": "avatar/index", |
| | | "style": { |
| | | "navigationBarTitleText": "ä¿®æ¹å¤´å" |
| | | } |
| | | }, |
| | | { |
| | | "path": "info/index", |
| | | "style": { |
| | | "navigationBarTitleText": "个人信æ¯" |
| | | } |
| | | }, |
| | | { |
| | | "path": "info/edit", |
| | | "style": { |
| | | "navigationBarTitleText": "ç¼è¾èµæ" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pwd/index", |
| | | "style": { |
| | | "navigationBarTitleText": "ä¿®æ¹å¯ç " |
| | | } |
| | | }, |
| | | { |
| | | "path": "setting/index", |
| | | "style": { |
| | | "navigationBarTitleText": "åºç¨è®¾ç½®" |
| | | } |
| | | }, |
| | | { |
| | | "path": "help/index", |
| | | "style": { |
| | | "navigationBarTitleText": "常è§é®é¢" |
| | | } |
| | | }, |
| | | { |
| | | "path": "about/index", |
| | | "style": { |
| | | "navigationBarTitleText": "å
³äºæä»¬" |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | "root": "pages_template/pages", |
| | | "pages": [ |
| | | { |
| | | "path": "wxCenter/index", |
| | | "style": { |
| | | "navigationBarTitleText": "wxCenter 仿微信个人ä¸å¿", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path": "keyboardPay/index", |
| | | "style": { |
| | | "navigationBarTitleText": "keyboardPay èªå®ä¹é®çæ¯ä»" |
| | | } |
| | | }, |
| | | { |
| | | "path": "mallMenu/index2", |
| | | "style": { |
| | | "navigationBarTitleText": "mallMenu-åååç±»" |
| | | } |
| | | }, |
| | | { |
| | | "path": "mallMenu/index1", |
| | | "style": { |
| | | "navigationBarTitleText": "mallMenu-åååç±»" |
| | | } |
| | | }, |
| | | { |
| | | "path": "coupon/index", |
| | | "style": { |
| | | "navigationBarTitleText": "coupon-伿 å¸" |
| | | } |
| | | }, |
| | | { |
| | | "path": "login/index1", |
| | | "style": { |
| | | "navigationBarTitleText": "ç¾å¢ç»å½" |
| | | } |
| | | }, |
| | | { |
| | | "path": "login/index2", |
| | | "style": { |
| | | "navigationBarTitleText": "æ°´æ»´ç»å½" |
| | | } |
| | | }, |
| | | { |
| | | "path": "citySelect/index", |
| | | "style": { |
| | | "navigationBarTitleText": "åå¸éæ©" |
| | | } |
| | | }, |
| | | { |
| | | "path": "submitBar/index", |
| | | "style": { |
| | | "navigationBarTitleText": "æäº¤è®¢åæ " |
| | | } |
| | | }, |
| | | { |
| | | "path": "comment/index", |
| | | "style": { |
| | | "navigationBarTitleText": "è¯è®º" |
| | | } |
| | | }, |
| | | { |
| | | "path": "comment/reply", |
| | | "style": { |
| | | "navigationBarTitleText": "è¯è®ºè¯¦æ
" |
| | | } |
| | | }, |
| | | { |
| | | "path": "order/index", |
| | | "style": { |
| | | "navigationBarTitleText": "订å" |
| | | } |
| | | }, |
| | | { |
| | | "path": "login/code", |
| | | "style": { |
| | | "navigationBarTitleText": "ç»å½è·åéªè¯ç " |
| | | } |
| | | }, |
| | | { |
| | | "path": "address/index", |
| | | "style": { |
| | | "navigationBarTitleText": "ç¨æ·å°å" |
| | | } |
| | | }, |
| | | { |
| | | "path": "address/addSite", |
| | | "style": { |
| | | "navigationBarTitleText": "æ·»å ç¨æ·å°å" |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | "root": "pages_qiun/pages", |
| | | "pages": [ |
| | | { |
| | | "path": "sport/index", |
| | | "style": { |
| | | "pageOrientation": "auto" |
| | | } |
| | | }, |
| | | { |
| | | "path": "school/index", |
| | | "style": { |
| | | "pageOrientation": "auto" |
| | | } |
| | | }, |
| | | { |
| | | "path": "finance/index", |
| | | "style": { |
| | | "pageOrientation": "auto" |
| | | } |
| | | }, |
| | | { |
| | | "path": "main/index", |
| | | "style": { |
| | | "pageOrientation": "auto" |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | "root": "pages_geek/pages", |
| | | "pages": [ |
| | | { |
| | | "path": "index/index" |
| | | }, |
| | | { |
| | | "path": "code/index" |
| | | } |
| | | ] |
| | | } |
| | | ], |
| | | "tabBar": { |
| | | "color": "#000000", |
| | | "selectedColor": "#000000", |
| | | "borderStyle": "white", |
| | | "backgroundColor": "#ffffff", |
| | | "list": [ |
| | | { |
| | | "pagePath": "pages/index", |
| | | "iconPath": "static/images/tabbar/home.png", |
| | | "selectedIconPath": "static/images/tabbar/home_.png", |
| | | "text": "é¦é¡µ" |
| | | }, |
| | | { |
| | | "pagePath": "pages/work", |
| | | "iconPath": "static/images/tabbar/work.png", |
| | | "selectedIconPath": "static/images/tabbar/work_.png", |
| | | "text": "å·¥ä½å°" |
| | | }, |
| | | { |
| | | "pagePath": "pages/template", |
| | | "iconPath": "static/images/tabbar/work.png", |
| | | "selectedIconPath": "static/images/tabbar/work_.png", |
| | | "text": "模æ¿" |
| | | }, |
| | | { |
| | | "pagePath": "pages/mine", |
| | | "iconPath": "static/images/tabbar/mine.png", |
| | | "selectedIconPath": "static/images/tabbar/mine_.png", |
| | | "text": "æç" |
| | | } |
| | | ] |
| | | }, |
| | | "globalStyle": { |
| | | "navigationBarTextStyle": "black", |
| | | "navigationBarTitleText": "RuoYi", |
| | | "navigationBarBackgroundColor": "#FFFFFF" |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-card class="view-title" :title="title"> |
| | | <text class="uni-body view-content">{{ content }}</text> |
| | | </uni-card> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | content: '' |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.title = options.title |
| | | this.content = options.content |
| | | uni.setNavigationBarTitle({ |
| | | title: options.title |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | page { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .view-title { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .view-content { |
| | | font-size: 26rpx; |
| | | padding: 12px 5px 0; |
| | | color: #333; |
| | | line-height: 24px; |
| | | font-weight: normal; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view v-if="params.url"> |
| | | <web-view :webview-styles="webviewStyles" :src="`${params.url}`"></web-view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | params: {}, |
| | | webviewStyles: { |
| | | progress: { |
| | | color: "#FF3333" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | props: { |
| | | src: { |
| | | type: [String], |
| | | default: null |
| | | } |
| | | }, |
| | | onLoad(event) { |
| | | this.params = event |
| | | if (event.title) { |
| | | uni.setNavigationBarTitle({ |
| | | title: event.title |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <image class="logo" src="@/static/logo.png"></image> |
| | | <view class="text-area"> |
| | | <text class="title"> RuoYi-Geek-App</text> |
| | | </view> |
| | | <view class="text-area"> |
| | | <up-text type="primary" text="uview-plus"></up-text> |
| | | </view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="column" :chartData="chartData" /> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted } from 'vue'; |
| | | |
| | | const chartData = ref({}); |
| | | |
| | | onMounted(() => { getServerData() }); |
| | | |
| | | function getServerData() { |
| | | // 模æä»æå¡å¨è·åæ°æ®æ¶çå»¶æ¶ |
| | | setTimeout(() => { |
| | | let res = { |
| | | categories: ['2016', '2017', '2018', '2019', '2020', '2021'], |
| | | series: [ |
| | | { |
| | | name: 'ç®æ å¼', |
| | | data: [35, 36, 31, 33, 13, 34], |
| | | }, |
| | | { |
| | | name: '宿é', |
| | | data: [18, 27, 21, 24, 6, 28], |
| | | }, |
| | | ], |
| | | }; |
| | | chartData.value = JSON.parse(JSON.stringify(res)); |
| | | }, 500); |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .logo { |
| | | height: 200rpx; |
| | | width: 200rpx; |
| | | margin-top: 200rpx; |
| | | margin-left: auto; |
| | | margin-right: auto; |
| | | margin-bottom: 50rpx; |
| | | } |
| | | |
| | | .text-area { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .title { |
| | | font-size: 36rpx; |
| | | color: #8f8f94; |
| | | } |
| | | |
| | | .charts-box { |
| | | width: 100%; |
| | | height: 300px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="normal-login-container"> |
| | | <view class="logo-content align-center justify-center flex"> |
| | | <image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix"> |
| | | </image> |
| | | <text class="title">è¥ä¾ç§»å¨ç«¯ç»å½</text> |
| | | </view> |
| | | <view class="login-form-content"> |
| | | <view class="input-item flex align-center"> |
| | | <view class="iconfont icon-user icon"></view> |
| | | <input v-model="loginForm.username" class="input" type="text" placeholder="请è¾å
¥è´¦å·" maxlength="30" /> |
| | | </view> |
| | | <view class="input-item flex align-center"> |
| | | <view class="iconfont icon-password icon"></view> |
| | | <input v-model="loginForm.password" type="password" class="input" placeholder="请è¾å
¥å¯ç " maxlength="20" /> |
| | | </view> |
| | | <view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled"> |
| | | <view class="iconfont icon-code icon"></view> |
| | | <input v-model="loginForm.code" type="number" class="input" placeholder="请è¾å
¥éªè¯ç " maxlength="4" /> |
| | | <view class="login-code"> |
| | | <image :src="codeUrl" @click="getCode" class="login-code-img"></image> |
| | | </view> |
| | | </view> |
| | | <view class="action-btn"> |
| | | <button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">ç»å½</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="xieyi text-center"> |
| | | <text class="text-grey1">ç»å½å³ä»£è¡¨åæ</text> |
| | | <text @click="handleUserAgrement" class="text-blue">ãç¨æ·åè®®ã</text> |
| | | <text @click="handlePrivacy" class="text-blue">ãéç§åè®®ã</text> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import modal from '@/plugins/modal' |
| | | import { getCodeImg } from '@/api/login' |
| | | import { ref } from "vue"; |
| | | import config from '@/config.js' |
| | | import useUserStore from '@/store/modules/user' |
| | | import { getWxCode } from '@/utils/geek'; |
| | | import { wxLogin } from '@/api/oauth'; |
| | | import { setToken } from '@/utils/auth'; |
| | | const userStore = useUserStore() |
| | | const codeUrl = ref(""); |
| | | const captchaEnabled = ref(true); // æ¯å¦å¼å¯éªè¯ç |
| | | const useWxLogin = ref(false); // æ¯å¦ä½¿ç¨å¾®ä¿¡ç»å½ |
| | | const globalConfig = ref(config); |
| | | const loginForm = ref({ |
| | | username: "admin", |
| | | password: "admin123", |
| | | code: "", |
| | | uuid: '' |
| | | }); |
| | | |
| | | if (useWxLogin.value) { |
| | | getWxCode().then(res => { |
| | | console.log(res); |
| | | wxLogin('miniapp',res).then(res => { |
| | | if(res.token != null){ |
| | | setToken(res.token); |
| | | loginSuccess() |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | |
| | | |
| | | // è·åå¾å½¢éªè¯ç |
| | | function getCode() { |
| | | getCodeImg().then(res => { |
| | | captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled |
| | | if (captchaEnabled.value) { |
| | | codeUrl.value = 'data:image/gif;base64,' + res.img |
| | | loginForm.value.uuid = res.uuid |
| | | } |
| | | }) |
| | | }; |
| | | |
| | | async function handleLogin() { |
| | | if (loginForm.value.username === "") { |
| | | modal.msgError("请è¾å
¥æ¨çè´¦å·") |
| | | } else if (loginForm.value.password === "") { |
| | | modal.msgError("请è¾å
¥æ¨çå¯ç ") |
| | | } else if (loginForm.value.code === "" && captchaEnabled.value) { |
| | | modal.msgError("请è¾å
¥éªè¯ç ") |
| | | } else { |
| | | modal.loading("ç»å½ä¸ï¼è¯·èå¿çå¾
...") |
| | | pwdLogin() |
| | | } |
| | | }; |
| | | // å¯ç ç»å½ |
| | | async function pwdLogin() { |
| | | userStore.login(loginForm.value).then(() => { |
| | | modal.closeLoading() |
| | | loginSuccess() |
| | | }).catch(() => { |
| | | if (captchaEnabled.value) { |
| | | modal.closeLoading() |
| | | getCode() |
| | | } |
| | | }) |
| | | }; |
| | | |
| | | function loginSuccess(result) { |
| | | // è®¾ç½®ç¨æ·ä¿¡æ¯ |
| | | userStore.getInfo().then(res => { |
| | | uni.switchTab({ |
| | | url: '/pages/index' |
| | | }); |
| | | }) |
| | | } |
| | | |
| | | // éç§åè®® |
| | | function handlePrivacy() { |
| | | let site = globalConfig.value.appInfo.agreements[0]; |
| | | uni.navigateTo({ |
| | | url: `/pages/common/webview/index?title=${site.title}&url=${site.url}` |
| | | }); |
| | | }; |
| | | // ç¨æ·åè®® |
| | | function handleUserAgrement() { |
| | | let site = globalConfig.value.appInfo.agreements[1] |
| | | uni.navigateTo({ |
| | | url: `/pages/common/webview/index?title=${site.title}&url=${site.url}` |
| | | }); |
| | | }; |
| | | |
| | | getCode(); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .normal-login-container { |
| | | width: 100%; |
| | | |
| | | .logo-content { |
| | | width: 100%; |
| | | font-size: 21px; |
| | | text-align: center; |
| | | padding-top: 15%; |
| | | |
| | | image { |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .title { |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | |
| | | .login-form-content { |
| | | text-align: center; |
| | | margin: 20px auto; |
| | | margin-top: 15%; |
| | | width: 80%; |
| | | |
| | | .input-item { |
| | | margin: 20px auto; |
| | | background-color: #f5f6f7; |
| | | height: 45px; |
| | | border-radius: 20px; |
| | | |
| | | .icon { |
| | | font-size: 38rpx; |
| | | margin-left: 10px; |
| | | color: #999; |
| | | } |
| | | |
| | | .input { |
| | | width: 100%; |
| | | font-size: 14px; |
| | | line-height: 20px; |
| | | text-align: left; |
| | | padding-left: 15px; |
| | | } |
| | | |
| | | } |
| | | |
| | | .login-btn { |
| | | margin-top: 40px; |
| | | height: 45px; |
| | | } |
| | | |
| | | .xieyi { |
| | | color: #333; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .login-code { |
| | | height: 38px; |
| | | float: right; |
| | | |
| | | .login-code-img { |
| | | height: 38px; |
| | | position: absolute; |
| | | margin-left: 10px; |
| | | width: 200rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="mine-container" :style="{ height: `${windowHeight}px` }"> |
| | | <!--é¡¶é¨ä¸ªäººä¿¡æ¯æ --> |
| | | <view class="header-section"> |
| | | <view class="flex padding justify-between"> |
| | | <view class="flex align-center"> |
| | | <view v-if="!avatar" class="cu-avatar xl round bg-white"> |
| | | <view class="iconfont icon-people text-gray icon"></view> |
| | | </view> |
| | | <image v-if="avatar" @click="handleToAvatar" :src="avatar" class="cu-avatar xl round" mode="widthFix"> |
| | | </image> |
| | | <view v-if="!name" @click="handleToLogin" class="login-tip"> |
| | | ç¹å»ç»å½ |
| | | </view> |
| | | <view v-if="name" @click="handleToInfo" class="user-info"> |
| | | <view class="u_title"> |
| | | ç¨æ·åï¼{{ name }} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view @click="handleToInfo" class="flex align-center"> |
| | | <text>个人信æ¯</text> |
| | | <view class="iconfont icon-right"></view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="content-section"> |
| | | <view class="mine-actions grid col-4 text-center"> |
| | | <view class="action-item" @click="handleJiaoLiuQun"> |
| | | <view class="iconfont icon-friendfill text-pink icon"></view> |
| | | <text class="text">交æµç¾¤</text> |
| | | </view> |
| | | <view class="action-item" @click="handleBuilding"> |
| | | <view class="iconfont icon-service text-blue icon"></view> |
| | | <text class="text">å¨çº¿å®¢æ</text> |
| | | </view> |
| | | <view class="action-item" @click="handleBuilding"> |
| | | <view class="iconfont icon-community text-mauve icon"></view> |
| | | <text class="text">åé¦ç¤¾åº</text> |
| | | </view> |
| | | <view class="action-item" @click="handleBuilding"> |
| | | <view class="iconfont icon-dianzan text-green icon"></view> |
| | | <text class="text">ç¹èµæä»¬</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="menu-list"> |
| | | <view class="list-cell list-cell-arrow" @click="handleToEditInfo"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-user menu-icon"></view> |
| | | <view>ç¼è¾èµæ</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow" @click="handleHelp"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-help menu-icon"></view> |
| | | <view>常è§é®é¢</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow" @click="handleAbout"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-aixin menu-icon"></view> |
| | | <view>å
³äºæä»¬</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow" @click="handleToSetting"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-setting menu-icon"></view> |
| | | <view>åºç¨è®¾ç½®</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | <!-- <view> |
| | | <uni-popup ref="popup" type="dialog"> |
| | | <uni-popup-dialog type="info" cancelText="å
³é" confirmText="éåº" |
| | | title="éç¥" content="ç¡®å®æ³¨éå¹¶éåºç³»ç»å" |
| | | @confirm="dialogConfirm" |
| | | @close="dialogClose"> |
| | | </uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> --> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from "vue"; |
| | | import config from '@/config.js' |
| | | import useUserStore from '@/store/modules/user' |
| | | const userStore = useUserStore() |
| | | const name = userStore.name; |
| | | const version = config.appInfo.version; |
| | | |
| | | const avatar = ref(userStore.avatar); |
| | | const windowHeight = ref(uni.getSystemInfoSync().windowHeight - 50); |
| | | const popup = ref(null); |
| | | |
| | | uni.$on('refresh', () => { |
| | | avatar.value = userStore.avatar; |
| | | }) |
| | | |
| | | function handleToInfo() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/info/index' |
| | | }); |
| | | }; |
| | | function handleToEditInfo() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/info/edit' |
| | | }); |
| | | }; |
| | | function handleToSetting() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/setting/index' |
| | | }); |
| | | }; |
| | | function handleToLogin() { |
| | | uni.reLaunch({ |
| | | url: '/pages/login' |
| | | }); |
| | | }; |
| | | function handleToAvatar() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/avatar/index' |
| | | }); |
| | | }; |
| | | function handleLogout() { |
| | | popup.value.open(); |
| | | }; |
| | | function dialogConfirm() { |
| | | //console.log('----------------ç¹å»ç¡®è®¤------------') |
| | | |
| | | userStore.logOut().then(() => { |
| | | uni.reLaunch({ |
| | | url: '/pages/login' |
| | | }); |
| | | }) |
| | | }; |
| | | function dialogClose() { |
| | | //console.log('ç¹å»å
³é') |
| | | }; |
| | | function handleHelp() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/help/index' |
| | | }); |
| | | }; |
| | | function handleAbout() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/about/index' |
| | | }); |
| | | }; |
| | | function handleJiaoLiuQun() { |
| | | uni.showToast({ |
| | | title: 'QQ群ï¼133713780', |
| | | mask: false, |
| | | icon: "none", |
| | | duration: 1000 |
| | | }); |
| | | }; |
| | | function handleBuilding() { |
| | | uni.showToast({ |
| | | title: '模å建设ä¸~', |
| | | mask: false, |
| | | icon: "none", |
| | | duration: 1000 |
| | | }); |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #f5f6f7; |
| | | } |
| | | |
| | | .mine-container { |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | |
| | | .header-section { |
| | | padding: 15px 15px 45px 15px; |
| | | background-color: #3c96f3; |
| | | color: white; |
| | | |
| | | .login-tip { |
| | | font-size: 18px; |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .cu-avatar { |
| | | border: 2px solid #eaeaea; |
| | | |
| | | .icon { |
| | | font-size: 40px; |
| | | } |
| | | } |
| | | |
| | | .user-info { |
| | | margin-left: 15px; |
| | | |
| | | .u_title { |
| | | font-size: 18px; |
| | | line-height: 30px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .content-section { |
| | | position: relative; |
| | | top: -50px; |
| | | |
| | | .mine-actions { |
| | | margin: 15px 15px; |
| | | padding: 20px 0px; |
| | | border-radius: 8px; |
| | | background-color: white; |
| | | |
| | | .action-item { |
| | | .icon { |
| | | font-size: 28px; |
| | | } |
| | | |
| | | .text { |
| | | display: block; |
| | | font-size: 13px; |
| | | margin: 8px 0px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export default [ |
| | | { |
| | | groupName: 'geekç»ä»¶', |
| | | groupName_en: 'Page', |
| | | list: [ |
| | | { |
| | | path: '/pages_geek/pages/index/index', |
| | | icon: 'wxCenter', |
| | | title: 'ç»ä»¶å±ç¤º', |
| | | title_en: 'index', |
| | | }, |
| | | { |
| | | path: '/pages_geek/pages/code/index', |
| | | icon: 'wxCenter', |
| | | title: 'äºç»´ç ', |
| | | title_en: 'index', |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | groupName: 'é¨ä»¶', |
| | | groupName_en: 'Parts', |
| | | list: [ |
| | | { |
| | | path: '/pages_template/pages/coupon/index', |
| | | icon: 'coupon', |
| | | title: 'Coupon 伿 å¸', |
| | | title_en: 'Coupon', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/citySelect/index', |
| | | icon: 'citySelect', |
| | | title: 'CitySelect åå¸éæ©', |
| | | title_en: 'CitySelect', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/submitBar/index', |
| | | icon: 'submitBar', |
| | | title: 'SubmitBar æäº¤è®¢åæ ', |
| | | title_en: 'SubmitBar', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/keyboardPay/index', |
| | | icon: 'keyboardPay', |
| | | title: 'KeyboardPay èªå®ä¹é®çæ¯ä»æ¨¡æ¿', |
| | | title_en: 'KeyboardPay', |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | groupName: 'æ¥è¡¨', |
| | | groupName_en: 'Parts', |
| | | list: [ |
| | | { |
| | | path: '/pages_qiun/pages/finance/index', |
| | | icon: 'coupon', |
| | | title: 'è´¢å¡æ¥å', |
| | | title_en: 'finace', |
| | | }, |
| | | { |
| | | path: '/pages_qiun/pages/main/index', |
| | | icon: 'coupon', |
| | | title: 'æ°æ®æ¥è¡¨ä¸å¿', |
| | | title_en: 'main', |
| | | }, |
| | | { |
| | | path: '/pages_qiun/pages/school/index', |
| | | icon: 'coupon', |
| | | title: 'æºæ
§æè²æ¥è¡¨ä¸å¿', |
| | | title_en: 'school', |
| | | }, |
| | | { |
| | | path: '/pages_qiun/pages/sport/index', |
| | | icon: 'coupon', |
| | | title: 'è¿å¨æ¥å', |
| | | title_en: 'sport', |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | groupName: '页é¢', |
| | | groupName_en: 'Page', |
| | | list: [ |
| | | { |
| | | path: '/pages_template/pages/wxCenter/index', |
| | | icon: 'wxCenter', |
| | | title: 'WxCenter 仿微信个人ä¸å¿', |
| | | title_en: 'WxCenter', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/mallMenu/index1', |
| | | icon: 'mall_menu_1', |
| | | title: 'MallMenu åç´åç±»(å·¦å³ç¬ç«)', |
| | | title_en: 'MallMenu 1', |
| | | }, { |
| | | path: '/pages_template/pages/mallMenu/index2', |
| | | icon: 'mall_menu_2', |
| | | title: 'MallMenu åç´åç±»(å·¦å³èå¨)', |
| | | title_en: 'MallMenu 2', |
| | | }, { |
| | | path: '/pages_template/pages/comment/index', |
| | | icon: 'comment', |
| | | title: 'Comment è¯è®ºå表', |
| | | title_en: 'Comment', |
| | | }, { |
| | | path: '/pages_template/pages/order/index', |
| | | icon: 'order', |
| | | title: 'Order 订åå表', |
| | | title_en: 'Order', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/login/index1', |
| | | icon: 'login', |
| | | title: 'Login ç»å½çé¢', |
| | | title_en: 'Login', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/login/index2', |
| | | icon: 'login', |
| | | title: 'Login æ°´æ»´ç»å½', |
| | | title_en: 'Login', |
| | | }, |
| | | { |
| | | path: '/pages_template/pages/address/index', |
| | | icon: 'address', |
| | | title: 'Address æ¶è´§å°å', |
| | | title_en: 'Address', |
| | | }, |
| | | ] |
| | | }, |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="wrap"> |
| | | <view class="list-wrap"> |
| | | <u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)" v-for="(item, index) in list" |
| | | :key="index"> |
| | | <u-cell :titleStyle="{ fontWeight: 500 }" @click="openPage(item1.path)" :title="getFieldTitle(item1)" |
| | | v-for="(item1, index1) in item.list" :key="index1"> |
| | | <template v-slot:icon> |
| | | <image class="u-cell-icon" :src="getIcon(item1.icon)" mode="widthFix"></image> |
| | | </template> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | </view> |
| | | <u-gap height="70"></u-gap> |
| | | <!-- <u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar> --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import list from "./template.config.js"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | list: list, |
| | | // desc: 'æ¶éä¼å¤ç常ç¨é¡µé¢åå¸å±ï¼åå°å¼åè
çéå¤å·¥ä½ï¼è®©ä½ 䏿³¨é»è¾ï¼äºååå' |
| | | } |
| | | }, |
| | | computed: { |
| | | getIcon() { |
| | | return path => { |
| | | return '../static/uview/demo/' + path + '.png'; |
| | | return 'https://cdn.uviewui.com/uview/example/' + path + '.png'; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | openPage(path) { |
| | | this.$u.route({ |
| | | url: path |
| | | }) |
| | | }, |
| | | getGroupTitle(item) { |
| | | return item.groupName |
| | | }, |
| | | getFieldTitle(item) { |
| | | return item.title |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | /* page { |
| | | background-color: rgb(240, 242, 244); |
| | | } */ |
| | | </style> |
| | | |
| | | <style lang="scss" scoped> |
| | | .u-cell-icon { |
| | | width: 36rpx; |
| | | height: 36rpx; |
| | | margin-right: 8rpx; |
| | | } |
| | | </style> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="work-container"> |
| | | <!-- è½®æå¾ --> |
| | | <uni-swiper-dot class="uni-swiper-dot-box" :info="data" :current="current" field="content"> |
| | | <swiper class="swiper-box" :current="swiperDotIndex" @change="changeSwiper"> |
| | | <swiper-item v-for="(item, index) in data" :key="index"> |
| | | <view class="swiper-item" @click="clickBannerItem(item)"> |
| | | <image :src="item.image" mode="aspectFill" :draggable="false" /> |
| | | </view> |
| | | </swiper-item> |
| | | </swiper> |
| | | </uni-swiper-dot> |
| | | |
| | | <!-- å®«æ ¼ç»ä»¶ --> |
| | | <uni-section title="ç³»ç»ç®¡ç" type="line"></uni-section> |
| | | <view class="grid-body"> |
| | | <uni-grid :column="4" :showBorder="false" @change="changeGrid"> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="person-filled" size="30"></uni-icons> |
| | | <text class="text">ç¨æ·ç®¡ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="staff-filled" size="30"></uni-icons> |
| | | <text class="text">è§è²ç®¡ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="color" size="30"></uni-icons> |
| | | <text class="text">èå管ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="settings-filled" size="30"></uni-icons> |
| | | <text class="text">é¨é¨ç®¡ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="heart-filled" size="30"></uni-icons> |
| | | <text class="text">å²ä½ç®¡ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="bars" size="30"></uni-icons> |
| | | <text class="text">åå
¸ç®¡ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="gear-filled" size="30"></uni-icons> |
| | | <text class="text">åæ°è®¾ç½®</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="chat-filled" size="30"></uni-icons> |
| | | <text class="text">éç¥å
Œ</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | <uni-grid-item> |
| | | <view class="grid-item-box"> |
| | | <uni-icons type="wallet-filled" size="30"></uni-icons> |
| | | <text class="text">æ¥å¿ç®¡ç</text> |
| | | </view> |
| | | </uni-grid-item> |
| | | </uni-grid> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from "vue"; |
| | | import modal from "@/plugins/modal" |
| | | const current=ref(0); |
| | | const swiperDotIndex=ref(0); |
| | | const data=ref([{ |
| | | image: '/static/images/banner/banner01.jpg' |
| | | }, |
| | | { |
| | | image: '/static/images/banner/banner02.jpg' |
| | | }, |
| | | { |
| | | image: '/static/images/banner/banner03.jpg' |
| | | } |
| | | ]); |
| | | |
| | | function clickBannerItem(item) { |
| | | console.info(item) |
| | | }; |
| | | function changeSwiper(e) { |
| | | current.value = e.detail.current |
| | | } |
| | | function changeGrid(e) { |
| | | modal.showToast({ |
| | | title: '模å建设ä¸', |
| | | mask: false, |
| | | icon:'loading', |
| | | duration: 1000 |
| | | }); |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | /* #ifndef APP-NVUE */ |
| | | page { |
| | | display: flex; |
| | | flex-direction: column; |
| | | box-sizing: border-box; |
| | | background-color: #fff; |
| | | min-height: 100%; |
| | | height: auto; |
| | | } |
| | | |
| | | view { |
| | | font-size: 14px; |
| | | line-height: inherit; |
| | | } |
| | | |
| | | /* #endif */ |
| | | |
| | | .text { |
| | | text-align: center; |
| | | font-size: 26rpx; |
| | | margin-top: 10rpx; |
| | | } |
| | | |
| | | .grid-item-box { |
| | | flex: 1; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: 15px 0; |
| | | } |
| | | |
| | | .uni-margin-wrap { |
| | | width: 690rpx; |
| | | width: 100%; |
| | | ; |
| | | } |
| | | |
| | | .swiper { |
| | | height: 300rpx; |
| | | } |
| | | |
| | | .swiper-box { |
| | | height: 150px; |
| | | } |
| | | |
| | | .swiper-item { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | color: #fff; |
| | | height: 300rpx; |
| | | line-height: 300rpx; |
| | | } |
| | | |
| | | @media screen and (min-width: 500px) { |
| | | .uni-swiper-dot-box { |
| | | width: 400px; |
| | | /* #ifndef APP-NVUE */ |
| | | margin: 0 auto; |
| | | /* #endif */ |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .image { |
| | | width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template xlang="wxml"> |
| | | <view class="container"> |
| | | <view class="qrimg"> |
| | | <view class="qrimg-i"> |
| | | <geek-qrcode v-if="ifShow" cid="qrcode1" ref="qrcode" :val="val" :size="size" :unit="unit" |
| | | :background="background" :foreground="foreground" :pdground="pdground" :icon="icon" :iconSize="iconsize" |
| | | :lv="lv" :onval="onval" :loadMake="loadMake" :usingComponents="true" @result="qrR" /> |
| | | </view> |
| | | <view class="qrimg-i"> |
| | | <geek-qrcode v-if="ifShow" cid="qrcode2" ref="qrcode2" val="第äºä¸ªäºç»´ç " :size="size" :onval="onval" |
| | | :loadMake="loadMake" :usingComponents="true" @result="qrR" /> |
| | | </view> |
| | | </view> |
| | | <view class="uni-padding-wrap"> |
| | | <view class="uni-title">请è¾å
¥è¦çæçäºç»´ç å
容</view> |
| | | </view> |
| | | <view class="uni-list"> |
| | | <input class="uni-input" placeholder="请è¾å
¥è¦çæçäºç»´ç å
容" v-model="val" /> |
| | | </view> |
| | | <view class="uni-padding-wrap uni-common-mt"> |
| | | <view class="uni-title">设置äºç»´ç 大å°</view> |
| | | </view> |
| | | <view class="body-view"> |
| | | <slider :value="size" @change="sliderchange" min="50" max="500" show-value /> |
| | | </view> |
| | | <view class="uni-padding-wrap"> |
| | | <view class="btns"> |
| | | <button type="primary" @tap="selectIcon">éæ©äºç»´ç 徿 </button> |
| | | <button type="primary" @tap="creatQrcode">çæäºç»´ç </button> |
| | | <button type="primary" @tap="saveQrcode">ä¿åå°å¾åº</button> |
| | | <button type="warn" @tap="clearQrcode">æ¸
é¤äºç»´ç </button> |
| | | <button type="warn" @tap="ifQrcode">æ¾ç¤ºéèäºç»´ç </button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | ifShow: true, |
| | | val: 'äºç»´ç ', // è¦çæçäºç»´ç å¼ |
| | | size: 200, // äºç»´ç å¤§å° |
| | | unit: 'upx', // åä½ |
| | | background: '#b4e9e2', // èæ¯è² |
| | | foreground: '#309286', // åæ¯è² |
| | | pdground: '#32dbc6', // è§æ è² |
| | | icon: '', // äºç»´ç 徿 |
| | | iconsize: 40, // äºç»´ç 徿 å¤§å° |
| | | lv: 3, // äºç»´ç 容éçº§å« ï¼ ä¸è¬ä¸ç¨è®¾ç½®ï¼é»è®¤å°±è¡ |
| | | onval: false, // valå¼ååæ¶èªå¨éæ°çæäºç»´ç |
| | | loadMake: true, // ç»ä»¶å è½½å®æåèªå¨çæäºç»´ç |
| | | src: '' // äºç»´ç çæåçå¾çå°åæbase64 |
| | | } |
| | | }, |
| | | methods: { |
| | | sliderchange(e) { |
| | | this.size = e.detail.value |
| | | }, |
| | | creatQrcode() { |
| | | this.$refs.qrcode._makeCode() |
| | | }, |
| | | saveQrcode() { |
| | | this.$refs.qrcode._saveCode() |
| | | }, |
| | | qrR(res) { |
| | | this.src = res |
| | | }, |
| | | clearQrcode() { |
| | | this.$refs.qrcode._clearCode() |
| | | this.val = '' |
| | | }, |
| | | ifQrcode() { |
| | | this.ifShow = !this.ifShow |
| | | }, |
| | | selectIcon() { |
| | | let that = this |
| | | uni.chooseImage({ |
| | | count: 1, //é»è®¤9 |
| | | sizeType: ['original', 'compressed'], //å¯ä»¥æå®æ¯åå¾è¿æ¯å缩å¾ï¼é»è®¤äºè
齿 |
| | | sourceType: ['album'], //ä»ç¸åéæ© |
| | | success: function (res) { |
| | | that.icon = res.tempFilePaths[0] |
| | | setTimeout(() => { |
| | | that.creatQrcode() |
| | | }, 100); |
| | | // console.log(res.tempFilePaths); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | /* @import "../../../common/icon.css"; */ |
| | | .container { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 100%; |
| | | } |
| | | |
| | | .qrimg { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .qrimg-i { |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | slider { |
| | | width: 100%; |
| | | } |
| | | |
| | | input { |
| | | width: 100%; |
| | | margin-bottom: 20upx; |
| | | } |
| | | |
| | | .btns { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 100%; |
| | | } |
| | | |
| | | button { |
| | | width: 100%; |
| | | margin-top: 10upx; |
| | | }</style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view style="background-color: #f6f6f6;"> |
| | | <uni-section class="mb-10" title="æ°å¼æ¿" sub-title="statistic" type="line"></uni-section> |
| | | <u-row gutter="0"> |
| | | <u-col span="6"> |
| | | <geek-statistic label="è®¢åæ°é(个)" labelColor="#1f1f1f" :number="0" numberColor="red" /> |
| | | </u-col> |
| | | <u-col span="6"> |
| | | <geek-statistic label="交æéé¢(å
)" labelColor="#1f1f1f" :number="0" numberColor="red" /> |
| | | </u-col> |
| | | </u-row> |
| | | |
| | | <uni-section class="mb-10" title="èå" sub-title="menu" type="line"></uni-section> |
| | | <view style="width: 100%; display: flex;justify-content:space-evenly;align-items: center;"> |
| | | <geek-menu v-for="menu, index in menus" :key="index" v-bind=menu :size="60" @click="modal.msg(menu.label)" |
| | | type="circle" /> |
| | | </view> |
| | | <view style="width: 100%; display: flex;justify-content:space-evenly;align-items: center;"> |
| | | <geek-menu v-for="menu, index in menus" :key="index" :icon="menu.icon" :label="menu.label" :size="60" |
| | | @click="modal.msg(menu.label)" type="rect" /> |
| | | </view> |
| | | |
| | | <uni-section class="mb-10" title="ååå表" sub-title="commodity" type="line"></uni-section> |
| | | <view style="display: flex;flex-direction: column;justify-content: center;align-items: center;"> |
| | | <geek-commodity v-for="item, index in commodityList" :key="index" v-bind="item" type="line" |
| | | @click="modal.msg(item.title)" /> |
| | | </view> |
| | | <view style="display: flex;justify-content: center;"> |
| | | <view> |
| | | <geek-commodity v-for="item, index in commodityList.slice(0, 2)" :key="index" v-bind="item" type="rect" |
| | | @click="modal.msg(item.title)" /> |
| | | </view> |
| | | <view> |
| | | <geek-commodity v-for="item, index in commodityList.slice(1, 3)" :key="index" v-bind="item" type="rect" |
| | | @click="modal.msg(item.title)" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <uni-section class="mb-10" title="订åå表" sub-title="order" type="line"></uni-section> |
| | | <geek-order v-for="item, index in orderList" :key="index" v-bind="item" @more="modal.msg('æ´å¤')" |
| | | @again="modal.msg('忬¡è´ä¹°')" @return="modal.msg('鿢')" @sell="modal.msg('åäºæ¢é±')"></geek-order> |
| | | |
| | | <uni-section class="mb-10" title="é¢è²éæ©å¨" sub-title="order" type="line"></uni-section> |
| | | <geek-color-picker ref="gk" @confirm="getcolor"></geek-color-picker> |
| | | <button @click="open()">æå¼é¢è²éæ©å¨</button> |
| | | |
| | | |
| | | <uni-section class="mb-10" title="äºç»´ç " sub-title="order" type="line"></uni-section> |
| | | <view style="display: flex;align-items: center;justify-content: center;"> |
| | | <geek-qrcode cid="qrcode2" ref="qrcode2" val="äºç»´ç " :loadMake="true" /> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { ref, reactive } from 'vue'; |
| | | import modal from '@/plugins/modal' |
| | | import { Commodity, CommodityOrder, Menu } from "@/components/geek-xd/types" |
| | | |
| | | const gk = ref(null) |
| | | function open() { |
| | | //@ts-ignore |
| | | gk.value.open() |
| | | } |
| | | function getcolor(color: { hex: string, rgba: { r: number, g: number, b: number, a: number } }) { |
| | | console.log(color) |
| | | } |
| | | |
| | | const menus: Array<Menu> = reactive([ |
| | | { icon: "/static/images/icon/rocket.png", label: 'æ¢å' }, |
| | | { icon: "/static/images/icon/phone.png", label: 'å访' }, |
| | | { icon: "/static/images/icon/message.png", label: 'æ¶æ¯' }, |
| | | { icon: "/static/images/icon/dialogue.png", label: 'å
Œ' }, |
| | | { icon: "/static/images/icon/knowledge.png", label: 'ç¥è¯åº' } |
| | | ]); |
| | | |
| | | const commodityList: Array<Commodity> = reactive([ |
| | | { |
| | | img: '/static/images/banner/banner01.jpg', |
| | | title: 'åå1', |
| | | subTitle: 'åå1ç®ä»', |
| | | price: 100, |
| | | }, |
| | | { |
| | | img: '/static/images/banner/banner02.jpg', |
| | | title: 'åå2', |
| | | subTitle: 'åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»åå2ç®ä»', |
| | | price: 300, |
| | | }, |
| | | { |
| | | img: '/static/images/banner/banner03.jpg', |
| | | title: 'åå3', |
| | | subTitle: 'åå3ç®ä»', |
| | | price: 200, |
| | | } |
| | | ]) |
| | | |
| | | const orderList: Array<CommodityOrder> = [ |
| | | { |
| | | shop: 'geekèªè¥æè°åº', |
| | | status: '宿', |
| | | img: '/static/images/banner/banner01.jpg', |
| | | title: 'åå1', |
| | | label: 'åå1ç®ä»', |
| | | price: 100.32, |
| | | num: 10 |
| | | }, |
| | | { |
| | | shop: 'geekèªè¥æè°åº', |
| | | status: '已忶', |
| | | img: '/static/images/banner/banner03.jpg', |
| | | title: 'ååååååååååååååååååååååååååååååååååå3', |
| | | label: 'åå3ç®ä»', |
| | | price: 2000.67, |
| | | num: 10 |
| | | }, |
| | | { |
| | | shop: 'geekèªè¥æè°åº', |
| | | status: '已忶', |
| | | img: '/static/images/banner/banner03.jpg', |
| | | title: 'ååååååååååååååååååååååååååååååååååå3', |
| | | label: 'åå3ç®ä»', |
| | | price: 10.67, |
| | | num: 10 |
| | | } |
| | | ] |
| | | |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="about-container"> |
| | | <view class="header-section text-center"> |
| | | <image style="width: 150rpx;height: 150rpx;" src="/static/logo.png" mode="widthFix"> |
| | | </image> |
| | | <uni-title type="h2" title="è¥ä¾ç§»å¨ç«¯"></uni-title> |
| | | </view> |
| | | |
| | | <view class="content-section"> |
| | | <view class="menu-list"> |
| | | <view class="list-cell list-cell-arrow"> |
| | | <view class="menu-item-box"> |
| | | <view>çæ¬ä¿¡æ¯</view> |
| | | <view class="text-right">v{{version}}</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow"> |
| | | <view class="menu-item-box"> |
| | | <view>宿¹é®ç®±</view> |
| | | <view class="text-right">ruoyi@xx.com</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow"> |
| | | <view class="menu-item-box"> |
| | | <view>æå¡ç线</view> |
| | | <view class="text-right">400-999-9999</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow"> |
| | | <view class="menu-item-box"> |
| | | <view>å
¬å¸ç½ç«</view> |
| | | <view class="text-right"> |
| | | <uni-link :href="url" :text="url" showUnderLine="false"></uni-link> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="copyright"> |
| | | <view>Copyright © 2022 ruoyi.vip All Rights Reserved.</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import config from '@/config.js' |
| | | const url=config.appInfo.site_url; |
| | | const version=config.appInfo.version; |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #f8f8f8; |
| | | } |
| | | |
| | | .copyright { |
| | | margin-top: 50rpx; |
| | | text-align: center; |
| | | line-height: 60rpx; |
| | | color: #999; |
| | | } |
| | | |
| | | .header-section { |
| | | display: flex; |
| | | padding: 30rpx 0 0; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="page-body uni-content-info"> |
| | | <view class='cropper-content'> |
| | | <view v-if="isShowImg" class="uni-corpper" |
| | | :style="'width:' + cropperInitW + 'px;height:' + cropperInitH + 'px;background:#000'"> |
| | | <view class="uni-corpper-content" |
| | | :style="'width:' + cropperW + 'px;height:' + cropperH + 'px;left:' + cropperL + 'px;top:' + cropperT + 'px'"> |
| | | <image :src="imageSrc" :style="'width:' + cropperW + 'px;height:' + cropperH + 'px'"></image> |
| | | <view class="uni-corpper-crop-box" @touchstart.stop="contentStartMove" |
| | | @touchmove.stop="contentMoveing" @touchend.stop="contentTouchEnd" |
| | | :style="'left:' + cutL + 'px;top:' + cutT + 'px;right:' + cutR + 'px;bottom:' + cutB + 'px'"> |
| | | <view class="uni-cropper-view-box"> |
| | | <view class="uni-cropper-dashed-h"></view> |
| | | <view class="uni-cropper-dashed-v"></view> |
| | | <view class="uni-cropper-line-t" data-drag="top" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-line-r" data-drag="right" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-line-b" data-drag="bottom" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-line-l" data-drag="left" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-point point-t" data-drag="top" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-point point-tr" data-drag="topTight"></view> |
| | | <view class="uni-cropper-point point-r" data-drag="right" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-point point-rb" data-drag="rightBottom" |
| | | @touchstart.stop="dragStart" @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-point point-b" data-drag="bottom" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove" @touchend.stop="dragEnd"></view> |
| | | <view class="uni-cropper-point point-bl" data-drag="bottomLeft"></view> |
| | | <view class="uni-cropper-point point-l" data-drag="left" @touchstart.stop="dragStart" |
| | | @touchmove.stop="dragMove"></view> |
| | | <view class="uni-cropper-point point-lt" data-drag="leftTop"></view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class='cropper-config'> |
| | | <button type="primary reverse" @click="getImage" style='margin-top: 30rpx;'> 鿩头å </button> |
| | | <button type="warn" @click="getImageInfo" style='margin-top: 30rpx;'> æäº¤ </button> |
| | | </view> |
| | | <canvas canvas-id="myCanvas" |
| | | :style="'position:absolute;border: 1px solid red; width:' + imageW + 'px;height:' + imageH + 'px;top:-9999px;left:-9999px;'"></canvas> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import config from '@/config' |
| | | import { uploadAvatar } from "@/api/system/user" |
| | | import useUserStore from '@/store/modules/user' |
| | | |
| | | const baseUrl = config.baseUrl |
| | | let sysInfo = uni.getSystemInfoSync() |
| | | let SCREEN_WIDTH = sysInfo.screenWidth |
| | | let PAGE_X, // ææä¸çxä½ç½® |
| | | PAGE_Y, // ææä¸yçä½ç½® |
| | | PR = sysInfo.pixelRatio, // dpi |
| | | T_PAGE_X, // æç§»å¨çæ¶åxçä½ç½® |
| | | T_PAGE_Y, // æç§»å¨çæ¶åYçä½ç½® |
| | | CUT_L, // åå§åææ½å
ç´ çleftå¼ |
| | | CUT_T, // åå§åææ½å
ç´ çtopå¼ |
| | | CUT_R, // åå§åææ½å
ç´ ç |
| | | CUT_B, // åå§åææ½å
ç´ ç |
| | | CUT_W, // åå§åææ½å
ç´ ç宽度 |
| | | CUT_H, // åå§åææ½å
ç´ çé«åº¦ |
| | | IMG_RATIO, // å¾çæ¯ä¾ |
| | | IMG_REAL_W, // å¾çå®é
ç宽度 |
| | | IMG_REAL_H, // å¾çå®é
çé«åº¦ |
| | | DRAFG_MOVE_RATIO = 1, //ç§»å¨æ¶åçæ¯ä¾, |
| | | INIT_DRAG_POSITION = 100, // åå§åå±å¹å®½åº¦åè£åªåºåç宽度ä¹å·®ï¼ç¨äºè®¾ç½®åå§åè£åªç宽度 |
| | | DRAW_IMAGE_W = sysInfo.screenWidth // 设置çæçå¾ç宽度 |
| | | |
| | | export default { |
| | | /** |
| | | * 页é¢çåå§æ°æ® |
| | | */ |
| | | data() { |
| | | return { |
| | | imageSrc: useUserStore().avatar, |
| | | isShowImg: false, |
| | | // åå§åçå®½é« |
| | | cropperInitW: SCREEN_WIDTH, |
| | | cropperInitH: SCREEN_WIDTH, |
| | | // 卿çå®½é« |
| | | cropperW: SCREEN_WIDTH, |
| | | cropperH: SCREEN_WIDTH, |
| | | // 卿çleft topå¼ |
| | | cropperL: 0, |
| | | cropperT: 0, |
| | | |
| | | transL: 0, |
| | | transT: 0, |
| | | |
| | | // å¾ç缩æ¾å¼ |
| | | scaleP: 0, |
| | | imageW: 0, |
| | | imageH: 0, |
| | | |
| | | // è£åªæ¡ å®½é« |
| | | cutL: 0, |
| | | cutT: 0, |
| | | cutB: SCREEN_WIDTH, |
| | | cutR: '100%', |
| | | qualityWidth: DRAW_IMAGE_W, |
| | | innerAspectRadio: DRAFG_MOVE_RATIO |
| | | } |
| | | }, |
| | | /** |
| | | * çå½å¨æå½æ°--çå¬é¡µé¢å次渲æå®æ |
| | | */ |
| | | onReady: function () { |
| | | this.loadImage() |
| | | }, |
| | | methods: { |
| | | setData: function (obj) { |
| | | let that = this |
| | | Object.keys(obj).forEach(function (key) { |
| | | that.$set(that.$data, key, obj[key]) |
| | | }) |
| | | }, |
| | | getImage: function () { |
| | | var _this = this |
| | | uni.chooseImage({ |
| | | success: function (res) { |
| | | _this.setData({ |
| | | imageSrc: res.tempFilePaths[0], |
| | | }) |
| | | _this.loadImage() |
| | | }, |
| | | }) |
| | | }, |
| | | loadImage: function () { |
| | | var _this = this |
| | | |
| | | uni.getImageInfo({ |
| | | src: _this.imageSrc, |
| | | success: function success(res) { |
| | | IMG_RATIO = 1 / 1 |
| | | if (IMG_RATIO >= 1) { |
| | | IMG_REAL_W = SCREEN_WIDTH |
| | | IMG_REAL_H = SCREEN_WIDTH / IMG_RATIO |
| | | } else { |
| | | IMG_REAL_W = SCREEN_WIDTH * IMG_RATIO |
| | | IMG_REAL_H = SCREEN_WIDTH |
| | | } |
| | | let minRange = IMG_REAL_W > IMG_REAL_H ? IMG_REAL_W : IMG_REAL_H |
| | | INIT_DRAG_POSITION = minRange > INIT_DRAG_POSITION ? INIT_DRAG_POSITION : minRange |
| | | // æ ¹æ®å¾çç宽髿¾ç¤ºä¸åçææ ä¿è¯å¾çå¯ä»¥æ£å¸¸æ¾ç¤º |
| | | if (IMG_RATIO >= 1) { |
| | | let cutT = Math.ceil((SCREEN_WIDTH / IMG_RATIO - (SCREEN_WIDTH / IMG_RATIO - INIT_DRAG_POSITION)) / 2) |
| | | let cutB = cutT |
| | | let cutL = Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH + INIT_DRAG_POSITION) / 2) |
| | | let cutR = cutL |
| | | _this.setData({ |
| | | cropperW: SCREEN_WIDTH, |
| | | cropperH: SCREEN_WIDTH / IMG_RATIO, |
| | | // åå§åleft right |
| | | cropperL: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH) / 2), |
| | | cropperT: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH / IMG_RATIO) / 2), |
| | | cutL: cutL, |
| | | cutT: cutT, |
| | | cutR: cutR, |
| | | cutB: cutB, |
| | | // å¾ç缩æ¾å¼ |
| | | imageW: IMG_REAL_W, |
| | | imageH: IMG_REAL_H, |
| | | scaleP: IMG_REAL_W / SCREEN_WIDTH, |
| | | qualityWidth: DRAW_IMAGE_W, |
| | | innerAspectRadio: IMG_RATIO |
| | | }) |
| | | } else { |
| | | let cutL = Math.ceil((SCREEN_WIDTH * IMG_RATIO - (SCREEN_WIDTH * IMG_RATIO)) / 2) |
| | | let cutR = cutL |
| | | let cutT = Math.ceil((SCREEN_WIDTH - INIT_DRAG_POSITION) / 2) |
| | | let cutB = cutT |
| | | _this.setData({ |
| | | cropperW: SCREEN_WIDTH * IMG_RATIO, |
| | | cropperH: SCREEN_WIDTH, |
| | | // åå§åleft right |
| | | cropperL: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH * IMG_RATIO) / 2), |
| | | cropperT: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH) / 2), |
| | | |
| | | cutL: cutL, |
| | | cutT: cutT, |
| | | cutR: cutR, |
| | | cutB: cutB, |
| | | // å¾ç缩æ¾å¼ |
| | | imageW: IMG_REAL_W, |
| | | imageH: IMG_REAL_H, |
| | | scaleP: IMG_REAL_W / SCREEN_WIDTH, |
| | | qualityWidth: DRAW_IMAGE_W, |
| | | innerAspectRadio: IMG_RATIO |
| | | }) |
| | | } |
| | | _this.setData({ |
| | | isShowImg: true |
| | | }) |
| | | uni.hideLoading() |
| | | } |
| | | }) |
| | | }, |
| | | // æå¨æ¶å触åçtouchStartäºä»¶ |
| | | contentStartMove(e) { |
| | | PAGE_X = e.touches[0].pageX |
| | | PAGE_Y = e.touches[0].pageY |
| | | }, |
| | | |
| | | // æå¨æ¶å触åçtouchMoveäºä»¶ |
| | | contentMoveing(e) { |
| | | var _this = this |
| | | var dragLengthX = (PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO |
| | | var dragLengthY = (PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO |
| | | // 左移 |
| | | if (dragLengthX > 0) { |
| | | if (this.cutL - dragLengthX < 0) dragLengthX = this.cutL |
| | | } else { |
| | | if (this.cutR + dragLengthX < 0) dragLengthX = -this.cutR |
| | | } |
| | | |
| | | if (dragLengthY > 0) { |
| | | if (this.cutT - dragLengthY < 0) dragLengthY = this.cutT |
| | | } else { |
| | | if (this.cutB + dragLengthY < 0) dragLengthY = -this.cutB |
| | | } |
| | | this.setData({ |
| | | cutL: this.cutL - dragLengthX, |
| | | cutT: this.cutT - dragLengthY, |
| | | cutR: this.cutR + dragLengthX, |
| | | cutB: this.cutB + dragLengthY |
| | | }) |
| | | |
| | | PAGE_X = e.touches[0].pageX |
| | | PAGE_Y = e.touches[0].pageY |
| | | }, |
| | | |
| | | contentTouchEnd() { |
| | | |
| | | }, |
| | | |
| | | // è·åå¾ç |
| | | getImageInfo() { |
| | | var _this = this |
| | | uni.showLoading({ |
| | | title: 'å¾ççæä¸...', |
| | | }) |
| | | // å°å¾çåå
¥ç»å¸ |
| | | const ctx = uni.createCanvasContext('myCanvas') |
| | | ctx.drawImage(_this.imageSrc, 0, 0, IMG_REAL_W, IMG_REAL_H) |
| | | ctx.draw(true, () => { |
| | | // è·åç»å¸è¦è£åªçä½ç½®å宽度 å为ç¾åæ¯ * ç»å¸ä¸å¾çç宽度 ä¿è¯äºå¨å¾®ä¿¡å°ç¨åºä¸è£åªçå¾çæ¨¡ç³ ä½ç½®ä¸å¯¹çé®é¢ canvasT = (_this.cutT / _this.cropperH) * (_this.imageH / pixelRatio) |
| | | var canvasW = ((_this.cropperW - _this.cutL - _this.cutR) / _this.cropperW) * IMG_REAL_W |
| | | var canvasH = ((_this.cropperH - _this.cutT - _this.cutB) / _this.cropperH) * IMG_REAL_H |
| | | var canvasL = (_this.cutL / _this.cropperW) * IMG_REAL_W |
| | | var canvasT = (_this.cutT / _this.cropperH) * IMG_REAL_H |
| | | uni.canvasToTempFilePath({ |
| | | x: canvasL, |
| | | y: canvasT, |
| | | width: canvasW, |
| | | height: canvasH, |
| | | destWidth: canvasW, |
| | | destHeight: canvasH, |
| | | quality: 0.5, |
| | | canvasId: 'myCanvas', |
| | | success: function (res) { |
| | | uni.hideLoading() |
| | | let data = { name: 'avatarfile', filePath: res.tempFilePath } |
| | | uploadAvatar(data).then(response => { |
| | | // userStore.avatar = response.imgUrl |
| | | /*cloud*/ |
| | | useUserStore().avatar = baseUrl + response.imgUrl |
| | | uni.showToast({ title: "ä¿®æ¹æå", icon: 'success' }) |
| | | uni.$emit('refresh'); |
| | | uni.navigateBack(); |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | // 设置大å°çæ¶å触åçtouchStartäºä»¶ |
| | | dragStart(e) { |
| | | T_PAGE_X = e.touches[0].pageX |
| | | T_PAGE_Y = e.touches[0].pageY |
| | | CUT_L = this.cutL |
| | | CUT_R = this.cutR |
| | | CUT_B = this.cutB |
| | | CUT_T = this.cutT |
| | | }, |
| | | |
| | | // 设置大å°çæ¶å触åçtouchMoveäºä»¶ |
| | | dragMove(e) { |
| | | var _this = this |
| | | var dragType = e.target.dataset.drag |
| | | switch (dragType) { |
| | | case 'right': |
| | | var dragLength = (T_PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO |
| | | if (CUT_R + dragLength < 0) dragLength = -CUT_R |
| | | this.setData({ |
| | | cutR: CUT_R + dragLength |
| | | }) |
| | | break |
| | | case 'left': |
| | | var dragLength = (T_PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO |
| | | if (CUT_L - dragLength < 0) dragLength = CUT_L |
| | | if ((CUT_L - dragLength) > (this.cropperW - this.cutR)) dragLength = CUT_L - (this.cropperW - this.cutR) |
| | | this.setData({ |
| | | cutL: CUT_L - dragLength |
| | | }) |
| | | break |
| | | case 'top': |
| | | var dragLength = (T_PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO |
| | | if (CUT_T - dragLength < 0) dragLength = CUT_T |
| | | if ((CUT_T - dragLength) > (this.cropperH - this.cutB)) dragLength = CUT_T - (this.cropperH - this.cutB) |
| | | this.setData({ |
| | | cutT: CUT_T - dragLength |
| | | }) |
| | | break |
| | | case 'bottom': |
| | | var dragLength = (T_PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO |
| | | if (CUT_B + dragLength < 0) dragLength = -CUT_B |
| | | this.setData({ |
| | | cutB: CUT_B + dragLength |
| | | }) |
| | | break |
| | | case 'rightBottom': |
| | | var dragLengthX = (T_PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO |
| | | var dragLengthY = (T_PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO |
| | | |
| | | if (CUT_B + dragLengthY < 0) dragLengthY = -CUT_B |
| | | if (CUT_R + dragLengthX < 0) dragLengthX = -CUT_R |
| | | let cutB = CUT_B + dragLengthY |
| | | let cutR = CUT_R + dragLengthX |
| | | |
| | | this.setData({ |
| | | cutB: cutB, |
| | | cutR: cutR |
| | | }) |
| | | break |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | /* pages/uni-cropper/index.wxss */ |
| | | |
| | | .cropper-config { |
| | | padding: 20rpx 40rpx; |
| | | } |
| | | |
| | | .cropper-content { |
| | | min-height: 750rpx; |
| | | width: 100%; |
| | | } |
| | | |
| | | .uni-corpper { |
| | | position: relative; |
| | | overflow: hidden; |
| | | -webkit-user-select: none; |
| | | -moz-user-select: none; |
| | | -ms-user-select: none; |
| | | user-select: none; |
| | | -webkit-tap-highlight-color: transparent; |
| | | -webkit-touch-callout: none; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .uni-corpper-content { |
| | | position: relative; |
| | | } |
| | | |
| | | .uni-corpper-content image { |
| | | display: block; |
| | | width: 100%; |
| | | min-width: 0 !important; |
| | | max-width: none !important; |
| | | height: 100%; |
| | | min-height: 0 !important; |
| | | max-height: none !important; |
| | | image-orientation: 0deg !important; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | /* ç§»å¨å¾çææ */ |
| | | |
| | | .uni-cropper-drag-box { |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | left: 0; |
| | | cursor: move; |
| | | background: rgba(0, 0, 0, 0.6); |
| | | z-index: 1; |
| | | } |
| | | |
| | | /* å
é¨çä¿¡æ¯ */ |
| | | |
| | | .uni-corpper-crop-box { |
| | | position: absolute; |
| | | background: rgba(255, 255, 255, 0.3); |
| | | z-index: 2; |
| | | } |
| | | |
| | | .uni-corpper-crop-box .uni-cropper-view-box { |
| | | position: relative; |
| | | display: block; |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: visible; |
| | | outline: 1rpx solid #69f; |
| | | outline-color: rgba(102, 153, 255, .75) |
| | | } |
| | | |
| | | /* 横åè线 */ |
| | | |
| | | .uni-cropper-dashed-h { |
| | | position: absolute; |
| | | top: 33.33333333%; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 33.33333333%; |
| | | border-top: 1rpx dashed rgba(255, 255, 255, 0.5); |
| | | border-bottom: 1rpx dashed rgba(255, 255, 255, 0.5); |
| | | } |
| | | |
| | | /* 纵åè线 */ |
| | | |
| | | .uni-cropper-dashed-v { |
| | | position: absolute; |
| | | left: 33.33333333%; |
| | | top: 0; |
| | | width: 33.33333333%; |
| | | height: 100%; |
| | | border-left: 1rpx dashed rgba(255, 255, 255, 0.5); |
| | | border-right: 1rpx dashed rgba(255, 255, 255, 0.5); |
| | | } |
| | | |
| | | /* å个æ¹åç线 为äºä¹åçæå¨äºä»¶*/ |
| | | |
| | | .uni-cropper-line-t { |
| | | position: absolute; |
| | | display: block; |
| | | width: 100%; |
| | | background-color: #69f; |
| | | top: 0; |
| | | left: 0; |
| | | height: 1rpx; |
| | | opacity: 0.1; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .uni-cropper-line-t::before { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 50%; |
| | | right: 0rpx; |
| | | width: 100%; |
| | | -webkit-transform: translate3d(0, -50%, 0); |
| | | transform: translate3d(0, -50%, 0); |
| | | bottom: 0; |
| | | height: 41rpx; |
| | | background: transparent; |
| | | z-index: 11; |
| | | } |
| | | |
| | | .uni-cropper-line-r { |
| | | position: absolute; |
| | | display: block; |
| | | background-color: #69f; |
| | | top: 0; |
| | | right: 0rpx; |
| | | width: 1rpx; |
| | | opacity: 0.1; |
| | | height: 100%; |
| | | cursor: e-resize; |
| | | } |
| | | |
| | | .uni-cropper-line-r::before { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 50%; |
| | | width: 41rpx; |
| | | -webkit-transform: translate3d(-50%, 0, 0); |
| | | transform: translate3d(-50%, 0, 0); |
| | | bottom: 0; |
| | | height: 100%; |
| | | background: transparent; |
| | | z-index: 11; |
| | | } |
| | | |
| | | .uni-cropper-line-b { |
| | | position: absolute; |
| | | display: block; |
| | | width: 100%; |
| | | background-color: #69f; |
| | | bottom: 0; |
| | | left: 0; |
| | | height: 1rpx; |
| | | opacity: 0.1; |
| | | cursor: s-resize; |
| | | } |
| | | |
| | | .uni-cropper-line-b::before { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 50%; |
| | | right: 0rpx; |
| | | width: 100%; |
| | | -webkit-transform: translate3d(0, -50%, 0); |
| | | transform: translate3d(0, -50%, 0); |
| | | bottom: 0; |
| | | height: 41rpx; |
| | | background: transparent; |
| | | z-index: 11; |
| | | } |
| | | |
| | | .uni-cropper-line-l { |
| | | position: absolute; |
| | | display: block; |
| | | background-color: #69f; |
| | | top: 0; |
| | | left: 0; |
| | | width: 1rpx; |
| | | opacity: 0.1; |
| | | height: 100%; |
| | | cursor: w-resize; |
| | | } |
| | | |
| | | .uni-cropper-line-l::before { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 50%; |
| | | width: 41rpx; |
| | | -webkit-transform: translate3d(-50%, 0, 0); |
| | | transform: translate3d(-50%, 0, 0); |
| | | bottom: 0; |
| | | height: 100%; |
| | | background: transparent; |
| | | z-index: 11; |
| | | } |
| | | |
| | | .uni-cropper-point { |
| | | width: 5rpx; |
| | | height: 5rpx; |
| | | background-color: #69f; |
| | | opacity: .75; |
| | | position: absolute; |
| | | z-index: 3; |
| | | } |
| | | |
| | | .point-t { |
| | | top: -3rpx; |
| | | left: 50%; |
| | | margin-left: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .point-tr { |
| | | top: -3rpx; |
| | | left: 100%; |
| | | margin-left: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .point-r { |
| | | top: 50%; |
| | | left: 100%; |
| | | margin-left: -3rpx; |
| | | margin-top: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .point-rb { |
| | | left: 100%; |
| | | top: 100%; |
| | | -webkit-transform: translate3d(-50%, -50%, 0); |
| | | transform: translate3d(-50%, -50%, 0); |
| | | cursor: n-resize; |
| | | width: 36rpx; |
| | | height: 36rpx; |
| | | background-color: #69f; |
| | | position: absolute; |
| | | z-index: 1112; |
| | | opacity: 1; |
| | | } |
| | | |
| | | .point-b { |
| | | left: 50%; |
| | | top: 100%; |
| | | margin-left: -3rpx; |
| | | margin-top: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .point-bl { |
| | | left: 0%; |
| | | top: 100%; |
| | | margin-left: -3rpx; |
| | | margin-top: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .point-l { |
| | | left: 0%; |
| | | top: 50%; |
| | | margin-left: -3rpx; |
| | | margin-top: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | .point-lt { |
| | | left: 0%; |
| | | top: 0%; |
| | | margin-left: -3rpx; |
| | | margin-top: -3rpx; |
| | | cursor: n-resize; |
| | | } |
| | | |
| | | /* è£åªæ¡é¢è§å
容 */ |
| | | |
| | | .uni-cropper-viewer { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .uni-cropper-viewer image { |
| | | position: absolute; |
| | | z-index: 2; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="help-container"> |
| | | <view v-for="(item, findex) in list" :key="findex" :title="item.title" class="list-title"> |
| | | <view class="text-title"> |
| | | <view :class="item.icon"></view>{{ item.title }} |
| | | </view> |
| | | <view class="childList"> |
| | | <view v-for="(child, zindex) in item.childList" :key="zindex" class="question" hover-class="hover" |
| | | @click="handleText(child)"> |
| | | <view class="text-item">{{ child.title }}</view> |
| | | <view class="line" v-if="zindex !== item.childList.length - 1"></view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from "vue"; |
| | | |
| | | const list =ref([{ |
| | | icon: 'iconfont icon-github', |
| | | title: 'è¥ä¾é®é¢', |
| | | childList: [{ |
| | | title: 'è¥ä¾å¼æºåï¼', |
| | | content: '弿º' |
| | | }, { |
| | | title: 'è¥ä¾å¯ä»¥åç¨åï¼', |
| | | content: 'å¯ä»¥' |
| | | }, { |
| | | title: 'è¥ä¾å®ç½å°åå¤å°ï¼', |
| | | content: 'http://ruoyi.vip' |
| | | }, { |
| | | title: 'è¥ä¾ææ¡£å°åå¤å°ï¼', |
| | | content: 'http://doc.ruoyi.vip' |
| | | }] |
| | | }, |
| | | { |
| | | icon: 'iconfont icon-help', |
| | | title: 'å
¶ä»é®é¢', |
| | | childList: [{ |
| | | title: 'å¦ä½éåºç»å½ï¼', |
| | | content: '请ç¹å»[æç] - [åºç¨è®¾ç½®] - [éåºç»å½]å³å¯éåºç»å½', |
| | | }, { |
| | | title: 'å¦ä½ä¿®æ¹ç¨æ·å¤´åï¼', |
| | | content: '请ç¹å»[æç] - [鿩头å] - [ç¹å»æäº¤]å³å¯æ´æ¢ç¨æ·å¤´å', |
| | | }, { |
| | | title: 'å¦ä½ä¿®æ¹ç»å½å¯ç ï¼', |
| | | content: '请ç¹å»[æç] - [åºç¨è®¾ç½®] - [ä¿®æ¹å¯ç ]å³å¯ä¿®æ¹ç»å½å¯ç ', |
| | | }] |
| | | } |
| | | ]) |
| | | |
| | | function handleText(item) { |
| | | uni.navigateTo({ |
| | | url: `/pages/common/textview/index?title=${item.title}&content=${item.content}` |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | page { |
| | | background-color: #f8f8f8; |
| | | } |
| | | |
| | | .help-container { |
| | | margin-bottom: 100rpx; |
| | | padding: 30rpx; |
| | | } |
| | | |
| | | .list-title { |
| | | margin-bottom: 30rpx; |
| | | } |
| | | |
| | | .childList { |
| | | background: #ffffff; |
| | | box-shadow: 0px 0px 10rpx rgba(193, 193, 193, 0.2); |
| | | border-radius: 16rpx; |
| | | margin-top: 10rpx; |
| | | } |
| | | |
| | | .line { |
| | | width: 100%; |
| | | height: 1rpx; |
| | | background-color: #F5F5F5; |
| | | } |
| | | |
| | | .text-title { |
| | | color: #303133; |
| | | font-size: 32rpx; |
| | | font-weight: bold; |
| | | margin-left: 10rpx; |
| | | |
| | | .iconfont { |
| | | font-size: 16px; |
| | | margin-right: 10rpx; |
| | | } |
| | | } |
| | | |
| | | .text-item { |
| | | font-size: 28rpx; |
| | | padding: 24rpx; |
| | | } |
| | | |
| | | .question { |
| | | color: #606266; |
| | | font-size: 28rpx; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="example"> |
| | | <uni-forms ref="form" :model="user" labelWidth="80px"> |
| | | <uni-forms-item label="ç¨æ·æµç§°" name="nickName"> |
| | | <uni-easyinput v-model="user.nickName" placeholder="请è¾å
¥æµç§°" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="ææºå·ç " name="phonenumber"> |
| | | <uni-easyinput v-model="user.phonenumber" placeholder="请è¾å
¥ææºå·ç " /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="é®ç®±" name="email"> |
| | | <uni-easyinput v-model="user.email" placeholder="请è¾å
¥é®ç®±" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="æ§å«" name="sex" required> |
| | | <uni-data-checkbox v-model="user.sex" :localdata="sexs" /> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <button type="primary" @click="submit">æäº¤</button> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getUserProfile } from "@/api/system/user" |
| | | import { updateUserProfile } from "@/api/system/user" |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | user: { |
| | | nickName: "", |
| | | phonenumber: "", |
| | | email: "", |
| | | sex: "" |
| | | }, |
| | | sexs: [{ |
| | | text: 'ç·', |
| | | value: "0" |
| | | }, { |
| | | text: '女', |
| | | value: "1" |
| | | }], |
| | | rules: { |
| | | nickName: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: 'ç¨æ·æµç§°ä¸è½ä¸ºç©º' |
| | | }] |
| | | }, |
| | | phonenumber: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: 'ææºå·ç ä¸è½ä¸ºç©º' |
| | | }, { |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | errorMessage: '请è¾å
¥æ£ç¡®çææºå·ç ' |
| | | }] |
| | | }, |
| | | email: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: 'é®ç®±å°åä¸è½ä¸ºç©º' |
| | | }, { |
| | | format: 'email', |
| | | errorMessage: '请è¾å
¥æ£ç¡®çé®ç®±å°å' |
| | | }] |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.getUser() |
| | | }, |
| | | onReady() { |
| | | this.$refs.form.setRules(this.rules) |
| | | }, |
| | | methods: { |
| | | getUser() { |
| | | getUserProfile().then(response => { |
| | | this.user = response.data |
| | | }) |
| | | }, |
| | | submit(ref) { |
| | | this.$refs.form.validate().then(res => { |
| | | updateUserProfile(this.user).then(response => { |
| | | uni.showToast({ |
| | | title: 'ä¿®æ¹æå', |
| | | mask: false, |
| | | duration: 1000 |
| | | }); |
| | | uni.navigateBack(); |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .example { |
| | | padding: 15px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .segmented-control { |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .button-group { |
| | | margin-top: 15px; |
| | | display: flex; |
| | | justify-content: space-around; |
| | | } |
| | | |
| | | .form-item { |
| | | display: flex; |
| | | align-items: center; |
| | | flex: 1; |
| | | } |
| | | |
| | | .button { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 35px; |
| | | line-height: 35px; |
| | | margin-left: 10px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <uni-list> |
| | | <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'person-filled' }" title="æµç§°" :rightText="user.nickName" /> |
| | | <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'phone-filled' }" title="ææºå·ç " |
| | | :rightText="user.phonenumber" /> |
| | | <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'email-filled' }" title="é®ç®±" :rightText="user.email" /> |
| | | <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'auth-filled' }" title="å²ä½" :rightText="postGroup" /> |
| | | <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'staff-filled' }" title="è§è²" :rightText="roleGroup" /> |
| | | <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'calendar-filled' }" title="åå»ºæ¥æ" |
| | | :rightText="user.createTime" /> |
| | | </uni-list> |
| | | |
| | | <u-button @click="register()">ç»å®å¾®ä¿¡</u-button> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { getUserProfile } from "@/api/system/user" |
| | | import { ref } from "vue"; |
| | | import modal from "@/plugins/modal" |
| | | |
| | | const user = ref({}) |
| | | const roleGroup = ref("") |
| | | const postGroup = ref("") |
| | | function getUser() { |
| | | getUserProfile().then(response => { |
| | | user.value = response.data |
| | | roleGroup.value = response.roleGroup |
| | | postGroup.value = response.postGroup |
| | | }) |
| | | } |
| | | getUser() |
| | | |
| | | import { wxRegister } from "@/api/oauth" |
| | | import { getWxCode } from "@/utils/geek" |
| | | function register(){ |
| | | modal.loading('ç»å®å¾®ä¿¡ä¸...') |
| | | getWxCode().then(res=>{ |
| | | wxRegister('miniapp',res).then(res=>{ |
| | | modal.closeLoading() |
| | | }) |
| | | }) |
| | | |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #ffffff; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="pwd-retrieve-container"> |
| | | <uni-forms ref="form" :value="user" labelWidth="80px"> |
| | | <uni-forms-item name="oldPassword" label="æ§å¯ç "> |
| | | <uni-easyinput type="password" v-model="user.oldPassword" placeholder="请è¾å
¥æ§å¯ç " /> |
| | | </uni-forms-item> |
| | | <uni-forms-item name="newPassword" label="æ°å¯ç "> |
| | | <uni-easyinput type="password" v-model="user.newPassword" placeholder="请è¾å
¥æ°å¯ç " /> |
| | | </uni-forms-item> |
| | | <uni-forms-item name="confirmPassword" label="确认å¯ç "> |
| | | <uni-easyinput type="password" v-model="user.confirmPassword" placeholder="请确认æ°å¯ç " /> |
| | | </uni-forms-item> |
| | | <button type="primary" @click="submit">æäº¤</button> |
| | | </uni-forms> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { updateUserPwd } from "@/api/system/user" |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | user: { |
| | | oldPassword: undefined, |
| | | newPassword: undefined, |
| | | confirmPassword: undefined |
| | | }, |
| | | rules: { |
| | | oldPassword: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: 'æ§å¯ç ä¸è½ä¸ºç©º' |
| | | }] |
| | | }, |
| | | newPassword: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: 'æ°å¯ç ä¸è½ä¸ºç©º', |
| | | }, |
| | | { |
| | | minLength: 6, |
| | | maxLength: 20, |
| | | errorMessage: 'é¿åº¦å¨ 6 å° 20 个å符' |
| | | } |
| | | ] |
| | | }, |
| | | confirmPassword: { |
| | | rules: [{ |
| | | required: true, |
| | | errorMessage: '确认å¯ç ä¸è½ä¸ºç©º' |
| | | }, { |
| | | validateFunction: (rule, value, data) => data.newPassword === value, |
| | | errorMessage: '两次è¾å
¥çå¯ç ä¸ä¸è´' |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onReady() { |
| | | this.$refs.form.setRules(this.rules) |
| | | }, |
| | | methods: { |
| | | submit() { |
| | | this.$refs.form.validate().then(res => { |
| | | updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => { |
| | | uni.showToast({ |
| | | title: 'ä¿®æ¹æå', |
| | | mask: false, |
| | | duration: 1000 |
| | | }); |
| | | uni.navigateBack(); |
| | | }) |
| | | |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .pwd-retrieve-container { |
| | | padding-top: 36rpx; |
| | | padding: 15px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="setting-container" :style="{ height: `${windowHeight}px` }"> |
| | | <view class="menu-list"> |
| | | <view class="list-cell list-cell-arrow" @click="handleToPwd"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-password menu-icon"></view> |
| | | <view>ä¿®æ¹å¯ç </view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow" @click="handleToUpgrade"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-refresh menu-icon"></view> |
| | | <view>æ£æ¥æ´æ°</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-cell list-cell-arrow" @click="handleCleanTmp"> |
| | | <view class="menu-item-box"> |
| | | <view class="iconfont icon-clean menu-icon"></view> |
| | | <view>æ¸
çç¼å</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-list menu"> |
| | | <view class="cu-item item-box"> |
| | | <view class="content text-center" @click="handleLogout"> |
| | | <text class="text-black">éåºç»å½</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view> |
| | | <uni-popup ref="popup" type="dialog"> |
| | | <uni-popup-dialog type="info" cancelText="å
³é" confirmText="éåº" title="éç¥" content="ç¡®å®æ³¨éå¹¶éåºç³»ç»å" |
| | | @confirm="dialogConfirm" @close="dialogClose"> |
| | | </uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from "vue"; |
| | | import useUserStore from '@/store/modules/user' |
| | | const userStore = useUserStore() |
| | | |
| | | const windowHeight = ref(uni.getSystemInfoSync().windowHeight); |
| | | const popup = ref(null); |
| | | |
| | | function handleToPwd() { |
| | | uni.navigateTo({ |
| | | url: '/pages/mine/pwd/index' |
| | | }); |
| | | }; |
| | | |
| | | function handleToUpgrade() { |
| | | uni.showToast({ |
| | | title: '模å建设ä¸~', |
| | | mask: false, |
| | | icon: "none", |
| | | duration: 1000 |
| | | }); |
| | | }; |
| | | |
| | | function handleCleanTmp() { |
| | | uni.showToast({ |
| | | title: '模å建设ä¸~', |
| | | mask: false, |
| | | icon: "none", |
| | | duration: 1000 |
| | | }); |
| | | }; |
| | | function handleLogout() { |
| | | popup.value.open(); |
| | | }; |
| | | function dialogConfirm() { |
| | | //console.log('----------------ç¹å»ç¡®è®¤------------') |
| | | userStore.logOut().then(() => { |
| | | uni.reLaunch({ |
| | | url: '/pages/login' |
| | | }); |
| | | }) |
| | | }; |
| | | function dialogClose() { |
| | | //console.log('ç¹å»å
³é') |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | background-color: #f8f8f8; |
| | | } |
| | | |
| | | .item-box { |
| | | background-color: #FFFFFF; |
| | | margin: 30rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 10rpx; |
| | | border-radius: 8rpx; |
| | | color: #303133; |
| | | font-size: 32rpx; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <view class="top-swiper"> |
| | | <view class="box"> |
| | | <view style="height: 44px;"></view> |
| | | <swiper class="swiper" :previous-margin="swiper.margin" :next-margin='swiper.margin' :circular="true" |
| | | @change="swiperChange"> |
| | | <swiper-item v-for="(item,index) in card_menu" :key="index" @click="toUrl(item.url)"> |
| | | <!-- <image class='le-img' :src='item' :class="{'le-active':swiper.index == index}"></image> --> |
| | | <view class="le-img" :class="{'le-active':swiper.index == index}"> |
| | | <view class="img_box"> |
| | | <image class="card_img" :src="item.img" mode="aspectFill"></image> |
| | | </view> |
| | | <view class="detail_box"> |
| | | <view class="title_box">{{item.title}}</view> |
| | | <view class="author_box">By:{{item.author}}</view> |
| | | </view> |
| | | </view> |
| | | </swiper-item> |
| | | </swiper> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import Common from '../../static/js/common' |
| | | export default { |
| | | props: { |
| | | card_menu: { |
| | | type: Array, |
| | | default: [] |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | swiper: { |
| | | margin: "150rpx", |
| | | index: 0, |
| | | list: [ |
| | | "/static/images/douyin/0.jpg", |
| | | "/static/images/douyin/4.jpg", |
| | | "/static/images/douyin/7.jpg", |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | components: { |
| | | |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | methods: { |
| | | //swiperæ»å¨äºä»¶ |
| | | swiperChange: function(e) { |
| | | this.swiper.index = e.detail.current; |
| | | }, |
| | | toUrl(url){ |
| | | Common.navigateTo(url); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .top-swiper { |
| | | margin-bottom: 30rpx; |
| | | |
| | | .box { |
| | | padding-top: var(--status-bar-height); |
| | | box-sizing: content-box; |
| | | position: absolute; |
| | | z-index: 5; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: auto; |
| | | } |
| | | |
| | | .swiper { |
| | | height: 600rpx; |
| | | margin: 0 20rpx; |
| | | |
| | | .le-img { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: block; |
| | | transform: scale(0.9); |
| | | transition: transform 0.3s ease-in-out 0s; |
| | | border-radius: 10px; |
| | | background-color: #fff; |
| | | overflow: hidden; |
| | | |
| | | &.le-active { |
| | | transform: scale(1); |
| | | } |
| | | |
| | | .img_box { |
| | | width: 100%; |
| | | height: 65%; |
| | | overflow: hidden; |
| | | |
| | | .card_img { |
| | | height: 100%; |
| | | width: 100%; |
| | | } |
| | | } |
| | | |
| | | .detail_box { |
| | | width: 100%; |
| | | height: 35%; |
| | | overflow: hidden; |
| | | |
| | | .title_box { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 40rpx; |
| | | margin: 30rpx 0; |
| | | } |
| | | |
| | | |
| | | |
| | | .author_box { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 30rpx; |
| | | position: relative; |
| | | height: 80rpx; |
| | | line-height: 80rpx; |
| | | |
| | | &::before { |
| | | content: ""; |
| | | height: 1px; |
| | | width: 150rpx; |
| | | position: absolute; |
| | | transform: translateX(-50%); |
| | | left: 50%; |
| | | top: 0; |
| | | background: #000; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}"> |
| | | <!--æ°æ®è¿åº¦æ¡--> |
| | | <view class="progress"> |
| | | <data-progress :progressList="userHealthyLineBar" :borderRadius="20" padMiddle="true"></data-progress> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- æ°å¢å°ç¨åºä¼åè¶å¿--> |
| | | <view class="friend_operate"> |
| | | <text-block :content="baseData"></text-block> |
| | | <view class="trend_title">æ°å¢å°ç¨åºä¼åè¶å¿</view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts |
| | | type="mix" |
| | | canvasId="three_a" |
| | | :canvas2d="isCanvas2d" |
| | | :reshow="delayload" |
| | | :opts="{yAxis:{data:[{position: 'left',title: 'éå®é¢/ä¸',max:userTrand?userTrand.yAxis[0].max:0,min:userTrand?userTrand.yAxis[0].min:0},{position: 'right',title: '',max:userTrand?userTrand.yAxis[1].max:0,min:userTrand?userTrand.yAxis[1].min:0,unit:'%'}]}}" |
| | | :chartData="userTrand"/> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- ä¼åæ«ç çè¶å¿--> |
| | | <view class="friend_operate"> |
| | | <text-block :content="scanTrand"></text-block> |
| | | <view class="trend_title">ä¼åæ«ç çè¶å¿</view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts |
| | | type="mix" |
| | | canvasId="three_b" |
| | | :canvas2d="isCanvas2d" |
| | | :reshow="delayload" |
| | | :opts="{yAxis:{data:[{position: 'left',title: '',max:scanTrandPrecent?scanTrandPrecent.yAxis[0].max:0,min:scanTrandPrecent?scanTrandPrecent.yAxis[0].min:0,unit:'%'}]}}" |
| | | :chartData="scanTrandPrecent"/> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- å°ç¨åºæ´»è·ä¼åå æ¯--> |
| | | <view class="friend_operate"> |
| | | <text-block :content="miniActive"></text-block> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts |
| | | type="mix" |
| | | canvasId="three_c" |
| | | :canvas2d="isCanvas2d" |
| | | :reshow="delayload" |
| | | :opts="{yAxis:{data:[{position: 'left',title: 'éå®é¢/ä¸',max:miniActivePrecent?miniActivePrecent.yAxis[0].max:0,min:miniActivePrecent?miniActivePrecent.yAxis[0].min:0},{position: 'right',title: '',max:miniActivePrecent?miniActivePrecent.yAxis[1].max:0,min:miniActivePrecent?miniActivePrecent.yAxis[1].min:0,unit:'%'}]}}" |
| | | :chartData="miniActivePrecent" |
| | | /> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | <view v-else class="container padding_stand-big normal_color"> |
| | | <li class="iconfont icon-cry cry"></li>ææ æ°æ® |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import DataProgress from "../data-progress/data-progress.vue" |
| | | |
| | | import userHealthyLineBar from '../../static/json/user-healthy/1.json'; |
| | | import baseData from '../../static/json/user-healthy/2.json'; |
| | | import userTrand from '../../static/json/user-healthy/3.json'; |
| | | |
| | | import scanTrand from '../../static/json/user-healthy/4.json'; |
| | | import scanTrandPrecent from '../../static/json/user-healthy/5.json'; |
| | | import miniActive from '../../static/json/user-healthy/6.json'; |
| | | import miniActivePrecent from '../../static/json/user-healthy/7.json'; |
| | | |
| | | import Config from '../../static/js/config' |
| | | |
| | | var _self; |
| | | export default { |
| | | name:'user-healthy', |
| | | props: { |
| | | scrollHeight:{ |
| | | type:String, |
| | | default:"600px" |
| | | } |
| | | }, |
| | | components:{ |
| | | DataProgress |
| | | }, |
| | | data() { |
| | | return { |
| | | userHealthyLineBar, |
| | | baseData, |
| | | userTrand, |
| | | scanTrand, |
| | | scanTrandPrecent, |
| | | miniActive, |
| | | miniActivePrecent, |
| | | delayload:false, |
| | | isCanvas2d:Config.ISCANVAS2D, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getData(); |
| | | }, |
| | | methods:{ |
| | | async getData(){ |
| | | uni.showLoading(); |
| | | await setTimeout(() => { |
| | | this.delayload = true; |
| | | uni.hideLoading(); |
| | | }, 1000) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .content{ |
| | | padding-top: 10rpx; |
| | | .progress,.firend_operate{ |
| | | padding: 0 10rpx; |
| | | } |
| | | .progress{ |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .friend_operate{ |
| | | padding: 30rpx 10rpx; |
| | | .title{ |
| | | text-align:left; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .trend_title{ |
| | | text-align: right; |
| | | font-size: 22rpx; |
| | | color: #ff9900; |
| | | margin-top: 20rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}"> |
| | | <!--æ°æ®è¿åº¦æ¡--> |
| | | <view class="progress"> |
| | | <data-progress :progressList="userOperateLineBar" :borderRadius="20" padMiddle="true"></data-progress> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- æ´»è·ä¼å--> |
| | | <view class="friend_operate"> |
| | | <view class="title">æ´»è·ä¼å</view> |
| | | <text-block :content="userActive"></text-block> |
| | | </view> |
| | | |
| | | <!-- ä¼åæ¶è´¹ --> |
| | | <view class="friend_operate" style="padding-bottom: 30rpx;"> |
| | | <view class="title">ä¼åæ¶è´¹</view> |
| | | <text-block :content="userConsume"></text-block> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- ä¼åARPU --> |
| | | <view class="friend_operate"> |
| | | <view class="title">ä¼åARPU |
| | | <text class="font-small">(ä¼å年度平åéå®éé¢)</text> |
| | | <text class="trend_title">ç®æ å¢é{{userARPU.targetAdd}}</text> |
| | | </view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="mix" |
| | | :chartData="userARPU" |
| | | :reshow="delayload" |
| | | :canvas2d="isCanvas2d" |
| | | canvasId="two_a" |
| | | :opts="{yAxis:{data:[{title: '',max:userARPU?userARPU.yAxis[0].max:0,min:userARPU?userARPU.yAxis[0].min:0},{title: '',unit:'%',max:userARPU?userARPU.yAxis[1].max:0,min:userARPU?userARPU.yAxis[1].min:0,position:'right'}]},extra:{markLine:{data:[{value:userARPU?userARPU.target:'',LineColor:'#ff9900',showLabel:true}]}}}"/> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- ä¼åæ¶è´¹é¢æ¬¡ --> |
| | | <view class="friend_operate"> |
| | | <view class="title">ä¼åæ¶è´¹é¢æ¬¡ |
| | | <text class="font-middle">(å¹´)</text> |
| | | <text class="trend_title">ç®æ å¢é{{userARPU.targetAdd}}</text> |
| | | </view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="mix" |
| | | :chartData="userARPU" |
| | | :reshow="delayload" |
| | | :canvas2d="isCanvas2d" |
| | | canvasId="two_b" |
| | | :opts="{yAxis:{data:[{title: '',max:userARPU?userARPU.yAxis[0].max:0,min:userARPU?userARPU.yAxis[0].min:0},{title: '',unit:'%',max:userARPU?userARPU.yAxis[1].max:0,min:userARPU?userARPU.yAxis[1].min:0,position:'right'}]},extra:{markLine:{data:[{value:userARPU?userARPU.target:'',LineColor:'#ff9900',showLabel:true}]}}}"/> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- 微客群è¿è¥--> |
| | | <view class="friend_operate"> |
| | | <view class="title">æ´»è·ä¼ååå¸ |
| | | <text class="font-middle">(æè¿æ´»è·æ¶é´)</text> |
| | | </view> |
| | | <senior-table :headers="dataTable.headers" :contents="dataTable.contents" :urlCol="dataTable.urlCol" :firstLineFixed="true" :sortCol="dataTable.sortCol" :computedCol="dataTable.computedCol" :formatCol="dataTable.formatCol"></senior-table> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- Xååè±è½ç--> |
| | | <view class="friend_operate"> |
| | | <view class="title"> |
| | | Xï¼æ
¢ç
ï¼ ååè±è½ç |
| | | </view> |
| | | <view style="display: flex;justify-content: space-between;"> |
| | | <view v-for="(item,index) in xProductDropPrecent" class="charts-box" style="height: 130px;width: 45%;"> |
| | | <qiun-data-charts |
| | | type="arcbar" |
| | | :chartData="item" |
| | | :canvasId="'two_c_'+ index" |
| | | :canvas2d="true" |
| | | :reshow="delayload" |
| | | :opts="{title:{name:item.series[0].data * 100 + '%',color:item.series[0].color,fontSize:25},subtitle:{name:item.series[0].name,color:'#666666',fontSize:12}}" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- æ
¢ç
ç
ç§è±è½ç--> |
| | | <view class="friend_operate"> |
| | | <view class="title">æ
¢ç
ç
ç§è±è½ç |
| | | </view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="mix" |
| | | :chartData="illnessDropPrecent" |
| | | :reshow="delayload" |
| | | :canvas2d="true" |
| | | canvasId="two_d" |
| | | :opts="{yAxis:{data:[{title: ''}]}}"/> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- Wååè±è½ç--> |
| | | <view class="friend_operate"> |
| | | <view class="title"> |
| | | Wï¼ä¿å¥ï¼ ååè±è½ç |
| | | </view> |
| | | <view style="display: flex;justify-content: space-between;"> |
| | | <view v-for="(item,index) in wProductDropPrecent" class="charts-box" style="height: 130px;width: 45%;"> |
| | | <qiun-data-charts |
| | | type="arcbar" |
| | | :chartData="item" |
| | | :canvasId="'two_e_'+index" |
| | | :canvas2d="true" |
| | | :reshow="delayload" |
| | | :opts="{title:{name:item.series[0].data * 100 + '%',color:item.series[0].color,fontSize:25},subtitle:{name:item.series[0].name,color:'#666666',fontSize:12}}" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | <view v-else class="container padding_stand-big normal_color"> |
| | | <li class="iconfont icon-cry cry"></li>ææ æ°æ® |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import DataProgress from "../data-progress/data-progress.vue" |
| | | import SeniorTable from "../data-table/senior-table.vue" |
| | | |
| | | import userOperateLineBar from '../../static/json/user-operate/1.json'; |
| | | import userActive from '../../static/json/user-operate/2.json'; |
| | | import userConsume from '../../static/json/user-operate/3.json'; |
| | | import userARPU from '../../static/json/user-operate/4.json'; |
| | | import dataTable from "../../static/json/user-operate/6.json" |
| | | import xProductDropPrecent from '../../static/json/user-operate/7.json'; |
| | | import wProductDropPrecent from '../../static/json/user-operate/9.json'; |
| | | import illnessDropPrecent from '../../static/json/user-operate/8.json'; |
| | | |
| | | |
| | | export default { |
| | | name:'user-operate', |
| | | props: { |
| | | scrollHeight:{ |
| | | type:String, |
| | | default:"600px" |
| | | } |
| | | }, |
| | | components:{ |
| | | DataProgress,SeniorTable |
| | | }, |
| | | data() { |
| | | return { |
| | | userOperateLineBar, |
| | | userActive, |
| | | userConsume, |
| | | userARPU, |
| | | xProductDropPrecent, |
| | | wProductDropPrecent, |
| | | illnessDropPrecent, |
| | | dataTable, |
| | | delayload:false, |
| | | isCanvas2d:Config.ISCANVAS2D |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getData(); |
| | | }, |
| | | methods:{ |
| | | async getData(){ |
| | | uni.showLoading(); |
| | | await setTimeout(() => { |
| | | this.delayload = true; |
| | | uni.hideLoading(); |
| | | }, 1000) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .content{ |
| | | padding-top: 10rpx; |
| | | .progress,.firend_operate{ |
| | | padding: 0 10rpx; |
| | | } |
| | | .progress{ |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .friend_operate{ |
| | | padding: 30rpx 20rpx; |
| | | .title{ |
| | | text-align:left; |
| | | margin-bottom: 30rpx; |
| | | font-size: 40rpx; |
| | | } |
| | | .trend_title{ |
| | | float: right; |
| | | font-size: 22rpx; |
| | | color: #ff9900; |
| | | margin-top: 20rpx; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <scroll-view class="data_body" scroll-y :style="{height:scrollHeight}"> |
| | | <template v-if="true"> |
| | | <!-- ä¼åæé¿æ°æ®--> |
| | | <view class="view_item"> |
| | | <view class="title">ä¼åæé¿æ°æ®</view> |
| | | <view class="progress_circle"> |
| | | <view v-for="(item,index) in CircleData" :key="index" :class="['progress_block','block_'+index]"> |
| | | <view class="name">{{item.series[0].name}}</view> |
| | | <view class="value">{{item.series[0].value}}</view> |
| | | <view class="charts-box arcbar" style="height: 180rpx;width: 60%;"> |
| | | <qiun-data-charts type="arcbar" :chartData="item" :canvasId="'four_a_'+index" :canvas2d="isCanvas2d" |
| | | :resshow="delayload" |
| | | :opts="{title:{name:item.series[0].precent,color:item.series[0].color,fontSize:15},subtitle:{name:'',color:'#666666',fontSize:12},extra:{arcbar:{backgroundColor:item.series[0].backgroundColor}}}" /> |
| | | </view> |
| | | <view class="planet"> |
| | | <view class="planet_shadow"></view> |
| | | <view class="crater1"></view> |
| | | <view class="crater2"></view> |
| | | <view class="crater3"></view> |
| | | <view class="crater4"></view> |
| | | </view> |
| | | <view class="star" :class="['star'+index]"></view> |
| | | <view class="star pink" :class="['star'+index]"></view> |
| | | <view class="star blue" :class="['star'+index]"></view> |
| | | <view class="star yellow" :class="['star'+index]"></view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- ä¼åæ°æ®æ¥æº --> |
| | | <view class="friend_operate"> |
| | | <view class="title">ä¼åæ°æ®æ¥æº |
| | | <text class="font-small" style="color: #ff9900;">(Top5è®¿é®æ¥æº)</text> |
| | | </view> |
| | | <view v-if="delayload" class="charts-box"> |
| | | <qiun-data-charts |
| | | type="ring" |
| | | canvasId="four_b" |
| | | :canvas2d="isCanvas2d" |
| | | :resshow="delayload" |
| | | :opts="{legend:{position: 'bottom'},title:{name: '',},subtitle: {name: ''}}" |
| | | :chartData="ProductRateData"/> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- æå¡è¯ä»·æ¦è§--> |
| | | <view class="friend_operate"> |
| | | <view class="title">æå¡è¯ä»·æ¦è§</view> |
| | | <text-block :content="ServiceComment"></text-block> |
| | | </view> |
| | | |
| | | <!-- æ¬å¨ä¼å访é®è¶å¿å¾ --> |
| | | <view class="friend_operate"> |
| | | <view class="title">æ¬å¨ä¼å访é®è¶å¿å¾</view> |
| | | <view v-if="delayload" class="charts-box" style="height: 300px;"> |
| | | <qiun-data-charts |
| | | type="mix" |
| | | canvasId="four_c" |
| | | :canvas2d="isCanvas2d" |
| | | :resshow="delayload" |
| | | :opts="{yAxis:{data:[{position: 'left',title: '',min:0,unit:'ä¸'}]}}" |
| | | :chartData="TrendData" |
| | | /> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- æ°å¢ä¼åæè¡æ¦ --> |
| | | <view class="friend_operate"> |
| | | <view class="title">æ°å¢ä¼åæè¡æ¦</view> |
| | | <progress-bar :isRank="isRank" :content="RankData" /> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="container padding_stand-big normal_color"> |
| | | <li class="iconfont icon-cry cry"></li>ææ æ°æ® |
| | | </view> |
| | | </template> |
| | | </scroll-view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import ProgressBar from "../progress-bar/progress-bar.vue" |
| | | |
| | | import CircleData from "../../static/json/user-server/1.json" |
| | | import ProductRateData from '../../static/json/user-server/2.json'; |
| | | import TrendData from '../../static/json/user-server/3.json'; |
| | | import ServiceComment from '../../static/json/user-server/4.json'; |
| | | import RankData from '../../static/json/user-server/5.json'; |
| | | |
| | | import Config from '../../static/js/config' |
| | | export default { |
| | | name:"user-server", |
| | | props:{ |
| | | scrollHeight:{ |
| | | type:String, |
| | | default:"600px" |
| | | } |
| | | }, |
| | | components:{ |
| | | ProgressBar |
| | | }, |
| | | data(){ |
| | | return { |
| | | CircleData, |
| | | TrendData, |
| | | ProductRateData, |
| | | ServiceComment, |
| | | RankData, |
| | | isRank:true, |
| | | isCanvas2d:Config.ISCANVAS2D, |
| | | delayload: false, //å»¶æ¶å è½½å¾è¡¨ï¼å¦åä¼åºç°å¾è¡¨å è½½å®åå®ä½éä¹± |
| | | } |
| | | }, |
| | | methods:{ |
| | | async getData(){ |
| | | uni.showLoading(); |
| | | await setTimeout(() => { |
| | | this.delayload = true; |
| | | uni.hideLoading(); |
| | | }, 1000) |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getData(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .content{ |
| | | padding-top: 10rpx; |
| | | } |
| | | .data_body{ |
| | | height: 100%; |
| | | text-align: center; |
| | | color: #333333; |
| | | background-repeat: repeat; |
| | | background-color: #ffffff; |
| | | .friend_operate{ |
| | | padding: 30rpx 20rpx; |
| | | .title{ |
| | | text-align:left; |
| | | margin-bottom: 30rpx; |
| | | font-size: 40rpx; |
| | | } |
| | | } |
| | | .view_item{ |
| | | padding: 30rpx 20rpx; |
| | | .title{ |
| | | text-align:left; |
| | | margin-bottom: 30rpx; |
| | | font-size: 40rpx; |
| | | } |
| | | } |
| | | .progress_circle{ |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | height: 450rpx; |
| | | |
| | | .progress_block{ |
| | | width: 45%; |
| | | border-radius: 20rpx; |
| | | height: 180rpx; |
| | | position: relative; |
| | | overflow: hidden; |
| | | |
| | | .name{ |
| | | color: #fff; |
| | | font-size: 24rpx; |
| | | position: absolute; |
| | | top: 20rpx; |
| | | left: 10rpx; |
| | | max-width: 144rpx; |
| | | } |
| | | .value{ |
| | | color: #fff; |
| | | font-size: 40rpx; |
| | | position: absolute; |
| | | top: 64rpx; |
| | | left: 10rpx; |
| | | max-width: 144rpx; |
| | | } |
| | | |
| | | .circle{ |
| | | position: absolute; |
| | | right: 8rpx; |
| | | top: 16rpx; |
| | | } |
| | | .arcbar{ |
| | | position: absolute; |
| | | right: -4rpx; |
| | | top: 8rpx; |
| | | } |
| | | } |
| | | .block_0{ |
| | | background-color: #0FC3FF; |
| | | } |
| | | .block_1{ |
| | | background-color: #FF6B8B; |
| | | } |
| | | .block_2{ |
| | | background-color: #FFCB1D; |
| | | } |
| | | .block_3{ |
| | | background-color: #3BDCAA; |
| | | } |
| | | } |
| | | } |
| | | .planet { |
| | | width: 60px; |
| | | height: 60px; |
| | | border-radius: 50%; |
| | | background: #333; |
| | | position: absolute; |
| | | left: -13px; |
| | | bottom: -26px; |
| | | overflow: hidden; |
| | | opacity: 0.5; |
| | | z-index: 0; |
| | | } |
| | | |
| | | .planet_shadow { |
| | | position: absolute; |
| | | border-radius: 50%; |
| | | height: 100%; |
| | | width: 100%; |
| | | top: -40%; |
| | | right: -10%; |
| | | border: 35px solid rgba(0, 0, 0, .15); |
| | | } |
| | | |
| | | .crater1, |
| | | .crater2, |
| | | .crater3, |
| | | .crater4 { |
| | | position: absolute; |
| | | border-radius: 50%; |
| | | background: rgba(0, 0, 0, .3); |
| | | box-shadow: inset 3px 3px 0 rgba(0, 0, 0, .2); |
| | | } |
| | | |
| | | .crater1 { |
| | | width: 20px; |
| | | height: 20px; |
| | | left: 25%; |
| | | top: 20%; |
| | | } |
| | | |
| | | .crater2 { |
| | | width: 10px; |
| | | height: 10px; |
| | | left: 50%; |
| | | top: 60%; |
| | | } |
| | | |
| | | .crater3 { |
| | | width: 15px; |
| | | height: 15px; |
| | | left: 30%; |
| | | top: 65%; |
| | | } |
| | | |
| | | .crater4 { |
| | | width: 15px; |
| | | height: 15px; |
| | | left: 60%; |
| | | top: 35%; |
| | | } |
| | | |
| | | .star { |
| | | display: block; |
| | | width: 5px; |
| | | height: 5px; |
| | | border-radius: 50%; |
| | | background: #FFF; |
| | | top: 10px; |
| | | left: 50px; |
| | | position: relative; |
| | | transform-origin: 100% 0; |
| | | box-shadow: 0 0 5px 5px rgba(255, 255, 255, .3); |
| | | opacity: 0; |
| | | z-index: 2; |
| | | } |
| | | .star0{ |
| | | animation: star-ani 4s infinite ease-out; |
| | | } |
| | | .star1{ |
| | | animation: star-ani 5s infinite ease-out; |
| | | } |
| | | .star2{ |
| | | animation: star-ani 6s infinite ease-out; |
| | | } |
| | | .star3{ |
| | | animation: star-ani 7s infinite ease-out; |
| | | } |
| | | |
| | | .star:after { |
| | | content: ''; |
| | | display: block; |
| | | top: 20px; |
| | | left: 60px; |
| | | border: 0px solid #fff; |
| | | border-width: 0px 90px 2px 90px; |
| | | border-color: transparent transparent transparent rgba(255, 255, 255, .3); |
| | | transform: rotate(-45deg) translate3d(1px, 3px, 0); |
| | | box-shadow: 0 0 1px 0 rgba(255, 255, 255, .1); |
| | | transform-origin: 0% 100%; |
| | | animation: shooting-ani 100s infinite ease-out; |
| | | } |
| | | |
| | | .pink { |
| | | top: 10px; |
| | | left: 60px; |
| | | background: #ff5a99; |
| | | animation-delay: 5s; |
| | | -webkit-animation-delay: 5s; |
| | | -moz-animation-delay: 5s; |
| | | } |
| | | |
| | | .pink:after { |
| | | border-color: transparent transparent transparent #ff5a99; |
| | | animation-delay: 5s; |
| | | -webkit-animation-delay: 5s; |
| | | -moz-animation-delay: 5s; |
| | | } |
| | | |
| | | .blue { |
| | | top: 15px; |
| | | left: 70px; |
| | | background: cyan; |
| | | animation-delay: 7s; |
| | | -webkit-animation-delay: 7s; |
| | | -moz-animation-delay: 7s; |
| | | } |
| | | |
| | | .blue:after { |
| | | border-color: 'transpareanimation-delay: 12s'; |
| | | -webkit-animation-delay: 7s; |
| | | -moz-animation-delay: 7s; |
| | | animation-delay: 7s; |
| | | } |
| | | |
| | | .yellow { |
| | | top: 0px; |
| | | left: 80px; |
| | | background: #ffcd5c; |
| | | animation-delay: 5.8s; |
| | | } |
| | | |
| | | .yellow:after { |
| | | border-color: transparent transparent transparent #ffcd5c; |
| | | animation-delay: 5.8s; |
| | | } |
| | | |
| | | @keyframes star-ani { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale(0) rotate(0) translate3d(0, 0, 0); |
| | | -webkit-transform: scale(0) rotate(0) translate3d(0, 0, 0); |
| | | -moz-transform: scale(0) rotate(0) translate3d(0, 0, 0); |
| | | } |
| | | |
| | | 50% { |
| | | opacity: 0.5; |
| | | transform: scale(1) rotate(0) translate3d(-20px, 20px, 0); |
| | | -webkit-transform: scale(1) rotate(0) translate3d(-20px, 20px, 0); |
| | | -moz-transform: scale(1) rotate(0) translate3d(-20px, 20px, 0); |
| | | } |
| | | |
| | | 100% { |
| | | opacity: 0; |
| | | transform: scale(1) rotate(0) translate3d(-30px, 30px, 0); |
| | | -webkit-transform: scale(1) rotate(0) translate3d(-30px, 30px, 0); |
| | | -moz-transform: scale(1) rotate(0) translate3d(-30px, 30px, 0); |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}"> |
| | | <!--æ°æ®è¿åº¦æ¡--> |
| | | <view class="progress"> |
| | | <data-progress :progressList="wechatLineBar" :borderRadius="20" padMiddle="true"></data-progress> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- 微好åè¿è¥--> |
| | | <view class="friend_operate"> |
| | | <view class="title">微好åè¿è¥</view> |
| | | <text-block :content="friendTextBlock"></text-block> |
| | | <view style="display: flex;justify-content: space-around;"> |
| | | <view v-for="(item,index) in panelData" :key="index" class="charts-box" |
| | | style="width: 45%;height: 200px;"> |
| | | <qiun-data-charts type="gauge" |
| | | :opts="{title:{name: item.series[0].data * 100 + '%',color: '#24ABFD',offsetY:30},subtitle: {name: item.series[0].name,color: '#666666',fontSize: 15,offsetY:70},extra:{gauge:{type:'progress',width:20,splitLine:{fixRadius:-10,width:15,},}}}" |
| | | :chartData="item" :reshow="delayload" :canvas2d="isCanvas2d" :canvasId="'one_a_' + index" /> |
| | | </view> |
| | | </view> |
| | | <view class="trend_title">æ°å¢å¾®å¥½å&å°ç¨åºä¼åè¶å¿</view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="mix" :chartData="friendTrand" :reshow="delayload" |
| | | :canvas2d="isCanvas2d" canvasId="one_b" :opts="{yAxis:{data:[{title: ''}]}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- 微客群è¿è¥--> |
| | | <view class="friend_operate"> |
| | | <view class="title">微客群è¿è¥</view> |
| | | <text-block :content="friendTextBlock"></text-block> |
| | | <view class="trend_title">æ°å¢äººç¾¤&é群人æ°è¶å¿</view> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="mix" :chartData="teamTrand" :reshow="delayload" :canvas2d="isCanvas2d" |
| | | canvasId="one_c" :opts="{yAxis:{data:[{title: '',max:teamTrand?teamTrand.yAxis[0].max:0,min:teamTrand?teamTrand.yAxis[0].min:0}]}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="split_line"></view> |
| | | |
| | | <!-- 客æ·èç³»--> |
| | | <view class="friend_operate"> |
| | | <view class="title">ã客æ·èç³»ã1对1è¿è¥æ§è¡</view> |
| | | <senior-table :headers="dataTable.headers" :contents="dataTable.contents" :urlCol="dataTable.urlCol" :firstLineFixed="true" :sortCol="dataTable.sortCol"></senior-table> |
| | | </view> |
| | | </scroll-view> |
| | | <view v-else class="container padding_stand-big normal_color"> |
| | | <li class="iconfont icon-cry cry"></li>ææ æ°æ® |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import DataProgress from "../data-progress/data-progress.vue" |
| | | import SeniorTable from "../data-table/senior-table.vue" |
| | | |
| | | import wechatLineBar from '../../static/json/wechat/1.json'; |
| | | import friendTextBlock from '../../static/json/wechat/2.json'; |
| | | import panelData from '../../static/json/wechat/3.json'; |
| | | import friendTrand from '../../static/json/wechat/4.json'; |
| | | import teamTrand from '../../static/json/wechat/5.json'; |
| | | import dataTable from "../../static/json/wechat/6.json" |
| | | |
| | | import Config from '../../static/js/config' |
| | | |
| | | export default { |
| | | name:'wechat', |
| | | props: { |
| | | scrollHeight:{ |
| | | type:String, |
| | | default:"600px" |
| | | } |
| | | }, |
| | | components:{ |
| | | DataProgress, |
| | | SeniorTable, |
| | | }, |
| | | data() { |
| | | return { |
| | | wechatLineBar, |
| | | friendTextBlock, |
| | | friendTrand, |
| | | panelData, |
| | | teamTrand, |
| | | dataTable, |
| | | scrollTop: 0, |
| | | delayload: false, |
| | | isCanvas2d: Config.ISCANVAS2D, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getData(); |
| | | }, |
| | | methods:{ |
| | | async getData() { |
| | | uni.showLoading(); |
| | | await setTimeout(() => { |
| | | this.delayload = true; |
| | | uni.hideLoading(); |
| | | }, 1000) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .content{ |
| | | padding-top: 10rpx; |
| | | .progress,.firend_operate{ |
| | | padding: 0 10rpx; |
| | | } |
| | | .progress{ |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .friend_operate{ |
| | | padding: 30rpx 20rpx; |
| | | .title{ |
| | | text-align:left; |
| | | margin-bottom: 30rpx; |
| | | font-size: 40rpx; |
| | | } |
| | | .trend_title{ |
| | | text-align: right; |
| | | font-size: 22rpx; |
| | | color: #ff9900; |
| | | margin-top: 50rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="column"> |
| | | <view v-for="(item,index) in progressList" :key="index" :class="['row','font-small','progress',padMiddle?'paddingMiddle':'']"> |
| | | <text class="title">{{item.name}}</text> |
| | | <view class="body"> |
| | | <view class="number">{{item.now?item.now+"/":""}}{{item.expect}} [{{item.value}}%]</view> |
| | | <progress :percent="item.value" backgroundColor="#C9C9C9" |
| | | :border-radius="borderRadius?borderRadius+'rpx':'0px'" |
| | | :color="time" |
| | | stroke-width="16" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name:'data-progress', |
| | | props: { |
| | | progressList: { |
| | | type: Array, |
| | | default: ()=> { |
| | | return [] |
| | | } |
| | | }, |
| | | borderRadius:{ |
| | | type:Number, |
| | | default:0 |
| | | }, |
| | | padMiddle:{ |
| | | type:String, |
| | | default:"false" |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | time:0 |
| | | } |
| | | }, |
| | | watch:{ |
| | | "progressList":{ |
| | | deep: true, |
| | | handler: function(newVal, oldVal) { |
| | | this.time = newVal.filter(x=>x.name=="æ¶é´è¿åº¦")[0].value; |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.time = this.progressList.filter(x=>x.name=="æ¶é´è¿åº¦")[0].value; |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .paddingMiddle{ |
| | | padding: 18rpx 10rpx; |
| | | } |
| | | .progress{ |
| | | |
| | | .title{ |
| | | font-size: 28rpx; |
| | | width: 170rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | } |
| | | .body{ |
| | | position: relative; |
| | | flex: 1; |
| | | |
| | | .number{ |
| | | color: #fff; |
| | | position: absolute; |
| | | z-index: 2; |
| | | left: 26rpx; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | height: 44rpx; |
| | | } |
| | | progress{ |
| | | padding: 6rpx 0; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="wyb-table-box"> |
| | | <view v-if="loading" class="wyb-table-loading-box" :style="{ |
| | | width: width === 'auto' ? screenWidth : width, |
| | | height: height === 'auto' ? '300rpx' : height, |
| | | backgroundColor: loaderBgColor, |
| | | borderTop: '1px solid' + borderColor, |
| | | borderBottom: '1px solid' + borderColor, |
| | | borderLeft: showLeftAndRightBorder ? '1px solid' + borderColor : 'none', |
| | | borderRight: showLeftAndRightBorder ? '1px solid' + borderColor : 'none'}"> |
| | | <view class="loader-one" :style="{ |
| | | width: loaderSize + 'rpx', |
| | | height: loaderSize + 'rpx', |
| | | borderTop: '3px solid ' + loadingColor.top, |
| | | borderRight: '3px solid ' + loadingColor.right, |
| | | borderBottom: '3px solid ' + loadingColor.bottom, |
| | | borderLeft: '3px solid ' + loadingColor.left}" /> |
| | | </view> |
| | | <view v-if="!loading" class="wyb-table-scroll-view" :style="{ |
| | | width: width, |
| | | height: height, |
| | | borderTop: '1px solid' + borderColor, |
| | | borderLeft: showLeftAndRightBorder ? '1px solid' + borderColor : 'none', |
| | | borderRight: showLeftAndRightBorder ? '1px solid' + borderColor : 'none'}"> |
| | | <view class="wyb-table-header" :style="{borderBottom: '1px solid' + borderColor}"> |
| | | <view class="wyb-table-header-item" v-if="enableCheck" :style="{ |
| | | minWidth: checkColWidth + 'rpx', |
| | | maxWidth: checkColWidth + 'rpx', |
| | | minHeight: minHeight[0] + 'rpx', |
| | | textAlign: textAlign, |
| | | justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'), |
| | | fontSize: fontSize[0] + 'rpx', |
| | | color: headerFtColor, |
| | | padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx', |
| | | backgroundColor: headerBgColor, |
| | | borderRight: '1px solid' + borderColor, |
| | | zIndex: 30, |
| | | left: 0, |
| | | color: headerFtColor, |
| | | backgroundColor: headerBgColor, |
| | | position: 'sticky'}"> |
| | | <view |
| | | class="wyb-table-checkbox" |
| | | v-if="enableCheck === 'multiple'" |
| | | @tap.stop="onCheckAllTap" |
| | | :style="{ |
| | | width: checkColWidth * 0.5 + 'rpx', |
| | | height: checkColWidth * 0.5 + 'rpx', |
| | | backgroundColor: checkerBoxBgColor, |
| | | border: '1px solid ' + checkerBorderColor}"> |
| | | <text |
| | | class="iconfont icon-check" |
| | | v-show="checkAll" |
| | | :style="{ |
| | | color: checkerColor, |
| | | backgroundColor: checkerBgColor, |
| | | paddingTop: (fontSize[1] || fontSize[0]) * 0.15 + 'rpx', |
| | | fontSize: (fontSize[1] || fontSize[0]) + 'rpx'}" /> |
| | | </view> |
| | | </view> |
| | | <view ref="iosBug" class="wyb-table-header-item" v-for="(item, index) in headers" :key="item.key" @tap="onHeaderItemTap(index)" |
| | | :style="{ |
| | | minWidth: (item.width || defaultColWidth) + 'rpx', |
| | | maxWidth: (item.width || defaultColWidth) + 'rpx', |
| | | minHeight: minHeight[0] + 'rpx', |
| | | textAlign: textAlign, |
| | | justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'), |
| | | fontSize: fontSize[0] + 'rpx', |
| | | fontWeight: headerWeight ? 'bold' : 'normal', |
| | | color: headerFtColor, |
| | | padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx', |
| | | backgroundColor: headerBgColor, |
| | | borderRight: index === headers.length - 1 || (!showVertBorder && index !== 0) ? 'none' : '1px solid' + borderColor, |
| | | zIndex: index === 0 ? 20 : 0, |
| | | left: index === 0 && firstLineFixed ? (enableCheck ? checkColWidth + 'rpx' : 0) : 'auto', |
| | | position: index === 0 ? 'sticky' : 'static'}"> |
| | | <text :style="{marginLeft: autoSortShow(index) && textAlign !== 'left' ? fontSize[0] * 0.65 + 'rpx' : 0}"> |
| | | {{item.label || emptyString}} |
| | | </text> |
| | | <view class="wyb-table-header-icon" v-if="autoSortShow(index)"> |
| | | <text class="iconfont icon-arrow-up" :style="{ |
| | | color: sortWays[sortWay] === 'asc' && sortActiveKey === item.key ? |
| | | headerFtColor : RGBChange(headerFtColor, 0.7, 'light'), |
| | | fontWeight: 'normal', |
| | | marginBottom: '-12px', |
| | | transform: 'scale(0.4)'}" /> |
| | | <text class="iconfont icon-arrow-down" :style="{ |
| | | color: sortWays[sortWay] === 'inv' && sortActiveKey === item.key ? |
| | | headerFtColor : RGBChange(headerFtColor, 0.7, 'light'), |
| | | fontWeight: 'normal', |
| | | transform: 'scale(0.4)'}" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="wyb-table-content"> |
| | | <view class="wyb-table-content-line" v-for="(content, cIndex) in contentsSort" :key="contentLineKey(content, cIndex)" |
| | | :style="{borderTop: cIndex === 0 ? 'none' : '1px solid' + borderColor}"> |
| | | <view class="wyb-table-content-item" v-if="enableCheck" :style="{ |
| | | minWidth: checkColWidth + 'rpx', |
| | | maxWidth: checkColWidth + 'rpx', |
| | | textAlign: textAlign, |
| | | justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'), |
| | | fontSize: (fontSize[1] || fontSize[0]) + 'rpx', |
| | | minHeight: (minHeight[1] || minHeight[0]) + 'rpx', |
| | | padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx', |
| | | borderRight: '1px solid' + borderColor, |
| | | zIndex: 21, |
| | | color: contentFtColor, |
| | | backgroundColor: checkerCellBgColor, |
| | | left: 0, |
| | | position: 'sticky'}"> |
| | | <view |
| | | class="wyb-table-checkbox" |
| | | @tap.stop="onCheckItemTap(cIndex)" |
| | | :style="{ |
| | | width: checkColWidth * 0.5 + 'rpx', |
| | | height: checkColWidth * 0.5 + 'rpx', |
| | | backgroundColor: checkerBoxBgColor, |
| | | border: '1px solid ' + checkerBorderColor}"> |
| | | <text |
| | | class="iconfont icon-check" |
| | | v-show="contentsSort[cIndex].checked" |
| | | :style="{ |
| | | color: checkerColor, |
| | | backgroundColor: checkerBgColor, |
| | | paddingTop: (fontSize[1] || fontSize[0]) * 0.15 + 'rpx', |
| | | fontSize: (fontSize[1] || fontSize[0]) + 'rpx'}" /> |
| | | </view> |
| | | </view> |
| | | <view |
| | | class="wyb-table-content-item" |
| | | v-for="(header, hIndex) in headers" |
| | | @tap.stop="onContentItemTap(cIndex, hIndex)" |
| | | :key="contentItemKey(header, hIndex)" |
| | | :style="{ |
| | | minWidth: (header.width || defaultColWidth) + 'rpx', |
| | | maxWidth: (header.width || defaultColWidth) + 'rpx', |
| | | textAlign: textAlign, |
| | | justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'), |
| | | fontSize: (fontSize[1] || fontSize[0]) + 'rpx', |
| | | textDecoration: autoTextDecoration(cIndex, hIndex), |
| | | color: autoContentColor(cIndex, hIndex), |
| | | backgroundColor: autoContentBgColor(cIndex, hIndex), |
| | | minHeight: (minHeight[1] || minHeight[0]) + 'rpx', |
| | | padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx', |
| | | borderBottom: cIndex === contents.length - 1 ? '1px solid' + borderColor : 'none', |
| | | borderRight: hIndex === headers.length - 1 || (!showVertBorder && hIndex !== 0) ? 'none' : '1px solid' + borderColor, |
| | | zIndex: hIndex === 0 ? 20 : 0, |
| | | left: enableCheck ? checkColWidth + 'rpx' : 0, |
| | | position: hIndex === 0 && firstLineFixed ? 'sticky' : 'static'}">{{autoContentItem(cIndex, hIndex)}}</view> |
| | | </view> |
| | | <view v-if="computedCol.length !== 0" class="wyb-table-content-line" :style="{ |
| | | position: bottomComputedFixed ? 'sticky' : 'static', |
| | | bottom: 0, |
| | | zIndex: 25, |
| | | borderTop: '1px solid' + borderColor}"> |
| | | <view class="wyb-table-content-item" v-if="enableCheck" :style="{ |
| | | minWidth: checkColWidth + 'rpx', |
| | | maxWidth: checkColWidth + 'rpx', |
| | | textAlign: textAlign, |
| | | justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'), |
| | | fontSize: (fontSize[1] || fontSize[0]) + 'rpx', |
| | | minHeight: (minHeight[1] || minHeight[0]) + 'rpx', |
| | | padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx', |
| | | borderBottom: '1px solid' + borderColor, |
| | | borderRight: '1px solid' + borderColor, |
| | | zIndex: 25, |
| | | color: contentFtColor, |
| | | backgroundColor: checkerCellBgColor, |
| | | left: 0, |
| | | position: 'sticky'}"></view> |
| | | <view class="wyb-table-content-item" v-for="(header, index) in headers" :key="index" |
| | | :style="{ |
| | | minWidth: (header.width || defaultColWidth) + 'rpx', |
| | | maxWidth: (header.width || defaultColWidth) + 'rpx', |
| | | textAlign: textAlign, |
| | | justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'), |
| | | fontSize: (fontSize[1] || fontSize[0]) + 'rpx', |
| | | color: contentFtColor, |
| | | minHeight: (minHeight[1] || minHeight[0]) + 'rpx', |
| | | padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx', |
| | | backgroundColor: index === 0 ? firstColBgColor : contentBgColor, |
| | | borderBottom: '1px solid' + borderColor, |
| | | borderRight: index === headers.length - 1 || (!showVertBorder && index !== 0) ? 'none' : '1px solid' + borderColor, |
| | | zIndex: index === 0 ? 20 : 0, |
| | | left: enableCheck ? checkColWidth + 'rpx' : 0, |
| | | position: index === 0 && firstLineFixed ? 'sticky' : 'static'}"> |
| | | {{autoBottomComputedItem(index)}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pinyin from '../../static/table/characterToPinyin.js' |
| | | import isEqual from '../../static/table/objEqual.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | bottomComputed: [], |
| | | colorList: [], |
| | | bgColorList: [], |
| | | contentsSort: this.contents.slice(), |
| | | oContentsSort: [], |
| | | sortWay: 0, |
| | | sortKeys: [], |
| | | sortActiveKey: '', |
| | | sortIsNumbers: [], |
| | | checkAll: false, |
| | | checkList: [], |
| | | onload: true, |
| | | event: { |
| | | checkType: this.enableCheck, |
| | | data: [] |
| | | }, |
| | | chars: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' |
| | | } |
| | | }, |
| | | computed: { |
| | | loadingColor() { |
| | | let color = this.loaderColor.slice() |
| | | let rgbList = this.hexToRgb(color) |
| | | let top = 'rgba(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ', 0.3)' |
| | | let bottom = 'rgba(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ', 0.3)' |
| | | let right = 'rgba(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ', 0.3)' |
| | | let left = 'rgb(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ')' |
| | | return { |
| | | top, |
| | | bottom, |
| | | right, |
| | | left |
| | | } |
| | | }, |
| | | contentLineKey() { |
| | | return function(content, cIndex) { |
| | | return this.randomString(32, this.chars) |
| | | } |
| | | }, |
| | | contentItemKey() { |
| | | return function(header, hIndex) { |
| | | return this.randomString(16, this.chars) |
| | | } |
| | | }, |
| | | autoContentItem() { |
| | | return function(cIndex, hIndex) { |
| | | let content = this.contentsSort[cIndex] |
| | | let header = this.headers[hIndex] |
| | | let result = '' |
| | | if (content[header.key] || content[header.key] === 0) { |
| | | result = content[header.key] |
| | | if (this.urlCol.length !== 0) { |
| | | for (let i in this.urlCol) { |
| | | let item = this.urlCol[i] |
| | | if (header.key === item.key) { |
| | | // 该åå
æ ¼ä¸ºé¾æ¥ |
| | | result = content[header.key][0] |
| | | } |
| | | } |
| | | } |
| | | if (this.formatCol.length !== 0) { |
| | | this.formatCol.forEach(item => { |
| | | if (header.key === item.key) { |
| | | let needRplace = new RegExp(`\#${item['key']}\#`, 'mg') |
| | | result = item.template.replace(needRplace, result) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | } else { |
| | | result = this.emptyString |
| | | } |
| | | return result |
| | | } |
| | | }, |
| | | autoBottomComputedItem() { |
| | | return function(index) { |
| | | let bottomComputed = {} |
| | | let needComputed = [] |
| | | this.computedCol.forEach(key => { |
| | | let computedColData = [] |
| | | this.contentsSort.forEach(content => { |
| | | computedColData.push(content[key] || '0') |
| | | }) |
| | | needComputed.push(computedColData) |
| | | }) |
| | | needComputed.forEach((item, index) => { |
| | | let total = 0 |
| | | item.forEach(num => { |
| | | total += parseFloat(num) |
| | | }) |
| | | bottomComputed[this.computedCol[index]] = total |
| | | }) |
| | | let header = this.headers[index] |
| | | let result = this.computedCol.includes(header.key) ? |
| | | bottomComputed[header.key] : (index === 0 ? 'æ»è®¡' : this.emptyString) |
| | | if (this.formatCol.length !== 0) { |
| | | this.formatCol.forEach(item => { |
| | | if (item.bottomComputedFormat) { |
| | | if (header.key === item.key) { |
| | | let needRplace = new RegExp(`\#${item['key']}\#`, 'mg') |
| | | result = item.template.replace(needRplace, bottomComputed[item.key]) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | return result |
| | | } |
| | | }, |
| | | autoTextDecoration() { |
| | | return function(cIndex, hIndex) { |
| | | let result = 'auto' |
| | | let content = this.contentsSort[cIndex] |
| | | let header = this.headers[hIndex] |
| | | if (this.urlCol.length !== 0) { |
| | | for (let i in this.urlCol) { |
| | | let item = this.urlCol[i] |
| | | if (header.key === item.key) { |
| | | // 该åå
æ ¼ä¸ºé¾æ¥ |
| | | if (content[header.key]) { |
| | | result = 'underline' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return result |
| | | } |
| | | }, |
| | | autoContentBgColor() { |
| | | return function(cIndex, hIndex) { |
| | | let result = this.contentBgColor |
| | | let content = this.contentsSort[cIndex] |
| | | let header = this.headers[hIndex] |
| | | let keys = [] |
| | | // å
夿æ¯ä¸æ¯é¦åï¼è®¾ç½®åºç¡æ ·å¼ |
| | | if (hIndex === 0) { |
| | | result = this.firstColBgColor |
| | | } |
| | | // å夿æ¡ä»¶æ ¼å¼ä¼ æ²¡ä¼ å¼ï¼è®¾ç½®æ¡ä»¶æ ·å¼ |
| | | if (this.valueFormat.length !== 0) { |
| | | this.valueFormat.forEach(item => { |
| | | keys.push(item.key) |
| | | }) |
| | | if (keys.includes(header.key)) { |
| | | // 该åå¼å¯äºæ¡ä»¶æ ¼å¼ |
| | | let key = header.key |
| | | let type = this.valueFormat[keys.indexOf(key)].type |
| | | let style = this.valueFormat[keys.indexOf(key)].style |
| | | let range = this.valueFormat[keys.indexOf(key)].range || '' |
| | | switch(type) { |
| | | case 'bigger': |
| | | if (parseFloat(content[key]) > range) { |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | case 'smaller': |
| | | if (parseFloat(content[key]) < range) { |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | case 'equal': |
| | | let val |
| | | if (typeof range === 'number') val = parseFloat(content[key]) |
| | | else val = content[key] |
| | | if (val === range) { |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | case 'range': |
| | | if (parseFloat(content[key]) > range[0] && parseFloat(content[key]) < range[1]){ |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | case 'average-bigger': |
| | | let average = this.getAverage(key) |
| | | if (parseFloat(content[key]) > average) { |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | case 'average-smaller': |
| | | average = this.getAverage(key) |
| | | if (parseFloat(content[key]) < average) { |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | case 'average-equal': |
| | | average = this.getAverage(key) |
| | | if (parseFloat(content[key]) === average) { |
| | | if (style.bgColor) result = style.bgColor |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | return result |
| | | } |
| | | }, |
| | | autoContentColor() { |
| | | return function(cIndex, hIndex) { |
| | | let result = this.contentFtColor |
| | | let content = this.contentsSort[cIndex] |
| | | let header = this.headers[hIndex] |
| | | let keys = [] |
| | | // å
夿æ¯ä¸æ¯é¾æ¥ï¼è®¾ç½®åºç¡æ ·å¼ |
| | | if (this.urlCol.length !== 0) { |
| | | for (let i in this.urlCol) { |
| | | let item = this.urlCol[i] |
| | | if (header.key === item.key) { |
| | | // 该åå
æ ¼ä¸ºé¾æ¥ |
| | | if (content[header.key]) { |
| | | result = this.linkColor |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // å夿æ¡ä»¶æ ¼å¼ä¼ æ²¡ä¼ å¼ï¼è®¾ç½®æ¡ä»¶æ ·å¼ |
| | | if (this.valueFormat.length !== 0) { |
| | | this.valueFormat.forEach(item => { |
| | | keys.push(item.key) |
| | | }) |
| | | if (keys.includes(header.key)) { |
| | | // 该åå¼å¯äºæ¡ä»¶æ ¼å¼ |
| | | let key = header.key |
| | | let type = this.valueFormat[keys.indexOf(key)].type |
| | | let style = this.valueFormat[keys.indexOf(key)].style |
| | | let range = this.valueFormat[keys.indexOf(key)].range || '' |
| | | switch(type) { |
| | | case 'bigger': |
| | | if (parseFloat(content[key]) > range) { |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | case 'smaller': |
| | | if (parseFloat(content[key]) < range) { |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | case 'equal': |
| | | let val |
| | | if (typeof range === 'number') val = parseFloat(content[key]) |
| | | else val = content[key] |
| | | if (val === range) { |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | case 'range': |
| | | if (parseFloat(content[key]) > range[0] && parseFloat(content[key]) < range[1]){ |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | case 'average-bigger': |
| | | let average = this.getAverage(key) |
| | | if (parseFloat(content[key]) > average) { |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | case 'average-smaller': |
| | | average = this.getAverage(key) |
| | | if (parseFloat(content[key]) < average) { |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | case 'average-equal': |
| | | average = this.getAverage(key) |
| | | if (parseFloat(content[key]) === average) { |
| | | if (style.color) result = style.color |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | return result |
| | | } |
| | | }, |
| | | autoSortShow() { |
| | | return function(hIndex) { |
| | | let result = false |
| | | let header = this.headers[hIndex] |
| | | let keys = [] |
| | | // 夿æåºæ¯å¦ä¼ å¼ |
| | | if (this.sortCol.length !== 0 && this.sortKeys.length === 0) { |
| | | this.sortCol.forEach(item => { |
| | | keys.push(item.key) |
| | | }) |
| | | this.sortKeys = keys |
| | | if (keys.includes(header.key)) { |
| | | result = true |
| | | } |
| | | } else if (this.sortCol.length !== 0) { |
| | | if (this.sortKeys.includes(header.key)) { |
| | | result = true |
| | | } |
| | | } |
| | | return result |
| | | } |
| | | }, |
| | | screenWidth() { |
| | | return `${uni.getSystemInfoSync()['screenWidth']}px` |
| | | } |
| | | }, |
| | | props: { |
| | | headers: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | contents: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | emptyString: { |
| | | type: String, |
| | | default: '-' |
| | | }, |
| | | width: { |
| | | type: String, |
| | | default: "100%" |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: 'auto' |
| | | }, |
| | | fontSize: { |
| | | type: Array, |
| | | default() { |
| | | return [24] |
| | | } |
| | | }, |
| | | defaultColWidth: { |
| | | type: Number, |
| | | default: 176 |
| | | }, |
| | | headerWeight: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | minHeight: { |
| | | type: Array, |
| | | default() { |
| | | return [70] |
| | | } |
| | | }, |
| | | headerBgColor: { |
| | | type: String, |
| | | default: '#24ABFD' |
| | | }, |
| | | contentBgColor: { |
| | | type: String, |
| | | default: '#DADADA' |
| | | }, |
| | | headerFtColor: { |
| | | type: String, |
| | | default: '#fff' |
| | | }, |
| | | contentFtColor: { |
| | | type: String, |
| | | default: '#3e3e3e' |
| | | }, |
| | | linkColor: { |
| | | type: String, |
| | | default: '#0024c8' |
| | | }, |
| | | firstColBgColor: { |
| | | type: String, |
| | | default: '#DADADA' |
| | | }, |
| | | firstLineFixed: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | textAlign: { |
| | | type: String, |
| | | default: 'center' |
| | | }, |
| | | padding: { |
| | | type: Array, |
| | | default() { |
| | | return [5, 10] |
| | | } |
| | | }, |
| | | borderColor: { |
| | | type: String, |
| | | default: '#fff' |
| | | }, |
| | | urlCol: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | computedCol: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | bottomComputedFixed: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | valueFormat: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | formatCol: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | showLeftAndRightBorder: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | showVertBorder: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | sortCol: { |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | sortWays: { |
| | | type: Array, |
| | | default() { |
| | | return ['none', 'asc', 'inv'] |
| | | } |
| | | }, |
| | | loading: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | loaderSize: { |
| | | type: [String, Number], |
| | | default: 50 |
| | | }, |
| | | loaderColor: { |
| | | type: String, |
| | | default: '#a3a3a3' |
| | | }, |
| | | loaderBgColor: { |
| | | type: String, |
| | | default: '#f8f8f8' |
| | | }, |
| | | enableCheck: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | checkColWidth: { |
| | | type: [String, Number], |
| | | default: '70' |
| | | }, |
| | | checkerColor: { |
| | | type: String, |
| | | default: '#3e3e3e' |
| | | }, |
| | | checkerBorderColor: { |
| | | type: String, |
| | | default: '#d3d3d3' |
| | | }, |
| | | checkerBgColor: { |
| | | type: String, |
| | | default: 'rgba(0, 0, 0, 0)' |
| | | }, |
| | | checkerBoxBgColor: { |
| | | type: String, |
| | | default: 'rgba(0, 0, 0, 0)' |
| | | }, |
| | | checkerCellBgColor: { |
| | | type: String, |
| | | default: '#f1f1f1' |
| | | } |
| | | }, |
| | | watch: { |
| | | headers(val) { |
| | | this.$forceUpdate() |
| | | }, |
| | | contents(val) { |
| | | this.contentsSort = val.slice() |
| | | if (this.onload) { |
| | | this.contentsSort.forEach(item => { |
| | | this.$set(item, 'checked', false) |
| | | }) |
| | | this.oContentsSort = this.contentsSort.slice() |
| | | this.onload = false |
| | | } |
| | | this.$forceUpdate() |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.contentsSort.forEach(item => { |
| | | this.$set(item, 'checked', false) |
| | | }) |
| | | this.oContentsSort = this.contentsSort.slice() |
| | | if (this.sortCol.length !== 0) { |
| | | this.sortActiveKey = this.sortCol[0].key |
| | | uni.setStorageSync('lastSortActiveKey', this.sortActiveKey) |
| | | this.doSort(this.sortCol[0].key, this.sortWays[this.sortWay], this.sortCol[0].isNumber) |
| | | } |
| | | }, |
| | | methods: { |
| | | doSort(key, type, isNumber) { |
| | | let arr = this.contentsSort |
| | | if (type === 'asc') { |
| | | // ååº |
| | | if (isNumber) { |
| | | arr.sort((a, b) => { |
| | | let a1 = (parseFloat(a[key].toString().replace(/[^0-9]/ig, "")) || 0); |
| | | let b1 = (parseFloat(b[key].toString().replace(/[^0-9]/ig, "")) || 0); |
| | | a1 = a[key] < 0 ? - a1 : a1; |
| | | b1 = b[key] < 0 ? - b1 : b1; |
| | | return a1 - b1 |
| | | }) |
| | | } else { |
| | | arr.sort((a, b) => { |
| | | let A = Pinyin.getSpell(a[key].charAt(0), function(charactor, spell) { |
| | | return spell[1] |
| | | }).charAt(0).charCodeAt() |
| | | let B = Pinyin.getSpell(b[key].charAt(0), function(charactor, spell) { |
| | | return spell[1] |
| | | }).charAt(0).charCodeAt() |
| | | return A - B |
| | | }) |
| | | } |
| | | |
| | | } else if (type === 'inv') { |
| | | // ååº |
| | | if (isNumber) { |
| | | arr.sort((a, b) => { |
| | | let a1 = (parseFloat(a[key].toString().replace(/[^0-9]/ig, "")) || 0); |
| | | let b1 = (parseFloat(b[key].toString().replace(/[^0-9]/ig, "")) || 0); |
| | | a1 = a[key] < 0 ? - a1 : a1; |
| | | b1 = b[key] < 0 ? - b1 : b1; |
| | | return b1 - a1 |
| | | }) |
| | | } else { |
| | | arr.sort((a, b) => { |
| | | let A = Pinyin.getSpell(a[key].charAt(0), function(charactor, spell) { |
| | | return spell[1] |
| | | }).charAt(0).charCodeAt() |
| | | let B = Pinyin.getSpell(b[key].charAt(0), function(charactor, spell) { |
| | | return spell[1] |
| | | }).charAt(0).charCodeAt() |
| | | return B - A |
| | | }) |
| | | } |
| | | } else { |
| | | this.contentsSort = this.oContentsSort.slice() |
| | | } |
| | | if (this.enableCheck) { |
| | | this.event.data.forEach(item => { |
| | | this.contentsSort.forEach((content, index) => { |
| | | if (isEqual(item.lineData, content)) { |
| | | item.index = index |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | this.$forceUpdate() |
| | | }, |
| | | initBottomComputed() { |
| | | let result = {} |
| | | let needComputed = [] |
| | | this.computedCol.forEach(key => { |
| | | let computedColData = [] |
| | | this.contentsSort.forEach(content => { |
| | | computedColData.push(content[key] || '0') |
| | | }) |
| | | needComputed.push(computedColData) |
| | | }) |
| | | needComputed.forEach((item, index) => { |
| | | let total = 0 |
| | | item.forEach(num => { |
| | | total += parseFloat(num) |
| | | }) |
| | | result[this.computedCol[index]] = total |
| | | }) |
| | | this.bottomComputed = result |
| | | }, |
| | | onHeaderItemTap(index) { |
| | | let header = this.headers[index] |
| | | const lastSortActiveKey = uni.getStorageSync('lastSortActiveKey') || '' |
| | | if (this.sortCol.length !== 0) { |
| | | if (this.sortKeys.includes(header.key)) { |
| | | // å½ååå¼å¯äºæåº |
| | | this.sortActiveKey = header.key |
| | | uni.setStorageSync('lastSortActiveKey', this.sortActiveKey) |
| | | if (this.sortWay < 2 && lastSortActiveKey === this.sortActiveKey) { |
| | | this.sortWay++ |
| | | } else if (lastSortActiveKey !== this.sortActiveKey) { |
| | | this.sortWay = 1 |
| | | } else if (this.sortWay >= 2) { |
| | | this.sortWay = 0 |
| | | } |
| | | let isNumber = this.sortCol[this.sortKeys.indexOf(header.key)].isNumber |
| | | // console.log(header.key,this.sortWays[this.sortWay],isNumber) |
| | | this.doSort(header.key, this.sortWays[this.sortWay], isNumber) |
| | | } |
| | | } |
| | | }, |
| | | onContentItemTap(cIndex, hIndex) { |
| | | let event = {} |
| | | let content = this.contentsSort[cIndex] |
| | | let header = this.headers[hIndex] |
| | | let keys = [] |
| | | |
| | | if (this.urlCol.length !== 0) { |
| | | for (let i in this.urlCol) { |
| | | let item = this.urlCol[i] |
| | | keys.push(item.key) |
| | | } |
| | | } |
| | | |
| | | if (content[header.key]) { |
| | | if (keys.includes(header.key)) { |
| | | // 该åå
æ ¼ä¸ºé¾æ¥ |
| | | switch(this.urlCol[keys.indexOf(header.key)].type) { |
| | | case 'route': |
| | | let url = content[header.key][1] |
| | | if (content[header.key][2]) { |
| | | url = `${url}?` |
| | | Object.keys(content[header.key][2]).forEach(key => { |
| | | url += `&${key}=${content[header['key']][2][key]}` |
| | | }) |
| | | } |
| | | uni.navigateTo({url}) |
| | | break |
| | | case 'http': |
| | | this.openURL(content[header.key][1]) |
| | | break |
| | | } |
| | | } else { |
| | | event = { |
| | | content: content[header.key], |
| | | contentIndex: cIndex, |
| | | header: header.label, |
| | | headerIndex: hIndex, |
| | | key: header.key, |
| | | lineData: content |
| | | } |
| | | this.$emit('onCellClick', event) |
| | | } |
| | | |
| | | } else { |
| | | event = { |
| | | content: '', |
| | | contentIndex: cIndex, |
| | | header: header.label, |
| | | headerIndex: hIndex, |
| | | key: header.key, |
| | | lineData: content |
| | | } |
| | | if (keys.includes(header.key)) { |
| | | // 该åå
æ ¼ä¸ºé¾æ¥ |
| | | event['isLink'] = true |
| | | } |
| | | this.$emit('onCellClick', event) |
| | | } |
| | | |
| | | }, |
| | | onCheckAllTap() { |
| | | if (this.enableCheck === 'multiple') { |
| | | let checkList = [] |
| | | this.contentsSort.forEach(item => { |
| | | checkList.push(item.checked) |
| | | }) |
| | | this.checkList = checkList |
| | | if (!this.checkAll) { |
| | | this.checkAll = true |
| | | this.contentsSort.forEach(item => { |
| | | item.checked = true |
| | | }) |
| | | this.event.data = [] |
| | | this.contentsSort.forEach((content, index) => { |
| | | this.event.data.push({ |
| | | index, |
| | | lineData: content |
| | | }) |
| | | }) |
| | | |
| | | } else { |
| | | this.checkAll = false |
| | | this.event.data = [] |
| | | this.contentsSort.forEach(item => { |
| | | item.checked = false |
| | | }) |
| | | } |
| | | this.$emit('onCheck', this.event) |
| | | } |
| | | }, |
| | | onCheckItemTap(cIndex) { |
| | | let content = this.contentsSort[cIndex] |
| | | if (this.enableCheck === 'single') { |
| | | this.contentsSort.forEach((item, index) => { |
| | | if (cIndex === index) { |
| | | item.checked = !item.checked |
| | | } else { |
| | | item.checked = false |
| | | } |
| | | }) |
| | | } else if (this.enableCheck === 'multiple') { |
| | | this.contentsSort[cIndex]['checked'] = !this.contentsSort[cIndex]['checked'] |
| | | } |
| | | if (this.contentsSort[cIndex]['checked']) { |
| | | if (this.enableCheck === 'single') { |
| | | this.event.data = [] |
| | | } |
| | | this.event.data.push({ |
| | | index: cIndex, |
| | | lineData: this.contentsSort[cIndex] |
| | | }) |
| | | } else { |
| | | this.event.data.forEach(item => { |
| | | if (item.index === cIndex) this.event.data.splice(this.event.data.indexOf(item), 1) |
| | | }) |
| | | if (this.event.data.length === 0) { |
| | | this.checkAll = false |
| | | } |
| | | } |
| | | this.$forceUpdate() |
| | | this.$emit('onCheck', this.event) |
| | | }, |
| | | openURL(href) { |
| | | // #ifdef APP-PLUS |
| | | plus.runtime.openURL(href) |
| | | // #endif |
| | | // #ifdef H5 |
| | | window.open(href) |
| | | // #endif |
| | | // #ifdef MP |
| | | uni.setClipboardData({ |
| | | data: href, |
| | | success() { |
| | | uni.showToast({ |
| | | title: 'ç½åå·²å¤å¶ï¼è¯·å¨ææºæµè§å¨éç²è´´è¯¥ç½å', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }) |
| | | // #endif |
| | | }, |
| | | getAverage(key) { |
| | | let numList = [] |
| | | this.contentsSort.forEach(content => { |
| | | numList.push(parseFloat(content[key]) || 0) |
| | | }) |
| | | return numList.reduce((a, b) => a + b) / numList.length |
| | | }, |
| | | getTotal(key) { |
| | | let numList = [] |
| | | this.contentsSort.forEach(content => { |
| | | numList.push(parseFloat(content[key]) || 0) |
| | | }) |
| | | return numList.reduce((a, b) => a + b) |
| | | }, |
| | | RGBChange(color, level, type) { |
| | | // 夿é¢è²ç±»å |
| | | let r = 0, |
| | | g = 0, |
| | | b = 0, |
| | | hasAlpha = false, |
| | | alpha = 1 |
| | | if (color.indexOf('#') !== -1) { |
| | | // hex转rgb |
| | | if (color.length === 4) { |
| | | let arr = color.split('') |
| | | color = '#' + arr[1] + arr[1] + arr[2] + arr[2] + arr[3] + arr[3] |
| | | } |
| | | let color16List = [color.substring(1, 3), color.substring(3, 5), color.substring(5, 7)] |
| | | r = parseInt(color16List[0], 16) |
| | | g = parseInt(color16List[1], 16) |
| | | b = parseInt(color16List[2], 16) |
| | | |
| | | } else { |
| | | hasAlpha = color.indexOf('a') !== -1 |
| | | let root = color.slice() |
| | | let idx = root.indexOf('(') + 1 |
| | | root = root.substring(idx) |
| | | let firstDotIdx = root.indexOf(',') |
| | | r = parseFloat(root.substring(0, firstDotIdx)) |
| | | root = root.substring(firstDotIdx + 1) |
| | | let secondDotIdx = root.indexOf(',') |
| | | g = parseFloat(root.substring(0, secondDotIdx)) |
| | | root = root.substring(secondDotIdx + 1) |
| | | if (hasAlpha) { |
| | | let thirdDotIdx = root.indexOf(',') |
| | | b = parseFloat(root.substring(0, thirdDotIdx)) |
| | | alpha = parseFloat(root.substring(thirdDotIdx + 1)) |
| | | } else { |
| | | b = parseFloat(root) |
| | | } |
| | | } |
| | | |
| | | let rgbc = [r, g, b] |
| | | // åæ·¡æå æ·± |
| | | for (var i = 0; i < 3; i++) |
| | | type === 'light' ? rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i]) : rgbc[i] = Math.floor(rgbc[i] * (1 - |
| | | level)) |
| | | |
| | | if (hasAlpha) { |
| | | return `rgba(${rgbc[0]}, ${rgbc[1]}, ${rgbc[2]}, ${alpha})` |
| | | } else { |
| | | return `rgb(${rgbc[0]}, ${rgbc[1]}, ${rgbc[2]})` |
| | | } |
| | | }, |
| | | hexToRgb(color) { |
| | | if (color.length === 4) { |
| | | let arr = color.split('') |
| | | color = '#' + arr[1] + arr[1] + arr[2] + arr[2] + arr[3] + arr[3] |
| | | } |
| | | let color16List = [color.substring(1, 3), color.substring(3, 5), color.substring(5, 7)] |
| | | let r = parseInt(color16List[0], 16) |
| | | let g = parseInt(color16List[1], 16) |
| | | let b = parseInt(color16List[2], 16) |
| | | return [r, g, b] |
| | | }, |
| | | randomString(length, chars) { |
| | | var result = '' |
| | | for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)] |
| | | return result |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | @import '../../static/table/iconfont.wxss'; |
| | | @import '../../static/table/loader.wxss'; |
| | | .ios-header-bug { |
| | | height: 0; |
| | | width: 1px; |
| | | opacity: 0; |
| | | } |
| | | |
| | | .wyb-table-scroll-view { |
| | | overflow: scroll; |
| | | -webkit-overflow-scrolling: touch; |
| | | } |
| | | |
| | | .wyb-table-scroll-view::-webkit-scrollbar { |
| | | display: none; |
| | | /* #ifdef MP-WEIXIN */ |
| | | width: 0; |
| | | height: 0; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .wyb-table-loading-box { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | z-index: 500; |
| | | } |
| | | |
| | | .wyb-table-header { |
| | | position: sticky; |
| | | top: 0; |
| | | display: grid; |
| | | grid-auto-flow: column; |
| | | width: max-content; |
| | | z-index: 25; |
| | | } |
| | | |
| | | .wyb-table-header-item { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | box-sizing: border-box; |
| | | position: relative; |
| | | } |
| | | |
| | | .wyb-table-header-icon { |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .wyb-table-content-line { |
| | | display: grid; |
| | | grid-auto-flow: column; |
| | | width: max-content; |
| | | position: relative; |
| | | } |
| | | |
| | | .wyb-table-content-item { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .wyb-table-checkbox { |
| | | border-radius: 3px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | position: relative; |
| | | } |
| | | |
| | | .icon-check { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | border-radius: 0; |
| | | border-radius: 3px; |
| | | font-weight: bold; |
| | | box-sizing: border-box; |
| | | transform: scale(1.1); |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="dropdown-item"> |
| | | <!-- selected --> |
| | | <view :class="['dropdown-item__selected',listWidth!='150rpx'?'dropdown-item__right':'dropdown-item__left']" |
| | | @click="changePopup" :style="{maxWidth:selectWidth}"> |
| | | <view class="selected__name">{{selectItem.text}}</view> |
| | | <view class="selected__icon" |
| | | :class="showClass === 'show'? 'up' : 'down'" |
| | | > |
| | | <li class="iconfont icon-caretdown"></li> |
| | | </view> |
| | | </view> |
| | | <view class="dropdown-item__content" :style="{top: contentTop + 'rpx'}" v-if="showList"> |
| | | <!-- dropdown --> |
| | | <view :class="['list', showClass]" :style="{left: contentLeft>0?contentLeft + 'rpx':'auto',right: contentRight>0?contentRight + 'rpx':'auto',}"> |
| | | <view class="list__option" |
| | | v-for="(item, index) in list" :key="index" |
| | | @click="choose(item)"> |
| | | <view>{{item.text}}</view> |
| | | <icon v-if="item.value === value" type="success_no_circle" size="20"/> |
| | | </view> |
| | | </view> |
| | | <!-- dropdown-mask --> |
| | | <view :class="['dropdown-mask', showClass]" v-if="showList" @click="closePopup"></view> |
| | | </view> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | components: { |
| | | }, |
| | | props: { |
| | | value: [Number, String, Object], |
| | | list: { |
| | | type: Array, |
| | | default: ()=> { |
| | | return [] |
| | | } |
| | | }, |
| | | contentTop:{ |
| | | type:String, |
| | | default:"185" |
| | | }, |
| | | contentLeft:{ |
| | | type:String, |
| | | default:"0" |
| | | }, |
| | | contentRight:{ |
| | | type:String, |
| | | default:"0" |
| | | }, |
| | | listWidth:{ |
| | | type:String, |
| | | default:'150rpx' |
| | | }, |
| | | selectWidth:{ |
| | | type:String, |
| | | default:'150rpx' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | showList: "", |
| | | showClass: '', |
| | | selectItem: {}, |
| | | } |
| | | }, |
| | | watch: { |
| | | list(newVal,oldVal){ |
| | | this.selectItem = newVal[0]; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.showList = this.active; |
| | | this.selectItem = this.list[0]; |
| | | }, |
| | | methods: { |
| | | choose(item) { |
| | | if(item.value != "auto"){ |
| | | this.selectItem = item |
| | | } |
| | | this.$emit('changeItem', item); |
| | | this.closePopup(); |
| | | }, |
| | | selectAuto(){ |
| | | this.selectItem = {text: 'æå®æ¥æ',value: 'auto'}; |
| | | }, |
| | | changePopup() { |
| | | if(this.showList) { |
| | | this.closePopup() |
| | | } else { |
| | | this.openPopup() |
| | | } |
| | | }, |
| | | openPopup() { |
| | | setTimeout(() => { |
| | | this.showClass = 'show'; |
| | | this.showList = true; |
| | | }, 100); |
| | | }, |
| | | closePopup() { |
| | | this.showClass = '' |
| | | setTimeout(() => { |
| | | this.showList = false |
| | | }, 200); |
| | | }, |
| | | close() { |
| | | this.showClass = '' |
| | | this.showList = false |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | |
| | | li{ |
| | | list-style-type:none; |
| | | } |
| | | .dropdown-item__content{ |
| | | z-index: 10!important; |
| | | } |
| | | .dropdown-item { |
| | | width: 100%; |
| | | flex:1; |
| | | position: relative; |
| | | &__selected { |
| | | position: relative; |
| | | padding: 10rpx 0; |
| | | box-sizing: border-box; |
| | | color: #fff; |
| | | .selected__name { |
| | | font-size: 28rpx; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | } |
| | | .selected__icon { |
| | | margin-left: 20rpx; |
| | | &.down { |
| | | transition: transform .3s; |
| | | transform: rotateZ(0); |
| | | } |
| | | &.up { |
| | | transition: transform .3s; |
| | | transform: rotateZ(-180deg); |
| | | } |
| | | } |
| | | |
| | | } |
| | | &__left{ |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | } |
| | | &__right{ |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: flex-end; |
| | | align-items: center; |
| | | } |
| | | &__content { |
| | | position: fixed; |
| | | left: 0; |
| | | right: 0; |
| | | overflow: hidden; |
| | | top: 0; |
| | | bottom: 0; |
| | | z-index: 1; |
| | | .list { |
| | | max-height: 400px; |
| | | text-align: center; |
| | | overflow-y: auto; |
| | | position: absolute; |
| | | z-index: 1200; |
| | | background: #fff; |
| | | transform: translateY(-100%); |
| | | transition: all .3s; |
| | | &.show { |
| | | transform: translateY(0); |
| | | } |
| | | &__option { |
| | | font-size:30rpx; |
| | | padding: 18rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | color: #303133; |
| | | &:not(:last-child) { |
| | | border-bottom: 1rpx solid #DDDDDD; |
| | | } |
| | | } |
| | | } |
| | | .dropdown-mask { |
| | | position: absolute; |
| | | left: 0; |
| | | right: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | transition: all .3s; |
| | | z-index: 1100; |
| | | &.show { |
| | | background:rgba(0,0,0,0.5); |
| | | } |
| | | } |
| | | } |
| | | &:not(:last-child):after { |
| | | content: ' '; |
| | | position: absolute; |
| | | width: 2rpx; |
| | | top: 36rpx; |
| | | bottom: 36rpx; |
| | | right: 0; |
| | | background: $uni-border-color; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <view v-if="copyContent.length > 0" class="ranking"> |
| | | <view class="ranking-item" v-for="(content,index) in copyContent" :key="index" :style="{padding:progressPadding+'rpx'}"> |
| | | <view class="name">{{content.name}}</view> |
| | | <view class="progress" > |
| | | <text :style="{background:content.background,width:content.width + '%',height:progressWidth+'rpx'}"></text> |
| | | </view> |
| | | <view class="num">{{content.num}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name:'ranking-list', |
| | | props:{ |
| | | content:{ |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | }, |
| | | isPC:{ |
| | | type:Boolean, |
| | | default:false |
| | | }, |
| | | isRank:{ |
| | | type:Boolean, |
| | | default:false |
| | | } |
| | | }, |
| | | data(){ |
| | | return{ |
| | | progressWidth:24, |
| | | progressPadding:10, |
| | | maxNumber:0, |
| | | culCount:0, |
| | | copyContent:[] |
| | | } |
| | | }, |
| | | watch:{ |
| | | content(newV){ |
| | | this.init() |
| | | } |
| | | }, |
| | | methods:{ |
| | | init(){ |
| | | this.copyContent = this.deepClone(this.content) |
| | | if(this.copyContent && this.copyContent.length >0){ |
| | | if(this.isRank){ |
| | | this.copyContent = this.copyContent.sort((a,b) => b.num - a.num); |
| | | this.maxNumber = this.copyContent[0].num; |
| | | }else{ |
| | | this.maxNumber = Math.max.apply(Math,this.copyContent.map(item => { return item.num })); |
| | | } |
| | | this.copyContent.map((item,index) =>{ |
| | | item.width = this.computeWidth(this.maxNumber,item.num); |
| | | }); |
| | | } |
| | | }, |
| | | computeWidth(max,current){ |
| | | let num = (current / max) * 100; |
| | | return num.toFixed(2); |
| | | }, |
| | | deepClone(obj) { |
| | | var cloneObj = new obj.constructor() |
| | | if(obj === null) return obj |
| | | if(obj instanceof Date) return new Date(obj) |
| | | if(obj instanceof RegExp) return new RegExp(obj) |
| | | if (typeof obj !== 'object') return obj |
| | | for (var i in obj) { |
| | | if (obj.hasOwnProperty(i)) { |
| | | cloneObj[i] = this.deepClone(obj[i]) |
| | | } |
| | | } |
| | | return cloneObj |
| | | } |
| | | }, |
| | | mounted() { |
| | | if(this.isPC){ |
| | | this.progressWidth = 40; |
| | | this.progressPadding = 30; |
| | | } |
| | | this.init(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .ranking-item{ |
| | | display: flex; |
| | | margin-bottom: 13rpx; |
| | | align-content: center; |
| | | height: 50rpx; |
| | | |
| | | .name{ |
| | | padding-right: 10rpx; |
| | | color: #868688; |
| | | font-size: 20rpx; |
| | | flex: 1; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | .progress{ |
| | | flex:5; |
| | | text-align: left; |
| | | padding-right: 10rpx; |
| | | |
| | | text{ |
| | | display: inline-block; |
| | | border-radius: 30rpx; |
| | | vertical-align:top; |
| | | } |
| | | |
| | | } |
| | | .num{ |
| | | font-size: 26rpx; |
| | | color: #3EB2F5; |
| | | flex: 1; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <view class="ranking"> |
| | | <view class="ranking-item" v-for="(content,index) in content" :key="index"> |
| | | <view class="name">{{content.name}}</view> |
| | | <view class="progress" > |
| | | <text :style="{backgroundImage:'linear-gradient(to top right,'+getColor(0,index)+','+getColor(1,index)+')',width:content.width + '%'}"></text> |
| | | </view> |
| | | <view class="num">{{content.num}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name:'ranking-list', |
| | | props:{ |
| | | content:{ |
| | | type: Array, |
| | | default() { |
| | | return [] |
| | | } |
| | | } |
| | | }, |
| | | methods:{ |
| | | init(){ |
| | | if(this.content && this.content.length >0){ |
| | | this.content = this.content.sort((a,b) => b.num - a.num); |
| | | let max = this.content[0].num; |
| | | this.content.map((item,index) =>{ |
| | | item.width = this.computeWidth(max,item.num); |
| | | }); |
| | | this.$emit("updateRanking",this.content) |
| | | } |
| | | }, |
| | | computeWidth(max,current){ |
| | | let num = (current / max) * 100; |
| | | return num.toFixed(2); |
| | | }, |
| | | getColor(id,index){ |
| | | let color = ""; |
| | | switch(index){ |
| | | case 0: |
| | | color = id == 0 ? "#fff":"#A80BFC"; |
| | | break; |
| | | case 1: |
| | | color = id == 0 ? "#fff":"#740CFF"; |
| | | break; |
| | | case 2: |
| | | color = id == 0 ? "#fff":"#4A08DC"; |
| | | break; |
| | | default : |
| | | color = id == 0 ? "#fff":"#1936DA"; |
| | | break; |
| | | } |
| | | return color; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.init(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .ranking-item{ |
| | | display: flex; |
| | | margin-bottom: 13rpx; |
| | | padding: 10rpx; |
| | | align-content: center; |
| | | |
| | | .name{ |
| | | padding-right: 10rpx; |
| | | color: #868688; |
| | | } |
| | | .progress{ |
| | | flex:5; |
| | | text-align: left; |
| | | padding-right: 10rpx; |
| | | |
| | | text{ |
| | | display: inline-block; |
| | | height: 100%; |
| | | } |
| | | |
| | | } |
| | | .num{ |
| | | font-size: 26rpx; |
| | | color: #3EB2F5; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="text_block"> |
| | | <template v-for="(item,index) in content"> |
| | | <view v-if="item.kind == 1" :key="index" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')'}" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_one','breathe-blue']"> |
| | | <view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colorvalue}">{{item.content[0].value}}</view> |
| | | <view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colortext}">{{item.content[1].text}}</view> |
| | | </view> |
| | | <view v-else-if="item.kind == 2" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_two','breathe-blue']" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background+')' ,marginRight:(index+1)%3==0?'0rpx':'40rpx'}"> |
| | | <view v-for="(content,i) in item.content" :key="i" class="two_1"> |
| | | <text :style="{fontSize:content.size,color:content.colortext}">{{content.text}}:</text> |
| | | <text :style="{fontSize:content.size,color:content.colorvalue}">{{content.value}}</text> |
| | | </view> |
| | | </view> |
| | | <view v-else-if="item.kind == 3" class="kind kind_three breathe-blue" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background+')'}"> |
| | | <view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colorvalue}">{{item.content[0].value}}</view> |
| | | <view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colortext}">{{item.content[1].text}}</view> |
| | | <view class="three_3 view_100"> |
| | | <view v-for="(j,i) in 2" :key="i"> |
| | | <text :style="{fontSize:item.content[i+2].size,color:item.content[i+2].colortext}">{{item.content[i+2].text}}:</text> |
| | | <text :style="{fontSize:item.content[i+2].size,color:item.content[i+2].colorvalue}">{{item.content[i+2].value}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view v-else-if="item.kind == 4" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_four','breathe-blue']" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')',marginRight:(index+1)%3==0?'0rpx':'40rpx'}"> |
| | | <view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colortext}">{{item.content[0].text}}</view> |
| | | <view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colorvalue}">{{item.content[1].value}}</view> |
| | | <view class="four_3" :style="{fontSize:item.content[2].size,color:item.content[2].colorvalue}"> |
| | | <text :style="{fontSize:item.content[3].size,color:item.content[3].colorvalue}">{{item.content[2].text}}</text> |
| | | <li v-if="item.content[3].text == 'up'" class="iconfont icon-up icon li_1" :style="{color:item.content[3].colortext}"></li> |
| | | <li v-else class="iconfont icon-down icon li_1" :style="{color:item.content[3].colortext}"></li> |
| | | <text :style="{fontSize:item.content[3].size,color:item.content[3].colorvalue}">{{item.content[3].value}}</text> |
| | | </view> |
| | | </view> |
| | | <view v-else-if="item.kind == 5" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_five','breathe-red']" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')',marginRight:(index+1)%3==0?'0rpx':'40rpx'}"> |
| | | <view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colortext}">{{item.content[0].text}}</view> |
| | | <view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colorvalue}">{{item.content[1].value}}</view> |
| | | <view class="five_3 view_100"> |
| | | <view v-for="(j,i) in 2" :key="i"> |
| | | <text :style="{fontSize:item.content[j+2].size,color:item.content[j+2].colortext}">{{item.content[j+2].text}}</text> |
| | | <text :style="{fontSize:item.content[j+2].size,color:item.content[j+2].colorvalue}">{{item.content[j+2].value}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="five_4"> |
| | | <text :style="{fontSize:item.content[4].size,color:item.content[4].colortext}">{{item.content[4].text}}</text> |
| | | <text :style="{fontSize:item.content[4].size,color:item.content[4].colorvalue}">{{item.content[4].value}}</text> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props:{ |
| | | content: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | }, |
| | | mounted() { |
| | | uni.onWindowResize((res) => { |
| | | console.log('åååççªå£å®½åº¦=' + res.size.windowWidth) |
| | | console.log('åååççªå£é«åº¦=' + res.size.windowHeight) |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .text_block{ |
| | | display: flex; |
| | | width: 100%; |
| | | flex-wrap: wrap; |
| | | .marginRight{ |
| | | margin-right: 36rpx!important; |
| | | } |
| | | .view_100{ |
| | | width: 100%; |
| | | } |
| | | .CPT_DYBG { |
| | | overflow: hidden; |
| | | position: relative; |
| | | } |
| | | .kind{ |
| | | width: 24%; |
| | | padding: 10rpx; |
| | | margin-bottom: 40rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | flex-wrap: wrap; |
| | | border-radius: 16rpx; |
| | | margin-left: 16rpx; |
| | | box-shadow: -4px 4px 4px #ccc; |
| | | position: relative; |
| | | } |
| | | .kind_one{ |
| | | border-radius: 10rpx; |
| | | } |
| | | .kind_two{ |
| | | border-radius: 10rpx; |
| | | } |
| | | .kind_three{ |
| | | border-radius: 16rpx; |
| | | width: 300rpx; |
| | | margin: 0 auto; |
| | | .three_3{ |
| | | display: flex; |
| | | justify-content: space-around; |
| | | } |
| | | } |
| | | .kind_four{ |
| | | border-radius: 10rpx; |
| | | .four_3{ |
| | | display: flex; |
| | | .li_1 { |
| | | list-style-type:none; |
| | | } |
| | | .icon{ |
| | | margin-top: -8rpx; |
| | | transform: scale(0.8); |
| | | } |
| | | } |
| | | } |
| | | .kind_five{ |
| | | border-radius: 20rpx; |
| | | .five_3{ |
| | | view{ |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // .breathe-blue { |
| | | // position:relative; |
| | | // color:#fff; |
| | | // text-align:center; |
| | | // cursor:pointer; |
| | | // box-shadow:0 1px 2px rgba(0,0,0,.3); |
| | | // overflow:hidden; |
| | | // -webkit-animation-timing-function:ease-in-out; |
| | | // -webkit-animation-name:breatheblue; |
| | | // -webkit-animation-duration:2000ms; |
| | | // -webkit-animation-iteration-count:infinite; |
| | | // -webkit-animation-direction:alternate; |
| | | // } |
| | | // @keyframes breatheblue { |
| | | // 0% { |
| | | // opacity:.8; |
| | | // box-shadow:0 1px 2px rgba(62,178,245,0.5); |
| | | // } |
| | | // 100% { |
| | | // opacity:1; |
| | | // box-shadow:0 1px 30px rgba(147,116,247,0.6); |
| | | // } |
| | | // } |
| | | // .breathe-red { |
| | | // position:relative; |
| | | // color:#fff; |
| | | // text-align:center; |
| | | // cursor:pointer; |
| | | // box-shadow:0 1px 2px rgba(0,0,0,.3); |
| | | // overflow:hidden; |
| | | // -webkit-animation-timing-function:ease-in-out; |
| | | // -webkit-animation-name:breathered; |
| | | // -webkit-animation-duration:2000ms; |
| | | // -webkit-animation-iteration-count:infinite; |
| | | // -webkit-animation-direction:alternate; |
| | | // } |
| | | // @keyframes breathered { |
| | | // 0% { |
| | | // opacity:.8; |
| | | // box-shadow:0 1px 2px rgba(247,126,137,0.5); |
| | | // } |
| | | // 100% { |
| | | // opacity:1; |
| | | // box-shadow:0 1px 30px rgba(247,149,59,0.9); |
| | | // } |
| | | // } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * @1900-2100åºé´å
çå
¬åãååäºè½¬ |
| | | * @charset UTF-8 |
| | | * @github https://github.com/jjonline/calendar.js |
| | | * @Author Jeaæ¨(JJonline@JJonline.Cn) |
| | | * @Time 2014-7-21 |
| | | * @Time 2016-8-13 Fixed 2033hexãAttribution Annals |
| | | * @Time 2016-9-25 Fixed lunar LeapMonth Param Bug |
| | | * @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year |
| | | * @Version 1.0.3 |
| | | * @å
¬å转ååï¼calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] |
| | | * @åå转å
¬åï¼calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] |
| | | */ |
| | | /* eslint-disable */ |
| | | var calendar = { |
| | | |
| | | /** |
| | | * åå1900-2100çæ¶¦å¤§å°ä¿¡æ¯è¡¨ |
| | | * @Array Of Property |
| | | * @return Hex |
| | | */ |
| | | lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909 |
| | | 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919 |
| | | 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929 |
| | | 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939 |
| | | 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949 |
| | | 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959 |
| | | 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969 |
| | | 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979 |
| | | 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989 |
| | | 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999 |
| | | 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009 |
| | | 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019 |
| | | 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029 |
| | | 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039 |
| | | 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049 |
| | | /** Add By JJonline@JJonline.Cn**/ |
| | | 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059 |
| | | 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069 |
| | | 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079 |
| | | 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089 |
| | | 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099 |
| | | 0x0d520], // 2100 |
| | | |
| | | /** |
| | | * å
¬åæ¯ä¸ªæä»½çå¤©æ°æ®é表 |
| | | * @Array Of Property |
| | | * @return Number |
| | | */ |
| | | solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], |
| | | |
| | | /** |
| | | * 天干尿¯ä¹å¤©å¹²éæ¥è¡¨ |
| | | * @Array Of Property trans["ç²","ä¹","ä¸","ä¸","æ","å·±","åº","è¾","壬","ç¸"] |
| | | * @return Cn string |
| | | */ |
| | | Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'], |
| | | |
| | | /** |
| | | * 天干尿¯ä¹å°æ¯éæ¥è¡¨ |
| | | * @Array Of Property |
| | | * @trans["å","ä¸","å¯
","å¯","è¾°","å·³","å","æª","ç³","é
","æ","亥"] |
| | | * @return Cn string |
| | | */ |
| | | Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'], |
| | | |
| | | /** |
| | | * 天干尿¯ä¹å°æ¯éæ¥è¡¨<=>çè |
| | | * @Array Of Property |
| | | * @trans["é¼ ","ç","è","å
","é¾","è","马","ç¾","ç´","鸡","ç","çª"] |
| | | * @return Cn string |
| | | */ |
| | | Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'], |
| | | |
| | | /** |
| | | * 24èæ°éæ¥è¡¨ |
| | | * @Array Of Property |
| | | * @trans["å°å¯","大å¯","ç«æ¥","鍿°´","æè°","æ¥å","æ¸
æ","è°·é¨","ç«å¤","å°æ»¡","èç§","å¤è³","å°æ","大æ","ç«ç§","夿","ç½é²","ç§å","å¯é²","éé","ç«å¬","å°éª","大éª","å¬è³"] |
| | | * @return Cn string |
| | | */ |
| | | solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'], |
| | | |
| | | /** |
| | | * 1900-2100åå¹´ç24èæ°æ¥æéæ¥è¡¨ |
| | | * @Array Of Property |
| | | * @return 0x string For splice |
| | | */ |
| | | sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', |
| | | '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', |
| | | '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', |
| | | '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', |
| | | 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', |
| | | '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', |
| | | '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', |
| | | '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', |
| | | '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', |
| | | '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', |
| | | '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', |
| | | '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', |
| | | '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', |
| | | '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', |
| | | '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', |
| | | '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', |
| | | '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', |
| | | '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', |
| | | '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', |
| | | '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', |
| | | '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', |
| | | '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', |
| | | '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', |
| | | '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', |
| | | '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', |
| | | '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', |
| | | '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', |
| | | '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', |
| | | '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', |
| | | '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', |
| | | '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', |
| | | '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', |
| | | '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', |
| | | '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', |
| | | '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', |
| | | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', |
| | | '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', |
| | | '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', |
| | | '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', |
| | | '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', |
| | | '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', |
| | | '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', |
| | | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', |
| | | '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', |
| | | '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', |
| | | '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', |
| | | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', |
| | | '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', |
| | | '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', |
| | | '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', |
| | | '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', |
| | | '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', |
| | | '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', |
| | | '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', |
| | | '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', |
| | | '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', |
| | | '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', |
| | | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', |
| | | '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', |
| | | '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', |
| | | '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', |
| | | '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', |
| | | '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', |
| | | '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', |
| | | '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', |
| | | '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', |
| | | '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'], |
| | | |
| | | /** |
| | | * æ°åè½¬ä¸æéæ¥è¡¨ |
| | | * @Array Of Property |
| | | * @trans ['æ¥','ä¸','äº','ä¸','å','äº','å
','ä¸','å
«','ä¹','å'] |
| | | * @return Cn string |
| | | */ |
| | | nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'], |
| | | |
| | | /** |
| | | * æ¥æè½¬ååç§°å¼éæ¥è¡¨ |
| | | * @Array Of Property |
| | | * @trans ['å','å','廿','å
'] |
| | | * @return Cn string |
| | | */ |
| | | nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'], |
| | | |
| | | /** |
| | | * æä»½è½¬ååç§°å¼éæ¥è¡¨ |
| | | * @Array Of Property |
| | | * @trans ['æ£','ä¸','äº','ä¸','å','äº','å
','ä¸','å
«','ä¹','å','å¬','è
'] |
| | | * @return Cn string |
| | | */ |
| | | nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'], |
| | | |
| | | /** |
| | | * è¿åååy年䏿´å¹´çæ»å¤©æ° |
| | | * @param lunar Year |
| | | * @return Number |
| | | * @eg:var count = calendar.lYearDays(1987) ;//count=387 |
| | | */ |
| | | lYearDays: function (y) { |
| | | var i; |
| | | var sum = 348 |
| | | for (i = 0x8000; i > 0x8; i >>= 1) { |
| | | sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 |
| | | } |
| | | return (sum + this.leapDays(y)) |
| | | }, |
| | | |
| | | /** |
| | | * è¿åååyå¹´é°ææ¯åªä¸ªæï¼è¥y年没æé°æ åè¿å0 |
| | | * @param lunar Year |
| | | * @return Number (0-12) |
| | | * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 |
| | | */ |
| | | leapMonth: function (y) { // é°åç¼ç \u95f0 |
| | | return (this.lunarInfo[y - 1900] & 0xf) |
| | | }, |
| | | |
| | | /** |
| | | * è¿åååyå¹´é°æçå¤©æ° è¥è¯¥å¹´æ²¡æé°æåè¿å0 |
| | | * @param lunar Year |
| | | * @return Number (0ã29ã30) |
| | | * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 |
| | | */ |
| | | leapDays: function (y) { |
| | | if (this.leapMonth(y)) { |
| | | return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29) |
| | | } |
| | | return (0) |
| | | }, |
| | | |
| | | /** |
| | | * è¿åååyå¹´mæï¼éé°æï¼çæ»å¤©æ°ï¼è®¡ç®mä¸ºé°ææ¶ç天æ°è¯·ä½¿ç¨leapDaysæ¹æ³ |
| | | * @param lunar Year |
| | | * @return Number (-1ã29ã30) |
| | | * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 |
| | | */ |
| | | monthDays: function (y, m) { |
| | | if (m > 12 || m < 1) { |
| | | return -1 |
| | | }// æä»½åæ°ä»1è³12ï¼åæ°é误è¿å-1 |
| | | return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29) |
| | | }, |
| | | |
| | | /** |
| | | * è¿åå
¬å(!)yå¹´mæçå¤©æ° |
| | | * @param solar Year |
| | | * @return Number (-1ã28ã29ã30ã31) |
| | | * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 |
| | | */ |
| | | solarDays: function (y, m) { |
| | | if (m > 12 || m < 1) { |
| | | return -1 |
| | | } // è¥åæ°é误 è¿å-1 |
| | | var ms = m - 1 |
| | | if (ms == 1) { // 2æä»½çé°å¹³è§å¾æµç®å确认è¿å28æ29 |
| | | return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28) |
| | | } else { |
| | | return (this.solarMonth[ms]) |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * åå年份转æ¢ä¸ºå¹²æ¯çºªå¹´ |
| | | * @param lYear ååå¹´çå¹´ä»½æ° |
| | | * @return Cn string |
| | | */ |
| | | toGanZhiYear: function (lYear) { |
| | | var ganKey = (lYear - 3) % 10 |
| | | var zhiKey = (lYear - 3) % 12 |
| | | if (ganKey == 0) ganKey = 10// 妿使°ä¸º0å为æåä¸ä¸ªå¤©å¹² |
| | | if (zhiKey == 0) zhiKey = 12// 妿使°ä¸º0å为æåä¸ä¸ªå°æ¯ |
| | | return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1] |
| | | }, |
| | | |
| | | /** |
| | | * å
¬åæãæ¥å¤ææå±æåº§ |
| | | * @param cMonth [description] |
| | | * @param cDay [description] |
| | | * @return Cn string |
| | | */ |
| | | toAstro: function (cMonth, cDay) { |
| | | var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf' |
| | | var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22] |
| | | return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座 |
| | | }, |
| | | |
| | | /** |
| | | * ä¼ å
¥offsetåç§»éè¿åå¹²æ¯ |
| | | * @param offset ç¸å¯¹ç²åçåç§»é |
| | | * @return Cn string |
| | | */ |
| | | toGanZhi: function (offset) { |
| | | return this.Gan[offset % 10] + this.Zhi[offset % 12] |
| | | }, |
| | | |
| | | /** |
| | | * ä¼ å
¥å
¬å(!)yå¹´è·å¾è¯¥å¹´ç¬¬nä¸ªèæ°çå
¬åæ¥æ |
| | | * @param yå
¬åå¹´(1900-2100)ï¼näºååèæ°ä¸ç第å ä¸ªèæ°(1~24)ï¼ä»n=1(å°å¯)ç®èµ· |
| | | * @return day Number |
| | | * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;æå³1987å¹´2æ4æ¥ç«æ¥ |
| | | */ |
| | | getTerm: function (y, n) { |
| | | if (y < 1900 || y > 2100) { |
| | | return -1 |
| | | } |
| | | if (n < 1 || n > 24) { |
| | | return -1 |
| | | } |
| | | var _table = this.sTermInfo[y - 1900] |
| | | var _info = [ |
| | | parseInt('0x' + _table.substr(0, 5)).toString(), |
| | | parseInt('0x' + _table.substr(5, 5)).toString(), |
| | | parseInt('0x' + _table.substr(10, 5)).toString(), |
| | | parseInt('0x' + _table.substr(15, 5)).toString(), |
| | | parseInt('0x' + _table.substr(20, 5)).toString(), |
| | | parseInt('0x' + _table.substr(25, 5)).toString() |
| | | ] |
| | | var _calday = [ |
| | | _info[0].substr(0, 1), |
| | | _info[0].substr(1, 2), |
| | | _info[0].substr(3, 1), |
| | | _info[0].substr(4, 2), |
| | | |
| | | _info[1].substr(0, 1), |
| | | _info[1].substr(1, 2), |
| | | _info[1].substr(3, 1), |
| | | _info[1].substr(4, 2), |
| | | |
| | | _info[2].substr(0, 1), |
| | | _info[2].substr(1, 2), |
| | | _info[2].substr(3, 1), |
| | | _info[2].substr(4, 2), |
| | | |
| | | _info[3].substr(0, 1), |
| | | _info[3].substr(1, 2), |
| | | _info[3].substr(3, 1), |
| | | _info[3].substr(4, 2), |
| | | |
| | | _info[4].substr(0, 1), |
| | | _info[4].substr(1, 2), |
| | | _info[4].substr(3, 1), |
| | | _info[4].substr(4, 2), |
| | | |
| | | _info[5].substr(0, 1), |
| | | _info[5].substr(1, 2), |
| | | _info[5].substr(3, 1), |
| | | _info[5].substr(4, 2) |
| | | ] |
| | | return parseInt(_calday[n - 1]) |
| | | }, |
| | | |
| | | /** |
| | | * ä¼ å
¥ååæ°åæä»½è¿åæ±è¯éä¿è¡¨ç¤ºæ³ |
| | | * @param lunar month |
| | | * @return Cn string |
| | | * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='è
æ' |
| | | */ |
| | | toChinaMonth: function (m) { // æ => \u6708 |
| | | if (m > 12 || m < 1) { |
| | | return -1 |
| | | } // è¥åæ°é误 è¿å-1 |
| | | var s = this.nStr3[m - 1] |
| | | s += '\u6708'// å 䏿å |
| | | return s |
| | | }, |
| | | |
| | | /** |
| | | * ä¼ å
¥ååæ¥ææ°åè¿åæ±åè¡¨ç¤ºæ³ |
| | | * @param lunar day |
| | | * @return Cn string |
| | | * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿ä¸' |
| | | */ |
| | | toChinaDay: function (d) { // æ¥ => \u65e5 |
| | | var s |
| | | switch (d) { |
| | | case 10: |
| | | s = '\u521d\u5341'; |
| | | break |
| | | case 20: |
| | | s = '\u4e8c\u5341'; |
| | | break |
| | | break |
| | | case 30: |
| | | s = '\u4e09\u5341'; |
| | | break |
| | | break |
| | | default : |
| | | s = this.nStr2[Math.floor(d / 10)] |
| | | s += this.nStr1[d % 10] |
| | | } |
| | | return (s) |
| | | }, |
| | | |
| | | /** |
| | | * 年份转çè[!ä»
è½å¤§è´è½¬æ¢] => 精确ååçèåç线æ¯âç«æ¥â |
| | | * @param y year |
| | | * @return Cn string |
| | | * @eg:var animal = calendar.getAnimal(1987) ;//animal='å
' |
| | | */ |
| | | getAnimal: function (y) { |
| | | return this.Animals[(y - 4) % 12] |
| | | }, |
| | | |
| | | /** |
| | | * ä¼ å
¥é³åå¹´ææ¥è·å¾è¯¦ç»çå
¬åãååobjectä¿¡æ¯ <=>JSON |
| | | * @param y solar year |
| | | * @param m solar month |
| | | * @param d solar day |
| | | * @return JSON object |
| | | * @eg:console.log(calendar.solar2lunar(1987,11,01)); |
| | | */ |
| | | solar2lunar: function (y, m, d) { // åæ°åºé´1900.1.31~2100.12.31 |
| | | // 年份éå®ãä¸é |
| | | if (y < 1900 || y > 2100) { |
| | | return -1// undefined转æ¢ä¸ºæ°åå为NaN |
| | | } |
| | | // å
¬åä¼ åæä¸é |
| | | if (y == 1900 && m == 1 && d < 31) { |
| | | return -1 |
| | | } |
| | | // æªä¼ å è·å¾å½å¤© |
| | | if (!y) { |
| | | var objDate = new Date() |
| | | } else { |
| | | var objDate = new Date(y, parseInt(m) - 1, d) |
| | | } |
| | | var i; |
| | | var leap = 0; |
| | | var temp = 0 |
| | | // ä¿®æ£ymdåæ° |
| | | var y = objDate.getFullYear() |
| | | var m = objDate.getMonth() + 1 |
| | | var d = objDate.getDate() |
| | | var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000 |
| | | for (i = 1900; i < 2101 && offset > 0; i++) { |
| | | temp = this.lYearDays(i) |
| | | offset -= temp |
| | | } |
| | | if (offset < 0) { |
| | | offset += temp; |
| | | i-- |
| | | } |
| | | |
| | | // æ¯å¦ä»å¤© |
| | | var isTodayObj = new Date() |
| | | var isToday = false |
| | | if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) { |
| | | isToday = true |
| | | } |
| | | // ææå |
| | | var nWeek = objDate.getDay() |
| | | var cWeek = this.nStr1[nWeek] |
| | | // æ°å表示å¨å 顺åºå¤©æå¨ä¸å¼å§çæ¯ä¾ |
| | | if (nWeek == 0) { |
| | | nWeek = 7 |
| | | } |
| | | // ååå¹´ |
| | | var year = i |
| | | var leap = this.leapMonth(i) // é°åªä¸ªæ |
| | | var isLeap = false |
| | | |
| | | // æéªé°æ |
| | | for (i = 1; i < 13 && offset > 0; i++) { |
| | | // é°æ |
| | | if (leap > 0 && i == (leap + 1) && isLeap == false) { |
| | | --i |
| | | isLeap = true; |
| | | temp = this.leapDays(year) // 计ç®ååé°æå¤©æ° |
| | | } else { |
| | | temp = this.monthDays(year, i)// 计ç®ååæ®éæå¤©æ° |
| | | } |
| | | // è§£é¤é°æ |
| | | if (isLeap == true && i == (leap + 1)) { |
| | | isLeap = false |
| | | } |
| | | offset -= temp |
| | | } |
| | | // é°æå¯¼è´æ°ç»ä¸æ éå åå |
| | | if (offset == 0 && leap > 0 && i == leap + 1) { |
| | | if (isLeap) { |
| | | isLeap = false |
| | | } else { |
| | | isLeap = true; |
| | | --i |
| | | } |
| | | } |
| | | if (offset < 0) { |
| | | offset += temp; |
| | | --i |
| | | } |
| | | // ååæ |
| | | var month = i |
| | | // å忥 |
| | | var day = offset + 1 |
| | | // 天干尿¯å¤ç |
| | | var sm = m - 1 |
| | | var gzY = this.toGanZhiYear(year) |
| | | |
| | | // 彿çä¸¤ä¸ªèæ° |
| | | // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` |
| | | var firstNode = this.getTerm(y, (m * 2 - 1))// è¿å彿ãèãä¸ºå æ¥å¼å§ |
| | | var secondNode = this.getTerm(y, (m * 2))// è¿å彿ãèãä¸ºå æ¥å¼å§ |
| | | |
| | | // 便®12èæ°ä¿®æ£å¹²æ¯æ |
| | | var gzM = this.toGanZhi((y - 1900) * 12 + m + 11) |
| | | if (d >= firstNode) { |
| | | gzM = this.toGanZhi((y - 1900) * 12 + m + 12) |
| | | } |
| | | |
| | | // ä¼ å
¥çæ¥æçèæ°ä¸å¦ |
| | | var isTerm = false |
| | | var Term = null |
| | | if (firstNode == d) { |
| | | isTerm = true |
| | | Term = this.solarTerm[m * 2 - 2] |
| | | } |
| | | if (secondNode == d) { |
| | | isTerm = true |
| | | Term = this.solarTerm[m * 2 - 1] |
| | | } |
| | | // æ¥æ± 彿䏿¥ä¸ 1900/1/1 ç¸å·®å¤©æ° |
| | | var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10 |
| | | var gzD = this.toGanZhi(dayCyclical + d - 1) |
| | | // è¯¥æ¥ææå±çæåº§ |
| | | var astro = this.toAstro(m, d) |
| | | |
| | | return { |
| | | 'lYear': year, |
| | | 'lMonth': month, |
| | | 'lDay': day, |
| | | 'Animal': this.getAnimal(year), |
| | | 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), |
| | | 'IDayCn': this.toChinaDay(day), |
| | | 'cYear': y, |
| | | 'cMonth': m, |
| | | 'cDay': d, |
| | | 'gzYear': gzY, |
| | | 'gzMonth': gzM, |
| | | 'gzDay': gzD, |
| | | 'isToday': isToday, |
| | | 'isLeap': isLeap, |
| | | 'nWeek': nWeek, |
| | | 'ncWeek': '\u661f\u671f' + cWeek, |
| | | 'isTerm': isTerm, |
| | | 'Term': Term, |
| | | 'astro': astro |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * ä¼ å
¥ååå¹´ææ¥ä»¥åä¼ å
¥çæä»½æ¯å¦é°æè·å¾è¯¦ç»çå
¬åãååobjectä¿¡æ¯ <=>JSON |
| | | * @param y lunar year |
| | | * @param m lunar month |
| | | * @param d lunar day |
| | | * @param isLeapMonth lunar month is leap or not.[妿æ¯ååé°æç¬¬åä¸ªåæ°èµå¼trueå³å¯] |
| | | * @return JSON object |
| | | * @eg:console.log(calendar.lunar2solar(1987,9,10)); |
| | | */ |
| | | lunar2solar: function (y, m, d, isLeapMonth) { // åæ°åºé´1900.1.31~2100.12.1 |
| | | var isLeapMonth = !!isLeapMonth |
| | | var leapOffset = 0 |
| | | var leapMonth = this.leapMonth(y) |
| | | var leapDay = this.leapDays(y) |
| | | if (isLeapMonth && (leapMonth != m)) { |
| | | return -1 |
| | | }// ä¼ åè¦æ±è®¡ç®è¯¥é°æå
¬å ä½è¯¥å¹´å¾åºçé°æä¸ä¼ åçæä»½å¹¶ä¸å |
| | | if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { |
| | | return -1 |
| | | }// è¶
åºäºæå¤§æéå¼ |
| | | var day = this.monthDays(y, m) |
| | | var _day = day |
| | | // bugFix 2016-9-25 |
| | | // if month is leap, _day use leapDays method |
| | | if (isLeapMonth) { |
| | | _day = this.leapDays(y, m) |
| | | } |
| | | if (y < 1900 || y > 2100 || d > _day) { |
| | | return -1 |
| | | }// åæ°åæ³æ§æéª |
| | | |
| | | // 计ç®ååçæ¶é´å·® |
| | | var offset = 0 |
| | | for (var i = 1900; i < y; i++) { |
| | | offset += this.lYearDays(i) |
| | | } |
| | | var leap = 0; |
| | | var isAdd = false |
| | | for (var i = 1; i < m; i++) { |
| | | leap = this.leapMonth(y) |
| | | if (!isAdd) { // å¤çé°æ |
| | | if (leap <= i && leap > 0) { |
| | | offset += this.leapDays(y); |
| | | isAdd = true |
| | | } |
| | | } |
| | | offset += this.monthDays(y, i) |
| | | } |
| | | // 转æ¢é°æåå éè¡¥å
è¯¥å¹´é°æçåä¸ä¸ªæçæ¶å·® |
| | | if (isLeapMonth) { |
| | | offset += day |
| | | } |
| | | // 1900å¹´å忣æä¸æ¥çå
¬åæ¶é´ä¸º1900å¹´1æ30æ¥0æ¶0å0ç§(该æ¶é´ä¹æ¯æ¬ååçæå¼å§èµ·å§ç¹) |
| | | var stmap = Date.UTC(1900, 1, 30, 0, 0, 0) |
| | | var calObj = new Date((offset + d - 31) * 86400000 + stmap) |
| | | var cY = calObj.getUTCFullYear() |
| | | var cM = calObj.getUTCMonth() + 1 |
| | | var cD = calObj.getUTCDate() |
| | | |
| | | return this.solar2lunar(cY, cM, cD) |
| | | } |
| | | } |
| | | |
| | | export default calendar |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="uni-calendar-item__weeks-box" :class="{ |
| | | 'uni-calendar-item--disable':weeks.disable, |
| | | 'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay, |
| | | 'uni-calendar-item--checked':(calendar.fullDate === weeks.fullDate && !weeks.isDay) , |
| | | 'uni-calendar-item--before-checked':weeks.beforeMultiple, |
| | | 'uni-calendar-item--multiple': weeks.multiple, |
| | | 'uni-calendar-item--after-checked':weeks.afterMultiple, |
| | | }" |
| | | @click="choiceDate(weeks)"> |
| | | <view class="uni-calendar-item__weeks-box-item"> |
| | | <text v-if="selected&&weeks.extraInfo" class="uni-calendar-item__weeks-box-circle"></text> |
| | | <text class="uni-calendar-item__weeks-box-text" :class="{ |
| | | 'uni-calendar-item--isDay-text': weeks.isDay, |
| | | 'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay, |
| | | 'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay, |
| | | 'uni-calendar-item--before-checked':weeks.beforeMultiple, |
| | | 'uni-calendar-item--multiple': weeks.multiple, |
| | | 'uni-calendar-item--after-checked':weeks.afterMultiple, |
| | | 'uni-calendar-item--disable':weeks.disable, |
| | | }">{{weeks.date}}</text> |
| | | <text v-if="!lunar&&!weeks.extraInfo && weeks.isDay" class="uni-calendar-item__weeks-lunar-text" :class="{ |
| | | 'uni-calendar-item--isDay-text':weeks.isDay, |
| | | 'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay, |
| | | 'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay, |
| | | 'uni-calendar-item--before-checked':weeks.beforeMultiple, |
| | | 'uni-calendar-item--multiple': weeks.multiple, |
| | | 'uni-calendar-item--after-checked':weeks.afterMultiple, |
| | | }">ä»å¤©</text> |
| | | <text v-if="lunar&&!weeks.extraInfo" class="uni-calendar-item__weeks-lunar-text" :class="{ |
| | | 'uni-calendar-item--isDay-text':weeks.isDay, |
| | | 'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay, |
| | | 'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay, |
| | | 'uni-calendar-item--before-checked':weeks.beforeMultiple, |
| | | 'uni-calendar-item--multiple': weeks.multiple, |
| | | 'uni-calendar-item--after-checked':weeks.afterMultiple, |
| | | 'uni-calendar-item--disable':weeks.disable, |
| | | }">{{weeks.isDay?'ä»å¤©': (weeks.lunar.IDayCn === 'åä¸'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn)}}</text> |
| | | <text v-if="weeks.extraInfo&&weeks.extraInfo.info" class="uni-calendar-item__weeks-lunar-text" :class="{ |
| | | 'uni-calendar-item--extra':weeks.extraInfo.info, |
| | | 'uni-calendar-item--isDay-text':weeks.isDay, |
| | | 'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay, |
| | | 'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay, |
| | | 'uni-calendar-item--before-checked':weeks.beforeMultiple, |
| | | 'uni-calendar-item--multiple': weeks.multiple, |
| | | 'uni-calendar-item--after-checked':weeks.afterMultiple, |
| | | 'uni-calendar-item--disable':weeks.disable, |
| | | }">{{weeks.extraInfo.info}}</text> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | weeks: { |
| | | type: Object, |
| | | default () { |
| | | return {} |
| | | } |
| | | }, |
| | | calendar: { |
| | | type: Object, |
| | | default: () => { |
| | | return {} |
| | | } |
| | | }, |
| | | selected: { |
| | | type: Array, |
| | | default: () => { |
| | | return [] |
| | | } |
| | | }, |
| | | lunar: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | methods: { |
| | | choiceDate(weeks) { |
| | | this.$emit('change', weeks) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .uni-calendar-item__weeks-box { |
| | | flex: 1; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .uni-calendar-item__weeks-box-text { |
| | | font-size: $uni-font-size-base; |
| | | color: $uni-text-color; |
| | | } |
| | | |
| | | .uni-calendar-item__weeks-lunar-text { |
| | | font-size: $uni-font-size-sm; |
| | | color: $uni-text-color; |
| | | } |
| | | |
| | | .uni-calendar-item__weeks-box-item { |
| | | position: relative; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | width: 100rpx; |
| | | height: 100rpx; |
| | | } |
| | | |
| | | .uni-calendar-item__weeks-box-circle { |
| | | position: absolute; |
| | | top: 5px; |
| | | right: 5px; |
| | | width: 8px; |
| | | height: 8px; |
| | | border-radius: 8px; |
| | | background-color: $uni-color-error; |
| | | |
| | | } |
| | | |
| | | .uni-calendar-item--disable { |
| | | background-color: rgba(249, 249, 249, $uni-opacity-disabled); |
| | | color: $uni-text-color-disable; |
| | | } |
| | | |
| | | .uni-calendar-item--isDay-text { |
| | | color: $uni-color-primary; |
| | | } |
| | | |
| | | .uni-calendar-item--isDay { |
| | | background-color: $uni-color-primary; |
| | | opacity: 0.8; |
| | | color: #fff; |
| | | } |
| | | |
| | | .uni-calendar-item--extra { |
| | | color: $uni-color-error; |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .uni-calendar-item--checked { |
| | | background-color: $uni-color-primary; |
| | | color: #fff; |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .uni-calendar-item--multiple { |
| | | background-color: $uni-color-primary; |
| | | color: #fff; |
| | | opacity: 0.8; |
| | | } |
| | | .uni-calendar-item--before-checked { |
| | | background-color: #ff5a5f; |
| | | color: #fff; |
| | | } |
| | | .uni-calendar-item--after-checked { |
| | | background-color: #ff5a5f; |
| | | color: #fff; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="uni-calendar"> |
| | | <view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}" @click="clean"></view> |
| | | <view v-if="insert || show" class="uni-calendar__content" :class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow}"> |
| | | <view v-if="!insert" class="uni-calendar__header uni-calendar--fixed-top"> |
| | | <view class="uni-calendar__header-btn-box" @click="close"> |
| | | <text class="uni-calendar__header-text uni-calendar--fixed-width">åæ¶</text> |
| | | </view> |
| | | <view class="uni-calendar__header-btn-box" @click="confirm"> |
| | | <text class="uni-calendar__header-text uni-calendar--fixed-width">ç¡®å®</text> |
| | | </view> |
| | | </view> |
| | | <view class="uni-calendar__header"> |
| | | <view class="uni-calendar__header-btn-box" @click.stop="pre"> |
| | | <view class="uni-calendar__header-btn uni-calendar--left"></view> |
| | | </view> |
| | | <picker mode="date" :value="date" fields="month" @change="bindDateChange"> |
| | | <text class="uni-calendar__header-text">{{ (nowDate.year||'') +'å¹´'+( nowDate.month||'') +'æ'}}</text> |
| | | </picker> |
| | | <view class="uni-calendar__header-btn-box" @click.stop="next"> |
| | | <view class="uni-calendar__header-btn uni-calendar--right"></view> |
| | | </view> |
| | | <text class="uni-calendar__backtoday" @click="backtoday">åå°ä»å¤©</text> |
| | | |
| | | </view> |
| | | <view class="uni-calendar__box"> |
| | | <view v-if="showMonth" class="uni-calendar__box-bg"> |
| | | <text class="uni-calendar__box-bg-text">{{nowDate.month}}</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks"> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">æ¥</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">ä¸</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">äº</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">ä¸</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">å</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">äº</text> |
| | | </view> |
| | | <view class="uni-calendar__weeks-day"> |
| | | <text class="uni-calendar__weeks-day-text">å
</text> |
| | | </view> |
| | | </view> |
| | | <view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex"> |
| | | <view class="uni-calendar__weeks-item" v-for="(weeks,weeksIndex) in item" :key="weeksIndex"> |
| | | <calendar-item :weeks="weeks" :calendar="calendar" :selected="selected" :lunar="lunar" @change="choiceDate"></calendar-item> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import Calendar from './util.js'; |
| | | import calendarItem from './uni-calendar-item.vue' |
| | | /** |
| | | * Calendar æ¥å |
| | | * @description æ¥åç»ä»¶å¯ä»¥æ¥çæ¥æï¼éæ©ä»»æèå´å
çæ¥æï¼æç¹æä½ã常ç¨åºæ¯å¦ï¼é
åºæ¥æé¢è®¢ãç«è½¦æºç¥¨éæ©è´ä¹°æ¥æãä¸ä¸çæå¡ç |
| | | * @tutorial https://ext.dcloud.net.cn/plugin?id=56 |
| | | * @property {String} date èªå®ä¹å½åæ¶é´ï¼é»è®¤ä¸ºä»å¤© |
| | | * @property {Boolean} lunar æ¾ç¤ºåå |
| | | * @property {String} startDate æ¥æéæ©èå´-å¼å§æ¥æ |
| | | * @property {String} endDate æ¥æéæ©èå´-ç»ææ¥æ |
| | | * @property {Boolean} range èå´éæ© |
| | | * @property {Boolean} insert = [true|false] æå
¥æ¨¡å¼,é»è®¤ä¸ºfalse |
| | | * @value true å¼¹çªæ¨¡å¼ |
| | | * @value false æå
¥æ¨¡å¼ |
| | | * @property {Boolean} clearDate = [true|false] å¼¹çªæ¨¡å¼æ¯å¦æ¸
ç©ºä¸æ¬¡éæ©å
容 |
| | | * @property {Array} selected æç¹ï¼æå¾
æ ¼å¼[{date: '2019-06-27', info: 'ç¾å°', data: { custom: 'èªå®ä¹ä¿¡æ¯', name: 'èªå®ä¹æ¶æ¯å¤´',xxx:xxx... }}] |
| | | * @property {Boolean} showMonth æ¯å¦éæ©æä»½ä¸ºèæ¯ |
| | | * @event {Function} change æ¥ææ¹åï¼`insert :ture` æ¶çæ |
| | | * @event {Function} confirm ç¡®è®¤éæ©`insert :false` æ¶çæ |
| | | * @event {Function} monthSwitch 忢æä»½æ¶è§¦å |
| | | * @example <uni-calendar :insert="true":lunar="true" :start-date="'2019-3-2'":end-date="'2019-5-20'"@change="change" /> |
| | | */ |
| | | export default { |
| | | components: { |
| | | calendarItem |
| | | }, |
| | | props: { |
| | | date: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | selected: { |
| | | type: Array, |
| | | default () { |
| | | return [] |
| | | } |
| | | }, |
| | | lunar: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | startDate: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | endDate: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | range: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | insert: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | showMonth: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | clearDate: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | show: false, |
| | | weeks: [], |
| | | calendar: {}, |
| | | nowDate: '', |
| | | aniMaskShow: false |
| | | } |
| | | }, |
| | | watch: { |
| | | date(newVal) { |
| | | this.cale.setDate(newVal) |
| | | this.init(this.cale.selectDate.fullDate) |
| | | }, |
| | | startDate(val){ |
| | | this.cale.resetSatrtDate(val) |
| | | }, |
| | | endDate(val){ |
| | | this.cale.resetEndDate(val) |
| | | }, |
| | | selected(newVal) { |
| | | this.cale.setSelectInfo(this.nowDate.fullDate, newVal) |
| | | this.weeks = this.cale.weeks |
| | | } |
| | | }, |
| | | created() { |
| | | // è·åæ¥åæ¹æ³å®ä¾ |
| | | this.cale = new Calendar({ |
| | | // date: new Date(), |
| | | selected: this.selected, |
| | | startDate: this.startDate, |
| | | endDate: this.endDate, |
| | | range: this.range, |
| | | }) |
| | | // é䏿ä¸å¤© |
| | | this.cale.setDate(this.date) |
| | | this.init(this.cale.selectDate.fullDate) |
| | | // this.setDay |
| | | }, |
| | | methods: { |
| | | // åæ¶ç©¿é |
| | | clean() { |
| | | this.aniMaskShow = false |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | this.show = false |
| | | this.$emit('close') |
| | | }, 300) |
| | | }) |
| | | }, |
| | | bindDateChange(e) { |
| | | const value = e.detail.value + '-1' |
| | | this.cale.setDate(value) |
| | | this.init(value) |
| | | }, |
| | | /** |
| | | * åå§åæ¥ææ¾ç¤º |
| | | * @param {Object} date |
| | | */ |
| | | init(date) { |
| | | this.weeks = this.cale.weeks |
| | | this.nowDate = this.calendar = this.cale.getInfo(date) |
| | | }, |
| | | /** |
| | | * æå¼æ¥åå¼¹çª |
| | | */ |
| | | open() { |
| | | // å¼¹çªæ¨¡å¼å¹¶ä¸æ¸
çæ°æ® |
| | | if (this.clearDate && !this.insert) { |
| | | this.cale.cleanMultipleStatus() |
| | | this.cale.setDate(this.date) |
| | | this.init(this.cale.selectDate.fullDate) |
| | | } |
| | | this.show = true |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | this.aniMaskShow = true |
| | | }, 50) |
| | | }) |
| | | }, |
| | | /** |
| | | * å
³éæ¥åå¼¹çª |
| | | */ |
| | | close() { |
| | | this.aniMaskShow = false |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | this.show = false |
| | | this.$emit('close') |
| | | }, 300) |
| | | }) |
| | | }, |
| | | /** |
| | | * 确认æé® |
| | | */ |
| | | confirm() { |
| | | this.setEmit('confirm') |
| | | this.close() |
| | | }, |
| | | /** |
| | | * åå触å |
| | | */ |
| | | change() { |
| | | if (!this.insert) return |
| | | this.setEmit('change') |
| | | }, |
| | | /** |
| | | * éæ©æä»½è§¦å |
| | | */ |
| | | monthSwitch() { |
| | | let { |
| | | year, |
| | | month |
| | | } = this.nowDate |
| | | this.$emit('monthSwitch', { |
| | | year, |
| | | month: Number(month) |
| | | }) |
| | | }, |
| | | /** |
| | | * æ´¾åäºä»¶ |
| | | * @param {Object} name |
| | | */ |
| | | setEmit(name) { |
| | | let { |
| | | year, |
| | | month, |
| | | date, |
| | | fullDate, |
| | | lunar, |
| | | extraInfo |
| | | } = this.calendar |
| | | this.$emit(name, { |
| | | range: this.cale.multipleStatus, |
| | | year, |
| | | month, |
| | | date, |
| | | fulldate: fullDate, |
| | | lunar, |
| | | extraInfo: extraInfo || {} |
| | | }) |
| | | }, |
| | | /** |
| | | * éæ©å¤©è§¦å |
| | | * @param {Object} weeks |
| | | */ |
| | | choiceDate(weeks) { |
| | | if (weeks.disable) return |
| | | this.calendar = weeks |
| | | // 设置å¤é |
| | | this.cale.setMultiple(this.calendar.fullDate) |
| | | this.weeks = this.cale.weeks |
| | | this.change() |
| | | }, |
| | | /** |
| | | * åå°ä»å¤© |
| | | */ |
| | | backtoday() { |
| | | console.log(this.cale.getDate(new Date()).fullDate); |
| | | let date = this.cale.getDate(new Date()).fullDate |
| | | this.cale.setDate(date) |
| | | this.init(date) |
| | | this.change() |
| | | }, |
| | | /** |
| | | * ä¸ä¸ªæ |
| | | */ |
| | | pre() { |
| | | const preDate = this.cale.getDate(this.nowDate.fullDate, -1, 'month').fullDate |
| | | this.setDate(preDate) |
| | | this.monthSwitch() |
| | | |
| | | }, |
| | | /** |
| | | * ä¸ä¸ªæ |
| | | */ |
| | | next() { |
| | | const nextDate = this.cale.getDate(this.nowDate.fullDate, +1, 'month').fullDate |
| | | this.setDate(nextDate) |
| | | this.monthSwitch() |
| | | }, |
| | | /** |
| | | * è®¾ç½®æ¥æ |
| | | * @param {Object} date |
| | | */ |
| | | setDate(date) { |
| | | this.cale.setDate(date) |
| | | this.weeks = this.cale.weeks |
| | | this.nowDate = this.cale.getInfo(date) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .uni-calendar { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .uni-calendar__mask { |
| | | position: fixed; |
| | | bottom: 0; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | background-color: $uni-bg-color-mask; |
| | | transition-property: opacity; |
| | | transition-duration: 0.3s; |
| | | opacity: 0; |
| | | /* #ifndef APP-NVUE */ |
| | | z-index: 99; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .uni-calendar--mask-show { |
| | | opacity: 1 |
| | | } |
| | | |
| | | .uni-calendar--fixed { |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | transition-property: transform; |
| | | transition-duration: 0.3s; |
| | | transform: translateY(460px); |
| | | /* #ifndef APP-NVUE */ |
| | | z-index: 99; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .uni-calendar--ani-show { |
| | | transform: translateY(0); |
| | | } |
| | | |
| | | .uni-calendar__content { |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .uni-calendar__header { |
| | | position: relative; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 50px; |
| | | border-bottom-color: $uni-border-color; |
| | | border-bottom-style: solid; |
| | | border-bottom-width: 1px; |
| | | } |
| | | |
| | | .uni-calendar--fixed-top { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | border-top-color: $uni-border-color; |
| | | border-top-style: solid; |
| | | border-top-width: 1px; |
| | | } |
| | | |
| | | .uni-calendar--fixed-width { |
| | | width: 50px; |
| | | // padding: 0 15px; |
| | | } |
| | | |
| | | .uni-calendar__backtoday { |
| | | position: absolute; |
| | | right: 0; |
| | | top: 25rpx; |
| | | padding: 0 5px; |
| | | padding-left: 10px; |
| | | height: 25px; |
| | | line-height: 25px; |
| | | font-size: 12px; |
| | | border-top-left-radius: 25px; |
| | | border-bottom-left-radius: 25px; |
| | | color: $uni-text-color; |
| | | background-color: $uni-bg-color-hover; |
| | | } |
| | | |
| | | .uni-calendar__header-text { |
| | | text-align: center; |
| | | width: 100px; |
| | | font-size: $uni-font-size-base; |
| | | color: $uni-text-color; |
| | | } |
| | | |
| | | .uni-calendar__header-btn-box { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: center; |
| | | width: 50px; |
| | | height: 50px; |
| | | } |
| | | |
| | | .uni-calendar__header-btn { |
| | | width: 10px; |
| | | height: 10px; |
| | | border-left-color: $uni-text-color-placeholder; |
| | | border-left-style: solid; |
| | | border-left-width: 2px; |
| | | border-top-color: $uni-color-subtitle; |
| | | border-top-style: solid; |
| | | border-top-width: 2px; |
| | | } |
| | | |
| | | .uni-calendar--left { |
| | | transform: rotate(-45deg); |
| | | } |
| | | |
| | | .uni-calendar--right { |
| | | transform: rotate(135deg); |
| | | } |
| | | |
| | | |
| | | .uni-calendar__weeks { |
| | | position: relative; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | } |
| | | |
| | | .uni-calendar__weeks-item { |
| | | flex: 1; |
| | | } |
| | | |
| | | .uni-calendar__weeks-day { |
| | | flex: 1; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 45px; |
| | | border-bottom-color: #F5F5F5; |
| | | border-bottom-style: solid; |
| | | border-bottom-width: 1px; |
| | | } |
| | | |
| | | .uni-calendar__weeks-day-text { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .uni-calendar__box { |
| | | position: relative; |
| | | } |
| | | |
| | | .uni-calendar__box-bg { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | justify-content: center; |
| | | align-items: center; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | } |
| | | |
| | | .uni-calendar__box-bg-text { |
| | | font-size: 200px; |
| | | font-weight: bold; |
| | | color: $uni-text-color-grey; |
| | | opacity: 0.1; |
| | | text-align: center; |
| | | /* #ifndef APP-NVUE */ |
| | | line-height: 1; |
| | | /* #endif */ |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import CALENDAR from './calendar.js' |
| | | |
| | | class Calendar { |
| | | constructor({ |
| | | date, |
| | | selected, |
| | | startDate, |
| | | endDate, |
| | | range |
| | | } = {}) { |
| | | // å½åæ¥æ |
| | | this.date = this.getDate(new Date()) // å½ååå
¥æ¥æ |
| | | // æç¹ä¿¡æ¯ |
| | | this.selected = selected || []; |
| | | // èå´å¼å§ |
| | | this.startDate = startDate |
| | | // èå´ç»æ |
| | | this.endDate = endDate |
| | | this.range = range |
| | | // å¤éç¶æ |
| | | this.cleanMultipleStatus() |
| | | // æ¯å¨æ¥æ |
| | | this.weeks = {} |
| | | // this._getWeek(this.date.fullDate) |
| | | } |
| | | |
| | | /** |
| | | * è®¾ç½®æ¥æ |
| | | * @param {Object} date |
| | | */ |
| | | setDate(date) { |
| | | this.selectDate = this.getDate(date) |
| | | this._getWeek(this.selectDate.fullDate) |
| | | } |
| | | |
| | | /** |
| | | * æ¸
çå¤éç¶æ |
| | | */ |
| | | cleanMultipleStatus() { |
| | | this.multipleStatus = { |
| | | before: '', |
| | | after: '', |
| | | data: [] |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * éç½®å¼å§æ¥æ |
| | | */ |
| | | resetSatrtDate(startDate) { |
| | | // èå´å¼å§ |
| | | this.startDate = startDate |
| | | |
| | | } |
| | | |
| | | /** |
| | | * éç½®ç»ææ¥æ |
| | | */ |
| | | resetEndDate(endDate) { |
| | | // èå´ç»æ |
| | | this.endDate = endDate |
| | | } |
| | | |
| | | /** |
| | | * è·åä»»ææ¶é´ |
| | | */ |
| | | getDate(date, AddDayCount = 0, str = 'day') { |
| | | if (!date) { |
| | | date = new Date() |
| | | } |
| | | if (typeof date !== 'object') { |
| | | date = date.replace(/-/g, '/') |
| | | } |
| | | const dd = new Date(date) |
| | | switch (str) { |
| | | case 'day': |
| | | dd.setDate(dd.getDate() + AddDayCount) // è·åAddDayCount天åçæ¥æ |
| | | break |
| | | case 'month': |
| | | if (dd.getDate() === 31) { |
| | | dd.setDate(dd.getDate() + AddDayCount) |
| | | } else { |
| | | dd.setMonth(dd.getMonth() + AddDayCount) // è·åAddDayCount天åçæ¥æ |
| | | } |
| | | break |
| | | case 'year': |
| | | dd.setFullYear(dd.getFullYear() + AddDayCount) // è·åAddDayCount天åçæ¥æ |
| | | break |
| | | } |
| | | const y = dd.getFullYear() |
| | | const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // è·åå½åæä»½çæ¥æï¼ä¸è¶³10è¡¥0 |
| | | const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // è·åå½åå å·ï¼ä¸è¶³10è¡¥0 |
| | | return { |
| | | fullDate: y + '-' + m + '-' + d, |
| | | year: y, |
| | | month: m, |
| | | date: d, |
| | | day: dd.getDay() |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·å䏿å©ä½å¤©æ° |
| | | */ |
| | | _getLastMonthDays(firstDay, full) { |
| | | let dateArr = [] |
| | | for (let i = firstDay; i > 0; i--) { |
| | | const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate() |
| | | dateArr.push({ |
| | | date: beforeDate, |
| | | month: full.month - 1, |
| | | lunar: this.getlunar(full.year, full.month - 1, beforeDate), |
| | | disable: true |
| | | }) |
| | | } |
| | | return dateArr |
| | | } |
| | | |
| | | /** |
| | | * è·åæ¬æå¤©æ° |
| | | */ |
| | | _currentMonthDys(dateData, full) { |
| | | let dateArr = [] |
| | | let fullDate = this.date.fullDate |
| | | for (let i = 1; i <= dateData; i++) { |
| | | let isinfo = false |
| | | let nowDate = full.year + '-' + (full.month < 10 ? |
| | | full.month : full.month) + '-' + (i < 10 ? |
| | | '0' + i : i) |
| | | // æ¯å¦ä»å¤© |
| | | let isDay = fullDate === nowDate |
| | | // è·åæç¹ä¿¡æ¯ |
| | | let info = this.selected && this.selected.find((item) => { |
| | | if (this.dateEqual(nowDate, item.date)) { |
| | | return item |
| | | } |
| | | }) |
| | | |
| | | // æ¥æç¦ç¨ |
| | | let disableBefore = true |
| | | let disableAfter = true |
| | | if (this.startDate) { |
| | | let dateCompBefore = this.dateCompare(this.startDate, fullDate) |
| | | disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate) |
| | | } |
| | | |
| | | if (this.endDate) { |
| | | let dateCompAfter = this.dateCompare(fullDate, this.endDate) |
| | | disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate) |
| | | } |
| | | let multiples = this.multipleStatus.data |
| | | let checked = false |
| | | let multiplesStatus = -1 |
| | | if (this.range) { |
| | | if (multiples) { |
| | | multiplesStatus = multiples.findIndex((item) => { |
| | | return this.dateEqual(item, nowDate) |
| | | }) |
| | | } |
| | | if (multiplesStatus !== -1) { |
| | | checked = true |
| | | } |
| | | } |
| | | let data = { |
| | | fullDate: nowDate, |
| | | year: full.year, |
| | | date: i, |
| | | multiple: this.range ? checked : false, |
| | | beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate), |
| | | afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate), |
| | | month: full.month, |
| | | lunar: this.getlunar(full.year, full.month, i), |
| | | disable: !disableBefore || !disableAfter, |
| | | isDay |
| | | } |
| | | if (info) { |
| | | data.extraInfo = info |
| | | } |
| | | |
| | | dateArr.push(data) |
| | | } |
| | | return dateArr |
| | | } |
| | | |
| | | /** |
| | | * è·åä¸æå¤©æ° |
| | | */ |
| | | _getNextMonthDays(surplus, full) { |
| | | let dateArr = [] |
| | | for (let i = 1; i < surplus + 1; i++) { |
| | | dateArr.push({ |
| | | date: i, |
| | | month: Number(full.month) + 1, |
| | | lunar: this.getlunar(full.year, Number(full.month) + 1, i), |
| | | disable: true |
| | | }) |
| | | } |
| | | return dateArr |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åæ¥æè¯¦æ
|
| | | * @param {Object} date |
| | | */ |
| | | getInfo(date) { |
| | | if (!date) { |
| | | date = new Date() |
| | | } |
| | | const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate) |
| | | return dateInfo |
| | | } |
| | | |
| | | /** |
| | | * æ¯è¾æ¶é´å¤§å° |
| | | */ |
| | | dateCompare(startDate, endDate) { |
| | | // è®¡ç®æªæ¢æ¶é´ |
| | | startDate = new Date(startDate.replace('-', '/').replace('-', '/')) |
| | | // 计ç®è¯¦ç»é¡¹çæªæ¢æ¶é´ |
| | | endDate = new Date(endDate.replace('-', '/').replace('-', '/')) |
| | | if (startDate <= endDate) { |
| | | return true |
| | | } else { |
| | | return false |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ¯è¾æ¶é´æ¯å¦ç¸ç |
| | | */ |
| | | dateEqual(before, after) { |
| | | // è®¡ç®æªæ¢æ¶é´ |
| | | before = new Date(before.replace('-', '/').replace('-', '/')) |
| | | // 计ç®è¯¦ç»é¡¹çæªæ¢æ¶é´ |
| | | after = new Date(after.replace('-', '/').replace('-', '/')) |
| | | if (before.getTime() - after.getTime() === 0) { |
| | | return true |
| | | } else { |
| | | return false |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åæ¥æèå´å
æææ¥æ |
| | | * @param {Object} begin |
| | | * @param {Object} end |
| | | */ |
| | | geDateAll(begin, end) { |
| | | var arr = [] |
| | | var ab = begin.split('-') |
| | | var ae = end.split('-') |
| | | var db = new Date() |
| | | db.setFullYear(ab[0], ab[1] - 1, ab[2]) |
| | | var de = new Date() |
| | | de.setFullYear(ae[0], ae[1] - 1, ae[2]) |
| | | var unixDb = db.getTime() - 24 * 60 * 60 * 1000 |
| | | var unixDe = de.getTime() - 24 * 60 * 60 * 1000 |
| | | for (var k = unixDb; k <= unixDe;) { |
| | | k = k + 24 * 60 * 60 * 1000 |
| | | arr.push(this.getDate(new Date(parseInt(k))).fullDate) |
| | | } |
| | | return arr |
| | | } |
| | | |
| | | /** |
| | | * 计ç®é´åæ¥ææ¾ç¤º |
| | | */ |
| | | getlunar(year, month, date) { |
| | | return CALENDAR.solar2lunar(year, month, date) |
| | | } |
| | | |
| | | /** |
| | | * 设置æç¹ |
| | | */ |
| | | setSelectInfo(data, value) { |
| | | this.selected = value |
| | | this._getWeek(data) |
| | | } |
| | | |
| | | /** |
| | | * è·åå¤éç¶æ |
| | | */ |
| | | setMultiple(fullDate) { |
| | | let { |
| | | before, |
| | | after |
| | | } = this.multipleStatus |
| | | |
| | | if (!this.range) return |
| | | if (before && after) { |
| | | this.multipleStatus.before = '' |
| | | this.multipleStatus.after = '' |
| | | this.multipleStatus.data = [] |
| | | } else { |
| | | if (!before) { |
| | | this.multipleStatus.before = fullDate |
| | | } else { |
| | | this.multipleStatus.after = fullDate |
| | | if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { |
| | | this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after); |
| | | } else { |
| | | this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before); |
| | | } |
| | | } |
| | | } |
| | | this._getWeek(fullDate) |
| | | } |
| | | |
| | | /** |
| | | * è·åæ¯å¨æ°æ® |
| | | * @param {Object} dateData |
| | | */ |
| | | _getWeek(dateData) { |
| | | const { |
| | | fullDate, |
| | | year, |
| | | month, |
| | | date, |
| | | day |
| | | } = this.getDate(dateData) |
| | | let firstDay = new Date(year, month - 1, 1).getDay() |
| | | let currentDay = new Date(year, month, 0).getDate() |
| | | let dates = { |
| | | lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // ä¸ä¸ªææ«å°¾å 天 |
| | | currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // æ¬æå¤©æ° |
| | | nextMonthDays: [], // ä¸ä¸ªæå¼å§å 天 |
| | | weeks: [] |
| | | } |
| | | let canlender = [] |
| | | const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length) |
| | | dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData)) |
| | | canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays) |
| | | let weeks = {} |
| | | // æ¼æ¥æ°ç» ä¸ä¸ªæå¼å§å 天 + æ¬æå¤©æ°+ ä¸ä¸ªæå¼å§å 天 |
| | | for (let i = 0; i < canlender.length; i++) { |
| | | if (i % 7 === 0) { |
| | | weeks[parseInt(i / 7)] = new Array(7) |
| | | } |
| | | weeks[parseInt(i / 7)][i % 7] = canlender[i] |
| | | } |
| | | this.canlender = canlender |
| | | this.weeks = weeks |
| | | } |
| | | |
| | | //éææ¹æ³ |
| | | // static init(date) { |
| | | // if (!this.instance) { |
| | | // this.instance = new Calendar(date); |
| | | // } |
| | | // return this.instance; |
| | | // } |
| | | } |
| | | |
| | | |
| | | export default Calendar |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <scroll-view class="wuc-tab" :class="tabClass" :style="tabStyle" scroll-with-animation scroll-x :scroll-left="scrollLeft"> |
| | | <div v-if="!textFlex"> |
| | | <div class="wuc-tab-item" :class="[index === tabCur ? selectClass + ' cur':'']" v-for="(item,index) in tabList" :key="index" :id="index" @tap="tabSelect(index,$event)"> |
| | | <text :class="item.icon"></text> |
| | | <span>{{item.name}}</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="flex text-center" v-if="textFlex"> |
| | | <div class="wuc-tab-item flex-sub" :class="index === tabCur ? selectClass + ' cur':''" v-for="(item,index) in tabList" :key="index" :id="index" @tap="tabSelect(index,$event)"> |
| | | <text :class="item.icon"></text> |
| | | <span>{{item.name}}</span> |
| | | </div> |
| | | </div> |
| | | </scroll-view> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | name: 'wuc-tab', |
| | | data() { |
| | | return {}; |
| | | }, |
| | | props: { |
| | | tabList: { |
| | | type: Array, |
| | | default() { |
| | | return []; |
| | | } |
| | | }, |
| | | tabCur: { |
| | | type: Number, |
| | | default() { |
| | | return 0; |
| | | } |
| | | }, |
| | | tabClass: { |
| | | type: String, |
| | | default() { |
| | | return ''; |
| | | } |
| | | }, |
| | | tabStyle: { |
| | | type: String, |
| | | default() { |
| | | return ''; |
| | | } |
| | | }, |
| | | textFlex: { |
| | | type: Boolean, |
| | | default() { |
| | | return false; |
| | | } |
| | | }, |
| | | selectClass: { |
| | | type: String, |
| | | default() { |
| | | return 'text-blue'; |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | tabSelect(index, e) { |
| | | if (this.currentTab === index) return false; |
| | | this.$emit('update:tabCur', index); |
| | | this.$emit('changeTab', this.tabList[index]); |
| | | } |
| | | }, |
| | | computed: { |
| | | scrollLeft() { |
| | | return (this.tabCur - 1) * 60; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | div, |
| | | scroll-view, |
| | | swiper { |
| | | box-sizing: border-box; |
| | | } |
| | | .wuc-tab { |
| | | white-space: nowrap; |
| | | } |
| | | .wuc-tab-item { |
| | | height: 90rpx; |
| | | display: inline-block; |
| | | line-height: 90rpx; |
| | | margin: 0 10upx; |
| | | padding: 0 20upx; |
| | | } |
| | | |
| | | .wuc-tab-item.cur { |
| | | color: #40A2ED; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .wuc-tab.fixed { |
| | | position: fixed; |
| | | width: 100%; |
| | | top: 0; |
| | | z-index: 1024; |
| | | box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | .flex { |
| | | display: flex; |
| | | } |
| | | .text-center { |
| | | text-align: center; |
| | | } |
| | | .flex-sub { |
| | | flex: 1; |
| | | } |
| | | .text-blue{ |
| | | color:#40A2ED; |
| | | } |
| | | .text-white{ |
| | | color:#ffffff; |
| | | } |
| | | .bg-white{ |
| | | background-color: #ffffff; |
| | | } |
| | | .bg-blue{ |
| | | background-color: #40A2ED; |
| | | } |
| | | .text-orange{ |
| | | color: #f37b1d |
| | | } |
| | | |
| | | .text-xl { |
| | | font-size: 36upx; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <script setup> |
| | | import { ref, reactive, watch, onMounted } from 'vue'; |
| | | import ProgressBar from "../../components/progress-bar/progress-bar.vue" |
| | | import dataOne from '../../static/json/finance/1.json'; |
| | | import expendDetail from '../../static/json/finance/2.json'; |
| | | |
| | | import Config from '../../static/js/config' |
| | | import Common from '../../static/js/common' |
| | | |
| | | let _now = new Date(); |
| | | let now_time = {}; |
| | | now_time.year = _now.getFullYear() |
| | | now_time.month = _now.getMonth() + 1 |
| | | now_time.day = _now.getDay() |
| | | |
| | | // æ°æ®å®ä¹ |
| | | const info = ref('大便è¶
人'); // ç¨æ·æ°æ® |
| | | const scrollHeight = ref("600px"); // æ°æ®å±ç¤ºä½é«åº¦ |
| | | const isCanvas2d = ref(Config.ISCANVAS2D); |
| | | const historyData = ref({}); |
| | | const expendCount = ref(0); |
| | | const delayload = ref(false); |
| | | |
| | | const nowTime = reactive({ |
| | | year: now_time.year, |
| | | month: now_time.month, |
| | | day: now_time.day |
| | | }); |
| | | |
| | | const historyBtn = reactive([ |
| | | { |
| | | name: "æ¯åº", |
| | | state: 1, |
| | | type: "expend" |
| | | }, |
| | | { |
| | | name: "æ¶å
¥", |
| | | state: 0, |
| | | type: "income" |
| | | }, |
| | | { |
| | | name: "ç»ä½", |
| | | state: 0, |
| | | type: "remaining" |
| | | } |
| | | ]); |
| | | |
| | | const myWallet = reactive({ |
| | | remaining: 3000.34, |
| | | expend: 5240.32, |
| | | income: 8240.66 |
| | | }); |
| | | |
| | | const extendRank = reactive([ |
| | | { |
| | | name: "è
è´¥èä¼", |
| | | desc: now_time.month + "æ6æ¥12:34-è·¨ç空é´è½°è¶´", |
| | | money: "422.12" |
| | | }, |
| | | { |
| | | name: "æ²æµ´ææ©", |
| | | desc: now_time.month + "æ12æ¥21:34-ä¹ææ²æµ´å", |
| | | money: "318.00" |
| | | }, |
| | | { |
| | | name: "é£åé
æ°´", |
| | | desc: now_time.month + "æ1æ¥21:34-schoolé
é¦", |
| | | money: "289.50" |
| | | } |
| | | ]); |
| | | |
| | | const extend_level_bar = reactive([ |
| | | { name: "使¶è´¹", range: "<2000å
", width: "20%" }, |
| | | { name: "ä¸é´æ¶è´¹", range: "2000-5000å
", width: "35%" }, |
| | | { name: "è¾é«æ¶è´¹", range: "5000-8000å
", width: "25%", state: 1 }, |
| | | { name: "髿¶è´¹", range: ">8000å
", width: "20%" } |
| | | ]); |
| | | |
| | | const extend_morethan = ref("68%"); |
| | | |
| | | const detail_list = reactive([ |
| | | { date: now_time.month + "-01", time: "11:01", "type": "extend", money: "10.00", desc: "é¶è¡å¡è½¬åº" }, |
| | | { date: now_time.month + "-01", time: "13:45", "type": "income", money: "18.00", desc: "é¶è¡å¡æ¶å
¥" }, |
| | | { date: now_time.month + "-02", time: "06:21", "type": "extend", money: "123.45", desc: "ä¿¡ç¨å¡è½¬åº" }, |
| | | { date: now_time.month + "-03", time: "07:38", "type": "income", money: "23.00", desc: "é¶è¡å¡æ¶å
¥" }, |
| | | { date: now_time.month + "-08", time: "16:28", "type": "extend", money: "23.56", desc: "ä¿¡ç¨å¡è½¬åº" }, |
| | | { date: now_time.month + "-09", time: "15:25", "type": "income", money: "850.12", desc: "é¶è¡å¡æ¶å
¥" }, |
| | | { date: now_time.month + "-09", time: "18:52", "type": "income", money: "1.88", desc: "é¶è¡å¡æ¶å
¥" }, |
| | | { date: now_time.month + "-11", time: "21:12", "type": "extend", money: "220.21", desc: "é¶è¡å¡è½¬åº" }, |
| | | { date: now_time.month + "-12", time: "13:08", "type": "income", money: "32.28", desc: "é¶è¡å¡æ¶å
¥" }, |
| | | { date: now_time.month + "-12", time: "12:41", "type": "extend", money: "122.12", desc: "ä¿¡ç¨å¡è½¬åº" }, |
| | | { date: now_time.month + "-13", time: "17:21", "type": "income", money: "10.00", desc: "é¶è¡å¡æ¶å
¥" } |
| | | ]); |
| | | |
| | | // çå¬å¨ |
| | | watch(historyBtn, () => { |
| | | filterHistoryData(); |
| | | }, { deep: true }); |
| | | |
| | | // æ¹æ³å®ä¹ |
| | | async function getData() { |
| | | uni.showLoading(); |
| | | filterHistoryData(); |
| | | for (let i = 0; i < expendDetail.series.length; i++) { |
| | | expendDetail.series[i].format = "pieDemo"; |
| | | } |
| | | let length = expendDetail.series[0].data.length; |
| | | for (let i = 0; i < length; i++) { |
| | | expendCount.value += expendDetail.series[0].data[i].value; |
| | | } |
| | | await setTimeout(() => { |
| | | delayload.value = true; |
| | | uni.hideLoading(); |
| | | }, 1000); |
| | | } |
| | | |
| | | function changeHistoryBtn(type) { |
| | | for (let i = 0; i < historyBtn.length; i++) { |
| | | if (historyBtn[i].type == type) { |
| | | historyBtn[i].state = 1; |
| | | } else { |
| | | historyBtn[i].state = 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | function filterHistoryData() { |
| | | let type = historyBtn.filter(x => x.state == 1)[0].type; |
| | | switch (type) { |
| | | case "expend": |
| | | historyData.value = dataOne.expend; |
| | | break; |
| | | case "income": |
| | | historyData.value = dataOne.income; |
| | | break; |
| | | case "remaining": |
| | | historyData.value = dataOne.remaining; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | function gotoBack() { |
| | | Common.navigateBack("/index/index"); |
| | | } |
| | | |
| | | function getImage(index) { |
| | | switch (index) { |
| | | case 0: |
| | | return "https://s1.ax1x.com/2023/03/31/ppRYrfP.png"; |
| | | case 1: |
| | | return "https://s1.ax1x.com/2023/03/31/ppRYySf.png"; |
| | | case 2: |
| | | return "https://s1.ax1x.com/2023/03/31/ppRY6l8.png"; |
| | | } |
| | | } |
| | | |
| | | // çå½å¨æ |
| | | onMounted(() => { |
| | | //#ifndef H5 |
| | | uni.showShareMenu(); |
| | | //#endif |
| | | getData(); |
| | | }); |
| | | </script> |
| | | <template> |
| | | <view class="body"> |
| | | <!-- <view class="topLine" :style="{height: topBar+'px'}"></view> --> |
| | | <view class="nav row_align_center" id="nav"> |
| | | <li class="li_4" style="color: #fff;z-index: 999;" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li> |
| | | </view> |
| | | <view class="top_head"> |
| | | <view class="text_des"> |
| | | <text class="month_num">{{ nowTime.month }}</text> |
| | | <text class="month_text">æ</text> |
| | | <text class="month_year">{{ nowTime.year }}</text> |
| | | <text class="point">.</text> |
| | | <text class="title">è´¢å¡æ¥å</text> |
| | | </view> |
| | | <view class="top_desc"> |
| | | <view class="text-gray">ç»ä½</view> |
| | | <view class="remaining">{{ myWallet.remaining }}</view> |
| | | <view class="row head_block"> |
| | | <view class="flex_1"> |
| | | <text class="text-gray">æ¯åº</text> |
| | | <text class="text_green">{{ myWallet.expend }}</text> |
| | | </view> |
| | | <view class="flex_1"> |
| | | <text class="text-gray">æ¶å
¥</text> |
| | | <text class="income">{{ myWallet.income }}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="main"> |
| | | <view class="row_block"> |
| | | <view class="the_title" style="justify-content: space-between;"> |
| | | <view class="left_title"> |
| | | <view class="title_icon"></view> |
| | | <text class="margin_stand-samll font-big wide">åå²è¶å¿</text> |
| | | </view> |
| | | <view class="right_btn"> |
| | | <view v-for="(item, index) in historyBtn" :key="index" :class="item.state ? 'active_btn' : ''" |
| | | @click="changeHistoryBtn(item.type)">{{ item.name }}</view> |
| | | </view> |
| | | </view> |
| | | <view class="charts-box" style="height: 200px;"> |
| | | <qiun-data-charts type="line" canvasId="finance_a" :canvas2d="isCanvas2d" :reshow="delayload" |
| | | :opts="{ xAxis: { itemCount: 12, disableGrid: true }, yAxis: { disableGrid: true, data: [{ disabled: true }] } }" |
| | | :chartData="historyData" /> |
| | | </view> |
| | | </view> |
| | | <view class="row_block"> |
| | | <view class="the_title"> |
| | | <view class="title_icon"></view> |
| | | <text class="margin_stand-samll font-big wide">é±é½å»åªäº</text> |
| | | </view> |
| | | <view v-if="delayload" class="charts-box"> |
| | | <qiun-data-charts type="ring" canvasId="finance_b" :canvas2d="isCanvas2d" :reshow="delayload" |
| | | :opts="{ padding: [15, 0, 4, 0], legend: { position: 'bottom' }, title: { name: expendCount }, subtitle: { name: 'æ¯åº', fontSize: '20' } }" |
| | | :chartData="expendDetail" /> |
| | | </view> |
| | | <view class="the_title"> |
| | | <text class="margin_stand-samll font-middle wide">æ¯åºåç¬æè´µ</text> |
| | | </view> |
| | | <view class="extend_rank"> |
| | | <view class="rank_item" v-for="(item, index) in extendRank" :key="index"> |
| | | <image :src="getImage(index)" mode="widthFix"></image> |
| | | <text class="name">{{ item.name }}</text> |
| | | <text class="desc">{{ item.desc }}</text> |
| | | <text class="text_green money">{{ item.money }}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="row_block"> |
| | | <view class="the_title"> |
| | | <view class="title_icon"></view> |
| | | <text class="margin_stand-samll font-big wide">{{ nowTime.month }}ææç»</text> |
| | | </view> |
| | | <view class="detail_list"> |
| | | <view v-for="(item, index) in detail_list" :key="index" class="detail_item"> |
| | | <view> |
| | | <view class="font-middle">{{ item.date }}</view> |
| | | <view class="font-small">{{ item.time }}</view> |
| | | </view> |
| | | <view class="icon"> |
| | | <li class="li_2" :class="['iconfont', item.type == 'income' ? 'icon-income' : 'icon-expend']"></li> |
| | | </view> |
| | | <view class="right_content"> |
| | | <view class="money">{{ item.type == 'income' ? '+' : '-' }}{{ item.money }}</view> |
| | | <view class="text-gray font-middle">{{ item.desc }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="end_block"> |
| | | <view class="the_title" style="margin-bottom: 40rpx;"> |
| | | <view class="title_icon"></view> |
| | | <text class="margin_stand-samll font-big wide">æçæ¯åºæ°´å¹³</text> |
| | | </view> |
| | | <view class="level_bar"> |
| | | <view v-for="(item, index) in extend_level_bar" :key="index" :style="{ width: item.width }" |
| | | :class="item.state ? 'text_green font-middle' : ''">{{ item.name }}</view> |
| | | </view> |
| | | <view class="level_bar"> |
| | | <view v-for="(item, index) in extend_level_bar" :key="index" :style="{ width: item.width }" |
| | | :class="item.state ? 'active_bar' : 'default_bar'"></view> |
| | | </view> |
| | | <view class="level_bar"> |
| | | <view v-for="(item, index) in extend_level_bar" :key="index" :style="{ width: item.width }" |
| | | :class="item.state ? 'text_green font-middle' : ''">{{ item.range }}</view> |
| | | </view> |
| | | <view class="extend_message"> |
| | | <li style="color: #ccc;" :class="['iconfont icon-message']"></li> |
| | | <view> |
| | | â æçæ¯åºæ°´å¹³å·²è¶
è¿ |
| | | <text>{{ extend_morethan }}</text> |
| | | ç乡éå±
æ°ã â |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <style scoped lang="scss"> |
| | | .body { |
| | | height: 100%; |
| | | background-color: #560594; |
| | | margin: 0; |
| | | padding-bottom: 20rpx; |
| | | |
| | | .li_4 { |
| | | list-style-type: none; |
| | | } |
| | | |
| | | .nav { |
| | | position: fixed; |
| | | top: 50rpx; |
| | | left: 20rpx; |
| | | } |
| | | |
| | | .text_green { |
| | | color: #4ECDB6; |
| | | } |
| | | |
| | | .main { |
| | | width: 100%; |
| | | padding: 0 10rpx; |
| | | box-sizing: border-box; |
| | | margin-top: 20rpx; |
| | | |
| | | .detail_list { |
| | | height: 700rpx; |
| | | overflow: auto; |
| | | color: #9E9E9E; |
| | | |
| | | .detail_item { |
| | | display: flex; |
| | | margin: 20rpx 0; |
| | | align-items: center; |
| | | |
| | | .icon { |
| | | width: 30%; |
| | | text-align: center; |
| | | |
| | | .li_2 { |
| | | font-size: 80rpx; |
| | | } |
| | | } |
| | | |
| | | .right_content { |
| | | width: 50%; |
| | | text-align: center; |
| | | } |
| | | |
| | | .icon-income { |
| | | color: #4AABF9; |
| | | } |
| | | |
| | | .icon-expend { |
| | | color: #E45521; |
| | | } |
| | | |
| | | .money { |
| | | color: #000; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .extend_message { |
| | | margin-top: 20rpx; |
| | | color: #ccc; |
| | | display: flex; |
| | | |
| | | text { |
| | | color: #ff9900; |
| | | } |
| | | } |
| | | |
| | | .level_bar { |
| | | width: 100%; |
| | | height: 40rpx; |
| | | border-radius: 40rpx; |
| | | overflow: hidden; |
| | | display: flex; |
| | | color: #ccc; |
| | | font-size: 20rpx; |
| | | text-align: right; |
| | | line-height: 40rpx; |
| | | |
| | | view { |
| | | border-right: 2rpx solid #fff; |
| | | position: relative; |
| | | } |
| | | |
| | | .name { |
| | | position: absolute; |
| | | top: -30rpx; |
| | | right: -40rpx; |
| | | } |
| | | |
| | | .range { |
| | | position: absolute; |
| | | bottom: 30rpx; |
| | | right: -40rpx; |
| | | } |
| | | |
| | | .default_bar { |
| | | background-color: #A0DFCD; |
| | | } |
| | | |
| | | .active_bar { |
| | | background-color: #02AE7A; |
| | | } |
| | | } |
| | | |
| | | .right_btn { |
| | | float: right; |
| | | display: flex; |
| | | color: #ccc; |
| | | font-size: 22rpx; |
| | | |
| | | view { |
| | | line-height: 50rpx; |
| | | height: 50rpx; |
| | | margin: 0 20rpx; |
| | | } |
| | | |
| | | .active_btn { |
| | | padding: 0rpx 20rpx; |
| | | border: 1px solid #ccc; |
| | | border-radius: 40rpx; |
| | | } |
| | | } |
| | | |
| | | .end_block { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | background-color: #fff; |
| | | border-radius: 12rpx; |
| | | position: relative; |
| | | padding: 20rpx; |
| | | } |
| | | |
| | | .row_block { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | background-color: #fff; |
| | | border-radius: 12rpx; |
| | | position: relative; |
| | | padding: 20rpx; |
| | | |
| | | &::after { |
| | | content: ""; |
| | | height: 0px; |
| | | width: 92%; |
| | | position: absolute; |
| | | transform: translateX(-50%); |
| | | left: 50%; |
| | | bottom: 0; |
| | | border-top: 1px dashed #ccc; |
| | | } |
| | | } |
| | | |
| | | .the_title { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .left_title { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .title_icon { |
| | | background-color: #7E7E7E; |
| | | height: 40rpx; |
| | | width: 10rpx; |
| | | border-radius: 10rpx; |
| | | margin-right: 20rpx; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | |
| | | .extend_rank { |
| | | width: 100%; |
| | | background-color: #F5F5F5; |
| | | box-sizing: border-box; |
| | | padding: 10rpx; |
| | | |
| | | .rank_item { |
| | | width: 100%; |
| | | margin: 20rpx 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | font-size: 26rpx; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | image { |
| | | width: 10%; |
| | | } |
| | | |
| | | text { |
| | | text-overflow: ellipsis; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | display: block; |
| | | } |
| | | |
| | | .name { |
| | | margin: 0 10rpx; |
| | | color: #7D7D7D; |
| | | width: 20%; |
| | | } |
| | | |
| | | .desc { |
| | | width: 50%; |
| | | color: #ccc; |
| | | } |
| | | |
| | | .money { |
| | | width: 20%; |
| | | text-align: right; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .top_head { |
| | | height: 435rpx; |
| | | width: 100%; |
| | | padding: 110rpx 10rpx 0rpx 10rpx; |
| | | background: url("https://img1.qunarzz.com/travel/d3/1704/db/34de73c353d44db5.jpg_r_640x426x70_53f464ca.jpg") no-repeat center 0px; |
| | | background-size: 100% 100%; |
| | | box-sizing: border-box; |
| | | |
| | | .top_desc { |
| | | width: 100%; |
| | | border-radius: 20rpx; |
| | | background-color: #fff; |
| | | margin-top: 20rpx; |
| | | padding: 20rpx; |
| | | box-sizing: border-box; |
| | | |
| | | .text-gray { |
| | | font-size: 28rpx; |
| | | color: #ccc; |
| | | margin-right: 10rpx; |
| | | } |
| | | |
| | | .remaining { |
| | | font-size: 46rpx; |
| | | } |
| | | |
| | | .flex_1 { |
| | | flex: 1; |
| | | } |
| | | |
| | | .head_block { |
| | | margin-top: 20rpx; |
| | | |
| | | .income { |
| | | color: #E34B5E; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .text_des { |
| | | height: 100rpx; |
| | | color: #fff; |
| | | font-weight: 900; |
| | | position: relative; |
| | | margin-left: 60rpx; |
| | | |
| | | text { |
| | | display: inline-block; |
| | | height: 100%; |
| | | } |
| | | |
| | | .month_num { |
| | | font-size: 90rpx; |
| | | } |
| | | |
| | | .month_text { |
| | | font-size: 56rpx; |
| | | } |
| | | |
| | | .month_year { |
| | | font-size: 22rpx; |
| | | position: absolute; |
| | | left: 60rpx; |
| | | top: 20rpx; |
| | | } |
| | | |
| | | .point { |
| | | font-size: 40rpx; |
| | | } |
| | | |
| | | .title { |
| | | font-size: 40rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="window"> |
| | | <!-- #ifndef H5 --> |
| | | <view class="topLine" :style="{ height: topBar + 'px' }"></view> |
| | | <!-- #endif --> |
| | | <view class="nav row_align_center" id="nav"> |
| | | <li class="li_5" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li> |
| | | <text class="title li_5">{{ title ? title : '' }}</text> |
| | | <li class="iconfont icon-zuojiantou back hidden"></li> |
| | | </view> |
| | | <view class="row_align_center head" id="head"> |
| | | <!-- æ¥æä¸æå表 --> |
| | | <drop-down ref="caleDrop" @tap="changDrop(1)" @changeItem="changeTime" :list="timeArray" :contentTop="top" |
| | | selectWidth="260rpx" contentLeft="0"></drop-down> |
| | | <!-- æ¥åéæ©æ¥æ --> |
| | | <view v-if="showCalendar" |
| | | :class="['dropdown-item__selected', listWidth != '150rpx' ? 'dropdown-item__right' : 'dropdown-item__left']" |
| | | @click="openCalendar" class="calendar_drag"> |
| | | <view class="selected__name">{{ nowDate }}</view> |
| | | <li class="iconfont icon-calendar" style="margin-left: 10rpx;"></li> |
| | | </view> |
| | | <!-- å
¬å¸åºå䏿å表 --> |
| | | <drop-down ref="companyDrop" @tap="changDrop(2)" @changeItem="changeLocation" :list="locationArray" |
| | | :contentTop="top" contentRight="10" :selectWidth="showCalendar ? '200rpx' : '300rpx'" listWidth="75%"> |
| | | </drop-down> |
| | | </view> |
| | | <uni-calendar ref="calendar" :insert="false" :start-date="startDate" :end-date="endDate" :clearDate="false" |
| | | @confirm="confirm"> |
| | | </uni-calendar> |
| | | <!--æ»å¨å表头--> |
| | | <wuc-tab id="wuctab" :tab-list="tabList" :tabCur.sync="tabCur" tab-class="text-center text-white bg-blue" |
| | | select-class="text-white"></wuc-tab> |
| | | <!--主ä½å
容--> |
| | | <view class="data_body" :style="{ height: scrollHeight }"> |
| | | <view v-if="tabCur == 0"> |
| | | <wechat :scrollHeight="scrollHeight" /> |
| | | </view> |
| | | <view v-else-if="tabCur == 1"> |
| | | <user-operate :scrollHeight="scrollHeight" /> |
| | | </view> |
| | | <view v-else-if="tabCur == 2"> |
| | | <user-healthy :scrollHeight="scrollHeight" /> |
| | | </view> |
| | | <view v-else-if="tabCur == 3"> |
| | | <user-server :scrollHeight="scrollHeight"></user-server> |
| | | </view> |
| | | </view> |
| | | <!--æ°´å°--> |
| | | <view class="water-mark-mask row_wrap" :style="{ height: scrollHeight }"> |
| | | <text class="container" v-for="(count, index) in 10" :key="index">{{ info.name }}</text> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script> |
| | | import Wechat from "../../components/data-center/wechat.vue" |
| | | import UserOperate from "../../components/data-center/user-operate.vue" |
| | | import UserHealthy from "../../components/data-center/user-healthy.vue" |
| | | import UserServer from "../../components/data-center/user-server.vue" |
| | | import WucTab from '../../components/wuc-tab/wuc-tab.vue' |
| | | import DropDown from '../../components/drop-down/drop-down.vue' |
| | | import UniCalendar from '../../components/uni-calendar/uni-calendar.vue' |
| | | |
| | | import Config from '../../static/js/config' |
| | | import Common from "../../static/js/common" |
| | | |
| | | export default { |
| | | components: { |
| | | WucTab, |
| | | DropDown, |
| | | UniCalendar, |
| | | Wechat, |
| | | UserOperate, |
| | | UserHealthy, |
| | | UserServer, |
| | | }, |
| | | data() { |
| | | return { |
| | | tabList: Config.TABLIST, //æ ç¾å¤´ |
| | | timeArray: Config.TIMEARRAY, //æ¶é´æ°ç» |
| | | info: '大便è¶
人', //ç¨æ·æ°æ® |
| | | title: "æ°æ®æ¥è¡¨ä¸å¿", //æ é¢ |
| | | showDataTime: "today", //éä¸çæ¶é´ |
| | | tabCur: 0, //æ ç¾å¤´ä¸æ |
| | | topBar: 17, //导èªé« |
| | | top: '180', //䏿æ ä½ç½® |
| | | scrollHeight: "100%", //æ°æ®å±ç¤ºä½é«åº¦ |
| | | nowDate: Common.getNowDate(), //ç°å¨æ¥æ |
| | | endDate: Common.getNowDate(), //æ¥åå¯éæ¥æèå´çç»ææ¶é´ |
| | | startDate: Common.getPreMonth(Common.getNowDate()), //æ¥åå¯éæ¥æèå´çå¼å§æ¶é´, |
| | | showCalendar: false, |
| | | }; |
| | | }, |
| | | computed: { |
| | | locationArray() { |
| | | return [{ |
| | | value: "GDBJ-ENTRY-1", |
| | | text: "天ç«" |
| | | }, { |
| | | value: "GDBJ-ENTRY-201", |
| | | text: "京ä¸" |
| | | }]; |
| | | } |
| | | }, |
| | | methods: { |
| | | gotoBack() { |
| | | Common.navigateBack("/index/index"); |
| | | }, |
| | | changDrop(index) { |
| | | if (index == 1 && this.$refs.companyDrop.showList) { |
| | | this.$refs.companyDrop.closePopup() |
| | | } else if (index == 2 && this.$refs.caleDrop.showList) { |
| | | this.$refs.caleDrop.closePopup() |
| | | } |
| | | }, |
| | | // æå¼æ¥å |
| | | openCalendar() { |
| | | this.$refs.calendar.open(); |
| | | }, |
| | | // æ¥åéæ©æ¥æ |
| | | confirm(e) { |
| | | if (this.nowDate != e.fulldate || !this.showCalendar) { |
| | | this.showCalendar = true; |
| | | this.$refs.caleDrop.selectAuto(); |
| | | this.nowDate = e.fulldate; |
| | | this.showDataTime = e.fulldate.replace(/-/g, ""); |
| | | Common.tipMsg("å½åæ¶é´:" + this.showDataTime) |
| | | } |
| | | }, |
| | | //䏿鿩æ¶é´ |
| | | changeTime(e) { |
| | | if (e.value == "auto") { |
| | | this.openCalendar(); |
| | | } else if (this.showDataTime != e.value) { |
| | | this.showDataTime = e.value; |
| | | this.showCalendar = false; |
| | | Common.tipMsg("å½åæ¶é´:" + this.showDataTime) |
| | | } |
| | | }, |
| | | changeLocation(e) { |
| | | Common.tipMsg("å½åéä¸å¹³å°:" + e.text) |
| | | }, |
| | | //è·å设å¤ä¿¡æ¯ |
| | | async getTelephoneInfo() { |
| | | var telephoneInfo = await Common.getTelephoneInfo(); |
| | | let hasHeight = 0; |
| | | if (telephoneInfo.top >= 40) { |
| | | this.top = telephoneInfo.statusBarHeight * 2 + 150; |
| | | this.topBar = telephoneInfo.statusBarHeight; |
| | | } |
| | | |
| | | // 设置æ»å¨é«åº¦ |
| | | const query = wx.createSelectorQuery(); |
| | | query.select('#nav').boundingClientRect(); |
| | | query.select('#head').boundingClientRect(); |
| | | query.select('#wuctab').boundingClientRect(); |
| | | query.exec(res => { |
| | | res.map((item, index) => { |
| | | hasHeight += item.height; |
| | | }) |
| | | this.scrollHeight = (telephoneInfo.screenHeight - hasHeight - this.topBar) + 'px'; |
| | | }) |
| | | }, |
| | | getH5Info() { |
| | | uni.getSystemInfo({ |
| | | success: e => { |
| | | let hasHeight = 0; |
| | | let element = wx.createSelectorQuery().in(this); |
| | | element.select('#nav').boundingClientRect(); |
| | | element.select('#head').boundingClientRect(); |
| | | element.select('#wuctab').boundingClientRect(); |
| | | element.exec(res => { |
| | | res.map((item, index) => { |
| | | hasHeight += item.height; |
| | | }) |
| | | this.scrollHeight = (e.screenHeight - hasHeight) + 'px'; |
| | | }) |
| | | }, |
| | | fail: (err) => { |
| | | reject(err); |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | onReady() { |
| | | //#ifndef H5 |
| | | uni.showShareMenu(); |
| | | this.getTelephoneInfo(); |
| | | //#endif |
| | | //#ifdef H5 |
| | | this.getH5Info(); |
| | | //#endif |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |
| | | page, |
| | | body { |
| | | margin: 0; |
| | | padding: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .li_5 { |
| | | list-style-type: none; |
| | | } |
| | | |
| | | .window { |
| | | height: 100vh; |
| | | overflow: hidden; |
| | | |
| | | .topLine { |
| | | background-color: #40A2ED; |
| | | width: 100%; |
| | | } |
| | | |
| | | scroll-view { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .swiper { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .nav { |
| | | background-image: url(http://photo.gdbjyy.cn/image/BCAI/top_bg.jpg); |
| | | background-size: 100% 100%; |
| | | |
| | | .back { |
| | | font-size: 54rpx; |
| | | padding: 20rpx 14rpx 15rpx 14rpx; |
| | | color: #fff; |
| | | } |
| | | |
| | | .title { |
| | | color: #fff; |
| | | font-size: 30rpx; |
| | | flex: 1; |
| | | text-align: center; |
| | | } |
| | | |
| | | .hidden { |
| | | visibility: hidden; |
| | | } |
| | | } |
| | | |
| | | .head { |
| | | padding: 0 16rpx 14rpx 16rpx; |
| | | color: #fff; |
| | | background-color: #40A2ED; |
| | | justify-content: space-between; |
| | | font-size: 26rpx !important; |
| | | |
| | | .calendar_drag { |
| | | width: 340rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .calendar_name { |
| | | margin-right: 10rpx; |
| | | } |
| | | |
| | | .icon-calendar { |
| | | font-size: 26rpx; |
| | | margin-top: 4rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .data_body { |
| | | overflow: auto; |
| | | text-align: center; |
| | | color: #333333; |
| | | background-repeat: repeat; |
| | | background-color: #ffffff; |
| | | position: relative; |
| | | |
| | | .item { |
| | | padding: 0 20rpx; |
| | | margin-bottom: 20rpx; |
| | | |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 36rpx; |
| | | } |
| | | |
| | | .operate { |
| | | view { |
| | | padding: 5rpx 12rpx; |
| | | color: #fff; |
| | | } |
| | | |
| | | .bg-blue { |
| | | background-color: #40A2ED; |
| | | } |
| | | |
| | | .bg-yellow { |
| | | background-color: #FFC300; |
| | | } |
| | | } |
| | | |
| | | .tip { |
| | | margin-bottom: 30rpx; |
| | | |
| | | .update { |
| | | color: #C4100A; |
| | | margin-left: auto; |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .cry { |
| | | font-size: 96rpx; |
| | | margin-bottom: 10rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .water-mark-mask { |
| | | width: 100%; |
| | | position: fixed; |
| | | left: 0; |
| | | bottom: 0; |
| | | z-index: 1000; |
| | | justify-content: space-between; |
| | | pointer-events: none; //æ è§é¼ æ äºä»¶ï¼ç¸å½äºé¼ æ äºä»¶éä¼ ä¸å»ä¸æ · |
| | | flex: 1; |
| | | overflow: hidden; |
| | | |
| | | text { |
| | | width: 50%; |
| | | color: #909399; |
| | | opacity: 0.25; |
| | | transform: rotate(-15deg); |
| | | } |
| | | } |
| | | |
| | | .histogram { |
| | | height: 100%; |
| | | width: 100%; |
| | | |
| | | canvas { |
| | | margin-top: 40rpx; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="body window"> |
| | | <view class="topLine" :style="{ height: topBar + 'px' }"></view> |
| | | <view class="nav row_align_center" id="nav"> |
| | | <li class="li_6" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li> |
| | | <text class="title">{{ title ? title : '' }}</text> |
| | | <li class="iconfont icon-zuojiantou back hidden li_6"></li> |
| | | </view> |
| | | <view class="data_body"> |
| | | <scroll-view class="scroll_list" scroll-y :style="{ height: scrollHeight }"> |
| | | <!-- æå¦ç§ç æ
åµ --> |
| | | <view class="view_block"> |
| | | <view class="title">æå¦ç§ç æ
åµ</view> |
| | | <progress-bar :content="RankData" @updateRanking="updateRanking"></progress-bar> |
| | | </view> |
| | | <!-- å¦ååå¸ç¶åµ --> |
| | | <view class="view_block"> |
| | | <view class="title">å¦ååå¸ç¶åµ |
| | | <text class="font-small" style="color: #ccc;">(æèå·¥)</text> |
| | | </view> |
| | | <view class="charts-box" style="height: 300px;"> |
| | | <qiun-data-charts type="rose" :chartData="ProductRateData" canvasId="school_a" |
| | | :canvas2d="isCanvas2d" :resshow="delayload" /> |
| | | </view> |
| | | </view> |
| | | <!-- å¦ä¸æç»© --> |
| | | <view class="view_block"> |
| | | <view class="title">å¦ä¸æç»©åå¸å¾ |
| | | <text class="font-small" style="color: #ccc;">(ç级)</text> |
| | | </view> |
| | | <view class="charts-box" style="height: 300px;"> |
| | | <qiun-data-charts type="radar" :chartData="RadarModel" background="none" canvasId="school_b" |
| | | :animation="false" :canvas2d="isCanvas2d" :resshow="delayload" /> |
| | | </view> |
| | | </view> |
| | | <!-- å¾ä¹¦åé
æ
åµ --> |
| | | <view class="view_block"> |
| | | <view class="title">å¾ä¹¦åé
æ
åµ</view> |
| | | <view class="charts-box" style="height: 300px;"> |
| | | <qiun-data-charts type="line" canvasId="school_c" :canvas2d="isCanvas2d" :resshow="delayload" |
| | | :ontouch="true" |
| | | :opts="{ enableScroll: true, xAxis: { scrollShow: true, itemCount: 4, disableGrid: true }, series: { style: 'curve' } }" |
| | | :chartData="friendTrand" /> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import ProgressBar from "../../components/progress-bar/progress-bar.vue" |
| | | import RankData from '../../static/json/school/1.json'; |
| | | import ProductRateData from '../../static/json/school/2.json'; |
| | | import RadarModel from '../../static/json/school/3.json'; |
| | | import friendTrand from '../../static/json/school/4.json'; |
| | | import Config from '../../static/js/config' |
| | | import Common from '../../static/js/common' |
| | | |
| | | export default { |
| | | components: { |
| | | ProgressBar |
| | | }, |
| | | data() { |
| | | return { |
| | | info: "大便è¶
人", //ç¨æ·æ°æ® |
| | | title: "æºæ
§æè²æ¥è¡¨ä¸å¿", //æ é¢ |
| | | showDataTime: "today", //éä¸çæ¶é´ |
| | | tabCur: 0, //æ ç¾å¤´ä¸æ |
| | | topBar: 17, //导èªé« |
| | | top: '180', //䏿æ ä½ç½® |
| | | scrollHeight: "1400rpx", //æ°æ®å±ç¤ºä½é«åº¦ |
| | | friendTrand, |
| | | RankData, |
| | | ProductRateData, |
| | | RadarModel, |
| | | isCanvas2d: Config.ISCANVAS2D, |
| | | delayload: false, //å»¶æ¶å è½½å¾è¡¨ï¼å¦åä¼åºç°å¾è¡¨å è½½å®åå®ä½éä¹± |
| | | }; |
| | | }, |
| | | computed: { |
| | | locationArray() { |
| | | return [{ value: "GDBJ-ENTRY-1", text: "天ç«" }, { value: "GDBJ-ENTRY-201", text: "京ä¸" }]; |
| | | } |
| | | }, |
| | | methods: { |
| | | async getData() { |
| | | uni.showLoading(); |
| | | await setTimeout(() => { |
| | | this.delayload = true; |
| | | uni.hideLoading(); |
| | | }, 1000) |
| | | }, |
| | | gotoBack() { |
| | | Common.navigateBack("/index/index"); |
| | | }, |
| | | //è·å设å¤ä¿¡æ¯ |
| | | async getTelephoneInfo() { |
| | | var telephoneInfo = await Common.getTelephoneInfo(); |
| | | let hasHeight = 0; |
| | | if (telephoneInfo.top >= 40) { |
| | | this.top = telephoneInfo.statusBarHeight * 2 + 150; |
| | | this.topBar = telephoneInfo.statusBarHeight; |
| | | } |
| | | // 设置æ»å¨é«åº¦ |
| | | const query = wx.createSelectorQuery(); |
| | | query.select('#nav').boundingClientRect(); |
| | | query.exec(res => { |
| | | res.map((item, index) => { |
| | | hasHeight += item.height; |
| | | }) |
| | | this.scrollHeight = (telephoneInfo.screenHeight - hasHeight - this.topBar) + 'px'; |
| | | }) |
| | | }, |
| | | updateRanking(nVal) { |
| | | this.RankData = nVal; |
| | | }, |
| | | }, |
| | | onLoad() { |
| | | //#ifndef H5 |
| | | uni.showShareMenu(); |
| | | //#endif |
| | | this.getData() |
| | | this.getTelephoneInfo(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .body { |
| | | height: 100vh; |
| | | margin: 0; |
| | | padding: 0 20rpx; |
| | | font-family: "montserrat"; |
| | | background-image: linear-gradient(125deg, #CB9FFE, #5894F7, #ABCDFA, #74A3F6, #CB9FFE); |
| | | background-size: 400%; |
| | | animation: bganimation 15s infinite; |
| | | } |
| | | |
| | | .li_6 { |
| | | list-style-type: none; |
| | | } |
| | | |
| | | page, |
| | | body { |
| | | margin: 0; |
| | | padding: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .window { |
| | | height: 100vh; |
| | | overflow: hidden; |
| | | |
| | | .topLine { |
| | | width: 100%; |
| | | } |
| | | |
| | | scroll-view { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .swiper { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .nav { |
| | | background-size: 100% 100%; |
| | | |
| | | .back { |
| | | font-size: 54rpx; |
| | | padding: 20rpx 14rpx 15rpx 14rpx; |
| | | color: #fff; |
| | | } |
| | | |
| | | .title { |
| | | color: #fff; |
| | | font-size: 30rpx; |
| | | flex: 1; |
| | | text-align: center; |
| | | } |
| | | |
| | | .hidden { |
| | | visibility: hidden; |
| | | } |
| | | } |
| | | |
| | | .head { |
| | | padding: 0 16rpx 14rpx 16rpx; |
| | | color: #fff; |
| | | background-color: #40A2ED; |
| | | justify-content: space-between; |
| | | font-size: 26rpx !important; |
| | | |
| | | .calendar_drag { |
| | | width: 340rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .calendar_name { |
| | | margin-right: 10rpx; |
| | | } |
| | | |
| | | .icon-calendar { |
| | | font-size: 26rpx; |
| | | margin-top: 4rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .data_body { |
| | | overflow: auto; |
| | | text-align: center; |
| | | color: #333333; |
| | | background-repeat: repeat; |
| | | height: 100%; |
| | | |
| | | .scroll_list { |
| | | height: 100%; |
| | | |
| | | .view_block { |
| | | background-color: #fff; |
| | | padding: 16rpx 20rpx 10rpx 20rpx; |
| | | border-radius: 20rpx; |
| | | margin-bottom: 40rpx; |
| | | |
| | | .title { |
| | | text-align: left; |
| | | margin-bottom: 30rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .trend_title { |
| | | text-align: right; |
| | | font-size: 22rpx; |
| | | color: #ff9900; |
| | | margin-top: 50rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @keyframes bganimation { |
| | | 0% { |
| | | background-position: 0% 50%; |
| | | } |
| | | |
| | | 50% { |
| | | background-position: 100% 50%; |
| | | } |
| | | |
| | | 100% { |
| | | background-position: 0% 50%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="body"> |
| | | <view class="nav row_align_center" id="nav"> |
| | | <li class="li_7" style="z-index: 999;font-size: 50rpx;" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"> |
| | | </li> |
| | | </view> |
| | | <view class="head"> |
| | | <view class="title">è¿å¨æ¥å</view> |
| | | <view class="customer_img"> |
| | | <!-- <open-data type="userAvatarUrl" class="img"></open-data> --> |
| | | <image class="img" src="https://s1.ax1x.com/2022/11/16/zZUoK1.jpg" mode="widthFix"></image> |
| | | </view> |
| | | </view> |
| | | <view class="score_view"> |
| | | <view class="title">æ¬æ¬¡è¯å</view> |
| | | <view class="detail"> |
| | | <view class="socre">98</view> |
| | | <li class="li_7" :class="['iconfont icon-up text-green']" @click="gotoBack()"></li> |
| | | <view class="up_socre">0.4</view> |
| | | </view> |
| | | </view> |
| | | <view class="census_view"> |
| | | <view class="left"> |
| | | <view class="text_gray small_text">æ¶è(åå¡)</view> |
| | | <view class="middle_text text_wide_900">165</view> |
| | | </view> |
| | | <view class="right"> |
| | | <view class="text_gray small_text">å¿ç主è¦éä¸å¨</view> |
| | | <view style="font-size: 30rpx;">çç§èèª</view> |
| | | </view> |
| | | </view> |
| | | <view class="census_view"> |
| | | <view class="left"> |
| | | <view class="text_gray small_text">æ¶é¿(åé)</view> |
| | | <view class="middle_text text_wide_900">75</view> |
| | | </view> |
| | | <view class="center"> |
| | | <view class="text_gray small_text">累计æå¡(天)</view> |
| | | <view class="middle_text text_wide_900">24</view> |
| | | </view> |
| | | <view class="right"> |
| | | <view class="text_gray small_text">å¹³åå¿ç(次/åé)</view> |
| | | <view class="middle_text text_wide_900">98</view> |
| | | </view> |
| | | </view> |
| | | <view class="consume_view"> |
| | | <view class="wrap"><span class="consume_tip">èº«ä½æ¶è</span></view> |
| | | <li class="li_7" :class="['iconfont icon-niunai consume_icon']"></li> |
| | | <view class="desc"> |
| | | <view class="small_text">约æ¶è</view> |
| | | <view class="text_wide_900"><text class="left">1000</text><text class="right">毫åç奶</text></view> |
| | | </view> |
| | | </view> |
| | | <view class="heart_rate_view"> |
| | | <view class="left"> |
| | | <li class="li_7" :class="['iconfont icon-zhexiantu']"></li> |
| | | <text class="title">å¿çååæ²çº¿</text> |
| | | </view> |
| | | <view class="right text_gray">å¿çåå</view> |
| | | </view> |
| | | <view v-if="heartRateData.series" class="heart_rate_chart"> |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="tline" canvasId="sport_a" :canvas2d="isCanvas2d" :resshow="delayload" |
| | | :opts="{ padding: [0, 20, 10, 0], legend: { position: 'top', lineHeight: 20 }, xAxis: { disableGrid: true, format: 'xAxisDemo3' }, yAxis: { data: [{ min: 0, max: 175 }], gridType: 'solid' }, dataLabel: false, dataPointShape: false }" |
| | | :chartData="heartRateData" /> |
| | | </view> |
| | | </view> |
| | | <view class="title_view"> |
| | | <view class="left"> |
| | | <li class="li_7" :class="['iconfont icon-xinlv']"></li> |
| | | <text class="title">å¿çåºé´</text> |
| | | </view> |
| | | </view> |
| | | <view class="heart_rate_range"> |
| | | <view class="top"> |
| | | <view class="item" v-for="(item, index) in heatRateRange" :key="index"> |
| | | <view class="name text_gray">{{ item.name }}</view> |
| | | <view class="data">{{ item.type }}{{ item.data }}<text class="unit text_gray">åé</text></view> |
| | | </view> |
| | | </view> |
| | | <view v-if="heartRateRangeData" class="charts-box"> |
| | | <qiun-data-charts type="ring" canvasId="sport_b" :canvas2d="isCanvas2d" :resshow="delayload" |
| | | :opts="{ legend: { position: 'bottom' }, extra: { ring: { border: false, centerColor: '#312C34' } }, title: { name: '' }, subtitle: { name: '' } }" |
| | | :chartData="heartRateRangeData" /> |
| | | </view> |
| | | </view> |
| | | <view class="title_view"> |
| | | <view class="left"> |
| | | <li class="li_7" :class="['iconfont icon-pie']"></li> |
| | | <text class="title">è¿å¨åæ</text> |
| | | </view> |
| | | </view> |
| | | <view class="sport_analysis_view"> |
| | | <view class="top"> |
| | | <li class="iconfont icon-feiji li_7"></li> |
| | | <text class="title font-s-34">è·æ¥æº</text> |
| | | </view> |
| | | <view class="middle"> |
| | | <view class="left"> |
| | | <li class="iconfont icon-clock li_7"></li> |
| | | <view>3.24P.M</view> |
| | | </view> |
| | | <view class="right"> |
| | | <li class="iconfont icon-huo li_7"></li> |
| | | <view>çéæ¶è(åå¡)</view> |
| | | </view> |
| | | </view> |
| | | <view class="bottom"> |
| | | <view class="left"> |
| | | <li class="iconfont icon-kongxinyuan li_7"></li> |
| | | <view>çç§èèª</view> |
| | | </view> |
| | | <view class="right"> |
| | | <view class="text_wide_600 font-s-40">637</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="box_view speed_rank_view"> |
| | | <view class="top"> |
| | | <view class="item" v-for="(item, index) in speedRank" :key="index"> |
| | | <view class="name text_gray">{{ item.name }}</view> |
| | | <view class="data">{{ item.data }}<text class="unit text_gray">{{ item.unit }}</text></view> |
| | | </view> |
| | | </view> |
| | | <view v-if="speedRankData" class="charts-box"> |
| | | <qiun-data-charts type="bar" canvasId="sport_c" :canvas2d="isCanvas2d" :resshow="delayload" |
| | | :chartData="speedRankData" background="none" |
| | | :opts="{ xAxis: { disabled: true, disableGrid: true }, extra: { bar: { barBorderCircle: true, width: 20 } }, legend: { show: false } }" /> |
| | | </view> |
| | | </view> |
| | | <view class="box_view"> |
| | | <view v-if="speedAndRateData.series" class="charts-box"> |
| | | <qiun-data-charts type="tline" canvasId="sport_d" :canvas2d="isCanvas2d" :resshow="delayload" |
| | | :opts="{ padding: [0, 20, 10, 0], legend: { position: 'top', lineHeight: 20 }, xAxis: { disableGrid: true, format: 'xAxisDemo3' }, yAxis: { data: [{ position: 'left', min: 0, max: 25 }, { position: 'right', min: 50, max: 175 }], gridType: 'solid' }, dataLabel: false, dataPointShape: false }" |
| | | :chartData="speedAndRateData" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import heartRateData from "../../static/json/sport/1.json" |
| | | import heartRateRangeData from "../../static/json/sport/2.json" |
| | | import speedRankData from "../../static/json/sport/3.json" |
| | | import speedAndRateData from "../../static/json/sport/4.json" |
| | | import Config from '../../static/js/config' |
| | | import Common from '../../static/js/common' |
| | | |
| | | export default { |
| | | components: { |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | info: '大便è¶
人', //ç¨æ·æ°æ® |
| | | isCanvas2d: Config.ISCANVAS2D, |
| | | heartRateData: {}, |
| | | speedRankData: {}, |
| | | speedAndRateData: {}, |
| | | delayload: null, |
| | | heartRateRangeData: {}, |
| | | heatRateRange: [{ |
| | | name: "æ¿æ´»æ¾æ¾", |
| | | data: "5", |
| | | type: "â¤" |
| | | }, |
| | | { |
| | | name: "卿ç身", |
| | | data: "13", |
| | | type: "" |
| | | }, |
| | | { |
| | | name: "èèªçç§", |
| | | data: "24", |
| | | type: "" |
| | | }, |
| | | { |
| | | name: "ç³åæ¶è", |
| | | data: "8", |
| | | type: "â¤" |
| | | }, |
| | | { |
| | | name: "å¿èºè®ç»", |
| | | data: "7", |
| | | type: "" |
| | | }, |
| | | { |
| | | name: "æéé»ç¼", |
| | | data: "16", |
| | | type: "" |
| | | }, |
| | | ], |
| | | speedRank: [{ |
| | | name: "è·ç¦»", |
| | | data: "5", |
| | | unit: "å
Ž" |
| | | }, |
| | | { |
| | | name: "æ¶é¿", |
| | | data: "12", |
| | | unit: "åé" |
| | | }, |
| | | { |
| | | name: "å¹³åé
é", |
| | | data: "6\'05\"", |
| | | unit: "" |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | watch: { |
| | | |
| | | }, |
| | | methods: { |
| | | async getData() { |
| | | uni.showLoading(); |
| | | /*å°éç¹æ¶é´éæºè½¬ææä¸å¤©çå
·ä½æ¶é´æ³*/ |
| | | if (typeof heartRateData.series[0].data[0][0] == 'string') { |
| | | for (let i = 0; i < heartRateData.series.length; i++) { |
| | | heartRateData.series[i].data.map(x => { |
| | | x[0] = "2018/08/08 " + x[0]; |
| | | x[0] = this.tranTimestamp(x[0]); |
| | | return x[0]; |
| | | }) |
| | | } |
| | | |
| | | } |
| | | if (typeof speedAndRateData.series[0].data[0][0] == 'string') { |
| | | for (let i = 0; i < speedAndRateData.series.length; i++) { |
| | | speedAndRateData.series[i].data.map(x => { |
| | | x[0] = "2018/08/08 " + x[0]; |
| | | x[0] = this.tranTimestamp(x[0]); |
| | | return x[0]; |
| | | }) |
| | | } |
| | | } |
| | | |
| | | this.heartRateData = heartRateData; |
| | | this.heartRateRangeData = heartRateRangeData; |
| | | this.speedRankData = speedRankData; |
| | | this.speedAndRateData = speedAndRateData; |
| | | this.delayload = true; |
| | | uni.hideLoading(); |
| | | }, |
| | | tranTimestamp(date) { |
| | | return new Date(date).getTime() |
| | | }, |
| | | gotoBack() { |
| | | Common.navigateBack("/index/index"); |
| | | }, |
| | | |
| | | }, |
| | | onReady() { |
| | | //#ifndef H5 |
| | | uni.showShareMenu(); |
| | | //#endif |
| | | this.getData() |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .body { |
| | | height: 100%; |
| | | background-color: #1C191F; |
| | | margin: 0; |
| | | color: #fff; |
| | | padding: 80rpx 20rpx 0 20rpx; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | padding-bottom: 50rpx; |
| | | |
| | | .box_view { |
| | | width: 100%; |
| | | padding: 20rpx; |
| | | position: relative; |
| | | background-color: #312C34; |
| | | color: #FFFFFF; |
| | | box-sizing: border-box; |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | margin-top: 30rpx; |
| | | } |
| | | |
| | | .speed_rank_view { |
| | | .top { |
| | | width: 100%; |
| | | |
| | | &:after { |
| | | content: ""; |
| | | clear: both; |
| | | display: block; |
| | | } |
| | | |
| | | .item { |
| | | float: left; |
| | | width: 33%; |
| | | box-sizing: border-box; |
| | | padding: 30rpx 20rpx; |
| | | text-align: left; |
| | | |
| | | .name { |
| | | font-size: 26rpx; |
| | | } |
| | | |
| | | .data { |
| | | font-size: 40rpx; |
| | | margin-top: 10rpx; |
| | | |
| | | .unit { |
| | | font-size: 24rpx; |
| | | margin-left: 14rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .sport_analysis_view { |
| | | width: 100%; |
| | | padding: 20rpx; |
| | | position: relative; |
| | | background-color: #312C34; |
| | | color: #FFFFFF; |
| | | box-sizing: border-box; |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | |
| | | .top { |
| | | width: 100%; |
| | | height: 120rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .icon-feiji { |
| | | margin-top: 10rpx; |
| | | } |
| | | |
| | | .title { |
| | | margin-left: 10rpx; |
| | | } |
| | | } |
| | | |
| | | .middle { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | font-size: 28rpx; |
| | | |
| | | .iconfont { |
| | | font-size: 28rpx; |
| | | margin-right: 10rpx; |
| | | margin-top: 4rpx; |
| | | } |
| | | |
| | | .left { |
| | | width: 50%; |
| | | height: 60rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | } |
| | | |
| | | .right { |
| | | width: 50%; |
| | | height: 60rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | } |
| | | } |
| | | |
| | | .bottom { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | font-size: 28rpx; |
| | | |
| | | .iconfont { |
| | | font-size: 28rpx; |
| | | margin-right: 10rpx; |
| | | margin-top: 4rpx; |
| | | } |
| | | |
| | | .left { |
| | | width: 50%; |
| | | height: 60rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | |
| | | .icon-kongxinyuan { |
| | | color: #6FCEF7; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | width: 50%; |
| | | height: 60rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .heart_rate_range { |
| | | width: 100%; |
| | | position: relative; |
| | | background-color: #312C34; |
| | | color: #FFFFFF; |
| | | box-sizing: border-box; |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | |
| | | .top { |
| | | width: 100%; |
| | | |
| | | &:after { |
| | | content: ""; |
| | | clear: both; |
| | | display: block; |
| | | } |
| | | |
| | | .item { |
| | | float: left; |
| | | width: 33%; |
| | | box-sizing: border-box; |
| | | padding: 30rpx 20rpx; |
| | | text-align: center; |
| | | |
| | | .name { |
| | | font-size: 26rpx; |
| | | } |
| | | |
| | | .data { |
| | | font-size: 40rpx; |
| | | margin-top: 10rpx; |
| | | |
| | | .unit { |
| | | font-size: 24rpx; |
| | | margin-left: 14rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .heart_rate_chart { |
| | | display: flex; |
| | | justify-content: center; |
| | | width: 100%; |
| | | position: relative; |
| | | background-color: #312C34; |
| | | color: #FFFFFF; |
| | | box-sizing: border-box; |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .title_view { |
| | | display: flex; |
| | | width: 100%; |
| | | align-items: center; |
| | | height: 150rpx; |
| | | |
| | | .left { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .iconfont { |
| | | font-size: 40rpx !important; |
| | | } |
| | | |
| | | .title { |
| | | font-size: 34rpx; |
| | | margin-left: 20rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .heart_rate_view { |
| | | display: flex; |
| | | width: 100%; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | height: 150rpx; |
| | | |
| | | .left { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .icon-zhexiantu { |
| | | font-size: 26rpx; |
| | | } |
| | | |
| | | .title { |
| | | font-size: 34rpx; |
| | | margin-left: 20rpx; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | font-size: 22rpx; |
| | | padding: 10rpx 30rpx; |
| | | border-radius: 40rpx; |
| | | background-color: #342E39; |
| | | } |
| | | } |
| | | |
| | | .consume_view { |
| | | display: flex; |
| | | justify-content: center; |
| | | width: 100%; |
| | | height: 190rpx; |
| | | position: relative; |
| | | margin-top: 100rpx; |
| | | background-color: #312C34; |
| | | color: #FFFFFF; |
| | | box-sizing: border-box; |
| | | border-radius: 10rpx; |
| | | |
| | | .consume_img { |
| | | width: 240rpx; |
| | | height: auto; |
| | | position: absolute; |
| | | top: -80rpx; |
| | | left: 20rpx; |
| | | } |
| | | |
| | | .consume_icon { |
| | | font-size: 220rpx; |
| | | position: absolute; |
| | | top: -80rpx; |
| | | left: 20rpx; |
| | | } |
| | | |
| | | .desc { |
| | | position: absolute; |
| | | right: 80rpx; |
| | | top: 20rpx; |
| | | |
| | | view { |
| | | padding: 10rpx 0; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .left { |
| | | font-size: 50rpx; |
| | | } |
| | | |
| | | .right { |
| | | font-size: 30rpx; |
| | | margin-left: 10rpx; |
| | | font-weight: 400; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .text-green { |
| | | color: #10A764; |
| | | } |
| | | |
| | | .text_gray { |
| | | color: #8E8B8B; |
| | | } |
| | | |
| | | .small_text { |
| | | font-size: 24rpx; |
| | | } |
| | | |
| | | .font-s-34 { |
| | | font-size: 34rpx; |
| | | } |
| | | |
| | | .font-s-36 { |
| | | font-size: 36rpx; |
| | | } |
| | | |
| | | .font-s-38 { |
| | | font-size: 38rpx; |
| | | } |
| | | |
| | | .font-s-40 { |
| | | font-size: 40rpx; |
| | | } |
| | | |
| | | .middle_text { |
| | | font-size: 36rpx; |
| | | } |
| | | |
| | | .text_wide_900 { |
| | | font-weight: 900; |
| | | } |
| | | |
| | | .text_wide_600 { |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .census_view { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-around; |
| | | |
| | | .left { |
| | | text-align: left; |
| | | |
| | | view { |
| | | padding: 10rpx 0; |
| | | } |
| | | } |
| | | |
| | | .center { |
| | | text-align: center; |
| | | |
| | | view { |
| | | padding: 10rpx 0; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | text-align: right; |
| | | |
| | | view { |
| | | padding: 10rpx 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .score_view { |
| | | width: 100%; |
| | | |
| | | .title { |
| | | color: #8E8B8B; |
| | | font-size: 24rpx; |
| | | } |
| | | |
| | | .detail { |
| | | height: 120rpx; |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: flex-end; |
| | | |
| | | .icon-up { |
| | | margin-left: 40rpx; |
| | | height: 54rpx; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .socre { |
| | | font-size: 80rpx; |
| | | font-weight: 900; |
| | | } |
| | | |
| | | .up_socre { |
| | | color: #10A764; |
| | | height: 50rpx; |
| | | font-size: 24rpx; |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .head { |
| | | height: 140rpx; |
| | | line-height: 140rpx; |
| | | position: relative; |
| | | |
| | | .title { |
| | | font-size: 40rpx; |
| | | margin-left: 20rpx; |
| | | } |
| | | |
| | | .customer_img { |
| | | position: absolute; |
| | | bottom: 0rpx; |
| | | right: 20rpx; |
| | | width: 100rpx; |
| | | height: 100rpx; |
| | | margin: 0; |
| | | padding: 0; |
| | | background-size: 100% 100%; |
| | | border-radius: 100%; |
| | | overflow: hidden; |
| | | |
| | | .img { |
| | | height: auto; |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .li_7 { |
| | | list-style-type: none; |
| | | } |
| | | |
| | | .nav { |
| | | position: fixed; |
| | | top: 50rpx; |
| | | left: 20rpx; |
| | | } |
| | | } |
| | | |
| | | .consume_view:nth-child(even) { |
| | | margin-right: 4%; |
| | | } |
| | | |
| | | .consume_tip { |
| | | display: inline-block; |
| | | text-align: center; |
| | | width: 188rpx; |
| | | height: 30rpx; |
| | | line-height: 30rpx; |
| | | position: absolute; |
| | | top: 36rpx; |
| | | right: -44rpx; |
| | | z-index: 2; |
| | | overflow: hidden; |
| | | transform: rotate(45deg); |
| | | -ms-transform: rotate(45deg); |
| | | -moz-transform: rotate(45deg); |
| | | -webkit-transform: rotate(45deg); |
| | | -o-transform: rotate(45deg); |
| | | border: 1px dashed; |
| | | box-shadow: 0 0 0 3px #10A764, 0px 21px 5px -18px rgba(0, 0, 0, 0.6); |
| | | background: #10A764; |
| | | font-size: 16rpx; |
| | | } |
| | | |
| | | .wrap { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top: -12rpx; |
| | | left: 12rpx; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .wrap:before { |
| | | content: ""; |
| | | display: block; |
| | | border-radius: 8px 8px 0px 0px; |
| | | width: 80rpx; |
| | | height: 14rpx; |
| | | position: absolute; |
| | | right: 68rpx; |
| | | top: -1px; |
| | | background: #4D6530; |
| | | } |
| | | |
| | | .wrap:after { |
| | | content: ""; |
| | | display: block; |
| | | border-radius: 0px 8px 8px 0px; |
| | | width: 14rpx; |
| | | height: 80rpx; |
| | | position: absolute; |
| | | right: -1px; |
| | | top: 66rpx; |
| | | background: #4D6530; |
| | | }</style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | let isReadyLogin = 1 |
| | | let loginFlag = 1 |
| | | export default { |
| | | //æç¤ºçª |
| | | tipMsg: function (title, icon, time, mask,callback) { |
| | | title = title == undefined ? "ç³»ç»ç¹å¿" : title; |
| | | icon = icon == undefined ? "none" : icon; |
| | | time = time == undefined ? 1300 : time; |
| | | mask = mask == undefined ? true : mask; |
| | | uni.showToast({ |
| | | title: title, |
| | | icon: icon, |
| | | mask: mask, |
| | | duration: time, |
| | | success() { |
| | | if(callback){ |
| | | setTimeout(()=>{ |
| | | callback() |
| | | },time); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getTelephoneInfo(){ |
| | | return new Promise((resolve, reject) => { |
| | | var data = uni.getStorageSync("telephoneInfo"); |
| | | if(!data){ |
| | | // è·åå³ä¸è§è¶åçä½ç½®ä¿¡æ¯ |
| | | //#ifndef H5 |
| | | let btn = wx.getMenuButtonBoundingClientRect(); |
| | | uni.getSystemInfo({ |
| | | success: e => { |
| | | let info = { |
| | | screenHeight:e.screenHeight, |
| | | statusBarHeight:e.statusBarHeight, |
| | | windowWidth:e.windowWidth, |
| | | top:btn.top |
| | | } |
| | | uni.setStorageSync("telephoneInfo",info); |
| | | resolve(info); |
| | | }, |
| | | fail: (err) => { |
| | | reject(err); |
| | | } |
| | | }) |
| | | //#endif |
| | | }else{ |
| | | resolve(data); |
| | | } |
| | | }) |
| | | }, |
| | | // è·åå½åå¹´ææ¥ |
| | | getNowDate(){ |
| | | let date = new Date; |
| | | let now = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate(); |
| | | return now; |
| | | }, |
| | | // è·åä¸ä¸ªæçå¹´ææ¥ |
| | | getPreMonth(date) { |
| | | var arr = date.split('-'); |
| | | var year = arr[0]; //è·åå½åæ¥æç年份 |
| | | var month = arr[1]; //è·åå½åæ¥æçæä»½ |
| | | var day = arr[2]; //è·åå½åæ¥æçæ¥ |
| | | var days = new Date(year, month, 0); |
| | | days = days.getDate(); //è·åå½åæ¥æä¸æçå¤©æ° |
| | | var year2 = year; |
| | | var month2 = parseInt(month) - 1; |
| | | if (month2 == 0) { |
| | | year2 = parseInt(year2) - 1; |
| | | month2 = 12; |
| | | } |
| | | var day2 = day; |
| | | var days2 = new Date(year2, month2, 0); |
| | | days2 = days2.getDate(); |
| | | if (day2 > days2) { |
| | | day2 = days2; |
| | | } |
| | | if (month2 < 10) { |
| | | month2 = '0' + month2; |
| | | } |
| | | var t2 = year2 + '-' + month2 + '-' + "01"; |
| | | return t2; |
| | | }, |
| | | //æ£æµå°ç¨åºæ´æ° |
| | | checkUpdateVersion(){ |
| | | //æ°çæ¬æ´æ° |
| | | if (uni.canIUse('getUpdateManager')) { |
| | | //夿å½åå¾®ä¿¡çæ¬æ¯å¦æ¯æçæ¬æ´æ° |
| | | const updateManager = uni.getUpdateManager(); |
| | | updateManager.onCheckForUpdate(function (res) { |
| | | if (res.hasUpdate) { |
| | | // 请æ±å®æ°çæ¬ä¿¡æ¯çåè° |
| | | updateManager.onUpdateReady(function () { |
| | | uni.showModal({ |
| | | title: 'æ´æ°æç¤º', |
| | | content: 'å·²æ´æ°çæ¬ï¼æ¯å¦éå¯å°ç¨åºï¼', |
| | | showCancel:false, |
| | | cancelColor:'#eeeeee', |
| | | confirmColor:'#40A2ED', |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | // æ°ççæ¬å·²ç»ä¸è½½å¥½ï¼è°ç¨ applyUpdate åºç¨æ°çæ¬å¹¶éå¯ |
| | | updateManager.applyUpdate(); |
| | | } |
| | | }, |
| | | }); |
| | | }); |
| | | // æ°ççæ¬ä¸è½½å¤±è´¥ |
| | | updateManager.onUpdateFailed(function () { |
| | | uni.showModal({ |
| | | title: 'æ´æ°å¤±è´¥', |
| | | content: 'è¯·æ£æ¥ç½ç»è®¾ç½®ï¼è¥ä»æ´æ°å¤±è´¥ï¼éæ°æç´¢æå¼', |
| | | success(res) { |
| | | if (res.confirm) { |
| | | // æ°ççæ¬å·²ç»ä¸è½½å¥½ï¼è°ç¨ applyUpdate åºç¨æ°çæ¬å¹¶éå¯ |
| | | updateManager.applyUpdate(); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showModal({ |
| | | // å¦æå¸æç¨æ·å¨ææ°çæ¬ç客æ·ç«¯ä¸ä½éªæ¨çå°ç¨åºï¼å¯ä»¥è¿æ ·åæç¤º |
| | | title: 'æç¤º', |
| | | content: 'å½åå¾®ä¿¡çæ¬è¿ä½ï¼æ æ³ä½¿ç¨è¯¥åè½ï¼è¯·åçº§å°ææ°å¾®ä¿¡çæ¬åéè¯ã', |
| | | }); |
| | | } |
| | | }, |
| | | /** |
| | | * @param {string} url ç®æ 页é¢çè·¯ç± |
| | | * @param {Object} param ä¼ éç»ç®æ 页é¢çåæ° |
| | | * @description å¤çç®æ 页é¢çåæ°ï¼è½¬æjsonåç¬¦ä¸²ä¼ éç»paramåæ®µï¼å¨ç®æ 页é¢éè¿JSON.parse(options.param)æ¥æ¶ |
| | | */ |
| | | navigateTo(url, param = {},flag) { |
| | | if(isReadyLogin<=0 && !flag){ |
| | | this.loginTip(); |
| | | }else{ |
| | | let part = ''; |
| | | for(var item in param){ |
| | | part += '&' + item + '=' + param[item]; |
| | | } |
| | | url = url + part.replace('&','?'); |
| | | uni.navigateTo({ |
| | | url: url, |
| | | fail:err=> { |
| | | this.tipMsg('页颿£å¨ç«éå¼åä¸ï¼æ¬è¯·æå¾
ï¼'); |
| | | }, |
| | | }) |
| | | } |
| | | }, |
| | | navigateBack(url, param = {}) { |
| | | if (loginFlag <= 0) { |
| | | this.tipMsg("徿±æ,ä½ æ²¡ææéï¼"); |
| | | } else { |
| | | let part = ''; |
| | | for (var item in param) { |
| | | part += '&' + item + '=' + param[item]; |
| | | } |
| | | url = "/pages" + url + part.replace('&', '?'); |
| | | uni.navigateBack({ |
| | | url: url, |
| | | fail: err => { |
| | | this.tipMsg('ææªå¼æ¾è¯¥åè½ï¼'); |
| | | }, |
| | | }) |
| | | } |
| | | }, |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | const COLOR = [ |
| | | "#EE6A66", "#6BC588", "#FFC300", "#24ABFD" |
| | | ]; |
| | | |
| | | var ISCANVAS2D = true; |
| | | |
| | | switch (uni.getSystemInfoSync().platform) { |
| | | case 'android': |
| | | ISCANVAS2D = true |
| | | break; |
| | | case 'ios': |
| | | ISCANVAS2D = true |
| | | break; |
| | | default: |
| | | ISCANVAS2D = false |
| | | break; |
| | | } |
| | | |
| | | const RESPOND = { |
| | | success: 0, |
| | | warn: 301, |
| | | error: 500, |
| | | }; |
| | | |
| | | const TIMEARRAY = [ |
| | | { |
| | | text: 'å½å¤©', |
| | | value: 'today' |
| | | }, |
| | | { |
| | | text: 'æ¨å¤©', |
| | | value: 'yesterday' |
| | | }, |
| | | { |
| | | text: 'æ¬å¨', |
| | | value: 'week' |
| | | }, |
| | | { |
| | | text: 'ä¸å¨', |
| | | value: 'weeklast' |
| | | }, |
| | | { |
| | | text: 'æ¬æ', |
| | | value: 'month' |
| | | }, |
| | | { |
| | | text: '䏿', |
| | | value: 'monthlast' |
| | | }, |
| | | { |
| | | text: 'æå®æ¥æ', |
| | | value: 'auto' |
| | | } |
| | | ]; |
| | | const TABLIST = [ |
| | | {name:"ä¼ä¸å¾®ä¿¡",type:"WECHAT"}, |
| | | {name:"ä¼åè¿è¥",type:"OPERATE"}, |
| | | {name:"ä¼åå¥åº·",type:"GJJK"}, |
| | | {name:"ä¼åæå¡",type:"SERVICE"}, |
| | | ]; |
| | | |
| | | const CARD_MENU = [ |
| | | {title:"ä¼åæ¥è¡¨ä¸å¿",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRp4iV.jpg",url:"/myPackageA/pages/main/index"}, |
| | | {title:"æºæ
§æè²æ¥è¡¨ä¸å¿",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRp5GT.jpg",url:"/myPackageA/pages/school/index"}, |
| | | {title:"å·®æ
æ¥è¡¨ä¸å¿",author:"ç§äº",img:"https://s1.ax1x.com/2023/03/31/ppRpfI0.jpg",url:""}, |
| | | {title:"è¿å¨æ¥è¡¨ä¸å¿",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRpWaq.jpg",url:"/myPackageA/pages/sport/index"}, |
| | | {title:"è´¢å¡æ¥è¡¨ä¸å¿",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRpozF.jpg",url:"/myPackageA/pages/finance/index"}, |
| | | ] |
| | | |
| | | |
| | | export default { |
| | | COLOR, |
| | | TIMEARRAY, |
| | | TABLIST, |
| | | RESPOND, |
| | | ISCANVAS2D, |
| | | CARD_MENU |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "expend":{ |
| | | "categories": [ |
| | | "1æ", |
| | | "2æ", |
| | | "2æ", |
| | | "4æ", |
| | | "5æ" |
| | | ], |
| | | "series": [ |
| | | { |
| | | "name": "æ¯åºæ
åµ", |
| | | "data": [1201,2501.5,985,1760,2013.85], |
| | | "type": "line", |
| | | "style": "curve", |
| | | "color": "#4ECDB6", |
| | | "unit":"" |
| | | } |
| | | ], |
| | | "yAxis":[ |
| | | {"calibration":true,"position":"left","title":"åä½/å
","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true} |
| | | ] |
| | | }, |
| | | "income":{ |
| | | "categories": [ |
| | | "1æ", |
| | | "2æ", |
| | | "2æ", |
| | | "4æ", |
| | | "5æ" |
| | | ], |
| | | "series": [ |
| | | { |
| | | "name": "æ¶å
¥æ
åµ", |
| | | "data": [1601,1840.5,1900,1760,1500.85], |
| | | "type": "line", |
| | | "style": "curve", |
| | | "color": "#4ECDB6", |
| | | "unit":"" |
| | | } |
| | | ], |
| | | "yAxis":[ |
| | | {"calibration":true,"position":"left","title":"åä½/å
","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true} |
| | | ] |
| | | }, |
| | | "remaining":{ |
| | | "categories": [ |
| | | "1æ", |
| | | "2æ", |
| | | "2æ", |
| | | "4æ", |
| | | "5æ" |
| | | ], |
| | | "series": [ |
| | | { |
| | | "name": "ç»ä½æ
åµ", |
| | | "data": [815,712.5,378,450,600.85], |
| | | "type": "line", |
| | | "style": "curve", |
| | | "color": "#4ECDB6", |
| | | "unit":"" |
| | | } |
| | | ], |
| | | "yAxis":[ |
| | | {"calibration":true,"position":"left","title":"åä½/å
","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true} |
| | | ] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "series": [ |
| | | { |
| | | "data":[ |
| | | { |
| | | "name": "使¿ç¸å
³", |
| | | "value": 3200, |
| | | "color":"#4DCCB3" |
| | | }, |
| | | { |
| | | "name": "é£åé
æ°´", |
| | | "value": 1020, |
| | | "color":"#5A77EC" |
| | | }, |
| | | { |
| | | "name": "娱ä¹ä¼é²", |
| | | "value": 500, |
| | | "color":"#4E94EC" |
| | | }, |
| | | { |
| | | "name": "交æµé讯", |
| | | "value": 214.5, |
| | | "color":"#4FD4EB" |
| | | }, |
| | | { |
| | | "name": "å
¶ä»", |
| | | "value": 320.13, |
| | | "color":"#B5ED21" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "name":"课é¢ç ç©¶", |
| | | "num":500, |
| | | "width":"", |
| | | "background":"#FFBE68" |
| | | }, |
| | | { |
| | | "name":"论æåå¸", |
| | | "num":300, |
| | | "width":"", |
| | | "background":"#0FEBE1" |
| | | }, |
| | | { |
| | | "name":"å®è·µç ç©¶", |
| | | "num":455, |
| | | "width":"", |
| | | "background":"#BF8DFC" |
| | | }, |
| | | { |
| | | "name":"è¯æ", |
| | | "num":601, |
| | | "width":"", |
| | | "background":"#FF859C" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "series": [ |
| | | { |
| | | "data": [ |
| | | { |
| | | "name": "æ¬ç§", |
| | | "value": 168, |
| | | "color": "#FFBF31" |
| | | }, |
| | | { |
| | | "name": "大ä¸", |
| | | "value": 144, |
| | | "color": "#3CEFC4" |
| | | }, |
| | | { |
| | | "name": "å士", |
| | | "value": 123, |
| | | "color": "#FFA9B3" |
| | | }, |
| | | { |
| | | "name": "ç¡å£«", |
| | | "value": 96, |
| | | "color": "#3CBBFF" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories":["è¯æ","æ°å¦","è±è¯","ç©ç","åå¦","çç©"], |
| | | "series":[ |
| | | { |
| | | "name":"ä¸ç", |
| | | "area":[123.45,234,192.5,245], |
| | | "color":"#1890ff", |
| | | "data":[90,110,165,195,187,172], |
| | | "index":0, |
| | | "legendShape":"circle", |
| | | "pointShape":"", |
| | | "show": true, |
| | | "type": "radar" |
| | | }, |
| | | { |
| | | "name":"äºç", |
| | | "area":[192.5,234,261.55,245], |
| | | "color":"#2fc25b", |
| | | "data":[190,210,105,35,27,102], |
| | | "index":0, |
| | | "legendShape":"circle", |
| | | "pointShape":"", |
| | | "show": true, |
| | | "type": "radar" |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1", |
| | | "2", |
| | | "2", |
| | | "4", |
| | | "5", |
| | | "6", |
| | | "7", |
| | | "8", |
| | | "9", |
| | | "10", |
| | | "11", |
| | | "12" |
| | | ], |
| | | "series": [ |
| | | { |
| | | "name": "å¾ä¹¦åé
人æ°", |
| | | "data": [6,8,9,8.2,7.5,9,10.3,8,12,6.2,7.2,4.5], |
| | | "type": "line", |
| | | "style": "curve", |
| | | "color": "#A800FB", |
| | | "unit":"" |
| | | } |
| | | ], |
| | | "yAxis":[ |
| | | {"calibration":true,"position":"left","title":"åä½/å","titleFontSize":12,"unit":"","tofix":0,"min":0,"max":20,"disableGrid":true} |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "series": [{ |
| | | "name": "æ¿æ´»æ¾æ¾", |
| | | "color": "#FDEC9F", |
| | | "data": [ |
| | | ["17:24", 75], |
| | | ["17:26", 83], |
| | | ["17:28", 88], |
| | | ["17:30", 92] |
| | | ] |
| | | }, |
| | | { |
| | | "name": "卿ç身", |
| | | "color": "#FBCD2B", |
| | | "data": [ |
| | | ["17:30", 92], |
| | | ["17:32", 96], |
| | | ["17:34", 94], |
| | | ["17:36", 93.5], |
| | | ["17:38", 94.6], |
| | | ["17:40", 98] |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç³åæ¶è", |
| | | "color": "#FC9E83", |
| | | "data": [ |
| | | ["17:40", 98], |
| | | ["17:42", 100], |
| | | ["17:44", 104], |
| | | ["17:46", 113], |
| | | ["17:48", 142] |
| | | ] |
| | | }, |
| | | { |
| | | "name": "èèªçç§", |
| | | "color": "#EF6DCF", |
| | | "data": [ |
| | | ["17:48", 142], |
| | | ["17:50", 130], |
| | | ["17:52", 134], |
| | | ["17:54", 150], |
| | | ["17:56", 148], |
| | | ["17:58", 142], |
| | | ["18:00", 132], |
| | | ["18:02", 136], |
| | | ["18:04", 136.5] |
| | | ] |
| | | }, |
| | | { |
| | | "name": "å¿èºè®ç»", |
| | | "color": "#BC38E5", |
| | | "data": [ |
| | | ["18:04", 136.5], |
| | | ["18:06", 140], |
| | | ["18:08", 135], |
| | | ["18:10", 130], |
| | | ["18:12", 124], |
| | | ["18:14", 120], |
| | | ["18:16", 118], |
| | | ["18:18", 116.5], |
| | | ["18:20", 112] |
| | | ] |
| | | }, { |
| | | "name": "æéé»ç¼", |
| | | "color": "#8908FA", |
| | | "data": [ |
| | | ["18:20", 112], |
| | | ["18:22", 123], |
| | | ["18:24", 130], |
| | | ["18:26", 138], |
| | | ["18:28", 116], |
| | | ["18:30", 123], |
| | | ["18:32", 128], |
| | | ["18:34", 126], |
| | | ["18:36", 137] |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "series": [ |
| | | { |
| | | "data": [ |
| | | { |
| | | "name": "æ¿æ´»æ¾æ¾", |
| | | "value": 5, |
| | | "color": "#FDEC9F" |
| | | }, |
| | | { |
| | | "name": "卿ç身", |
| | | "value": 13, |
| | | "color": "#FBCD2B" |
| | | }, |
| | | { |
| | | "name": "ç³åæ¶è", |
| | | "value": 8, |
| | | "color": "#FC9E83" |
| | | }, |
| | | { |
| | | "name": "èèªçç§", |
| | | "value": 24, |
| | | "color": "#EF6DCF" |
| | | }, |
| | | { |
| | | "name": "å¿èºè®ç»", |
| | | "value": 7, |
| | | "color": "#BC38E5" |
| | | }, |
| | | { |
| | | "name": "æéé»ç¼", |
| | | "value": 16, |
| | | "color": "#8908FA" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1", |
| | | "2", |
| | | "3", |
| | | "4", |
| | | "5" |
| | | ], |
| | | "series": [ |
| | | { |
| | | "name": "å
¬éé
é", |
| | | "data": [ |
| | | 5.09, |
| | | 6.18, |
| | | 6.38, |
| | | 7.15, |
| | | 9.05 |
| | | ], |
| | | "color":"#FFD597" |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "series": [ |
| | | { |
| | | "name": "é度", |
| | | "color": "#1C9862", |
| | | "index":0, |
| | | "data": [ |
| | | [ |
| | | "17:24", |
| | | 0 |
| | | ], |
| | | [ |
| | | "17:26", |
| | | 1 |
| | | ], |
| | | [ |
| | | "17:28", |
| | | 1.2 |
| | | ], |
| | | [ |
| | | "17:30", |
| | | 1.6 |
| | | ], |
| | | [ |
| | | "17:32", |
| | | 1.8 |
| | | ], |
| | | [ |
| | | "17:34", |
| | | 2 |
| | | ], |
| | | [ |
| | | "17:36", |
| | | 4 |
| | | ], |
| | | [ |
| | | "17:38", |
| | | 6.5 |
| | | ], |
| | | [ |
| | | "17:40", |
| | | 10 |
| | | ], |
| | | [ |
| | | "17:42", |
| | | 13.4 |
| | | ], |
| | | [ |
| | | "17:44", |
| | | 13 |
| | | ], |
| | | [ |
| | | "17:46", |
| | | 12.6 |
| | | ], |
| | | [ |
| | | "17:48", |
| | | 12.2 |
| | | ], |
| | | [ |
| | | "17:50", |
| | | 14 |
| | | ], |
| | | [ |
| | | "17:52", |
| | | 16.8 |
| | | ], |
| | | [ |
| | | "17:54", |
| | | 20 |
| | | ], |
| | | [ |
| | | "17:56", |
| | | 25 |
| | | ], |
| | | [ |
| | | "17:58", |
| | | 23 |
| | | ], |
| | | [ |
| | | "18:00", |
| | | 16 |
| | | ] |
| | | ] |
| | | }, |
| | | { |
| | | "name": "å¿ç", |
| | | "index":1, |
| | | "color": "#FBCD2B", |
| | | "data": [ |
| | | [ |
| | | "17:24", |
| | | 72 |
| | | ], |
| | | [ |
| | | "17:26", |
| | | 73 |
| | | ], |
| | | [ |
| | | "17:28", |
| | | 73.5 |
| | | ], |
| | | [ |
| | | "17:30", |
| | | 74 |
| | | ], |
| | | [ |
| | | "17:32", |
| | | 76.5 |
| | | ], |
| | | [ |
| | | "17:34", |
| | | 78 |
| | | ], |
| | | [ |
| | | "17:36", |
| | | 80 |
| | | ], |
| | | [ |
| | | "17:38", |
| | | 76.3 |
| | | ], |
| | | [ |
| | | "17:40", |
| | | 75 |
| | | ], |
| | | [ |
| | | "17:42", |
| | | 86 |
| | | ], |
| | | [ |
| | | "17:44", |
| | | 84 |
| | | ], |
| | | [ |
| | | "17:46", |
| | | 90 |
| | | ], |
| | | [ |
| | | "17:48", |
| | | 100 |
| | | ], |
| | | [ |
| | | "17:50", |
| | | 112 |
| | | ], |
| | | [ |
| | | "17:52", |
| | | 125 |
| | | ], |
| | | [ |
| | | "17:54", |
| | | 117 |
| | | ], |
| | | [ |
| | | "17:56", |
| | | 110 |
| | | ], |
| | | [ |
| | | "17:58", |
| | | 108 |
| | | ], |
| | | [ |
| | | "18:00", |
| | | 104 |
| | | ] |
| | | ] |
| | | } |
| | | ], |
| | | "yAxis":[ |
| | | {"calibration":true,"position":"left","title":"","titleFontSize":12,"unit":"","tofix":0,"min":0,"max":25,"disableGrid":true}, |
| | | {"calibration":true,"position":"right","title":"","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true} |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "expect": "", |
| | | "now": "", |
| | | "name": "æ¶é´è¿åº¦", |
| | | "value": "60.12" |
| | | }, |
| | | { |
| | | "expect": "30000", |
| | | "now": "36000", |
| | | "dataType": "1", |
| | | "name": "ä¼åææ°", |
| | | "value": "120" |
| | | }, |
| | | { |
| | | "expect": "", |
| | | "now": "", |
| | | "name": "æ«ç æ¸éç", |
| | | "value": "35" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":1, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"1800","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"æ¥åæ°å¢ç®æ ","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"1960","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"彿¥æ°å¢ä¼å","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"36050","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"æ¬ææ°å¢ä¼å","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"3%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"æ¥åç¯æ¯","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1æ11", |
| | | "1æ12", |
| | | "1æ11", |
| | | "1æ14", |
| | | "1æ15" |
| | | ], |
| | | "series": [{ |
| | | "name": "æ°å¢ä¼åæ°", |
| | | "data": [{ |
| | | "value": 5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": -3, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 3.5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 10, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 2.8, |
| | | "color": "#24ABFD" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#24ABFD", |
| | | "unit": "", |
| | | "textNoShow": true |
| | | }, |
| | | { |
| | | "name": "彿¥è¾¾æç", |
| | | "data": [ |
| | | 101, |
| | | 91, |
| | | 97, |
| | | 131, |
| | | 109 |
| | | ], |
| | | "type": "line", |
| | | "addPoint": true, |
| | | "color": "#DF297D", |
| | | "unit": "%", |
| | | "index": 1 |
| | | }, |
| | | { |
| | | "name": "æ¥åè¾¾æç", |
| | | "data": [ |
| | | 102, |
| | | 92, |
| | | 96, |
| | | 115, |
| | | 105 |
| | | ], |
| | | "type": "line", |
| | | "color": "#24ABFD", |
| | | "unit": "%", |
| | | "index": 1 |
| | | } |
| | | ], |
| | | "yAxis": [{ |
| | | "max": 20, |
| | | "min": 0 |
| | | }, { |
| | | "max": 200, |
| | | "min": 0 |
| | | }] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":1, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"42%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"彿¥æ«ç ç","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"37%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"累计æ«ç ç","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":2, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"ç¯æ¯å¢é¿","value":"3.2%","colortext":"#fff","colorvalue":"#fff","size":"24rpx"}, |
| | | {"text":"忝å¢é¿","value":"1.1%","colortext":"#fff","colorvalue":"#fff","size":"24rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1æ11", |
| | | "1æ12", |
| | | "1æ13", |
| | | "1æ14", |
| | | "1æ15" |
| | | ], |
| | | "series": [{ |
| | | "name": "å½å¤©æ«ç ç", |
| | | "data": [ |
| | | 39, |
| | | 34, |
| | | 36, |
| | | 45, |
| | | 38 |
| | | ], |
| | | "type": "line", |
| | | "addPoint": true, |
| | | "color": "#24ABFD", |
| | | "unit": "%" |
| | | }, |
| | | { |
| | | "name": "累计æ«ç ç", |
| | | "data": [ |
| | | 32, |
| | | 30, |
| | | 31, |
| | | 37, |
| | | 35 |
| | | ], |
| | | "type": "line", |
| | | "addPoint": true, |
| | | "color": "#DF297D", |
| | | "unit": "%" |
| | | }, |
| | | { |
| | | "name": "ç®æ æ«ç ç", |
| | | "data": [ |
| | | 40, |
| | | 40, |
| | | 40, |
| | | 40, |
| | | 40 |
| | | ], |
| | | "type": "line", |
| | | "color": "#FF9900", |
| | | "textNoShow": true, |
| | | "unit": "" |
| | | } |
| | | |
| | | ], |
| | | "yAxis": [{ |
| | | "max": 60, |
| | | "min": 0 |
| | | }] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":3, |
| | | "background":["#B678FD","#4A64F9"], |
| | | "content":[ |
| | | {"text":"","value":"38%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"å°ç¨åºè´ä¹°æ´»è·ä¼åå æ¯","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"忝","value":"2.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"ç¯æ¯","value":"3.2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1æ11", |
| | | "1æ12", |
| | | "1æ11", |
| | | "1æ14", |
| | | "1æ15" |
| | | ], |
| | | "series": [{ |
| | | "name": "æ°å¢ä¼åæ°", |
| | | "data": [{ |
| | | "value": 5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": -3, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 3.5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 10, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 2.8, |
| | | "color": "#24ABFD" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#24ABFD", |
| | | "unit": "", |
| | | "textNoShow": true |
| | | }, |
| | | { |
| | | "name": "彿¥è¾¾æç", |
| | | "data": [ |
| | | 101, |
| | | 91, |
| | | 97, |
| | | 131, |
| | | 109 |
| | | ], |
| | | "type": "line", |
| | | "addPoint": true, |
| | | "color": "#DF297D", |
| | | "unit": "%", |
| | | "index": 1 |
| | | }, |
| | | { |
| | | "name": "æ¥åè¾¾æç", |
| | | "data": [ |
| | | 102, |
| | | 92, |
| | | 96, |
| | | 115, |
| | | 105 |
| | | ], |
| | | "type": "line", |
| | | "style": "curve", |
| | | "color": "#ff9900", |
| | | "unit": "%", |
| | | "index": 1 |
| | | }, |
| | | { |
| | | "name": "æ¥åè¾¾æç", |
| | | "data": [ |
| | | 102, |
| | | 92, |
| | | 96, |
| | | 115, |
| | | 105 |
| | | ], |
| | | "type": "area", |
| | | "color": "#ff9900", |
| | | "unit": "%", |
| | | "index": 1 |
| | | } |
| | | ], |
| | | "yAxis": [{ |
| | | "max": 20, |
| | | "min": 0 |
| | | }, { |
| | | "max": 200, |
| | | "min": 0 |
| | | }] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "expect": "", |
| | | "now": "", |
| | | "name": "æ¶é´è¿åº¦", |
| | | "value": "50.88" |
| | | }, |
| | | { |
| | | "expect": "54800", |
| | | "now": "51000", |
| | | "dataType": "1", |
| | | "name": "æ°å¼ä¼å", |
| | | "value": "93.07" |
| | | }, |
| | | { |
| | | "expect": "30000", |
| | | "now": "25600", |
| | | "dataType": "1", |
| | | "name": "æ°å¢æ¶è´¹ä¼å", |
| | | "value": "85.33" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":5, |
| | | "background":["#F77E89","#F7953B"], |
| | | "content":[ |
| | | {"text":"æ«ä¸æ«","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"63%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"ç¯æ¯","value":"81.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"忝","value":"-81.3%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"å¹³ååèæ°´å¹³","value":"85%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":5, |
| | | "background":["#F77E89","#F7953B"], |
| | | "content":[ |
| | | {"text":"äºç»´ç è¯å«","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"13%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"ç¯æ¯","value":"2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"忝","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"å¹³ååèæ°´å¹³","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":5, |
| | | "background":["#F77E89","#F7953B"], |
| | | "content":[ |
| | | {"text":"æè¿ä½¿ç¨","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"21%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"ç¯æ¯","value":"1%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"忝","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"å¹³ååèæ°´å¹³","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":5, |
| | | "background":["#F77E89","#F7953B"], |
| | | "content":[ |
| | | {"text":"ä¼åéå®å æ¯","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"80%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"ç¯æ¯","value":"81.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"忝","value":"-81.3%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"å¹³ååèæ°´å¹³","value":"85%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":5, |
| | | "background":["#F77E89","#F7953B"], |
| | | "content":[ |
| | | {"text":"ä¼å客æµå æ¯","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"79%","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"ç¯æ¯","value":"2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"忝","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"å¹³ååèæ°´å¹³","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":5, |
| | | "background":["#F77E89","#F7953B"], |
| | | "content":[ |
| | | {"text":"ä¼å客åä»·","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"79å
","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"ç¯æ¯","value":"1%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"忝","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}, |
| | | {"text":"å¹³ååèæ°´å¹³","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1å¨", |
| | | "2å¨", |
| | | "3å¨", |
| | | "4å¨", |
| | | "5å¨" |
| | | ], |
| | | "series": [{ |
| | | "name": "忝å¢é¿ç", |
| | | "data": [{ |
| | | "value": 5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": -3, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 3.5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 10, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 2.8, |
| | | "color": "#24ABFD" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#24ABFD", |
| | | "index": 1, |
| | | "unit": "%" |
| | | }, |
| | | { |
| | | "name": "æ¶è´¹éé¢", |
| | | "data": [ |
| | | 1850, |
| | | 1660, |
| | | 1760, |
| | | 2360, |
| | | 1970 |
| | | ], |
| | | "type": "line", |
| | | "addPoint": true, |
| | | "color": "#DF297D", |
| | | "unit": "" |
| | | } |
| | | ], |
| | | "target": 1800, |
| | | "yAxis": [{ |
| | | "max": 3000, |
| | | "min": 0 |
| | | }, { |
| | | "max": 20, |
| | | "min": 0 |
| | | }], |
| | | "targetAdd": "9%" |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "headers":[ |
| | | { |
| | | "label": "æè¿æ´»è·æ¶é´", |
| | | "key": "col1" |
| | | }, { |
| | | "label": "人æ°", |
| | | "key": "col2" |
| | | }, { |
| | | "label": "人æ°å æ¯", |
| | | "key": "col3" |
| | | }, { |
| | | "label": "æ´»è·ä¼åç¯æ¯", |
| | | "key": "col4" |
| | | }, { |
| | | "label": "æ´»è·æ¶è´¹äººæ°å æ¯", |
| | | "key": "col5" |
| | | } |
| | | ], |
| | | "contents":[ |
| | | { |
| | | "col1": "0-30天", |
| | | "col2": "15350", |
| | | "col3": "45", |
| | | "col4": "9.5", |
| | | "col5": "29" |
| | | }, { |
| | | "col1": "30-60天", |
| | | "col2": "15350", |
| | | "col3": "13", |
| | | "col4": "-2.5", |
| | | "col5": "-25" |
| | | }, { |
| | | "col1": "60-90天", |
| | | "col2": "15371", |
| | | "col3": "15", |
| | | "col4": "-5.2", |
| | | "col5": "63" |
| | | }, { |
| | | "col1": "90-120天", |
| | | "col2": "12340", |
| | | "col3": "12", |
| | | "col4": "2.9", |
| | | "col5": "-12" |
| | | }, { |
| | | "col1": "120-180天", |
| | | "col2": "12360", |
| | | "col3": "17", |
| | | "col4": "3.5", |
| | | "col5": "11" |
| | | } |
| | | ], |
| | | "sortCol":[ |
| | | { |
| | | "key": "col1", |
| | | "isNumber": false |
| | | }, { |
| | | "key": "col2", |
| | | "isNumber": true |
| | | }, |
| | | { |
| | | "key": "col3", |
| | | "isNumber": true |
| | | }, |
| | | { |
| | | "key": "col4", |
| | | "isNumber": true |
| | | }, |
| | | { |
| | | "key": "col5", |
| | | "isNumber": true |
| | | } |
| | | ], |
| | | "computedCol":["col2","col3","col4","col5"], |
| | | "formatCol":[{ |
| | | "key": "col3", |
| | | "template": "#col3#%", |
| | | "bottomComputedFormat": true |
| | | }, { |
| | | "key": "col4", |
| | | "template": "#col4#%", |
| | | "bottomComputedFormat": true |
| | | }, { |
| | | "key": "col5", |
| | | "template": "#col5#%", |
| | | "bottomComputedFormat": true |
| | | }] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [{ |
| | | "series": [{ |
| | | "color": "#24ABFD", |
| | | "data": 0.18, |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "å½åè±è½ç", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar" |
| | | }] |
| | | }, |
| | | { |
| | | "series": [{ |
| | | "color": "#F04864", |
| | | "data": 0.25, |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "è±è½çè¦ç¤ºçº¿", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar" |
| | | }] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "é«è¡å", |
| | | "ç³å°¿ç
", |
| | | "çé£", |
| | | "è¡è", |
| | | "å°¿é
¸" |
| | | ], |
| | | "series": [{ |
| | | "name": "ä»å¨è±è½ç", |
| | | "data": [{ |
| | | "value": 6, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 3.2, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 5.5, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 8, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 6, |
| | | "color": "#24ABFD" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#24ABFD", |
| | | "unit": "%" |
| | | }] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [{ |
| | | "series": [{ |
| | | "color": "#24ABFD", |
| | | "data": 0.75, |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "å½åè±è½ç", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar" |
| | | }] |
| | | }, |
| | | { |
| | | "series": [{ |
| | | "color": "#F04864", |
| | | "data": 0.33, |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "è±è½çè¦ç¤ºçº¿", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar" |
| | | }] |
| | | } |
| | | ] |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "series": [{ |
| | | "color": "#fff", |
| | | "data": 0.224, |
| | | "precent":"22.4%", |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "B2Céå®é¢", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar", |
| | | "value":"12786", |
| | | "backgroundColor":"#00AEF9" |
| | | }] |
| | | }, |
| | | { |
| | | "series": [{ |
| | | "color": "#fff", |
| | | "data": 0.3717, |
| | | "precent":"37.17%", |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "B2Cæ¯å©ç", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar", |
| | | "value":"1096", |
| | | "backgroundColor":"#F55676" |
| | | }] |
| | | }, |
| | | { |
| | | "series": [{ |
| | | "color": "#fff", |
| | | "data": 0.0017, |
| | | "precent":"0.17%", |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "O2Oéå®é¢", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar", |
| | | "value":"147604", |
| | | "backgroundColor":"#FAB215" |
| | | }] |
| | | }, |
| | | { |
| | | "series": [{ |
| | | "color": "#fff", |
| | | "data": 0.6321, |
| | | "precent":"63.21%", |
| | | "index": 0, |
| | | "legendShape": "circle", |
| | | "name": "O2Oæ¯å©ç", |
| | | "pointShape": "circle", |
| | | "show": true, |
| | | "type": "arcbar", |
| | | "value":"173", |
| | | "backgroundColor":"#2EC693" |
| | | }] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "series": [ |
| | | { |
| | | "name": "任塿 æè¿ä½¿ç¨", |
| | | "data": 500, |
| | | "color":"#2fc25b" |
| | | }, |
| | | { |
| | | "name": "æè¿ä½¿ç¨å°ç¨åºå表", |
| | | "data": 623, |
| | | "color":"#facc14" |
| | | }, |
| | | { |
| | | "name": "ææºç³»ç»", |
| | | "data": 123, |
| | | "color":"#f04864" |
| | | }, |
| | | { |
| | | "name": "任塿 æçå°ç¨åº", |
| | | "data": 96, |
| | | "color":"#8543e0" |
| | | }, |
| | | { |
| | | "name": "å
¶ä»", |
| | | "data": 423, |
| | | "color":"#51c2d5" |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "å¨ä¸",
"å¨äº",
"å¨ä¸",
"å¨å",
"å¨äº",
|
| | | "å¨å
",
|
| | | "卿¥"
|
| | | ], |
| | | "series": [ |
| | | { |
| | | "name": "èä¼å",
"data": [
1850,
1660,
1760,
2360,
1560,
1970,
2570
],
"type": "line",
|
| | | "style": "curve",
|
| | | "addPoint": true,
"color": "#DF297D",
|
| | | "unit":""
|
| | | },
|
| | | {
|
| | | "name": "æ°ä¼å",
|
| | | "data": [
|
| | | 450,
|
| | | 260,
|
| | | 360,
|
| | | 560,
|
| | | 460,
|
| | | 170,
|
| | | 570
|
| | | ],
|
| | | "type": "line",
|
| | | "style": "curve",
|
| | | "addPoint": true,
|
| | | "color": "#ff9900",
|
| | | "unit":""
|
| | | } |
| | | ],
|
| | | "yAxis":[
|
| | | {"calibration":true,"position":"left","min":0,"max":3000,"title":"","titleFontSize":12,"unit":"ä¸","tofix":0}
|
| | | ],
|
| | | "targetAdd":"9%" |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":4, |
| | | "background":["#0081ff","#1cbbb4"], |
| | | "content":[ |
| | | {"text":"å·²è¯ä»·æ°","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"161","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"å¢é¿","value":"","colortext":"#fff","colorvalue":"","size":"20rpx"}, |
| | | {"text":"up","value":"325","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":4, |
| | | "background":["#0081ff","#1cbbb4"], |
| | | "content":[ |
| | | {"text":"å¹³åå","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"82","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"å¢é¿","value":"","colortext":"#fff","colorvalue":"","size":"20rpx"}, |
| | | {"text":"up","value":"0.7","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":4, |
| | | "background":["#0081ff","#1cbbb4"], |
| | | "content":[ |
| | | {"text":"好è¯ç","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}, |
| | | {"text":"","value":"161","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"å¢é¿","value":"","colortext":"#fff","colorvalue":"","size":"20rpx"}, |
| | | {"text":"down","value":"1.2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "name":"åä¸", |
| | | "num":50000, |
| | | "width":"", |
| | | "background":"#FFBE68" |
| | | }, |
| | | { |
| | | "name":"åå", |
| | | "num":30000, |
| | | "width":"", |
| | | "background":"#0FEBE1" |
| | | }, |
| | | { |
| | | "name":"åå", |
| | | "num":45500, |
| | | "width":"", |
| | | "background":"#BF8DFC" |
| | | }, |
| | | { |
| | | "name":"西å", |
| | | "num":60120, |
| | | "width":"", |
| | | "background":"#FF859C" |
| | | }, |
| | | { |
| | | "name":"西å", |
| | | "num":26020, |
| | | "width":"", |
| | | "background":"#51ADCF" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "expect": "", |
| | | "now": "", |
| | | "name": "æ¶é´è¿åº¦", |
| | | "value": "37.88" |
| | | }, |
| | | { |
| | | "expect": "224.64", |
| | | "now": "53.96", |
| | | "dataType": "1", |
| | | "name": "微好忿°", |
| | | "value": "24.02" |
| | | }, |
| | | { |
| | | "expect": "80.17", |
| | | "now": "18.82", |
| | | "dataType": "1", |
| | | "name": "å¾®å®¢ç¾¤ææ°", |
| | | "value": "23.48" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [ |
| | | { |
| | | "kind":1, |
| | | "background":["#3EB2F5","#9374F7"], |
| | | "content":[ |
| | | {"text":"","value":"5860","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"æ°å¢å¾®å¥½å","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#3EB2F5","#9374F7"], |
| | | "content":[ |
| | | {"text":"","value":"3605","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"æ°å¢å°ç¨åºä¼å","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#3EB2F5","#9374F7"], |
| | | "content":[ |
| | | {"text":"","value":"5860","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"å é¤/æé»ç微好å","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#3EB2F5","#9374F7"], |
| | | "content":[ |
| | | {"text":"","value":"605","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"åèæ»æ°","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#3EB2F5","#9374F7"], |
| | | "content":[ |
| | | {"text":"","value":"641","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"åéæ¶æ¯æ°","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | }, |
| | | { |
| | | "kind":1, |
| | | "background":["#3EB2F5","#9374F7"], |
| | | "content":[ |
| | | {"text":"","value":"35åé","colortext":"","colorvalue":"#fff","size":"44rpx"}, |
| | | {"text":"å¹³å馿¬¡å夿¶é¿","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"} |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | [{ |
| | | "categories": [{ |
| | | "value": 0.2, |
| | | "color": "#1890ff" |
| | | }, |
| | | { |
| | | "value": 0.8, |
| | | "color": "#1890ff" |
| | | } |
| | | ], |
| | | "series": [{ |
| | | "name": "æ°å¢å°ç¨åºä¼åå æ¯", |
| | | "data": 0.21, |
| | | "color": "#24ABFD" |
| | | }] |
| | | }, |
| | | { |
| | | "categories": [{ |
| | | "value": 0.2, |
| | | "color": "#1890ff" |
| | | }, |
| | | { |
| | | "value": 0.8, |
| | | "color": "#1890ff" |
| | | } |
| | | ], |
| | | "series": [{ |
| | | "name": "å·²åå¤åèå æ¯", |
| | | "data": 0.65, |
| | | "color": "#24ABFD" |
| | | }] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1æ11", |
| | | "1æ12", |
| | | "1æ13", |
| | | "1æ14", |
| | | "1æ15", |
| | | "1æ16", |
| | | "1æ17" |
| | | ], |
| | | "series": [{ |
| | | "name": "æ°å¢å¾®å¥½åæ°", |
| | | "data": [{ |
| | | "value": 1800, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1300, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1580, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1600, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1600, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1600, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1300, |
| | | "color": "#24ABFD" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#24ABFD", |
| | | "unit": "" |
| | | }, |
| | | { |
| | | "name": "æ°å¢å°ç¨åºä¼åæ°", |
| | | "data": [{ |
| | | "value": 1580, |
| | | "color": "#6BC588" |
| | | }, |
| | | { |
| | | "value": 850, |
| | | "color": "#6BC588" |
| | | }, |
| | | { |
| | | "value": 1100, |
| | | "color": "#6BC588" |
| | | }, |
| | | { |
| | | "value": 1400, |
| | | "color": "#6BC588" |
| | | }, |
| | | { |
| | | "value": 1200, |
| | | "color": "#6BC588" |
| | | }, |
| | | { |
| | | "value": 980, |
| | | "color": "#6BC588" |
| | | }, |
| | | { |
| | | "value": 560, |
| | | "color": "#6BC588" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#6BC588", |
| | | "unit": "" |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "categories": [ |
| | | "1æ11", |
| | | "1æ12", |
| | | "1æ13", |
| | | "1æ14", |
| | | "1æ15", |
| | | "1æ16", |
| | | "1æ17" |
| | | ], |
| | | "series": [{ |
| | | "name": "æ°å¢å¾®å¥½åæ°", |
| | | "data": [{ |
| | | "value": 1400, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1300, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1000, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1500, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1580, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1700, |
| | | "color": "#24ABFD" |
| | | }, |
| | | { |
| | | "value": 1500, |
| | | "color": "#24ABFD" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#24ABFD", |
| | | "unit": "" |
| | | }, |
| | | { |
| | | "name": "æ°å¢å°ç¨åºä¼åæ°", |
| | | "data": [{ |
| | | "value": 400, |
| | | "color": "#FB8F82" |
| | | }, |
| | | { |
| | | "value": 700, |
| | | "color": "#FB8F82" |
| | | }, |
| | | { |
| | | "value": 500, |
| | | "color": "#FB8F82" |
| | | }, |
| | | { |
| | | "value": 300, |
| | | "color": "#FB8F82" |
| | | }, |
| | | { |
| | | "value": 400, |
| | | "color": "#FB8F82" |
| | | }, |
| | | { |
| | | "value": 350, |
| | | "color": "#FB8F82" |
| | | }, |
| | | { |
| | | "value": 400, |
| | | "color": "#FB8F82" |
| | | } |
| | | ], |
| | | "type": "column", |
| | | "color": "#FB8F82", |
| | | "unit": "" |
| | | } |
| | | ], |
| | | "yAxis": [{ |
| | | "calibration": true, |
| | | "position": "left", |
| | | "title": "", |
| | | "titleFontSize": 12, |
| | | "unit": "", |
| | | "tofix": 0, |
| | | "min": 0, |
| | | "max": 2500 |
| | | }] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "headers":[ |
| | | { |
| | | "label": "æ´»å¨åç§°", |
| | | "key": "col1" |
| | | }, { |
| | | "label": "åå·¥æ»ä»»å¡", |
| | | "key": "col2" |
| | | }, { |
| | | "label": "å工宿æ°", |
| | | "key": "col3" |
| | | }, { |
| | | "label": "宿ç", |
| | | "key": "col4" |
| | | } |
| | | ], |
| | | "contents":[ |
| | | { |
| | | "col1": "卿«ç§æ", |
| | | "col2": "450", |
| | | "col3": "420", |
| | | "col4": "99%" |
| | | }, { |
| | | "col1": "æå·æ´»å¨", |
| | | "col2": "430", |
| | | "col3": "1390", |
| | | "col4": "90%" |
| | | }, { |
| | | "col1": "æ©é´é®å", |
| | | "col2": "450", |
| | | "col3": "430", |
| | | "col4": "95%" |
| | | }, { |
| | | "col1": "æ±æ»", |
| | | "col2": "1330", |
| | | "col3": "1240", |
| | | "col4": "93%" |
| | | } |
| | | ], |
| | | "sortCol":[ |
| | | { |
| | | "key": "col1", |
| | | "isNumber": false |
| | | }, { |
| | | "key": "col2", |
| | | "isNumber": true |
| | | }, |
| | | { |
| | | "key": "col3", |
| | | "isNumber": true |
| | | }, |
| | | { |
| | | "key": "col4", |
| | | "isNumber": true |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /*! |
| | | author:kooboy_li@163.com |
| | | MIT licensed |
| | | */ |
| | | |
| | | let base = 19968, |
| | | middle = (40896 - base) / 2; |
| | | let EMPTY = ''; |
| | | let COMA = ','; |
| | | let chars = (() => { |
| | | let a = []; |
| | | for (let i = 33; i < 127; i++) { |
| | | if (i != 34 && i != 92 && i != 45) { |
| | | a.push(String.fromCharCode(i)); |
| | | } |
| | | } |
| | | return a.join(EMPTY); |
| | | })(); |
| | | let SDB = { |
| | | "a": { |
| | | "yi": "!]#R$!$q(3(p)[*2*g+6+d.C.q0[0w1L2<717l8B8E9?:8;V;[;e;{<)<+<S<]=9>.>4??@~A`BbC:CGC^CiDMDjDkF!H/H;JaL?M.M2MoNCN|OgO|P$P)PBPyQ~R%R.S.T;T<TBTqT|UQUXU}V[WCXgYCYDY_YdYuZ9Zs];]j]p]q^.^@^S^w^x_,_T`H`J`ga)a8aQb9budJddgoh9hqi2itj&jEjRj]jzk>k^l$l<mLmdnDoEoMoQoop3p5pWp`qSr.u'uLv]wIxXy_y~{z}`~r-$=-$X-$Y-%!-%0-%j-&^-&s-'t-(<-)2-*n-+6-+f-/M-/N-0.-2|-3u-4b-4c-4m-5E-5N-5Z-5l-6&-6+-7*-70-73-8F-8R-8g-:*-:5", |
| | | "ding": "!2%%&_&x'u=:=h@NC`H?LQNkQ3Xo^Gn?osrUsNvAwKxKy9-!T-$6-$v-%O-&b-(+-9%-9(", |
| | | "zheng": "!S#(#D/]031$456+=L?OIzYM[']I^g_.eUl}m~qJsHulwuxU-!?-,d-3D", |
| | | "kao": "<dLWr5x7-!J-,7-/Y-/s-2'", |
| | | "qiao": "#+$4&.&1'7'Y'z($(),B,{0c7y8<:H<8<YE{F0GdKYMCZP]Y_8_zd.d/d{e5fGfHfUmKmrmvp#t>t?uJv$vMyE|R}a-!}-#&-#8-#L-#b-$Q-%?-+q-,6-,8", |
| | | "yu": "#V$l%S&9&I('(7(=)))m*#*$*B+2+F+v,0,b,i.W0.1F232L2a3(384>6P8n;';i;y<1>(>)>]@iB<B?BDBEC'C*CoCpELE^HIHJHTIpJIJ`KXL&L1LxMbMqNXNqPdPsQ<RFT?U(URV7WnX:Z?ZT[6[H]!]~_7_J_``Za#eXg;h#hVhuiyj!j#k9kDkMl#lClUlmmUnFoAp(pzqnrSsSt0vJwszp{_|N}!}$}I}t~(~,~.~w-$D-$]-%^-&j-';-'k-(3-(H-(v-*1-*Z-+#-+d-+{-.1-.2-.<-.K-.[-.e-/d-0=-0P-1:-1m-39-3`-3b-3e-41-5e-5}-6/-6;-6p-7:-7Z-:(-:2-:F", |
| | | "qi": "!8%&%>&X&m&s'2'X'd'f(9(c(i(j)@)l+'+M.).+1y1{2=3K4c6&6'6)606<6B6`9`9{:a<g>`?`AgCLCuD%D2F2GyH&H1I;K~LkLuM&MYO0O3O9P8PbPcQqR5S2SCU0U~V%XYY&Z}[G^P`7cUc}dEeNgOj$j)l?m:n4p,sOuRv.y'{/|i}1~P-$B-%Y-)|-)}-*K-+G-+H-,m-.@-.M-/|-0y-2D-2c-4W-4`-4h-7a-7p-9c-9i", |
| | | "shang": ")Y6V9cJvR8UqXJXa])asbQc,s,uSvz-#+-.;", |
| | | "xia": "#Y#w&,&;'''I)1.u/j7=:[<'B[ByCtL'NmNyQOR([0`(cLh[iRkVt/t_u4uezFzM|W|{~d-&)-*4-.}-0a-5;-8S", |
| | | "han": "#,.m/h:l<P>MFrGXJqNrOUPCPqPrQ|]@`+`2h1lBlZnXp*r;rWrkz9{4{B}x-#c-#y-$;-$l-$y-%Q-%n-(i-(x-)i-/!-3*-5B-9V", |
| | | "wan": "#=$0&o.]0F4@5X5b6*628u9p<K?e?h@IChFqG!G7H2HHJzL=O5Q'RQ`;a:b<bGeHh&h)rMr^s'slu!-$E-%V", |
| | | "mo": "!`#$#&#y$%%P'e(T*N3v5$517`8R=6?XA5E6FZF~JLM;MgP+RTRcU6]'](_j`s`x`y`za+qkuDyR|G-!e-'g-($-(U-*R-+k-,(-.U-.k-.{-8/-80-8K-8L", |
| | | "zhang": "#~(#.:2o3N>k@,JhR`b$b`knmtujz'z0}<-#+-'I-*Q-16-7m", |
| | | "san": "3T3q3w3x7~uJuwzA-'n-([-,s", |
| | | "ji": "#r%''l'y)3)d)o*Z+'+9+G+M+T+Z+^+g+x._.c/R090d1S1W2;43484J4R5C5w6)6C6`7f7s878H8t8w9J9X9Z9{;8;<;B;C=(=2>6?YA$B+CHD0D8DbE:EQF2I*I|JEJnKKL)L:LkLzMdN'N5N:NiQ6QyRrUWVcVnWPWQWtX6XEXYXuY(ZAZ|[/]O]e^F^J^U^~`)b#b0c*ckc}dee!e$e9e>eyf+fXfrg)hFhriMjZlrqmr)sRt%uov3vevw|@};}N}g~!~+~F~{-!&-!u-#N-$%-&a-'u-(,-*x-+]-,W-.?-.V-._-.d-.g-/+-0$-0H-1%-1/-10-1^-1o-2/-2@-3'-4)-4o-5>-5H-5U-6,-6J-7/-7P-9e-9g-9h-9i-9j-:l", |
| | | "bu": "0$192,FKJgT=UYZ^e+hhjmm8mFoGpGp}sjw]w{-'7-'E-/m-3#-4.-6=", |
| | | "fou": "4I:L:O:Q~1-3:", |
| | | "mian": "!G!d#4$U$W$]3Y5X6A6_6o9g9w@qB/CkG!H_Q;-!L-!M-!P-/_-7y-7z-8'-8,-8q-8r", |
| | | "gai": "):5=5LD,ErI!J1Z'_/`TaYaac!lnpcw[|O}1", |
| | | "chou": "!+#n$N+0/y0}2:4e5/6#9jB*B.GNLfUmZ+^3^5_4e%e4fWkan]nbo.o6oU}u~$~*-.X-/>", |
| | | "zhuan": "%H'S'V.K0k1B1H1r2?7Z<r@RA7IDRsVk[J]Tb3b<c8gThai'mp-%+-%u-'p-(]-14", |
| | | "qie": "%>+7+f,8.#.|0K0p2O>#DNE1P.ccd]eMlpt8y>-0&", |
| | | "ju": "!Z$L$w%R*W,c,l/e1~3&3J8#:t=#=`=k@FBGC0DlD}FeGAIaIkJbMrN[OVP`RDTlU|W>Y`[$^Z`Ua*ccc{dWd]dae#e@eFeff8fSg*g<guh~l'lXmIoOq(rps%vXw_x|y;zb|m}o-#/-#:-&4-&Q-)<-)?-)d-*z-+0-/.-/:-3[-48-4S-4k-5.-9H-9K-9x-:@", |
| | | "pi": "#M%D'C(5(6)L*F*K+;.n1C4M8}:y;/;2;A<,<{>a@'@2@KA%C|DQO+O]O^PvR!REScU'UfZw]m`l`na'i[l_m;p<pYpyqCqyr*s1s;trx4{8|*|=|p}F-!!-#,-)@-,H-.p-/#-/3-2#-3>-4F-6'-63-91", |
| | | "shi": "!E!Q!e#?$p%$&+'$([(](q*^.&/5/n0[1w204z<gBNBQG)I:ISIUJ3NlN{Q>QQR9VYW2W@W^X2XNYxY{ZI[:[<[v]X^l^{^}_p`DaDbmgqi8ixjdk!kNkpl(lkntoMo^ocoeofp5ppq%q&q*q4qbr=t9x/-&^-&_-&}-'<-'@-(*-(8-)!-)H-+,-/<-0?-0d-0o-0p-2:-2O-3+-38-57-6M-9C-9E", |
| | | "qiu": "*6*7+a0r3k4D5]6j>7CaCeF`HEJXMhNgNjONP;QMQ_RfSWUUX?XUXqXrajc$d'jpjskXl]n@o.oup:r?-#5-#6-$8-/'-/k-0W-0X-1,-2Z-4v-7&-9U-:Y-:Z-:]", |
| | | "bing": "!n)F*4+/,>.75@DsOcZ7l`puqar||>-!:-!q-#,-#G-''-'C-(D-/O", |
| | | "ye": "$>$E(0,a6g=;@?HfSb[]_]lUlfn(oip=rmtDtTtevTx?-!O-!R-$5-%N-'F-'e-(T-*o-4Y-61", |
| | | "cong": "$'&Y1>8==g=l=p=vDIE=I2JUK0LsRZZk]$a}a~sKtBuKu_-*)-*V-+Y", |
| | | "dong": "&&.r0b5D?7?C@JD|G;I#KwQ([&jV~^-)T-/=-0)-4g-5/-6T-9,", |
| | | "si": "'?(b)^)g)p*+.</#40415O6i8l9~;.<|<}>+>0KxL+NLP7PiQnReS&W_`tp1pvp{qTqnr8r`tIuzyB-&6-&R-&^-&c-&s-&{-(:-)L-)q-*8-+.-0.-5j-6`-9N-:o", |
| | | "cheng": "#0$,$P&W*O*[*w+A+{,O,v/l5[7#:`?}FQOoS(UKZV_#cHcJk#m$nhrxtkuxv@vWx=xB|2-!A-$h-'w-)o-*>-+B-/u", |
| | | "diu": "r2xL-&&", |
| | | "liang": "3A3D3{6K@0CRF{Q%Up[,_Oe1h!h2hCiBiHojss-!=-)h-.J-.O", |
| | | "you": "(r)O*I7o8W;L;f=5=M>VDKFoFsFwG/KaOOOSPSQLY8ZN_;`qh%hMjWjnk6kPlYmEn3n>ncodp~r3x&x<-),-.y-/1-1p-1z-7N-8P-9D", |
| | | "yan": "##%F%L&%&F&T&v(Z,j/u1?2$5t7V;!;h?<@@AsCVCYCZD3FmGpH.JlN_PVQAT$UxV9WUX/XkXmXnY?Z3[U^1^C^E_e_~`B`C`RbDbPc;g/g7kIm#mNmsn5nHnsnyoPoVo`x+z7zkzmzn{A{`{e|}}2}b-%'-%,-%B-%v-'0-(#-)~-*$-*F-*j-*s-+C-.4-.H-.Y-0V-3$-3*-3B-3n-5#-5G-5u-7K-7r-8T-8W-8_-8`-8a-8d-8j-9L-9Q-9w-:1-:N", |
| | | "sang": "'EVNts-%2-%{", |
| | | "gun": "#<&#'U6F6z9dJ>JpTFTwUu]4h<iF-/2-/g-2<", |
| | | "jiu": "+E,*42464]8mB:BCBHBMH7cQnGz){Z-#}-#~-,l-./-01-3!-5w-6I-79-7c-:$", |
| | | "ge": "&!/30*4?8r>:?B@}AbB3BwECHxJ1NwOrP'U9UPXM[X[hhLhmq`tetlu.xSyUzTzU{W}4-!S-!s-#F-#`-#j-%f-(A-*%-+t-.3-/K-/U-1u-3T-3z-6g", |
| | | "ya": "#B%C&{'I*{,a.g=UDEKqO;T1WEWGY.^[g=i!j4lUp=s=v7x;}f-3C-3c-4U-6O-6V-9o-:;", |
| | | "pan": "!&!>!?!H!o'L'x2A76=F>R?$AIH<IrRoT{WBY[d[e{f0rvtpw=zx-#E-$J-4D", |
| | | "zhong": "#%(n*8+>+m/V2T4{6b99>j@`BnEkK*O:OBP^R2RKSzTKTNTO[@e^f>ohparHtQv5wbyF-3_-9@", |
| | | "jie": "#S%@&{(.*d+=.G0e4J5,599D;k=(@/CfD,G#G`J[LzOFP&P:PTQ=SKSQSqT/TITPTlU4U7UPVQXOXSX}Z%ZWZh]/^K^~_5ckdve=j^qGtNtXz,|1}.-!m-!u-$U-%c-&v-+i-.l-/@-2&-4{-5$", |
| | | "feng": "!@%N'40m5v7R:3C$FdHnN.PFSaWI[R^c`?b.c5k'n+n;r[u5uXxs-!$-!4-&%-&J-&L-(w-3(-3,-3F-8)", |
| | | "guan": "!'$b$j$k(W)B,Y/f0E6:9&:]:gBVFqIEWSW{X+X.a?bifMh?kmsUu>w7zOzS{,{2}{-'K-(N-0q-1N-1j-2e-2z-6D-7A", |
| | | "kuang": "!Y!z$Y%1%r%w(G+}/O/z5'538V8vZ<ZG^y_=aNbpgHgRgXg`j+lHlhn/qUrevy-4>-8>", |
| | | "chuan": ",40jA7BYB`BhBxEvale[hIkJp%wQ-5+", |
| | | "chan": "&6'W)K)q1N6D7$8*8A8[8_:6;xCODJIHKQQ2RGR_R{S1UeW!W`X3ZMZy]B^+^7_N_bfbi|n2n6o@rTr]uWw3xYz%ze{7{g-#Q-%D-%~-(%-(S-+Z", |
| | | "lin": "$B&['t0:393O5{8!<WA?B%GsKEMOaWb{fEf]fgfxhlh}iVk{lgn$utzg|9}C~[-*a-1G-2t-7_-7n", |
| | | "zhuo": "#'&Q)a+l,%,V,]102E2`8?:J;&=NE.HtJ:L|SJSsZx[+]6_Fd!nArfvLvOy|-4J-5d-:x", |
| | | "zhu": "!a$6$h%^%v'f)!)/*h,@.4.S.T.[.w/P/o0]0n141=1a4n4q5.9+:s;W<EBrD/DVDpE_EmFYHtJQKZMMO`O{QTS>S]SrU;V<YLYoZ;[S_$_B`[aCbhdVdjfRggjMjrk1ljq6q{r}vbwExIx`|x-&r-(~-)=-)]-+2-/H-0E-11-3s-6(-7T-7V-8x", |
| | | "ba": "%#.a3#:y;2;N<z>sD5E4GTO$WNYk`LdDdNgjozp?wr~~-!a-&.-.D-.`-/&-/0-1t-1v-1}-9=", |
| | | "dan": "!K%$%5)r,S0N1h4V8A=A=B=H=~>q@9ATAVH*JDOkPUTLV?VoXGX~ZK_'a|bBc3f{mHn&nKn~~t-$I-'G-'s-)*-)a-,C-3Z-8H-8b-8i", |
| | | "wei": "#o$M%}&0'#'D'M6/6p6r7+8y9f;6>n@gC+D!DOE+FCGBH)I&I(I4INJ]K$KJL7LdMDN0PwQ$QDQHR?T3T6V`WkX$Z)[#[^^*^4_I_^e;fefig@hbj>k<k[m}nvs~t4uGzz{G}&}'}7}Y~n-!#-#Z-#a-#i-#q-#v-#z-$T-&7-'J-'X-'z-+a-+b-+c-.P-/,-/F-/P-0N-0O-2(-2W-2p", |
| | | "jing": "#C*?*u,2.8.9.A.E.P.R042v3F3Q5(5q6!9@=_>g?:?k@<E;EtExFiG8HlS/Z`]ge(jTjwrhuYyi|+-!=-!@-!C-!D-!F-$N-$m-%b-*m-03-2M-4:-4a-4d-7e-7o-9I", |
| | | "li": "!!!0#A#E%7%_%m%q'|(K(L(Q(^)u)y*%*H,&.$.J.{/c1.1:2Z3$303G3b4)5}7T8Q8g:7;4@*C%DPDbEEF%FDFWF[GUI[I`JFKIM1MKN4OWOnP#PNPlQaR[S*S:STSVS_ULU_VWXhYY]&^,`9`}cPdbf`hzh{i5jDk+l7l;m6n=oBoNogokqAqururzs3tludvuxjyU}V}W}X~&~8-!+-!5-*}-+A-,^-.3-/p-/v-07-1W-1b-1k-26-29-2x-2~-3Q-4X-5I-6F-6l-7f-7k-8A-8Z", |
| | | "pie": "$2DmW]u~", |
| | | "fu": "%8%[(u(v)U)j*k*o+:.'/$///_0$0=1j3C3d4a4j4u5B5k5p6q7B8L939<:0:o:}<&>N?#@!@D@E@nA3C!CWC}D*DFE'E,E]EpFFF|GKHKHjJXKsNSODOGOXOwPIPMQEQIQWTETsTvU.V(V6ViW+WKWMXpYS[C^H`Va4a{b4bXc(c7cRd=dZegh*hPhRiAiLlIm(m*mmnQowo|pFq<q@t#t5{s{t|?-#]-#x-$`-&(-&.-(n-)F-+/-,P-.5-/)-/8-/X-0^-1|-2[-2}-3%-34-3N-4H-4}-7x-7{-8#-8*-8o-8p", |
| | | "nai": "<p<q?L@=CcH4R'VHj[o}sk-9'", |
| | | "wu": "$A%*&l)+,D,o0a2tAMB]D#D<EPFSKvMVPLQzS#Z>ZYZZ]U_6_9d9fYj6j~lWm)mep)rQrbrctvwkxc{y|U}6~?~C~`~m-!Z-*'-+R-/j-0j-3i-4/-4@-5,-5f-6j-6s-7)-9G-9W-9X", |
| | | "tuo": "%U%V&z0L2J4v?{@$F_H6MUTbT~Y'Yc^QdHdQnVq+r`x1{{|;|<-&d-(.-(z-({-)1-)J-)K-*:-*e-*p-+$-+3-.b-/%-/[-0b-3O-4,-6_-8}-9$-9?", |
| | | "zhe": "#'%+%E'P2f2|<f=VHtJ~NoP4PKR9RRRSU%VXW<Yq]*]:^%^0_ucKe`h(h0hei@iUj:j{kurAtMy!-({-/f-5W-75", |
| | | "ma": "#X%3'8(e)h;0GsK?N}R+RTRUkku/z2-(u-)N-+!-+9-,r-0n-5P-8.-80", |
| | | "me": "-8/-80", |
| | | "yao": "!T$R'T(g,3,:,=,F,I,J,e,f/C0^4<7o8Q8s<a>_@eB>CADvFAI0I>J:L]M:M~TgWHWfY/Ya[|[}^6_ngmi6k`kll*l9r!tdwhxRzv}!-!j-%=-&9-&T-'(-'=-*&-0u-1I-2f-3;-3]-5F-5Y-7+-9T-:%", |
| | | "zhi": "!7!t$s%=(J(i(k(s(y)2)I)Z*2*>*A*T*^*c+(+)+J+Y,G/k4Q4b5T5W5s6~7^7|9(98;(<0=E=Q=b=}>L>|?+?QA<AJB1B2B5B6CzD$D?E8GeM7N/O3P1P]R@RhTQTTTxTyU{W.WgXCX[XcY9ZB^l`@`A`haAb!b=bbbwdAdYdueTeWf,f_fag6glg}i1i:jDlqm6neoyqrr=r_vsxAy3|)|Z}R}[}j-)!-))-)Q-*?-*L-*Y-+O-0:-31-3S-3m-5+-5^-6a-8m-8y", |
| | | "zha": "!l%Q0>4^4g=0D{OPOZX]Yb[(]G]W^ng=o;t*xHzI{N~J-&t-/9-/a-1{-22-9]-9`", |
| | | "hu": "(1(~.j0Z1M3!3^545r757G?0AMCtCxD<E$GxI+K%K;NGNHNPNWQ^R)T2X`Xd]<]x^^``gVi3mqo)snt+tK}Z}q~B-$4-$k-'O-,j-.s-0<-0c-1`-2v-32-4?-4x-5)-52-5?-65-6n-7!-7?", |
| | | "fa": "#k%O/'/N:q;*;3EeKkLvo1oKstzV{V-,F-,J", |
| | | "le": "%f.U1_>5C_{u-$*-'1-(A-1!-1d-2i", |
| | | "yue": "$S%!(a){0^0|242S2_373H4<8sAlM{O,O.ZaZc_>cid2dCdFfZgApDqBw2whw}zczd{[-,V-6:-6B-8Y-:^-:m", |
| | | "lao": "&)'n,71s3<5>9M<b<c=&=3F'HYP3Rvg.g4hin`oDr(v/x8xa-%8-,9-/W", |
| | | "yin": "&#&j'a)Q*a,^/B2{5G6{7V?3DJEGEcF=FHIRK4K8MuO2RLRzU=Y$Y*Y2Zu[M^9cXczh'monipNp]qer/xFx^z{{||/|l|w|~}0}@}Q~W~f~p-!b-!r-$&-$2-&m-&q-(6-)^-+:-/I-5h-9p-:!-:?-:E", |
| | | "ping": "%b&'.H0W1Q:T=f>~CXE%F$H(JWMaOQP%Yg^jgrh>mAqa-$^-(w-/(-1w", |
| | | "pang": "!o'A1+=/>R?$?=A/B|QmWsd@jf~6~|-0k-2g-:K-:M", |
| | | "guai": "0,;%", |
| | | "sheng": "!D!^...t7*7q859e=[=x?*E(KM]^aMb1q2t2|#|Y|u-4_-9B", |
| | | "hao": "*:.,25<x=ZEMJ$L3L5LWLtNYO<SG[0]z`Y`ym,mhu#y]-%>-%|-0i", |
| | | "mie": "!`(D1G1dJxL>SNS~W]vt-1e-3M", |
| | | "nie": "1&294(4,=G=|B)B0E!GDMlSX^=e)e?eAezforAs$sJu*vfw9wByVyY{&|c}(-%L-%x-:#", |
| | | "xi": "!>#6$3$d%/&(&g'J's(!)P)n*l+7,,,n313z434i5j6H7?7W81878g979U;V;n<2<5<6>c>d@>A6BABBB}FUG]HeI9IbIwJ+JVKzL2NdPjQoQqRYRqSiT!U)UzW9WFWiWlX7XfXjXlZH[K[m]5]F_@`.`/`W`_a(cCcGcfcwesf)fulGlplwm&m4m_n:oIokp2p7pbqLqMqvsYu+ufv&w6wSxJy,z[{5{b}9}?}P}U~#~2~q-!%-&?-'2-'`-'r-(1-(C-*C-*O-*{-.)-/x-0_-1+-1J-2X-2q-46-6*-8I-9O", |
| | | "xiang": "!;)*+50U5Q6Y8b9u:U;E;J<4APC{HGHvL<N~RbS4T.VgVsZ(_0`PdqmGmYmZmfqiq|v(w4z&zXzt|H-$3-$9-%R-&g-'+-'{-(&-(?-(b-*w-+_-/C-/~-1<-1L-1g-23-7g", |
| | | "shu": "*V*x.0.D2B4#4K5%5^6s9/;,@[BPF(GuIBIeK7LUL`MLNePDShT*UHW'W0`=bOc+e%e0gIhOiOjQmSqIs_u[|I}!~Y-/A-1Z-1a-4G-4p-8@-98-99-:e", |
| | | "dou": "$#,[,}1E@#FEKCOI_E`5jym%mMnMpCrIwpzH{.{~|]-'9-(F-.%-.&-.*-.,-..", |
| | | "nang": "Sd-(&-()-(^-9b", |
| | | "jia": "+L/23l=!?)?u@jF+FuI.P5P>TaU4UI`]a$a]bxdRjGl{m/q#qOrXu,x$x>y`-$a-$e-%c-%d-)B-+5-3J-3q-4(-7i", |
| | | "mao": "!M#i$i*:/66e:u<eDDE/E2E3HVJOQ9QNRXT}WY`|a&aSbrgPmkn!nJq>qcsVx,y%-,B-,O-4|", |
| | | "mai": "?W?XF>K^LgS{aKaxj(l+~g~h-!'-5{-7t-7u", |
| | | "luan": ";D?dAzA{L=NDW~o{r7w@-4'-6G-6h-:y", |
| | | "ru": "/M7F8G:1>AEgIYJ6KlLhQJSHU:VGW,inlEm`oSr+x_-%E-&!-1]-3)-3K-3x", |
| | | "xue": "$?,(A=C@E@IGLKStTnXd[p_[coe,hdibig~/-!_-#M-18-2k-6%-6^", |
| | | "sha": "%4&G052u4O8F8~<<<CFaG`H+K<U]t}xPzazi~S-,[-.h-/q-/r-2=", |
| | | "na": "*0.u.x4E9#>WIYIuTJU!Zt`m`pgNlNlypHu7wcyZ~0-!d-.x", |
| | | "qian": "'K.(/~0A0t1'2*2D2R2p6+7[8J8q:G;h>b@vA~CnD(EIElF:I%IjK>KLNNO&O8P}VR[*[u]u_q`!`&gSh;i~kjk~p9pEpOq;q?r6sPtYukvqwPwgwtwvx+{x-#U-$z-*+-*/-*=-+U-,y-,z-0x-37-4M-6z-8G-8M", |
| | | "suo": "#*1Z1^4Z797U:?;cFaFbJ7P{VJcuk)tatju3u9xi-/b", |
| | | "gan": "!3%)*1*t.Y/x1*1}3%4s91>GCmE#T>Y^bJbTcAcTcti}nE-+e-.Q-1T-2w-3*-:i", |
| | | "gui": "!q#o$.$C%x%})0)s,E/?1K1T?NERJ;N%P/R*RpU<V{WVX0XPZ!_*aHbod<dng>gEi#lilxuyvlzY{P|M~#-#K-*;-.7-.:-.=-/S-1F-1U-2%-2r-34-:Y-:]", |
| | | "jue": "$Z$l$o%6,%525S8#9NA^D=KiKtNnO6RwRxU!WWWbX%X5X>XBXZXiY4Zj]N^f_}a0c[chd<fCfDfwpKv)v:wCyo-)0-,$-2r-3<-3=-5g", |
| | | "liao": "$:,A,m,x1g7n8%:@:C=OA#ADJcM(RnRv`1b8f$fJizl&mnopv,wNypz.-&@-&G-,)-5t-77", |
| | | "er": "3><m<p=8=T?HEyLoS|U8Z6aBaGbjd3gshtjJl2q_x9|L}M-'/-(=-)Y-,Q-,R-/D-2)-3j-6b", |
| | | "chu": "$e%s(/)M.%.)114y9=<~=%A_DCG=IdIoMMNOPQS'XRXe[/`E`Oa,cmf=fTfcmaq3rnxlzW|`}p}|-59-8O-9|-:)-:9", |
| | | "kui": "#f#o$C'D,Z,p0v1m22=m=o=s={?NAFI6IJKnLyN1N;NbQY[edpf*fvk;mXt;tJ{0}7-$A-$d-%6-'a-'o-(P-(`-*6-+P-.B", |
| | | "yun": "!F'N*;/`/|0y4T6z7!7<7C8z9|<y=?@_D@FLG7IAIVIyK_K|L#L0MIM`QcV@a3b)b@bYc=j1kQm!m7mVmgnRo0o8pVrO|'|d}5~7~i-#?-#g-#n-#{-$(-$/-'N-(p-)'-:'-:0", |
| | | "sui": "!q#G#J%G&f)$)t+R+h+p5m7>7h7x8D9V:4AQCyFOFPNxV}Zm]c_QazkFkHl.uqv!vF}*}/}G}H}w-#$-#r-+|-,/", |
| | | "gen": "CQEHdc", |
| | | "xie": "';(f*&3c4k5+595I5h6g6v7&8>8T92:B:M<3>l?T?V?ZA&LRLTM0Q7QKS+S@SBStTRV*V^W4XKXOXS[B[y^<_Z_mflfnl,lU-!i-!v-#1-#D-#h-$#-%c-/S-2%-9Z-9q-9t-9~-:b", |
| | | "zhai": "%X)3,92q<?a@b]q=-9c-9d-9i", |
| | | "tou": "4G6sMyjqrItA-$b-&r-+h-8;", |
| | | "wang": "!664:h:i:j:k:mFvGmO>P*Q,Znh5iGj+jM-.N", |
| | | "kang": "%<+U2v3tg1lJpgugwmz={L-17", |
| | | "da": "!W.u/(/S84;H=<EsF*LHS0VCYldzi{j0j7j;k?kZt]tqvZ-!g-!|-#R-:S-:U", |
| | | "jiao": "$y$}'~+k,A,K.`/I1o5;8?8]9O:J?E?j@hA9AKB(CaEZE[KTM5NZP!RkR|WWWbX%X5X>Xs]Q]fa`d0dhe3gvh_hfi;i?lvnkoHo]p#q]v*xW-'%-(B-*h-+;-/Q-1>-20-3|-5k-5s-78-:a", |
| | | "hai": "5L?Aj9l/lnnro<-'!-'~-)Z-)b-+>-+p", |
| | | "heng": "?J?mMZT9vc-3o-4$-6e", |
| | | "peng": "%c&'&S'+'Z+,.V1+1@5@8P>~AACgE%FdJRMkRiRjU3eSgbh:s9v{zL-$+-$0-):-*A-,X-,b-,q-4K-6y", |
| | | "mu": "!1#N%]+V7`7n:@?.C5DeF~G%O=e/qKqPx!~3~G-#9", |
| | | "ting": "/s5l<t=j=z>%>&?qC)FnI7PWQ8ZJ[El=rUxKz`~K-!~-$g-%e-9F", |
| | | "qin": "$j$k*'*Q.d5c=>>MD1DAGZG^GkMRO8Q}RJS7TVWJWrZQc]pXpkriwix{}c-!]-$~-)f-+E-/c-33-4L", |
| | | "qing": "&/&Z'i046+60:ZDaHzQ#Wr[%]%_Agph+i7m<s4vi-!;-!<-!B-$7-%P-/}-2B-8X", |
| | | "bo": "%h&^'x(B(U*L+l081c2%2,3~4m:S>;>t?fA!BuC,DrGWH=I'J{L4MmO^U+U,U6VrW5ZL[d]Rd8d_eKf@m3pxq5qFrVtow0wxw|x(yT-'4-'^-(E-(V-(d-(g-).-)[-*^-+)-+~-,$-/0-1=-1}-42-6k", |
| | | "lian": "'K+D2+2P2V6w7b8k94;s<T=Y=n=q=t=u@+AZAcG(G,HLJTKDLELOMsMtQtS=U`UaVUW#We]0f2j?k(n0oPsZsyt`u@vKxfy}-,n-0U-0}-27", |
| | | "duo": "&U5|:!BtU0Uncrdfdid~eYg!g#g5plvUx5|E|J}*}3}S-&~-(;-(z-)1-,i-4]", |
| | | "men": "#{$*+XGRNEsuwVz1z6{>{M-#!", |
| | | "ren": "(o*,*e+#4A4U5)5y8x9$>?@AD)E}FGGDTUU2Y!ZC^I^Vg&gFi&p/p;pRqp-!W-![-#[-#w-&i-'#-(2-.^-3{", |
| | | "shen": "!U![$8$r$u%j)#)9,12e2g3T3U3q3w4l96:p:~>i>m?t@BFkHwH}JGK!LCPGPHUNX)Y1YHZ*[2^)_%_L_S_VfylPqRrj-$W-)W-.m-/z-0@-0|-1)-2N-4A-8b", |
| | | "ze": "#R#}$n(+*p/,0J1I=0BsKAS?Vz[(].a@b7b]c:jO-&t-6.-9s-:,", |
| | | "jin": "!#$j$k%M)8)G.U.m/J4W4`6L70:/B6F&F;GcGkJYM!TWW%WzX<X@]9_sb&bIc#j2j<k8olomp>sTwGy2-!^-'m-(Y-)$-7D-88-::", |
| | | "pu": "$5*k+j0$8LBTBUFXGGGaH~IsIt[D]]_|bEfInprtupv=xbyqyu|[-/m", |
| | | "reng": "(_DGiu|z", |
| | | "zong": "&Y'h+?3P3]4$5z6E6Q6n6x7(7M7X7e7t9%9n<J@MI=J=QU`eePeRf1t!v_-)z-*5-+K-,`-,f-.8-09-0G", |
| | | "lun": "&n'k*|6:9&='@4D:GLPk[1^`eBhAi)s.|k-04", |
| | | "cang": "15B$BpC<DUI~M#R3b/w8-50-6P", |
| | | "zi": "!i!j%()R*/*X*b+E/)2l354F4d6I6W8O9s<u>z?!?MB'CwE5E7ENE`F4GHHuJbL;NsXHYOYP[I_caFa[bzb~cZcpd(h3hQiJmbp&pmsGtRtuy=yO-$s-$t-,I-/{-0r-2P-4e-9)-9f-9i-9u-:D", |
| | | "zai": "#^7HGHb+g|i9n^", |
| | | "ta": "(d)i2~VAZr]wdBe7etfFfOfpkdkiq+sBt]tex1{'{5{;{={R{o-!s-#*-#B-/?-0t-2d", |
| | | "xian": "!:!O#5$<&#(F(h)X*3+D/D0V2k3B4%4|5A5c5t6,6]7J7r8Z8c8q90:%;];d;h?&@oAnA~B;BvDSDwFzG,LOM'M*MpOKO_O}PJT+T0V_W:WRX,ZXZo[O]d`>awbKb^cYdgd}f;fhgBhHnfo'oPqvr#r$rFrqs<sps{uww'xJxMy4zBzC{H|K|a|e|s|v}J~v-#T-$!-$$-%.-%H-'D-(M-(o-/T-1l-21-55-5x-5y-6$-6q-7G-7h-8$-9P", |
| | | "cha": "'0*049B=C9CjD}EYEdTAYyY}_1enr't7t[vryDz!-!U-'Z-(O", |
| | | "hong": "&*&8.*.>0o334=4P4f5i8o8{;z<!<==CDyF?HoHpL*LXNtXtXy^L`'`*`,gUhNhwi+p[q[rGrYt:z?zXzrzt{I~U~e-!n-.(-.a-3v-6i-8<-8?", |
| | | "tong": "!r$@%o&>*]+m.?/Q/i345D5N5`9PA@EjJPO1T,Z,cFj|ndq:qYqjxC-')-/L-2*", |
| | | "dai": "0,1n4x7%9AC?OMQ]TdW=Yd^xa7aLbqdff'gCgLg[i%jIk4p0~z-!0-)E-/>-3I-8N-8e", |
| | | "ling": "%d)D*M++.5/+4p6@9];K;U<.=KBqD[GiJJJmL%M|OiT(TcUjYVdLgZh/n8oWpts0x)zN|q~;~O~]~a~c-!2-$L-%`-)C-/$-05-2C-3L-6Y-7E-7q-9z-9{-:A-:T", |
| | | "chao": "!k,h,r2u6?9b;5<wXDY=]?cdh`mlpSwa-7w-8v-9#", |
| | | "chang": ">J@mA+DTGMH!UlUqZfs&sWy+z'z(z0zh{1{a-#d-.0-02-1X-2H-2T-92-:d", |
| | | "sa": "8g?^HDK{LYY@fnpQuwwS}A-!c-!s-&,-&P-)&", |
| | | "fan": "%0(M/1/40i2A2d6R7i8$;o<[AIBcBfE0KNLPM>N!SOVqXva=bcf<gEg_hThkj5p'v#v?wT-&=-&Z-&n-&o-(5-1E-5r", |
| | | "miao": "!J#m*=.10s6e6u7n9z:@D`M$l3-4s-6u", |
| | | "yang": "!R#!(C)Y*R4t;E;J;P?5OxQ/YX[T_0gahGqDswt,wX{}|.|y~:~}-!p-&8-&M-&k-',-)G-0]-3a-3t-62-6X", |
| | | "ang": ">Xo:-+g", |
| | | "wo": "#l&A,R,_6}>I@OAlB!G*HQLgP[Qbe:-(p-:4-:I-:L", |
| | | "jian": "!%#9#`$<$D$I&N&b','r'}(&(<(X+D.p/9/g0#0/0Q181k262I3_5U6Z788(899v:9<F>$>S@fB4BoCICSCTETE~G<GrHiI{K5K]L!LVLwN=RGSEU5UcVjVlWAWRW}X#X,YT[.[F[c],][]}^!_Y_v`K`Racaybkc|d?dKdye8ecephvp/p;qXrMrZs(tFtHu!ubv4vDvNvovpw.w1w5xwy:zCzD{J}d-!V-#;-#>-#O-#X-'A-'S-(7-(k-,h-0Y-0`-0h-1(-28-2h-37-40-4R-5@-71-7F-7I-7J-7W", |
| | | "fen": "#|%A*9./2x3=3r4S9';M;q;~ARD4IxKmO?O@TGY,`^`ff|hjnOpUvY}K~5-'W-'}-(c-(r-.w-1M-2Q-35-85-8n-9.-9:", |
| | | "bin": "%A8I::A)AiNc`X`cahailKvjya~l-$p-%G-%k-,'-,1-,E-,_-,p-.!", |
| | | "di": "!u#/%W')'.'{)<)_*U.v/*1=2c4+6c:);X<?=b>;@WDXD_FMG9G_ICJMJrJwJ|M6Q+QVR<TtX*X8XIYW[:[A^q_f`dcee_f/gYjKjtjukLkekwldp0qNuIyj|5}#-!X-#=-$H-(y-+n-,>-0>-69", |
| | | "fang": "!I!n(l4Y9*>TBjD;O!Y;^ed@lLp@siwn|,-,?-.v-1s-3E-51", |
| | | "pei": ">Q?(JBSwUrUsauc2hyiPnBn{s5y7|%|f~M-)#", |
| | | "diao": "$#&a,C,k.B1]5FJML|NhOaXxZ8Zv_M`ro~p_r!r:s*s[vawUxExR}v~D-.c-//-0%-2L-2{-3&-4O-9>", |
| | | "dun": "!<!A%J'3(%Pxd;eZf?fKfVjikGkvpLw`-$G-%X-*c", |
| | | "wen": "+C+`+z4B4C5X7!7<839)9|=d>^?gD'G!O'O(R/RO`ahShWiNu6zlzqzw{<{D{Q{c~4-#?-#{-%(-'f-)(-)4-.r-0g-0z-2V-36-3G-9<", |
| | | "xin": "!=(F?zBID7FkLZSyVtY3Y<gBiWlOo[pIrNv1w,xtyn{w-%/-(q-(t-)$", |
| | | "ai": "$F$|%l%~&e'M(:5=CbKGL6MN[K]k]{b2g(r9tWv^yK}1}8~s-!.-!3-'U-(m-1[-3l", |
| | | "xiu": "**3h5g7u8,9T;Y?i?yB*B7DuQ{ToV0V1`ur%rBtSu=u^uvxp-&K-'l-(X-,@-,U-/Z-13-3}-6d-9^", |
| | | "xu": "!$!*!4!Z#j$l%;)W+@+H3[5K5e5x6T6X6s7)8X9[9_=X=e?4D/IeJ)JXJfKrLxM/NQNTNUO[P$Q:UDX|YBYJYs[8[Z]C^^_3_ia^lUmwnLo*qovn~E-$<-$>-%T-%U-*[-,w-.G-.W-1_", |
| | | "tang": "$f'@)f0{3V3j3o;l=)@zA4J4LJQSR$RAcMc~eef&g+m]o=tiu)uTv'wDx[yWyd{1}:-#I-']-'h-5:-96", |
| | | "huo": "!V$S$^(*)>)S*Y*_*`+|,W10=$=4AuCJG.IhMTSI[g`0a<bacnlTpesrvhwoy6yyz5}y~R-!,-#S-*0", |
| | | "hui": "#J#[$G)N*i+s1;5R8.869I9}<9<:<L<^CxEbF1K2KeL8L9MFN,NuO7OtOuPZR*RyT_V:Z$Z2Z_[L]S]n^#^X_!_<`FaXbyh4iEjUk*qouqvI{6{j}3}S-!Q-$c-%C-%l-'R-/V-1#-81", |
| | | "kuai": "/w3}?]AWIJIql|n*-)0-1P-2.", |
| | | "cui": "'g,w2z3L4[697>:4<%<@?R?U@.AEANAhG{THVmd#uQ}Y-$|", |
| | | "che": "$;%I&?&@=JFjP@g<h~jA-$M", |
| | | "chen": "#t&M&t'`*[+A+{5{>FA}EKFRFcK:LmRBTDW6Y7Zz[Q[o^;_V`$arb;c`cad>dKeagKimjHmDo@pAt(|C|o~H-5T-7]-9l-9m-:=", |
| | | "xun": "!x$Q*p,^4;8MAjEnF:KLKSL[LaMcRzS%XwY#Y)Yt^R^T_+j%jajlkclsmzoTv`-%A-(}-)U-+%-1?-1H-24-5A", |
| | | "chi": "!]!y$).X.y/A0+02133,5W<#<$<D<H<|=@>>?2?D@SE9E|GeO%OHORR;U/U0UkVMYFZ9Zq[t`8aRcBc^d+dfeGj@jBkKkfkrkyl7q7q^qusx~9-&l-(4-(|-+&-.R-3Y-4!-4r-4w-4y-5]-6Z-8(-8C-9k-9v-:<", |
| | | "xuan": "!m!x#d$['5)k0R5?7J7d7w9K<G<_HMHNJ8K#L/MQMfPEQ?S<T)U$[;[W]_^&_abRgDi$jkl!q,ratLu?x0yl-#'-&2-)U-)k-0f", |
| | | "nu": "%a/.?;-)>-+4", |
| | | "bai": "+&.;3;3M51L^W3b:b_-#k", |
| | | "gu": "!/$J'B)A*~+P.z010?0u3g75:r:v;Q>K@(AfE)G>GhJ,LSOdOjSeXFYR^h`%a]bxgdgehYi,iXk,nYprpws]wwy.}h-%@-%W-'Y-(Q-+`-/;-0'-2I-3^-5?-6S-7%-9*-9+", |
| | | "ni": "!h#P*G2m73=i>$>}@pABA{DqLpOLP.Q!XXZt`~d`h.jhmCpnx3}L~X-(e-0,-2J-7`-:+", |
| | | "ban": "*E2s5!9;>PBgBkQ*QvVKd[iciipPqEwfzx|$-!h-$F-%Z-.n-35", |
| | | "zhou": "!+#U$x&y062.2@2C3+384:777o8p9:<B>B>o?#B^F@GoI$LfY][a]y^r_4_Manc0gkg{h,i0i<k7m>nCqg~Q-);-)`-)t-*r-+[-0(-3~-6f", |
| | | "qu": "$L'o(}.2.F/@2U3?4o5#<1<U<~>u?/AxDlG:HhKbM}O[OfOpQdRDRlSkSpT'T:U&WxX!X&X=YeYjZj^tcjcld%d*fqf}g2gWw<zfzu{i|4-)3-)5-*W-+'-,S-.~-1'-1;-3W-4l-6E-6[-7}-7~-8&-8+-8U-8u-9A-:/-:H", |
| | | "ci": "'=(A)%353a5579ESEUG6L;OsQpS3Yp^saqc.c_dSiYiZiaij}m-&y-'*-+l-,%-/+-3V-5C-5D-7'-:6", |
| | | "beng": "(l5@657k9iGnO*dtf3jYk2uiygz>-#)", |
| | | "ga": "g=onsfwH-.A", |
| | | "dian": "&p'v,j1iIiKRPXdXeVewq!x%|8~@-!E-%3-%4-%z-*g-8Q-:8", |
| | | "tian": "!:#;'1'H,j4w6D>v@:BRBXGvWmX9atnTr#rFsXx%xM{%{n-!>-!G-'$-3f-5J-5S-8:", |
| | | "bi": "#L#M'!(w)L*@*C+;.n.o/E/Y0(0)1/1<2r2y4M4m6>7Q8@8};7<,=a>a>r@lA[BlC|E*F.FJG~H:J<JdKHLLPPR!TiUfVhW$W)X^Yh^v`<a!aEaUbMblc/d|e~fPfQi[kBl)l^mjmym{q1truFvQx2z8z9z:zP{B{C|V-#,-#G-#p-&u-'j-(f-)I-*X-+x-,N-.T-/*-0Z-2S-45-4}-5b-5n-8~-9S", |
| | | "zhao": "#'$K.e00:V;#;?>*>1>2GdYf^ucScxorp<q.t6wL-)8-/G-3&", |
| | | "shao": "#+*y/r4r6%9>C&CqD^FyHSK}Tjh$la-#&-$)-,Z-/`", |
| | | "zuo": "(|*S+!+n/,/p4*7{?'D{F^H`HaJ?Th[(nWp||7-&t", |
| | | "ti": "!g#e')'?)Z)|*v/8285f6|9Y9y:{DXF!KgLIUzV&V'[qd)d2eJemexf~g8jxk=kLo&rDt)xy-%$-%r-*2-+m-,0-,L-,]-,a-/^-0B-2U-4;-4w-4y-5L-5M-5i-6r", |
| | | "zhan": "$H&b.33*6=9oGQLMN2N`NaOeWyYQZ/]h]l^B`#cghUhgiSl0n|zK~V-%~-&*-&N-&e-'|-*b-*l-.Z-1S-2y-37-60-7=-8i-:h", |
| | | "he": "&c()*(0z2i3@4?8r<N<ODdFIGFGzJ1R(SMTmV2WOYGYIYw[z^i`x`yaTbtcIloovq0vgzRzU{){X{m}Z-!7-!8-!9-#7-$P-%f-'&-(@-.|-1u-5$-52-58-6?-7#-72-7v-9n-:>-:`", |
| | | "she": "'y(`BJBKBLJuNpOgP(S5Y>^dagakc'cDg~{!{^-#h-)u-7l", |
| | | "die": "!g!t&w5M9G<k<l>pB5C6D~PmQ`R@V,V]YU[7_WcbdOdXdreigojNz+-#1-0S-2R-3d", |
| | | "gou": "/01%2)3g6t:&<h<i<jD>DhO[U#VBWwX;YNY~_(`ob5bgk_pMqHwl}k-#A-#m", |
| | | "kou": "!P!Z#r$$,P.2/W1OD+K=KFp$-5K", |
| | | "ning": "$P=R>!DpLevm-,~-64", |
| | | "yong": "%p&>A]DcIPP=Yre2e]l@mJmio9rHuVyh}n}~-%*-%s-'x-/y-0w-15-2A-2o-5`", |
| | | "wa": "%K,),?,E,`=N@r@xOyTuW1lc-#W-#^-#t-8w", |
| | | "ka": "?8U@qV", |
| | | "bao": ",<.~6h?,DgGYHcK`L4MJN^OJTeUdV4V5Vf`ib*d8q/w%x.zs~>-!6-&x-&|-(9-)/-+j-,M-/7-1~-3/-3A-6Q-9r-:B", |
| | | "huai": "=7N3N8VDVSeE-:f", |
| | | "ming": "!C!w#zEDJ'R,WuZ0m^n_q}xT-3.-6L", |
| | | "hen": "Y|-!y", |
| | | "quan": "$b%u/K0B5<6$7:9mEqI3NAP|SlXLZ#_)dkeIgzi=o5qxv%xO{#-#_-%M-&$-)V-*3-,e-0L-2^-9}", |
| | | "tiao": "!~(t),,J,g/!3/4.5F=S?PCdD^H0J@JMJNPnWdZ8Zv_McqdwjCr!rdtyxR-#%-,G-/o-1&-2;-9y-:C", |
| | | "xing": "!D#Z&$0Y0g6J@YApBFEuF7FhHrP9T#XVX_[_lMluo+pBqZqwrhwZx6|D|S-'V-(/-)p-+D-/5-0D", |
| | | "kan": "!N$=$g%?'^.QG&T%h8ho{4{q-%)-.+-:R-:X", |
| | | "lai": "#8#F/X0%2/2MG'H%MSW7Zqaob,c&c4k.mBsgxd-$q-$w-)y-0*-4B-4f-8%", |
| | | "kua": "50?>B~Z=d9dlq~-+s", |
| | | "gong": "'91*44474=8o;z>[OBXQXba6bZfzg$gtrG-!z-,T-:L-:Q-:W-:u", |
| | | "mi": "!s#p$A(w)')w*C1d2b2}3p407c;>;F?bClH{J#K'K/L}N#N6PaU*WZW[WcX1Z.[j[l_g_rjXo4oXoYo_r,z/-!K-66-7X-7Y-7j-82-9&", |
| | | "an": "!(!.;)?I@XEzGlHWHgJSUxZS[N_d`k`{r1s:x]zy}+~=-!w-!x-$1-(l-/E-4I-4u-6v-8c", |
| | | "lu": "!)#Q$_%|&L&d'])E)J*}+[+o071X1v2!2#2G2H3I6S8^9q:f?9A,AtBmBzCFCMCND.G@JcJeJtKcM[N<NINVR>SYXh[~aVb|d$dseCf#gxh^h|i/i>iTk5nwpis2sascu8uMumvGw&w+yr|A|t~x-%J-%_-)+-)r-*N-,3-.q-.t-00-1i-1r-1y-3w-4E-4P-6!-6>-6U-7;-7C-7M-7b-8l", |
| | | "mou": "!|7n:@Oq[[_Ue6t=-#9-3y-8!", |
| | | "cun": ".N2nA>lS", |
| | | "lv": "$()(*r+~0`5Z5~6S7_7j9q:*@wA(A8A;HkM,NKV=VZm'rJw#xDz_{T-*u-+*-5a", |
| | | "zhen": "!X!b!c!}%Y'%)5)T)b+I.A0X264N4w5Y7D7L9,:2=I?%B9H5I5IWJ&LnTpUSWaYKZb^pa2afbWc%g^hZi4iqkOnNoxq$r~s`tOu$u%wJyS|0|_~L-)D-,o-1f-3@-6R-8d", |
| | | "ce": "/%/U/^/t0G1W36F/H3HPJA", |
| | | "chai": ")&>HCjEJNzS9T[Xz`jp4wY", |
| | | "nong": ")v*j+q8C?cAXL,V~]iioipoL-,{-9a", |
| | | "hou": "#c$t0q3Z<M<UEVHq`MjgltmWq|t@-'T-+r-/B-0C-1O-2!-2,-9Y", |
| | | "jiong": ",M4~5uB#B&MeMjVIjFjjqi-$}-%h-)6-)X", |
| | | "tui": "+y=N@tJ^MAM^P?PYQkVL^.eof7jb}D-$n-$o-$r-%m-)l-+u-.L", |
| | | "nan": "@^G$HOQe[PcEk]}_~'", |
| | | "xiao": "#+&4&:+i,N.l/q0!0O0c1(1b1u5a9R<;>@AGFyHCKyL2LtNBNMP<RPR^S!S[Y5YzZUZl[ke*jom9r@xh~I-&3-*`-+8-+q-,!-,+-.I-3X-3p-5Q-6W", |
| | | "bian": "%`&}+8,;/=0S2A2W3W6k6y:$:+B/C4DLHUL{QBV+WTW}[5^/aJbfi^idieifihikiliviwkSl4l5oatPzO-##-#<-0I-0J-2`-3R-5&", |
| | | "pian": "0l6y:$<I?K@5WX[9_haIaZdtejsq-)O-)v-*(-**-+?-+N-+w-.z-5&", |
| | | "cu": "1P3)7S?xK)XAZDcjcvd%d*eOehf%fAfBo$-%<-7O-7R-7T-7s-8t", |
| | | "e": "#3%:%B%Z%y'<(9@bDRF}HXKfO#PBQ)WpY+ZF[?]L^2^___`NgMgii(j8kRkUl%mRpJpjrrt&w*xoyCzn{f|!|3|:-$?-$R-$S-%%-%&-%t-%w-'6-'L-(G-)n-.f-0[-0v-1h-2Y-4&-4<-4=-4z-6o-7$-9[-:3", |
| | | "guang": "%w?@B#B&EWgwj}r0-89", |
| | | "ku": "%,&5*D,@,T5:9E>{DoU1UbVTdPllnm-+o-/R-:p", |
| | | "jun": "&].=/`0<0CFlGCI1O/PeTXWhaeg?m1p^qfr&t'wj|Q}^}l-$j-'8-(J-)m-+F-/]-2?-43-44-47-7U-7^-7d-:Y-:]", |
| | | "zu": "(x*J+10H4}95GqHbIkYm^kd6eLtdu2u;yk|6-!f", |
| | | "hun": "!F#O#W#]F6I8JyXT[=_2hczo{d-'>-(L-.C-9J", |
| | | "su": "';+1+3+],X1U3.324X7K7U:?>,>/@{DWFwJsM+M]MiXWYE[r^o_lcyf(k$khksnZrR-':-*_-+L-/i-1@-5p-6~", |
| | | "pai": "0'1z1|IOhBjLtV", |
| | | "biao": "'c,!1D@3A,A1AoJoM=T@UoVa[3]#b?seuZw$ycz#-&&-&+-&5-&D-&E-&F-&H-&O-&W-&X-*~-+@-+W-,;-2j-7Q", |
| | | "fei": "%[//1!6M9a<A>O>e>r>z>{@GDFGjH$KhP_PuRuUtZp_GaObsvEyP|g~T-!/-!H-!I-&Y-&[-&]-'H-(j-*!-*,-0+-2F-9;", |
| | | "bei": "&i&r)`0'3f>wA[DfJ9M8PAU'V;ZLZwa1bVgch@iDlbm5mQqWrPv[wd|=-!l-#,-#C-+k-4N-6x", |
| | | "dao": ")=)H)x+B+K005F8h<B<`B_C7GwR7T4T7Umeqg9iwkYoq|b}=}O-.]-1n", |
| | | "tan": "'/6D8A:_:eBOBSGtM@TkW(WJZ~]Z]a_R_xa.a>bdm?n~o,oJqQsMx#y8-$x", |
| | | "chui": "&U0D@8GPsFtny0|n-$u-:_", |
| | | "kong": "%.&V,/0@;gg,sA-#(-4[", |
| | | "juan": "!{#2#H5J5V7Z9S:|;=?w@7AaG[K3SfUM^&mTrZras6u0vHy5yXzt}^}l-#'-&k-'.-6m-:w", |
| | | "luo": "%T&!&='n/>0M2]5>8f9M:n;@@)@UAwF8H9HYJ5N9OrRHS6UvW~X'Z1dbf`g'kAl:uEw>y/yf}s-$f-('-)_-*P-*k-+=-+X-/K-4#-6)", |
| | | "song": "&P.@===yGOY0Z]^b_?jcu1-$@-%[-'[-)e-,c", |
| | | "leng": "#>&h++L@eD", |
| | | "ben": "/&<(DxRuaUblk/sIy&", |
| | | "cai": "#T677P8aGSK+U>a5b[dxeQob", |
| | | "ying": "!R$v&C&|(P)c+_2K2^6U7/8`9^:>:X:Y:c=?A:ASDzEAF7F9G0G1H@HAHBHZJKLqMwOmQ0QPQiR0S8SgVPWv[i]M]|adbHc@g:j/m2twv8vky?~_-##-$.-$i-%g-%o-%p-1V-3g-4q-5*-53-5o-5~-67-6C-74-7>", |
| | | "ruan": "&u(>6^<o@QgQhDi*|(", |
| | | "chun": "#_0_4L8|>U?sA7C~G3G}HRITJZQgSUb(hKn}o/sL|T-0#-0Q-4i-4~-6{", |
| | | "ruo": "0P1#DnI}mP-0e-0{-5<", |
| | | "dang": "!,#s%2'((2/[1f2&CDF3GbKuN(S)UCW&]b^A_kd&kEvWxB{9~A-8[", |
| | | "huang": "'w+e0f1q7O>=C1F#H|Q@RtSuYv[V[f_Xd,kWt3txu}yI},-$,-'P-*.-0T-1A-2]-5q-86-87", |
| | | "duan": "${'&.I1`2X6a:#<r@kI/V/fdt.tGyG", |
| | | "ou": "*$=*@VA*KPM)MG]3^Yu:-3H-5[-6N", |
| | | "zan": ")},'1A1t1x3`W?^'^?apbCc<d4d5e}n1n7n<smuaubv2v<-((-4C", |
| | | "za": "%k4^4gAvA|Vpj*q8}r}}~)-$'-.u", |
| | | "lou": "$(0x1V=+=1C>IMK(QfRI]1a*g3kxu]yN|F~x-#J-+}-,*-5a", |
| | | "sou": "#v2BC;IQJ(L_M?Qum[o3t~uAyH-&:-&<-&S-'c-(R-*<", |
| | | "yuan": "!9!f)V.i0F6f7':.;m>CD3DYE?I?I_InLGLdO5PRPzQFQXQrT&TYUiUuV3VF[xa3bYh]iQj=k@kgl8lRnPphs'u(|^-%1-)9-*G-.o-30-3U-4V-5%-54-6K-6]-6}-8s-9!-90-95", |
| | | "rong": "+Q+S5E7@9C;^>FEFEfF5J/QhQwQxSDVEghthyb-)R", |
| | | "jiang": "(43u3|5P8:9L:F<>=.A2EaH^ILK.LAQjRM[w]=^W`6ngo>oF|H-#P-%5-12-2_", |
| | | "bang": "&<'A+%5_749B@uC8IcO!O*OvPt[s_olQlVt^y^-#3-,#", |
| | | "shan": "#:'m)K)q+W.s7g7}:D;p;r?pALATBaD&DtR}S,TCWjY%[b]r^ObFc?cVd^gGlAn#p!qtvBwRz4z5z;{@|P|X-'q-*J-+V-/l-1C-1D-2s-2y", |
| | | "que": "&5&E&g'6'7(1(N:P:RI]O6c}z}{*{l{p}a-4Q-6t", |
| | | "nuo": "+<+u3e3y4&<oU/U0[Y_DelkCt<y#}_~'", |
| | | "can": "+W1A3ELBO4Q.SjSn]2uJ-&`-'3-*T-+M-8^-8f", |
| | | "lei": "$X'F'b(,(H(I)7)~2j4h5H7Y8S8Y8j:=:d;t<s>5JiKWL.M4N*N+N7N@SPZ:^(^zhxnoqls?vPvvw:yz~<-!*-$O-$_-%7-%}-1Y-6<-9R", |
| | | "zao": ",y,~1R3sC#LlMPOC]`d1f4fNk%ktoCwA", |
| | | "cao": "3m>9C=C[EwJ_R:VbV|n)uc-*D-94", |
| | | "ao": "!T'Y<Q<V<Z=wC]DBK&R=T]Vy]7]8g]kom9uBuMuNz*}>}I-*S-+S-0~-2b-5X-8{", |
| | | "cou": "@ThJiK", |
| | | "chuang": "'_,H,L,q{+{E", |
| | | "piao": "$+).1D7a:;<RF|LiRCo?{3-%9-&A-&B-&V-*U-+W-.S-1.", |
| | | "man": "#{$*$c5X7]:<JkJzN)P2R6R]SoVw]>_tmuuCuUye-#!-%;-%y-'i-(Z-,t-,u-1*-2m", |
| | | "zun": "8':^U5]Pk|qqv+-1B-2u-4n-5|", |
| | | "deng": "$7'q.M/H1pCCW|`:f9l>mxv6yx}E", |
| | | "tie": "=VH8OhaPbndXq'qzv>vRx'-&z-'Q-*i", |
| | | "seng": "-,v", |
| | | "zhuang": "3:3nF)F]UBUZ", |
| | | "min": "!B%9&`.}/<1l6O6d:,:wDiSSb'pqs7tEzEzZ{K{S-1$-2n-3P-8q-8r", |
| | | "sai": "2'@cb6c9-%#-0_-2X", |
| | | "tai": "0+27>h>yB8BeD]GeLjdIl[nSpfw^-&/-)E-+7-/6-2$", |
| | | "lan": "17212Q4/8K8i9x;+I<JCL~N$N&VVVxW*W;WDWoX(X4]K^:_{fknxw/wFytz~{h-#Y-%K", |
| | | "meng": "$/$T$`(?C.CKFgH'IZKONvPgQZRaSFn'n,rKsby<~?~k-!(-!)-%F-(!-,O-/t-08-68-7@-8q-8r-8z", |
| | | "qiong": "#@#x,+,.,d,|/:/FB{EBM%MBP,P0cWdolFqs", |
| | | "lie": "5}=]?oEOOzU?csf^j`-&0-,x-.#-/J-1c-3r", |
| | | "teng": "2>2F7I@sAHM9N?R1Z@[`l1~u-)S-*B-*v-0s-97", |
| | | "long": "!p$a%n&=(R(S,u.!.6/;1*162N=P>'?6E<MxS^S`W8`4bSffu`w)|B}%}T~y-!1-*t-6@-:J-:O-:P-:V", |
| | | "rang": ")z+t,$8bMn]s^8^Nfm-.$", |
| | | "xiong": "?F?GCrY:YiZ4^a^mb'}e", |
| | | "chong": "*86b;:;|B@CBEhNfQRS$T5V)f!ohqhxZ||", |
| | | "dui": "&k'O(m5nLb]H]vhsj_v0v9ys{v|j})-$[-3h", |
| | | "rui": "#h.h6N8+D6E(KUKVKpMWMXO)P~r<rwuqxx", |
| | | "ke": "#u%T&5&~'B'Q(*(;*<+.,U,r6[9t<7C3DdHFLFOTQ5S}TmZi_Hd:gni.o2psqds/wyxQy)zM-$Z-${-%i-%q-){-+I-+y", |
| | | "tu": "*)*.*x,6/a@dFNG+GVHsIfcbe&j,jvnjp6porIs!s}wO-(h-)j-4*-49-4T-5!-5O-5z-9M", |
| | | "nei": "?~@;lNsE-'5-(I-/e-0!", |
| | | "liu": "&B&d'>'[,A6;9l;1;;</IgJ*MERWUTe|kbs#tctzuHu{xuy[ym~%~j-&>-&@-&C-&U-'b-(W-)M-)c-*@-*d-+T-.9-0m-5=-5_-7.-76-7[", |
| | | "shou": "6.9h@yC2uA-(_-:s", |
| | | "ran": "7v>ZDZIFOEOYTST`Tz-,A-,K", |
| | | "gang": "%.&q/{639!:N:W:x>Ep+s)ttwe", |
| | | "gua": "506}:z;%>xU<V#Z5[>^|cnedr#rFxM-&'-&1-*9-3k-6c", |
| | | "zui": "#G)C+15&8d;$KjRdXHi]nInqo!s$s8", |
| | | "qia": "%{'I?1HyU4dUnU-!{-+z", |
| | | "mei": "!L!_#)#a({)]+X0h3p;I;T?S?r@PE&FfI@QGTZdMg0mOnlrKtUtZyMyQ~N-#^-.>-.F-5(-7(-8V-8h", |
| | | "zhun": "+$,56(>UT8YAZ{_Pj.", |
| | | "du": "#K#b*f.T.^1,>DCsFBR&SZSmUyWqZd^$^D_E`3b%bNc)mMo(sDs|v}yL{!{^-!Y-#V-#s-#u-*E-,,-8]-8k", |
| | | "kai": "II`7gysvtbt{vCxGxvy@z<{({U-&;", |
| | | "hua": "%;&K'B3S8/BWD9D:GgIKK[MzR#XKZ&Ze[4[>]A]o_&`0p(p)rbsdunxN-*]-+<-5m-8=", |
| | | "bie": "FTNFObRmVuf6-19-2l-8|-:[", |
| | | "pao": "%e(@(O,!?|H>M=TeTfV>dDdTgfq/x.-!N-!o-7Q-7S-7|", |
| | | "geng": "56575d6m7,9Q;j;u<v=DFVGfavc1m0-%b-+v-/h-25-4j-6|", |
| | | "shua": "<nZR", |
| | | "cuo": "#1$z'G79?nFpFtImJ2J}NR[(erk0kzn7o7rEs^t[xqy$-7H-7L", |
| | | "la": "%_'R<*@>AbArG?HYM3PfQ4Q[SRi_i`l6v|z$-#0-,k-0F", |
| | | "pou": "0$UO", |
| | | "tuan": "1H4'V8a%u<-5V-6#", |
| | | "zuan": "1B2Y808N8U8e:Kb3fjftq)vxw?w~", |
| | | "keng": "%t&3&RZOr>t1uOxg|&", |
| | | "gao": "#R#g)4)6)e*m+N+O/v0~3i7E:5;O;TA'B,GILrMHZ[_:m+ryu#xny]-#o-'_-,4-,5-5R-5v-93", |
| | | "lang": "&7*n/dC(F{IXJ.JHPOQlZEg%lzl~m.rLu&xzz^{]-)h", |
| | | "weng": "#q:b;}=rJ0L(Qstg-56-7,-9_", |
| | | "tao": ")?58617A7N9W9kG|PoUhX{Yn[{^MdwhXjPjenzs+|r-!k-!t-#@-#l-#|-&w-'d-'y-)P-)x-9/", |
| | | "nao": "%z&q'*?a@&@ZAkP6R~YZ]Ju|x@zJ{O-.'", |
| | | "zang": ";S?_AmAyB$I,K@M#abambLbUb}rC-)A-++-,.", |
| | | "suan": "(z.b/m0;1BI^nn", |
| | | "nian": "':*5*P1Y3*C/K6evf5f[h=iCiS-/4-0;-1x-2K-4%-8B", |
| | | "shuai": "7>:4RNTH", |
| | | "mang": "!5!6&<&D.ZCvEXEiG4G5M_OvRaSAlDp.rsx:-)g", |
| | | "rou": "*!2w3X>3?l@aHdQC]tekhEt$-#2-#f-*7-0R-4t", |
| | | "cen": "+W.m1A", |
| | | "shuang": "(V7;CPuh}z~b-*M-*y-+^-5c-6A-7B", |
| | | "po": "%g%i/70I3'7i<,IlK,jLn%n[o1oKotq9uswMwz|=-$K-%a-)7-,N-.E", |
| | | "a": "@@s@x}|:", |
| | | "tun": "AYAeC~OlVL`G`IgJ~Z-&h-(0-.j-1q-8J", |
| | | "hang": ".k/T5*9HBiDHOAT#UAa9j3lJ-$C-%]-.i", |
| | | "shun": "!x$&$1$9BZKo-$:-%S-,g", |
| | | "ne": "!vY6^]", |
| | | "chuo": "'j0^6?8&9bd!e'e<h6iIirisk:narfu;w!-'B-:&-:G", |
| | | "wai": ".O-%:", |
| | | "guo": "$Y1K3R68=W=c@6@LA.GJK9N]Q&Q1RVUwV!h7j'kTm=pZszvVxm-'?-(K-(a", |
| | | "qiang": "%.157p82;G;R;Z;a;g;w@HCEJjKBLDMvPhVd[ndGeuf.tkuPurx~yAyw-50", |
| | | "pen": "<XHm", |
| | | "pin": "$V%A(8+w=^LcMaSLa;be-%I-%k-&#-(s-*q", |
| | | "ha": "4_NyP'QOqdxQ", |
| | | "o": "/}", |
| | | "huan": "#.#x4!565b6l8;:(:I;b><EoH#H,I_M<^>`Q`b`va/hpj9k3l/lsn9tCvSyJy{{:{r}i}{-*|-,|-/n-0A-0K-2>-3?-4+-7<", |
| | | "ken": "&#>8>Y>fUFV$`S`wsh-:?-:E", |
| | | "chuai": "A0ACeb", |
| | | "pa": "/b<zBdDrI)Trd7wr", |
| | | "se": "+b+r,#3688CULD]Ehnr4tauuxVz[{5~2-&I", |
| | | "re": "Dn", |
| | | "sun": ".f/L0T1rF<J%L$LNt|}]-&f-&p-5A", |
| | | "hei": "-8D-8E", |
| | | "de": "OMsoy(", |
| | | "kuo": "*Y*_/GH[H]O~r#rFxMz|{k~o-#.-#H-#e-$V-,V-,}", |
| | | "ceng": ".Lf:-*f", |
| | | "ca": "(E(Ykq", |
| | | "zeng": "$~'p.L5z7H7z9n:E;9]DbAc>m|roxk-.6-1K", |
| | | "nin": "?[", |
| | | "kun": "#7&H);*s+*5oGEPpUEUJUgV.`wo%sCy*z]zj{Y-)w-,<-,=-,D-0/-2G-4^-5'-6w", |
| | | "qun": "0<;_;`UVU^e.k&-7U", |
| | | "ri": "TMp/p;pd-)%-+(", |
| | | "lve": "+4rgrlxr", |
| | | "zhui": "&U((.h66729r:'@C@|[!b>c6j_o#s>sQvdy1})}Y-)s-+J-4Z", |
| | | "sao": "$O7m8<:A:HAdR4-&<-*#-*I-+Q-,:-0l-1R-2a", |
| | | "en": "J!", |
| | | "zou": "0&6GG=[)_CcNcOlem@mcn.|h-*H-+1-/w-06-2E-83-:.-:7-:n", |
| | | "nv": "2h=TSvSxp8wW", |
| | | "nuan": "-'M", |
| | | "shuo": "$m&+'$0cIvZaZc_>qttmv~x*", |
| | | "niu": "4H9.FxpTwq-!`", |
| | | "rao": "+i8)9FF,KdVvk}}B-'v-(>", |
| | | "niang": "nuoRoZ", |
| | | "shui": "#I)7*q*z@1U[ZaZcZg_>_KzG", |
| | | "nve": "&ONJ", |
| | | "niao": "@%E>K1T^UGVO-2{-6H", |
| | | "kuan": ",s,tAqw(-,&-,2", |
| | | "cuan": ",',Q,s,t,z1)1[fLfsrZw;yv", |
| | | "te": "?vRgr{xe", |
| | | "zen": "]V_y", |
| | | "zei": "S;a_bv-0M-1Q-2+", |
| | | "zhua": "2(AU-,Y", |
| | | "shuan": "5<@]z3{?", |
| | | "zhuai": "#1dmi'", |
| | | "nou": ";v=,tfv;", |
| | | "shai": "/Z121J1e2[[K", |
| | | "sen": "Ve", |
| | | "run": "$1AOz@zQ{F", |
| | | "ei": "ZH_@", |
| | | "gei": "5C9J", |
| | | "miu": "7n:@]+_w", |
| | | "neng": "?LR'", |
| | | "fiao": "WL", |
| | | "shei": "Zg", |
| | | "zhei": "j:", |
| | | "nun": "-84" |
| | | }, |
| | | "m": { |
| | | "yi": "-:~-:<-:;-:4-:3-:#-:!-9~-9T-92-8u-8R-8N-8I-8+-8(-7O-7M-74-6l-6c-6L-5z-5)-40-2U-2Q-2>-11-0o-/_-..-,o-,B-,3-+q-+[-+<-)X-(o-(5-'w-'k-'=-'#-&6-$'-!?~=}E}1|x{Zz|zzxix6x.x%wKw,v%uPs_rurorEr8r)pppdpXojoioVnxn<mLm=l1j{jvjkj/j(i^i]i6h6gYg0g)g&g%fbf2f1f0f/etepd~dpd;c~c`c@bhbbbTaE_T_>_,^g]|]{]`]/[!Z=Y5XVVTTgT_T7T1SxSsR~RyR;QwQ0Q!PDP6NbN^N,MZMSLXLIL6L$J9I}IUIIHMG?EaEHE4D!CwCFBkBTBEB9B5@2?Y?K?I>K>H>'=a=R;m:~:48c8!7,5g4q3&2}2Y1j1f1`1M1/1'0t.O.K,_,,*x*f(c'G&.&&%b%Y%G%$$b$6$/#x#T!9", |
| | | "ding": "-:}-8q-)?-%!vipfkGiydzY2Ik6u+B&^&[%_", |
| | | "zheng": "-:}-9O-7L-0#{1{,yjuvsRm*lNlIi;eheZe8e4e3d/`x_v]3[+ZSY8Y2XlVFTYT#Q1C@A!4W3w07.),]%*#C", |
| | | "kao": "-:|n{k][#TbL>>R3p/,", |
| | | "qiao": "-:|-:(-6A-5v-4=-3(-2[-.@-,2-$H-$5-!q-!=y/y$xkx4rSm+m!k]k%j:iSi(hqbvaT_wVuV6V$T%KgGaF^FKFGEpDSBCBBB;8<2b1C1>.}#e", |
| | | "yu": "-:|-:p-9^-9P-9J-9H-80-7t-75-6'-5g-5b-5H-4U-3F-2l-20-1F-+K-)O-)+-(J-%a-$p-$K-$9-!7}]}W}5{7zizNzEvyvwv9v3tytjtetcsqsos@rsq|pyp+p%oQn6m%l8kyklk8jfgvguf%eGdWbtb(aLaKa:`1_1^:]e]d]KZOZ!YmXiTDS`SUS7RpQyNvLAKsJKJJJ;IAH|HmHVDVD:D*D#D!CrC[CDC,B*@K=Q<><<<1;h;_:v9G908=7M7I7A535#2{2R1b1:1(0;/q.(.&,1+G+9+7)n)h)F))(+&*%!$M$D$=#V!A!0", |
| | | "qi": "-:{-:r-9{-9E-9;-99-82-8$-5f-5(-3D-2{-1:-0G-.j-(Y-(A-(.-'v-'C-&%-%m-%I-%F-%E-%:-$D-#N-!Z-!B}$zvyHwbw;w1u~t[tFn;n3n$m~l^kkiBg/dpdTcKb<aBa&`3`2`'_b_)^K]OYRY@X?W1TgT1SkSjS1RxQ4PbO@N]MyMCL]LZKhKOJ~JcJ]J[J>J4GyGJE<E,CyCkCjC<AEABA6@a@7@$?+>W<Y<N;5;49h9*6f4x3D,m+N+8)a)](`'4&V&1%K!C", |
| | | "shang": "-:z-:t-7k-3C-%S{p{*y:oAo@c8aA`@]}Q^G.BxBZ@P:h9>8l1T", |
| | | "xia": "-:y-:s-9u-6I-5e-3w-+T-*+-(v-'m-%n-!!}({Mwtwpm/logkeB_3YST)P~M<Jm4X3z2i.L.,,}*C)1%V%J$8", |
| | | "han": "-:x-8S-7J-3>-1A-/j-/i-*P-*J-(^-&C-&9-$k}[{Xtrrbp,n8lJl%dqbm_c_L]cZ(VLV%T]R_R^QRQQPOK9IJCH@l@^@?=k=Z=?<l8k7X6'3I3@1Z01.g,t**&{!p", |
| | | "wan": "-:w-:E-5=-/S-.f-+)-+&-&1{0z*x=wlwkv6tJt3ptpen%iGf_f?d[b.b,]1Z9Y|YmY=QOQDQ@Q,NVNNK1J%G9B2@h<m:X7}7<5:3]+&)t)Z%z!n!7", |
| | | "mo": "-:w-:5-0z-.(-#S-!l~j~b}!yQy#v!r_rMr$qno}o?iji_hR_(^d[cVzVkVjUHTyR$O4M[FrFMC$C#B~?~?o?e8m640`.8,%#m!x", |
| | | "zhang": "-:v-8k-8]-8L-3=-1byErnkDimiIh}hsfnfmfXey`Q]hYEPRNeFt<y<p8Z8Y,$(V$`#}#u", |
| | | "san": "-:u-8d-7q-5p-3c-*Q-)m-)l-)k-)j-)ix:iHg#T5AeAdAZ7s/%", |
| | | "ji": "-:r-:O-:<-9p-99-8x-8w-8'-8$-6t-4W-41-2w-1:-12-10-0*-/l-/^-/W-/#-.d-.^-.0-,9-*z-*`-*U-)d-)P-)0-)#-'6-&c-%s-%d-$V-#x-!{~z|~|f|.zxz?z(z'xlw;v^vJuZuLs$qAp=p;oJnfnEn(l$l#kRjsj0iBhYh!gEf=f<eseMdxdaczbAb*a!_K_)^k^F^C]@ZRYCXHW1V`VBV$UtU^TgT1RnRmRlP]P[PCOAO@O$N9N5K,JNI*HrHhGoGTFfF3ExEXEPE8E'D[BdB:@O@B>y>]=x<`;t;(9.9(857&6{6d5m3D/;.j+?(>(!&8%{%t%4$X$,#H#>#'!w", |
| | | "bu": "-:q-7F-,M-*w-*t-(d-'K-&D{B{?{6zPtOm#izh'gfd,bi[rY}Y{YfQHM,C>C;C:'=", |
| | | "fou": "-:q-(cvCBj4H", |
| | | "mian": "-:o-42-1d-0w-,S-,H-$`tktQsZqpq#aDNWJ^E=D~@p?|;k;,7G/o", |
| | | "gai": "-:n-9w-6e-+u-+t|'uYm@dy^AW%T`QYNaHZGNGM:M8|'{&6!,", |
| | | "chou": "-:m-:l-8m-5_-4=-2A-(m~{t/r!iKhld$b3aS_%[_Y%W~N?N=LJJkI|E?B_0h/O.s.p&3&!%l#v!m", |
| | | "zhuan": "-:k-7o-3G-3+-2y-.I-)n-%+~EzRyPreq<oXoRc0V28t5%)5(f'.", |
| | | "qie": "-:j-7Q-/`-+P-*@-#uw1u{iCcpbkaia8`fZoOZL]I~>;<`,E%g#(", |
| | | "ju": "-:j-:?-9m-7n-62-5`-5S-4x-4j-2l-19-0%-.Z-.:-,.-+n-)H-'d-$|{/ztx_uct_tNt$o{nvnqnOnMmqmil`jYj9j7g+e%d<d3d(an`}_E^j];[I[C[;Z^Z@YdY$XMUdUVR3M^M9KxJyI{IzIrHSHDF:EcDPDCC8AqAi?b?L?(>:<g<I;[:o7)4L3o3<30/4/..P.A*e)m%5", |
| | | "pi": "-:i-8@-7|-7P-2Z-.R-.9-+>-(h-(c-%5-!.-!,~|~X}2|L{2xhvCs<rwnumblFk7hWcibx_U]G[q[eXcUgS+OXN3N2HPB&B%<@8>7*6e4n2x.Q.G,n)Q'(%k%h%@$p#R!U", |
| | | "shi": "-:h-:g-9q-9l-9N-9M-8t-8_-7R-6k-6]-1X-0m-,^-,:-+_-+6-++-*>-);-()-'{-',-%.-#t-#7-!W-!>{>z|y{x<wQvqunu<r4pbpap[pVpMp*oun~ninhm;m7l0l/kQi{iuiQg!f}f|eCdodTc_c[aU^*[.ZyXYS6RXRUQ{QzQhMWLxLrLlL5HiH[H,ELBiAJ>n=}:{:s:W:5:'9v7C7?6n4=4%28.3.+.#,0)$&3$}", |
| | | "qiu": "-:f-:^-8m-6#-)u-)9-&+~*|FyTsQl4j2j1cFc&]rWkO%KIHeF8BpAn@s@b?J=o;^:l:k:j2D/T.k+D*'([!P!(", |
| | | "bing": "-:e-:W-8h-8b-6u-5B-4T-3Y-1;-0a-0[{mp1ngnZhbhah&cm[vY,W5R0QpN/MQLQLLJnJbGXE:@~4E)r%,", |
| | | "ye": "-:d-9z-9.-9&-4e-2_-0U-)7-(u-'%-$W-#,-!]{:zIxqxdwgoVm$jxjw[hZzZ!YyY;X:X6UhUcUUUSURQUPxP@P?P,OmOkMYMXIQHsHpCXBh>i<o8q7w753l3M2N1H0M0,0)).(T'b$V!a", |
| | | "cong": "-:c-8f-+r-)K}w}ptPq6eUeTeReJdZcnbUbIa3`^`.PTMxJ`HyG2FgF[D?<G9!8v8L8D8#5V3+1n0H)X(e(a", |
| | | "dong": "-:b-6R-4n-3,-0`-0P-0>-,u-,G-,/-'I|/{)y&u^tXr*mSm>lKl?eNc3_H^LZhX<QrNILfJGA8A+>L<j:n4#18.0", |
| | | "si": "-:a-9B-7T-7R-7N-6H-5f-5X-4,-3y-2+-1[-03-*#-)x-)5-'F-#m-!u-!M~)ugtdsJqDoaj.gUd%cHa2VMSDNOMeL{J~I/H!C'@X?O?8?*>^>J=,7[6?1</R", |
| | | "cheng": "-:`-:%-:$-68-4_-2z-0K-0C-(@{H{A{,zYz#ywu*pSlth%eZb^al`(_v^t^U]A[zZFYPXDWQW,VRVQVFQJQ)N}MnLtJPJ@IyF=F<F9EeETA!?0>e=_=G<8:?7f7d6/05/f*6*2)c%x!'", |
| | | "diu": "-:_-:[", |
| | | "liang": "-:]-:Y-9)-5x-5[-5>-5%-1G-0B-&J-%y-%7-$Ly2bWY7Q*KJIwG%<e:_", |
| | | "you": "-:Z-9#-7w-7=-7'-6X-4;-2*-0t-*p-)f-)c-):-'~-&u-&>~n}bvRuAq=pZo8o6m1lyh[hZh(d]d$c|cqbY`,^xXkTaS4OVM;LAKGK=H{GFD}DJ@8@(?V?>=g;C:b976B/j/i/O.b.D,?,>+Z+Q&g&d%O%!", |
| | | "yan": "-:X-9d-5]-4]-4O-3;-1u-1Z-1Y-.a-.[-+:-*O-*F-*/-*$-){-)z-'%-&=-&2-%'-$N-$G-!L~~~a~Q~5{GzAydy7xLx@wMw>vPv>uFu@titfrgr?r9qwqfqWpKmhlEl'kuktk0jUjKjJjIjGg<g*f'f&c$a7_5^~^8]w]?Y3Y'XhXPT3R8QZQ.P`P/O}OrJsJ<IFIEI5FeF'E^E.D`D3C_BhBG@,?P>M<V<&;K;D:i:H9R8y8S5O5I56544k4j3u3X3J3B3?3!2~2U1t1E140Q/U,w,g,d*Q*()V'$!3", |
| | | "sang": "-:V-$J-#}WgK{KzGV", |
| | | "gun": "-:Ub6JY9W93", |
| | | "jiu": "-:T-:8-:7-9|-9v-5A-2p-.H-+|-+e-+]-+A-*(-'U-$wvdo(gogdgc`IZ2XkXBXAW9TGRhO#NTM+LsKwFxD;BW@v@Q5$/b+:%X", |
| | | "ge": "-:S-9Q-8R-7!-6|-59-.O-+l-)(-)$-(e-(D-'4-&Y-&?-#s-#`-#J}6yhfLaO^^^R^=]_ZkX*WHULTML4GsE!CW9l9`/T.f,C+k%Y!,", |
| | | "ya": "-:R-9>-9<-9:-7m-5K-0W-.$-*H-*G-*A-*?-(s-(H-&n-&'-%;}L}@}9{j{5zbxTuBu3t%q2n,lVlUhKh?[`[ZZZY:XLN'KlIsIFA0A,<r9,8//g.^,[,E+/)}'b%h%J$x$K", |
| | | "pan": "-:Q-0S-/B-)R|Ys3i1[O[AW]U=MMGu?t>}>k:c9s84684l0$/w&C&/&,!*", |
| | | "zhong": "-:P-8A-83-7x-4Z-0j-/C-$Tz8ysx$vMvHs^o)i)eqe0dddYS`MKC2@=?G4w2k.T$F!>", |
| | | "jie": "-:N-8i-8<-5$-4~-4W-4!-3j-2]-/@-/?-/)-,r-,a-*j-*i-(e-&c-%d-%H-$m-$8-#q~zzKz7vevOuit>sasVsCs(qSpIoJnpnln*m|lCkvkbjrjqjgjbhihIeEbr^S^;]_[,YZY+X{XwX?W_UmUOUJS9RINXNJL0KxKoI~I1HqHgHfH8EOB,>j>;:z9b882?/'.6+0)H)8&K&J%g%]%M%##D!~", |
| | | "feng": "-:M-8:-5L-4N-2Y-0]-0&-0!-/{-/y-%p{Rz9z5w}w9v7odoYl}l|l5W4MkKPI.E[?m?h=S;Y;#:R8e5Z4i3V3*2g1h/1,O)u%C$B", |
| | | "guan": "-:L-58-1=-0l-*vphb@b?af`LXqW*SRJ+G*D(B2>w<v<W8G5Q0E)W(4'e$_$0#Y", |
| | | "kuang": "-:L-22-0V-,b-+V-+N-*v-&o}&xNwFm_dJcW^z^y]>RWQkP#L)?N>=0X.X.U", |
| | | "chuan": "-:K-7o-3G-2t-.K-$]}Tz3jFjDPMIRIDCbA?@i,H+<)7", |
| | | "chan": "-:J-91-2y-2R-1~-1/-/:-.k-.J-.*-*~-%$-$F-!n~P~@xBszr>q3l>kJkCkBjXh{hpgWdu^r^lXsX+W;VqVhU#S9RYJsJXDEB#=v:^967o7n71655d5B2V1I,#&v&u", |
| | | "lin": "-:I-9U-2g-0e-00-0/-)v-(l-%PxDlbk,gIgHc=bob)_=_6[MVGS?Q+PGN!FIEmED<U7j7H5h3819+u)S(I'+%o$Z#M#K", |
| | | "zhuo": "-:H-4t-.`-.<-+#-)X-%U-%T-!G}+y@v,tYeu[BZ,Y~V3UxU[StSHSESBSAS>Q>L#JuJfJ3J,IoGcDh@j=|=h<b<J7%6S5[4}4N3_3#1>.h)e)N", |
| | | "zhu": "-:G-:B-9]-7d-7G-7?-6Z-.&-,t-,n-#T-!z~4|=xpx3qVq!ploNnWnIl*i>[[[WT&StS;OqO1O0O.N>M#LzLFGWFmF,DhDbD^D0BH?&>Q;b7t7Z6s5x5>4V4A3y2^2@1+0x0?,K*K%B$J", |
| | | "ba": "-:F-8l-7`-1E-)^-)@-(b-&M-&I|_{[x>wCv0mumIj,fq]o]I]6]#[GZ)O+M'D,5?4R0+.m+@%N#/#!", |
| | | "dan": "-:D-8~-7{-7H-2r-2J-/V-,,-+G-*~-*{-'f-&2-%C-%B-$v-$F-!m-!b~[vTsjiofTfOfEb$aga>_q_P]4[VXuV@V?UjRiM/BeBSA*@)>r<?7.1I.@+#'O''%f%:$H#`#N!F", |
| | | "wei": "-:C-8{-7p-7e-7A-4s-4V-4Q-3~-2x-2$-*h-*b-*O-)O-'q-%q-%k-$s-$S-$@~.}o}m}S}7y1xJueu7u$snsUsHoqoQnxn_m9m2lHl7kskZk=jljTiniEi9gme=e:avaPaM`?_JYnYUXbX1VEV1S^PuO5L*JqIOINHkD@?g>c>C=n=$;S;N;0:N:08?837i6R6G5|4]4>4$2]2O2F1]0u02/$.r,[,P,I*~)h);'f&H%!$N#X#U", |
| | | "jing": "-:A-9C-9+-9'-5r-5%-3A-2O-1N-0K-0C-/9-.~-,y-,k-,[|i|g|cyIvQt:t8t+pojAh|fdfZeeeWb/___NUoT+S&S%Q:Q3PIP0KZJpEvBsBn@I@H>m>%=><87]6#,r,'(^(B(<%($u", |
| | | "li": "-:@-6_-5u-5k-5Z-3s-2&-1z-08-/Q-/=-.o-.G-.'-.%-,l-,&-*L-*I-*:-*.-*!-)|-)Z-)X-(z-(2-&U-&0-%g-$C~g~`~A~>|`yrxEu+tat#rjqYq,nAmkm5m.lzjag@b]bXbRbB`l^&]q]gWYU@U3TsTlSpP_P>P%O&NmN^MqMSLnLcLYLUK!JoJdJMG1ECDuDjD_D8D.C/C+?k?[?Z=Y=U=/:/8z7@6C6$5H0a0U/>/=/#.z,~,u*V*$)z(t(_'x'u'l'W%R%F$l#P#A!Y", |
| | | "pie": "-:>rVV]V[PHAD8>", |
| | | "fu": "-:=-9c-8[-8#-7z-73-5y-5m-5j-5U-46-3v-0d-/|-/J-.R-+h-(=-(6-'[-'S-&E-!s|<|!{]wvwWvVvRuru'tDt,sbr5qJq/pmp3oWmgmFi~ifi7hzh;fwfkeje?c{ct^w]l]J]&]%[Y[QZ+YfV7S}SLS)ORN+M]MGM)M'L1KWJ2IYIPHKA:>~>Y=W<w9c7T4S3d3/0.+2*t*!()&m&b&N&G&@#h!)", |
| | | "nai": "-::-6v-4iw:vhv)qxq(g6WVV{M$AC;<%`", |
| | | "wu": "-:9-:1-9D-97-8>-8%-6;-5|-4k-2k-2:-1q-.T-,|-,C-+y-+/-*V-(U-(T-(J-(?-(+-&)-%K-#v}4|^zLykxvvxv4u%tjthsurTownkn9n+lmkzk_j6hFgQfudbd`d@c'b[bZbKat_]^[]e]d]]Z4WGTTS7RoROQENvNtNoM&K#FLCVC=B3@[@Z@S?{>T>*=V;^:,874(3C322*1w/V/A+3*4*3(|(P')$h", |
| | | "tuo": "-:6-8X-77-6h-6.-'a-'G-%[-%$|Sz;v8sNrRmck'gzet]i]`[H[F[EZMYuV1NgN^MTM8ITI+GbFBF0AvA_@d?`?_?^<k.K", |
| | | "zhe": "-:6-9[-*K-&L-%9-$o-#T~h{Er^bp`6]H]'W_ViQGQFNgM=JWFwC%=m<E", |
| | | "ma": "-:5-9Q-3o-(r-&!-$%-#4-#3vUs1rWqNhR[cVzNQH2:2/&.c,4+5(x$[$Z", |
| | | "me": "-:5~t~j~UhR6I", |
| | | "yao": "-:5-:,-8;-6D-5@-4?-3_-2q-+m-)&-'7-$b-$2{}zBwUvGu_svs=pro3o,n/m,l,k#j~h^e;e.cqcRa%[oX2WrW@VdV$PkP'NGN#LuI;HBH9G5C!BA:B9J444&1|0f0(.E,;+r*D(~(l%S$%!t", |
| | | "zhi": "-:2-9Y-6f-5^-5C-4|-4d-44-3y-2,-/}-/0-.U-.+-,v-*e-*>-)C-(W-'v-'8|||{|T|:z~z{yFy@x$v%uNtsrGp&m7l0j+iridiahyh5h3ggf5eYeKe4e3dmdUcU`6`*_$^{^E]Y]F]E[u[HZtZpZ]Y{XvWpWVW2V{VvVtUKUJU>TjSMRwRgQ`Q/NOMyMcM2LqLhL6K~K7JjIuI]I*H+GHF_D|DnCAC6BiAJ@t@O@N?v?T?3>V>3<L<!9e9S9B8}8@7~6>4`1_/9,x,^(R'w'[&3%c%;%7${$z$k$E", |
| | | "zha": "-:0-48-.N-.=-*C-(w-'X-'?-&K-$j-$O-$Aw/pNd6]s[m[XZdX4WIW#O2M7M1M0LvLlI?H4Fv;X:67u5#4@2N/p&d%.!M!H", |
| | | "hu": "-:/-:'-9j-9F-5E-0Z-+U-+L-'h-'W-%n-%Z-$_-$4-$1-#>-#2~k}v|;x1x0x,uGt4sEr]r[oxm[iphxfxfgdFd*d)cGa{^V^6^4^3^/^.^,^']y]9[xWWW$SXRFR<OjN(L8I%I$GEGCCR@9@&?f?7=t<.<+;$9E99986Y5s483S2;1a.J,S)b)+']'['I", |
| | | "fa": "-:.-8!-6y-3Z-0R-)]|A{vy)uwm4fKL@FO?X?:=z5R*[)L%8#.#+", |
| | | "le": "-:,-9R-8r-,J-)2-#1d}]qH`G5@z??/b+A", |
| | | "yue": "-:,-1g-1e-1`-/P-&j-&@-%A-!DvAqrn1m^jec,bubS^]]g]8Y_U@OpOoOWN8LcH`G5FTDj?'5e0J+*", |
| | | "lao": "-:,-6~-3!-,j-,i-,>-'$-&N-%z-#p-!}uSr`ljk/cY_f_eYtVZO:L=G5F!=O='8%7a3{/^./*<$f#c", |
| | | "yin": "-:+-7}-6^-0t-0;-*c-(j-(V-%o-$d-!T-!+~l~+~$}`}$|&{w{YzXz:w_u=t0t&p:n}lnlLl<jdg^g>fya@`i`B_u_t_0SMO[L:KKEkE@E1DKCwC_BYBGA5>l>d>U<5;~:}:i9}9V6^6]4).],|,j*I(U$7#k#_#:", |
| | | "ping": "-:*-5i-0]-/z-/s-'u|Qz1u/ngnZmTi[iJi4heh&`0_zMfEU?6>6=A<D3)*v'F';&_", |
| | | "pang": "-:)-*B-#ww}r|o2h9h*ere<S2@<?y9p4i", |
| | | "guai": "-:&-)_wVcuc>[KMbLw", |
| | | "sheng": "-:%-:$-4H-.X-.Q-,?-+0-(9}=x{x7u*k}_VS[RGQJQIOeMuIyG~E{BzBF?%;k;@:q7G2u/M.N*h)i&y&s&`!'", |
| | | "hao": "-:!-65-3k-2)-)6-'j-&_-#k-!t-!Y-!#~xxRvacOblRDR'QBPePaPWP7J!A~Ao=]<Q9j9U7S6c5N5@,/,)+}!y!q!h!f!c!_", |
| | | "mie": "-9}-),-':-&Hq7hk^uWeDr9m64504!", |
| | | "nie": "-9}-%*-#e-!O~m~D~5~2}#q'q&mFkTjujLivZ&YVY5X[WCVsT|T<MVG@DW=@:Z%+", |
| | | "xi": "-9y-6&-5l-3i-3#-1B-0,-+?-+*-*n-*R-(P-'x-'>-'6-&/-%]-$X-$:-!p-![~T~8y?xWwnw'tgs;rCr@nsncn`nRnHkgk9jpj`jZiqiOeceOe9djd_dEcscgcZcKc/bqbeb8ay`r`p_s_r^V^6^4^3]_]O]HW%R:QKQ9Q6PEOzNON)MdLZKSIdIGG{GUFkFRE|EjCzCuCmCMCJA4@e>X>S=f<[;i:+9h9)8p8/8,7N3e3R3K343&2Y2+2)2%1q1P1O1N0}0P/E/?/*.{.t.#+p*r)|(#'h$1!k", |
| | | "xiang": "-9x-9,-9(-6}-3*-1}-,4-,$-*0-(x-&r-%L~Ww~uXk5j)h7gqe'abQXP5LWH^F1DH;!8:*E'g'T", |
| | | "shu": "-9s-61-5g-55-54-1|-1F-)Y-'3yNyGu[tGq4oNoCnWnIg}gxdWchcgcIbt^X].Z.Z#Y>WBU9T'S|PvPtP*OhO1O0O.N[NBMtL`JtFuFYEpBuBKAaA`?c<O8[8H7m7Z6m5q3Q1k)f(i('%h%e%d#O", |
| | | "dou": "-9r-61-1T-1P-(~-(N-&&-%|])S]SPN&J}EwAm=d;n6<.$$v", |
| | | "nang": "-9o-1s~d~;~1_QWwU{TkOwD+<n5b5;", |
| | | "jia": "-9n-8<-7Q-6w-4X-3X-2]-,}-)S-&?-&4-#F|}{MwIwDsrs,pvpImei,e[eBd^cA^J^G]L[d[Z[,ZWZ8UhSYSVM`M_K/ILHNH:G^ENAz?H>&=L/3,E,B*n*d&f%0$8", |
| | | "mao": "-9k-1,-1(-0|-0z-*dzLwksLmOkzi?a=_?^(S/QvPrN4M@I'B!AcAW?9;F/Y/#,J)E#$", |
| | | "mai": "-9i-7I-,{-,*-*}-#${Kx5", |
| | | "luan": "-9h-9Y-9V-*^}C}Bvmu0qXq:q$m)jOZ[TvOuL2D69K5J59#4#3", |
| | | "ru": "-9f-6K-2C-1K-(N-#{-!$vkv[s7qyq)jciX]kZgUTP+NzL(E0@W>7;Q9u6b+^", |
| | | "xue": "-9e-.x-(Q-!9|Bxbq>q+mmmMjzf=ckT/SlKvFc?!>u9j7>5y1&.B%L%<", |
| | | "sha": "-9b-4c-3?-2H-/,-.t-*+-%t-%^-%H-%4-$R-$0iCgkZEZDW<N{NrK`H?FlCaC3BDAl?w6{2P,v$g", |
| | | "na": "-9a-1*-*|-(R-(8-&T-#_v=tx]0[LZxZgYWWL", |
| | | "qian": "-9`-9Z-9W-8T-8B-7l-7(-5q-4w-4^-3g-31-2<-/r-/[-.u-+4-)}-&4-#u}/}.zaySy4xZvgt7seqtq`q5n'n!k{kVdObgbLaN`f`<]Z]N[J[1ZCYLY=Y!X7WSVgVbVUU,U+U)O_NwJ_IbH3GiGPF%E7DzD'C~CeCZC7@]@M>$<%81806O5S4B2Z/J/B/2+%!l", |
| | | "suo": "-9_-9=-3]-&8-%x-$&-#j-#gu&s(as^$ZEZDW:PjKaJz:E9y+|)w)v)!(]", |
| | | "gan": "-9Z-8S-7J-5&-0=-/u-'c|Ro'o%o#o!hfh_dqa5U~T]T6R_NuMDKLH6FNEd@??;<:8f7_7/55+;*w'#%?!T", |
| | | "gui": "-9X-6q-3{-/(-/&-.7-.5-+Q-+J-+I-+F-*%}3{zv2u;s?rhrIp|k$jpj`iLhLh,gmf;cMVxVVTiThRCQ2O%M9L.KeIeI`GTGAG<G;FWEQE)DXDQC*@v;;:H4t,Q*A(r(D'q#X#0!|", |
| | | "jue": "-9S-50-3f-0X-/R-.?-+@-*,-)X-(Q-!a-!R-!9~I{PxbvAqRqQnLnJlPl@k$j}fmf>_k_Z^b]7Z`Y~Y9V^V;TnSgKTF7F6D[CvAG@:?!5P2|1d1>0S0G000/+z+M+)+'*](n(G%L$3", |
| | | "liao": "-9R-2|-!rrLovomo<o5o4nKkLk+k*g]gG`/_^W9VaV9S{SZPLO~FxFA8Q8%4f1;0V0R+q(H%[#g", |
| | | "er": "-9L-6v-6T-1r-1a-1_-/1-'B-%hoHoGoFmAg$f~NiLCLBK6FaAt>[>90%*F", |
| | | "chu": "-9K-5N-3d-3R-2K-2!-0$-/m-/Y-/I-,t-*)-!o{$x!s>n5hjgXcj`g_SWxW$VoTNS=NEIjI&HoHQF|E}EsESE#DsDdCzCG?@9r9q6x4N/+*+(,&;", |
| | | "kui": "-9I-3{-/4-+I-+F-$U-$;-!xwow4s/rBo*mQjVjHb]a.a,_y^BXgQdPyI2I0E&BV:S7x2l.q!/", |
| | | "yun": "-9G-7r-3q-1p-+}-+x-(0-&^-$^}xwEvsvEqOb}aca4a)`c]2[yRNQTP}MwHWF@BmBaA&A%@0=3=!:!7W2h2:202(2$1b.Y+(&P", |
| | | "sui": "-9A-5#-&F-#U{3wytvr1nwn4kpRqEWC1C0Ab=H9[7+6z5}2C1g0~(/'p", |
| | | "gen": "-9@-9?-&pX=X'L7", |
| | | "xie": "-9=-9!-7[-4J-4A-4/-39-1{-0s-0c-,w-,+-+'-+!-*k-*Z-)7-$(-!C~e{ry_wrw8w1u)sOq]opnenVnNm$jrgJeFcT`z`p_BZ~ZWZ8X9WnWMV*UiUFT}SWRePXMZLIK@JwI,HOH?H/FlC]?K>p>A;P9h7B695{5!4Q4P3b3E2,0w0s0O,C+k+e)8", |
| | | "zhai": "-9;-6B-4f-4*-3E-*K-*C-&c~zw{p{os[u[2YxW/UwU>SiSfH#EL#t", |
| | | "tou": "-98-4'-4&{$wNv'sqs@aK]*T0SQ", |
| | | "wang": "-97-8v-87-1JvYo7o1o0o/eoeiefe[dldJa}]>RTQ(OEODO=N1JD@J6;+E", |
| | | "kang": "-96-8)-+X}|rmkKg|dG`8]f](G=8_4d.a", |
| | | "da": "-95-.N-+f-'f-'R-&m-#~-!J{hxrw[v*d'ag_q]nWZVJ@f?}:<4Y0p&@&4$#", |
| | | "jiao": "-94-6n-6D-2q-2j-2I-.B-.6-,6-)B-(<-$H-#M-#K-#?-#(-!^-!=~IuUu1r=r6qcm+m(k1k%k!e.e+cJbl_~_i_KZjZTZ5X&W9VlVCV(ToTJT?T,SwSuSgSSQbPgP2LOIpG!>!:l:k9Y8w8<7b5[5C443,2b1>1*.9+l*X(5#e!v!^!V", |
| | | "hai": "-93-'V-'0-$#-#h~ey]vOq;pL[!A3=N3[,C", |
| | | "heng": "-90-&B-%QuJcXcLbaVKL/FiF&<|42*B", |
| | | "peng": "-90-5,-3J-.F-+o-!~zgyqyYfUe|cyc+`%[tZ?Z6YkXpWvW4OTKCJLIlIWGGFn?6<R<D8e8]7Y3Z1h$a!u", |
| | | "mu": "-9/-8H-/~-,=|Ey9usuSu%m<i&i!`[`Z[TPVPUO7O'I(FrFqB1AwApAX@#4h/a/_/X/L.S&U&Q&E&:&9&(", |
| | | "ting": "-9*-68-60-4C-*M-*7-(]}>t}sxk~hVhJh)gBg?g;dzZ<K]KHH~H(@u=6;]6u453`3^*.&^&[", |
| | | "qin": "-9%-64-1^-,8-(g-(f-&#-#f-!Q|w{Fshs.p.p(o~oyogkmkVk2k)hOgbdO`C_G_F]N]5YlX,X$V/UlS@R=J|E`Cg@3:$7'6(*J)R)M#l", |
| | | "qing": "-9%-4b-3<-2(-0A-.b-,O-*S-%1}V{1wfp7hQgwgeb4`9YLUpUoQ5PsJ'G/EME/DcBnBFA7A.A(<';w;B916X&x", |
| | | "bo": "-9$-8Q-7`-73-6,-2v-2f-.e-.]-,Y-*y-*w-&M-%#-!h~oxbq*k3ibeu`s^|[3ZJWyV=V5UgUfMFM'KYHKEVEUDFBj?E?,=e;};W:L2//l.?,9*q'`'^#2#1!Y!8", |
| | | "lian": "-8}-34-.;-+E-+D-#V-!XzUwAvusMrKr/iegjd&cS`F_{^fW.T=SrJhI#GiGSE7DfCHBlBP=%;6:C8j8A777$6p5p5l4<2f1y0z)x)3(X", |
| | | "duo": "-8|-8X-02-/2-/$-.c-.V-'`-&y-&e-$O~}~S{|{{z}z]xzxywiwhwHvtvlsNo+lOh1ae_oZrZqYJTET>T8T.O)O(NfN^MrMTMSM&KuIRAh?`?^&D$i", |
| | | "men": "-8{-8G-53d8bcbCaz_9_&]VYgS^PZIh@>3=1,+((W", |
| | | "ren": "-8z-8y-8s-8U-8F-88-/d-/cx;vSu`n:n2d|dwdv]XO,NiLPLMK6J7/]", |
| | | "shen": "-8t-7V-6i-6/-5d-1Q-)l-)k-)j-)i-(V-'i-&}z^u|u>ttsys.qmp_pHorn7lui(fp`t`b]b]4WPTFR4P9P3M:J7J(IHHRA9@+=D<0</;f;e9?671?*g&~&w&q&e$G#{", |
| | | "ze": "-8p-6B-4*-/M-.{-'X-%d-%2-%.-#9rcl:iAi#hU[~[2Z$UwRKR7G)C.@q?n?A>n:(9U7C5[!e", |
| | | "jin": "-8o-8j-8d-7}-6<-35-2^-2=-01-,y-,k-,[-*X-*'-%o-!F~y{Fzkz6y<xPvFt7rfr9q~p(nyj'j!gbb+`CWfSOQaQ_N7HEG8CTB[>E=q=M:I9$6~6g3h2M0i*Y)y)K(z(d(@(*", |
| | | "pu": "-8n-3$-+k-!S}^}O}<{BzPy(]p[rY{V0UvTeTdQ;PiPPP&O*M,FZE_AS=`:17k6T614r3a+v(C$m", |
| | | "reng": "-8g]m", |
| | | "zong": "-8f-5:-4y-43-3KzFpikxkrkNeJcdaraVY^XXX(W&Q|O>MxJQIKG28L8D8#3+1n1c0{,b,R%E#w", |
| | | "fo": "-8e-8;-73|IJl", |
| | | "lun": "-8c-7i-6S-4u}l}Y{.t*lSlRb9[{YMJa?j<6:3", |
| | | "cang": "-8a-89-7h-5;-3e-07-+OkeD<?i9n6J,**{(p", |
| | | "zi": "-8`-4m-17-.h-)%-(W-'t-'r-';-%@-#r-#cupuoudu9qTqNqMqHq1q.l;k[c;NnLKK8InH=Ez?s>W<];o:Y9g9_8a7;/G+J(!&Y&7", |
| | | "zai": "-8`-3V-2G-1!-&v}8pOl.]j]>L3>f;>:.4|4{3~&Y&7", |
| | | "ta": "-8^-6E-3^-#~-!&~Kz$yyy6vep}lc[HZXW`V&HCG}EqA[?}<c:<9w8^7(6w/`.3+d+V", |
| | | "xian": "-8Z-8Y-7b-7,-30-2m-2d-2b-1i-0O-)o-'c-'E-'*-&O-&2-%6-#u-#:{`{!ycxXv`v&uKu>u.t`tZs~r~rOrNr9q`pUo;o:nBmylxlhjthhgCfhf+dI_a_X_R_'ZPYQXsWnWiVhVXVSU6U'QlQNPKNFMhGiFFEtDRC~ArA@>S=E=7:]:C7Q6*574*0l.=,s,G+f+c+U+O*|*s*T*,'3$c#b#Z", |
| | | "cha": "-8X-6Q-4D-/,-.t-)e-$A-$$~s{yvbu?o|m}kqj3]a]OZ7Z.XZX5WJW1NsM0LvK?I?GjEB@k,<%s", |
| | | "hong": "-8W-)w-).-(X-(K-(;-&{-%}-$)~i{kvXu6pqpjn=j[fvfBa*``XeVNQ[@E?y?<>@=b=S;J;B:R8J7U5(3|31+>+4'T", |
| | | "tong": "-8V-7/-6R-4Z-2h-,/-(}-&|-#Z}o|/mNm>m3h:f(c%`P`)Z1Q]P<O<K|KUG+F+AV=P7l4C4#18.~.0+s%%$s", |
| | | "dai": "-8P-6G-3W-)g-(B-(4|3{(w[m`ikiViMiFg[edd!_/^1PAMJJCC)ByB+5c,2*y)?'!", |
| | | "ling": "-8O-7X-0?-/D-)G-(#}h|>wwuqtKqdmdmVlQjhekY<R)OQMRJeJ5DND)?/<77=5'4O0v0=.I*z){'H!z", |
| | | "chao": "-8M-8D-.B-.6-,6-(S-!yjQj?j>ffd9]<VlQiOBGFG!C{9+7z4g303#22/v", |
| | | "chang": "-8L-8J-7j-5D-5+-5!-3|-2~-26-1b-*P-)~-%i-#8~v}%z=yZtWrdo=iDgReLd>bDaxT:RBQtPcIiAT<T<P2t,`+6)^)4(h'B&z&R%w", |
| | | "sa": "-8K-+2W<VPU:Dw?'>X7s5L", |
| | | "fan": "-8E-0)-0(-0'-,1-+R-)a-!hy%v_tDr;r:iwhwdi_h]l[ARvRtNpMLKXJrJAG,FD@w@g?4955t5_3n2E15.l.[(A&O&/&,!.", |
| | | "miao": "-8D-,m-)v-$?vDscrPh>gtgSX^NP<#;A+K", |
| | | "yang": "-8C-7<-6{-3[-15-,f-,@-*g-'Z|J{xwTukswmrl6l3e`d4cEaA`m^}]T[lXRU<T*RVR2PmNRMHL9I7HvG`FpB|A=A2A'>z>`8N6A4y4D4.2B+6*O)4%Q$|$@#F", |
| | | "ang": "-8C-*gn.RLQoN0!5", |
| | | "wo": "-8?-4s-4L-*l-(/-'&-%q-$atCtBsfi8^TZYYbYSXKV#SRN8I>@1=#<m<h;V;U7!6`3.,N'|", |
| | | "jian": "-8=-6J-5W-5P-4g-4:-3g-2s-2i-2L-14-0L-0<-.q-._-.W-.P-.4-.3-./-.,~6~'|bzmzaz2xovfuRuQp4oDiHhcg8fNfHeDaq^Z^Q^<^9[8Z>YqXmXjX7WmV!UGU'R{PpO_MoM(LEK3JgIfIJICI)HEG]FhFCEKE2DLC&BMBLA]>a>$<z;l;a;&;%:Q8T7P6H625k5f5a2a1l1Q/u/Q/2,g+%*W)<)6!2", |
| | | "fen": "-86-3}-2n-/a-(`|v|q|]xuw7vpv;n&ithog,dDa0_gR>OYOSN.K&J*J)F)A>@66}5i4v391=16+{+.", |
| | | "bin": "-86-3S-2EpAe}W?UNShJnImGXE:B^BO@r9I6q6Q6M6,+.(j((", |
| | | "di": "-85-7@-5a-4F-3:-*D-'}-&t-&$-%R-%&-#O-!(}0|h|d|@{Q{L{8zMyFy;x|w?tqsmrimUkIjoi`hBg:fofjeld#`7]g[g[=YFX]XGW2TLT!R[NfN(MrM3KAK:JCHiG7AI=g<};T9f9=3F/K.V+=*5'1%c##", |
| | | "fang": "-84-4}-+^|r{Qzcv5er^%TZS:S(RER6N/@<<M/Z'P", |
| | | "pei": "-81-7$-5o-'lzyvZvCuCtOs_k7iid7[eU5S5S,M'LyJUAj?u=F<@.`*=)d", |
| | | "diao": "-8/-0@-/f-/G-)1-)!w$njfzfYe~]gYHI|@m)U#p!?", |
| | | "dun": "-8.-(a-!2}}|sy!x~x}hNdPb2_mVYV.T2HnF>@'8*4c1@/!+m", |
| | | "wen": "-8,-/X-(M-(C-(&-%Jy`vNf)dfde]:X.WRSmQsKNHWH)C$B`@>;z;R:*4s+1*8(}(&$;$.", |
| | | "xin": "-8*-7f-5d-5G-!3-!0~%v<r,qFgTe$e#dHawa>SCR9N@N%D$C^4a3$", |
| | | "ai": "-8&-2W-09-)h-'!-&q-&5-%Y-$'-#]-#E-!;{SzIyfxUtgtUrxr'kaa9_7_,ZNYaT&T$QqP^P.CxClB.:%9t6U3.03(k(;#]!s!j!]", |
| | | "xiu": "-7~-5c-5V-''-$/~|p@mfmPh2N~G09~9F8I4+*P*#(N", |
| | | "xu": "-7~-7Y-6Y-6!-49-0x-,F-,E-*Y-)T-)+-'p-$e-$Q-#7-!o-!W}7{Wy,x+v&uxspsArFhHeXckcKc:b(`g^YY4XMTKT@RbRZR!QcP{O^OOLGI9GfC|CtCiCOCKBw@5@4>?=t<>;+;):P9r998W8B433W2H0m+t*N*?&;%T", |
| | | "tang": "-7y-5+-4M-3l-3U-1v-.2-&.-${-#.|XzpyukdilaA^cW^V~OsJFH%F{F<@P<T:h:G8n5D3i23100A(u", |
| | | "huo": "-7v-6r-5T-.Y-.1-(p-'W-'D-$e-!%~V~Fw^vouWf.f,b'^OZ/Y4UPU4RkO|E9@%>/:f8U6y6Y6+525127+_#@", |
| | | "hui": "-7u-7#-2u-1{-+H-+.-'/-&j-$[-#=-!f-!U-!D~p~,~&}u}Fz]xztEsgr7q]onn?n>i*gmg7g5f6f4f3e,e*cDcCc<c(bfau`H_x^sZ|ZQX>VEQSQCP|PQO]KeIOI3GRF4EiEZEQDqBVB>B=B7@n?D>h>g=y;+:S9X897x796y6:5,5)3t3q3k2h0y0q+h*9)G(=(2$~$)", |
| | | "kuai": "-7u-6@-2M-/p-&f-!8}:|ez&y'jEgMdXUkRrO]Cq=y79.*+g(2", |
| | | "cui": "-7s-5?-3N-04-%I-%>y8lYlWkhdSbE`TV|IxH*GHAg<48P6a331g)p(b%I$L!d", |
| | | "che": "-7n-5`-4I-,%-'y-&*|?vln|nGene/]QY.XcVsV>V<7`3r3b3E0C", |
| | | "chen": "-7h-4_-3e-2'-#|~ZyWyAw]pGoBdRa>[aY]THS~QAP$L[K_K'J(HUG3D]@+@*2n05)l%P$?$$", |
| | | "xun": "-7g-6O-4.-,Q-,A-,)-,(-+5-'3-!k-!P~u|y{=yixYxAw#uHqKq9o`oOmEj@j&j#g=ebe>c]`uXUTfRcP(NqL_KbF`BvB@Au@Y>5=r=l8+7y6V583O2h1{1D130j0Y0Q.5+b*H(L&T", |
| | | "chi": "-7c-7M-6b-6P-5E-3@-,W-,K-+_-*]-)<-)3-))-(:-&W-$z-$I-#l-!g-!=|@|)yLw/vBs6n|fsf$eweve6cBc9`X`7_|_2]`[f[!ZvZ/W+TxTCSNNcMPM3G1ChC6C4BX@T?Y;:8g4~4;3U1K.O'A$Y$U$E$2#G", |
| | | "xuan": "-7b-2N-/.-)o-)'-'(-$Y-$Mz)wsv&sWrqr.p]f[cobMaQaI_I^nX_SyS'RAR,QeQ$Q#PNK@HxHwEf?#;I8d4M3x2e+L*s*)*&)B(Z'~%/#E#<", |
| | | "nu": "-7a-3r-,svjq?ilfed1Wo", |
| | | "bai": "-7`-6z-(1-&:hJ[?[>ZwYeX}WAUfUCTAMFLN,n'D#*#)", |
| | | "gu": "-7_-3T-2e-0F-)I-'s-'N-&<-&;-%G-#y-#@}gzfx#uhrUq@o&lXl=j5j4d*`~]_]9TSNaM.K<JIHFGzF$D{B<@K?R?=<X6P6./P/@$Q!L!G", |
| | | "ni": "-7^-7]-7.-4v-2>-27-+8-(%|Nzsznv/v)t<rkqkq0nznbnEcvb5`{_,]0[i[<Y5UQS$QuQ7PSMPJ&E6@y?)<=9x6o.F,l%b", |
| | | "ban": "-7Z-.!-+,|z|Yutn0d2]R]M[OW]W[T[ScSbRJOSN;MM:c/x*>'Y'R$*#[", |
| | | "zhou": "-7W-6M-2X-0{-'|-'z-'Q-'5-%X-$i-!G~{v.t/pgjCiceIY%QnQLQ<I|>8<S494'*S'9%W!R!I", |
| | | "qu": "-7U-7E-7+-/H-,q-+S-+=-+7-)t-)s-)W-'e|Vt^nnm{m]k?e%`&^0[^SzSIOnOOD=D4CzAL>)<3;[5U3G2o0D(K(8#9", |
| | | "ci": "-7T-7B-6m-47-17-/+-/'-'t-'r-%@|*q}j3h<`hN|MILHD&C??56Z*p*k'E'6%=!{", |
| | | "beng": "-7S-#w-#+{R{#zgyXw!lBkYX0>v)d)[',&k&j$a", |
| | | "ga": "-7Q-'M-#A-#/-!4wIwDoEo>o.RaOM+C", |
| | | "dian": "-7K-7:-3m-18-**~M|P{lyBxfw6v~t6t!kXj]jNjMh@ao^!YOTrTWT9I_GqG_FPF5B?<a9k764?*u)s&c&`%1$W$$#L#=#6", |
| | | "tian": "-7K-56-1>-(7-%`ylybwYvit=nodgc2b:Y#WPQ?LSB{?U<A<$;2)g(q(.&}&|&h&`&L&F$W", |
| | | "bi": "-7D-78-73-5F-45-+c-(h-']-&k-%?-#Y|jzVxgwLvnv:u}twt1r3qonrlFi|huhthPgLg'fRfQfJeme!crciaJaF[YT;SqS+OXO!MUM!K;I<HPB)B(B'B$A|Af?x?C:u9Z9D7q6e2`1p.%+y+x*`(:&W&V&G&5%^%H$T$S#'!o", |
| | | "zhao": "-7C-1k-)A-%X-%T-!y|#v+j*]B[@S!Q}P8OBM{J,E*?S6S4T2G0r0:09.7(m!F", |
| | | "shao": "-7C-,p-+~-*a-)A-&Vu,oIf^Z'R|NhM?K(7v3m2s17*m", |
| | | "zuo": "-7>-72-66-4E-'L-&,-#!|lmtmsj;h0d6YTV4R%M7M&)e", |
| | | "ti": "-7;-5N-5'-4R-/!-.n-*;-%H-$y-$3~w~rw?smsPnmnYnVl2foeCe6bnbjb#b!aU^)ZHY*X]XGU>OaONL$JxJCCQB]=0;T8O*5)A'r", |
| | | "zhan": "-7:-4>-2y-*s-!IrQnamRl>l)kCkBk.j|d+b0^M^?^5W|SJSGS0RsMjLiL<KmJ?HLFCDEAyAQAO?Q:|)q!F!4!$", |
| | | "he": "-79-,_-)$-(v-(/-'o-'Y-'W-'&-&R-%<-$Y-$W-$1-#d-!c-!!|,xVuyp6mJb&[jTROiOZMNL8I@CsA^?]<i;M7R3P2m2'2&0k0e.8,C#^!W!<!:!6!1!,", |
| | | "she": "-76-*E-*9w/v|oVfP`_`;^h]'ZyZbYjX:WEWCT|EEDACJ?@=<<f;s9Q5Y,W&*&)&$", |
| | | "die": "-74-)M-'>-&t-%H-$j{szSmDl/kIi3c}cPa`^IZbX:QwP!M2HsGUBcAK?I0*/}/n'_&#%q%j%i", |
| | | "gou": "-71-3p-0y-+z-)H-'p-%W|C{uwdwcuTs0mnfM[CX%VcN6M^Gm?q:925.C*o%2", |
| | | "kou": "-71-0f-.C-,g-)J-)DpCp8fId3]^[|VpTV9@", |
| | | "ning": "-70-6>-4a-29-0.-'H-!)r%q!p2p)p'p!ot[4UMM5F/E5?17J6k.<+a&i", |
| | | "yong": "-7*-5t-3M-,U-,T-'T-$t-$+-!:{Oz!yCxcrlkUg{gAe{ceb{bzapaC`w`n`:[6XTU}M4LaGQ@}>x=9:p947:5T/{/i&p&l%)#S#8", |
| | | "wa": "-7)-/n-,e-(/-'P-'&-&x-%h-%A-#y-#nu5tbt3sGnCije[ZaWUTq>.:;8h'V'D'>&A", |
| | | "ka": "-7&-*r-'O-'M-'4-$u{g", |
| | | "bao": "-7%-5h-21-/>-.e-.]-,!-+{-+s~ozPzOz@sBqBpcpMp$ohoee&d:[w[kPPP1P&M]614J2<0_.u.h*G", |
| | | "huai": "-7#-',|mx^xIe_dC_:^oGhDX<25z", |
| | | "ming": "-6x-0g-06-(|-'guEs&`aXxR@PhOFH<>0:7,8", |
| | | "hen": "-6s-&p-!3eac6[0.:$y", |
| | | "quan": "-6p-1H-/.-.#-,5-,#-%%}X}Q{4w5u:t;q[m?jRf`c0b_b%['Y`WKNxJ:I[H_GLFjD>?F>F:a5841/I/H/7.o.n.m.O)2&I%'", |
| | | "tiao": "-6o-%Xr#pWmjmWh4cRZfSQRdQjOLO'NYK.Fo", |
| | | "xing": "-6j-5.-1<-/U-&g|0{auft{t5qljAh`f*cxb>aZUYR/P4Nl>Z<u9d2d.N,L)@![", |
| | | "kan": "-6g-4G-0r-/r-/]-,D|n{!zGyDlkl)k{b7^D]ELRG]E2CeCc", |
| | | "lai": "-6d-5Y-5<-%_u!t2lil_h$eSeHU2NUJiJ0DT=&<)6r5v5r,i)k%R#P#J#?", |
| | | "kua": "-6a-'.{iwJuGcGZiQcI:", |
| | | "gong": "-6`-6N-1D-1?-,~-+g-+d-)w-%}-$)yepTpQj<j8i2g4f{c1a*``[)[(T^N`L?@V7U1u*R", |
| | | "mi": "-6[-0v-0n-0b-'9-#'yzqZpmpDp9m6i:i.hrfifafAcb^dVnU_TyTON2HIG$E6E+@L?{?Z?C>G<9;H9<8o6o6l5n5G1z0B,a+T'h", |
| | | "an": "-6W-5J-4<-2D-*P-*J-')-%e-$x{b{&z_sYpwn@n8mXm:hXg~ZnXNQ.PnL'L&A1>M.g*w$V", |
| | | "lu": "-6V-33-1C-.H-,N-,<-*q-*o-!N~q~_};|G|5yVyUxMtVmChGgZgFf9f8^7XzW)V)UzUAU/O{MpLeJ#G&FyEuDvDaARAM>s<K<;;p9:9'8.7L6@6)4p1m0T+W+H)Y(Q()'m&n!%", |
| | | "mou": "-6U-,c-)x-($-&azLcVTTMEKs/a", |
| | | "cun": "-6J-/Z-(~x'qLocdn[%Nj7^!O", |
| | | "lv": "-6F-63-4#-38-23-,'-*x-(t-(F-&G|+nTnSnPl(e^`A`5ZcZ*YwS.K*HTDsDoAYA)9M6D3A0]+I", |
| | | "zhen": "-6C-67-4)},ygybuMs*p5ndiUiRi<fc[nZlZGXWWOSTR*OJN$MhLVKjK_IHHuHLHAG_FVBb=~:y:$8$72,+*_*^({(q'8&Z&<%9", |
| | | "ce": "-6B-4*-1%-1#-*=-*2wZgrc!aY_jZ}TQLl={;O&8", |
| | | "chai": "-6?-2@-$h~?j3[UL}.i$'", |
| | | "nong": "-6=-2S-0p-&b-!Eg.ZmZAElDG=s7#0o#W", |
| | | "hou": "-6:-5*-*8-({-(L-(K-'p-$l|%zQi=e]>b._,A$C", |
| | | "jiong": "-69-3'-1.-1$-0}}z|K{;]~]}?M=J7e4t4I3c2T2S1W1.", |
| | | "tui": "-6.-6(-3&y'tmo$ftfodrY(F>24", |
| | | "nan": "-6+-*|-$r~'~#v=tzstrb^e[sXfPqN*M6H}:d29&a&?", |
| | | "xiao": "-6*-5v-5R-3a-.x-,d-'j-'1-&l-&P-$}-$1-#D-#?-#&-!|-!v~c~J~CuUtHqGpPpJoKlGh/fFcJ_iX;V:TPT/SoSnQVQ'P;MiMaLOK+DOCYCLBAB4>B===8<Z8E6!5+5*4,3L2&1L,o+r+o$t$o!i!b", |
| | | "bian": "-6)-+9-*u-)UwzmKg1eAdVaX^#]=XSR#@A@@4Z26/o,@+`+,':%8", |
| | | "pian": "-6)-4P}ysI^#I=Ht/y/0,@+`(j((", |
| | | "cu": "-6%-+$-!csFegd(_YEsB},X$I#z!H", |
| | | "e": "-6$-4K-2k-+j-*T-*N-(_-(E-(*-'A-')-&X-!j-!A}s{nzhzIzCv$uzuBtotUtTtSn]n)mGm'm&l+gnc'bOata?^+]DWsWdWNUbTMM}DZCEC(>M=5;9*7)`$V$O!r", |
| | | "guang": "-5~-2}-1h-'@{~uIhXhTgOZsVKL+>28)5/4b4_4^3s.d+Y*U", |
| | | "ku": "-5}-/3-&Q-$6~R}PzrhDh+gN]dZiZ5OPMgL!I%3N.>$9", |
| | | "jun": "-5{-2T-0q-(n-(G|u{NuHollq_;Z3U5TzQPKMJH@F=l6V3G1B*1&'!Q!K!J", |
| | | "zu": "-5w-5?-+1-+$-&S-%rlYlAd(S#M1Ix0'*e", |
| | | "hun": "-5s-4o}_t9t'o9dMaz`oYDR?Q~JYJRBf=u<d<(;=:t:`9{3O36*9)G", |
| | | "su": "-5n-3x-2c-$*~9}/{3y}y|wjs#p@a(a'_lVnKKJ2H;G(F~F8DYBo?2>>=4:&9z828&+F*L(F&r", |
| | | "lia": "-5[-5>", |
| | | "pai": "-5Q-&sg9eP[NY?JU?p>+;j;8/t.w,q", |
| | | "biao": "-5O-36-2/yJtIryi%f!VfNhLjFzEG<.9C66511o0c,k#|", |
| | | "fei": "-5M-.m-+M-*4-(i-%8w%vZt@t?nXh8gpgPbH]xSdQxQ%P:OPNLLxJVH5FOF)Di?W<C;x6K.`.H,p%3$]#a", |
| | | "bei": "-5I-57-4B-4%-3b-37-,Y-+a-+%-(1-&:w|qIh#bdbGajaR`$X3RMNLNKLyK^K5JUJSIq3:/S/).R,y*/)T!@", |
| | | "dao": "-52-/g-/e-/6-)E-#K-!5xSo_oLmvlvk;k:jiiKhld{b=YoYcWqUZO'JkIaGZEIE?AA3;0g'd!+!&", |
| | | "tan": "-51-3^-3/-2R-)4-%$-#P-#I-!n-!m|o|a|U{'xxxsxaxKtAfTfOfEdtcfb$_p_W_OY/W=UDTuR5PJP=HYF5EnCUAk:w9H7|7{7.5E4K1G(3$}$^#~#7", |
| | | "chui": "-5/-(O}T|9{Va|Y[WcKtJ6ItGl4o", |
| | | "kong": "-4{{+qPlfcNb;Y)Iv<n", |
| | | "juan": "-4z-,h-,P-,0-*[-((}X}Q{Iw<w5uVtut;jpj`j%iYf`byb%`4Z%Y`OGL%K@J:I[=2<^3M.!+j'C", |
| | | "luo": "-4r-1y-.|-'4-%(~<~/o^mHZ*YbW(U@U3U/T{TlOvI^D9>q>O>N;y8^6F3{/(,T+P*M#y#5!Y", |
| | | "song": "-4q-3I-0D-)'u8pulDk^kOgydYdAb`a3a$`D_MZ#XXW0N<N:MmM>K%J`HyEF<B9!6v", |
| | | "leng": "-4p-0T-%uzdz,lQa1J5I!", |
| | | "ben": "-4l-$E|q|pwSwPw.w(YXV8O3LQKXI4?B;|8]4v/8&=", |
| | | "cai": "-4h-4,-%N{%tLp?f#]t]qY0NkJZA},Y", |
| | | "ying": "-4`-3.-%1-$>-#*-!K~Oz%x#s{sXs9s%quqqq_q%kcj[jWhCgDexdha/_AVwV_U0U&R]R.Q:PwO?MHKpK]J{HvHdFbDMDI=_;E:U:K9d9O8K8F6j6i6N6=6&5~5o5j5M5A2w2r2_1x1)0b*:)*(y(S'i'5'%#j#;!B!;", |
| | | "ruan": "-4[zJxQsiVWOUE0):'}", |
| | | "chun": "-4Y-&7sda^RPR(PlOONDIBGrFQE(=T<,:[9N8u/6)C", |
| | | "ruo": "-4S-)[sskPf]Z:YUI8;y3'0^", |
| | | "dang": "-4M-2P-1V-/k-!1}*{fx]swpkl6kdf:aAZUUsTpKiEYD5@|8:7E5D*;(J(6'?%}", |
| | | "huang": "-4@-1L-/w-$PzDz.xtw&s[pEl9jBi0e@clcQa_a#`dXTQgQfPBOEHbH7D{@9:x9i8)4:2c2.1J0X+w)((E#i!}!g!Z", |
| | | "duan": "-4+-.Uz+s`SFS<IMBIB62j)0", |
| | | "ou": "-4(-+=-+7-(q-(K-(3-#;yTd?`EDpC}CSBJB8?l8s1Y'M'0", |
| | | "zan": "-4$-2.-1x-1o-'2-$c-!e~:p>[$XOVUU8U*TwR1Q&PYKrEy6E5K't'k'c", |
| | | "za": "-4$-+Z-'b-'X-'2-$c-!c~B~:~5i}]s[$NyKr?r?a", |
| | | "lou": "-4#-38-.}-$7-#ByMu4tRo{n[kjkEg_`5X)W'HaG#:O9&8~1i'2$5#o#n", |
| | | "sou": "-3z-0J-)Q-)N-#z-#R-#QgsghZ#YvWlW>W0V:U`UBJ/DgCn:#,5#s", |
| | | "yuan": "-3u-1n-1)-0h-.z-*3-*1-)y-(0-&^-$Y-!<}{}t}Z}R}N}M}D{t{_yawlv6v(sSs:s)qhpep<f[cwbyb,`qXoX8NNJ=HxH>H0ErDk@/<m<*;{;v;r;g:e:F:D5]04,M,6)/", |
| | | "rong": "-3t-3`-0u|ts8s'qzp~pFlwkokcjj^WX#WwOyLmHGH.H&GQAsAU9|6%3T1v0b.2)#", |
| | | "jiang": "-3p-2a-,7-+Y-+Wz/xew~w+vvvru]oToSkMfrfWfVfSfCVyVeKdGDEoDeBQ@U>P>#;L9A8M.|,&&B%y%n%m", |
| | | "bang": "-3n{^ypiNi5h~hme|Z?YrWvS2KEJTJSH@=j/m++", |
| | | "shan": "-3h-3)-2R-/F-/<-.a-.E-*~-$q-$F-#H}'{Gy+y*ulubr2nDj|i(f+]zZ;Y3XuXsWaVhV?UySvQ8NrL|LlIVFSEhCI@`7|7p7O5F4B2Z211~.4*b%U%1", |
| | | "que": "-3f-*_-*W{Pyty$lgbNa+`KX!T8T.JBH$@j4e0|)O#q!N", |
| | | "nuo": "-3Q-1w-$ftxa6_#_!ZLXnWoWbWLK0HJF2Am", |
| | | "can": "-3P-2F-)l-)k-)j-)i-$D-#H~:r(q3amah`W`V`U_[XsVqVhO_BtBg;/784z1!0L(9", |
| | | "lei": "-3O-24-1t-,J-)q-#1|(z0xOx?rrU|U;G'E]DyDxD/?$>I=+<F5X'z%u$)#Q", |
| | | "zao": "-3L-/h-&(-%w-$5-!@`JRfMsLkK>JO7F5&2>1#(](7#&#%", |
| | | "cao": "-3L-#GnGk@`v`k`^_DVAUqOgOfG:8x", |
| | | "ao": "-3H-/n-*&-#X-#W|H|4xnxkv}vyvwsDs2rZmxmakAjnga`O_@]I]![DVuUeTBM*K=?>9;7M741m1^0Z,!+~(Y", |
| | | "cou": "-3D-0:Hl;1", |
| | | "chuang": "-3B-/b-/K-/5-.s-.i-.L-$T-!dhvhMd=`|W7O<F+0#/r/k%D$+", |
| | | "piao": "-36-.D-,;-#Crteze7`]RuO*Br9/.v'Z!X", |
| | | "man": "-32{KyKujtlrpn^i'bc`M`=VrOdG9Fs:V9P928b7<701V,(", |
| | | "zun": "-3%-!ix}oPk&[%YzVILEFU5k", |
| | | "deng": "-2z-/t-!VxwrHk(_v^@E$7d6/5.1A(O#,", |
| | | "tie": "-2s-'yigd+", |
| | | "seng": "-2o", |
| | | "zhuang": "-2hx9x8x2w)vWv@tphvhShE^a^`^_VDKcKBG6:`8X3H.e.Z", |
| | | "min": "-2`-0Q-/E-,X-(&|1uumYl]dfded8bJaWaG`S_`[]YhTUTIT(RSRRPzAH>|;z;+:t8(+1*c)o)j)=$R!D", |
| | | "sai": "-2V-#b-#)-!/yod%a2XaAxAb", |
| | | "tai": "-2B-0_-)=}e|Mw[wXwOvzqvqCdodQdB`e[pU]SpR]MeE>@f@D@C>{:=4G4F1$*f", |
| | | "lan": "-2?-1@-)}-%P-!'~3|hx`xXt(qgqaqUmwkwhgb)_8_'^p[5X/UXU(TmSaS_PpLbHXDDD2D1=^9L8i7K6W5`5W5=5<46121%0n0d0I0@0>($'j", |
| | | "meng": "-2;-0k-,Lwaw`qEo2hnh*_._+^qXtUaP)O9K$F;EAANAF:A6h,Z+]'/&X#B!#", |
| | | "qiong": "-28-*fr.pza]`!K}F(3(3%2L1}*))J(G's'f", |
| | | "lie": "-25-0N-/O-,z-,w-,`-'<-&G{D{CuDjaj=djZeZ_YiUEL;JMA{>_=p403f2A1$0a0[.x,h,V+k+[", |
| | | "teng": "-2%i+9]8r1e%6%&", |
| | | "long": "-2#-'J-&]~^|7|6xHxGo2n=k6j_j^g.e([9U.QmOxO8LgKDGYDU>t:g9T9%5w0N*Z'n#f", |
| | | "rang": "-1}-,$~Nx[xC^mU$5b0K+S'X", |
| | | "xiong": "-1m-1j-/q-+v-+p-&zwsdLc?Sy@;>42w2r2#2!", |
| | | "chong": "-1l-0Y-#L{*p`oflelde0dc`+_dX<W8?z=K=98X0F*@%&", |
| | | "dui": "-1g-1e-1`-%L|$zlymobo]oMcc_n_m_*TET>T2NB6[6G5|5u$P", |
| | | "rui": "-1g-1e-1`-)LxFas]0M~KVF.@G)'&t", |
| | | "ke": "-1f-/*-.w-,]-,R-+;-)>-'o-'0-$!|Dzqx4u#p^oUmomIkvknjqc4bra<a;XJWsT4M%J1G|F}CcBCBBA/;u;G:>6U4U0!/N//*j%>$O", |
| | | "tu": "-1c-1]-0H-/o-(y-&3-%?}n}c}J}I}A}?zezZyvxipvnUlskikFh.gVeVc}bsZ.YYX@W2K?EL@R=C=::r7u(i$r$>", |
| | | "nei": "-1I-1*-&TtvA<A;=H", |
| | | "liu": "-1C-/N-.8~fy^s5qik`gl^vW9S4S*R}L~LpKnKQH'FHF#>(=w::8Q7V631r1[*a)~)%(v(?&S&>&%%r$(#d", |
| | | "shou": "-13-)`-)V-%l-!o{ox)x&pxo[]v]uYITcTN<t.1+n+X$e$&", |
| | | "ran": "-1+-1&-(!-##umsKMBF'2y1Z1F*i", |
| | | "gang": "-1'-0^-/L-.gzjz4mzmplT^a^`^_]fYKWDNZJEGe;L2z2v/W/:.a%Z", |
| | | "gua": "-0~-/8-.r-.S-.A-*m-)F-(/-'s-'&-%0|Ooz[/ZuY6LSK[C`2='a", |
| | | "zui": "-0i-*6-'d-#U-!w-!*k<jmQ=O`OGLDG[F]EgEbD@6a(%", |
| | | "qia": "-0M-+;-*r-'6})m0iZc.a<[j[7YAXJUhBq>,", |
| | | "mei": "-0I~j|vz>yRv#sks]sTs4r<p/l&k|e)[bZBU%S3R&M|LoKFHzHjGgDrBfB0B/?~?o?d=I;?;7;32Q2J11,=+$*0)D$w", |
| | | "zhun": "-0E-05-%L}5zwpnnFdPRQ<,:@", |
| | | "du": "-0+-.`-+B-)p-#0z<vKv1uTqjh1SsQ4PvN_IcDlBRBNB+=(;n;Z6</s/h/5.y..+i)I'y!E", |
| | | "kai": "-/x-/v-/%-.M-,I-#J{ey~w0n3kag2dEc#aB`y`r`GXCPfHfCxCu6U4m3}", |
| | | "hua": "-/T-.>-+b-+(-(_-(.-&h-#%{@wGuWs}s|rJrDlaWTV}V+NAMvKfIgGKFX9a7c,7&]&+%~", |
| | | "bie": "-/A-/;fGe2`#M'M!$!#I", |
| | | "pao": "-/>-+i-'^~o|2w=hA]$[P?.4J4H3d06.M'^%A!S", |
| | | "geng": "-/7-&A{TzHlrh=ZIOlK4IX=X2p&M", |
| | | "shua": "-//-%j", |
| | | "cuo": "-.y-.p-*5wukWkSh!ZKY&WuV4(o$j$'", |
| | | "kei": "-.woU", |
| | | "la": "-.v-%3-$n~L|8[RXFXEWnUEU2R`MOI6DT:T0['o$A", |
| | | "pou": "-.l-'_-&[{]twtO]+]&Z+YGJS/<", |
| | | "tuan": "-.I~!}~}K}HyPy&f7`>[}XIVmGLE;;.:m8t2[,F%v%p", |
| | | "zuan": "-.)XOTt", |
| | | "keng": "-,x-([|t|kvIZCXlVgBF/C", |
| | | "gao": "-,Z-(I-(>wRlpWjNHGxGwGdG>E~E3Dm,)!y!t", |
| | | "lang": "-,V-&J-$~{Jy[r{llgiSeOIOHO;KRHHG4Cp=[3Y,z*%(s", |
| | | "weng": "-,@-#oyxv{kfU!Pd9o'N'&", |
| | | "tao": "-+m-)E-'+-%DwPwMw*r}i/fl`j[oYBWXL,JkGtE?><=)<t<H9^6_(w", |
| | | "nao": "-+`-'n{cz[wqt.rzq8l{jyjSd0b~bPad_QZVW9VOKkFJ<J,D+Z+Q),", |
| | | "zang": "-+Oynw)g(/~", |
| | | "suan": "-+C,{$n", |
| | | "nian": "-+3-&i-%b{9uOhdg3dNbTa~[SYVVHV,U7HL=;<0:C2q", |
| | | "shuai": "-*xixiWW3+I&o", |
| | | "mang": "-*<-)*-&Zx(u(o2h*dkb|OENdNSAF@c=i8`/[/D.$$q", |
| | | "rou": "-)uslpsXdMAHc;d2K)>'v", |
| | | "cen": "-)l-)k-)j-)i{Un#kH@?=1", |
| | | "shuang": "-)byOqeq^`NDB>t8R5w5^0&", |
| | | "po": "-)8-&M-#6~]|ZvztMoZmlmZg9W]TXR+O*E%?E>q>o>D;*:J8;6F3v,9*l!`", |
| | | "a": "-(s-'o-%O-$0", |
| | | "tun": "-(k-(7-%L-!`}}|snFhNdP_mRQPFOC@x=335", |
| | | "hang": "-([{dwSvIj)dGS8NML/@.", |
| | | "shun": "-(ZHnF?", |
| | | "ne": "-(R-(8-(%-&T]0%a", |
| | | "chuo": "-(Q-&@-%=~Hu!t~t.ssqVa|^2Z}UuCC<q<J", |
| | | "wai": "-(/-'&-$gwml7C95z", |
| | | "guo": "-(/-'&-%)-$e-#<~.}r}k}f}d}a}U{<zTy>lMi@i$fDf@b1`Y_4XyW6TMMzJ$I:GOD{=#<W;U9#7!,c$<", |
| | | "qiang": "-(,-%f-%M-$.-#[y=y3xmrXr0k>gKfVfSfC^P^N^>[zWQW!VySKMlIvGkFdEJ:)8{4[1s/|/z,f,.*{(p%m", |
| | | "pen": "-('-$E-$=-!6CN;'6}'Q!=", |
| | | "pin": "-&~~Yuatnrvq{[AZ{H]@_/c+!)r", |
| | | "ha": "-&wvz", |
| | | "yo": "-&`-%c-$B", |
| | | "o": "-&X-$a-!H-!%", |
| | | "n": "-&)-#a", |
| | | "huan": "-%v-$Z-$Y~G}D{_zWw@w2r.q[pYp0okm8l!h]bVaH_I^iYpXQUnU1KyK2GBD%CPCB>1=c<~;c8V7D734/3>2I.[.;,3+R*})9(1'b$d$:", |
| | | "ken": "-%V{qxjc*_CX~*I", |
| | | "chuai": "-%=XIW}Ch", |
| | | "pa": "-%/vLisihd.]oX|NC@r8608)P#!", |
| | | "se": "-%,-$,yogK_<Z}VnUrLTGJC5C3>W<x;q7h7g6|6t60)p)&(0#r", |
| | | "re": "-$fa[YU;y3g1X", |
| | | "sun": "-$DqKq9]EYsW{WzW;H1Gv.',:", |
| | | "hei": "-#h-!l7r", |
| | | "dia": "-#^", |
| | | "de": "-#5}0hBeQe5e1c)bFakR[JW<_##", |
| | | "dei": "-#5eQ", |
| | | "kuo": "-!`g`]W[:[/ZsUI8U6L", |
| | | "ceng": "-!_ntnQk4OcObF*", |
| | | "ca": "~s~B[UUWU:", |
| | | "zeng": "~7y5y._}OcObF*1R(M'*", |
| | | "nin": "~(c^bQ[*", |
| | | "kun": "}q|Wzoz`x/x*t'l[lZbwZ0RHQMJv=B8C371U,e)_(g", |
| | | "qun": "}jwxpRl~iPCT", |
| | | "ri": "}iRjA=", |
| | | "lve": "}Go^Y1&2&0", |
| | | "zhui": "|[y0w#t]aaXIIt?s'<%|", |
| | | "sao": "zus+`k_D]UYNXrWtK(AP:8$4", |
| | | "en": "wBmBc5WF20", |
| | | "zou": "w3s>Y%X`W~J/J.Hl", |
| | | "nv": "vkc7OM@!", |
| | | "nuan": "vcPo;`:m2X2W", |
| | | "shuo": "v]a'WhT'S|OKGnCn>>470W+p", |
| | | "niu": "v?q=dKd0]S]![DN?@8@!4u/e/d.W", |
| | | "rao": "u2rA]PU?KkFJ", |
| | | "niang": "t|r&qb", |
| | | "shui": "t]iTZMYuA$A#@{=.=*", |
| | | "nve": "t)%S$%", |
| | | "nen": "sirarYc^", |
| | | "niao": "s!r+qsnwFq9x", |
| | | "kuan": "pBp#ooK)CoCfCd", |
| | | "cuan": "jPV'U*T~TwDtD7BU@o6E5K1S0<", |
| | | "te": "dsdr`R/F/9", |
| | | "zen": "d5VU", |
| | | "zei": "^H", |
| | | "den": "][]C", |
| | | "zhua": "],ZYV#ER0:09", |
| | | "shuan": "[&L^GL<s", |
| | | "zhuai": "Zz", |
| | | "nou": "WoGpE0+^", |
| | | "shai": "W<TsQWOt", |
| | | "sen": "J8ISGI", |
| | | "run": "FE<{8'", |
| | | "ei": "Cl", |
| | | "chua": "Ci" |
| | | } |
| | | }; |
| | | let DB = { |
| | | sToC: {}, |
| | | cToS: {} |
| | | }; |
| | | let sToC = DB.sToC, |
| | | cToS = DB.cToS, |
| | | ungroup = /-?.{2}/g, |
| | | rg = /^-/, |
| | | fromX = str => { |
| | | let result = 0, |
| | | temp = 1; |
| | | for (let idx = str.length; idx--;) { |
| | | result += temp * (chars.indexOf(str.charAt(idx))); |
| | | temp *= 91; |
| | | } |
| | | return result; |
| | | }, |
| | | fn = (a, f) => { |
| | | let p, gs, i, ch, num; |
| | | for (p in a) { |
| | | if (a.hasOwnProperty(p)) { |
| | | gs = a[p].match(ungroup); |
| | | for (i = 0; i < gs.length; i++) { |
| | | ch = gs[i].replace(rg, '#'); |
| | | num = fromX(ch); |
| | | ch = String.fromCharCode(base + middle + (f ? -num : num)); |
| | | if (sToC.hasOwnProperty(p)) { |
| | | sToC[p] += ch; |
| | | } else { |
| | | sToC[p] = ch; |
| | | } |
| | | if (cToS.hasOwnProperty(ch)) { |
| | | cToS[ch] += COMA + p; |
| | | } else { |
| | | cToS[ch] = p; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | fn(SDB.m, 1); |
| | | fn(SDB.a); |
| | | SDB = null; |
| | | export default { |
| | | getSpell(chars, polyphone, spliter) { |
| | | let cToS = DB.cToS; |
| | | let res = [], |
| | | pp = typeof (polyphone) == 'function'; //夿polyphoneæ¯å¦æ¯å½æ° |
| | | chars = String(chars).split(EMPTY); |
| | | for (let i = 0, ch, ss; i < chars.length; i++) { |
| | | ch = chars[i]; |
| | | if (cToS.hasOwnProperty(ch)) { |
| | | ss = cToS[ch]; |
| | | if (~ss.indexOf(COMA)) { |
| | | ss = ss.split(COMA); |
| | | ss = pp ? polyphone(ch, ss) : '[' + ss + ']'; |
| | | res.push(ss); |
| | | } else { |
| | | res.push(ss); |
| | | } |
| | | } else { |
| | | res.push(ch); |
| | | } |
| | | } |
| | | return res.join(spliter || COMA); |
| | | }, |
| | | getChars(spell) { |
| | | let sToC = DB.sToC; |
| | | if (sToC.hasOwnProperty(spell)) { |
| | | return sToC[spell].split(EMPTY); |
| | | } |
| | | return []; |
| | | } |
| | | }; |
src/pages_qiun/static/table/iconfont.wxss
src/pages_qiun/static/table/loader.wxss
src/pages_qiun/static/table/objEqual.js
src/pages_template/common/api.js
src/pages_template/common/classify.data.js
src/pages_template/common/config.js
src/pages_template/common/demo.scss
src/pages_template/common/locales/en.js
src/pages_template/common/locales/zh.js
src/pages_template/common/mixin.js
src/pages_template/common/props.js
src/pages_template/pages/address/addSite.vue
src/pages_template/pages/address/index.ts
src/pages_template/pages/address/index.vue
src/pages_template/pages/citySelect/index.vue
src/pages_template/pages/comment/index.vue
src/pages_template/pages/comment/reply.vue
src/pages_template/pages/coupon/index.vue
src/pages_template/pages/keyboardPay/index.vue
src/pages_template/pages/login/code.vue
src/pages_template/pages/login/index1.vue
src/pages_template/pages/login/index2.vue
src/pages_template/pages/mallMenu/index1.vue
src/pages_template/pages/mallMenu/index2.vue
src/pages_template/pages/order/OrderItem.vue
src/pages_template/pages/order/index.vue
src/pages_template/pages/submitBar/index.vue
src/pages_template/pages/wxCenter/index.vue
src/plugins/auth.ts
src/plugins/bus.ts
src/plugins/index.ts
src/plugins/modal.ts
src/plugins/mqttclient.ts
src/plugins/socketclient.ts
src/plugins/tab.ts
src/shime-uni.d.ts
src/static/favicon.ico
src/static/font/iconfont.css
src/static/font/iconfont.ttf
src/static/images/banner/banner01.jpg
src/static/images/banner/banner02.jpg
src/static/images/banner/banner03.jpg
src/static/images/icon/dialogue.png
src/static/images/icon/knowledge.png
src/static/images/icon/message.png
src/static/images/icon/phone.png
src/static/images/icon/rocket.png
src/static/images/profile.jpg
src/static/images/tabbar/home.png
src/static/images/tabbar/home_.png
src/static/images/tabbar/mine.png
src/static/images/tabbar/mine_.png
src/static/images/tabbar/work.png
src/static/images/tabbar/work_.png
src/static/index.html
src/static/logo.png
src/static/scss/colorui.css
src/static/scss/global.scss
src/static/scss/index.scss
src/static/uview/common/favicon.ico
src/static/uview/common/gray-logo.png
src/static/uview/common/logo.png
src/static/uview/demo/actionSheet.png
src/static/uview/demo/address.png
src/static/uview/demo/album.png
src/static/uview/demo/alert.png
src/static/uview/demo/avatar.png
src/static/uview/demo/backTop.png
src/static/uview/demo/badge.png
src/static/uview/demo/button.png
src/static/uview/demo/calendar.png
src/static/uview/demo/cell.png
src/static/uview/demo/checkbox.png
src/static/uview/demo/citySelect.png
src/static/uview/demo/code.png
src/static/uview/demo/collapse.png
src/static/uview/demo/color.png
src/static/uview/demo/comment.png
src/static/uview/demo/countDown.png
src/static/uview/demo/countTo.png
src/static/uview/demo/coupon.png
src/static/uview/demo/datetimePicker.png
src/static/uview/demo/divider.png
src/static/uview/demo/empty.png
src/static/uview/demo/field.png
src/static/uview/demo/form.png
src/static/uview/demo/gap.png
src/static/uview/demo/grid.png
src/static/uview/demo/icon.png
src/static/uview/demo/image.png
src/static/uview/demo/indexList (1).png
src/static/uview/demo/indexList.png
src/static/uview/demo/keyboard.png
src/static/uview/demo/keyboardPay.png
src/static/uview/demo/layout.png
src/static/uview/demo/line.png
src/static/uview/demo/link.png
src/static/uview/demo/list.png
src/static/uview/demo/loading-page.png
src/static/uview/demo/loading.png
src/static/uview/demo/loadmore.png
src/static/uview/demo/login.png
src/static/uview/demo/mall_menu_1.png
src/static/uview/demo/mall_menu_2.png
src/static/uview/demo/mask.png
src/static/uview/demo/messageInput.png
src/static/uview/demo/modal.png
src/static/uview/demo/navbar.png
src/static/uview/demo/noNetwork.png
src/static/uview/demo/noticeBar.png
src/static/uview/demo/notify.png
src/static/uview/demo/numberBox.png
src/static/uview/demo/order.png
src/static/uview/demo/parse.png
src/static/uview/demo/picker.png
src/static/uview/demo/popup.png
src/static/uview/demo/progress.png
src/static/uview/demo/radio.png
src/static/uview/demo/rate.png
src/static/uview/demo/readMore.png
src/static/uview/demo/scrollList.png
src/static/uview/demo/search.png
src/static/uview/demo/skeleton.png
src/static/uview/demo/slider.png
src/static/uview/demo/steps.png
src/static/uview/demo/sticky.png
src/static/uview/demo/submitBar.png
src/static/uview/demo/subsection.png
src/static/uview/demo/swipeAction.png
src/static/uview/demo/swiper.png
src/static/uview/demo/switch.png
src/static/uview/demo/tabbar.png
src/static/uview/demo/tabs.png
src/static/uview/demo/tag.png
src/static/uview/demo/text.png
src/static/uview/demo/textarea.png
src/static/uview/demo/toast.png
src/static/uview/demo/tooltip.png
src/static/uview/demo/transition.png
src/static/uview/demo/upload.png
src/static/uview/demo/wxCenter.png
src/static/uview/example/component.png
src/static/uview/example/component_select.png
src/static/uview/example/js.png
src/static/uview/example/js_bak.png
src/static/uview/example/js_select.png
src/static/uview/example/template.png
src/static/uview/example/template_select.png
src/store/index.ts
src/store/modules/dict.ts
src/store/modules/user.ts
src/types/request.ts
src/uni.scss
src/uni_modules/uni-badge/changelog.md
src/uni_modules/uni-badge/components/uni-badge/uni-badge.vue
src/uni_modules/uni-badge/package.json
src/uni_modules/uni-badge/readme.md
src/uni_modules/uni-breadcrumb/changelog.md
src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue
src/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue
src/uni_modules/uni-breadcrumb/package.json
src/uni_modules/uni-breadcrumb/readme.md
src/uni_modules/uni-calendar/changelog.md
src/uni_modules/uni-calendar/components/uni-calendar/calendar.js
src/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json
src/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js
src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json
src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json
src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue
src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue
src/uni_modules/uni-calendar/components/uni-calendar/util.js
src/uni_modules/uni-calendar/package.json
src/uni_modules/uni-calendar/readme.md
src/uni_modules/uni-card/changelog.md
src/uni_modules/uni-card/components/uni-card/uni-card.vue
src/uni_modules/uni-card/package.json
src/uni_modules/uni-card/readme.md
src/uni_modules/uni-collapse/changelog.md
src/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue
src/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue
src/uni_modules/uni-collapse/package.json
src/uni_modules/uni-collapse/readme.md
src/uni_modules/uni-combox/changelog.md
src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
src/uni_modules/uni-combox/package.json
src/uni_modules/uni-combox/readme.md
src/uni_modules/uni-countdown/changelog.md
src/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json
src/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json
src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json
src/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue
src/uni_modules/uni-countdown/package.json
src/uni_modules/uni-countdown/readme.md
src/uni_modules/uni-data-checkbox/changelog.md
src/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue
src/uni_modules/uni-data-checkbox/package.json
src/uni_modules/uni-data-checkbox/readme.md
src/uni_modules/uni-data-picker/changelog.md
src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js
src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue
src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js
src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue
src/uni_modules/uni-data-picker/package.json
src/uni_modules/uni-data-picker/readme.md
src/uni_modules/uni-data-select/changelog.md
src/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
src/uni_modules/uni-data-select/package.json
src/uni_modules/uni-data-select/readme.md
src/uni_modules/uni-dateformat/changelog.md
src/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js
src/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue
src/uni_modules/uni-dateformat/package.json
src/uni_modules/uni-dateformat/readme.md
src/uni_modules/uni-datetime-picker/changelog.md
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/keypress.js
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
src/uni_modules/uni-datetime-picker/package.json
src/uni_modules/uni-datetime-picker/readme.md
src/uni_modules/uni-drawer/changelog.md
src/uni_modules/uni-drawer/components/uni-drawer/keypress.js
src/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
src/uni_modules/uni-drawer/package.json
src/uni_modules/uni-drawer/readme.md
src/uni_modules/uni-easyinput/changelog.md
src/uni_modules/uni-easyinput/components/uni-easyinput/common.js
src/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue
src/uni_modules/uni-easyinput/package.json
src/uni_modules/uni-easyinput/readme.md
src/uni_modules/uni-fab/changelog.md
src/uni_modules/uni-fab/components/uni-fab/uni-fab.vue
src/uni_modules/uni-fab/package.json
src/uni_modules/uni-fab/readme.md
src/uni_modules/uni-fav/changelog.md
src/uni_modules/uni-fav/components/uni-fav/i18n/en.json
src/uni_modules/uni-fav/components/uni-fav/i18n/index.js
src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json
src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json
src/uni_modules/uni-fav/components/uni-fav/uni-fav.vue
src/uni_modules/uni-fav/package.json
src/uni_modules/uni-fav/readme.md
src/uni_modules/uni-file-picker/changelog.md
src/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
src/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
src/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
src/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
src/uni_modules/uni-file-picker/components/uni-file-picker/utils.js
src/uni_modules/uni-file-picker/package.json
src/uni_modules/uni-file-picker/readme.md
src/uni_modules/uni-forms/changelog.md
src/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue
src/uni_modules/uni-forms/components/uni-forms/uni-forms.vue
src/uni_modules/uni-forms/components/uni-forms/utils.js
src/uni_modules/uni-forms/components/uni-forms/validate.js
src/uni_modules/uni-forms/package.json
src/uni_modules/uni-forms/readme.md
src/uni_modules/uni-goods-nav/changelog.md
src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json
src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js
src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json
src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json
src/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
src/uni_modules/uni-goods-nav/package.json
src/uni_modules/uni-goods-nav/readme.md
src/uni_modules/uni-grid/changelog.md
src/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue
src/uni_modules/uni-grid/components/uni-grid/uni-grid.vue
src/uni_modules/uni-grid/package.json
src/uni_modules/uni-grid/readme.md
src/uni_modules/uni-group/changelog.md
src/uni_modules/uni-group/components/uni-group/uni-group.vue
src/uni_modules/uni-group/package.json
src/uni_modules/uni-group/readme.md
src/uni_modules/uni-icons/changelog.md
src/uni_modules/uni-icons/components/uni-icons/icons.js
src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
src/uni_modules/uni-icons/components/uni-icons/uniicons.css
src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
src/uni_modules/uni-icons/package.json
src/uni_modules/uni-icons/readme.md
src/uni_modules/uni-indexed-list/changelog.md
src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue
src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue
src/uni_modules/uni-indexed-list/package.json
src/uni_modules/uni-indexed-list/readme.md
src/uni_modules/uni-link/changelog.md
src/uni_modules/uni-link/components/uni-link/uni-link.vue
src/uni_modules/uni-link/package.json
src/uni_modules/uni-link/readme.md
src/uni_modules/uni-list/changelog.md
src/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue
src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss
src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue
src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue
src/uni_modules/uni-list/components/uni-list/uni-list.vue
src/uni_modules/uni-list/components/uni-list/uni-refresh.vue
src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs
src/uni_modules/uni-list/package.json
src/uni_modules/uni-list/readme.md
src/uni_modules/uni-load-more/changelog.md
src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json
src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json
src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json
src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue
src/uni_modules/uni-load-more/package.json
src/uni_modules/uni-load-more/readme.md
src/uni_modules/uni-nav-bar/changelog.md
src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue
src/uni_modules/uni-nav-bar/package.json
src/uni_modules/uni-nav-bar/readme.md
src/uni_modules/uni-notice-bar/changelog.md
src/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
src/uni_modules/uni-notice-bar/package.json
src/uni_modules/uni-notice-bar/readme.md
src/uni_modules/uni-number-box/changelog.md
src/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
src/uni_modules/uni-number-box/package.json
src/uni_modules/uni-number-box/readme.md
src/uni_modules/uni-pagination/changelog.md
src/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json
src/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json
src/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json
src/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js
src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json
src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json
src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue
src/uni_modules/uni-pagination/package.json
src/uni_modules/uni-pagination/readme.md
src/uni_modules/uni-popup/changelog.md
src/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
src/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
src/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
src/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
src/uni_modules/uni-popup/components/uni-popup/i18n/en.json
src/uni_modules/uni-popup/components/uni-popup/i18n/index.js
src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
src/uni_modules/uni-popup/components/uni-popup/keypress.js
src/uni_modules/uni-popup/components/uni-popup/popup.js
src/uni_modules/uni-popup/components/uni-popup/uni-popup.vue
src/uni_modules/uni-popup/package.json
src/uni_modules/uni-popup/readme.md
src/uni_modules/uni-rate/changelog.md
src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue
src/uni_modules/uni-rate/package.json
src/uni_modules/uni-rate/readme.md
src/uni_modules/uni-row/changelog.md
src/uni_modules/uni-row/components/uni-col/uni-col.vue
src/uni_modules/uni-row/components/uni-row/uni-row.vue
src/uni_modules/uni-row/package.json
src/uni_modules/uni-row/readme.md
src/uni_modules/uni-scss/changelog.md
src/uni_modules/uni-scss/index.scss
src/uni_modules/uni-scss/package.json
src/uni_modules/uni-scss/readme.md
src/uni_modules/uni-scss/styles/index.scss
src/uni_modules/uni-scss/styles/setting/_border.scss
src/uni_modules/uni-scss/styles/setting/_color.scss
src/uni_modules/uni-scss/styles/setting/_radius.scss
src/uni_modules/uni-scss/styles/setting/_space.scss
src/uni_modules/uni-scss/styles/setting/_styles.scss
src/uni_modules/uni-scss/styles/setting/_text.scss
src/uni_modules/uni-scss/styles/setting/_variables.scss
src/uni_modules/uni-scss/styles/tools/functions.scss
src/uni_modules/uni-scss/theme.scss
src/uni_modules/uni-scss/variables.scss
src/uni_modules/uni-search-bar/changelog.md
src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json
src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js
src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json
src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json
src/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue
src/uni_modules/uni-search-bar/package.json
src/uni_modules/uni-search-bar/readme.md
src/uni_modules/uni-segmented-control/changelog.md
src/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue
src/uni_modules/uni-segmented-control/package.json
src/uni_modules/uni-segmented-control/readme.md
src/uni_modules/uni-steps/changelog.md
src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue
src/uni_modules/uni-steps/package.json
src/uni_modules/uni-steps/readme.md
src/uni_modules/uni-swipe-action/changelog.md
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue
src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs
src/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue
src/uni_modules/uni-swipe-action/package.json
src/uni_modules/uni-swipe-action/readme.md
src/uni_modules/uni-swiper-dot/changelog.md
src/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue
src/uni_modules/uni-swiper-dot/package.json
src/uni_modules/uni-swiper-dot/readme.md
src/uni_modules/uni-table/changelog.md
src/uni_modules/uni-table/components/uni-table/uni-table.vue
src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue
src/uni_modules/uni-table/components/uni-td/uni-td.vue
src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue
src/uni_modules/uni-table/components/uni-th/uni-th.vue
src/uni_modules/uni-table/components/uni-thead/uni-thead.vue
src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue
src/uni_modules/uni-table/components/uni-tr/uni-tr.vue
src/uni_modules/uni-table/i18n/en.json
src/uni_modules/uni-table/i18n/es.json
src/uni_modules/uni-table/i18n/fr.json
src/uni_modules/uni-table/i18n/index.js
src/uni_modules/uni-table/i18n/zh-Hans.json
src/uni_modules/uni-table/i18n/zh-Hant.json
src/uni_modules/uni-table/package.json
src/uni_modules/uni-table/readme.md
src/uni_modules/uni-tag/changelog.md
src/uni_modules/uni-tag/components/uni-tag/uni-tag.vue
src/uni_modules/uni-tag/package.json
src/uni_modules/uni-tag/readme.md
src/uni_modules/uni-title/changelog.md
src/uni_modules/uni-title/components/uni-title/uni-title.vue
src/uni_modules/uni-title/package.json
src/uni_modules/uni-title/readme.md
src/uni_modules/uni-tooltip/changelog.md
src/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue
src/uni_modules/uni-tooltip/package.json
src/uni_modules/uni-tooltip/readme.md
src/uni_modules/uni-transition/changelog.md
src/uni_modules/uni-transition/components/uni-transition/createAnimation.js
src/uni_modules/uni-transition/components/uni-transition/uni-transition.vue
src/uni_modules/uni-transition/package.json
src/uni_modules/uni-transition/readme.md
src/utils/auth.ts
src/utils/common.ts
src/utils/constant.ts
src/utils/dict.ts
src/utils/errorCode.ts
src/utils/geek.ts
src/utils/permission.ts
src/utils/request.ts
src/utils/ruoyi.js
src/utils/storage.ts
src/utils/upload.ts
static/img/avatar.png (已删除)
static/img/b-1.png (已删除)
static/img/b-2.png (已删除)
static/img/tabbar/center.png (已删除)
static/img/tabbar/center_art.png (已删除)
static/preview/ali_pay.jpg (已删除)
static/preview/index.jpg (已删除)
static/preview/login.jpg (已删除)
static/preview/logs.jpg (已删除)
static/preview/my.jpg (已删除)
static/preview/notice-e.jpg (已删除)
static/preview/notice-m.jpg (已删除)
static/preview/prefile.jpg (已删除)
static/preview/pwd-reset.jpg (已删除)
static/preview/wechat_pay.jpg (已删除)
static/preview/work.jpg (已删除)
static/style.scss (已删除)
store/index.js (已删除)
store/modules/system.js (已删除)
store/modules/user.js (已删除)
store/mutation-types.js (已删除)
template.h5.html (已删除)
tsconfig.json
uni.scss (已删除)
uni_modules/qiun-data-charts/changelog.md (已删除)
uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue (已删除)
uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js (已删除)
uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js (已删除)
uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.min.js (已删除)
uni_modules/qiun-data-charts/package.json (已删除)
uni_modules/qiun-data-charts/readme.md (已删除)
uni_modules/uview-ui/LICENSE (已删除)
uni_modules/uview-ui/README.md (已删除)
uni_modules/uview-ui/changelog.md (已删除)
uni_modules/uview-ui/components/u--form/u--form.vue (已删除)
uni_modules/uview-ui/components/u--image/u--image.vue (已删除)
uni_modules/uview-ui/components/u--input/u--input.vue (已删除)
uni_modules/uview-ui/components/u--text/u--text.vue (已删除)
uni_modules/uview-ui/components/u--textarea/u--textarea.vue (已删除)
uni_modules/uview-ui/components/u-action-sheet/props.js (已删除)
uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue (已删除)
uni_modules/uview-ui/components/u-album/props.js (已删除)
uni_modules/uview-ui/components/u-album/u-album.vue (已删除)
uni_modules/uview-ui/components/u-alert/props.js (已删除)
uni_modules/uview-ui/components/u-alert/u-alert.vue (已删除)
uni_modules/uview-ui/components/u-avatar-group/props.js (已删除)
uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue (已删除)
uni_modules/uview-ui/components/u-avatar/props.js (已删除)
uni_modules/uview-ui/components/u-avatar/u-avatar.vue (已删除)
uni_modules/uview-ui/components/u-back-top/props.js (已删除)
uni_modules/uview-ui/components/u-back-top/u-back-top.vue (已删除)
uni_modules/uview-ui/components/u-badge/props.js (已删除)
uni_modules/uview-ui/components/u-badge/u-badge.vue (已删除)
uni_modules/uview-ui/components/u-button/nvue.scss (已删除)
uni_modules/uview-ui/components/u-button/props.js (已删除)
uni_modules/uview-ui/components/u-button/u-button.vue (已删除)
uni_modules/uview-ui/components/u-button/vue.scss (已删除)
uni_modules/uview-ui/components/u-calendar/header.vue (已删除)
uni_modules/uview-ui/components/u-calendar/month.vue (已删除)
uni_modules/uview-ui/components/u-calendar/props.js (已删除)
uni_modules/uview-ui/components/u-calendar/u-calendar.vue (已删除)
uni_modules/uview-ui/components/u-calendar/util.js (已删除)
uni_modules/uview-ui/components/u-car-keyboard/props.js (已删除)
uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue (已删除)
uni_modules/uview-ui/components/u-cell-group/props.js (已删除)
uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue (已删除)
uni_modules/uview-ui/components/u-cell/props.js (已删除)
uni_modules/uview-ui/components/u-cell/u-cell.vue (已删除)
uni_modules/uview-ui/components/u-checkbox-group/props.js (已删除)
uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue (已删除)
uni_modules/uview-ui/components/u-checkbox/props.js (已删除)
uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue (已删除)
uni_modules/uview-ui/components/u-circle-progress/props.js (已删除)
uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue (已删除)
uni_modules/uview-ui/components/u-code-input/props.js (已删除)
uni_modules/uview-ui/components/u-code-input/u-code-input.vue (已删除)
uni_modules/uview-ui/components/u-code/props.js (已删除)
uni_modules/uview-ui/components/u-code/u-code.vue (已删除)
uni_modules/uview-ui/components/u-col/props.js (已删除)
uni_modules/uview-ui/components/u-col/u-col.vue (已删除)
uni_modules/uview-ui/components/u-collapse-item/props.js (已删除)
uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue (已删除)
uni_modules/uview-ui/components/u-collapse/props.js (已删除)
uni_modules/uview-ui/components/u-collapse/u-collapse.vue (已删除)
uni_modules/uview-ui/components/u-column-notice/props.js (已删除)
uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue (已删除)
uni_modules/uview-ui/components/u-count-down/props.js (已删除)
uni_modules/uview-ui/components/u-count-down/u-count-down.vue (已删除)
uni_modules/uview-ui/components/u-count-down/utils.js (已删除)
uni_modules/uview-ui/components/u-count-to/props.js (已删除)
uni_modules/uview-ui/components/u-count-to/u-count-to.vue (已删除)
uni_modules/uview-ui/components/u-datetime-picker/props.js (已删除)
uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue (已删除)
uni_modules/uview-ui/components/u-divider/props.js (已删除)
uni_modules/uview-ui/components/u-divider/u-divider.vue (已删除)
uni_modules/uview-ui/components/u-dropdown-item/props.js (已删除)
uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue (已删除)
uni_modules/uview-ui/components/u-dropdown/props.js (已删除)
uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue (已删除)
uni_modules/uview-ui/components/u-empty/props.js (已删除)
uni_modules/uview-ui/components/u-empty/u-empty.vue (已删除)
uni_modules/uview-ui/components/u-form-item/props.js (已删除)
uni_modules/uview-ui/components/u-form-item/u-form-item.vue (已删除)
uni_modules/uview-ui/components/u-form/props.js (已删除)
uni_modules/uview-ui/components/u-form/u-form.vue (已删除)
uni_modules/uview-ui/components/u-gap/props.js (已删除)
uni_modules/uview-ui/components/u-gap/u-gap.vue (已删除)
uni_modules/uview-ui/components/u-grid-item/props.js (已删除)
uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue (已删除)
uni_modules/uview-ui/components/u-grid/props.js (已删除)
uni_modules/uview-ui/components/u-grid/u-grid.vue (已删除)
uni_modules/uview-ui/components/u-icon/icons.js (已删除)
uni_modules/uview-ui/components/u-icon/props.js (已删除)
uni_modules/uview-ui/components/u-icon/u-icon.vue (已删除)
uni_modules/uview-ui/components/u-image/props.js (已删除)
uni_modules/uview-ui/components/u-image/u-image.vue (已删除)
uni_modules/uview-ui/components/u-index-anchor/props.js (已删除)
uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue (已删除)
uni_modules/uview-ui/components/u-index-item/props.js (已删除)
uni_modules/uview-ui/components/u-index-item/u-index-item.vue (已删除)
uni_modules/uview-ui/components/u-index-list/props.js (已删除)
uni_modules/uview-ui/components/u-index-list/u-index-list.vue (已删除)
uni_modules/uview-ui/components/u-input/props.js (已删除)
uni_modules/uview-ui/components/u-input/u-input.vue (已删除)
uni_modules/uview-ui/components/u-keyboard/props.js (已删除)
uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue (已删除)
uni_modules/uview-ui/components/u-line-progress/props.js (已删除)
uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue (已删除)
uni_modules/uview-ui/components/u-line/props.js (已删除)
uni_modules/uview-ui/components/u-line/u-line.vue (已删除)
uni_modules/uview-ui/components/u-link/props.js (已删除)
uni_modules/uview-ui/components/u-link/u-link.vue (已删除)
uni_modules/uview-ui/components/u-list-item/props.js (已删除)
uni_modules/uview-ui/components/u-list-item/u-list-item.vue (已删除)
uni_modules/uview-ui/components/u-list/props.js (已删除)
uni_modules/uview-ui/components/u-list/u-list.vue (已删除)
uni_modules/uview-ui/components/u-loading-icon/props.js (已删除)
uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue (已删除)
uni_modules/uview-ui/components/u-loading-page/props.js (已删除)
uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue (已删除)
uni_modules/uview-ui/components/u-loadmore/props.js (已删除)
uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue (已删除)
uni_modules/uview-ui/components/u-modal/props.js (已删除)
uni_modules/uview-ui/components/u-modal/u-modal.vue (已删除)
uni_modules/uview-ui/components/u-navbar/props.js (已删除)
uni_modules/uview-ui/components/u-navbar/u-navbar.vue (已删除)
uni_modules/uview-ui/components/u-no-network/props.js (已删除)
uni_modules/uview-ui/components/u-no-network/u-no-network.vue (已删除)
uni_modules/uview-ui/components/u-notice-bar/props.js (已删除)
uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue (已删除)
uni_modules/uview-ui/components/u-notify/props.js (已删除)
uni_modules/uview-ui/components/u-notify/u-notify.vue (已删除)
uni_modules/uview-ui/components/u-number-box/props.js (已删除)
uni_modules/uview-ui/components/u-number-box/u-number-box.vue (已删除)
uni_modules/uview-ui/components/u-number-keyboard/props.js (已删除)
uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue (已删除)
uni_modules/uview-ui/components/u-overlay/props.js (已删除)
uni_modules/uview-ui/components/u-overlay/u-overlay.vue (已删除)
uni_modules/uview-ui/components/u-parse/node/node.vue (已删除)
uni_modules/uview-ui/components/u-parse/parser.js (已删除)
uni_modules/uview-ui/components/u-parse/props.js (已删除)
uni_modules/uview-ui/components/u-parse/u-parse.vue (已删除)
uni_modules/uview-ui/components/u-picker-column/props.js (已删除)
uni_modules/uview-ui/components/u-picker-column/u-picker-column.vue (已删除)
uni_modules/uview-ui/components/u-picker/props.js (已删除)
uni_modules/uview-ui/components/u-picker/u-picker.vue (已删除)
uni_modules/uview-ui/components/u-popup/props.js (已删除)
uni_modules/uview-ui/components/u-popup/u-popup.vue (已删除)
uni_modules/uview-ui/components/u-radio-group/props.js (已删除)
uni_modules/uview-ui/components/u-radio-group/u-radio-group.vue (已删除)
uni_modules/uview-ui/components/u-radio/props.js (已删除)
uni_modules/uview-ui/components/u-radio/u-radio.vue (已删除)
uni_modules/uview-ui/components/u-rate/props.js (已删除)
uni_modules/uview-ui/components/u-rate/u-rate.vue (已删除)
uni_modules/uview-ui/components/u-read-more/props.js (已删除)
uni_modules/uview-ui/components/u-read-more/u-read-more.vue (已删除)
uni_modules/uview-ui/components/u-row-notice/props.js (已删除)
uni_modules/uview-ui/components/u-row-notice/u-row-notice.vue (已删除)
uni_modules/uview-ui/components/u-row/props.js (已删除)
uni_modules/uview-ui/components/u-row/u-row.vue (已删除)
uni_modules/uview-ui/components/u-safe-bottom/props.js (已删除)
uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.vue (已删除)
uni_modules/uview-ui/components/u-scroll-list/nvue.js (已删除)
uni_modules/uview-ui/components/u-scroll-list/other.js (已删除)
uni_modules/uview-ui/components/u-scroll-list/props.js (已删除)
uni_modules/uview-ui/components/u-scroll-list/scrollWxs.wxs (已删除)
uni_modules/uview-ui/components/u-scroll-list/u-scroll-list.vue (已删除)
uni_modules/uview-ui/components/u-search/props.js (已删除)
uni_modules/uview-ui/components/u-search/u-search.vue (已删除)
uni_modules/uview-ui/components/u-skeleton/props.js (已删除)
uni_modules/uview-ui/components/u-skeleton/u-skeleton.vue (已删除)
uni_modules/uview-ui/components/u-slider/mpother.js (已删除)
uni_modules/uview-ui/components/u-slider/mpwxs.js (已删除)
uni_modules/uview-ui/components/u-slider/mpwxs.wxs (已删除)
uni_modules/uview-ui/components/u-slider/nvue - 副本.js (已删除)
uni_modules/uview-ui/components/u-slider/nvue.js (已删除)
uni_modules/uview-ui/components/u-slider/props.js (已删除)
uni_modules/uview-ui/components/u-slider/u-slider.vue (已删除)
uni_modules/uview-ui/components/u-status-bar/props.js (已删除)
uni_modules/uview-ui/components/u-status-bar/u-status-bar.vue (已删除)
uni_modules/uview-ui/components/u-steps-item/props.js (已删除)
uni_modules/uview-ui/components/u-steps-item/u-steps-item.vue (已删除)
uni_modules/uview-ui/components/u-steps/props.js (已删除)
uni_modules/uview-ui/components/u-steps/u-steps.vue (已删除)
uni_modules/uview-ui/components/u-sticky/props.js (已删除)
uni_modules/uview-ui/components/u-sticky/u-sticky.vue (已删除)
uni_modules/uview-ui/components/u-subsection/props.js (已删除)
uni_modules/uview-ui/components/u-subsection/u-subsection.vue (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/index - backup.wxs (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/index.wxs (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/nvue - backup.js (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/nvue.js (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/props.js (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue (已删除)
uni_modules/uview-ui/components/u-swipe-action-item/wxs.js (已删除)
uni_modules/uview-ui/components/u-swipe-action/props.js (已删除)
uni_modules/uview-ui/components/u-swipe-action/u-swipe-action.vue (已删除)
uni_modules/uview-ui/components/u-swiper-indicator/props.js (已删除)
uni_modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue (已删除)
uni_modules/uview-ui/components/u-swiper/props.js (已删除)
uni_modules/uview-ui/components/u-swiper/u-swiper.vue (已删除)
uni_modules/uview-ui/components/u-switch/props.js (已删除)
uni_modules/uview-ui/components/u-switch/u-switch.vue (已删除)
uni_modules/uview-ui/components/u-tabbar-item/props.js (已删除)
uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.vue (已删除)
uni_modules/uview-ui/components/u-tabbar/props.js (已删除)
uni_modules/uview-ui/components/u-tabbar/u-tabbar.vue (已删除)
uni_modules/uview-ui/components/u-table/props.js (已删除)
uni_modules/uview-ui/components/u-table/u-table.vue (已删除)
uni_modules/uview-ui/components/u-tabs-item/props.js (已删除)
uni_modules/uview-ui/components/u-tabs-item/u-tabs-item.vue (已删除)
uni_modules/uview-ui/components/u-tabs/props.js (已删除)
uni_modules/uview-ui/components/u-tabs/u-tabs.vue (已删除)
uni_modules/uview-ui/components/u-tag/props.js (已删除)
uni_modules/uview-ui/components/u-tag/u-tag.vue (已删除)
uni_modules/uview-ui/components/u-td/props.js (已删除)
uni_modules/uview-ui/components/u-td/u-td.vue (已删除)
uni_modules/uview-ui/components/u-text/props.js (已删除)
uni_modules/uview-ui/components/u-text/u-text.vue (已删除)
uni_modules/uview-ui/components/u-text/value.js (已删除)
uni_modules/uview-ui/components/u-textarea/props.js (已删除)
uni_modules/uview-ui/components/u-textarea/u-textarea.vue (已删除)
uni_modules/uview-ui/components/u-toast/u-toast.vue (已删除)
uni_modules/uview-ui/components/u-toolbar/props.js (已删除)
uni_modules/uview-ui/components/u-toolbar/u-toolbar.vue (已删除)
uni_modules/uview-ui/components/u-tooltip/clipboard.min.js (已删除)
uni_modules/uview-ui/components/u-tooltip/props.js (已删除)
uni_modules/uview-ui/components/u-tooltip/u-tooltip.vue (已删除)
uni_modules/uview-ui/components/u-tr/props.js (已删除)
uni_modules/uview-ui/components/u-tr/u-tr.vue (已删除)
uni_modules/uview-ui/components/u-transition/nvue.ani-map.js (已删除)
uni_modules/uview-ui/components/u-transition/props.js (已删除)
uni_modules/uview-ui/components/u-transition/transition.js (已删除)
uni_modules/uview-ui/components/u-transition/u-transition.vue (已删除)
uni_modules/uview-ui/components/u-transition/vue.ani-style.scss (已删除)
uni_modules/uview-ui/components/u-upload/mixin.js (已删除)
uni_modules/uview-ui/components/u-upload/props.js (已删除)
uni_modules/uview-ui/components/u-upload/u-upload.vue (已删除)
uni_modules/uview-ui/components/u-upload/utils.js (已删除)
uni_modules/uview-ui/components/uview-ui/uview-ui.vue (已删除)
uni_modules/uview-ui/index.js (已删除)
uni_modules/uview-ui/index.scss (已删除)
uni_modules/uview-ui/libs/config/color.js (已删除)
uni_modules/uview-ui/libs/config/config.js (已删除)
uni_modules/uview-ui/libs/config/props.js (已删除)
uni_modules/uview-ui/libs/config/props/actionSheet.js (已删除)
uni_modules/uview-ui/libs/config/props/album.js (已删除)
uni_modules/uview-ui/libs/config/props/alert.js (已删除)
uni_modules/uview-ui/libs/config/props/avatar.js (已删除)
uni_modules/uview-ui/libs/config/props/avatarGroup.js (已删除)
uni_modules/uview-ui/libs/config/props/backtop.js (已删除)
uni_modules/uview-ui/libs/config/props/badge.js (已删除)
uni_modules/uview-ui/libs/config/props/button.js (已删除)
uni_modules/uview-ui/libs/config/props/calendar.js (已删除)
uni_modules/uview-ui/libs/config/props/carKeyboard.js (已删除)
uni_modules/uview-ui/libs/config/props/cell.js (已删除)
uni_modules/uview-ui/libs/config/props/cellGroup.js (已删除)
uni_modules/uview-ui/libs/config/props/checkbox.js (已删除)
uni_modules/uview-ui/libs/config/props/checkboxGroup.js (已删除)
uni_modules/uview-ui/libs/config/props/circleProgress.js (已删除)
uni_modules/uview-ui/libs/config/props/code.js (已删除)
uni_modules/uview-ui/libs/config/props/codeInput.js (已删除)
uni_modules/uview-ui/libs/config/props/col.js (已删除)
uni_modules/uview-ui/libs/config/props/collapse.js (已删除)
uni_modules/uview-ui/libs/config/props/collapseItem.js (已删除)
uni_modules/uview-ui/libs/config/props/columnNotice.js (已删除)
uni_modules/uview-ui/libs/config/props/countDown.js (已删除)
uni_modules/uview-ui/libs/config/props/countTo.js (已删除)
uni_modules/uview-ui/libs/config/props/datetimePicker.js (已删除)
uni_modules/uview-ui/libs/config/props/divider.js (已删除)
uni_modules/uview-ui/libs/config/props/empty.js (已删除)
uni_modules/uview-ui/libs/config/props/form.js (已删除)
uni_modules/uview-ui/libs/config/props/formItem.js (已删除)
uni_modules/uview-ui/libs/config/props/gap.js (已删除)
uni_modules/uview-ui/libs/config/props/grid.js (已删除)
uni_modules/uview-ui/libs/config/props/gridItem.js (已删除)
uni_modules/uview-ui/libs/config/props/icon.js (已删除)
uni_modules/uview-ui/libs/config/props/image.js (已删除)
uni_modules/uview-ui/libs/config/props/indexAnchor.js (已删除)
uni_modules/uview-ui/libs/config/props/indexList.js (已删除)
uni_modules/uview-ui/libs/config/props/input.js (已删除)
uni_modules/uview-ui/libs/config/props/keyboard.js (已删除)
uni_modules/uview-ui/libs/config/props/line.js (已删除)
uni_modules/uview-ui/libs/config/props/lineProgress.js (已删除)
uni_modules/uview-ui/libs/config/props/link.js (已删除)
uni_modules/uview-ui/libs/config/props/list.js (已删除)
uni_modules/uview-ui/libs/config/props/listItem.js (已删除)
uni_modules/uview-ui/libs/config/props/loadingIcon.js (已删除)
uni_modules/uview-ui/libs/config/props/loadingPage.js (已删除)
uni_modules/uview-ui/libs/config/props/loadmore.js (已删除)
uni_modules/uview-ui/libs/config/props/modal.js (已删除)
uni_modules/uview-ui/libs/config/props/navbar.js (已删除)
uni_modules/uview-ui/libs/config/props/noNetwork.js (已删除)
uni_modules/uview-ui/libs/config/props/noticeBar.js (已删除)
uni_modules/uview-ui/libs/config/props/notify.js (已删除)
uni_modules/uview-ui/libs/config/props/numberBox.js (已删除)
uni_modules/uview-ui/libs/config/props/numberKeyboard.js (已删除)
uni_modules/uview-ui/libs/config/props/overlay.js (已删除)
uni_modules/uview-ui/libs/config/props/parse.js (已删除)
uni_modules/uview-ui/libs/config/props/picker.js (已删除)
uni_modules/uview-ui/libs/config/props/popup.js (已删除)
uni_modules/uview-ui/libs/config/props/radio.js (已删除)
uni_modules/uview-ui/libs/config/props/radioGroup.js (已删除)
uni_modules/uview-ui/libs/config/props/rate.js (已删除)
uni_modules/uview-ui/libs/config/props/readMore.js (已删除)
uni_modules/uview-ui/libs/config/props/row.js (已删除)
uni_modules/uview-ui/libs/config/props/rowNotice.js (已删除)
uni_modules/uview-ui/libs/config/props/scrollList.js (已删除)
uni_modules/uview-ui/libs/config/props/search.js (已删除)
uni_modules/uview-ui/libs/config/props/section.js (已删除)
uni_modules/uview-ui/libs/config/props/skeleton.js (已删除)
uni_modules/uview-ui/libs/config/props/slider.js (已删除)
uni_modules/uview-ui/libs/config/props/statusBar.js (已删除)
uni_modules/uview-ui/libs/config/props/steps.js (已删除)
uni_modules/uview-ui/libs/config/props/stepsItem.js (已删除)
uni_modules/uview-ui/libs/config/props/sticky.js (已删除)
uni_modules/uview-ui/libs/config/props/subsection.js (已删除)
uni_modules/uview-ui/libs/config/props/swipeAction.js (已删除)
uni_modules/uview-ui/libs/config/props/swipeActionItem.js (已删除)
uni_modules/uview-ui/libs/config/props/swiper.js (已删除)
uni_modules/uview-ui/libs/config/props/swipterIndicator.js (已删除)
uni_modules/uview-ui/libs/config/props/switch.js (已删除)
uni_modules/uview-ui/libs/config/props/tabbar.js (已删除)
uni_modules/uview-ui/libs/config/props/tabbarItem.js (已删除)
uni_modules/uview-ui/libs/config/props/tabs.js (已删除)
uni_modules/uview-ui/libs/config/props/tag.js (已删除)
uni_modules/uview-ui/libs/config/props/text.js (已删除)
uni_modules/uview-ui/libs/config/props/textarea.js (已删除)
uni_modules/uview-ui/libs/config/props/toast.js (已删除)
uni_modules/uview-ui/libs/config/props/toolbar.js (已删除)
uni_modules/uview-ui/libs/config/props/tooltip.js (已删除)
uni_modules/uview-ui/libs/config/props/transition.js (已删除)
uni_modules/uview-ui/libs/config/props/upload.js (已删除)
uni_modules/uview-ui/libs/config/zIndex.js (已删除)
uni_modules/uview-ui/libs/css/color.scss (已删除)
uni_modules/uview-ui/libs/css/common.scss (已删除)
uni_modules/uview-ui/libs/css/components.scss (已删除)
uni_modules/uview-ui/libs/css/flex.scss (已删除)
uni_modules/uview-ui/libs/css/h5.scss (已删除)
uni_modules/uview-ui/libs/css/mixin.scss (已删除)
uni_modules/uview-ui/libs/css/mp.scss (已删除)
uni_modules/uview-ui/libs/css/nvue.scss (已删除)
uni_modules/uview-ui/libs/css/vue.scss (已删除)
uni_modules/uview-ui/libs/function/colorGradient.js (已删除)
uni_modules/uview-ui/libs/function/debounce.js (已删除)
uni_modules/uview-ui/libs/function/digit.js (已删除)
uni_modules/uview-ui/libs/function/index.js (已删除)
uni_modules/uview-ui/libs/function/platform.js (已删除)
uni_modules/uview-ui/libs/function/test.js (已删除)
uni_modules/uview-ui/libs/function/throttle.js (已删除)
uni_modules/uview-ui/libs/luch-request/adapters/index.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/Request.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/defaults.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js (已删除)
uni_modules/uview-ui/libs/luch-request/core/settle.js (已删除)
uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js (已删除)
uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js (已删除)
uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js (已删除)
uni_modules/uview-ui/libs/luch-request/index.d.ts (已删除)
uni_modules/uview-ui/libs/luch-request/index.js (已删除)
uni_modules/uview-ui/libs/luch-request/utils.js (已删除)
uni_modules/uview-ui/libs/luch-request/utils/clone.js (已删除)
uni_modules/uview-ui/libs/mixin/button.js (已删除)
uni_modules/uview-ui/libs/mixin/mixin.js (已删除)
uni_modules/uview-ui/libs/mixin/mpMixin.js (已删除)
uni_modules/uview-ui/libs/mixin/mpShare.js (已删除)
uni_modules/uview-ui/libs/mixin/openType.js (已删除)
uni_modules/uview-ui/libs/mixin/style.js (已删除)
uni_modules/uview-ui/libs/mixin/touch.js (已删除)
uni_modules/uview-ui/libs/util/async-validator.js (已删除)
uni_modules/uview-ui/libs/util/calendar.js (已删除)
uni_modules/uview-ui/libs/util/dayjs.js (已删除)
uni_modules/uview-ui/libs/util/emitter.js (已删除)
uni_modules/uview-ui/libs/util/route.js (已删除)
uni_modules/uview-ui/package.json (已删除)
uni_modules/uview-ui/theme.scss (已删除)
utils/storage.js (已删除)
utils/verify.js (已删除)
vite.config.js
vue.config.js (已删除)
yarn.lock |