From 0778b279295f62d8119eb5da5a9ec92dbb456f07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E8=B4=A4=E9=87=91?= <1960116313@qq.com> Date: Tue, 29 Mar 2022 11:13:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=81=94=E7=BD=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .browserslistrc | 3 + .editorconfig | 16 + .eslintrc.js | 17 + .gitignore | 25 + .postcssrc.js | 5 + LICENSE | 34 + README.md | 43 + babel.config.js | 5 + build.sh | 9 + package.json | 59 + public/cdn/animate/3.5.2/animate.css | 11 + public/cdn/avue/2.8.12/avue.min.js | 9 + public/cdn/avue/2.8.12/index.css | 1 + public/cdn/axios/1.0.0/axios.min.js | 9 + public/cdn/element-ui/2.15.1/index.js | 1 + .../theme-chalk/fonts/element-icons.ttf | Bin 0 -> 55956 bytes .../theme-chalk/fonts/element-icons.woff | Bin 0 -> 28200 bytes .../element-ui/2.15.1/theme-chalk/index.css | 1 + public/cdn/iconfont/avue/iconfont.css | 201 +++ public/cdn/iconfont/avue/iconfont.eot | Bin 0 -> 17856 bytes public/cdn/iconfont/avue/iconfont.js | 1 + public/cdn/iconfont/avue/iconfont.json | 331 +++++ public/cdn/iconfont/avue/iconfont.svg | 164 +++ public/cdn/iconfont/avue/iconfont.ttf | Bin 0 -> 17688 bytes public/cdn/iconfont/avue/iconfont.woff | Bin 0 -> 11696 bytes public/cdn/iconfont/avue/iconfont.woff2 | Bin 0 -> 10092 bytes public/cdn/iconfont/index.css | 23 + public/cdn/iconfont/saber/iconfont.css | 345 +++++ public/cdn/iconfont/saber/iconfont.eot | Bin 0 -> 24420 bytes public/cdn/iconfont/saber/iconfont.js | 1 + public/cdn/iconfont/saber/iconfont.json | 583 ++++++++ public/cdn/iconfont/saber/iconfont.svg | 272 ++++ public/cdn/iconfont/saber/iconfont.ttf | Bin 0 -> 24252 bytes public/cdn/iconfont/saber/iconfont.woff | Bin 0 -> 13656 bytes public/cdn/iconfont/saber/iconfont.woff2 | Bin 0 -> 11376 bytes public/cdn/vue-router/3.0.1/vue-router.min.js | 6 + public/cdn/vue/2.6.10/vue.min.js | 6 + public/cdn/vuex/3.1.1/vuex.min.js | 6 + public/cdn/xlsx/FileSaver.min.js | 7 + public/cdn/xlsx/xlsx.full.min.js | 23 + public/favicon.png | Bin 0 -> 11327 bytes public/img/bg/403.svg | 508 +++++++ public/img/bg/404.svg | 314 +++++ public/img/bg/500.svg | 208 +++ public/img/bg/bg.jpg | Bin 0 -> 25380 bytes public/img/bg/bg1.jpg | Bin 0 -> 259801 bytes public/img/bg/bg2.jpg | Bin 0 -> 317599 bytes public/img/bg/bg3.jpg | Bin 0 -> 194430 bytes public/img/bg/bg4.jpg | Bin 0 -> 139385 bytes public/img/bg/cloud.jpg | Bin 0 -> 11057 bytes public/img/bg/img-logo.png | Bin 0 -> 11327 bytes public/img/bg/login.png | Bin 0 -> 244652 bytes public/img/bg/logo.png | Bin 0 -> 26407 bytes public/img/bg/star-squashed.jpg | Bin 0 -> 368010 bytes public/img/bg/vip1.png | Bin 0 -> 2229 bytes public/img/bg/vip2.png | Bin 0 -> 3650 bytes public/img/bg/vip3.png | Bin 0 -> 3814 bytes public/img/bg/vip4.png | Bin 0 -> 3805 bytes public/img/logo.png | Bin 0 -> 26407 bytes public/img/mock/card/card-1.jpg | Bin 0 -> 52716 bytes public/img/mock/card/card-2.jpg | Bin 0 -> 20379 bytes public/img/mock/card/card-3.jpg | Bin 0 -> 144033 bytes public/img/mock/card/card-4.jpg | Bin 0 -> 26402 bytes public/img/mock/cli/1.png | Bin 0 -> 216098 bytes public/img/mock/cli/2.png | Bin 0 -> 245835 bytes public/img/mock/cli/3.png | Bin 0 -> 416727 bytes public/img/mock/iconfont.png | Bin 0 -> 273786 bytes public/index.html | 114 ++ public/svg/loading-spin.svg | 6 + public/util/aes.js | 105 ++ public/util/screen/guge.png | Bin 0 -> 66296 bytes public/util/screen/huohu.png | Bin 0 -> 430866 bytes public/util/screen/screen.css | 32 + public/util/screen/screen.js | 47 + src/App.vue | 27 + src/api/base/region.js | 53 + src/api/checklog/check.js | 23 + src/api/core/bill/dailyBill.js | 31 + src/api/core/bill/dayresource.js | 33 + src/api/core/bill/monresource.js | 33 + src/api/core/bill/monthBill.js | 31 + src/api/core/customer/customerApi.js | 23 + src/api/core/product/productApi.js | 70 + src/api/core/source/sourceApi.js | 69 + src/api/customerbill/daily.js | 13 + src/api/customerbill/month.js | 13 + src/api/dashboard/index.js | 12 + src/api/desk/notice.js | 50 + src/api/equipment/index.js | 12 + src/api/flow/flow.js | 99 ++ src/api/iot/device/device.js | 56 + src/api/iot/device/product.js | 70 + src/api/iot/device/productTopic.js | 50 + src/api/iot/ops/deviceLog.js | 61 + src/api/iot/subscribe/consumer.js | 71 + src/api/iot/subscribe/subscribe.js | 50 + src/api/iot/vendor/aliConfig.js | 50 + src/api/iot/vendor/aliConsumer.js | 59 + src/api/logs.js | 64 + src/api/report/report.js | 22 + src/api/resource/attach.js | 50 + src/api/resource/oss.js | 59 + src/api/resource/sms.js | 72 + src/api/sys/index.js | 27 + src/api/system/client.js | 50 + src/api/system/dept.js | 81 ++ src/api/system/dict.js | 89 ++ src/api/system/dictbiz.js | 89 ++ src/api/system/menu.js | 106 ++ src/api/system/param.js | 39 + src/api/system/post.js | 60 + src/api/system/price.js | 27 + src/api/system/role.js | 89 ++ src/api/system/scope.js | 97 ++ src/api/system/tenant.js | 221 +++ src/api/system/topmenu.js | 77 + src/api/system/user.js | 120 ++ src/api/tool/code.js | 69 + src/api/tool/datasource.js | 50 + src/api/user.js | 93 ++ src/api/work/process.js | 34 + src/api/work/work.js | 81 ++ src/assets/shouye.png | Bin 0 -> 6841 bytes src/cache.js | 45 + src/components/Bar/index.vue | 104 ++ src/components/Charts/BasicLine.vue | 84 ++ src/components/DatePicker/index.vue | 31 + src/components/DescTable/index.vue | 216 +++ src/components/DescriptionsTable/index.vue | 78 + src/components/Dialog/index.vue | 89 ++ src/components/Render/index.vue | 11 + src/components/basic-block/main.vue | 126 ++ src/components/basic-container/main.vue | 55 + src/components/error-page/403.vue | 24 + src/components/error-page/404.vue | 24 + src/components/error-page/500.vue | 24 + src/components/error-page/style.scss | 32 + src/components/iframe/main.vue | 129 ++ src/components/third-register/main.vue | 122 ++ src/config/env.js | 21 + src/config/iconList.js | 118 ++ src/config/website.js | 48 + src/docker/Dockerfile | 6 + src/error.js | 25 + src/lang/en.js | 109 ++ src/lang/index.js | 28 + src/lang/zh.js | 108 ++ src/main.js | 67 + src/mixins/color.js | 168 +++ src/mixins/crud.js | 209 +++ src/mock/index.js | 20 + src/mock/menu.js | 47 + src/mock/oauth.js | 22 + src/mock/param.js | 59 + src/mock/user.js | 44 + src/option/system/dict.js | 210 +++ src/option/system/dictbiz.js | 211 +++ src/option/system/param.js | 48 + src/option/user/info.js | 71 + src/page/index/index.vue | 143 ++ src/page/index/layout.vue | 8 + src/page/index/logo.vue | 73 + src/page/index/search.vue | 191 +++ src/page/index/sidebar/config.js | 9 + src/page/index/sidebar/index.vue | 49 + src/page/index/sidebar/sidebarItem.vue | 146 ++ src/page/index/tags.vue | 186 +++ src/page/index/top/index.vue | 182 +++ src/page/index/top/top-color.vue | 30 + src/page/index/top/top-lang.vue | 49 + src/page/index/top/top-lock.vue | 72 + src/page/index/top/top-logs.vue | 43 + src/page/index/top/top-menu.vue | 69 + src/page/index/top/top-notice.vue | 87 ++ src/page/index/top/top-search.vue | 131 ++ src/page/index/top/top-theme.vue | 112 ++ src/page/lock/index.vue | 108 ++ src/page/login/authredirect.vue | 20 + src/page/login/codelogin.vue | 133 ++ src/page/login/index.vue | 121 ++ src/page/login/thirdlogin.vue | 69 + src/page/login/userlogin.vue | 169 +++ src/page/logs/index.vue | 135 ++ src/permission.js | 76 + src/router/avue-router.js | 199 +++ src/router/axios.js | 85 ++ src/router/page/index.js | 81 ++ src/router/router.js | 41 + src/router/views/index.js | 106 ++ src/store/getters.js | 29 + src/store/index.js | 22 + src/store/modules/common.js | 99 ++ src/store/modules/dict.js | 35 + src/store/modules/logs.js | 42 + src/store/modules/tags.js | 76 + src/store/modules/user.js | 274 ++++ src/styles/animate/vue-transition.scss | 65 + src/styles/common.scss | 33 + src/styles/element-ui.scss | 71 + src/styles/login.scss | 184 +++ src/styles/media.scss | 182 +++ src/styles/mixin.scss | 73 + src/styles/normalize.scss | 502 +++++++ src/styles/sidebar.scss | 91 ++ src/styles/tags.scss | 92 ++ src/styles/theme/bule.scss | 46 + src/styles/theme/cool.scss | 146 ++ src/styles/theme/d2.scss | 57 + src/styles/theme/dark.scss | 57 + src/styles/theme/hey.scss | 45 + src/styles/theme/index.scss | 30 + src/styles/theme/iview.scss | 76 + src/styles/theme/lte.scss | 36 + src/styles/theme/star.scss | 95 ++ src/styles/theme/vip.scss | 92 ++ src/styles/theme/white.scss | 120 ++ src/styles/top.scss | 108 ++ src/styles/variables.scss | 2 + src/util/admin.js | 14 + src/util/auth.js | 27 + src/util/crypto.js | 80 ++ src/util/date.js | 51 + src/util/download.js | 24 + src/util/enum.js | 21 + src/util/flow.js | 20 + src/util/func.js | 93 ++ src/util/store.js | 121 ++ src/util/util.js | 371 +++++ src/util/validate.js | 253 ++++ src/views/authority/apiscope.vue | 643 +++++++++ src/views/authority/datascope.vue | 727 ++++++++++ src/views/authority/role.vue | 380 +++++ src/views/base/region.vue | 417 ++++++ src/views/bill/components/check/index.vue | 103 ++ src/views/bill/components/checklist/index.vue | 81 ++ src/views/bill/daily.vue | 333 +++++ src/views/bill/monthlybill.vue | 331 +++++ src/views/bill/sourcedaily.vue | 361 +++++ src/views/bill/sourcemonthlybill.vue | 350 +++++ src/views/bizLog/checkLog/check.vue | 394 ++++++ src/views/customer/api.vue | 181 +++ src/views/customer/component/cache.vue | 96 ++ src/views/customer/component/change.vue | 137 ++ src/views/customer/component/option.vue | 90 ++ src/views/customer/index.vue | 1251 +++++++++++++++++ src/views/customerApi/index.vue | 181 +++ src/views/customerBill/daily.vue | 157 +++ src/views/customerBill/month.vue | 158 +++ src/views/desk/notice.vue | 294 ++++ src/views/equipment/index.vue | 182 +++ src/views/flow/deploy.vue | 154 ++ src/views/flow/follow.vue | 203 +++ src/views/flow/manager.vue | 368 +++++ src/views/flow/model.vue | 402 ++++++ .../iot/components/ConsumerDetail/Client.vue | 70 + .../iot/components/ConsumerDetail/Infos.vue | 47 + .../iot/components/ConsumerDetail/Product.vue | 91 ++ .../iot/components/ConsumerDetail/index.vue | 108 ++ .../iot/components/DeviceDetail/Infos.vue | 70 + .../iot/components/DeviceDetail/Topic.vue | 15 + .../iot/components/DeviceDetail/index.vue | 64 + .../iot/components/ProductDetail/Infos.vue | 86 ++ .../iot/components/ProductDetail/Server.vue | 77 + .../iot/components/ProductDetail/Topic.vue | 240 ++++ .../iot/components/ProductDetail/index.vue | 76 + src/views/iot/device.vue | 286 ++++ src/views/iot/ops/deviceLog.vue | 365 +++++ src/views/iot/product.vue | 364 +++++ src/views/iot/product/topic.vue | 207 +++ src/views/iot/server/consumer.vue | 226 +++ src/views/iot/server/subscribe.vue | 262 ++++ src/views/iot/vendor/ali/config.vue | 214 +++ src/views/iot/vendor/ali/consumer.vue | 199 +++ src/views/monitor/log/api.vue | 161 +++ src/views/monitor/log/error.vue | 165 +++ src/views/monitor/log/usual.vue | 165 +++ src/views/product/api.vue | 288 ++++ src/views/report/reportlist.vue | 203 +++ src/views/resource/attach.vue | 288 ++++ src/views/resource/oss.vue | 415 ++++++ src/views/resource/sms.vue | 438 ++++++ src/views/source/api.vue | 349 +++++ src/views/sys/index.vue | 352 +++++ src/views/system/client.vue | 333 +++++ src/views/system/dept.vue | 363 +++++ src/views/system/dict.vue | 443 ++++++ src/views/system/dictbiz.vue | 442 ++++++ src/views/system/menu.vue | 423 ++++++ src/views/system/param.vue | 45 + src/views/system/post.vue | 281 ++++ src/views/system/tenant.vue | 456 ++++++ src/views/system/topmenu.vue | 332 +++++ src/views/system/user.vue | 994 +++++++++++++ src/views/system/userinfo.vue | 94 ++ src/views/test.vue | 10 + src/views/tool/code.vue | 379 +++++ src/views/tool/datasource.vue | 272 ++++ src/views/util/affix.vue | 46 + src/views/util/cache.vue | 22 + src/views/util/crud-form.vue | 59 + src/views/util/data.vue | 199 +++ src/views/util/demo/dict-classic.vue | 359 +++++ src/views/util/demo/dict-horizontal.vue | 469 ++++++ src/views/util/demo/dict-vertical.vue | 474 +++++++ src/views/util/demo/dict.vue | 454 ++++++ src/views/util/demo/dictbiz.vue | 447 ++++++ src/views/util/form-detail.vue | 40 + src/views/util/form.vue | 55 + src/views/util/logs.vue | 19 + src/views/util/permission.vue | 82 ++ src/views/util/store.vue | 122 ++ src/views/util/table.vue | 129 ++ src/views/util/tags.vue | 27 + src/views/util/test.vue | 21 + src/views/util/top.vue | 28 + src/views/wel/component/Administrator.vue | 27 + src/views/wel/component/clientside.vue | 369 +++++ src/views/wel/dashboard.vue | 156 ++ src/views/wel/index.vue | 27 + src/views/work/claim.vue | 231 +++ src/views/work/done.vue | 207 +++ src/views/work/process/leave/detail.vue | 108 ++ src/views/work/process/leave/form.vue | 103 ++ src/views/work/process/leave/handle.vue | 170 +++ src/views/work/send.vue | 217 +++ src/views/work/start.vue | 243 ++++ src/views/work/todo.vue | 217 +++ vue.config.js | 41 + 328 files changed, 39887 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .postcssrc.js create mode 100644 LICENSE create mode 100644 README.md create mode 100644 babel.config.js create mode 100644 build.sh create mode 100644 package.json create mode 100644 public/cdn/animate/3.5.2/animate.css create mode 100644 public/cdn/avue/2.8.12/avue.min.js create mode 100644 public/cdn/avue/2.8.12/index.css create mode 100644 public/cdn/axios/1.0.0/axios.min.js create mode 100644 public/cdn/element-ui/2.15.1/index.js create mode 100644 public/cdn/element-ui/2.15.1/theme-chalk/fonts/element-icons.ttf create mode 100644 public/cdn/element-ui/2.15.1/theme-chalk/fonts/element-icons.woff create mode 100644 public/cdn/element-ui/2.15.1/theme-chalk/index.css create mode 100644 public/cdn/iconfont/avue/iconfont.css create mode 100644 public/cdn/iconfont/avue/iconfont.eot create mode 100644 public/cdn/iconfont/avue/iconfont.js create mode 100644 public/cdn/iconfont/avue/iconfont.json create mode 100644 public/cdn/iconfont/avue/iconfont.svg create mode 100644 public/cdn/iconfont/avue/iconfont.ttf create mode 100644 public/cdn/iconfont/avue/iconfont.woff create mode 100644 public/cdn/iconfont/avue/iconfont.woff2 create mode 100644 public/cdn/iconfont/index.css create mode 100644 public/cdn/iconfont/saber/iconfont.css create mode 100644 public/cdn/iconfont/saber/iconfont.eot create mode 100644 public/cdn/iconfont/saber/iconfont.js create mode 100644 public/cdn/iconfont/saber/iconfont.json create mode 100644 public/cdn/iconfont/saber/iconfont.svg create mode 100644 public/cdn/iconfont/saber/iconfont.ttf create mode 100644 public/cdn/iconfont/saber/iconfont.woff create mode 100644 public/cdn/iconfont/saber/iconfont.woff2 create mode 100644 public/cdn/vue-router/3.0.1/vue-router.min.js create mode 100644 public/cdn/vue/2.6.10/vue.min.js create mode 100644 public/cdn/vuex/3.1.1/vuex.min.js create mode 100644 public/cdn/xlsx/FileSaver.min.js create mode 100644 public/cdn/xlsx/xlsx.full.min.js create mode 100644 public/favicon.png create mode 100644 public/img/bg/403.svg create mode 100644 public/img/bg/404.svg create mode 100644 public/img/bg/500.svg create mode 100644 public/img/bg/bg.jpg create mode 100644 public/img/bg/bg1.jpg create mode 100644 public/img/bg/bg2.jpg create mode 100644 public/img/bg/bg3.jpg create mode 100644 public/img/bg/bg4.jpg create mode 100644 public/img/bg/cloud.jpg create mode 100644 public/img/bg/img-logo.png create mode 100644 public/img/bg/login.png create mode 100644 public/img/bg/logo.png create mode 100644 public/img/bg/star-squashed.jpg create mode 100644 public/img/bg/vip1.png create mode 100644 public/img/bg/vip2.png create mode 100644 public/img/bg/vip3.png create mode 100644 public/img/bg/vip4.png create mode 100644 public/img/logo.png create mode 100644 public/img/mock/card/card-1.jpg create mode 100644 public/img/mock/card/card-2.jpg create mode 100644 public/img/mock/card/card-3.jpg create mode 100644 public/img/mock/card/card-4.jpg create mode 100644 public/img/mock/cli/1.png create mode 100644 public/img/mock/cli/2.png create mode 100644 public/img/mock/cli/3.png create mode 100644 public/img/mock/iconfont.png create mode 100644 public/index.html create mode 100644 public/svg/loading-spin.svg create mode 100644 public/util/aes.js create mode 100644 public/util/screen/guge.png create mode 100644 public/util/screen/huohu.png create mode 100644 public/util/screen/screen.css create mode 100644 public/util/screen/screen.js create mode 100644 src/App.vue create mode 100644 src/api/base/region.js create mode 100644 src/api/checklog/check.js create mode 100644 src/api/core/bill/dailyBill.js create mode 100644 src/api/core/bill/dayresource.js create mode 100644 src/api/core/bill/monresource.js create mode 100644 src/api/core/bill/monthBill.js create mode 100644 src/api/core/customer/customerApi.js create mode 100644 src/api/core/product/productApi.js create mode 100644 src/api/core/source/sourceApi.js create mode 100644 src/api/customerbill/daily.js create mode 100644 src/api/customerbill/month.js create mode 100644 src/api/dashboard/index.js create mode 100644 src/api/desk/notice.js create mode 100644 src/api/equipment/index.js create mode 100644 src/api/flow/flow.js create mode 100644 src/api/iot/device/device.js create mode 100644 src/api/iot/device/product.js create mode 100644 src/api/iot/device/productTopic.js create mode 100644 src/api/iot/ops/deviceLog.js create mode 100644 src/api/iot/subscribe/consumer.js create mode 100644 src/api/iot/subscribe/subscribe.js create mode 100644 src/api/iot/vendor/aliConfig.js create mode 100644 src/api/iot/vendor/aliConsumer.js create mode 100644 src/api/logs.js create mode 100644 src/api/report/report.js create mode 100644 src/api/resource/attach.js create mode 100644 src/api/resource/oss.js create mode 100644 src/api/resource/sms.js create mode 100644 src/api/sys/index.js create mode 100644 src/api/system/client.js create mode 100644 src/api/system/dept.js create mode 100644 src/api/system/dict.js create mode 100644 src/api/system/dictbiz.js create mode 100644 src/api/system/menu.js create mode 100644 src/api/system/param.js create mode 100644 src/api/system/post.js create mode 100644 src/api/system/price.js create mode 100644 src/api/system/role.js create mode 100644 src/api/system/scope.js create mode 100644 src/api/system/tenant.js create mode 100644 src/api/system/topmenu.js create mode 100644 src/api/system/user.js create mode 100644 src/api/tool/code.js create mode 100644 src/api/tool/datasource.js create mode 100644 src/api/user.js create mode 100644 src/api/work/process.js create mode 100644 src/api/work/work.js create mode 100644 src/assets/shouye.png create mode 100644 src/cache.js create mode 100644 src/components/Bar/index.vue create mode 100644 src/components/Charts/BasicLine.vue create mode 100644 src/components/DatePicker/index.vue create mode 100644 src/components/DescTable/index.vue create mode 100644 src/components/DescriptionsTable/index.vue create mode 100644 src/components/Dialog/index.vue create mode 100644 src/components/Render/index.vue create mode 100644 src/components/basic-block/main.vue create mode 100644 src/components/basic-container/main.vue create mode 100644 src/components/error-page/403.vue create mode 100644 src/components/error-page/404.vue create mode 100644 src/components/error-page/500.vue create mode 100644 src/components/error-page/style.scss create mode 100644 src/components/iframe/main.vue create mode 100644 src/components/third-register/main.vue create mode 100644 src/config/env.js create mode 100644 src/config/iconList.js create mode 100644 src/config/website.js create mode 100644 src/docker/Dockerfile create mode 100644 src/error.js create mode 100644 src/lang/en.js create mode 100644 src/lang/index.js create mode 100644 src/lang/zh.js create mode 100644 src/main.js create mode 100644 src/mixins/color.js create mode 100644 src/mixins/crud.js create mode 100644 src/mock/index.js create mode 100644 src/mock/menu.js create mode 100644 src/mock/oauth.js create mode 100644 src/mock/param.js create mode 100644 src/mock/user.js create mode 100644 src/option/system/dict.js create mode 100644 src/option/system/dictbiz.js create mode 100644 src/option/system/param.js create mode 100644 src/option/user/info.js create mode 100644 src/page/index/index.vue create mode 100644 src/page/index/layout.vue create mode 100644 src/page/index/logo.vue create mode 100644 src/page/index/search.vue create mode 100644 src/page/index/sidebar/config.js create mode 100644 src/page/index/sidebar/index.vue create mode 100644 src/page/index/sidebar/sidebarItem.vue create mode 100644 src/page/index/tags.vue create mode 100644 src/page/index/top/index.vue create mode 100644 src/page/index/top/top-color.vue create mode 100644 src/page/index/top/top-lang.vue create mode 100644 src/page/index/top/top-lock.vue create mode 100644 src/page/index/top/top-logs.vue create mode 100644 src/page/index/top/top-menu.vue create mode 100644 src/page/index/top/top-notice.vue create mode 100644 src/page/index/top/top-search.vue create mode 100644 src/page/index/top/top-theme.vue create mode 100644 src/page/lock/index.vue create mode 100644 src/page/login/authredirect.vue create mode 100644 src/page/login/codelogin.vue create mode 100644 src/page/login/index.vue create mode 100644 src/page/login/thirdlogin.vue create mode 100644 src/page/login/userlogin.vue create mode 100644 src/page/logs/index.vue create mode 100644 src/permission.js create mode 100644 src/router/avue-router.js create mode 100644 src/router/axios.js create mode 100644 src/router/page/index.js create mode 100644 src/router/router.js create mode 100644 src/router/views/index.js create mode 100644 src/store/getters.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/common.js create mode 100644 src/store/modules/dict.js create mode 100644 src/store/modules/logs.js create mode 100644 src/store/modules/tags.js create mode 100644 src/store/modules/user.js create mode 100644 src/styles/animate/vue-transition.scss create mode 100644 src/styles/common.scss create mode 100644 src/styles/element-ui.scss create mode 100644 src/styles/login.scss create mode 100644 src/styles/media.scss create mode 100644 src/styles/mixin.scss create mode 100644 src/styles/normalize.scss create mode 100644 src/styles/sidebar.scss create mode 100644 src/styles/tags.scss create mode 100644 src/styles/theme/bule.scss create mode 100644 src/styles/theme/cool.scss create mode 100644 src/styles/theme/d2.scss create mode 100644 src/styles/theme/dark.scss create mode 100644 src/styles/theme/hey.scss create mode 100644 src/styles/theme/index.scss create mode 100644 src/styles/theme/iview.scss create mode 100644 src/styles/theme/lte.scss create mode 100644 src/styles/theme/star.scss create mode 100644 src/styles/theme/vip.scss create mode 100644 src/styles/theme/white.scss create mode 100644 src/styles/top.scss create mode 100644 src/styles/variables.scss create mode 100644 src/util/admin.js create mode 100644 src/util/auth.js create mode 100644 src/util/crypto.js create mode 100644 src/util/date.js create mode 100644 src/util/download.js create mode 100644 src/util/enum.js create mode 100644 src/util/flow.js create mode 100644 src/util/func.js create mode 100644 src/util/store.js create mode 100644 src/util/util.js create mode 100644 src/util/validate.js create mode 100644 src/views/authority/apiscope.vue create mode 100644 src/views/authority/datascope.vue create mode 100644 src/views/authority/role.vue create mode 100644 src/views/base/region.vue create mode 100644 src/views/bill/components/check/index.vue create mode 100644 src/views/bill/components/checklist/index.vue create mode 100644 src/views/bill/daily.vue create mode 100644 src/views/bill/monthlybill.vue create mode 100644 src/views/bill/sourcedaily.vue create mode 100644 src/views/bill/sourcemonthlybill.vue create mode 100644 src/views/bizLog/checkLog/check.vue create mode 100644 src/views/customer/api.vue create mode 100644 src/views/customer/component/cache.vue create mode 100644 src/views/customer/component/change.vue create mode 100644 src/views/customer/component/option.vue create mode 100644 src/views/customer/index.vue create mode 100644 src/views/customerApi/index.vue create mode 100644 src/views/customerBill/daily.vue create mode 100644 src/views/customerBill/month.vue create mode 100644 src/views/desk/notice.vue create mode 100644 src/views/equipment/index.vue create mode 100644 src/views/flow/deploy.vue create mode 100644 src/views/flow/follow.vue create mode 100644 src/views/flow/manager.vue create mode 100644 src/views/flow/model.vue create mode 100644 src/views/iot/components/ConsumerDetail/Client.vue create mode 100644 src/views/iot/components/ConsumerDetail/Infos.vue create mode 100644 src/views/iot/components/ConsumerDetail/Product.vue create mode 100644 src/views/iot/components/ConsumerDetail/index.vue create mode 100644 src/views/iot/components/DeviceDetail/Infos.vue create mode 100644 src/views/iot/components/DeviceDetail/Topic.vue create mode 100644 src/views/iot/components/DeviceDetail/index.vue create mode 100644 src/views/iot/components/ProductDetail/Infos.vue create mode 100644 src/views/iot/components/ProductDetail/Server.vue create mode 100644 src/views/iot/components/ProductDetail/Topic.vue create mode 100644 src/views/iot/components/ProductDetail/index.vue create mode 100644 src/views/iot/device.vue create mode 100644 src/views/iot/ops/deviceLog.vue create mode 100644 src/views/iot/product.vue create mode 100644 src/views/iot/product/topic.vue create mode 100644 src/views/iot/server/consumer.vue create mode 100644 src/views/iot/server/subscribe.vue create mode 100644 src/views/iot/vendor/ali/config.vue create mode 100644 src/views/iot/vendor/ali/consumer.vue create mode 100644 src/views/monitor/log/api.vue create mode 100644 src/views/monitor/log/error.vue create mode 100644 src/views/monitor/log/usual.vue create mode 100644 src/views/product/api.vue create mode 100644 src/views/report/reportlist.vue create mode 100644 src/views/resource/attach.vue create mode 100644 src/views/resource/oss.vue create mode 100644 src/views/resource/sms.vue create mode 100644 src/views/source/api.vue create mode 100644 src/views/sys/index.vue create mode 100644 src/views/system/client.vue create mode 100644 src/views/system/dept.vue create mode 100644 src/views/system/dict.vue create mode 100644 src/views/system/dictbiz.vue create mode 100644 src/views/system/menu.vue create mode 100644 src/views/system/param.vue create mode 100644 src/views/system/post.vue create mode 100644 src/views/system/tenant.vue create mode 100644 src/views/system/topmenu.vue create mode 100644 src/views/system/user.vue create mode 100644 src/views/system/userinfo.vue create mode 100644 src/views/test.vue create mode 100644 src/views/tool/code.vue create mode 100644 src/views/tool/datasource.vue create mode 100644 src/views/util/affix.vue create mode 100644 src/views/util/cache.vue create mode 100644 src/views/util/crud-form.vue create mode 100644 src/views/util/data.vue create mode 100644 src/views/util/demo/dict-classic.vue create mode 100644 src/views/util/demo/dict-horizontal.vue create mode 100644 src/views/util/demo/dict-vertical.vue create mode 100644 src/views/util/demo/dict.vue create mode 100644 src/views/util/demo/dictbiz.vue create mode 100644 src/views/util/form-detail.vue create mode 100644 src/views/util/form.vue create mode 100644 src/views/util/logs.vue create mode 100644 src/views/util/permission.vue create mode 100644 src/views/util/store.vue create mode 100644 src/views/util/table.vue create mode 100644 src/views/util/tags.vue create mode 100644 src/views/util/test.vue create mode 100644 src/views/util/top.vue create mode 100644 src/views/wel/component/Administrator.vue create mode 100644 src/views/wel/component/clientside.vue create mode 100644 src/views/wel/dashboard.vue create mode 100644 src/views/wel/index.vue create mode 100644 src/views/work/claim.vue create mode 100644 src/views/work/done.vue create mode 100644 src/views/work/process/leave/detail.vue create mode 100644 src/views/work/process/leave/form.vue create mode 100644 src/views/work/process/leave/handle.vue create mode 100644 src/views/work/send.vue create mode 100644 src/views/work/start.vue create mode 100644 src/views/work/todo.vue create mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..bd3ad98 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not ie <= 8 \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7e3649a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..20034fd --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,17 @@ +module.exports = { + root: true, + env: { + node: true + }, + 'extends': [ + 'plugin:vue/essential', + 'eslint:recommended' + ], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' + }, + parserOptions: { + parser: 'babel-eslint' + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..07c8fe4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +.DS_Store +node_modules +/dist + +/tests/e2e/videos/ +/tests/e2e/screenshots/ + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* +*.lock diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000..100cc01 --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..cd712f3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,34 @@ +BladeX商业授权许可协议 + +一、 知识产权: +BladeX系列产品知识产权归上海布雷德网络科技独立所有 + +二、 许可: +1. 在您完全接受并遵守本协议的基础上,本协议授予您使用BladeX的某些权利和非独占性许可。 +2. 本协议中,将本产品使用用途分为“专业版用途”和“企业版用途”。 +3. “专业版用途”定义:指个人在非团体机构中出于任何目的使用本产品(任何目的包括商业目的或非盈利目的)。 +4. “企业版用途”定义:指团体机构(例如公司企业、政府、学校、军队、医院、社会团体等各类组织)(不包含集团,若集团使用则需为各个子公司分别购买企业授权)出于任何目的使用本产品(任何目的包括商业目的或非盈利目的)。 + +三、 约束和限制: +1. 本产品只能由您为本协议许可的目的而使用,您不得透露给任何第三方; +2. 从本产品取得的任何信息、软件、产品或服务,您不得对其进行修改、改编或基于以上内容创建同种类别的衍生产品并售卖。 +3. 您不得对本产品以及与之关联的商业授权进行发布、出租、销售、分销、抵押、转让、许可或发放子许可证。 +4. 本产品商业授权版可能包含一些独立功能或特性,这些功能只有在您购买商业授权后才可以使用。在未取得商业授权的情况下,您不得使用、尝试使用或复制这些授权版独立功能。 +5. 若您的客户要求以源码方式交付软件,需缴纳企业版授权费用,否则本产品部分不得提供源码。 + +四、 不得用于非法或禁止的用途: +您在使用本产品或服务时,不得将本产品产品或服务用于任何非法用途或本协议条款、条件和声明禁止的用途。 + +五、 免责说明: +1. 本产品按“现状”授予许可,您须自行承担使用本产品的风险。BladeX团队不对此提供任何明示、暗示或任何其它形式的担保和表示。在任何情况下,对于因使用或无法使用本软件而导致的任何损失(包括但不仅限于商业利润损失、业务中断或业务信息丢失),BladeX团队无需向您或任何第三方负责,即使BladeX团队已被告知可能会造成此类损失。在任何情况下, BladeX团队均不就任何直接的、间接的、附带的、后果性的、特别的、惩戒性的和处罚性的损害赔偿承担任何责任,无论该主张是基于保证、合同、侵权(包括疏忽)或是基于其他原因作出。 +2. 本产品可能内置有第三方服务,您应自行评估使用这些第三方服务的风险,由使用此类第三方服务而产生的纠纷,全部责任由您自行承担。 +3. BladeX团队不对使用本产品构建的网站中任何信息内容以及导致的任何版权纠纷、法律争议和后果承担任何责任,全部责任由您自行承担。 +4. BladeX团队可能会经常提供产品更新或升级,但BladeX团队没有为根据本协议许可的产品提供维护或更新的责任。 +5. BladeX团队可能会按照官方制定的答疑规则为您进行答疑,但BladeX团队没有为根据本协议许可的产品提供技术支持的义务或责任。 + +六、 权利和所有权的保留: +BladeX团队保留所有未在本协议中明确授予您的所有权利。BladeX团队保留随时更新本协议的权利,并只需公示于对应产品项目的LICENSE文件,无需征得您的事先同意且无需另行通知,更新后的内容应于公示即时生效。您可以随时访问产品地址并查阅最新版许可条款,在更新生效后您继续使用本产品则被视作您已接受了新的条款。 + +七、 协议终止 +1. 您一旦开始复制、下载、安装或者使用本产品,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的许可权力同时,也受到相关的约束和限制,本协议许可范围以外的行为,将直接违反本协议并构成侵权。 +2. 一旦您违反本协议的条款,BladeX团队随时可能终止本协议、收回许可和授权,并要求您承担相应法律和经济责任。 diff --git a/README.md b/README.md new file mode 100644 index 0000000..28c6ef8 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +## 版权声明 +* BladeX是一个商业化软件,系列产品知识产权归**上海布雷德网络科技**独立所有 +* 您一旦开始复制、下载、安装或者使用本产品,即被视为完全理解并接受本协议的各项条款 +* 更多详情请看:[BladeX商业授权许可协议](/LICENSE) + +## 答疑流程 +>1. 遇到问题或Bug +>2. 业务型问题打断点调试尝试找出问题所在 +>3. 系统型问题通过百度、谷歌、社区查找解决方案 +>4. 未解决问题则进入技术社区进行发帖提问:[https://sns.bladex.vip/](https://sns.bladex.vip/) +>5. 将帖子地址发至商业群,特别简单三言两语就能描述清楚的也可在答疑时间内发至商业群提问 +>6. 发帖的时候一定要描述清楚,详细描述遇到问题的**重现步骤**、**报错详细信息**、**相关代码与逻辑**、**使用软件版本**以及**操作系统版本**,否则随意发帖提问将会提高我们的答疑难度。 + +## 答疑时间 +* 工作日:9:00 ~ 17:00 提供答疑,周末、节假日休息,暂停答疑 +* 请勿**私聊提问**,以免被其他用户的消息覆盖从而无法获得答疑 +* 答疑时间外遇到问题可以将问题发帖至[技术社区](https://sns.bladex.vip/),我们后续会逐个回复 + +## 授权范围 +* 专业版:只可用于**个人学习**及**个人私活**项目,不可用于公司或团队,不可泄露给任何第三方 +* 企业版:可用于**企业名下**的任何项目,企业版员工在**未购买**专业版授权前,只授权开发**所在授权企业名下**的项目,**不得将BladeX用于个人私活** +* 共同遵守:若甲方需要您提供项目源码,则需代为甲方购买BladeX企业授权,甲方购买后续的所有项目都无需再次购买授权 + +## 商用权益 +* ✔️ 遵守[商业协议](/LICENSE)的前提下,将BladeX系列产品用于授权范围内的商用项目,并上线运营 +* ✔️ 遵守[商业协议](/LICENSE)的前提下,不限制项目数,不限制服务器数 +* ✔️ 遵守[商业协议](/LICENSE)的前提下,将自行编写的业务代码申请软件著作权 + +## 何为侵权 +* ❌ 不遵守商业协议,私自销售商业源码 +* ❌ 以任何理由将BladeX源码用于申请软件著作权 +* ❌ 将商业源码以任何途径任何理由泄露给未授权的单位或个人 +* ❌ 开发完毕项目,没有为甲方购买企业授权,向甲方提供了BladeX代码 +* ❌ 基于BladeX拓展研发与BladeX有竞争关系的衍生框架,并将其开源或销售 + +## 侵权后果 +* 情节较轻:第一次发现警告处理 +* 情节较重:封禁账号,踢出商业群,并保留追究法律责任的权利 +* 情节严重:与本地律师事务所合作,以公司名义起诉侵犯计算机软件著作权 + +## 举报有奖 +* 向官方提供有用线索并成功捣毁盗版个人或窝点,将会看成果给予 500~10000 不等的现金奖励 +* 官方唯一指定QQ:1272154962 diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..b89d655 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/app' + ] +} \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..0886879 --- /dev/null +++ b/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +echo "====================打包文件====================" +yarn build +echo "====================传输文件====================" + +scp -P 22 -r ./dist/** root@192.168.0.157:/docker/nginx/web/html + +echo "====================部署完毕====================" diff --git a/package.json b/package.json new file mode 100644 index 0000000..0e606c0 --- /dev/null +++ b/package.json @@ -0,0 +1,59 @@ +{ + "name": "saber-admin", + "version": "2.8.1", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test": "vue-cli-service build --mode test", + "lint": "vue-cli-service lint", + "analyz": "npm_config_report=true npm run build", + "test:unit": "vue-cli-service test:unit", + "test:e2e": "vue-cli-service test:e2e" + }, + "dependencies": { + "@antv/g2": "^4.1.30", + "avue-plugin-ueditor": "^0.1.4", + "axios": "^0.18.0", + "babel-polyfill": "^6.26.0", + "classlist-polyfill": "^1.2.0", + "clipboard": "^2.0.10", + "crypto-js": "^4.0.0", + "dayjs": "^1.10.7", + "element-ui": "^2.15.6", + "js-base64": "^2.5.1", + "js-cookie": "^2.2.0", + "js-md5": "^0.7.3", + "mockjs": "^1.0.1-beta3", + "node-gyp": "^5.0.6", + "nprogress": "^0.2.0", + "portfinder": "^1.0.23", + "script-loader": "^0.7.2", + "vue": "^2.6.10", + "vue-axios": "^2.1.2", + "vue-i18n": "^8.7.0", + "vue-router": "^3.0.1", + "vuex": "^3.1.1" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^3.1.1", + "@vue/cli-plugin-eslint": "^3.1.5", + "@vue/cli-service": "^3.1.4", + "chai": "^4.1.2", + "mathjs": "^10.1.1", + "node-sass": "^6.0.1", + "sass-loader": "^10.1.1", + "vue-template-compiler": "^2.5.17", + "webpack-bundle-analyzer": "^3.0.3" + }, + "lint-staged": { + "*.js": [ + "vue-cli-service lint", + "git add" + ], + "*.vue": [ + "vue-cli-service lint", + "git add" + ] + } +} diff --git a/public/cdn/animate/3.5.2/animate.css b/public/cdn/animate/3.5.2/animate.css new file mode 100644 index 0000000..b6f6129 --- /dev/null +++ b/public/cdn/animate/3.5.2/animate.css @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.5.1 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2016 Daniel Eden + */ + +.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/public/cdn/avue/2.8.12/avue.min.js b/public/cdn/avue/2.8.12/avue.min.js new file mode 100644 index 0000000..e5c464c --- /dev/null +++ b/public/cdn/avue/2.8.12/avue.min.js @@ -0,0 +1,9 @@ +/*! + * Avue.js v2.8.12 + * (c) 2017-2021 Smallwei + * Released under the MIT License. + * + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("AVUE",[],e):"object"==typeof exports?exports.AVUE=e():t.AVUE=e()}(this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=39)}([function(t,e,n){"use strict";function i(t,e,n,i,o,a,r,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):o&&(l=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return i}))},function(t,e,n){"use strict";var i=function(t,e,n){return e?t+n+e:t},o=function t(e,n){if("string"==typeof n)return i(e,n,"--");if(Array.isArray(n))return n.map((function(n){return t(e,n)}));var o={};return Object.keys(n||{}).forEach((function(t){o[e+"--"+t]=n[t]})),o},a={methods:{b:function(t,e){var n=this.$options.name;return t&&"string"!=typeof t&&(e=t,t=""),t=i(n,t,"__"),e?[t,o(t,e)]:t}}},r=n(3);e.a=function(t){return t.name=r.i+(t.name||""),t.mixins=t.mixins||[],t.mixins.push(a),t}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"r",(function(){return hasOwn})),__webpack_require__.d(__webpack_exports__,"n",(function(){return getFixed})),__webpack_require__.d(__webpack_exports__,"m",(function(){return getAsVal})),__webpack_require__.d(__webpack_exports__,"t",(function(){return loadScript})),__webpack_require__.d(__webpack_exports__,"h",(function(){return downFile})),__webpack_require__.d(__webpack_exports__,"y",(function(){return strCorNum})),__webpack_require__.d(__webpack_exports__,"c",(function(){return createObj})),__webpack_require__.d(__webpack_exports__,"v",(function(){return setAsVal})),__webpack_require__.d(__webpack_exports__,"d",(function(){return dataURLtoFile})),__webpack_require__.d(__webpack_exports__,"l",(function(){return findObject})),__webpack_require__.d(__webpack_exports__,"u",(function(){return randomId})),__webpack_require__.d(__webpack_exports__,"s",(function(){return isJson})),__webpack_require__.d(__webpack_exports__,"e",(function(){return deepClone})),__webpack_require__.d(__webpack_exports__,"x",(function(){return sortArrys})),__webpack_require__.d(__webpack_exports__,"w",(function(){return setPx})),__webpack_require__.d(__webpack_exports__,"f",(function(){return detailDataType})),__webpack_require__.d(__webpack_exports__,"q",(function(){return getUrlParams})),__webpack_require__.d(__webpack_exports__,"g",(function(){return detailDic})),__webpack_require__.d(__webpack_exports__,"k",(function(){return findByValue})),__webpack_require__.d(__webpack_exports__,"i",(function(){return filterDefaultParams})),__webpack_require__.d(__webpack_exports__,"o",(function(){return getObjValue})),__webpack_require__.d(__webpack_exports__,"j",(function(){return findArray})),__webpack_require__.d(__webpack_exports__,"p",(function(){return getPasswordChar})),__webpack_require__.d(__webpack_exports__,"a",(function(){return arraySort})),__webpack_require__.d(__webpack_exports__,"b",(function(){return clearVal})),__webpack_require__.d(__webpack_exports__,"z",(function(){return vaildData}));var _validate__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4),global_variable__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(t,e){return hasOwnProperty.call(t,e)}function getFixed(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(t.toFixed(e))}function getAsVal(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=deepClone(t);return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(e)||e.split(".").forEach((function(t){n=Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(n[t])?"":n[t]})),n}var loadScript=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"js",e=arguments.length>1?arguments[1]:void 0,n=!1;return new Promise((function(i){var o,a=document.getElementsByTagName("head")[0];(a.children.forEach((function(t){-1!==(t.src||"").indexOf(e)&&(n=!0,i())})),n)||("js"===t?((o=document.createElement("script")).type="text/javascript",o.src=e):"css"===t&&((o=document.createElement("link")).rel="stylesheet",o.type="text/css",o.href=e),a.appendChild(o),o.onload=function(){i()})}))};function downFile(t,e){"object"==_typeof(t)&&t instanceof Blob&&(t=URL.createObjectURL(t));var n,i=document.createElement("a");i.href=t,i.download=e||"",window.MouseEvent?n=new MouseEvent("click"):(n=document.createEvent("MouseEvents")).initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(n)}function strCorNum(t){return t.forEach((function(e,n){t[n]=Number(e)})),t}function extend(){var t,e,n,i,o=arguments[0]||{},a=!1,r=Array.prototype.slice.call(arguments),s=1,l=!1;for("boolean"==typeof o&&(a=o,s++,o=arguments[1]);s=2){var a="";n.forEach((function(t){a="".concat(a).concat("{",'"').concat(t,'":')})),a="".concat(a,'""');for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"",value=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return eval("obj."+bind+'="'+value+'"'),obj}function dataURLtoFile(t,e){for(var n=t.split(","),i=n[0].match(/:(.*?);/)[1],o=atob(n[1]),a=o.length,r=new Uint8Array(a);a--;)r[a]=o.charCodeAt(a);return new File([r],e,{type:i})}function findObject(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"prop",i=-1,o=function(){var e;return t.forEach((function(t){t.column?e="group":t.children&&(e="tree")})),e}();return"group"===o?t.forEach((function(t){var o=findArray(t.column,e,n,!0);-1!==o&&(i=o)})):i="tree"===o?findLabelNode(t,e,{value:n},!0):findArray(t,e,n,!0),i}function randomId(){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",e=t.length,n="",i=0;i<16;i++)n+=t.charAt(Math.floor(Math.random()*e));return n}var getObjType=function(t){var e=Object.prototype.toString;return t instanceof Element?"element":{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"}[e.call(t)]},isJson=function(t){return Array.isArray(t)?t[0]instanceof Object:t instanceof Object},deepClone=function t(e){var n,i=getObjType(e);if("array"===i)n=[];else{if("object"!==i)return e;n={}}if("array"===i)for(var o=0,a=e.length;on[e]?-1:t[e]1&&void 0!==arguments[1]?arguments[1]:"";return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t)&&(t=e),Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t)?"":(-1===(t+="").indexOf("%")&&(t+="px"),t)},detailDataType=function(t,e){return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t)?t:"number"===e?Number(t):"string"===e?t+"":t},getUrlParams=function(t){var e={url:"",params:{}},n=t.split("?");e.url=n[0];var i=n[1];i&&i.split("&").forEach((function(t){var n=t.split("="),i=n[0],o=n[1];e.params[i]=o}));return e},detailDic=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,o=n.value||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.value,a=n.children||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.children;return e.forEach((function(e){e[o]=detailDataType(e[o],i),e[a]&&t(e[a],n,i)})),e},findByValue=function(t,e,n,i,o){if(Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t))return e;var a="";if(n=n||global_variable__WEBPACK_IMPORTED_MODULE_1__.e,e instanceof Array){a=[];for(var r=0;r1&&void 0!==arguments[1])||arguments[1],n=deepClone(t);if(e)return n;for(var i in n)(-1!==i.indexOf("$")||Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(n[i]))&&delete n[i];return n},detailDicGroup=function(t){t=deepClone(t);var e=[];return(t[0]||{}).groups?(t.forEach((function(t){t.groups&&(e=e.concat(t.groups))})),e):t},findLabelNode=function(t,e,n,i){var o;i||(t=detailDicGroup(t));return function t(e,n,a){for(var r=a.label||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.label,s=a.value||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.value,l=a.children||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.children,c=0;c1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=e.split("."),o=t;return""===i[0]&&"object"!==n?getDeepData(t):(""!==i[0]&&i.forEach((function(t){o=o[t]})),o)},findArrayLabel=function(t,e,n){t=detailDicGroup(t);for(var i=n.value||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.value,o=n.label||global_variable__WEBPACK_IMPORTED_MODULE_1__.e.label,a=0;a0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0,n=t.toString().length;t="";for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return t.filter((function(t){return!Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t[e])})).sort((function(t,e){return n(t,e)})).concat(t.filter((function(t){return Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t[e])})))},clearVal=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t?(Object.keys(t).forEach((function(n){if(!e.includes(n)&&!Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t[n])){var i=getObjType(t[n]);"array"===i?t[n]=[]:"object"===i?t[n]={}:["number","boolean"].includes(i)?t[n]=void 0:t[n]=""}})),t):{}},vaildData=function(t,e){return"boolean"==typeof t?t:Object(_validate__WEBPACK_IMPORTED_MODULE_0__.b)(t)?e:t}},function(t,e,n){"use strict";n.d(e,"i",(function(){return i})),n.d(e,"j",(function(){return o})),n.d(e,"e",(function(){return a})),n.d(e,"d",(function(){return r})),n.d(e,"c",(function(){return s})),n.d(e,"h",(function(){return l})),n.d(e,"a",(function(){return c})),n.d(e,"k",(function(){return u})),n.d(e,"b",(function(){return d})),n.d(e,"l",(function(){return p})),n.d(e,"f",(function(){return h})),n.d(e,"g",(function(){return f}));var i="avue-",o="echart-",a={nodeKey:"id",label:"label",value:"value",desc:"desc",groups:"groups",title:"title",leaf:"leaf",children:"children",labelText:"名称",disabled:"disabled"},r={name:"name",url:"url",fileName:"file",res:""},s=["dates","date","datetime","datetimerange","daterange","time","timerange","week","month","monthrange","year"],l=["tree","number","icon","color","table","map"],c=["img","array","url"],u=["tree","select"],d=c.concat(["upload","dynamic","map","checkbox","cascader","dynamic","timerange","monthrange","daterange","datetimerange","dates"]),p=s.concat(["select","checkbox","radio","cascader","tree","color","icon","table","map"]),h=" | ",f=","},function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"a",(function(){return s}));var i=n(25),o=n.n(i),a=n(2);function r(t){if(t&&0===parseInt(t))return!1;if(t instanceof Date||"boolean"==typeof t||"number"==typeof t)return!1;if(!(t instanceof Array)){if(t instanceof Object){for(var e in t=Object(a.e)(t),["$parent"].forEach((function(e){delete t[e]})),t)return!1;return!0}return"null"===t||null==t||"undefined"===t||void 0===t||""===t}return 0===t.length}var s=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){new o.a(t).validate(e,n,(function(t){t?a(t):i()}))}))}},function(t,e,n){"use strict";var i=n(17),o={AliOSS:{url:"https://avuex.avue.top/cdn/aliyun-oss-sdk.min.js",title:"阿里云云图片上传,需要引入OSS的sdk",version:"6.1.0",github:"https://github.com/ali-sdk/ali-oss/"},echarts:{url:"https://cdn.staticfile.org/echarts/4.2.1-rc1/echarts.min.js",title:"图表组件,需要引echart",version:"4.2.1-rc1",github:"https://github.com/apache/incubator-echarts"},Map:{url:"https://webapi.amap.com/maps?v=1.4.11&key=xxxxx&plugin=AMap.PlaceSearch,https://webapi.amap.com/ui/1.0/main.js?v=1.0.11",title:"地图组件,需要引高德SDK",version:"1.4.11"},MapUi:{url:"https://webapi.amap.com/ui/1.0/main.js?v=1.0.11",title:"地图组件,需要引高德UISDK",version:"1.0.11"},Sortable:{url:"https://cdn.staticfile.org/Sortable/1.10.0-rc2/Sortable.min.js",title:"表格拖拽,需要引sortableJs",version:"1.10.0-rc2",github:"https://github.com/SortableJS/Sortable"},Screenshot:{url:"https://cdn.staticfile.org/html2canvas/0.5.0-beta4/html2canvas.min.js",title:"需要引入html2canvas依赖包",version:"0.5.0-beta4",github:"https://github.com/niklasvh/html2canvas/"},CryptoJS:{url:"https://avuejs.com/cdn/CryptoJS.js",title:"七牛云图片上传,需要引入CryptoJS",version:"3.1.2"},"ant-design-vue":{url:"",title:"需要引入ant-design-vue框架包",version:"1.3.14",github:"https://github.com/vueComponent/ant-design-vue"},"element-ui":{url:"https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.12.0/index.js",title:"需要引入Element-ui框架包",version:"2.11.0",github:"https://github.com/ElemeFE/element"},hljs:{url:"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js",title:"需要引入hljs框架包",version:"9.15.6",github:"https://github.com/highlightjs/highlight.js"},vant:{url:"https://cdn.jsdelivr.net/npm/vant@1.6/lib/vant.min.js",title:"需要引入Vant框架包",version:"1.6",github:"https://github.com/youzan/vant"},"file-saver":{url:"https://cdn.staticfile.org/FileSaver.js/2014-11-29/FileSaver.min.js",title:"需要引入文件操作包",version:"2014-11-29",github:"https://github.com/eligrey/FileSaver.js"},xlsx:{url:"https://avuejs.com/cdn/xlsx.full.min.js",title:"需要引入excel操作包",version:"0.8.3",github:"https://github.com/protobi/js-xlsx/tree/beta"},mock:{url:"https://cdn.staticfile.org/Mock.js/1.0.1-beta3/mock-min.js",title:"需要引入mock模拟数据包",version:"1.0.1-beta3",github:"https://github.com/Colingo/mock"},axios:{title:"需要引入axios发送数据包",url:"https://cdn.staticfile.org/axios/0.19.0-beta.1/axios.js",version:"0.19.0-beta.1",github:"https://github.com/axios/axios"}};e.a={logs:function(t){var e=o[t];i.a.capsule(t,e.title,"warning"),i.a.warning("版本:"+(e.version||"-")),i.a.warning("CDN:"+(e.url||"-")),i.a.warning("GITHUB:"+(e.github||"-"))}}},function(t,e,n){"use strict";e.a={defaultColumn:[{label:"隐藏",prop:"hide"},{label:"冻结",prop:"fixed"},{label:"过滤",prop:"filters"},{label:"筛选",prop:"screen"},{label:"排序",prop:"sortable"},{label:"顺序",prop:"order"},{label:"宽度",prop:"width",width:"auto"}],clientHeight:document.documentElement.clientHeight,menuWidth:240,menuFixed:"right",menuXsWidth:100,menuAlign:"center",menuHeaderAlign:"center",headerAlign:"left",cancelBtnIcon:"el-icon-circle-close",viewBtnIcon:"el-icon-view",editBtnIcon:"el-icon-edit",copyBtnIcon:"el-icon-document-add",addBtnIcon:"el-icon-plus",printBtnIcon:"el-icon-printer",excelBtnIcon:"el-icon-download",delBtnIcon:"el-icon-delete",searchBtnIcon:"el-icon-search",emptyBtnIcon:"el-icon-delete",saveBtnIcon:"el-icon-circle-plus-outline",updateBtnIcon:"el-icon-circle-check",columnBtnIcon:"el-icon-s-operation",filterBtnIcon:"el-icon-tickets",refreshBtnIcon:"el-icon-refresh",viewBtn:!1,editBtn:!0,copyBtn:!1,cancelBtn:!0,addBtn:!0,addRowBtn:!1,printBtn:!1,excelBtn:!1,delBtn:!0,cellBtn:!1,dateBtn:!1,updateBtn:!0,saveBtn:!0,refreshBtn:!0,columnBtn:!0,filterBtn:!1,queryBtn:!0,menuBtn:!1,searchBtn:!0,clearBtn:!0,selectClearBtn:!0,searchShow:!0,tip:!0,dialogTop:"100",dialogHeight:"auto",dialogWidth:"60%",dialogDrag:!1,formFullscreen:!1,customClass:"",pageBackground:!0,simplePage:!1,page:!0,menu:!0,indexLabel:"#",indexWidth:50,indexFixed:"left",selectionWidth:50,selectionFixed:"left",expandWidth:60,expandFixed:"left",filterMultiple:!0,calcHeight:300,title:"表格标题",width:"100%",searchGutter:20,searchLabelWidth:80,searchSpan:6,dropRowClass:".el-table__body-wrapper > table > tbody",dropColClass:".el-table__header-wrapper tr",ghostClass:"avue-crud__ghost"}},function(t,e,n){"use strict";var i=n(14);e.a={methods:{t:function(){for(var t=arguments.length,e=new Array(t),n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:[];return t.forEach((function(e,n){if(!Object(i.b)(e.cascaderItem)){var o=s(e.cascaderItem),r=e.prop;t[n].cascader=s(o),o.forEach((function(e,n){var i=Object(a.l)(t,e);-1!==i&&(i.parentProp=r,i.cascader=s(o).splice(n+1),r=i.prop)}))}})),t},u=0,d=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n&&(u=0);var i=24;return(u=u+(t.span||e)+(t.offset||0))===i?u=0:u>i?u=0+(t.span||e)+(t.offset||0):t.row&&u!==i&&(t.count=i-u,u=0),t},p=function(t,e,n){var r=e.type,s=e.multiple,l=e.dataType,c=e.separator,u=void 0===c?o.g:c,d=e.alone,p=t;return o.k.includes(r)&&s||o.b.includes(r)?(Array.isArray(p)?n&&n(!1):Object(i.b)(p)?p=[]:(p=(p+"").split(u)||[],n&&n(!0)),p.forEach((function(t,e){p[e]=Object(a.f)(t,l)})),o.a.includes(r)&&Object(i.b)(p)&&d&&(p=[""])):p=Object(a.f)(p,l),p},h=function(t){var e=t.type,n=t.searchRange,i=e;if(["radio","checkbox","switch"].includes(e))i="select";else if(o.c.includes(e)){i=n?e.includes("range")?e:e+"range":e.replace("range","")}else["textarea"].includes(e)&&(i="input");return i},f=function(t,e){var n=t||"input";return Object(i.b)(e)?(o.a.includes(t)?n="array":["time","timerange"].includes(t)?n="time":o.c.includes(t)?n="date":["password","textarea","search"].includes(t)?n="input":o.h.includes(t)&&(n="input-"+t),o.i+n):e},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e={};return t.forEach((function(t){o.b.includes(t.type)||o.k.includes(t.type)&&t.multiple||t.range||"array"===t.dataType?e[t.prop]=[]:["rate","slider","number"].includes(t.type)||"number"===t.dataType?e[t.prop]=void 0:e[t.prop]="",t.bind&&(e=Object(a.c)(e,t.bind)),Object(i.b)(t.value)||(e[t.prop]=t.value)})),{tableForm:e}},b=function(t,e){var n=t.placeholder,a=t.label;if("search"===e){var s=t.searchPlaceholder;return Object(i.b)(s)?a:s}return Object(i.b)(n)?o.l.includes(t.type)?"".concat(Object(r.b)("tip.select")," ").concat(a):"".concat(Object(r.b)("tip.input")," ").concat(a):n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(t){for(var e=1;e=r)return t;switch(t){case"%s":return String(e[i++]);case"%d":return Number(e[i++]);case"%j":try{return JSON.stringify(e[i++])}catch(t){return"[Circular]"}break;default:return t}})),l=e[i];i=e?t:""+Array(e+1-i.length).join(n)+t},f={s:h,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),o=n%60;return(e<=0?"+":"-")+h(i,2,"0")+":"+h(o,2,"0")},m:function t(e,n){if(e.date()0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length,n=new Array(e>1?e-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"D",n={F:"Form",H:"Header",E:"Error",L:"Label",S:"Search",T:"Type",D:""};return t.prop+n[e]},getSlotList:function(){var t=this;this.slotList={},Object.keys(this.$scopedSlots).forEach((function(e){t.$set(t.slotList,e,!0)}))}}}},function(t,e,n){"use strict";var i,o=n(8);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r={name:"form-temp",mixins:[n(15).a],props:(i={value:{},uploadBefore:Function,uploadDelete:Function,uploadAfter:Function,uploadPreview:Function,uploadError:Function,uploadExceed:Function,columnSlot:{type:Array,default:function(){return[]}},props:{type:Object},clearable:{type:Boolean},enter:{type:Boolean,default:!1},type:{type:String},propsHttp:{type:Object,default:function(){return{}}}},a(i,"props",{type:Object}),a(i,"dic",{type:Array}),a(i,"placeholder",{type:String}),a(i,"size",{type:String}),a(i,"disabled",{type:Boolean}),a(i,"readonly",{type:Boolean}),a(i,"column",{type:Object,default:function(){return{}}}),i),data:function(){return{first:!1,text:void 0}},computed:{params:function(){return this.column.params||{}},event:function(){return this.column.event||{}}},watch:{text:{handler:function(t){this.first||!this.validatenull(t)?(this.first=!0,this.$emit("input",t),this.$emit("change",t)):this.first=!0}},value:{handler:function(t){this.text=t},immediate:!0}},methods:{getComponent:o.e,getPlaceholder:o.f,enterChange:function(){this.enter&&this.$emit("enter")}}},s=n(0),l=Object(s.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(t.getComponent(t.column.type,t.column.component),t._g(t._b({ref:"temp",tag:"component",attrs:{column:Object.assign(t.column,t.params),dic:t.dic,disabled:t.column.disabled||t.disabled,readonly:t.column.readonly||t.readonly,placeholder:t.getPlaceholder(t.column),props:t.column.props||t.props,propsHttp:t.column.propsHttp||t.propsHttp,size:t.column.size||t.size,type:t.type||t.column.type,"column-slot":t.columnSlot},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.enterChange(e)}},scopedSlots:t._u([t._l(t.$scopedSlots[t.getSlotName(t.column,"T")]?[t.column]:[],(function(e){return{key:"default",fn:function(n){return[t._t(t.getSlotName(e,"T"),null,null,n)]}}})),t._l(t.columnSlot,(function(e){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,null,n)]}}}))],null,!0),model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},"component",Object.assign(t.column,t.$uploadFun(t.column)),!1),t.event),[t.params.html?n("span",{domProps:{innerHTML:t._s(t.params.html)}}):t._e()])}),[],!1,null,null,null);e.a=l.exports},function(t,e,n){"use strict";function i(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:"default",e="";switch(t){case"default":e="#35495E";break;case"primary":e="#3488ff";break;case"success":e="#43B883";break;case"warning":e="#e6a23c";break;case"danger":e="#f56c6c"}return e}a.capsule=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"primary";console.log("%c ".concat(t," %c ").concat(e," %c"),"background:#35495E; padding: 1px; border-radius: 3px 0 0 3px; color: #fff;","background:".concat(r(n),"; padding: 1px; border-radius: 0 3px 3px 0; color: #fff;"),"background:transparent")},a.colorful=function(t){var e;(e=console).log.apply(e,["%c".concat(t.map((function(t){return t.text||""})).join("%c"))].concat(i(t.map((function(t){return"color: ".concat(r(t.type),";")})))))},a.default=function(t){a.colorful([{text:t}])},a.primary=function(t){a.colorful([{text:t,type:"primary"}])},a.success=function(t){a.colorful([{text:t,type:"success"}])},a.warning=function(t){a.colorful([{text:t,type:"warning"}])},a.danger=function(t){a.colorful([{text:t,type:"danger"}])},window.$Log=a,e.a=a},function(t,e,n){"use strict";var i=n(11),o=n(15);e.a=function(){return{mixins:[o.a],props:{option:{type:Object,required:!0,default:function(){return{}}}},watch:{defaults:{handler:function(t){this.objectOption=t},deep:!0},objectOption:{handler:function(t){this.$emit("update:defaults",t)},deep:!0},propOption:{handler:function(t){var e=this;this.objectOption={},t.forEach((function(t){return e.objectOption[t.prop]=t}))},deep:!0},option:{handler:function(){this.init(!1)},deep:!0}},data:function(){return{DIC:{},cascaderDIC:{},tableOption:{},isMobile:"",objectOption:{}}},created:function(){this.init()},computed:{resultOption:function(){return Object.assign(this.deepClone(this.tableOption),{column:this.propOption})},rowKey:function(){return this.tableOption.rowKey||"id"},formRules:function(){var t={};return this.propOption.forEach((function(e){e.rules&&!1!==e.display&&(t[e.prop]=e.rules)})),t},isMediumSize:function(){return this.controlSize},controlSize:function(){return this.tableOption.size||this.$AVUE.size||"small"}},methods:{init:function(t){this.tableOption=this.option,this.getIsMobile(),this.columnInit&&this.columnInit(),this.handleLocalDic(),!1!==t&&this.handleLoadDic()},dicInit:function(t){"cascader"===t?this.handleLoadCascaderDic():this.handleLoadDic()},getIsMobile:function(){this.isMobile=window.document.body.clientWidth<=768},updateDic:function(t,e){var n=this,o=this.findObject(this.propOption,t);this.validatenull(e)&&this.validatenull(t)?this.handleLoadDic():this.validatenull(e)&&!this.validatenull(o.dicUrl)?Object(i.d)({column:o}).then((function(e){n.$set(n.DIC,t,e)})):this.$set(this.DIC,t,e)},handleSetDic:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.keys(n).forEach((function(i){e.$set(t,i,n[i])})),this.forEachLabel&&this.forEachLabel()},handleLocalDic:function(){this.handleSetDic(this.DIC,Object(i.c)(this.resultOption))},handleLoadDic:function(){var t=this;Object(i.b)(this.resultOption).then((function(e){return t.handleSetDic(t.DIC,e)}))},handleLoadCascaderDic:function(){var t=this;Object(i.a)(this.propOption,this.data).then((function(e){return t.handleSetDic(t.cascaderDIC,e)}))}}}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return l}));var i=n(4),o=n(2),a=n(3),r=n(12),s=n.n(r),l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=t[e.prop],l=e.type,c=e.separator;if(Object(i.b)(r)&&(r=""),!["string","number"].includes(e.dataType)||Array.isArray(r)||Object(i.b)(r)||(r=(r+"").split(c||a.g),"number"===e.dataType&&(r=Object(o.y)(r))),["array"].includes(l)?r=Array.isArray(r)?r.join(c||a.f):r.split(c||a.g).join(c||a.f):["password"].includes(l)?r=Object(o.p)(r,"*"):["color"].includes(l)?r=''):["icon"].includes(l)&&(r='')),a.c.includes(l)&&e.format&&!Object(i.b)(r)){var u=e.format.replace("dd","DD").replace("yyyy","YYYY");if(-1!==l.indexOf("range")){var d=r[0],p=r[1];r=[s()(d).format(u),s()(p).format(u)].join(e.separator||"~")}else r=s()(r).format(u)}return e.bind&&(r=Object(o.m)(t,e.bind)),Object(i.b)(n)||(r=Object(o.k)(n,r,e.props,["cascader","tree"].includes(e.type),e)),e.formatter&&"function"==typeof e.formatter&&(r=e.formatter(t,t[e.prop],r,e)),r}},function(module,__webpack_exports__,__webpack_require__){"use strict";var core_create__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1),core_packages__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(5),_core_directive_permission__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(13),_core_common_init_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(18),_table_page__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(30),_header_search__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(31),_core_common_locale__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7),_column__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(29),_header_menu__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(32),_dialog_column__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(33),_dialog_filter__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(34),_dialog_form__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(35),_column_menu__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(36),_column_default__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(37),_config_js__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(6),_eval__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(22),core_dataformat__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(8);function _createForOfIteratorHelper(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:{},n=this.list.length,i=Object(core_dataformat__WEBPACK_IMPORTED_MODULE_16__.d)(this.propOption).tableForm;e=this.deepClone(Object.assign({$cellEdit:!0,$index:n},i,e)),this.list.push(e),this.formIndexList.push(n),setTimeout((function(){return t.$refs.columnDefault.setSort()}))},rowCancel:function(t,e){this.validatenull(t[this.rowKey])?this.list.splice(e,1):(this.formCascaderList[e].$cellEdit=!1,this.$set(this.list,e,this.formCascaderList[e]),delete this.formCascaderList[e],this.$set(this.cascaderDIC,e,this.cascaderDicList[e]),this.formIndexList.splice(this.formIndexList.indexOf(e),1))},rowCellEdit:function(t,e){var n=this;t.$cellEdit=!0,this.$set(this.list,e,t),this.formCascaderList[e]=this.deepClone(t),this.cascaderDicList[e]=this.deepClone(this.cascaderDIC[e]),setTimeout((function(){n.formIndexList.push(e)}),1e3)},validateCellForm:function(t){var e=this;return new Promise((function(t){e.$refs.cellForm.validate((function(e,n){t(n)}))}))},validateCellField:function(t){var e,n=!0,i=_createForOfIteratorHelper(this.$refs.cellForm.fields);try{for(i.s();!(e=i.n()).done;){var o=e.value;if(o.prop.split(".")[1]==t&&this.$refs.cellForm.validateField(o.prop,(function(t){t&&(n=!1)})),!n)break}}catch(t){i.e(t)}finally{i.f()}return n},rowCellUpdate:function(t,e){var n=this,i=function(){n.btnDisabledList[e]=!1,n.btnDisabled=!1,t.$cellEdit=!1,n.$set(n.list,e,t),delete n.formCascaderList[e]},o=function(){n.btnDisabledList[e]=!1,n.btnDisabled=!1};this.validateCellField(e)&&(this.btnDisabledList[e]=!0,this.btnDisabled=!0,this.validatenull(t[this.rowKey])?this.$emit("row-save",t,i,o):this.$emit("row-update",t,e,i,o))},rowAdd:function(){this.$refs.dialogForm.show("add")},rowSave:function(){return this.$refs.dialogForm.$refs.tableForm.submit()},rowUpdate:function(){return this.$refs.dialogForm.$refs.tableForm.submit()},closeDialog:function(){return this.$refs.dialogForm.closeDialog()},rowClone:function(t){var e={};return Object.keys(t).forEach((function(n){["_parent","children"].includes(n)||(e[n]=t[n])})),e},getPropRef:function(t){return this.$refs.dialogForm.$refs.tableForm.getPropRef(t)},rowEdit:function(t,e){this.tableForm=this.rowClone(t),this.tableIndex=e,this.$emit("input",this.tableForm),this.$refs.dialogForm.show("edit",e)},rowCopy:function(t){this.tableForm=this.rowClone(t),delete this.tableForm[this.rowKey],this.tableIndex=-1,this.$emit("input",this.tableForm),this.$refs.dialogForm.show("add")},rowView:function(t,e){this.tableForm=this.rowClone(t),this.tableIndex=e,this.$emit("input",this.tableForm),this.$refs.dialogForm.show("view")},vaildParent:function(t){return this.validatenull(t[this.rowParentKey])},rowDel:function(t,e){var n=this;this.$emit("row-del",t,e,(function(){var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=e.findIndex((function(e){return e[n.rowKey]===t[n.rowKey]}));e.splice(i,1)};if(n.isTree)if(n.vaildParent(t))e(n.data);else{var i=n.findObject(n.data,t[n.rowParentKey],n.rowKey);e(void 0===i?n.data:i.children)}else e(n.data)}))},tableSpanMethod:function(t){if("function"==typeof this.spanMethod)return this.spanMethod(t)},tableSummaryMethod:function(t){var e=this;if("function"==typeof this.summaryMethod)return this.summaryMethod(t);var n=t.columns,i=t.data,o=[];return n.length>0&&n.forEach((function(t,n){var a=e.sumColumnList.find((function(e){return e.name===t.property}));if(0===n)o[n]="";else if(a){var r=a.decimals||2,s=a.label||"";switch(a.type){case"count":o[n]=s+i.length;break;case"avg":var l=i.map((function(e){return Number(e[t.property])})),c=1;o[n]=l.reduce((function(t,e){var n=Number(e);return isNaN(n)?t:(t*(c-1)+e)/c++}),0),o[n]=s+o[n].toFixed(r);break;case"sum":var u=i.map((function(e){return Number(e[t.property])}));o[n]=u.reduce((function(t,e){var n=Number(e);return isNaN(n)?t:t+e}),0),o[n]=s+o[n].toFixed(r)}}else o[n]="-"})),this.sumsList=o,o},tableDrop:function(t,e){if(this.isSortable){if(!window.Sortable)return void core_packages__WEBPACK_IMPORTED_MODULE_1__.a.logs("Sortable");window.Sortable.create(t,{ghostClass:_config_js__WEBPACK_IMPORTED_MODULE_14__.a.ghostClass,chosenClass:_config_js__WEBPACK_IMPORTED_MODULE_14__.a.ghostClass,animation:500,delay:0,onEnd:function(t){return e(t)}})}}}})},function(module,__webpack_exports__,__webpack_require__){"use strict";var core_detail__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(19),core_create__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),_core_common_init__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(18),_core_components_form_index__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(16),global_variable__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(3),core_dataformat__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(8),core_dic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(11),utils_util__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),utils_mock__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(27),_menu__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(38);function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(t,e):void 0}}function _iterableToArray(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:[],n=[];return e.forEach((function(e,o){if(t.$set(e,"_index",o),n.push(e),e.children&&e.children.length>0){var a=i(t,e.children);n=n.concat(a)}})),n}function o(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.parent,a=void 0===i?null:i,r=n.preIndex,s=void 0!==r&&r,l=n.level,c=void 0===l?1:l,u=n.expandLevel,d=void 0===u?0:u,p=n.expand,h=void 0!==p&&p,f=n.show,m=void 0===f||f;e.forEach((function(e,n){var i=(s?"".concat(s,"-").concat(n):n)+"";t.$set(e,"_id",i),t.$set(e,"_level",c),t.$set(e,"_expand",!!h||0!==d&&c0&&o(t,e.children,{parent:e,level:c+1,expand:h,expandLevel:d,preIndex:i,status:status})}))}n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return o}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(9));e.default=function(t,e,n,o,a,r){!t.required||n.hasOwnProperty(t.field)&&!i.isEmptyValue(e,r||t.type)||o.push(i.format(a.messages.required,t.fullField))}},function(t,e,n){var i,o;void 0===(o="function"==typeof(i=function(t,e,n){return function(t,e,n,i,o,a){function r(t){return"number"==typeof t&&!isNaN(t)}var s=this;if(s.version=function(){return"1.9.3"},s.options={useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:function(t,e,n,i){return n*(1-Math.pow(2,-10*t/i))*1024/1023+e},formattingFn:function(t){var e,n,i,o,a,r,l=t<0;if(t=Math.abs(t).toFixed(s.decimals),n=(e=(t+="").split("."))[0],i=e.length>1?s.options.decimal+e[1]:"",s.options.useGrouping){for(o="",a=0,r=n.length;as.endVal,s.frameVal=s.startVal,s.initialized=!0,0):(s.error="[CountUp] startVal ("+e+") or endVal ("+n+") is not a number",1)):(s.error="[CountUp] target is null or undefined",1)))},s.printValue=function(t){var e=s.options.formattingFn(t);"INPUT"===s.d.tagName?this.d.value=e:"text"===s.d.tagName||"tspan"===s.d.tagName?this.d.textContent=e:this.d.innerHTML=e},s.count=function(t){s.startTime||(s.startTime=t),s.timestamp=t;var e=t-s.startTime;s.remaining=s.duration-e,s.options.useEasing?s.countDown?s.frameVal=s.startVal-s.options.easingFn(e,0,s.startVal-s.endVal,s.duration):s.frameVal=s.options.easingFn(e,s.startVal,s.endVal-s.startVal,s.duration):s.countDown?s.frameVal=s.startVal-(s.startVal-s.endVal)*(e/s.duration):s.frameVal=s.startVal+(s.endVal-s.startVal)*(e/s.duration),s.countDown?s.frameVal=s.frameVals.endVal?s.endVal:s.frameVal,s.frameVal=Math.round(s.frameVal*s.dec)/s.dec,s.printValue(s.frameVal),es.endVal,s.rAF=requestAnimationFrame(s.count))}},s.initialize()&&s.printValue(s.startVal)}})?i.call(e,n,e,t):i)||(t.exports=o)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=Object.assign||function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},s=t,l=n,d=i;if("function"==typeof l&&(d=l,l={}),!this.rules||0===Object.keys(this.rules).length)return d&&d(),Promise.resolve();function p(t){var e,n,i=void 0,o=[],a={};for(i=0;i0&&void 0!==arguments[0]?arguments[0]:[],c=a;if(Array.isArray(c)||(c=[c]),!l.suppressWarning&&c.length&&u.warning("async-validator:",c),c.length&&n.message&&(c=[].concat(n.message)),c=c.map((0,r.complementError)(n)),l.first&&c.length)return y[n.field]=1,e(c);if(i){if(n.required&&!t.value)return c=n.message?[].concat(n.message).map((0,r.complementError)(n)):l.error?[l.error(n,(0,r.format)(l.messages.required,n.field))]:[],e(c);var d={};if(n.defaultField)for(var p in t.value)t.value.hasOwnProperty(p)&&(d[p]=n.defaultField);for(var h in d=o({},d,t.rule.fields))if(d.hasOwnProperty(h)){var f=Array.isArray(d[h])?d[h]:[d[h]];d[h]=f.map(s.bind(null,h))}var m=new u(d);m.messages(l.messages),t.rule.options&&(t.rule.options.messages=l.messages,t.rule.options.error=l.error),m.validate(t.value,t.rule.options||l,(function(t){var n=[];c&&c.length&&n.push.apply(n,c),t&&t.length&&n.push.apply(n,t),e(n.length?n:null)}))}else e(c)}i=i&&(n.required||!n.required&&t.value),n.field=t.field;var d=void 0;n.asyncValidator?d=n.asyncValidator(n,t.value,c,t.source,l):n.validator&&(!0===(d=n.validator(n,t.value,c,t.source,l))?c():!1===d?c(n.message||n.field+" fails"):d instanceof Array?c(d):d instanceof Error&&c(d.message)),d&&d.then&&d.then((function(){return c()}),(function(t){return c(t)}))}),(function(t){p(t)}))},getType:function(t){if(void 0===t.type&&t.pattern instanceof RegExp&&(t.type="pattern"),"function"!=typeof t.validator&&t.type&&!l.default.hasOwnProperty(t.type))throw new Error((0,r.format)("Unknown rule type %s",t.type));return t.type||"string"},getValidationMethod:function(t){if("function"==typeof t.validator)return t.validator;var e=Object.keys(t),n=e.indexOf("message");return-1!==n&&e.splice(n,1),1===e.length&&"required"===e[0]?l.default.required:l.default[this.getType(t)]||!1}},u.register=function(t,e){if("function"!=typeof e)throw new Error("Cannot register a validator by type, validator is not a function");l.default[t]=e},u.warning=r.warning,u.messages=c.messages,e.default=u},function(t,e,n){t.exports=function(){"use strict";var t=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&!function(t){var n=Object.prototype.toString.call(t);return"[object RegExp]"===n||"[object Date]"===n||function(t){return t.$$typeof===e}(t)}(t)},e="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(t,e){return!1!==e.clone&&e.isMergeableObject(t)?r((n=t,Array.isArray(n)?[]:{}),t,e):t;var n}function i(t,e,i){return t.concat(e).map((function(t){return n(t,i)}))}function o(t){return Object.keys(t).concat(function(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter((function(e){return t.propertyIsEnumerable(e)})):[]}(t))}function a(t,e,i){var a={};return i.isMergeableObject(t)&&o(t).forEach((function(e){a[e]=n(t[e],i)})),o(e).forEach((function(o){i.isMergeableObject(e[o])&&t[o]?a[o]=function(t,e){if(!e.customMerge)return r;var n=e.customMerge(t);return"function"==typeof n?n:r}(o,i)(t[o],e[o],i):a[o]=n(e[o],i)})),a}function r(e,o,r){(r=r||{}).arrayMerge=r.arrayMerge||i,r.isMergeableObject=r.isMergeableObject||t;var s=Array.isArray(o);return s===Array.isArray(e)?s?r.arrayMerge(e,o,r):a(e,o,r):n(o,r)}return r.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,n){return r(t,n,e)}),{})},r}()},function(t,e,n){"use strict";var i=n(5);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}e.a=function(t,e,n,a){if(a){if(window.Mock){var r=(window.Mock||{}).Random,s={};return Object.keys(t).forEach((function(i){var a,c,u,d,p,h=t[i];if(h.mock&&"object"===o(h.mock)){var f=h.mock;switch(f.dic="string"==typeof h.dicData?e[h.dicData]:h.dicData||[],f.props=h.props||{},f.columnType=h.type,f.multiple=h.multiple,f.type){case"name":s[h.prop]=f.en?r.name(!0):r.cname();break;case"number":s[h.prop]=l(f);break;case"datetime":s[h.prop]=(p=(d=f).format,d.now?r.now(p):r.datetime(p));break;case"word":s[h.prop]=(c=(a=f).min,u=a.max,r.csentence(c,u));break;case"url":s[h.prop]=function(t){var e=t.header,n=(t.footer,r.url()),i=n.indexOf("://");return n=!1===e?n.substring(i+3):"http://"+n.substring(i+3)}(f);break;case"county":s[h.prop]=r.county(!0);break;case"dic":s[h.prop]=function(t){var e=t.dic,n=t.props,i=t.columnType,o=t.multiple,a=n.value||"value",r=e.length;if(["checkbox"].includes(i)||o){for(var s=l({min:1,max:r}),c=[],u=0;u
'};function o(t,e,n){return tn?n:t}function a(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(i[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,i.minimum,1),n.status=1===t?null:t;var l=n.render(!e),c=l.querySelector(i.barSelector),u=i.speed,d=i.easing;return l.offsetWidth,r((function(e){""===i.positionUsing&&(i.positionUsing=n.getPositioningCSS()),s(c,function(t,e,n){var o;return(o="translate3d"===i.positionUsing?{transform:"translate3d("+a(t)+"%,0,0)"}:"translate"===i.positionUsing?{transform:"translate("+a(t)+"%,0)"}:{"margin-left":a(t)+"%"}).transition="all "+e+"ms "+n,o}(t,u,d)),1===t?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){s(l,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),e()}),u)}),u)):setTimeout(e,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout((function(){n.status&&(n.trickle(),t())}),i.trickleSpeed)};return i.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*i.trickleRate)},t=0,e=0,n.promise=function(i){return i&&"resolved"!==i.state()?(0===e&&n.start(),t++,e++,i.always((function(){0==--e?(t=0,n.done()):n.set((t-e)/t)})),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=i.template;var o,r=e.querySelector(i.barSelector),l=t?"-100":a(n.status||0),u=document.querySelector(i.parent);return s(r,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),i.showSpinner||(o=e.querySelector(i.spinnerSelector))&&p(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(e),e},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(i.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&p(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var r=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()})),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var i,o=t.length,a=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((i=t[o]+a)in n)return i;return e}(n))}function i(t,e,i){e=n(e),t.style[e]=i}return function(t,e){var n,o,a=arguments;if(2==a.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&i(t,n,o);else i(t,a[1],a[2])}}();function l(t,e){return("string"==typeof t?t:d(t)).indexOf(" "+e+" ")>=0}function c(t,e){var n=d(t),i=n+e;l(n,e)||(t.className=i.substring(1))}function u(t,e){var n,i=d(t);l(t,e)&&(n=i.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function d(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?i.call(e,n,e,t):i)||(t.exports=o)},function(t,e,n){"use strict";var i=n(1),o=n(19),a=n(11),r=n(3),s=n(16),l={name:"column-dynamic",components:{formTemp:s.a},inject:["dynamic","crud"],props:{t:Function,columnOption:{type:Object,required:!0}},created:function(){var t=this,e=["getColumnProp","corArray","openImg","detailData","vaildLabel","vaildColumn","handleDetail","handleShowLabel","handleChange","columnChange","getImgList","handleFiltersMethod","handleFilters"];Object.keys(this.dynamic).forEach((function(n){e.includes(n)&&(t[n]=t.dynamic[n])}))}},c=n(0),u=Object(c.a)(l,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-table-column",{attrs:{label:t.columnOption.label,"min-width":t.columnOption.minWidth,width:t.columnOption.width,"render-header":t.columnOption.renderHeader,align:t.columnOption.align||t.crud.tableOption.align,"header-align":t.columnOption.headerAlign||t.crud.tableOption.headerAlign,prop:t.columnOption.prop}},[t._l(t.columnOption.children,(function(e){return[e.children&&e.children.length>0?n("column-dynamic",{key:e.label,attrs:{columnOption:e},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,null,n)]}}})),t._l(t.crud.headerSlot,(function(e){return{key:t.crud.getSlotName(e,"H"),fn:function(n){return[t._t(t.crud.getSlotName(e,"H"),null,null,n)]}}})),t._l(t.crud.mainSlot,(function(e){return{key:t.crud.getSlotName(e,"F"),fn:function(n){return[t._t(t.crud.getSlotName(e,"F"),null,null,n)]}}}))],null,!0)}):t.getColumnProp(e,"hide")?n("el-table-column",{key:e.prop,attrs:{prop:e.prop,label:e.label,"filter-placement":"bottom-end",filters:t.getColumnProp(e,"filters"),"filter-method":t.getColumnProp(e,"filterMethod")?t.handleFiltersMethod:void 0,"filter-multiple":t.vaildData(e.filterMultiple,!0),"show-overflow-tooltip":e.overHidden,"min-width":e.minWidth,sortable:t.getColumnProp(e,"sortable"),"render-header":e.renderHeader,align:e.align||t.crud.tableOption.align,"header-align":e.headerAlign||t.crud.tableOption.headerAlign,width:t.getColumnProp(e,"width"),fixed:t.getColumnProp(e,"fixed")},scopedSlots:t._u([{key:"header",fn:function(i){return[t.crud.$scopedSlots[t.crud.getSlotName(e,"H")]?t._t(t.crud.getSlotName(e,"H"),null,null,Object.assign(i,{column:e})):n("el-popover",{attrs:{placement:"bottom",disabled:!0!==(t.crud.objectOption[e.prop]||{}).screen,trigger:"hover"}},[n("el-input",{attrs:{type:"text",placeholder:"请输入 "+e.label+" 筛选关键字",size:"mini"},model:{value:(t.crud.objectOption[e.prop]||{}).screenValue,callback:function(n){t.$set(t.crud.objectOption[e.prop]||{},"screenValue",n)},expression:"(crud.objectOption[column.prop] || {}).screenValue"}}),t._v(" "),n("span",{attrs:{slot:"reference"},slot:"reference"},[t._v(t._s(e.label))])],1)]}},{key:"default",fn:function(i){var o=i.row,a=i.$index;return[o.$cellEdit&&e.cell?n("el-form-item",{attrs:{prop:t.crud.isTree?"":"list."+a+"."+e.prop,label:t.vaildLabel(e,o," "),"label-width":t.vaildLabel(e,o,"1px"),rules:e.rules}},[t.crud.$scopedSlots[t.crud.getSlotName(e,"F")]?t._t(t.crud.getSlotName(e,"F"),null,null,{row:o,dic:t.crud.DIC[e.prop],size:t.crud.isMediumSize,index:a,disabled:t.crud.btnDisabledList[a],label:t.handleShowLabel(o,e,t.crud.DIC[e.prop]),$cell:o.$cellEdit}):n("form-temp",t._b({attrs:{column:e,size:t.crud.isMediumSize,dic:(t.crud.cascaderDIC[a]||{})[e.prop]||t.crud.DIC[e.prop],props:e.props||t.crud.tableOption.props,readonly:e.readonly,disabled:t.crud.disabled||t.crud.tableOption.disabled||e.disabled||t.crud.btnDisabledList[a],clearable:t.vaildData(e.clearable,!1)},on:{change:function(n){return t.columnChange(t.index,o,e)}},model:{value:o[e.prop],callback:function(n){t.$set(o,e.prop,n)},expression:"row[column.prop]"}},"form-temp",t.$uploadFun(e,t.crud),!1))],2):t.crud.$scopedSlots[e.prop]?t._t(e.prop,null,{row:o,index:a,dic:t.crud.DIC[e.prop],size:t.crud.isMediumSize,label:t.handleShowLabel(o,e,t.crud.DIC[e.prop])}):[["img","upload"].includes(e.type)?n("span",[n("div",{staticClass:"avue-crud__img"},t._l(t.getImgList(o,e),(function(i,a){return n("img",{key:a,attrs:{src:i},on:{click:function(n){t.openImg(t.getImgList(o,e),a)}}})})),0)]):["url"].includes(e.type)?n("span",t._l(t.corArray(o[e.prop],e.separator),(function(i,o){return n("el-link",{key:o,attrs:{type:"primary",href:i,target:e.target||"_blank"}},[t._v(t._s(i))])})),1):["rate"].includes(e.type)?n("span",[n("avue-rate",{attrs:{disabled:""},model:{value:o[e.prop],callback:function(n){t.$set(o,e.prop,n)},expression:"row[column.prop]"}})],1):n("span",{domProps:{innerHTML:t._s(t.handleDetail(o,e))}})]]}}],null,!0)}):t._e()]}))],2)}),[],!1,null,null,null).exports,d=n(2);function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return f(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:r.g;return this.validatenull(t)?[]:Array.isArray(t)?t:t.split(e)},getImgList:function(t,e){var n=(e.propsHttp||{}).home||"",i=(e.props||{}).value||r.e.value;if(this.validatenull(t[e.prop]))return[];if("picture-img"==e.listType)return[n+t[e.prop]];var o=this.corArray(this.deepClone(t[e.prop]),e.separator);return o.forEach((function(t,e){"object"===p(t)?o[e]=n+t[i]:o[e]=n+t})),o},handleDetail:function(t,e){var n=t[e.prop],i=e.parentProp?(this.crud.cascaderDIC[t.$index]||{})[e.prop]:this.crud.DIC[e.prop];return n=Object(o.a)(t,e,this.crud.tableOption,i),this.validatenull(i)||(t["$"+e.prop]=n),n},handleShowLabel:function(t,e,n){var i="";return this.validatenull(n)||(i=Object(o.a)(t,e,this.crud.tableOption,n),t["$"+e.prop]=i),i},columnChange:function(t,e,n){this.validatenull(this.count[n.prop])&&(this.count[n.prop]=0),this.count[n.prop]=this.count[n.prop]+1,n.cascader&&this.handleChange(t,e),this.count[n.prop]%3==0&&"function"==typeof n.change&&!0===n.cell&&n.change({row:e,column:n,index:e.$index,value:e[n.prop]})},handleChange:function(t,e){var n=this;this.$nextTick((function(){var i=h(n.crud.propOption)[t],o=i.cascader,s=(o.join(","),o[0]),l=e[i.prop],c=e.$index,u=n.findObject(n.columnOption,s);n.validatenull(u)||(n.validatenull(n.crud.cascaderDIC[c])&&n.$set(n.crud.cascaderDIC,c,{}),n.crud.formIndexList.includes(c)&&o.forEach((function(t){n.$set(n.crud.cascaderDIC[c],t.prop,[]),o.forEach((function(t){return e[t]=""}))})),n.validatenull(o)||n.validatenull(l)||n.validatenull(u)||Object(a.d)({column:u,value:l,form:e}).then((function(t){n.crud.formIndexList.includes(c)||n.crud.formIndexList.push(c);var i=Array.isArray(t)?t:[];n.$set(n.crud.cascaderDIC[c],s,i),n.validatenull(i[u.cascaderIndex])||n.validatenull(i)||n.validatenull(u.cascaderIndex)||(e[s]=i[u.cascaderIndex][(u.props||{}).value||r.e.value])})))}))},openImg:function(t,e){t=t.map((function(t){return{thumbUrl:t,url:t}})),this.$ImagePreview(t,e)},handleFiltersMethod:function(t,e,n){var i=this.columnOption.filter((function(t){return t.prop===n.property}))[0];return"function"==typeof i.filtersMethod?i.filtersMethod(t,e,i):e[i.prop]===t},handleFilters:function(t,e){var n=this;if(!0===e){var i=this.crud.DIC[t.prop]||[],o=[];return this.validatenull(i)?this.crud.cellForm.list.forEach((function(e){o.map((function(t){return t.text})).includes(e[t.prop])||o.push({text:e[t.prop],value:e[t.prop]})})):i.forEach((function(e){var i=t.props||n.crud.tableOption.props||{};o.push({text:e[i.label||r.e.label],value:e[i.value||r.e.value]})})),o}}}}),b=Object(c.a)(m,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[t._t("header"),t._v(" "),t._l(t.list,(function(e,i){return[e.children&&e.children.length>0?n("column-dynamic",{key:e.label,attrs:{columnOption:e},scopedSlots:t._u([t._l(t.crud.mainSlot,(function(e){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,null,n)]}}})),t._l(t.crud.headerSlot,(function(e){return{key:t.crud.getSlotName(e,"H"),fn:function(n){return[t._t(t.crud.getSlotName(e,"H"),null,null,n)]}}})),t._l(t.crud.mainSlot,(function(e){return{key:t.crud.getSlotName(e,"F"),fn:function(n){return[t._t(t.crud.getSlotName(e,"F"),null,null,n)]}}}))],null,!0)}):t.getColumnProp(e,"hide")?n("el-table-column",{key:e.prop,attrs:{prop:e.prop,label:e.label,"filter-placement":"bottom-end",filters:t.getColumnProp(e,"filters"),"filter-method":t.getColumnProp(e,"filterMethod")?t.handleFiltersMethod:void 0,"filter-multiple":t.vaildData(e.filterMultiple,!0),"show-overflow-tooltip":e.overHidden,"min-width":e.minWidth,sortable:t.getColumnProp(e,"sortable"),"render-header":e.renderHeader,align:e.align||t.crud.tableOption.align,"header-align":e.headerAlign||t.crud.tableOption.headerAlign,width:t.getColumnProp(e,"width"),fixed:t.getColumnProp(e,"fixed")},scopedSlots:t._u([{key:"header",fn:function(i){return[t.crud.$scopedSlots[t.crud.getSlotName(e,"H")]?t._t(t.crud.getSlotName(e,"H"),null,null,Object.assign(i,{column:e})):n("el-popover",{attrs:{placement:"bottom",disabled:!0!==(t.crud.objectOption[e.prop]||{}).screen,trigger:"hover"}},[n("el-input",{attrs:{type:"text",placeholder:"请输入 "+e.label+" 筛选关键字",size:"mini"},model:{value:(t.crud.objectOption[e.prop]||{}).screenValue,callback:function(n){t.$set(t.crud.objectOption[e.prop]||{},"screenValue",n)},expression:"(crud.objectOption[column.prop] || {}).screenValue"}}),t._v(" "),n("span",{attrs:{slot:"reference"},slot:"reference"},[t._v(t._s(e.label))])],1)]}},{key:"default",fn:function(o){var a=o.row,r=o.$index;return[a.$cellEdit&&e.cell?n("el-form-item",{attrs:{prop:t.crud.isTree?"":"list."+r+"."+e.prop,label:t.vaildLabel(e,a," "),"label-width":t.vaildLabel(e,a,"1px"),rules:e.rules}},[t.crud.$scopedSlots[t.crud.getSlotName(e,"F")]?t._t(t.crud.getSlotName(e,"F"),null,null,{row:a,dic:t.crud.DIC[e.prop],size:t.crud.isMediumSize,index:r,disabled:t.crud.btnDisabledList[r],label:t.handleShowLabel(a,e,t.crud.DIC[e.prop]),$cell:a.$cellEdit}):n("form-temp",t._b({attrs:{column:e,size:t.crud.isMediumSize,dic:(t.crud.cascaderDIC[r]||{})[e.prop]||t.crud.DIC[e.prop],props:e.props||t.crud.tableOption.props,readonly:e.readonly,disabled:t.crud.disabled||t.crud.tableOption.disabled||e.disabled||t.crud.btnDisabledList[r],clearable:t.vaildData(e.clearable,!1)},on:{change:function(n){return t.columnChange(i,a,e)}},model:{value:a[e.prop],callback:function(n){t.$set(a,e.prop,n)},expression:"row[column.prop]"}},"form-temp",t.$uploadFun(e,t.crud),!1))],2):t.crud.$scopedSlots[e.prop]?t._t(e.prop,null,{row:a,index:r,dic:t.crud.DIC[e.prop],size:t.crud.isMediumSize,label:t.handleShowLabel(a,e,t.crud.DIC[e.prop])}):[["img","upload"].includes(e.type)?n("span",[n("div",{staticClass:"avue-crud__img"},t._l(t.getImgList(a,e),(function(i,o){return n("img",{key:o,attrs:{src:i},on:{click:function(n){t.openImg(t.getImgList(a,e),o)}}})})),0)]):["url"].includes(e.type)?n("span",t._l(t.corArray(a[e.prop],e.separator),(function(i,o){return n("el-link",{key:o,attrs:{type:"primary",href:i,target:e.target||"_blank"}},[t._v(t._s(i))])})),1):["rate"].includes(e.type)?n("span",[n("avue-rate",{attrs:{disabled:""},model:{value:a[e.prop],callback:function(n){t.$set(a,e.prop,n)},expression:"row[column.prop]"}})],1):n("span",{domProps:{innerHTML:t._s(t.handleDetail(a,e))}})]]}}],null,!0)}):t._e()]})),t._v(" "),t._t("footer")],2)}),[],!1,null,null,null);e.a=b.exports},function(t,e,n){"use strict";var i=n(6),o=n(1),a=Object(o.a)({name:"crud",inject:["crud"],props:{page:{type:Object,default:function(){return{}}}},data:function(){return{config:i.a,defaultPage:{total:0,pagerCount:7,currentPage:1,pageSize:10,pageSizes:[10,20,30,40,50,100],layout:"total, sizes, prev, pager, next, jumper",background:!0}}},created:function(){this.pageInit(),this.crud.$emit("on-load",this.defaultPage)},watch:{page:{handler:function(){this.pageInit()},deep:!0},pageFlag:function(){var t=this;this.$nextTick((function(){t.crud.getTableHeight()}))},"defaultPage.total":function(t){this.defaultPage.total===(this.defaultPage.currentPage-1)*this.defaultPage.pageSize&&0!=this.defaultPage.total&&(this.defaultPage.currentPage=this.defaultPage.currentPage-1,this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("current-change",this.defaultPage.currentPage),this.updateValue())}},computed:{pageFlag:function(){return 0!=this.defaultPage.total}},methods:{pageInit:function(){this.defaultPage=Object.assign(this.defaultPage,this.page,{total:Number(this.page.total||this.defaultPage.total),pagerCount:Number(this.page.pagerCount||this.defaultPage.pagerCount),currentPage:Number(this.page.currentPage||this.defaultPage.currentPage),pageSize:Number(this.page.pageSize||this.defaultPage.pageSize)}),this.updateValue()},updateValue:function(){this.crud.$emit("update:page",this.defaultPage)},nextClick:function(t){this.crud.$emit("next-click",t)},prevClick:function(t){this.crud.$emit("prev-click",t)},sizeChange:function(t){this.defaultPage.currentPage=1,this.defaultPage.pageSize=t,this.updateValue(),this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("size-change",t)},currentChange:function(t){this.updateValue(),this.crud.$emit("on-load",this.defaultPage),this.crud.$emit("current-change",t)}}}),r=n(0),s=Object(r.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.pageFlag&&t.vaildData(t.crud.tableOption.page,!0)?n("div",{class:t.b("pagination")},[t._t("page"),t._v(" "),n("el-pagination",{attrs:{small:t.crud.isMobile,disabled:t.defaultPage.disabled,"hide-on-single-page":t.vaildData(t.crud.tableOption.simplePage,t.config.simplePage),"pager-count":t.defaultPage.pagerCount,"current-page":t.defaultPage.currentPage,background:t.vaildData(t.defaultPage.background,t.config.pageBackground),"page-size":t.defaultPage.pageSize,"page-sizes":t.defaultPage.pageSizes,layout:t.defaultPage.layout,total:t.defaultPage.total},on:{"update:currentPage":function(e){return t.$set(t.defaultPage,"currentPage",e)},"update:current-page":function(e){return t.$set(t.defaultPage,"currentPage",e)},"size-change":t.sizeChange,"prev-click":t.prevClick,"next-click":t.nextClick,"current-change":t.currentChange}})],2):t._e()}),[],!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var i=n(1),o=n(2),a=n(4),r=n(7),s=n(15),l=n(8),c=n(6),u=Object(i.a)({name:"crud__search",inject:["crud"],mixins:[r.a,s.a],data:function(){return{show:!1,flag:!1,reload:!1,config:c.a,defaultForm:{searchForm:{}},searchShow:!0,searchForm:{}}},props:{search:{type:Object,default:function(){return{}}}},watch:{"crud.propOption":{handler:function(){this.dataFormat()},immediate:!0},search:{handler:function(){this.searchForm=Object.assign(this.searchForm,this.search)},immediate:!0,deep:!0},searchShow:{handler:function(){var t=this;this.$nextTick((function(){setTimeout((function(){t.crud.getTableHeight()}),300)}))}}},created:function(){this.initFun()},computed:{isSearchIcon:function(){return!0===this.vaildData(this.crud.option.searchIcon,this.$AVUE.searchIcon)&&this.columnLen>this.searchIndex},searchIndex:function(){return this.crud.option.searchIndex||2},columnLen:function(){var t=0;return this.crud.propOption.forEach((function(e){e.search&&t++})),t},option:function(){var t=this,e=this.crud.option;return function(n){var i=t.deepClone(n);return i.translate=!1,i.group&&delete i.group,i.column=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=[],o=0;return n.forEach((function(n){if(n.search){var a=ot.length)&&(e=t.length);for(var n=0,i=new Array(e);n",value:">"},{label:"≥",value:"≥"},{label:"<",value:"<"},{label:"≤",value:"≤"},{label:"∈",value:"∈"}]},result:function(){var t=this,e=[];return this.list.forEach((function(n){t.validatenull(n.value)||e.push([n.text,n.symbol,n.value])})),e},columnObj:function(){return this.columnOption[0]},columnOption:function(){return this.crud.propOption.filter((function(t){return!1!==t.filter&&!1!==t.showColumn}))}},created:function(){this.getSearchType=i.g,this.formDefault=Object(i.d)(this.columnOption).tableForm},methods:{getColumnByIndex:function(t,e){var n=this.deepClone(t);return n.type=Object(i.g)(n),n.multiple=["checkbox"].includes(t.type),n},handleDelete:function(t){this.list.splice(t,1),this.columnList.splice(t,1)},handleClear:function(){this.list=[],this.columnList=[]},handleValueClear:function(){var t=this;this.list.forEach((function(e,n){t.$set(t.list[n],"value",t.formDefault[e.text])}))},handleGetColumn:function(t){return this.columnOption.find((function(e){return e.prop===t}))},handleSubmit:function(){this.list.push({}),this.list.splice(this.list.length-1,1),this.crud.$emit("filter",this.result),this.box=!1},handleChange:function(t,e){var n=this.handleGetColumn(t);this.columnList[e]=n,this.list[e].value=this.formDefault[t]},handleAdd:function(){this.list.length;var t=this.columnObj.prop,e=this.handleGetColumn(t);this.columnList.push(e),this.list.push({text:t,value:this.formDefault[t],symbol:this.symbolDic[0].value})}}}),l=n(0),c=Object(l.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-drawer",{staticClass:"avue-dialog",class:[t.b("dialog"),t.b("filter")],attrs:{"lock-scroll":"","modal-append-to-body":!1,"append-to-body":"",title:t.t("crud.filterTitle"),size:t.crud.isMobile?"100%":"60%",visible:t.box},on:{"update:visible":function(e){t.box=e}}},[n("el-row",{attrs:{span:24}},[n("div",{class:t.b("filter-menu")},[n("el-button-group",[n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleAdd}},[t._v(t._s(t.t("crud.filter.addBtn")))]),t._v(" "),n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleClear}},[t._v(t._s(t.t("crud.filter.resetBtn")))]),t._v(" "),n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleValueClear}},[t._v(t._s(t.t("crud.filter.clearBtn")))])],1)],1),t._v(" "),t._l(t.list,(function(e,i){return n("el-col",{key:i,class:t.b("filter-item"),attrs:{md:12,xs:24,sm:12}},[n("avue-select",{class:t.b("filter-label"),attrs:{dic:t.columnOption,props:t.columnProps,clearable:!1,size:t.crud.isMediumSize},on:{change:function(n){return t.handleChange(e.text,i)}},model:{value:e.text,callback:function(n){t.$set(e,"text",n)},expression:"column.text"}}),t._v(" "),n("avue-select",{class:t.b("filter-symbol"),attrs:{dic:t.symbolDic,clearable:!1,size:t.crud.isMediumSize},model:{value:e.symbol,callback:function(n){t.$set(e,"symbol",n)},expression:"column.symbol"}}),t._v(" "),n("form-temp",{class:t.b("filter-value"),attrs:{column:t.getColumnByIndex(t.columnList[i]),size:t.crud.isMediumSize,dic:t.crud.DIC[t.columnList[i].prop],props:t.columnList[i].props||t.crud.tableOption.props},model:{value:e.value,callback:function(n){t.$set(e,"value",n)},expression:"column.value"}}),t._v(" "),n("el-button",{class:t.b("filter-icon"),attrs:{type:"danger",size:"mini",circle:"",icon:"el-icon-minus"},on:{click:function(e){return t.handleDelete(i)}}})],1)})),t._v(" "),n("el-col",{staticClass:"avue-form__menu avue-form__menu--right",attrs:{span:24}},[n("el-button",{attrs:{type:"primary",size:t.crud.isMediumSize},on:{click:t.handleSubmit}},[t._v(t._s(t.t("crud.filter.submitBtn")))]),t._v(" "),n("el-button",{attrs:{size:t.crud.isMediumSize},on:{click:function(e){t.box=!1}}},[t._v(t._s(t.t("crud.filter.cancelBtn")))])],1)],2)],1)}),[],!1,null,null,null);e.a=c.exports},function(t,e,n){"use strict";var i=n(2),o=n(1),a=n(7),r=n(6),s=Object(o.a)({name:"crud",mixins:[a.a],inject:["crud"],data:function(){return{config:r.a,boxType:"",fullscreen:!1,size:null,boxVisible:!1,boxHeight:0,index:-1}},props:{value:{type:Object,default:function(){return{}}}},watch:{boxVisible:function(t){var e=this;t&&this.$nextTick((function(){e.initFun()}))}},computed:{styleName:function(){return{height:this.dialogHeight,overflow:"hidden"}},isView:function(){return"view"===this.boxType},isAdd:function(){return"add"===this.boxType},isEdit:function(){return"edit"===this.boxType},direction:function(){return this.crud.tableOption.dialogDirection},width:function(){return this.vaildData(this.crud.tableOption.dialogWidth+"",this.crud.isMobile?"100%":r.a.dialogWidth+"")},dialogType:function(){return this.isDrawer?"elDrawer":"elDialog"},dialogTop:function(){return this.crud.tableOption.dialogTop||r.a.dialogTop},isDrawer:function(){return"drawer"===this.crud.tableOption.dialogType},dialogHeight:function(){return this.isDrawer?"calc(100% - 100px)":this.crud.tableOption.dialogHeight===r.a.dialogHeight?this.setPx(r.a.clientHeight-3*this.dialogTop):this.setPx(this.crud.tableOption.dialogHeight)},formOption:function(){var t=this,e=this.deepClone(this.crud.tableOption);return e.boxType=this.boxType,e.column=this.deepClone(this.crud.propOption),e.printBtn=!1,e.mockBtn=!1,this.isView?(e.menuBtn=!1,e.detail=!0):(e.menuPosition=e.dialogMenuPosition||"right",this.isAdd?(e.submitBtn=e.saveBtn,e.submitText=this.crud.menuIcon("saveBtn"),e.submitIcon=e.saveBtnIcon||r.a.saveBtnIcon):this.isEdit&&(e.submitBtn=e.updateBtn,e.submitText=this.crud.menuIcon("updateBtn"),e.submitIcon=e.updateBtnIcon||r.a.updateBtnIcon),e.emptyBtn=e.cancelBtn,e.emptyIcon=e.cancelBtnIcon||r.a.cancelBtnIcon,e.emptyText=this.crud.menuIcon("cancelBtn")),this.crud.isGroup||(e.dicFlag=!1,e.dicData=this.crud.DIC),this.validatenull(e.dicFlag)||e.column.forEach((function(n){n.boxType=t.boxType,n.dicFlag=n.dicFlag||e.dicFlag})),e},dialogTitle:function(){var t="".concat(this.boxType);if(!this.validatenull(this.boxType))return this.crud.tableOption[t+"Title"]||this.t("crud.".concat(t,"Title"))}},methods:{handleChange:function(){this.crud.$emit("input",this.crud.tableForm),this.crud.$emit("change",this.crud.tableForm)},handleTabClick:function(t,e){this.crud.$emit("tab-click",t,e)},handleFullScreen:function(){this.isDrawer?this.validatenull(this.size)?this.size="100%":this.size="":this.fullscreen?this.fullscreen=!1:this.fullscreen=!0},handleError:function(t){this.crud.$emit("error",t)},handleSubmit:function(t,e){this.isAdd?this.rowSave(e):this.isEdit&&this.rowUpdate(e)},initFun:function(){var t=this;["clearValidate","validate","resetForm"].forEach((function(e){t.crud[e]=t.$refs.tableForm[e]}))},rowSave:function(t){this.crud.$emit("row-save",Object(i.i)(this.crud.tableForm,this.crud.tableOption.translate),this.closeDialog,t)},rowUpdate:function(t){this.crud.tableIndex;this.crud.$emit("row-update",Object(i.i)(this.crud.tableForm,this.crud.tableOption.translate),this.index,this.closeDialog,t)},closeDialog:function(t,e){var n=this;t&&function(){if(n.isEdit){var i=n.findObject(n.crud.data,t[n.crud.rowKey],n.crud.rowKey);i=Object.assign(i||{},t)}else if(n.isAdd){var o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1?arguments[1]:void 0;n.validatenull(i)?e.push(t):e.splice(i,0,t)};if(n.crud.isTree){var a=n.crud.treeProps.children||"children",r=n.crud.treeProps.hasChildren||"hasChildren";if(t[a]||(t[a]=[]),n.crud.vaildParent(t))o(n.crud.data,e);else{var s=n.findObject(n.crud.data,t[n.crud.rowParentKey],n.crud.rowKey);if(void 0===s)return o(n.crud.data,e);s[a]||(s[r]=!0,s[a]=[]),o(s[a],e)}}else o(n.crud.data,e)}}(),this.hide()},hide:function(t){var e=this,n=function(){t&&t(),Object.keys(e.crud.tableForm).forEach((function(t){e.$delete(e.crud.tableForm,t)})),e.crud.tableIndex=-1,e.boxVisible=!1};"function"==typeof this.crud.beforeClose?this.crud.beforeClose(n,this.boxType):n()},show:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;this.index=n,this.boxType=t;var i=function(){e.$nextTick((function(){e.fullscreen=e.crud.tableOption.dialogFullscreen,e.boxVisible=!0}))};"function"==typeof this.crud.beforeOpen?this.crud.beforeOpen(i,this.boxType):i()}}}),l=n(0),c=Object(l.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(t.dialogType,{directives:[{name:"dialogdrag",rawName:"v-dialogdrag",value:t.vaildData(t.crud.tableOption.dialogDrag,t.config.dialogDrag),expression:"vaildData(crud.tableOption.dialogDrag,config.dialogDrag)"}],tag:"component",staticClass:"avue-dialog",class:t.b("dialog",{fullscreen:t.fullscreen}),attrs:{"lock-scroll":"","destroy-on-close":t.crud.tableOption.dialogDestroy,wrapperClosable:t.crud.tableOption.dialogClickModal,direction:t.direction,"custom-class":t.vaildData(t.crud.tableOption.customClass,t.config.customClass),fullscreen:t.fullscreen,"modal-append-to-body":!1,"append-to-body":"",top:t.setPx(t.dialogTop),title:t.dialogTitle,"close-on-press-escape":t.crud.tableOption.dialogEscape,"close-on-click-modal":t.vaildData(t.crud.tableOption.dialogClickModal,!1),modal:t.crud.tableOption.dialogModal,"show-close":t.crud.tableOption.dialogCloseBtn,visible:t.boxVisible,size:t.size?t.size:t.width,width:t.setPx(t.width),"before-close":t.hide},on:{"update:visible":function(e){t.boxVisible=e}}},[n("div",{class:t.b("dialog__header"),attrs:{slot:"title"},slot:"title"},[n("span",{staticClass:"el-dialog__title"},[t._v(t._s(t.dialogTitle))]),t._v(" "),n("div",{class:t.b("dialog__menu")},[n("i",{staticClass:"el-dialog__close el-icon-full-screen",on:{click:t.handleFullScreen}})])]),t._v(" "),n("el-scrollbar",{style:t.styleName},[t.boxVisible?n("avue-form",t._b({ref:"tableForm",attrs:{option:t.formOption},on:{change:t.handleChange,submit:t.handleSubmit,"reset-change":t.hide,"tab-click":t.handleTabClick,error:t.handleError},scopedSlots:t._u([t._l(t.crud.formSlot,(function(e){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,null,n)]}}})),t._l(t.crud.errorSlot,(function(e){return{key:t.crud.getSlotName(e,"E"),fn:function(n){return[t._t(t.crud.getSlotName(e,"E"),null,null,n)]}}})),t._l(t.crud.typeSlot,(function(e){return{key:t.crud.getSlotName(e,"T"),fn:function(n){return[t._t(t.crud.getSlotName(e,"T"),null,null,n)]}}})),t._l(t.crud.labelSlot,(function(e){return{key:t.crud.getSlotName(e,"L"),fn:function(n){return[t._t(t.crud.getSlotName(e,"L"),null,null,n)]}}})),{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,Object.assign(e,{type:t.boxType}))]}}],null,!0),model:{value:t.crud.tableForm,callback:function(e){t.$set(t.crud,"tableForm",e)},expression:"crud.tableForm"}},"avue-form",t.$uploadFun({},t.crud),!1)):t._e()],1)],1)}),[],!1,null,null,null);e.a=c.exports},function(t,e,n){"use strict";var i=n(1),o=n(6),a=n(7),r=n(13),s=Object(i.a)({name:"crud",data:function(){return{config:o.a}},mixins:[a.a],inject:["crud"],directives:{permission:r.a},computed:{menuType:function(){return this.crud.tableOption.menuType||this.$AVUE.menuType||"button"},isIconMenu:function(){return"icon"===this.menuType},isTextMenu:function(){return"text"===this.menuType},isMenu:function(){return"menu"===this.menuType}},methods:{menuText:function(t){return["text","menu"].includes(this.menuType)?"text":t}}}),l=n(0),c=Object(l.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.vaildData(t.crud.tableOption.menu,t.config.menu)&&t.crud.getPermission("menu")?n("el-table-column",{class:t.b("btn"),attrs:{prop:"menu",fixed:t.vaildData(t.crud.tableOption.menuFixed,t.config.menuFixed),label:t.crud.tableOption.menuTitle||t.t("crud.menu"),align:t.crud.tableOption.menuAlign||t.config.menuAlign,"header-align":t.crud.tableOption.menuHeaderAlign||t.config.menuHeaderAlign,width:t.crud.isMobile?t.crud.tableOption.menuXsWidth||t.config.menuXsWidth:t.crud.tableOption.menuWidth||t.config.menuWidth},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.row,o=e.$index;return[t.isMenu?n("el-dropdown",{attrs:{size:t.crud.isMediumSize}},[n("el-button",{attrs:{type:"text",size:t.crud.isMediumSize}},[t._v("\n "+t._s(t.crud.tableOption.menuBtnTitle||t.t("crud.menuBtn"))+"\n "),n("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.vaildData(t.crud.tableOption.viewBtn,t.config.viewBtn)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("viewBtn",i,o),expression:"crud.getPermission('viewBtn',row,$index)"}],attrs:{icon:t.config.viewBtnIcon},nativeOn:{click:function(e){return t.crud.rowView(i,o)}}},[t._v(t._s(t.t("crud.viewBtn")))]):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.editBtn,t.config.editBtn)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("editBtn",i,o),expression:"crud.getPermission('editBtn',row,$index)"}],attrs:{icon:t.config.editBtnIcon},nativeOn:{click:function(e){return t.crud.rowEdit(i,o)}}},[t._v(t._s(t.t("crud.editBtn")))]):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.copyBtn,t.config.copyBtn)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("copyBtn",i,o),expression:"crud.getPermission('copyBtn',row,$index)"}],attrs:{icon:t.config.copyBtnIcon},nativeOn:{click:function(e){return t.crud.rowCopy(i)}}},[t._v(t._s(t.t("crud.copyBtn")))]):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.delBtn,t.config.delBtn)?n("el-dropdown-item",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("delBtn",i,o),expression:"crud.getPermission('delBtn',row,$index)"}],attrs:{icon:t.config.delBtnIcon},nativeOn:{click:function(e){return t.crud.rowDel(i,o)}}},[t._v(t._s(t.t("crud.delBtn")))]):t._e(),t._v(" "),t._t("menuBtn",null,{row:i,type:t.menuText("primary"),disabled:t.crud.btnDisabled,size:t.crud.isMediumSize,index:o})],2)],1):["button","text","icon"].includes(t.menuType)?[t.vaildData(t.crud.tableOption.cellBtn,t.config.cellBtn)?[t.vaildData(t.crud.tableOption.editBtn,t.config.editBtn)&&!i.$cellEdit?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("editBtn",i,o),expression:"crud.getPermission('editBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.config.editBtnIcon,size:t.crud.isMediumSize,disabled:t.crud.btnDisabledList[o]},on:{click:function(e){return e.stopPropagation(),t.crud.rowCell(i,o)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("editBtn"))+"\n ")]],2):t.vaildData(t.crud.tableOption.saveBtn,t.config.saveBtn)&&i.$cellEdit?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("saveBtn",i,o),expression:"crud.getPermission('saveBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.config.saveBtnIcon,size:t.crud.isMediumSize,disabled:t.crud.btnDisabledList[o]},on:{click:function(e){return e.stopPropagation(),t.crud.rowCell(i,o)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("saveBtn"))+"\n ")]],2):t._e(),t._v(" "),i.$cellEdit?n("el-button",{attrs:{type:t.menuText("danger"),icon:t.config.cancelBtnIcon,size:t.crud.isMediumSize,disabled:t.crud.btnDisabledList[o]},on:{click:function(e){return e.stopPropagation(),t.crud.rowCancel(i,o)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("cancelBtn"))+"\n ")]],2):t._e()]:t._e(),t._v(" "),t.vaildData(t.crud.tableOption.viewBtn,t.config.viewBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("viewBtn",i,o),expression:"crud.getPermission('viewBtn',row,$index)"}],attrs:{type:t.menuText("success"),icon:t.config.viewBtnIcon,size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowView(i,o)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("viewBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.editBtn,t.config.editBtn)&&!t.crud.tableOption.cellBtn?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("editBtn",i,o),expression:"crud.getPermission('editBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.config.editBtnIcon,size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowEdit(i,o)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("editBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.copyBtn,t.config.copyBtn)?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("copyBtn",i,o),expression:"crud.getPermission('copyBtn',row,$index)"}],attrs:{type:t.menuText("primary"),icon:t.config.copyBtnIcon,size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowCopy(i)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("copyBtn"))+"\n ")]],2):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.delBtn,t.config.delBtn)&&!i.$cellEdit?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:t.crud.getPermission("delBtn",i,o),expression:"crud.getPermission('delBtn',row,$index)"}],attrs:{type:t.menuText("danger"),icon:t.config.delBtnIcon,size:t.crud.isMediumSize,disabled:t.btnDisabled},on:{click:function(e){return e.stopPropagation(),t.crud.rowDel(i,o)}}},[t.isIconMenu?t._e():[t._v("\n "+t._s(t.crud.menuIcon("delBtn"))+"\n ")]],2):t._e()]:t._e(),t._v(" "),t._t("menu",null,{row:i,type:t.menuText("primary"),disabled:t.crud.btnDisabled,size:t.crud.isMediumSize,index:o})]}}],null,!0)}):t._e()}),[],!1,null,null,null);e.a=c.exports},function(t,e,n){"use strict";var i=n(1),o=n(6),a=(n(5),n(7)),r=(n(13),Object(i.a)({name:"crud",data:function(){return{config:o.a}},mixins:[a.a],inject:["crud"],methods:{indexMethod:function(t){return t+1+((this.crud.page.currentPage||1)-1)*(this.crud.page.pageSize||10)},setSort:function(){this.rowDrop()},rowDrop:function(){var t=this,e=this.crud.$refs.table.$el.querySelectorAll(this.config.dropRowClass)[0];this.crud.tableDrop(e,(function(e){var n=e.oldIndex,i=e.newIndex,o=t.crud.list.splice(n,1)[0];t.crud.list.splice(i,0,o),t.crud.$emit("sortable-change",n,i,o,t.crud.list)}))},columnDrop:function(){var t=this,e=this.crud.$refs.table.$el.querySelector(this.config.dropColClass),n=e.children.length;n=n-this.crud.columnOption.length-2,this.crud.tableDrop(e,(function(e){var i=e.oldIndex-n,o=e.newIndex-n;t.crud.headerSort(i,o)}))}}})),s=n(0),l=Object(s.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-table-column",{attrs:{width:"1px"}}),t._v(" "),t.crud.tableOption.expand?n("el-table-column",{attrs:{type:"expand",width:t.crud.tableOption.expandWidth||t.config.expandWidth,fixed:t.vaildData(t.crud.tableOption.expandFixed,t.config.expandFixed),align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){var n=e.row;return[t._t("expand",null,{row:n,index:n.$index})]}}],null,!0)}):t._e(),t._v(" "),t.crud.tableOption.selection?n("el-table-column",{attrs:{fixed:t.vaildData(t.crud.tableOption.selectionFixed,t.config.selectionFixed),type:"selection",selectable:t.crud.tableOption.selectable,"reserve-selection":t.vaildData(t.crud.tableOption.reserveSelection),width:t.crud.tableOption.selectionWidth||t.config.selectionWidth,align:"center"}}):t._e(),t._v(" "),t.vaildData(t.crud.tableOption.index)?n("el-table-column",{attrs:{fixed:t.vaildData(t.crud.tableOption.indexFixed,t.config.indexFixed),label:t.crud.tableOption.indexLabel||t.config.indexLabel,type:"index",width:t.crud.tableOption.indexWidth||t.config.indexWidth,index:t.indexMethod,align:"center"}}):t._e()],1)}),[],!1,null,null,null);e.a=l.exports},function(t,e,n){"use strict";var i={inject:["formSafe"],mixins:[n(7).a],computed:{menuSpan:function(){return this.formSafe.parentOption.menuSpan||24},styleName:function(){return 24!==this.menuSpan?{padding:0}:{}}}},o=n(0),a=Object(o.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.vaildData(t.formSafe.parentOption.menuBtn,!0)?n("el-col",{class:[t.formSafe.b("menu",[t.formSafe.menuPosition]),"no-print"],style:t.styleName,attrs:{span:t.menuSpan,md:t.menuSpan,sm:12,xs:24}},[n("el-form-item",{attrs:{"label-width":"0px"}},[t.formSafe.isMock?n("el-button",{attrs:{type:"primary",size:t.formSafe.controlSize,icon:"el-icon-edit-outline",loading:t.formSafe.allDisabled},on:{click:t.formSafe.handleMock}},[t._v(t._s(t.t("form.mockBtn")))]):t._e(),t._v(" "),t.formSafe.isPrint?n("el-button",{attrs:{type:"primary",size:t.formSafe.controlSize,icon:"el-icon-printer",loading:t.formSafe.allDisabled},on:{click:t.formSafe.handlePrint}},[t._v(t._s(t.t("form.printBtn")))]):t._e(),t._v(" "),t.vaildData(t.formSafe.parentOption.submitBtn,!0)?n("el-button",{attrs:{type:"primary",size:t.formSafe.controlSize,icon:t.formSafe.parentOption.submitIcon||"el-icon-check",loading:t.formSafe.allDisabled},on:{click:t.formSafe.submit}},[t._v(t._s(t.vaildData(t.formSafe.parentOption.submitText,t.t("form.submit"))))]):t._e(),t._v(" "),t.vaildData(t.formSafe.parentOption.emptyBtn,!0)?n("el-button",{attrs:{icon:t.formSafe.parentOption.emptyIcon||"el-icon-delete",size:t.formSafe.controlSize,loading:t.formSafe.allDisabled},on:{click:t.formSafe.resetForm}},[t._v(t._s(t.vaildData(t.formSafe.parentOption.emptyText,t.t("form.empty"))))]):t._e(),t._v(" "),t._t("menuForm",null,{disabled:t.formSafe.allDisabled,size:t.formSafe.controlSize})],2)],1):t._e()}),[],!1,null,null,null);e.a=a.exports},function(t,e,n){t.exports=n(61)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=v(n(41)),o=v(n(47)),a=v(n(48)),r=v(n(49)),s=v(n(50)),l=v(n(51)),c=v(n(52)),u=v(n(53)),d=v(n(54)),p=v(n(55)),h=v(n(56)),f=v(n(57)),m=v(n(58)),b=v(n(59));function v(t){return t&&t.__esModule?t:{default:t}}e.default={string:i.default,method:o.default,number:a.default,boolean:r.default,regexp:s.default,integer:l.default,float:c.default,array:u.default,object:d.default,enum:p.default,pattern:h.default,date:f.default,url:b.default,hex:b.default,email:b.default,required:m.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e,"string")&&!t.required)return n();a.default.required(t,e,i,s,o,"string"),(0,r.isEmptyValue)(e,"string")||(a.default.type(t,e,i,s,o),a.default.range(t,e,i,s,o),a.default.pattern(t,e,i,s,o),!0===t.whitespace&&a.default.whitespace(t,e,i,s,o))}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(9));e.default=function(t,e,n,o,a){(/^\s+$/.test(e)||""===e)&&o.push(i.format(a.messages.whitespace,t.fullField))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(9)),r=n(23),s=(i=r)&&i.__esModule?i:{default:i};var l={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},c={integer:function(t){return c.number(t)&&parseInt(t,10)===t},float:function(t){return c.number(t)&&!c.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch(t){return!1}},date:function(t){return"function"==typeof t.getTime&&"function"==typeof t.getMonth&&"function"==typeof t.getYear},number:function(t){return!isNaN(t)&&"number"==typeof t},object:function(t){return"object"===(void 0===t?"undefined":o(t))&&!c.array(t)},method:function(t){return"function"==typeof t},email:function(t){return"string"==typeof t&&!!t.match(l.email)&&t.length<255},url:function(t){return"string"==typeof t&&!!t.match(l.url)},hex:function(t){return"string"==typeof t&&!!t.match(l.hex)}};e.default=function(t,e,n,i,r){if(t.required&&void 0===e)(0,s.default)(t,e,n,i,r);else{var l=t.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(l)>-1?c[l](e)||i.push(a.format(r.messages.types[l],t.fullField,t.type)):l&&(void 0===e?"undefined":o(e))!==t.type&&i.push(a.format(r.messages.types[l],t.fullField,t.type))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(9));e.default=function(t,e,n,o,a){var r="number"==typeof t.len,s="number"==typeof t.min,l="number"==typeof t.max,c=e,u=null,d="number"==typeof e,p="string"==typeof e,h=Array.isArray(e);if(d?u="number":p?u="string":h&&(u="array"),!u)return!1;h&&(c=e.length),p&&(c=e.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),r?c!==t.len&&o.push(i.format(a.messages[u].len,t.fullField,t.len)):s&&!l&&ct.max?o.push(i.format(a.messages[u].max,t.fullField,t.max)):s&&l&&(ct.max)&&o.push(i.format(a.messages[u].range,t.fullField,t.min,t.max))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(9));e.default=function(t,e,n,o,a){t.enum=Array.isArray(t.enum)?t.enum:[],-1===t.enum.indexOf(e)&&o.push(i.format(a.messages.enum,t.fullField,t.enum.join(", ")))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(9));e.default=function(t,e,n,o,a){if(t.pattern)if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(e)||o.push(i.format(a.messages.pattern.mismatch,t.fullField,e,t.pattern));else if("string"==typeof t.pattern){new RegExp(t.pattern).test(e)||o.push(i.format(a.messages.pattern.mismatch,t.fullField,e,t.pattern))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),void 0!==e&&a.default.type(t,e,i,s,o)}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if(""===e&&(e=void 0),(0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),void 0!==e&&(a.default.type(t,e,i,s,o),a.default.range(t,e,i,s,o))}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(9),a=n(10),r=(i=a)&&i.__esModule?i:{default:i};e.default=function(t,e,n,i,a){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,o.isEmptyValue)(e)&&!t.required)return n();r.default.required(t,e,i,s,a),void 0!==e&&r.default.type(t,e,i,s,a)}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),(0,r.isEmptyValue)(e)||a.default.type(t,e,i,s,o)}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),void 0!==e&&(a.default.type(t,e,i,s,o),a.default.range(t,e,i,s,o))}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),void 0!==e&&(a.default.type(t,e,i,s,o),a.default.range(t,e,i,s,o))}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e,"array")&&!t.required)return n();a.default.required(t,e,i,s,o,"array"),(0,r.isEmptyValue)(e,"array")||(a.default.type(t,e,i,s,o),a.default.range(t,e,i,s,o))}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),void 0!==e&&a.default.type(t,e,i,s,o)}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();a.default.required(t,e,i,s,o),e&&a.default.enum(t,e,i,s,o)}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e,"string")&&!t.required)return n();a.default.required(t,e,i,s,o),(0,r.isEmptyValue)(e,"string")||a.default.pattern(t,e,i,s,o)}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e)&&!t.required)return n();if(a.default.required(t,e,i,s,o),!(0,r.isEmptyValue)(e)){var l=void 0;l="number"==typeof e?new Date(e):e,a.default.type(t,l,i,s,o),l&&a.default.range(t,l.getTime(),i,s,o)}}n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=n(10),r=(i=a)&&i.__esModule?i:{default:i};e.default=function(t,e,n,i,a){var s=[],l=Array.isArray(e)?"array":void 0===e?"undefined":o(e);r.default.required(t,e,i,s,a,l),n(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(10),a=(i=o)&&i.__esModule?i:{default:i},r=n(9);e.default=function(t,e,n,i,o){var s=t.type,l=[];if(t.required||!t.required&&i.hasOwnProperty(t.field)){if((0,r.isEmptyValue)(e,s)&&!t.required)return n();a.default.required(t,e,i,l,o,s),(0,r.isEmptyValue)(e,s)||a.default.type(t,e,i,l,o)}n(l)}},function(t,e,n){"use strict";function i(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}Object.defineProperty(e,"__esModule",{value:!0}),e.newMessages=i;e.messages=i()},function(t,e,n){"use strict";n.r(e);var i=n(1);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var a=Object.prototype.hasOwnProperty;function r(t){return null!==t&&"object"===o(t)&&(e=t,n="componentOptions",a.call(e,n));var e,n}var s,l=Object(i.a)({name:"affix",props:{id:String,offsetTop:{type:Number,default:0},offsetBottom:{type:Number}},data:function(){return{affix:!1,styles:{},slot:!1,slotStyle:{}}},computed:{parent:function(){return this.validatenull(this.id)?window:(t=this.id,("object"===("undefined"==typeof HTMLElement?"undefined":o(HTMLElement))?t instanceof HTMLElement:t&&"object"===o(t)&&1===t.nodeType&&"string"==typeof t.nodeName)?this.id:window.document.getElementById(this.id));var t},offsetType:function(){var t="top";return this.offsetBottom>=0&&(t="bottom"),t}},mounted:function(){this.parent.addEventListener("scroll",this.handleScroll,!1),this.parent.addEventListener("resize",this.handleScroll,!1)},beforeDestroy:function(){this.parent.removeEventListener("scroll",this.handleScroll,!1),this.parent.removeEventListener("resize",this.handleScroll,!1)},methods:{getScroll:function(t,e){var n=e?"scrollTop":"scrollLeft",i=t[e?"pageYOffset":"pageXOffset"];return"number"!=typeof i&&(i=window.document.documentElement[n]),i},getOffset:function(t){var e=t.getBoundingClientRect(),n=this.getScroll(this.parent,!0),i=this.getScroll(this.parent),o=window.document.body,a=o.clientTop||0,r=o.clientLeft||0;return{top:e.top+n-a,left:e.left+i-r}},handleScroll:function(){var t=this.affix,e=this.getScroll(this.parent,!0),n=this.getOffset(this.$el),i=this.parent.innerHeight,o=this.$el.getElementsByTagName("div")[0].offsetHeight;n.top-this.offsetTope&&"top"==this.offsetType&&t&&(this.slot=!1,this.slotStyle={},this.affix=!1,this.styles=null,this.$emit("on-change",!1)),n.top+this.offsetBottom+o>e+i&&"bottom"==this.offsetType&&!t?(this.affix=!0,this.styles={bottom:"".concat(this.offsetBottom,"px"),left:"".concat(n.left,"px"),width:"".concat(this.$el.offsetWidth,"px")},this.$emit("on-change",!0)):n.top+this.offsetBottom+o0&&void 0!==arguments[0]?arguments[0]:{},n=!0===e.mine,i=e.text||{},o=e.date,a={date:o||T()().format("YYYY-MM-DD HH:mm:ss"),text:"object"!=P(i)?{text:i}:i,mine:n,img:n?this.config.myImg:this.config.img,name:n?this.config.myName:this.config.name};this.list.push(a),setTimeout((function(){t.setScroll()}),50)},setScroll:function(t){var e=this;this.$nextTick((function(){e.$refs.main.scrollTop=t||e.$refs.main.scrollHeight}))},handleSend:function(){this.msgActive&&this.$emit("submit")},handleItemMsg:function(t){this.$emit("submit",t.ask)},handleDetail:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=e;return setTimeout((function(){t.$refs.content.forEach((function(e){for(var n=function(n){var i=e.children[n];0!=i.getAttribute("data-flag")&&(i.setAttribute("data-flag",0),i.onclick=function(){t.handleEvent(i.dataset)},"IMG"===i.tagName?(i.className="web__msg--img",i.src=i.getAttribute("data-src")):"VIDEO"===i.tagName?(i.className="web__msg--video",i.src=i.getAttribute("data-src")):"AUDIO"===i.tagName?(i.className="web__msg--audio",i.controls="controls",i.src=i.getAttribute("data-src")):"FILE"===i.tagName?(i.className="web__msg--file",i.innerHTML="

File

".concat(i.getAttribute("data-name"),"")):"MAP"===i.tagName&&(i.className="web__msg--file web__msg--map",i.innerHTML="

Map

".concat(i.getAttribute("data-longitude")," , ").concat(i.getAttribute("data-latitude"),"
").concat(i.getAttribute("data-address"),"
")),t.setScroll())},i=0;i0&&void 0!==arguments[0]?arguments[0]:{},e=t.type,n=t.src,i=t.name,o=t.longitude,a=t.latitude,r=t.address;return"img"===e?''):"video"===e?''):"audio"===e?''):"file"===e?''):"map"===e?''):void 0},handleEvent:function(t){var e=this,n=function(){"IMG"===t.type?(e.imgSrc=t.src,e.show=!0):"VIDEO"===t.type?(e.videoSrc=t.src,e.show=!0):"AUDIO"===t.type?(e.audioSrc=t.src,e.show=!0):"FILE"===t.type&&window.open(t.src)};"function"==typeof this.beforeOpen?this.beforeOpen(t,n):n()},rootSendMsg:function(t){this.pushMsg({text:t}),this.notice&&this.getNotification(t.text||t)}}}),$=Object(c.a)(I,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.heightStyleName,on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleSend(e)}}},[n("audio",{ref:"chatAudio"},[n("source",{attrs:{src:t.audio[0],type:"audio/ogg"}}),t._v(" "),n("source",{attrs:{src:t.audio[1],type:"audio/mpeg"}}),t._v(" "),n("source",{attrs:{src:t.audio[2],type:"audio/wav"}})]),t._v(" "),n("div",{staticClass:"web__logo"},[n("img",{staticClass:"web__logo-img",attrs:{src:t.config.img,alt:""}}),t._v(" "),n("div",{staticClass:"web__logo-info"},[n("p",{staticClass:"web__logo-name"},[t._v(t._s(t.config.name))]),t._v(" "),n("p",{staticClass:"web__logo-dept"},[t._v(t._s(t.config.dept))])]),t._v(" "),t._t("header")],2),t._v(" "),n("div",{staticClass:"web__content"},[n("div",{style:t.widthStyleName},[n("div",{ref:"main",staticClass:"web__main"},t._l(t.list,(function(e,i){return n("div",{key:i,staticClass:"web__main-item",class:{"web__main-item--mine":e.mine}},[n("div",{staticClass:"web__main-user"},[n("img",{attrs:{src:e.img}}),t._v(" "),n("cite",[t._v("\n "+t._s(e.name)+"\n "),n("i",[t._v(t._s(e.date))])])]),t._v(" "),n("div",{staticClass:"web__main-text"},[n("div",{staticClass:"web__main-arrow"}),t._v(" "),n("span",{ref:"content",refInFor:!0,domProps:{innerHTML:t._s(t.handleDetail(e.text.text))}}),t._v(" "),t.validatenull(e.text.list)?t._e():n("ul",{staticClass:" web__main-list"},t._l(e.text.list,(function(e,i){return n("li",{key:i,on:{click:function(n){return t.handleItemMsg(e)}}},[t._v(t._s(e.text))])})),0)])])})),0),t._v(" "),n("div",{staticClass:"web__footer",style:t.widthStyleName},[n("div",{staticClass:"web__tools"},[t.tools.img?n("i",{staticClass:"el-icon-picture-outline",on:{click:function(e){return t.handleUpload("img")}}}):t._e(),t._v(" "),t.tools.video?n("i",{staticClass:"el-icon-video-camera",on:{click:function(e){return t.handleUpload("video")}}}):t._e(),t._v(" "),t.tools.file?n("i",{staticClass:"el-icon-folder-opened",on:{click:function(e){return t.handleUpload("file")}}}):t._e()]),t._v(" "),n("div",{staticClass:"web__msg"},[n("textarea",{directives:[{name:"model",rawName:"v-model",value:t.msg,expression:"msg"}],staticClass:"web__msg-input",attrs:{rows:"2",placeholder:t.placeholder},domProps:{value:t.msg},on:{input:function(e){e.target.composing||(t.msg=e.target.value)}}}),t._v(" "),n("div",{staticClass:"web__msg-menu"},[n("el-dropdown",{staticClass:"web__msg-submit",attrs:{"split-button":"",type:"primary",size:"mini",trigger:"click"},on:{click:t.handleSend}},[t._v("\n 发送\n "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",[n("el-popover",{attrs:{placement:"top",width:"160"},model:{value:t.visible,callback:function(e){t.visible=e},expression:"visible"}},[n("el-input",{staticStyle:{"margin-bottom":"10px"},attrs:{size:"mini",rows:3,"show-word-limit":"",maxlength:"100",placeholder:"请输入快捷回复语",type:"textarea"},model:{value:t.keys,callback:function(e){t.keys=e},expression:"keys"}}),t._v(" "),n("div",{staticStyle:{"text-align":"right",margin:"0"}},[n("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){t.visible=!1}}},[t._v("取消")]),t._v(" "),n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.addKey}},[t._v("确定")])],1),t._v(" "),n("el-button",{attrs:{slot:"reference",type:"text",icon:"el-icon-plus"},slot:"reference"})],1)],1),t._v(" "),n("el-scrollbar",{staticStyle:{height:"100px"}},t._l(t.keylist,(function(e,i){return n("el-dropdown-item",{key:i,nativeOn:{click:function(n){return t.sendKey(e)}}},[n("el-tooltip",{attrs:{effect:"dark",content:e,placement:"top"}},[n("span",[t._v(" "+t._s(e.substr(0,10))+t._s(e.length>10?"...":""))])])],1)})),1)],1)],1)],1)])])]),t._v(" "),t._t("default")],2),t._v(" "),n("el-dialog",{attrs:{title:t.upload.title,"append-to-body":"",visible:t.upload.box,width:"30%"},on:{"update:visible":function(e){return t.$set(t.upload,"box",e)}}},[n("el-form",{ref:"form",attrs:{model:t.upload}},[n("el-form-item",{attrs:{prop:"src",rules:[{required:!0,message:"地址不能为空"}]}},[n("el-input",{staticStyle:{"margin-bottom":"10px"},attrs:{size:"mini",rows:4,"show-word-limit":"",maxlength:"100",placeholder:"请输入地址",type:"textarea"},model:{value:t.upload.src,callback:function(e){t.$set(t.upload,"src",e)},expression:"upload.src"}})],1)],1),t._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(e){t.upload.box=!1}}},[t._v("取 消")]),t._v(" "),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.uploadSubmit}},[t._v("确 定")])],1)],1),t._v(" "),n("el-dialog",{staticClass:"web__dialog",attrs:{visible:t.show,width:"40%","append-to-body":"","before-close":t.handleClose},on:{"update:visible":function(e){t.show=e}}},[t.imgSrc?n("img",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.imgSrc}}):t._e(),t._v(" "),t.videoSrc?n("video",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.videoSrc,controls:"controls"}}):t._e(),t._v(" "),t.audioSrc?n("audio",{staticStyle:{width:"100%","object-fit":"cover"},attrs:{src:t.audioSrc,controls:"controls"}}):t._e()])],1)}),[],!1,null,null,null).exports,L={avatar:"avatar",author:"author",body:"body"},z=Object(i.a)({name:"comment",props:{reverse:{type:Boolean,default:!1},data:{type:Object,default:function(){return{}}},props:{type:Object,default:function(){return L}},option:{type:Object,default:function(){return{}}}},computed:{avatarKey:function(){return this.props.avatar||L.avatar},authorKey:function(){return this.props.author||L.author},bodyKey:function(){return this.props.body||L.body},avatar:function(){return this.data[this.avatarKey]},author:function(){return this.data[this.authorKey]},body:function(){return this.data[this.bodyKey]}},mounted:function(){}}),N=Object(c.a)(z,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b({reverse:t.reverse})},[n("img",{class:t.b("avatar"),attrs:{src:t.avatar,alt:""}}),t._v(" "),n("div",{class:t.b("main")},[n("div",{class:t.b("header")},[t.author?n("div",{class:t.b("author"),domProps:{textContent:t._s(t.author)}}):t._e(),t._v(" "),t._t("default")],2),t._v(" "),t.body?n("div",{class:t.b("body"),domProps:{innerHTML:t._s(t.body)}}):t._e()])])}),[],!1,null,null,null).exports,B=n(21).a,F=Object(c.a)(B,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:[t.b(),{"avue--view":t.isView,"avue--detail":t.isDetail}],style:{width:t.setPx(t.parentOption.formWidth,"100%")}},[n("el-form",{ref:"form",attrs:{"status-icon":t.parentOption.statusIcon,model:t.form,"label-suffix":t.labelSuffix,size:t.$AVUE.formSize||t.controlSize,"label-position":t.parentOption.labelPosition,"label-width":t.setPx(t.parentOption.labelWidth,t.labelWidth)},nativeOn:{submit:function(t){t.preventDefault()}}},[n("el-row",{class:{"avue-form__tabs":t.isTabs},attrs:{span:24}},[t._l(t.columnOption,(function(e,i){return n("avue-group",{key:e.prop,attrs:{tabs:t.isTabs,arrow:e.arrow,collapse:e.collapse,display:t.vaildDisplay(e),icon:e.icon,index:i,header:!t.isTabs,active:t.activeName,label:e.label},on:{change:t.handleGroupClick}},[t.isTabs&&1==i?n("el-tabs",{class:t.b("tabs"),attrs:{slot:"tabs",type:t.tabsType},on:{"tab-click":t.handleTabClick},slot:"tabs",model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[t._l(t.columnOption,(function(e,i){return[t.vaildDisplay(e)&&0!=i?n("el-tab-pane",{key:i,attrs:{name:i+""}},[n("span",{attrs:{slot:"label"},slot:"label"},[t.$slots[t.getSlotName(e,"H")]?t._t(t.getSlotName(e,"H")):[n("i",{class:e.icon},[t._v(" ")]),t._v("\n "+t._s(e.label)+"\n ")]],2)]):t._e()]}))],2):t._e(),t._v(" "),t.$slots[t.getSlotName(e,"H")]?n("template",{slot:"header"},[t._t(t.getSlotName(e,"H"))],2):t._e(),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.isGroupShow(e,i),expression:"isGroupShow(item,index)"}],class:t.b("group",{flex:t.vaildData(e.flex,!0)})},[t._l(e.column,(function(i,o){return[t.vaildDisplay(i)?n("el-col",{key:o,class:[t.b("row"),{"avue--detail":t.vaildDetail(i)},i.className],style:{paddingLeft:t.setPx((t.parentOption.gutter||20)/2),paddingRight:t.setPx((t.parentOption.gutter||20)/2)},attrs:{span:t.getSpan(i),md:t.getSpan(i),sm:i.smSpan||e.smSpan||12,xs:i.xsSpan||e.xmSpan||24,offset:i.offset||e.offset||0}},[n("el-form-item",{class:t.b("item--"+(i.labelPosition||e.labelPosition||"")),attrs:{prop:i.prop,label:i.label,rules:i.rules,"label-position":i.labelPosition||e.labelPosition||t.parentOption.labelPosition,"label-width":t.getLabelWidth(i,e)},scopedSlots:t._u([{key:"error",fn:function(e){return t.$scopedSlots[i.prop+"Error"]?[t._t(i.prop+"Error",null,null,Object.assign(e,{column:i,value:t.form[i.prop],readonly:i.readonly||t.readonly,disabled:t.getDisabled(i),size:i.size||t.controlSize,dic:t.DIC[i.prop]}))]:void 0}}],null,!0)},[t.$scopedSlots[t.getSlotName(i,"L")]?n("template",{slot:"label"},[t._t(t.getSlotName(i,"L"),null,{column:i,value:t.form[i.prop],readonly:t.readonly||i.readonly,disabled:t.getDisabled(i),size:i.size||t.controlSize,dic:t.DIC[i.prop]})],2):i.labelTip?n("template",{slot:"label"},[n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",placement:i.labelTipPlacement||"top-start"}},[n("div",{attrs:{slot:"content"},domProps:{innerHTML:t._s(i.labelTip)},slot:"content"}),t._v(" "),n("i",{staticClass:"el-icon-info"})]),t._v(" "),n("span",[t._v(" "+t._s(i.label)+t._s(t.labelSuffix))])],1):t._e(),t._v(" "),t._v(" "),n(t.validTip(i)?"div":"elTooltip",{tag:"component",attrs:{disabled:t.validTip(i),content:t.vaildData(i.tip,t.getPlaceholder(i)),placement:i.tipPlacement}},[t.$scopedSlots[i.prop]?t._t(i.prop,null,{value:t.form[i.prop],column:i,label:t.form["$"+i.prop],size:i.size||t.controlSize,readonly:t.readonly||i.readonly,disabled:t.getDisabled(i),dic:t.DIC[i.prop]}):n("form-temp",t._b({ref:i.prop,refInFor:!0,attrs:{column:i,dic:t.DIC[i.prop],props:t.parentOption.props,propsHttp:t.parentOption.propsHttp,disabled:t.getDisabled(i),enter:t.parentOption.enter,size:t.parentOption.size,"column-slot":t.getChildrenColumn(i)},on:{enter:t.submit,change:function(n){return t.propChange(e.column,i)}},scopedSlots:t._u([t._l(t.getChildrenColumn(i),(function(e){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,null,n)]}}})),t._l(t.$scopedSlots[t.getSlotName(i,"T")]?[i]:[],(function(e){return{key:t.getSlotName(i,"T"),fn:function(n){return[t._t(t.getSlotName(e,"T"),null,null,n)]}}}))],null,!0),model:{value:t.form[i.prop],callback:function(e){t.$set(t.form,i.prop,e)},expression:"form[column.prop]"}},"form-temp",t.$uploadFun(i),!1))],2)],2)],1):t._e(),t._v(" "),t.vaildDisplay(i)&&i.row&&24!==i.span&&i.count?n("div",{key:"line"+o,class:t.b("line"),style:{width:i.count/24*100+"%"}}):t._e()]})),t._v(" "),t._t("search"),t._v(" "),t.isDetail||t.isMenu?t._e():n("form-menu",{scopedSlots:t._u([{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,e)]}}],null,!0)})],2)],2)})),t._v(" "),!t.isDetail&&t.isMenu?n("form-menu",{scopedSlots:t._u([{key:"menuForm",fn:function(e){return[t._t("menuForm",null,null,e)]}}],null,!0)}):t._e()],2)],1)],1)}),[],!1,null,null,null).exports,R=n(3),K=n(15),W=function(){return{mixins:[K.a],data:function(){return{stringMode:!1,name:"",text:void 0,propsHttpDefault:R.d,propsDefault:R.e}},props:{blur:Function,focus:Function,change:Function,click:Function,typeformat:Function,control:Function,separator:{type:String,default:R.g},params:{type:Object,default:function(){return{}}},listType:{type:String},value:{},column:{type:Object,default:function(){return{}}},label:{type:String,default:""},readonly:{type:Boolean,default:!1},size:{type:String,default:""},tip:{type:String,default:""},disabled:{type:Boolean,default:!1},dataType:{type:String},clearable:{type:Boolean,default:!0},type:{type:String,default:""},dicUrl:{type:String,default:""},dicMethod:{type:String,default:""},dicFormatter:Function,dicQuery:{type:Object,default:function(){return{}}},dic:{type:Array,default:function(){return[]}},placeholder:{type:String,default:""},rules:{type:Array},min:{type:Number},max:{type:Number},multiple:{type:Boolean,default:!1},button:{type:Boolean,default:!1},group:{type:Boolean,default:!1},row:{type:Boolean,default:!1},prop:{type:String,default:""},border:{type:Boolean,default:!1},propsHttp:{type:Object,default:function(){return R.d}},props:{type:Object,default:function(){return R.e}}},watch:{text:{handler:function(t){this.handleChange(t)}},value:{handler:function(){this.initVal()}}},computed:{componentName:function(){var t=this.$AVUE.ui.type;return"".concat(t,"-").concat(this.name).concat(this.button?"-button":"")},required:function(){return!this.validatenull(this.rules)},isArray:function(){return"array"===this.dataType},isString:function(){return"string"===this.dataType},isNumber:function(){return"number"===this.dataType},nameKey:function(){return this.propsHttp.name||this.propsHttpDefault.name},urlKey:function(){return this.propsHttp.url||this.propsHttpDefault.url},resKey:function(){return this.propsHttp.res||this.propsHttpDefault.res},groupsKey:function(){return this.props.groups||this.propsDefault.groups},valueKey:function(){return this.props.value||this.propsDefault.value},descKey:function(){return this.props.desc||this.propsDefault.desc},leafKey:function(){return this.props.leaf||this.propsDefault.leaf},labelKey:function(){return this.props.label||this.propsDefault.label},childrenKey:function(){return this.props.children||this.propsDefault.children},disabledKey:function(){return this.props.disabled||this.propsDefault.disabled},idKey:function(){return this.props.id||this.propsDefault.id}},created:function(){this.initVal()}}},U=n(8);function H(t,e,n){"function"==typeof t[e]&&t[e]({value:t.value,column:t.column}),t.$emit(e,t.value,n)}var V,q=function(){return{methods:{initVal:function(){var t=this;this.text=Object(U.h)(this.value,this.column,(function(e){t.stringMode=e}))},getLabelText:function(t){return this.validatenull(t)?"":"function"==typeof this.typeformat?this.typeformat(t,this.labelKey,this.valueKey):t[this.labelKey]},handleFocus:function(t){H(this,"focus",t)},handleBlur:function(t){H(this,"blur",t)},handleClick:function(t){H(this,"click",t)},handleChange:function(t){var e=t;(this.isString||this.isNumber||this.stringMode||"picture-img"===this.listType)&&Array.isArray(t)&&(e=t.join(",")),"function"==typeof this.change&&!0!==this.column.cell&&this.change({value:e,column:this.column}),this.$emit("input",e),this.$emit("change",e)}}}},Y=Object(i.a)({name:"checkbox",props:{all:{type:Boolean,default:!1}},mixins:[W(),q()],data:function(){return{checkAll:!1,isIndeterminate:!1,name:"checkbox"}},watch:{dic:function(){this.handleCheckChange(this.text)},text:{handler:function(t){this.handleChange(t),this.handleCheckChange(t)},immediate:!0}},created:function(){},mounted:function(){},methods:{handleCheckAll:function(t){var e=this;this.all&&(this.text=t?this.dic.map((function(t){return t[e.valueKey]})):[],this.isIndeterminate=!1)},handleCheckChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.all){var e=t.length;if(0!==e){var n=this.dic.length;this.checkAll=e===n,this.isIndeterminate=e>0&&e0&&void 0!==arguments[0]?arguments[0]:0;return 0==t?"info":1==t?"":2==t?"warning":3==t?"danger":4==t?"success":void 0}}}),ut=Object(c.a)(ct,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[t._l(t.data,(function(e,i){return n("div",{key:i,class:t.b("item"),on:{click:function(n){return t.click(e)}}},[e[t.imgKey]?n("div",{class:t.b("img")},[n("img",{attrs:{src:e[t.imgKey],alt:""}})]):t._e(),t._v(" "),n("div",{class:t.b("content")},[n("div",{class:t.b("title")},[n("span",{class:t.b("name")},[t._v(t._s(e[t.titleKey]))]),t._v(" "),e[t.tagKey]?n("span",{class:t.b("tag")},[n("el-tag",{attrs:{size:"small",type:t.getType(e[t.statusKey])}},[t._v(t._s(e[t.tagKey]))])],1):t._e()]),t._v(" "),n("div",{class:t.b("subtitle")},[t._v(t._s(e[t.subtitleKey]))])])])})),t._v(" "),n("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],class:t.b("more"),on:{click:t.handleClick}},[t._v("\n 加载更多\n ")])],2)}),[],!1,null,null,null).exports,dt=Object(i.a)({name:"license",props:{id:{type:String,default:""},option:{type:Object,default:function(){return{}}}},watch:{option:{handler:function(){this.init()},deep:!0}},data:function(){return{base64:"",draw:!1,canvas:"",context:""}},computed:{img:function(){return this.option.img},list:function(){return this.option.list||[]}},mounted:function(){this.canvas=document.getElementById("canvas"+this.id),this.context=this.canvas.getContext("2d"),this.init()},methods:{init:function(){var t=this;this.draw=!1;var e=new Image;e.src=this.img,e.onload=function(){var n=t.option.width||e.width,i=t.option.width?e.height/e.width*t.option.width:e.height;t.$refs.canvas.width=n,t.$refs.canvas.height=i,t.context.clearRect(0,0,n,i),t.context.drawImage(e,0,0,n,i),t.list.forEach((function(e,n){var i=function(){n==t.list.length-1&&setTimeout((function(){t.draw=!0}),0)};if(e.img){var o=new Image;o.src=e.img,o.onload=function(){var n=e.width||o.width,a=e.width?o.height/o.width*e.width:o.height;t.context.drawImage(o,e.left,e.top,n,a),i()}}else e.bold?t.context.font="bold ".concat(e.size,"px ").concat(e.style):t.context.font="".concat(e.size,"px ").concat(e.style),t.context.fillStyle=e.color,t.context.fillText(e.text,e.left,e.top),t.context.stroke(),i()}))}},getFile:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime();return new Promise((function(n){var i=setInterval((function(){if(t.draw){var o=t.canvas.toDataURL("image/jpeg",1),a=t.dataURLtoFile(o,e);clearInterval(i),n(a)}}),1e3)}))},downFile:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime();Object(Z.h)(this.base64,t)},getBase64:function(){var t=this;return new Promise((function(e){var n=setInterval((function(){if(t.draw){var i=t.canvas.toDataURL("image/jpeg",1);t.base64=i,clearInterval(n),e(i)}}),100)}))},getPdf:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(new Date).getTime(),e=this.canvas.width,n=this.canvas.height,i=e/592.28*841.89,o=n,a=0,r=595.28,s=592.28/e*n,l=this.canvas.toDataURL("image/jpeg",1),c=new window.jsPDF("","pt","a4");if(o0;)c.addImage(l,"JPEG",0,a,r,s),a-=841.89,(o-=i)>0&&c.addPage();c.save("".concat(t,".pdf"))}}}),pt=Object(c.a)(dt,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),staticStyle:{position:"relative"}},[e("canvas",{ref:"canvas",attrs:{id:"canvas"+this.id}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null).exports,ht=Object(i.a)({name:"progress",props:{showText:{type:Boolean},width:{type:[Number,String]},strokeWidth:{type:[Number,String]},type:{type:String},color:{type:String},percentage:{type:[Number]}}}),ft=Object(c.a)(ht,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b()},[e("el-progress",{attrs:{type:this.type,color:this.color,width:this.width,"text-inside":"","show-text":this.showText,"stroke-width":this.strokeWidth,percentage:this.percentage}})],1)}),[],!1,null,null,null).exports,mt=Object(i.a)({name:"time",mixins:[W(),q(),X.a],data:function(){return{}},props:{editable:Boolean,startPlaceholder:{type:String,default:"开始时间"},endPlaceholder:{type:String,default:"结束时间"},rangeSeparator:{type:String},value:{required:!0},defaultValue:{type:[String,Array]},valueFormat:{default:""},arrowControl:{type:Boolean,default:!1},type:{default:""},format:{default:""}},watch:{text:function(){Array.isArray(this.text)&&this.validatenull(this.text)&&(this.text=this.text.join(","))}},created:function(){},mounted:function(){},computed:{isRange:function(){return"timerange"===this.type}},methods:{}}),bt=Object(c.a)(mt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-time-picker",{attrs:{"is-range":t.isRange,size:t.size,editable:t.editable,"default-value":t.defaultValue,"range-separator":t.rangeSeparator,"arrow-control":t.arrowControl,"start-placeholder":t.startPlaceholder,"end-placeholder":t.endPlaceholder,format:t.format,readonly:t.readonly,clearable:!t.disabled&&t.clearable,"value-format":t.valueFormat,placeholder:t.placeholder,disabled:t.disabled},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})],1)}),[],!1,null,null,null).exports,vt=n(4);function yt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var gt,_t=Object(i.a)({name:"input",mixins:[W(),q()],data:function(){return{}},props:(V={value:{},maxlength:"",minlength:"",showPassword:{type:Boolean,default:!0},showWordLimit:{type:Boolean,default:!1},target:{type:String,default:" _blank"},prefixIcon:{type:String},suffixIcon:{type:String},prependClick:{type:Function,default:function(){}},prepend:{type:String},appendClick:{type:Function,default:function(){}},append:{type:String}},yt(V,"minlength",{type:Number}),yt(V,"maxlength",{type:Number}),yt(V,"minRows",{type:Number,default:5}),yt(V,"maxRows",{type:Number,default:10}),yt(V,"autocomplete",{type:String}),V),computed:{isSearch:function(){return"search"==this.type},typeParam:function(){return"textarea"===this.type?"textarea":"password"===this.type?"password":"text"}}}),xt=Object(c.a)(_t,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-input",{class:t.b(),attrs:{size:t.size,clearable:!t.disabled&&t.clearable,type:t.typeParam,maxlength:t.maxlength,minlength:t.minlength,"show-password":"password"==t.typeParam&&t.showPassword,autosize:{minRows:t.minRows,maxRows:t.maxRows},"prefix-icon":t.prefixIcon,"suffix-icon":t.suffixIcon,readonly:t.readonly,placeholder:t.placeholder,"show-word-limit":t.showWordLimit,disabled:t.disabled,autocomplete:t.autocomplete},on:{keyup:function(e){if(!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter"))return null;t.isSearch&&t.appendClick()},focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[t.prepend?n("template",{slot:"prepend"},[n("span",{on:{click:function(e){return t.prependClick()}}},[t._v(t._s(t.prepend))])]):t._e(),t._v(" "),t.append?n("template",{slot:"append"},[n("span",{on:{click:function(e){return t.appendClick()}}},[t._v(t._s(t.append))])]):t.isSearch?n("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:function(e){return t.appendClick()}},slot:"append"}):t._e()],2)}),[],!1,null,null,null).exports,wt=Object(i.a)({name:"radio",mixins:[W(),q()],data:function(){return{name:"radio"}},props:{value:{}},watch:{},created:function(){},mounted:function(){},methods:{}}),St=Object(c.a)(wt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-radio-group",{attrs:{size:t.size,disabled:t.disabled},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},t._l(t.dic,(function(e,i){return n(t.componentName,{key:i,tag:"component",attrs:{label:e[t.valueKey],border:t.border,readonly:t.readonly,disabled:e[t.disabledKey]}},[t._v(t._s(e[t.labelKey]))])})),1)],1)}),[],!1,null,null,null).exports,Ot=n(11),Ct=Object(i.a)({name:"select",mixins:[W(),q()],data:function(){return{created:!1,netDic:[],loading:!1}},props:{value:{},loadingText:{type:String},noMatchText:{type:String},noDataText:{type:String},drag:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},tags:{type:Boolean,default:!1},limit:{type:Number,default:0},filterable:{type:Boolean,default:!1},allowCreate:{type:Boolean,default:!1},defaultFirstOption:{type:Boolean,default:!1}},watch:{value:function(t){this.validatenull(t)||this.remote&&!this.created&&(this.created=!0,this.handleRemoteMethod(this.multiple?this.text.join(","):this.text))},dic:{handler:function(t){this.netDic=t},immediate:!0}},mounted:function(){this.drag&&this.setSort()},methods:{setSort:function(){var t=this;if(window.Sortable){var e=this.$refs.main.$el.querySelectorAll(".el-select__tags > span")[0];this.sortable=window.Sortable.create(e,{ghostClass:"sortable-ghost",setData:function(t){t.setData("Text","")},onEnd:function(e){var n=t.value.splice(e.oldIndex,1)[0];t.value.splice(e.newIndex,0,n)}})}else D.a.logs("Sortable")},handleRemoteMethod:function(t){var e=this;this.loading=!0,Object(Ot.d)({column:this.column,value:t}).then((function(t){e.loading=!1,e.netDic=t}))}}}),kt=Object(c.a)(Ct,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-select",{ref:"main",class:t.b(),attrs:{size:t.size,loading:t.loading,"loading-text":t.loadingText,multiple:t.multiple,filterable:!!t.remote||t.filterable,remote:t.remote,readonly:t.readonly,"no-match-text":t.noMatchText,"no-data-text":t.noDataText,"remote-method":t.handleRemoteMethod,"collapse-tags":t.tags,clearable:!t.disabled&&t.clearable,placeholder:t.placeholder,"multiple-limit":t.limit,"allow-create":t.allowCreate,"default-first-option":t.defaultFirstOption,disabled:t.disabled},on:{focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[t.group?t._l(t.netDic,(function(e,i){return n("el-option-group",{key:i,attrs:{label:t.getLabelText(e)}},t._l(e[t.groupsKey],(function(e,i){return n("el-option",{key:i,attrs:{disabled:e[t.disabledKey],label:t.getLabelText(e),value:e[t.valueKey]}},[t.$scopedSlots.default?t._t("default",null,{label:t.labelKey,value:t.valueKey,item:e}):[n("span",[t._v(t._s(t.getLabelText(e)))]),t._v(" "),e.desc?n("span",{class:t.b("desc")},[t._v(t._s(e.desc))]):t._e()]],2)})),1)})):t._l(t.netDic,(function(e,i){return n("el-option",{key:i,attrs:{disabled:e[t.disabledKey],label:t.getLabelText(e),value:e[t.valueKey]}},[t.$scopedSlots.default?t._t("default",null,{label:t.labelKey,value:t.valueKey,item:e}):[n("span",[t._v(t._s(t.getLabelText(e)))]),t._v(" "),e[t.descKey]?n("span",{class:t.b("desc")},[t._v(t._s(e[t.descKey]))]):t._e()]],2)}))],2)}),[],!1,null,null,null).exports;function jt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Dt=Object(i.a)({name:"cascader",mixins:[W(),q()],props:(gt={checkStrictly:{type:Boolean,default:!1},emitPath:{type:Boolean,default:!0},tags:{type:Boolean,default:!1},value:{type:Array,default:function(){return[]}},changeOnSelect:{type:Boolean,default:!1},expandTrigger:{type:String,default:"hover"},showAllLevels:{type:Boolean,default:!0},lazy:{type:Boolean,default:!1},lazyLoad:Function,filterable:{type:Boolean,default:!1}},jt(gt,"expandTrigger",{type:String,default:"click"}),jt(gt,"separator",{type:String}),gt),data:function(){return{}},watch:{},computed:{allProps:function(){var t=this;return{label:this.labelKey,value:this.valueKey,children:this.childrenKey,checkStrictly:this.checkStrictly,multiple:this.multiple,emitPath:this.emitPath,lazy:this.lazy,lazyLoad:function(e,n){t.lazyLoad&&t.lazyLoad(e,(function(i){!function e(n,i,o){n.forEach((function(n){n[t.valueKey]==i?n[t.childrenKey]=o:n[t.childrenKey]&&e(n[t.childrenKey])}))}(t.dic,e[t.valueKey],i),n(i)}))},expandTrigger:this.expandTrigger}}},created:function(){},mounted:function(){},methods:{}}),Et=Object(c.a)(Dt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-cascader",{attrs:{options:t.dic,placeholder:t.placeholder,props:t.allProps,size:t.size,"change-on-select":t.changeOnSelect,clearable:!t.disabled&&t.clearable,"show-all-levels":t.showAllLevels,filterable:t.filterable,separator:t.separator,disabled:t.disabled,"collapse-tags":t.tags},on:{focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick(e)}},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.data,o=e.node;return[t.$scopedSlots.default?t._t("default",null,{data:i,node:o}):n("span",[t._v(t._s(i[t.labelKey]))])]}}],null,!0),model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})}),[],!1,null,null,null).exports,Mt=Object(i.a)({name:"input-color",mixins:[W(),q()],props:{colorFormat:String,iconList:{type:Array,default:function(){return[]}}},data:function(){return{predefineColors:["#ff4500","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgba(255, 69, 0, 0.68)","rgb(255, 120, 0)","hsv(51, 100, 98)","hsva(120, 40, 94, 0.5)","hsl(181, 100%, 37%)","hsla(209, 100%, 56%, 0.73)","#c7158577"]}},methods:{}}),At=Object(c.a)(Mt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-input",{ref:"main",attrs:{placeholder:t.placeholder,size:t.size,readonly:t.readonly,clearable:!t.disabled&&t.clearable,disabled:t.disabled},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[n("template",{slot:"append"},[n("el-color-picker",{attrs:{size:"mini","color-format":t.colorFormat,disabled:t.disabled,"show-alpha":"",predefine:t.predefineColors},on:{change:t.handleChange},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})],1)],2)],1)}),[],!1,null,null,null).exports,Tt=Object(i.a)({name:"input-number",mixins:[W(),q()],data:function(){return{}},props:{controls:{type:Boolean,default:!0},step:{type:Number,default:1},controlsPosition:{type:String,default:"right"},precision:{type:Number},minRows:{type:Number,default:-1/0},maxRows:{type:Number,default:1/0}},created:function(){},mounted:function(){},methods:{}}),Pt=Object(c.a)(Tt,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("el-input-number",{class:t.b(),attrs:{precision:t.precision,placeholder:t.placeholder,size:t.size,min:t.minRows,max:t.maxRows,step:t.step,clearable:!t.disabled&&t.clearable,readonly:t.readonly,"controls-position":t.controlsPosition,controls:t.controls,label:t.placeholder,disabled:t.disabled},on:{focus:t.handleFocus,blur:t.handleBlur},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=t._n(e)},expression:"text"}})}),[],!1,null,null,null).exports,It=Object(i.a)({name:"input-tree",mixins:[W(),q()],data:function(){return{node:[],filterValue:"",box:!1,created:!1,netDic:[],loading:!1}},props:{nodeClick:Function,treeLoad:Function,checked:Function,value:{},loadingText:{type:String},lazy:{type:Boolean,default:!1},leafOnly:{type:Boolean,default:!1},tags:{type:Boolean,default:!1},limit:{type:Number,default:0},expandOnClickNode:{type:Boolean,default:!0},filter:{type:Boolean,default:!0},filterText:{type:String,default:"输入关键字进行过滤"},checkStrictly:{type:Boolean,default:!1},accordion:{type:Boolean,default:!1},parent:{type:Boolean,default:!0},defaultExpandedKeys:{type:Array},iconClass:{type:String},defaultCheckedKeys:{type:Array},defaultExpandAll:{type:Boolean,default:!1}},watch:{text:{handler:function(t){this.init(),this.validatenull(t)&&this.clearHandle()}},value:function(t){this.validatenull(t)||this.lazy&&!this.created&&(this.created=!0,this.handleRemoteMethod(this.multiple?this.text.join(","):this.text))},dic:{handler:function(t){this.netDic=t},immediate:!0},netDic:{handler:function(){this.init()},immediate:!0},filterValue:function(t){this.$refs.tree.filter(t)}},computed:{treeProps:function(){return Object.assign(this.props,{isLeaf:this.leafKey})},dicList:function(){var t=this.netDic;return function t(e,n){e.forEach((function(e){var i=e.children;i&&t(i,e),n&&(e.$parent=n)}))}(t),t},keysList:function(){var t=this;if(this.validatenull(this.text))return[];return Array.isArray(this.text)?this.text:(this.text+"").split(this.separator).map((function(e){return Object(Z.f)(e,t.dataType)}))},labelShow:function(){var t=this,e=[],n=this.deepClone(this.node);return e=this.typeformat?n.map((function(e){return t.getLabelText(e)})):n.map((function(e){return e[t.labelKey]})),this.multiple?e:e.join("")}},methods:{handleClear:function(){this.multiple?this.text=[]:this.text="",this.node=[]},handleTreeLoad:function(t,e){var n=this;this.treeLoad&&this.treeLoad(t,(function(i){!function t(e,i,o){e.forEach((function(e){e[n.valueKey]==i?e[n.childrenKey]=o:e[n.childrenKey]&&t(e[n.childrenKey])}))}(n.netDic,t.key,i),e(i)}))},initScroll:function(t){var e=this;setTimeout((function(){e.$nextTick((function(){document.querySelectorAll(".el-scrollbar .el-select-dropdown__wrap").forEach((function(t){t.scrollTop=0}))}))}),0),this.handleClick(t)},filterNode:function(t,e){return!t||-1!==e[this.labelKey].toLowerCase().indexOf(t.toLowerCase())},checkChange:function(t,e,n,i){var o=this;this.text=[],this.$refs.tree.getCheckedNodes(this.leafOnly,!1).forEach((function(t){return o.text.push(t[o.valueKey])})),"function"==typeof this.checked&&this.checked(t,e,n,i)},getHalfList:function(){var t=this,e=this.$refs.tree.getCheckedNodes(!1,!0);return e=e.map((function(e){return e[t.valueKey]}))},init:function(){var t=this;this.$nextTick((function(){if(t.node=[],t.multiple){t.$refs.tree.getCheckedNodes(t.leafOnly,!1).forEach((function(e){t.node.push(e)}))}else{var e=t.$refs.tree.getNode(t.text);if(e){var n=e.data;t.$refs.tree.setCurrentKey(n[t.valueKey]),t.node.push(n)}}})),this.disabledParentNode(this.dic,this.parent)},disabledParentNode:function(t,e){var n=this;t.forEach((function(t){var i=t[n.childrenKey];n.validatenull(i)||(e||(t.disabled=!0),n.disabledParentNode(i,e))}))},clearHandle:function(){this.filterValue="",this.$refs.tree.setCurrentKey(null),this.$refs.tree.setCheckedKeys([])},handleNodeClick:function(t,e,n){t.disabled||("function"==typeof this.nodeClick&&this.nodeClick(t,e,n),this.multiple||(this.validatenull(t[this.childrenKey])&&!this.multiple||this.parent)&&(this.text=t[this.valueKey],this.$refs.main.blur()))},handleRemoteMethod:function(t){var e=this;this.loading=!0,Object(Ot.d)({column:this.column,value:t}).then((function(t){e.loading=!1,e.netDic=t}))}}}),$t=Object(c.a)(It,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-select",{ref:"main",class:t.b(),attrs:{size:t.size,loading:t.loading,"loading-text":t.loadingText,multiple:t.multiple,"multiple-limit":t.limit,"collapse-tags":t.tags,value:t.labelShow,clearable:!t.disabled&&t.clearable,placeholder:t.placeholder,disabled:t.disabled},on:{focus:t.handleFocus,blur:t.handleBlur,clear:t.handleClear},nativeOn:{click:function(e){return t.initScroll(e)}}},[t.filter?n("div",{staticStyle:{padding:"0 10px",margin:"5px 0 0 0"}},[n("el-input",{attrs:{size:"mini",placeholder:t.filterText},model:{value:t.filterValue,callback:function(e){t.filterValue=e},expression:"filterValue"}})],1):t._e(),t._v(" "),n("el-option",{attrs:{value:t.text}},[n("el-tree",{ref:"tree",staticClass:"tree-option",staticStyle:{padding:"10px 0"},attrs:{data:t.dicList,lazy:t.lazy,load:t.handleTreeLoad,"node-key":t.valueKey,accordion:t.accordion,"icon-class":t.iconClass,"show-checkbox":t.multiple,"expand-on-click-node":t.expandOnClickNode,props:t.treeProps,"check-strictly":t.checkStrictly,"highlight-current":!t.multiple,"current-node-key":t.multiple?"":t.text,"filter-node-method":t.filterNode,"default-expanded-keys":t.defaultExpandedKeys?t.defaultExpandedKeys:t.defaultExpandAll?[]:t.keysList,"default-checked-keys":t.defaultCheckedKeys?t.defaultCheckedKeys:t.keysList,"default-expand-all":t.defaultExpandAll},on:{check:t.checkChange,"node-click":function(e){return e.target!==e.currentTarget?null:t.handleNodeClick(e)}},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.data;return n("div",{staticStyle:{width:"100%","padding-right":"10px"}},[t.$scopedSlots.default?t._t("default",null,{label:t.labelKey,value:t.valueKey,item:i}):n("span",{class:{"avue--disabled":i[t.disabledKey]}},[t._v(t._s(i[t.labelKey]))])],2)}}],null,!0)})],1)],1)}),[],!1,null,null,null).exports,Lt=Object(i.a)({name:"input-map",mixins:[W(),q()],props:{dialogWidth:{type:String,default:"80%"}},data:function(){return{formattedAddress:"",address:"",poi:{},marker:null,map:null,box:!1}},watch:{poi:function(t){this.formattedAddress=t.formattedAddress},value:function(t){this.validatenull(t)&&(this.poi={})},text:function(t){this.validatenull(t)||(this.poi={longitude:t[0],latitude:t[1],formattedAddress:t[2]},this.address=t[2])},box:{handler:function(){var t=this;this.box&&this.$nextTick((function(){return t.init((function(){t.longitude&&t.latitude&&(t.addMarker(t.longitude,t.latitude),t.getAddress(t.longitude,t.latitude))}))}))},immediate:!0}},computed:{longitude:function(){return this.text[0]},latitude:function(){return this.text[1]},title:function(){return this.disabled||this.readonly?"查看":"选择"}},methods:{clear:function(){this.poi={},this.clearMarker()},handleSubmit:function(){this.setVal(),this.box=!1},handleClear:function(){this.text=[],this.poi={},this.handleChange(this.text)},setVal:function(){this.text=[this.poi.longitude,this.poi.latitude,this.poi.formattedAddress],this.handleChange(this.text)},handleShow:function(){this.$refs.main.blur(),this.box=!0},addMarker:function(t,e){this.clearMarker(),this.marker=new window.AMap.Marker({position:[t,e]}),this.marker.setMap(this.map)},clearMarker:function(){this.marker&&(this.marker.setMap(null),this.marker=null)},getAddress:function(t,e){var n=this;new window.AMap.service("AMap.Geocoder",(function(){new window.AMap.Geocoder({}).getAddress([t,e],(function(i,o){if("complete"===i&&"OK"===o.info){var a=o.regeocode;n.poi=Object.assign(a,{longitude:t,latitude:e});var r=document.createElement("div"),s=document.createElement("img");s.src="//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",r.appendChild(s);var l=document.createElement("span");l.className="avue-input-map__marker",l.innerHTML=n.poi.formattedAddress,r.appendChild(l),n.marker.setContent(r)}}))}))},handleClose:function(){window.poiPicker.clearSearchResults()},addClick:function(){var t=this;this.map.on("click",(function(e){if(!t.disabled&&!t.readonly){var n=e.lnglat,i=n.P||n.Q,o=n.R;t.addMarker(o,i),t.getAddress(o,i)}}))},init:function(t){var e=this;window.AMap?(this.map=new window.AMap.Map("map__container",Object.assign({zoom:13,center:function(){if(e.longitude&&e.latitude)return[e.longitude,e.latitude]}()},this.params)),this.initPoip(),this.addClick(),t()):D.a.logs("Map")},initPoip:function(){var t=this;window.AMapUI?window.AMapUI.loadUI(["misc/PoiPicker"],(function(e){var n=new e({input:"map__input",placeSearchOptions:{map:t.map,pageSize:10},searchResultsContainer:"map__result"});t.poiPickerReady(n)})):D.a.logs("MapUi")},poiPickerReady:function(t){var e=this;window.poiPicker=t,t.on("poiPicked",(function(n){e.clearMarker();var i=n.source,o=n.item;e.poi=Object.assign(o,{formattedAddress:o.name,longitude:o.location.R,latitude:o.location.P||o.location.Q}),"search"!==i&&t.searchByKeyword(o.name)}))}}}),zt=Object(c.a)(Lt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-input",{ref:"main",attrs:{size:t.size,clearable:!t.disabled&&t.clearable,disabled:t.disabled,placeholder:t.placeholder},on:{clear:t.handleClear,focus:t.handleShow},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.address,callback:function(e){t.address=e},expression:"address"}}),t._v(" "),n("el-dialog",{staticClass:"avue-dialog",attrs:{width:t.dialogWidth,"append-to-body":"",title:t.placeholder,visible:t.box},on:{close:t.handleClose,"update:visible":function(e){t.box=e}}},[t.box?n("div",{class:t.b("content")},[n("el-input",{class:t.b("content-input"),attrs:{id:"map__input",size:t.size,readonly:t.disabled,clearable:"",placeholder:"输入关键字选取地点"},on:{clear:t.clear},model:{value:t.formattedAddress,callback:function(e){t.formattedAddress=e},expression:"formattedAddress"}}),t._v(" "),n("div",{class:t.b("content-box")},[n("div",{class:t.b("content-container"),attrs:{id:"map__container",tabindex:"0"}}),t._v(" "),n("div",{class:t.b("content-result"),attrs:{id:"map__result"}})])],1):t._e(),t._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t.disabled||t.readonly?t._e():n("el-button",{attrs:{type:"primary",size:t.size,icon:"el-icon-check"},on:{click:t.handleSubmit}},[t._v("确 定")])],1)])],1)}),[],!1,null,null,null).exports,Nt=Object(i.a)({name:"input-icon",mixins:[W(),q()],props:{dialogWidth:{type:String,default:"80%"},iconList:{type:Array,default:function(){return[]}}},data:function(){return{box:!1,tabs:{}}},computed:{list:function(){var t=(this.tabs.list||[]).map((function(t){return t.value?t:{value:t}}));return t},option:function(){return{column:this.iconList}}},created:function(){this.tabs=this.iconList[0]||{}},methods:{handleTabs:function(t){this.tabs=t},handleSubmit:function(t){this.box=!1,this.text=t,this.handleChange(t)},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.box=!0)}}}),Bt=Object(c.a)(Nt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-input",{ref:"main",attrs:{placeholder:t.placeholder,size:t.size,clearable:!t.disabled&&t.clearable,disabled:t.disabled},on:{change:t.handleChange,focus:t.handleShow},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}},[n("span",{attrs:{slot:"append"},on:{click:t.handleShow},slot:"append"},[n("i",{staticClass:"avue-crud__icon--small",class:t.text})])]),t._v(" "),n("el-dialog",{staticClass:"avue-dialog",attrs:{title:t.placeholder,"append-to-body":"",visible:t.box,width:t.dialogWidth},on:{"update:visible":function(e){t.box=e}}},[n("el-scrollbar",{staticStyle:{height:"400px","overflow-x":"hidden"}},[n("avue-tabs",{attrs:{option:t.option},on:{change:t.handleTabs}}),t._v(" "),n("div",{class:t.b("list")},t._l(t.list,(function(e,i){return n("div",{key:i,class:t.b("item",{active:t.text===e})},[n("i",{class:[t.b("icon"),e.value],on:{click:function(n){return t.handleSubmit(e.value)}}}),t._v(" "),n("p",[t._v(t._s(e.label||e.value))])])})),0)],1)],1)],1)}),[],!1,null,null,null).exports,Ft=Object(i.a)({name:"input-table",mixins:[W(),q()],data:function(){return{object:{},active:{},page:{},loading:!1,box:!1,created:!1,data:[]}},props:{formatter:Function,onLoad:Function,dialogWidth:{type:String,default:"80%"}},watch:{value:function(t){this.validatenull(t)&&(this.active={},this.object={})},box:function(t){var e=this;t&&setTimeout((function(){var t=e.data.find((function(t){return t[e.valueKey]==e.object[e.valueKey]}));e.$refs.crud.setCurrentRow(t)}))},text:function(t){var e=this;this.created||this.validatenull(t)||"function"==typeof this.onLoad&&this.onLoad({value:this.text},(function(t){e.active=t,e.object=t,e.created=!0}))}},computed:{title:function(){return this.disabled||this.readonly?"查看":"选择"},labelShow:function(){return"function"==typeof this.formatter?this.formatter(this.object):this.object[this.labelKey]||""},option:function(){return Object.assign({menu:!1,header:!1,size:"mini",headerAlign:"center",align:"center",highlightCurrentRow:!0},this.column.children)}},methods:{handleClear:function(){this.active={},this.setVal()},handleShow:function(){this.$refs.main.blur(),this.disabled||this.readonly||(this.box=!0)},setVal:function(){this.object=this.active,this.text=this.active[this.valueKey]||"",this.handleChange(this.text),this.box=!1},handleCurrentRowChange:function(t){this.active=t},handleSearchChange:function(t,e){var n=this;this.onLoad({page:this.page,data:t},(function(t){n.page.total=t.total,n.data=t.data})),e&&e()},onList:function(t){var e=this;this.loading=!0,"function"==typeof this.onLoad&&this.onLoad({page:this.page},(function(t){e.page.total=t.total,e.data=t.data,e.loading=!1}))}}}),Rt=Object(c.a)(Ft,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-input",{ref:"main",attrs:{size:t.size,value:t.labelShow,clearable:!t.disabled&&t.clearable,placeholder:t.placeholder,disabled:t.disabled},on:{clear:t.handleClear,focus:t.handleShow},nativeOn:{click:function(e){return t.handleClick(e)}}}),t._v(" "),n("el-dialog",{staticClass:"avue-dialog",attrs:{width:t.dialogWidth,"append-to-body":"",title:t.placeholder,visible:t.box},on:{"update:visible":function(e){t.box=e}}},[n("avue-crud",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"crud",class:t.b("crud"),attrs:{option:t.option,data:t.data,page:t.page},on:{"on-load":t.onList,"search-change":t.handleSearchChange,"search-reset":t.handleSearchChange,"current-row-change":t.handleCurrentRowChange,"update:page":function(e){t.page=e}}}),t._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:t.size,icon:"el-icon-check"},on:{click:t.setVal}},[t._v("确 定")])],1)],1)],1)}),[],!1,null,null,null).exports,Kt=Object(i.a)({name:"verify",props:{size:{type:[Number,String],default:50},value:[Number,String],len:{type:[Number,String],default:6}},computed:{styleName:function(){return{padding:"".concat(this.setPx(this.size/7)," ").concat(this.setPx(this.size/4)),fontSize:this.setPx(this.size)}},list:function(){return this.data.split("")}},watch:{value:{handler:function(t){this.validatenull(t)?this.randomn():this.data=t+""},immediate:!0},data:{handler:function(t){this.$emit("input",t)},immediate:!0}},data:function(){return{data:0}},methods:{randomn:function(){var t=this.len;if(t>21)return null;var e=new RegExp("(\\d{"+t+"})(\\.|$)"),n=(Array(t-1).join(0)+Math.pow(10,t)*Math.random()).match(e)[1];this.data=n}}}),Wt=Object(c.a)(Kt,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},t._l(t.list,(function(e,i){return n("span",{key:i,class:t.b("item"),style:t.styleName},[t._v("\n "+t._s(e)+"\n ")])})),0)}),[],!1,null,null,null).exports,Ut=Object(i.a)({name:"switch",mixins:[W(),q()],props:{value:{},activeIconClass:String,inactiveIconClass:String,activeColor:String,inactiveColor:String,len:Number},data:function(){return{}},watch:{},created:function(){},mounted:function(){},computed:{active:function(){return this.dic[1]||{}},inactive:function(){return this.dic[0]||{}}},methods:{}}),Ht=Object(c.a)(Ut,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("el-switch",{attrs:{"active-text":t.active[t.labelKey],"active-value":t.active[t.valueKey],"inactive-value":t.inactive[t.valueKey],"inactive-text":t.inactive[t.labelKey],"active-icon-class":t.activeIconClass,"inactive-icon-class":t.inactiveIconClass,"active-color":t.activeColor,"inactive-color":t.inactiveColor,width:t.len,disabled:t.disabled,readonly:t.readonly,size:t.size},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})}),[],!1,null,null,null).exports,Vt=Object(i.a)({name:"rate",mixins:[W(),q()],props:{value:{type:Number,default:0},colors:{type:Array},max:{type:Number,default:5},iconClasses:{type:Array},texts:{type:Array},showText:{type:Boolean,default:!1},voidIconClass:{type:String}},data:function(){return{}},watch:{},created:function(){},mounted:function(){},methods:{}}),qt=Object(c.a)(Vt,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("el-rate",{staticStyle:{"margin-top":"10px"},attrs:{max:t.max,readonly:t.readonly,texts:t.texts,"show-text":t.showText,"icon-classes":t.iconClasses,"void-icon-class":t.voidIconClass,disabled:t.disabled,colors:t.colors},on:{change:t.handleChange},nativeOn:{click:function(e){return t.handleClick(e)}},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})}),[],!1,null,null,null).exports;function Yt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gt(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};Yt(this,t),this.CONTAINERID=Object(Z.u)(),this.drawCanvas=this.drawCanvas.bind(this),this.parentObserver=this.parentObserver.bind(this),this.Repaint=this.Repaint.bind(this),this.isOberserve=!1,this.init(e),this.drawCanvas(),this.parentObserver()}var e,n,i;return e=t,(n=[{key:"init",value:function(t){this.option={},this.option.text=t.text||"avue商用通用无敌大水印",this.option.font=t.font||"30px 黑体",this.option.canvasWidth=t.canvasWidth||500,this.option.canvasHeight=t.canvasHeight||200,this.option.textAlign=t.textAlign||"center",this.option.textStyle=t.textStyle||"rgba(100,100,100,0.15)",this.option.degree=t.degree||-20}},{key:"drawCanvas",value:function(){this.isOberserve=!0;var t=document.createElement("div"),e=document.createElement("canvas"),n=e.getContext("2d");t.id=this.CONTAINERID,e.width=this.option.canvasWidth,e.height=this.option.canvasHeight,n.font=this.option.font,n.textAlign=this.option.textAlign,n.fillStyle=this.option.textStyle,n.translate(e.width/2,e.height/2),n.rotate(this.option.degree*Math.PI/180),n.fillText(this.option.text,0,0);var i=e.toDataURL("image/png");this.styleStr="\n position:fixed;\n top:0;\n left:0;\n width:100%;\n height:100%;\n z-index:9999;\n pointer-events:none;\n background-repeat:repeat;\n background-image:url('".concat(i,"')"),t.setAttribute("style",this.styleStr),document.body.appendChild(t),this.wmObserver(t),this.isOberserve=!1}},{key:"wmObserver",value:function(t){var e=this,n=new MutationObserver((function(t){if(!e.isOberserve){var i=t[0].target;i.setAttribute("style",e.styleStr),i.setAttribute("id",e.CONTAINERID),n.takeRecords()}}));n.observe(t,{attributes:!0,childList:!0,characterData:!0})}},{key:"parentObserver",value:function(){var t=this;new MutationObserver((function(){if(!t.isOberserve){var e=document.querySelector("#".concat(t.CONTAINERID));e?e.getAttribute("style")!==t.styleStr&&e.setAttribute("style",t.styleStr):t.drawCanvas()}})).observe(document.querySelector("#".concat(this.CONTAINERID)).parentNode,{childList:!0})}},{key:"Repaint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.remove(),this.init(t),this.drawCanvas()}},{key:"remove",value:function(){this.isOberserve=!0;var t=document.querySelector("#".concat(this.CONTAINERID));t.parentNode.removeChild(t)}}])&&Gt(e.prototype,n),i&&Gt(e,i),t}(),Zt=200,te=200,ee={text:"avue.top",fontFamily:"microsoft yahei",color:"#999",fontSize:16,opacity:100,bottom:10,right:10,ratio:1};function ne(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,i){var o=e.text,a=e.fontFamily,r=e.color,s=e.fontSize,l=e.opacity,c=e.bottom,u=e.right,d=e.ratio;ee.text=o||ee.text,ee.fontFamily=a||ee.fontFamily,ee.color=r||ee.color,ee.fontSize=s||ee.fontSize,ee.opacity=l||ee.opacity,ee.bottom=c||ee.bottom,ee.right=u||ee.right,ee.ratio=d||ee.ratio,function(t,e){var n=new FileReader;n.readAsDataURL(t),n.onload=function(t){e(t.target.result)}}(t,(function(e){var i=new Image;i.src=e,i.onload=function(){var e=i.width,o=i.height;!function(t,e){null===(Xt=document.getElementById("canvas"))&&((Xt=document.createElement("canvas")).id="canvas",Xt.className="avue-canvas",document.body.appendChild(Xt));Qt=Xt.getContext("2d"),Xt.width=t,Xt.height=e}(e,o),Qt.drawImage(i,0,0,e,o),function(t,e){var n=ee.text,i=function(t,e,n){var i,o,a=ee.fontSize/Zt*e;o=ee.bottom?te-ee.bottom:ee.top;i=ee.right?Zt-ee.right:ee.left;Qt.font=ee.fontSize+"px "+ee.fontFamily;var r=Number(Qt.measureText(t).width);return{x:i=(i=i-r)/Zt*e,y:o=o/te*n,fontSize:a}}(n,t,e);Qt.font=i.fontSize+"px "+ee.fontFamily,Qt.fillStyle=ee.color,Qt.globalAlpha=ee.opacity/100,Qt.fillText(n,i.x,i.y)}(e,o),n(Object(Z.d)(document.getElementById("canvas").toDataURL(t.type,ee.ratio),t.name))}}))}))}var ie=function(t,e,n){var i=function(t){var e,n,i,o,a,r;i=t.length,n=0,e="";for(;n>2),e+=oe.charAt((3&o)<<4),e+="==";break}if(a=t.charCodeAt(n++),n==i){e+=oe.charAt(o>>2),e+=oe.charAt((3&o)<<4|(240&a)>>4),e+=oe.charAt((15&a)<<2),e+="=";break}r=t.charCodeAt(n++),e+=oe.charAt(o>>2),e+=oe.charAt((3&o)<<4|(240&a)>>4),e+=oe.charAt((15&a)<<2|(192&r)>>6),e+=oe.charAt(63&r)}return e}(function(t){var e,n,i,o;for(e="",i=t.length,n=0;n=1&&o<=127?e+=t.charAt(n):o>2047?(e+=String.fromCharCode(224|o>>12&15),e+=String.fromCharCode(128|o>>6&63),e+=String.fromCharCode(128|o>>0&63)):(e+=String.fromCharCode(192|o>>6&31),e+=String.fromCharCode(128|o>>0&63));return e}(JSON.stringify(n))),o=CryptoJS.HmacSHA1(i,e).toString(CryptoJS.enc.Base64);return t+":"+ae(o)+":"+i};var oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);var ae=function(t){return t=(t=t.replace(/\+/g,"-")).replace(/\//g,"_")};function re(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.match(/(^http:\/\/|^https:\/\/|^\/\/|data:image\/)/)?e:t+e}var se=Object(i.a)({name:"upload",mixins:[W(),q(),{data:function(){return{res:"",loading:!1,text:[],file:{}}},props:{data:{type:Object,default:function(){return{}}},onRemove:Function,showFileList:{type:Boolean,default:!0},oss:{type:String},limit:{type:Number,default:10},headers:{type:Object,default:function(){return{}}},accept:{type:[String,Array],default:""},canvasOption:{type:Object,default:function(){return{}}},fileSize:{type:Number},drag:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},isImage:{type:Boolean,default:!0},loadText:{type:String,default:"文件上传中,请稍等"},action:{type:String,default:""},uploadBefore:Function,uploadAfter:Function,uploadDelete:Function,uploadPreview:Function,uploadError:Function,uploadExceed:Function},computed:{isMultiple:function(){return this.isArray||this.isString||this.stringMode},acceptList:function(){return Array.isArray(this.accept)?this.accept.join(","):this.accept},homeUrl:function(){return this.propsHttp.home||""},allParams:function(){return this.$typeList.video.test(this.imgUrl)||this.isVideo?Object.assign({is:"video"},this.params):this.params},fileName:function(){return this.propsHttp.fileName||"file"},isAliOss:function(){return"ali"===this.oss},isQiniuOss:function(){return"qiniu"===this.oss},isPictureImg:function(){return"picture-img"===this.listType},imgUrl:function(){if(!this.validatenull(this.text))return re(this.homeUrl,this.text[0])},fileList:function(){var t=this,e=[];return(this.text||[]).forEach((function(n,i){if(n){var o;if(t.isMultiple){var a=n.lastIndexOf("/");o=n.substring(a+1)}e.push({uid:i+"",status:"done",isImage:t.isImage,name:t.isMultiple?o:n[t.labelKey],url:re(t.homeUrl,t.isMultiple?n:n[t.valueKey])})}})),e}},methods:{handleSuccess:function(t){if(this.isPictureImg)this.text.splice(0,1,t[this.urlKey]);else if(this.isMultiple)this.text.push(t[this.urlKey]);else{var e={};e[this.labelKey]=t[this.nameKey],e[this.valueKey]=t[this.urlKey],this.text.push(e)}},handleRemove:function(t,e){this.onRemove&&this.onRemove(t,e),this.delete(t)},handleError:function(t){this.uploadError&&this.uploadError(t,this.column)},delete:function(t){var e=this;(this.text||[]).forEach((function(n,i){(e.isMultiple?n:n[e.valueKey])===t.url.replace(e.homeUrl,"")&&e.text.splice(i,1)}))},show:function(t){this.loading=!1,this.handleSuccess(t||this.res)},hide:function(t){this.loading=!1,this.handleError(t)},handleFileChange:function(t,e){e.splice(e.length-1,1)},httpRequest:function(t){var e=this;this.loading=!0;var n=t.file,i=n.size/1024;if(this.file=t.file,!this.validatenull(i)&&i>this.fileSize)this.hide("文件太大不符合");else{var o=Object.assign(this.headers,{"Content-Type":"multipart/form-data"}),a={},r={},s=new FormData,l=function(){var t=function(t){var i=e.action;for(var l in e.data)s.append(l,e.data[l]);var c=t||n;if(s.append(e.fileName,c),e.isQiniuOss){if(!window.CryptoJS)return D.a.logs("CryptoJS"),void e.hide();a=e.$AVUE.qiniu;var u=ie(a.AK,a.SK,{scope:a.scope,deadline:(new Date).getTime()+3600*a.deadline});s.append("token",u),i=a.bucket}else if(e.isAliOss){if(!window.OSS)return D.a.logs("AliOSS"),void e.hide();a=e.$AVUE.ali,r=new OSS(a)}(e.isAliOss?r.put(c.name,c):window.axios?e.$axios.post(i,s,{headers:o}):(D.a.logs("axios"),Promise.reject())).then((function(t){e.res={},e.isQiniuOss&&(t.data.key=a.url+t.data.key),e.isAliOss?e.res=Object(Z.m)(t,e.resKey):e.res=Object(Z.m)(t.data,e.resKey),"function"==typeof e.uploadAfter?e.uploadAfter(e.res,e.show,(function(){e.loading=!1}),e.column):e.show(e.res)})).catch((function(t){"function"==typeof e.uploadAfter?e.uploadAfter(t,e.hide,(function(){e.loading=!1}),e.column):e.hide(t)}))};"function"==typeof e.uploadBefore?e.uploadBefore(e.file,t,(function(){e.loading=!1}),e.column):t()};this.validatenull(this.canvasOption)?l():ne(n,this.canvasOption).then((function(t){n=t,l()}))}},handleExceed:function(t,e){this.uploadExceed&&this.uploadExceed(this.limit,t,e,this.column)},handlePreview:function(t){var e=this,n=function(){var n=t.url,i=e.fileList.map((function(t){return Object.assign(t,{type:e.$typeList.video.test(t.url)||e.isVideo?"video":""})})),o=e.fileList.findIndex((function(t){return t.url===n}));e.$isVan||e.$ImagePreview(i,o)};"function"==typeof this.uploadPreview?this.uploadPreview(t,this.column,n):n()},handleDelete:function(t){var e=this;this.beforeRemove(t).then((function(){e.text=[],e.menu=!1})).catch((function(){}))},beforeRemove:function(t){return"function"==typeof this.uploadDelete?this.uploadDelete(t,this.column):Promise.resolve()}}},X.a],data:function(){return{menu:!1}}}),le=Object(c.a)(se,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"loading",rawName:"v-loading.lock",value:t.loading,expression:"loading",modifiers:{lock:!0}}],class:t.b()},[n("el-upload",{class:t.b({list:"picture-img"==t.listType,upload:t.disabled}),attrs:{action:t.action,"on-remove":t.handleRemove,accept:t.acceptList,"before-remove":t.beforeRemove,multiple:t.multiple,"on-preview":t.handlePreview,limit:t.limit,"http-request":t.httpRequest,drag:t.drag,readonly:t.readonly,"show-file-list":!t.isPictureImg&&t.showFileList,"list-type":t.listType,"on-change":t.handleFileChange,"on-exceed":t.handleExceed,disabled:t.disabled,"file-list":t.fileList},nativeOn:{click:function(e){return t.handleClick(e)}},scopedSlots:t._u([{key:"file",fn:function(e){return t.$scopedSlots.default?[t._t("default",null,null,e)]:void 0}}],null,!0)},["picture-card"==t.listType?[n("i",{staticClass:"el-icon-plus"})]:"picture-img"==t.listType?[t.$scopedSlots.default?t._t("default",null,{file:{url:t.imgUrl}}):[t.imgUrl?n("img",t._b({class:t.b("avatar"),attrs:{src:t.imgUrl},on:{mouseover:function(e){t.menu=!0}}},"img",t.allParams,!1)):n("i",{staticClass:"el-icon-plus",class:t.b("icon")}),t._v(" "),t.menu?n("div",{staticClass:"el-upload-list__item-actions",class:t.b("menu"),on:{mouseover:function(e){t.menu=!0},mouseout:function(e){t.menu=!1},click:function(t){return t.stopPropagation(),!1}}},[n("i",{staticClass:"el-icon-zoom-in",on:{click:function(e){return e.stopPropagation(),t.handlePreview({url:t.imgUrl})}}}),t._v(" "),t.disabled?t._e():n("i",{staticClass:"el-icon-delete",on:{click:function(e){return e.stopPropagation(),t.handleDelete(t.imgUrl)}}})]):t._e()]]:t.drag?[n("i",{staticClass:"el-icon-upload"}),t._v(" "),n("div",{staticClass:"el-upload__text"},[t._v("\n "+t._s(t.t("upload.tip"))+"\n "),n("em",[t._v(t._s(t.t("upload.upload")))])])]:[n("el-button",{attrs:{size:"small",type:"primary"}},[t._v(t._s(t.t("upload.upload")))])],t._v(" "),n("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[t._v(t._s(t.tip))])],2)],1)}),[],!1,null,null,null).exports,ce=Object(i.a)({name:"sign",props:{width:{type:Number,default:600},height:{type:Number,default:400}},data:function(){return{linex:[],liney:[],linen:[],canvas:{},context:{}}},computed:{styleName:function(){return{width:this.setPx(this.width),height:this.setPx(this.height)}}},mounted:function(){this.init()},methods:{getStar:function(t,e,n){var i=this.canvas,o=this.context,a=i.width/2,r=i.height/2;o.lineWidth=7,o.strokeStyle="#f00",o.beginPath(),o.arc(a,r,110,0,2*Math.PI),o.stroke(),function(t,e,n,i,o,a){t.save(),t.fillStyle=o,t.translate(e,n),t.rotate(Math.PI+a),t.beginPath();for(var r=Math.sin(0),s=Math.cos(0),l=Math.PI/5*4,c=0;c<5;c++){r=Math.sin(c*l),s=Math.cos(c*l);t.lineTo(r*i,s*i)}t.closePath(),t.stroke(),t.fill(),t.restore()}(o,a,r,20,"#f00",0),o.font="18px 黑体",o.textBaseline="middle",o.textAlign="center",o.lineWidth=1,o.strokeStyle="#f00",o.strokeText(t,a,r+50),o.font="14px 黑体",o.textBaseline="middle",o.textAlign="center",o.lineWidth=1,o.strokeStyle="#f00",o.strokeText(n,a,r+80),o.translate(a,r),o.font="22px 黑体";for(var s,l=e.length,c=4*Math.PI/(3*(l-1)),u=e.split(""),d=0;d',r=[],s=1;s<10;s++)r.push(s.toString());r.push("0");for(var l,c=e.keys||[["`"].concat(r).concat(["-","=","Delete"]),["Tab","q","w","e","r","t","y","u","i","o","p","[","]","\\"],["Caps","a","s","d","f","g","h","j","k","l",";","'","Enter"],["Shift","z","x","c","v","b","n","m",",",".","/","Shift"],["Space"]],u=[],d=[],p=0;p");continue;case"/":u[p].push("?");continue}u[p].push(l[h].toUpperCase())}}for(var f=0;f';for(var m=0;m'+l[m]+"";a+=""}a+="",n.innerHTML=a;var b=!1;if(c.forEach((function(t){t.includes("Shift")&&(b=!0)})),b)document.querySelectorAll(e.el+" .akeyboard-keyboard-keys-Shift").forEach((function(t){t.onclick=function(){if(this.isShift){t.isShift=!1,t.innerHTML="Shift",this.classList.remove("keyboard-keyboard-keys-focus");for(var n,i=document.querySelectorAll(e.el+" .akeyboard-keyboard-innerKeys"),o=0;o')}var e,n,i;return e=t,(n=[{key:"inputOn",value:function(t,e,n,i){if("string"==typeof t)if("string"==typeof e)for(var o=document.querySelector(t),a=document.querySelectorAll(this.obj.el+" .akeyboard-keyboard-keys"),r=0;r0&&i[a[r].innerHTML]?a[r].onclick=i[a[r].innerHTML]:a[r].onclick=function(){o[e]+=this.innerText,n(this.innerText,o[e])}:a[r].onclick=function(){o[e]+=" ",n("Space",o[e])}:a[r].onclick=function(){o[e]+="\n",n("Enter",o[e])}:a[r].onclick=function(){o[e]+=" ",n("Tab",o[e])}:a[r].onclick=function(){o[e]=o[e].substr(0,o[e].length-1),n("Delete",o[e])});else console.error('aKeyboard: The type parameter needs to be a string ');else console.error('aKeyboard: The inputEle parameter needs to be a string ')}},{key:"onclick",value:function(t,e){if("string"==typeof t)if("function"==typeof e){var n=document.querySelector(this.obj.el+" .akeyboard-keyboard-keys-"+t);n?n.onclick=e:console.error("Can not find key: "+t)}else console.error('aKeyboard: The fn parameter needs to be a function ');else console.error('aKeyboard: The btn parameter needs to be a string ')}}])&&fe(e.prototype,n),i&&fe(e,i),t}();function be(t){return(be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ve(t,e){for(var n=0;n';a+='
';for(var r=1;r<10;r++)a+='
'+r+"
",r%3==0&&(a+='
');a+='
0
Delete
Enter
',a+="",n.innerHTML=a}else console.error('aKeyboard: The obj parameter needs to be an object ')}var e,n,i;return e=t,(n=[{key:"inputOn",value:function(t,e,n,i){if("string"==typeof t)if("string"==typeof e)for(var o=document.querySelector(t),a=document.querySelectorAll(this.obj.el+" .akeyboard-keyboard-keys"),r=0;r0&&i[a[r].innerHTML]?a[r].onclick=i[a[r].innerHTML]:a[r].onclick=function(){o[e]+=this.innerText,n(this.innerText,o[e])}:a[r].onclick=function(){o[e]+="\n",n("Enter",o[e])}:a[r].onclick=function(){o[e]=o[e].substr(0,o[e].length-1),n("Delete",o[e])};else console.error('aKeyboard: The type parameter needs to be a string ');else console.error('aKeyboard: The inputEle parameter needs to be a string ')}},{key:"onclick",value:function(t,e){if("string"==typeof t)if("function"==typeof e){var n=document.querySelector(this.obj.el+" .akeyboard-keyboard-keys-"+t);n?n.onclick=e:console.error("Can not find key: "+t)}else console.error('aKeyboard: The fn parameter needs to be a function ');else console.error('aKeyboard: The btn parameter needs to be a string ')}}])&&ve(e.prototype,n),i&&ve(e,i),t}();var ge=Object(i.a)({name:"keyboard",props:{ele:{type:String,required:!0},keys:Array,theme:{type:String,default:"default",validator:function(t){return["default","dark","green","classic"].includes(t)}},type:{type:String,default:"default",validator:function(t){return["default","number","mobile"].includes(t)}},fixedBottomCenter:{type:Boolean,default:!1},rebind:{type:Boolean,default:!0}},watch:{ele:function(){this.init()}},data:function(){return{customClick:{}}},computed:{className:function(){return"avue-keyboard--".concat(this.theme)}},mounted:function(){this.init()},methods:{init:function(){var t=this;if(this.ele){var e,n={el:"#keyboard",style:{},keys:this.keys,fixedBottomCenter:this.fixedBottomCenter};"default"==this.type?e=new me(n):"number"==this.type?e=new ye(n):"mobile"==this.type&&(e=new MobileKeyBoard(n));var i=0==this.ele.indexOf("#")?this.ele.substring(1):this.ele;e.inputOn("#".concat(i),"value",(function(e,n){t.$emit("click",e,n)}),this.rebind?this.customClick:null),this.keyboard=e}},bindClick:function(t,e){this.keyboard.onclick(t,e),this.customClick[t]=e}}}),_e=Object(c.a)(ge,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:[this.b(),this.className]},[e("div",{attrs:{id:"keyboard"}})])}),[],!1,null,null,null).exports,xe=n(13);function we(t){return function(t){if(Array.isArray(t))return Se(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Se(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Se(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Se(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return t[e[n]||(this.parentOption.props||{})[n]||n]},dataformat:function(){var t=this;this.columnOption.forEach((function(e){var n=e.prop;t.validatenull(t.form[n])&&(!1===e.multiple?t.$set(t.form,n,""):t.$set(t.form,n,[]))}))},getActive:function(t,e){var n=this.getKey(t,e.props,"value");return!1===e.multiple?this.form[e.prop]===n:this.form[e.prop].includes(n)},handleClick:function(t,e){var n=this.getKey(e,t.props,"value");if(!1===t.multiple)this.form[t.prop]=n;else{var i=this.form[t.prop].indexOf(n);-1===i?this.form[t.prop].push(n):this.form[t.prop].splice(i,1)}this.$emit("change",this.form),this.$emit("input",this.form)}}}),Te=Object(c.a)(Ae,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-row",{class:[t.b(),{"avue--card":t.isCard}],attrs:{span:24}},t._l(t.columnOption,(function(e,i){return n("el-col",{key:e.prop,class:t.b("item"),attrs:{span:e.span||24}},[n("p",{class:t.b("title")},[t._v(t._s(e.label)+":")]),t._v(" "),n("div",{class:t.b("content")},[e.slot?t._t(e.prop,null,{dic:t.DIC[e.prop]}):t._l(t.DIC[e.prop],(function(i){return n("span",{key:t.getKey(i,e.props,"value"),class:[t.b("tags"),{"avue-search__tags--active":t.getActive(i,e)}],on:{click:function(n){return t.handleClick(e,i)}}},[t._v(t._s(t.getKey(i,e.props,"label")))])}))],2)])})),1)}),[],!1,null,null,null).exports;var Pe=Object(i.a)({name:"skeleton",props:{loading:{type:Boolean,default:!0},avatar:Boolean,active:{type:Boolean,default:!0},block:Boolean,number:{type:Number,default:1},rows:{type:Number,default:3}},computed:{styleName:function(){return this.block?{width:"100%"}:{}},className:function(){var t,e,n,i=this.active;return t={},e="".concat("avue-skeleton","__loading"),n=i,e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}}}),Ie=Object(c.a)(Pe,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},t._l(t.number,(function(e,i){return t.loading?n("div",{key:i,class:t.b("item")},[n("div",{class:t.b("header")},[t.avatar?n("span",{class:[t.b("avatar"),t.className]}):t._e()]),t._v(" "),n("div",{class:t.b("content")},[n("h3",{class:[t.b("title"),t.className]}),t._v(" "),n("div",{class:t.b("list")},t._l(t.rows,(function(e,i){return n("li",{key:i,class:[t.b("li"),t.className],style:t.styleName})})),0)])]):n("div",[t._t("default")],2)})),0)}),[],!1,null,null,null).exports,$e=Object(i.a)({name:"tabs",props:{option:{type:Object,required:!0,default:function(){return{}}}},data:function(){return{active:"0"}},watch:{active:function(){this.$emit("change",this.tabsObj)}},computed:{tabsObj:function(){return this.columnOption[this.active]},parentOption:function(){return this.option},columnOption:function(){return this.parentOption.column||[]}},methods:{changeTabs:function(t){this.active=t+""}}}),Le=Object(c.a)($e,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-tabs",{attrs:{"tab-position":t.parentOption.position,type:t.parentOption.type},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}},t._l(t.columnOption,(function(e,i){return n("el-tab-pane",{key:i,attrs:{name:i+"",disabled:e.disabled}},[n("span",{attrs:{slot:"label"},slot:"label"},[n("i",{class:e.icon}),t._v(" \n "+t._s(e.label)+"\n ")])])})),1)],1)}),[],!1,null,null,null).exports,ze=Object(i.a)({name:"dynamic",mixins:[W(),q()],data:function(){return{hoverList:[]}},props:{columnSlot:{type:Array,default:function(){return[]}},children:{type:Object,default:function(){return{}}}},computed:{showIndex:function(){return this.vaildData(this.children.index,!0)},showType:function(){return this.children.type||"crud"},isForm:function(){return"form"===this.showType},isCrud:function(){return"crud"===this.showType},selectionChange:function(){return this.children.selectionChange},sortableChange:function(){return this.children.sortableChange},rowAdd:function(){return this.children.rowAdd},rowDel:function(){return this.children.rowDel},viewBtn:function(){return!1===this.children.viewBtn},addBtn:function(){return!1===this.children.addBtn},delBtn:function(){return!1===this.children.delBtn},valueOption:function(){var t={};return this.columnOption.forEach((function(e){e.value&&(t[e.prop]=e.value)})),t},rulesOption:function(){var t={};return this.columnOption.forEach((function(e){e.rules&&(t[e.prop]=e.rules)})),t},columnOption:function(){return this.children.column||[]},option:function(){var t,e=this;return Object.assign({border:!0,header:!1,menu:!1,size:this.size,disabled:this.disabled,readonly:this.readonly,emptyBtn:!1,submitBtn:!1},function(){var t=e.deepClone(e.children);return delete t.column,t}(),(t=[{label:e.children.indexLabel||"#",prop:"_index",display:e.showIndex,detail:!0,fixed:!0,align:"center",headerAlign:"center",span:24,width:50,renderHeader:function(t,n){if(n.column,n.$index,!e.addBtn&&!e.readonly)return t("el-button",{attrs:{size:"mini",type:"primary",icon:"el-icon-plus",disabled:e.disabled,circle:!0},on:{click:e.addRow}})}}],e.columnOption.forEach((function(n){t.push(Object.assign(n,{cell:e.vaildData(n.cell,!0)}))})),{column:t}))}},mounted:function(){this.initData()},watch:{textLen:function(){return this.text.length},text:function(){this.initData()}},methods:{handleSelectionChange:function(t){this.selectionChange&&this.selectionChange(t)},handleSortableChange:function(t,e,n,i){this.sortableChange&&this.sortableChange(t,e,n,i)},cellMouseenter:function(t){var e=t.$index;this.mouseoverRow(e)},cellMouseLeave:function(t,e,n,i){var o=t.$index;this.mouseoutRow(o)},initData:function(){this.text.forEach((function(t,e){t=Object.assign(t,{$cellEdit:!0,$index:e})}))},mouseoverRow:function(t){this.delBtn||(this.flagList(),this.$set(this.hoverList,t,!0))},mouseoutRow:function(t){this.delBtn||(this.flagList(),this.$set(this.hoverList,t,!1))},flagList:function(){this.hoverList.forEach((function(t,e){!1}))},delRow:function(t){var e=this,n=function(){var n=e.deepClone(e.text);n.splice(t,1),e.text=n};"function"==typeof this.rowDel?this.rowDel(this.text[t],n):n()},addRow:function(){var t=this,e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e=Object.assign(t.valueOption,e,{$index:t.textLen}),t.isCrud?t.$refs.main.rowCellAdd(e):t.isForm&&t.text.push(e)};"function"==typeof this.rowAdd?this.rowAdd(e):e()}}}),Ne=Object(c.a)(ze,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[t.isForm?[n("div",{class:t.b("header")},[t.readonly||t.disabled||t.addBtn?t._e():n("el-button",{attrs:{size:"mini",circle:"",disabled:t.disabled,type:"primary",icon:"el-icon-plus"},on:{click:t.addRow}})],1),t._v(" "),n("div",t._l(t.text,(function(e,i){return n("div",{key:i,class:t.b("row"),on:{mouseenter:function(e){return t.cellMouseenter({$index:i})},mouseleave:function(e){return t.cellMouseLeave({$index:i})}}},[t.readonly||t.disabled||t.delBtn||!t.hoverList[i]?t._e():n("el-button",{class:t.b("menu"),attrs:{type:"danger",size:"mini",disabled:t.disabled,icon:"el-icon-delete",circle:""},on:{click:function(n){return t.delRow(e.$index)}}}),t._v(" "),n("avue-form",{key:i,ref:"main",refInFor:!0,attrs:{option:t.option},scopedSlots:t._u([{key:"_index",fn:function(i){return n("div",{},[n("span",[t._v(t._s(e.$index+1))])])}},t._l(t.columnSlot,(function(e){return{key:e.prop,fn:function(n){return[t._t(e.prop,null,null,Object.assign(n,{row:t.text[i]}))]}}}))],null,!0),model:{value:t.text[i],callback:function(e){t.$set(t.text,i,e)},expression:"text[index]"}})],1)})),0)]:t.isCrud?n("avue-crud",{ref:"main",attrs:{option:t.option,disabled:t.disabled,data:t.text},on:{"cell-mouse-enter":t.cellMouseenter,"cell-mouse-leave":t.cellMouseLeave,"selection-change":t.handleSelectionChange,"sortable-change":t.handleSortableChange},scopedSlots:t._u([{key:"_index",fn:function(e){return[t.readonly||t.disabled||t.delBtn||!t.hoverList[e.row.$index]?n("div",[t._v(t._s(e.row.$index+1))]):n("el-button",{attrs:{type:"danger",size:"mini",disabled:t.disabled,icon:"el-icon-delete",circle:""},on:{click:function(n){return t.delRow(e.row.$index)}}})]}},t._l(t.columnSlot,(function(e){return{key:t.getSlotName(e,"F"),fn:function(n){return[t._t(e.prop,null,null,n)]}}}))],null,!0)}):t._e()],2)}),[],!1,null,null,null).exports,Be=Object(i.a)({name:"queue",props:{enter:{type:String,default:"fadeInLeft"},leave:{type:String,default:"fadeOutRight"},block:{type:Boolean,default:!1},delay:{type:Number,default:0}},data:function(){return{isFixed:0,animate:[]}},mounted:function(){var t=this;this.$nextTick((function(){addEventListener("scroll",t.handleAnimate),t.handleAnimate()}))},methods:{handleAnimate:function(){var t=this;(pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)+document.documentElement.clientHeight>this.$refs.queue.offsetTop?setTimeout((function(){t.animate=[t.enter,"avue-opacity--active"]}),this.delay):this.animate=["avue-opacity"]}},destroyed:function(){removeEventListener("scroll",this.handleAnimate)}}),Fe=Object(c.a)(Be,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:[this.b(),{"avue-queue--block":this.block}]},[e("div",{ref:"queue",staticClass:"animated",class:this.animate},[this._t("default")],2)])}),[],!1,null,null,null).exports;function Re(t,e){for(var n=0;nt.height){i.style.display="inline-block";for(var a=t.text;n.offsetHeight>t.height&&o>0;)n.offsetHeight>3*t.height?e.innerText=a=a.substring(0,Math.floor(a.length/2)):e.innerText=a=a.substring(0,a.length-1),o--;t.$emit("hide"),t.isHide=!0}else t.$emit("show"),t.isHide=!1}))}}}),Qe=Object(c.a)(Xe,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:{width:t.setPx(t.width,"100%")}},[t._t("before"),t._v(" "),n("el-tooltip",{attrs:{content:t.text,disabled:!(t.useTooltip&&t.isHide),placement:t.placement}},[n("span",[n("span",{key:t.keyIndex,ref:"text",class:t.b("text")},[t._v(t._s(t.text))])])]),t._v(" "),n("span",{ref:"more",class:t.b("more")},[t._t("more")],2),t._v(" "),t._t("after")],2)}),[],!1,null,null,null).exports,Je=Object(i.a)({name:"data-tabs",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}}}),Ze=Object(c.a)(Je,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-tabs"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item",style:{background:e.color}},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-header"},[n("p",[t._v(t._s(e.title))]),t._v(" "),n("span",[t._v(t._s(e.subtitle))])]),t._v(" "),n("div",{staticClass:"item-body"},[n("avue-count-up",{staticClass:"h2",attrs:{decimals:e.decimals||t.decimals,animation:e.animation||t.animation,end:e.count}})],1),t._v(" "),n("div",{staticClass:"item-footer"},[n("span",[t._v(t._s(e.allcount))]),t._v(" "),n("p",[t._v(t._s(e.text))])]),t._v(" "),n("p",{staticClass:"item-tip"},[t._v(t._s(e.key))])])])])})),1)],1)}),[],!1,null,null,null).exports,tn=Object(i.a)({name:"data-cardtext",data:function(){return{}},computed:{icon:function(){return this.option.icon},color:function(){return this.option.color||"#333"},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}}}),en=Object(c.a)(tn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-cardText"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item"},[n("a",{attrs:{href:e.href||"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-header"},[n("i",{class:e.icon||"el-icon-bell",style:{color:e.color||"red"}}),t._v(" "),n("a",{},[t._v(t._s(e.title))])]),t._v(" "),n("div",{staticClass:"item-content"},[t._v(t._s(e.content))]),t._v(" "),n("div",{staticClass:"item-footer"},[n("span",[t._v(t._s(e.name))]),t._v(" "),n("span",[t._v(t._s(e.date))])])])])])})),1)],1)}),[],!1,null,null,null).exports,nn=Object(i.a)({name:"data-box",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}}),on=Object(c.a)(nn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"data-box"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item"},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-icon",style:{backgroundColor:e.color}},[n("i",{class:e.icon})]),t._v(" "),n("div",{staticClass:"item-info"},[n("avue-count-up",{staticClass:"title",style:{color:e.color},attrs:{animation:e.animation||t.animation,decimals:e.decimals||t.decimals,end:e.count}}),t._v(" "),n("div",{staticClass:"info"},[t._v(t._s(e.title))])],1)])])])})),1)],1)}),[],!1,null,null,null).exports,an=Object(i.a)({name:"data-progress",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}}),rn=Object(c.a)(an,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"data-progress"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item"},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-header"},[n("avue-count-up",{staticClass:"item-count",attrs:{animation:e.animation||t.animation,decimals:e.decimals||t.decimals,end:e.count}}),t._v(" "),n("div",{staticClass:"item-title",domProps:{textContent:t._s(e.title)}})],1),t._v(" "),n("el-progress",{attrs:{"stroke-width":15,percentage:e.count,color:e.color,"show-text":!1}})],1)])])})),1)],1)}),[],!1,null,null,null).exports,sn=Object(i.a)({name:"data-icons",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||4},data:function(){return this.option.data},color:function(){return this.option.color||"rgb(63, 161, 255)"},discount:function(){return this.option.discount||!1}},props:{option:{type:Object,default:function(){}}}}),ln=Object(c.a)(sn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"data-icons"},[n("el-row",{attrs:{span:24}},[t._l(t.data,(function(e,i){return[n("el-col",{key:i,attrs:{xs:12,sm:6,md:t.span}},[n("div",{staticClass:"item",class:[{"item--easy":t.discount}]},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-icon",style:{color:t.color}},[n("i",{class:e.icon})]),t._v(" "),n("div",{staticClass:"item-info"},[n("span",[t._v(t._s(e.title))]),t._v(" "),n("avue-count-up",{staticClass:"count",style:{color:t.color},attrs:{animation:e.animation||t.animation,decimals:e.decimals||t.decimals,end:e.count}})],1)])])])]}))],2)],1)}),[],!1,null,null,null).exports,cn=Object(i.a)({name:"data-card",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]},colorText:function(){return this.option.colorText||"#fff"},bgText:function(){return this.option.bgText||"#2e323f"},borderColor:function(){return this.option.borderColor||"#2e323f"}},created:function(){},mounted:function(){},watch:{},methods:{}}),un=Object(c.a)(cn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"data-card"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item"},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("img",{staticClass:"item-img",attrs:{src:e.src}}),t._v(" "),n("div",{staticClass:"item-text",style:{backgroundColor:t.bgText}},[n("h3",{style:{color:t.colorText}},[t._v(t._s(e.name))]),t._v(" "),n("p",{style:{color:t.colorText}},[t._v(t._s(e.text))])])])])])})),1)],1)}),[],!1,null,null,null).exports,dn=Object(i.a)({name:"data-display",data:function(){return{}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||6},data:function(){return this.option.data||[]},color:function(){return this.option.color||"rgb(63, 161, 255)"}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),pn=Object(c.a)(dn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-display"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:12,sm:12}},[n("div",{staticClass:"item",style:{color:t.color}},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("avue-count-up",{staticClass:"count",attrs:{animation:e.animation||t.animation,decimals:e.decimals||t.decimals,end:e.count}}),t._v(" "),n("span",{staticClass:"splitLine"}),t._v(" "),n("div",{staticClass:"title"},[t._v(t._s(e.title))])],1)])])})),1)],1)}),[],!1,null,null,null).exports,hn=Object(i.a)({name:"data-imgtext",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]},color:function(){return this.option.color||"rgb(63, 161, 255)"}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),fn=Object(c.a)(hn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-imgtext"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item",style:{color:t.color}},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-header"},[n("img",{attrs:{src:e.imgsrc,alt:""}})]),t._v(" "),n("div",{staticClass:"item-content"},[n("span",[t._v(t._s(e.title))]),t._v(" "),n("p",[t._v(t._s(e.content))])]),t._v(" "),n("div",{staticClass:"item-footer"},[n("div",{staticClass:"time"},[n("span",[t._v(t._s(e.time))])]),t._v(" "),n("div",{staticClass:"imgs"},[n("ul",t._l(e.headimg,(function(t,e){return n("li",{key:e},[n("el-tooltip",{attrs:{effect:"dark",content:t.name,placement:"top-start"}},[n("img",{attrs:{src:t.src,alt:""}})])],1)})),0)])])])])])})),1)],1)}),[],!1,null,null,null).exports,mn=Object(i.a)({name:"data-operatext",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),bn=Object(c.a)(mn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-operatext"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item"},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);"},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item-header",style:{backgroundColor:e.color,backgroundImage:"url("+e.colorImg+")"}},[n("span",{staticClass:"item-title"},[t._v(t._s(e.title))]),t._v(" "),n("span",{staticClass:"item-subtitle"},[t._v(t._s(e.subtitle))])]),t._v(" "),n("div",{staticClass:"item-content"},[n("div",{staticClass:"item-img"},[n("img",{attrs:{src:e.img,alt:""}})]),t._v(" "),n("div",{staticClass:"item-list"},t._l(e.list,(function(e,i){return n("div",{key:i,staticClass:"item-row"},[n("span",{staticClass:"item-label"},[t._v(t._s(e.label))]),t._v(" "),n("span",{staticClass:"item-value"},[t._v(t._s(e.value))])])})),0)])])])])})),1)],1)}),[],!1,null,null,null).exports,vn=Object(i.a)({name:"data-rotate",data:function(){return{}},props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||8},data:function(){return this.option.data||[]}},created:function(){},mounted:function(){},watch:{},methods:{}}),yn=Object(c.a)(vn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-rotate"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item",style:{backgroundColor:e.color}},[n("div",{staticClass:"item-box"},[n("avue-count-up",{staticClass:"item-count",attrs:{decimals:e.decimals||t.decimals,animation:e.animation||t.animation,end:e.count}}),t._v(" "),n("span",{staticClass:"item-title"},[t._v(t._s(e.title))]),t._v(" "),n("i",{staticClass:"item-icon",class:e.icon})],1),t._v(" "),n("a",{attrs:{href:e.href?e.href:"javascript:void(0);"},on:{click:function(t){e.click&&e.click(e)}}},[n("p",{staticClass:"item-more"},[t._v("更多"),n("i",{staticClass:"el-icon-arrow-right"})])])])])})),1)],1)}),[],!1,null,null,null).exports,gn=Object(i.a)({name:"data-pay",props:{option:{type:Object,default:function(){}}},computed:{animation:function(){return this.option.animation},decimals:function(){return this.option.decimals||0},span:function(){return this.option.span||6},data:function(){return this.option.data||[]}}}),_n=Object(c.a)(gn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b()},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("div",{staticClass:"item"},[n("div",{staticClass:"top",style:{backgroundColor:e.color}}),t._v(" "),n("div",{staticClass:"header"},[n("p",{staticClass:"title"},[t._v(t._s(e.title))]),t._v(" "),n("img",{staticClass:"img",attrs:{src:e.src,alt:""}}),t._v(" "),e.subtitle?[n("p",{staticClass:"subtitle",style:{color:e.color}},[t._v(t._s(e.subtitle))])]:t._e(),t._v(" "),e.money||e.dismoney?[n("p",{staticClass:"money",style:{color:e.color}},[n("span",[t._v("¥")]),t._v(" "),n("avue-count-up",{staticClass:"b",attrs:{decimals:e.decimals||t.decimals,animation:e.animation||t.animation,end:e.dismoney}}),t._v(" "),n("s",[t._v(t._s(e.money))]),t._v(" "),n("em",[t._v(t._s(e.tip))])],1)]:t._e(),t._v(" "),n("div",{staticClass:"line"}),t._v(" "),n("a",{staticClass:"btn",style:{backgroundColor:e.color},attrs:{href:e.href?e.href:"javascript:void(0);"},on:{click:function(t){e.click&&e.click(e)}}},[t._v(t._s(e.subtext))])],2),t._v(" "),n("div",{staticClass:"list"},t._l(e.list,(function(i,o){return n("div",{staticClass:"list-item"},[i.check?n("i",{staticClass:"list-item-icon list-item--check",style:{color:e.color}},[t._v("√")]):n("i",{staticClass:"list-item-icon list-item--no"},[t._v("x")]),t._v(" "),n("a",{attrs:{href:i.href?i.href:"javascript:void(0);"}},[n("el-tooltip",{attrs:{effect:"dark",disabled:!i.tip,placement:"top"}},[n("div",{attrs:{slot:"content"},domProps:{innerHTML:t._s(i.tip)},slot:"content"}),t._v(" "),n("span",{class:{"list-item--link":i.href}},[t._v(t._s(i.title))])])],1)])})),0)])])})),1)],1)}),[],!1,null,null,null).exports,xn=Object(i.a)({name:"data-price",data:function(){return{}},computed:{span:function(){return this.option.span||6},data:function(){return this.option.data}},props:{option:{type:Object,default:function(){}}}}),wn=Object(c.a)(xn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"data-price"},[n("el-row",{attrs:{span:24}},[t._l(t.data,(function(e,i){return[n("el-col",{key:i,attrs:{xs:12,sm:6,md:t.span}},[n("div",{staticClass:"item item--active"},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);",target:e.target},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"title"},[t._v("\n "+t._s(e.title)+"\n ")]),t._v(" "),n("div",{staticClass:"body"},[n("span",{staticClass:"price"},[t._v(t._s(e.price))]),t._v(" "),n("span",{staticClass:"append"},[t._v(t._s(e.append))])]),t._v(" "),n("div",{staticClass:"list"},t._l(e.list,(function(e,i){return n("p",{key:i},[t._v("\n "+t._s(e)+"\n ")])})),0)])])])]}))],2)],1)}),[],!1,null,null,null).exports,Sn=Object(i.a)({name:"data-panel",data:function(){return{}},computed:{decimals:function(){return this.option.decimals||0},animation:function(){return this.option.animation},span:function(){return this.option.span||6},data:function(){return this.option.data||[]}},props:{option:{type:Object,default:function(){}}},created:function(){},methods:{}}),On={DataTabs:Ze,DataCardText:en,DataBox:on,DataProgress:rn,DataIcons:ln,DataCard:un,DataDisplay:pn,DataImgText:fn,DataOperaText:bn,DataRotate:yn,DataPay:_n,DataPrice:wn,DataPanel:Object(c.a)(Sn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"avue-data-panel"},[n("el-row",{attrs:{span:24}},t._l(t.data,(function(e,i){return n("el-col",{key:i,attrs:{md:t.span,xs:24,sm:12}},[n("a",{attrs:{href:e.href?e.href:"javascript:void(0);"},on:{click:function(t){e.click&&e.click(e)}}},[n("div",{staticClass:"item"},[n("div",{staticClass:"item-icon"},[n("i",{class:e.icon,style:{color:e.color}})]),t._v(" "),n("div",{staticClass:"item-info"},[n("div",{staticClass:"item-title"},[t._v(t._s(e.title))]),t._v(" "),n("avue-count-up",{staticClass:"item-count",attrs:{animation:e.animation||t.animation,decimals:e.decimals||t.decimals,end:e.count}})],1)])])])})),1)],1)}),[],!1,null,null,null).exports},Cn={name:R.i+R.j,homeurl:"${HOME_URL}",echart:["common","map","pictorialbar","wordcloud","scatter","bar","line","pie","gauge","funnel","radar"]},kn={props:{click:Function,stylesFormatter:Function,dataFormatter:Function,titleFormatter:Function,labelFormatter:Function,clickFormatter:Function,sqlFormatter:Function,formatter:Function,echartFormatter:Function,width:{type:[Number,String],default:600},height:{type:[Number,String],default:600},theme:{type:String},animation:{type:Boolean,default:!0},child:{type:Object,default:function(){return{}}},sql:{type:String},time:{type:Number,default:0},url:{type:String},disabled:{type:Boolean,default:!0},dataType:{type:Number,default:0},dataQuery:{type:Object,default:function(){return{}}},homeUrl:{type:String},dataAppend:{type:Boolean,default:!1},dataMethod:{type:String,default:"get"},id:{type:String,default:"main_"+(new Date).getTime()},data:{type:[Object,String,Array]},component:{type:Object,default:function(){return{}}},option:{type:Object,default:function(){return{}}}},data:function(){return{propQuery:{},dataCount:0,headerHeight:"",checkChart:"",myChart:"",dataChart:[],dataUrl:"",key:!1,isChart:!1,styles:{}}},watch:{echartFormatter:function(){this.updateChart()},styleChartName:function(){var t=this;this.$nextTick((function(){t.myChart&&t.myChart.resize()}))},url:{handler:function(t){this.dataUrl=t||""},deep:!0,immediate:!0},data:{handler:function(){this.updateData()},deep:!0,immediate:!0},width:function(){this.updateData()},height:function(){this.updateData()},theme:function(){this.myChart.dispose(),this.init(),this.updateData()},option:{handler:function(){this.myChart&&this.isChart&&this.updateData()},deep:!0,immediate:!0}},computed:{dataChartLen:function(){return(this.dataChart||[]).length},switchTheme:function(){return this.vaildData(this.option.switchTheme,!1)},name:function(){return this.$el.className.replace(Cn.name,"")},minWidth:function(){var t=this.option.minWidth;if(t>this.width)return t},isApi:function(){return 1===this.dataType},isSql:function(){return 2===this.dataType},style:function(){return this.component.style||{}},styleChartName:function(){return{width:Object(Z.w)(this.minWidth||this.width),height:Object(Z.w)(this.height)}},styleSizeName:function(){var t=this;return Object.assign({width:Object(Z.w)(this.width),height:Object(Z.w)(this.height)},t.minWidth?{overflowX:"auto",overflowY:"hidden"}:{},this.styles)}},mounted:function(){this.init()},methods:{init:function(){if(window.echarts){var t=this.$refs[this.id];t&&(this.isChart=Cn.echart.includes(this.name),this.isChart&&(this.myChart=window.echarts.init(t,this.theme)),"datav"==this.name&&(this.isChart=!0,this.updateData()))}else D.a.logs("echarts")},updateUrl:function(t){this.dataUrl=t,this.updateData()},updateData:function(){var t=this;return new Promise((function(e,n){if(t.resetData&&t.resetData(),!t.key){t.key=!0;var i=function(){t.key=!1;var n=function(){t.isChart&&t.updateChart(),t.myChart&&t.bindClick(),"function"==typeof t.stylesFormatter&&(t.styles=t.stylesFormatter(t.dataChart)||{}),e(t.dataChart)};if(t.isApi){var i=t.dataUrl.replace(Cn.homeurl,t.homeUrl),o=Object(Z.q)(i),a=o.url,r=Object.assign(o.params,t.dataQuery,t.propQuery);if(!window.axios)return void D.a.logs("axios");t.$axios[t.dataMethod](a,"get"===t.dataMethod?{params:r}:"post"===t.dataMethod?r:void 0).then((function(e){!function(e){var i="function"==typeof t.dataFormatter?t.dataFormatter(e.data):e.data||{};t.dataAppend?i.forEach((function(e){t.dataCount++,setTimeout((function(){t.dataChart.unshift(e)}),1500*t.dataCount)})):t.dataChart=i,n()}(e)}))}else t.isSql?t.sqlFormatter(t.sql).then((function(e){"function"==typeof t.dataFormatter?t.dataChart=t.dataFormatter(e.data.data):t.dataChart=e.data.data,n()})):("function"==typeof t.dataFormatter?t.dataChart=t.dataFormatter(t.data):t.dataChart=t.data,n())};t.$nextTick((function(){i(),clearInterval(t.checkChart),0!==t.time&&t.disabled&&(t.checkChart=setInterval((function(){i()}),t.time))}))}}))},getLabelFormatter:function(t){return this.labelFormatter?this.labelFormatter(t,this.dataChart):t.value},bindClick:function(){var t=this;this.myChart.off("click"),this.myChart.on("click",(function(e){e.marker&&t.clickFormatter&&t.clickFormatter({type:t.name,name:e.name,value:e.value[2]||e.value,data:t.dataChart})}))},getColor:function(t,e){var n=this.option.barColor||[];if(n[t]){var i=n[t].color1,o=n[t].color2,a=.01*(n[t].postion||.9);return e?i:o?{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:i},{offset:a,color:o}],global:!1}:i}},ishasprop:function(t,e,n){return Object.assign(t?e:{},n)}},beforeDestroy:function(){clearInterval(this.checkChart)}},jn=function(t){return t.name=R.j+t.name,t.mixins=t.mixins||[],t.mixins.push(kn),Object(i.a)(t)},Dn=jn({name:"bar",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:this.ishasprop(this.formatter,{formatter:function(e){return t.formatter(e,t.dataChart)}},{textStyle:{fontSize:this.option.tipFontSize,color:this.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"vertical",x:this.option.legendPostion||"left",top:0,right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:(e.series||[]).map((function(e,n){return{name:e.name,textStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n,!0)},{})}}))},xAxis:{type:this.option.category?"value":"category",name:this.option.xAxisName,axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},data:e.categories||[],inverse:this.vaildData(this.option.xAxisInverse,!1),show:this.vaildData(this.option.xAxisShow,!0),splitLine:{show:this.vaildData(this.option.xAxisSplitLineShow,!1)},axisLabel:{interval:this.option.xAxisinterval||"auto",rotate:this.option.xAxisRotate||0,textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.xNameFontSize||14}}},yAxis:{type:this.option.category?"category":"value",name:this.option.yAxisName,data:e.categories||[],axisLabel:{textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.yNameFontSize||14}},axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},inverse:this.vaildData(this.option.yAxisInverse,!1),show:this.vaildData(this.option.yAxisShow,!0),splitLine:{show:this.vaildData(this.option.yAxisSplitLineShow,!0)}},series:function(){t.option.barColor;return(e.series||[]).map((function(e,n){return Object.assign(e,{type:"bar",stack:e.stack,barWidth:t.option.barWidth||16,barMinHeight:t.option.barMinHeight||0,itemStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n)},{barBorderRadius:t.option.barRadius||0}),label:{show:t.vaildData(t.option.labelShow,!1),position:"top",formatter:function(e){return t.getLabelFormatter(e)},textStyle:{fontSize:t.option.labelShowFontSize||14,color:t.option.labelShowColor||"#333",fontWeight:t.option.labelShowFontWeight||500}}})}))}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),En=Object(c.a)(Dn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,Mn=jn({name:"pie",computed:{labelShow:function(){return this.vaildData(this.option.labelShow,!1)},x2:function(){return this.option.gridX2||20},fontSize:function(){return this.option.fontSize||14}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart)||[],n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:Object.assign(t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{},{textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"vertical",x:this.option.legendPostion||"left",top:0,right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:e.map((function(e,n){return{name:e.name,textStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n,!0)},{})}}))},series:function(){t.option.barColor;return[{type:"pie",roseType:t.option.roseType?"radius":"",radius:t.option.radius?["40%","55%"]:"50%",center:["50%","60%"],animationType:"scale",animationEasing:"elasticOut",animationDelay:function(t){return 200*Math.random()},label:{normal:{show:t.labelShow,formatter:"{b}:{c}({d}%)",textStyle:{fontSize:t.fontSize}}},data:function(){var n=e;return t.option.notCount&&(n=n.filter((function(t){if(0!==t.value&&t.value)return!0}))),t.option.sort&&n.sort((function(t,e){return t.value-e.value})),n}(),itemStyle:t.ishasprop(!t.switchTheme,{color:function(e){return t.getColor(e.dataIndex)}},{emphasis:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}})}]}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),An=Object(c.a)(Mn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.styleSizeName},[n("div",{class:t.b("title"),domProps:{innerHTML:t._s(t.titleFormatter&&t.titleFormatter(t.dataChart))}}),t._v(" "),n("div",{ref:t.id,style:t.styleChartName})])}),[],!1,null,null,null).exports,Tn=jn({name:"line",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:Object.assign(t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{},{backgroundColor:"rgba(0,0,0,1)",trigger:"axis",textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"horizontal",x:this.option.legendPostion||"right",top:0,right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:(e.series||[]).map((function(e,n){return{name:e.name,textStyle:{color:t.getColor(n,!0)}}}))},xAxis:{type:this.option.category?"value":"category",name:this.option.xAxisName,axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},data:e.categories||[],inverse:this.vaildData(this.option.xAxisInverse,!1),show:this.vaildData(this.option.xAxisShow,!0),splitLine:{show:this.vaildData(this.option.xAxisSplitLineShow,!1)},axisLabel:{textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.xNameFontSize||14}}},yAxis:{type:this.option.category?"category":"value",name:this.option.yAxisName,data:e.categories||[],axisLabel:{textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.yNameFontSize||14}},axisLine:{lineStyle:{color:this.option.lineColor||"#333"}},inverse:this.vaildData(this.option.yAxisInverse,!1),show:this.vaildData(this.option.yAxisShow,!0),splitLine:{show:this.vaildData(this.option.yAxisSplitLineShow,!0)}},series:(e.series||[]).map((function(e,n){return Object.assign(e,{type:"line",smooth:t.vaildData(t.option.smooth,!0),symbolSize:t.option.symbolSize||10,areaStyle:function(){if(t.option.areaStyle)return{opacity:.7}}(),lineStyle:{width:t.option.lineWidth||1},itemStyle:t.ishasprop(!t.switchTheme,{color:t.getColor(n)},{}),label:{show:t.vaildData(t.option.labelShow,!1),position:"top",formatter:function(e){return t.getLabelFormatter(e)},textStyle:{fontSize:t.option.labelShowFontSize||14,color:t.option.labelShowColor||"#333",fontWeight:t.option.labelShowFontWeight||500}}})}))};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),Pn=Object(c.a)(Tn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports;function In(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var $n=jn({name:"table",data:function(){return{visible:!1,listVisible:!1,columnData:[],indexWidth:80,top:0,prop:"",scrollCheck:"",activeIndex:0,query:{}}},watch:(Ke={columnOption:{handler:function(){var t=this;this.columnData=[],this.columnOption.forEach((function(e){1!=e.hide&&t.columnData.push(e.prop)}))},immediate:!0},scrollCount:function(){this.setTime()},count:function(){this.setTime()},scrollTime:function(){this.setTime()}},In(Ke,"count",(function(){this.setTime()})),In(Ke,"scroll",{handler:function(t){this.setTime()},immediate:!0}),Ke),computed:{listOption:function(){var t=this;return Object.assign({align:"center",headerAlign:"center",size:"mini",menu:!1,header:!1,height:500,sumText:"合计",showSummary:!0,column:this.option.column},{sumColumnList:t.totalList.map((function(t){return{name:t,type:"sum"}}))})},totalList:function(){return this.option.totalList||[]},totalFlag:function(){return!this.validatenull(this.totalList)},totalData:function(){var t=this,e={};return this.totalList.forEach((function(n){t.dataChart.forEach((function(t){e[n]=(e[n]||0)+Number(t[n]),e[n]=Number(e[n].toFixed(2))}))})),e},columnShow:function(){return this.option.columnShow},columnViews:function(){return this.option.columnViews},columnShowWhite:function(){return this.option.columnShowWhite||[]},columnShowList:function(){return this.option.columnShowList||[]},dataTabelLen:function(){return this.dataChart.length},dataTabel:function(){var t=this.dataChart;return this.validatenull(this.prop)||(t=this.sortArrys(t,this.prop)),t},allHeight:function(){var t=this.count-(this.totalFlag?2:1);return(this.dataChartLen-t)*this.lineHeight},count:function(){return(this.option.count||10)+1},dataChartLen:function(){return(this.dataChart||[]).length},lineHeight:function(){return parseInt(this.height/this.count)},index:function(){return this.option.index},scroll:function(){return this.option.scroll},scrollTime:function(){return this.option.scrollTime||5e3},fontSize:function(){return this.option.fontSize||14},scrollCount:function(){return this.option.scrollCount||this.count},speed:function(){return this.scrollCount*this.lineHeight},styleThName:function(){return{fontSize:this.setPx(this.fontSize),background:this.option.headerBackground||"rgba(0, 0, 0, 0.01)",color:this.option.headerColor||"rgba(154, 168, 212, 1)"}},columnOption:function(){return this.crudOption.column||[]},styleTdName:function(){return{fontSize:this.setPx(this.fontSize),lineHeight:this.setPx(this.lineHeight),height:this.setPx(this.lineHeight),color:this.option.bodyColor||"rgba(154, 168, 212, 1)",borderColor:this.option.borderColor||"rgba(51, 65, 107, 1)"}},styleMenuName:function(){return{lineHeight:this.setPx(this.lineHeight),color:this.option.headerColor||"rgba(154, 168, 212, 1)"}},sortableProp:function(){return this.option.sortableProp||"order"},crudOption:function(){return Object.assign(this.option,{menu:!1,align:"center",headerAlign:"center",header:!1})}},props:{option:{type:Object,default:function(){return{}}}},methods:{styleWidth:function(t){return{width:this.setPx(t),flex:t?"initial":1}},resetData:function(){this.top=0},handleSortable:function(t){this.propQuery[this.sortableProp]=t,this.updateData()},setTime:function(){var t=this;this.top=0,clearInterval(this.scrollCheck),setTimeout((function(){t.scroll&&(t.scrollCheck=setInterval((function(){t.top<=-t.allHeight?t.top=0:t.top=t.top-t.speed}),t.scrollTime))}),2e3)},styleTrName:function(t){var e={lineHeight:this.setPx(this.lineHeight)};return e.background=t%2==0?this.option.othColor:this.option.nthColor,e},rowClick:function(t,e){this.clickFormatter&&this.clickFormatter({type:e,value:t,data:this.dataChart})},handleClick:function(t,e){this.activeIndex=e,this.query.type=t,this.updateData()}}}),Ln=Object(c.a)($n,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:[t.styleSizeName,{overflow:t.scroll?"hidden":"inherit"}]},[n("el-dialog",{attrs:{visible:t.visible,"modal-append-to-body":"","append-to-body":"",title:"数据显隐",width:"30%"},on:{"update:visible":function(e){t.visible=e}}},[n("avue-checkbox",{attrs:{dic:t.columnOption,props:{value:"prop"}},model:{value:t.columnData,callback:function(e){t.columnData=e},expression:"columnData"}})],1),t._v(" "),n("el-dialog",{class:t.b("allview"),attrs:{visible:t.listVisible,"modal-append-to-body":"",title:"详细数据","append-to-body":"",width:"80%"},on:{"update:visible":function(e){t.listVisible=e}}},[n("avue-crud",{attrs:{option:t.listOption,data:t.dataTabel}})],1),t._v(" "),n("div",{class:t.b("table"),style:t.styleTdName},[n("div",{class:t.b("tr")},[t.index?n("div",{class:t.b("td"),style:[t.styleThName,t.styleWidth(t.indexWidth)]},[n("div",{class:t.b("menu"),style:t.styleMenuName},[t.columnShow?n("i",{staticClass:"el-icon-menu",on:{click:function(e){t.visible=!0}}}):t._e(),t._v(" "),t.columnViews?n("i",{staticClass:"el-icon-view",on:{click:function(e){t.listVisible=!0}}}):t._e()])]):t._e(),t._v(" "),t._l(t.columnOption,(function(e,i){return[(t.columnData||[]).includes(e.prop)?n("div",{key:i,class:t.b("td"),style:[t.styleThName,t.styleWidth(e.width)],on:{click:function(n){return t.handleSortable(e.prop)}}},[t._v("\n "+t._s(e.label)+"\n ")]):t._e()]}))],2),t._v(" "),t.totalFlag?n("div",{class:t.b("tr")},[t.index?n("div",{class:[t.b("td")],style:[t.styleWidth(t.indexWidth)]},[t._v("\n 合计\n ")]):t._e(),t._v(" "),t._l(t.columnOption,(function(e,i){return[(t.columnData||[]).includes(e.prop)?n("div",{key:i,class:t.b("td"),style:[t.styleWidth(e.width)]},[t._v("\n "+t._s(t.totalData[e.prop])+"\n ")]):t._e()]}))],2):t._e(),t._v(" "),n("div",{ref:"body",class:t.b("body"),style:t.styleSizeName},[n("transition-group",{attrs:{"enter-active-class":t.option.enterActiveClass,"leave-active-class":t.option.leaveActiveClass,tag:"div"}},t._l(t.dataTabel,(function(e,i){return n("div",{key:t.dataTabelLen-i,class:t.b("tr",["line"]),style:[t.styleTrName(i),{top:t.setPx(i*t.lineHeight+t.top)}],on:{click:function(n){return t.rowClick(e,i)}}},[t.index?n("div",{key:t.index,class:t.b("td"),style:[t.styleWidth(t.indexWidth)]},[n("div",{class:t.b("index",[i+1+""])},[t._v(" "+t._s(i+1))])]):t._e(),t._v(" "),t._l(t.columnOption,(function(i,o){return[(t.columnData||[]).includes(i.prop)?n("div",{key:o,class:t.b("td"),style:[t.styleTdName,t.styleWidth(i.width)]},[n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:e[i.prop],placement:"top"}},[n("span",{domProps:{innerHTML:t._s(e[i.prop])}})])],1):t._e()]}))],2)})),0)],1)])],1)}),[],!1,null,null,null).exports,zn=jn({name:"flop",data:function(){return{statusDIC:[".",","]}},computed:{isArray:function(){return Array.isArray(this.dataChart)},decimals:function(){return this.option.decimals||0},listData:function(){return this.isArray?this.dataChart:[this.dataChart]},isWhole:function(){return this.vaildData(this.option.whole,!1)},type:function(){return this.option.type},isBorder:function(){return"border"===this.type},isImg:function(){return"img"===this.type},span:function(){return this.option.span||1},prefixStyle:function(){return{display:this.option.prefixInline?"inline-block":"block",textAlign:this.option.prefixTextAlign,marginBottom:this.setPx(this.option.prefixSplity),marginRight:this.setPx(this.option.prefixSplitx),color:this.option.prefixColor||"#fff",fontSize:this.setPx(this.option.prefixFontSize||24)}},suffixStyle:function(){return{display:this.option.suffixInline?"inline-block":"block",textAlign:this.option.suffixTextAlign,marginTop:this.setPx(this.option.suffixSplity),marginLeft:this.setPx(this.option.suffixSplitx),color:this.option.suffixColor||"#fff",fontSize:this.setPx(this.option.suffixFontSize||24)}},styleParentSize:function(){var t={boxSizing:"border-box",display:"inline-block",width:100/this.span-1+"%"};return this.option.splitx&&(t.paddingRight=this.setPx(this.option.splitx)),this.option.splity&&(t.paddingBottom=this.setPx(this.option.splity)),t},styleParentName:function(){var t={};return this.isImg||this.isBorder||(t=Object.assign(t,{backgroundImage:"url(".concat(this.option.backgroundImage,")"),backgroundColor:this.option.backgroundColor})),this.option.padding&&(t.padding=this.setPx(this.option.padding)),t},styleName:function(){var t,e=this;return Object.assign((t={},e.option.splitx&&(t.marginRight=e.setPx(e.option.splitx)),e.option.splity&&(t.marginBottom=e.setPx(e.option.splity)),e.option.backgroundImage&&(t=Object.assign(t,{backgroundImage:"url(".concat(e.option.backgroundImage,")"),backgroundSize:"100% 100%"})),t),{textAlign:this.option.textAlign,backgroundColor:this.option.backgroundColor,color:this.option.color||"#fff",fontSize:this.setPx(this.option.fontSize||64),fontWeight:this.option.fontWeight},"img"===e.type?{borderImageSource:"url(".concat(e.option.backgroundBorder,")")}:"border"===e.type?{borderColor:e.option.borderColor||"#fff",borderStyle:"solid",borderWidth:e.setPx(e.option.borderWidth)}:void 0)}},props:{option:{type:Object,default:function(){return{}}}},created:function(){},methods:{handleClick:function(t,e){this.clickFormatter&&this.clickFormatter({type:e,value:t,data:this.dataChart})},getValByArray:function(t,e){return this.isArray?t[e]:this.option[e]}}}),Nn=Object(c.a)(zn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.styleSizeName},t._l(t.listData,(function(e,i){return n("div",{key:i,style:t.styleParentSize},[n("el-tooltip",{style:[t.styleParentName,{backgroundColor:e.backgroundColor||t.option.backgroundColor}],attrs:{disabled:!e.formatter,placement:"top-start"}},[n("div",{attrs:{slot:"content"},domProps:{innerHTML:t._s(e.formatter&&e.formatter())},slot:"content"}),t._v(" "),n("div",{class:t.b("item",{none:t.statusDIC.includes(e)||""===t.type,whole:t.isWhole,img:t.isWhole&&(t.isImg||t.isBorder)}),style:t.isWhole?t.styleName:"",on:{click:function(n){return t.handleClick(e,i)}}},[t.getValByArray(e,"prefixText")?n("div",{style:t.prefixStyle},[t._v(t._s(t.getValByArray(e,"prefixText")))]):t._e(),t._v(" "),t.isWhole?n("avue-count-up",{attrs:{decimals:t.decimals,end:e.data||e.value}}):n("div",{class:t.b("count")},t._l((e.data||e.value)+"".split(","),(function(e,i){return n("div",{key:i,class:t.b("item",{none:t.statusDIC.includes(e)||""===t.type,img:t.isImg}),style:t.styleName,on:{click:function(n){return t.handleClick(e,i)}}},[t.statusDIC.includes(e)?n("div",[t._v(t._s(e))]):n("avue-count-up",{attrs:{decimals:t.decimals,end:e}})],1)})),0),t._v(" "),t.getValByArray(e,"suffixText")?n("div",{style:t.suffixStyle},[t._v(t._s(t.getValByArray(e,"suffixText")))]):t._e()],1)])],1)})),0)}),[],!1,null,null,null).exports,Bn=jn({name:"datetime",data:function(){return{date:new Date}},computed:{nowDate:function(){if("day"===this.option.format)return"星期"+function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return"number"==typeof t?t=new Date(t):"string"==typeof t&&(t=new Date(t.replace(/-/g,"/").replace(/\./g,"/"))),"日一二三四五六".charAt(t.getDay())}();var t=(this.option.format||"yyyy-MM-dd hh:mm:ss").replace("dd","DD").replace("yyyy","YYYY");return T()(this.date).format(t)},styleName:function(){return{width:"100%",height:"100%",textAlign:this.option.textAlign,letterSpacing:this.setPx(this.option.split),textIndent:this.setPx(this.option.split),backgroundColor:this.option.backgroundColor,fontWeight:this.option.fontWeight||"normal",fontSize:(this.option.fontSize||30)+"px",color:this.option.color||"#333"}}},created:function(){var t=this;setInterval((function(){t.date=new Date}),1e3)},props:{option:{type:Object,default:function(){return{}}}},methods:{handleClick:function(){this.clickFormatter&&this.clickFormatter({data:this.dataChart})}}}),Fn=Object(c.a)(Bn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{ref:"main",class:this.b(),style:this.styleSizeName,on:{click:this.handleClick}},[e("p",{style:this.styleName},[this._v(this._s(this.nowDate))])])}),[],!1,null,null,null).exports,Rn=jn({name:"text",data:function(){return{check:"",date:new Date,left:0}},computed:{scroll:function(){return this.vaildData(this.option.scroll,!1)},linkHref:function(){return this.option.linkHref||"#"},linkTarget:function(){return this.option.linkTarget||"_self"},step:function(){return this.option.step||5},speed:function(){return this.option.speed||100},lineHeight:function(){return this.option.lineHeight||40},fontSize:function(){return this.option.fontSize||30},split:function(){return this.option.split},textWidth:function(){return(this.dataChart.value||"").length*this.fontSize},styleName:function(){return{width:this.scroll?this.setPx(this.textWidth):"auto",transform:"translateX("+this.left+"px)",textAlign:this.option.textAlign,letterSpacing:this.setPx(this.split),textIndent:this.setPx(this.split),backgroundColor:this.option.backgroundColor,fontWeight:this.option.fontWeight||"normal",fontSize:this.fontSize+"px",lineHeight:this.lineHeight+"px",color:this.option.color||"#333"}}},watch:{scroll:function(){this.move()},speed:function(){this.move()}},created:function(){var t=this;setInterval((function(){t.date=new Date}),1e3)},mounted:function(){this.move()},methods:{handleClick:function(){this.clickFormatter&&this.clickFormatter({data:this.dataChart})},move:function(){var t=this;clearInterval(this.check),this.scroll?this.check=setInterval((function(){t.left<-t.textWidth&&(t.left=t.width),t.left=t.left-t.step}),this.speed):this.left=0}},props:{option:{type:Object,default:function(){return{}}}}}),Kn=Object(c.a)(Rn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"main",class:t.b(),style:t.styleSizeName,on:{click:t.handleClick}},[n("div",{ref:"box",class:t.b("box")},[n("a",{ref:"text",class:t.b("text"),style:t.styleName,attrs:{href:t.linkHref,target:t.linkTarget}},[t._v(t._s(t.dataChart.value))])])])}),[],!1,null,null,null).exports,Wn=jn({name:"swiper",data:function(){return{}},computed:{styleName:function(){return{opacity:this.opacity}},indicator:function(){return this.opacity.indicator||"none"},opacity:function(){return.01*(this.option.opacity||100)},type:function(){return this.option.type||""},interval:function(){return this.option.interval||5e3}},created:function(){},mounted:function(){},methods:{handleClick:function(t,e){this.clickFormatter&&this.clickFormatter({type:e,value:t,data:this.dataChart})}},props:{option:{type:Object,default:function(){return{}}}}}),Un=Object(c.a)(Wn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"main",class:t.b(),style:t.styleSizeName},[n("el-carousel",{attrs:{type:t.type,"indicator-position":t.indicator,interval:t.interval,height:t.height}},t._l(t.dataChart,(function(e){return n("el-carousel-item",{key:e,on:{click:function(n){return t.handleClick(e,t.index)}}},[n("img",{style:t.styleName,attrs:{src:e.value,draggable:"false"}})])})),1)],1)}),[],!1,null,null,null).exports,Hn=jn({name:"iframe",data:function(){return{}},computed:{},created:function(){},mounted:function(){},methods:{handleClick:function(){this.clickFormatter&&this.clickFormatter({data:this.dataChart})}},props:{option:{type:Object,default:function(){return{}}}}}),Vn=Object(c.a)(Hn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{ref:"main",class:this.b(),style:this.styleSizeName,on:{click:this.handleClick}},[e("iframe",{attrs:{src:this.dataChart.value,draggable:"false"}})])}),[],!1,null,null,null).exports,qn=jn({name:"video",data:function(){return{}},computed:{},created:function(){},mounted:function(){},methods:{handleClick:function(){this.clickFormatter&&this.clickFormatter({type:index,value:item,data:this.dataChart})}},props:{option:{type:Object,default:function(){return{}}}}}),Yn=Object(c.a)(qn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{ref:"main",class:this.b(),style:this.styleSizeName,on:{click:this.handleClick}},[e("video",{staticStyle:{"object-fit":"fill"},attrs:{controls:"",autoplay:"",loop:"",width:this.width,height:this.height}},[e("source",{attrs:{src:this.dataChart.value}})])])}),[],!1,null,null,null).exports,Gn=jn({name:"wordcloud",methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart)||[],n={series:[{type:"wordCloud",left:"center",top:"center",width:"100%",height:"100%",right:null,bottom:null,sizeRange:[t.option.minFontSize||12,t.option.maxFontSize||60],rotationRange:t.option.rotate?[-90,90]:[0,0],rotationStep:t.option.rotate?45:0,gridSize:this.option.split||30,drawOutOfBound:!1,textStyle:{normal:{fontFamily:"sans-serif",fontWeight:"bold",color:function(){return"rgb("+[Math.round(160*Math.random()),Math.round(160*Math.random()),Math.round(160*Math.random())].join(",")+")"}},emphasis:{shadowBlur:10,shadowColor:"#333"}},data:e}]};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),Xn=Object(c.a)(Gn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,Qn=jn({name:"gauge",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t,e=this,n=this.deepClone(this.dataChart),i={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},series:[{name:"业务指标",type:"gauge",detail:{fontSize:this.option.valueFontSize||30,formatter:"{value}"+n.unit},min:n.min,max:n.max,axisLine:{lineStyle:{color:(t=[],(e.option.barColor||[]).forEach((function(e){t.push([e.postion,e.color1])})),e.validatenull(t)&&(t=[[0,2,"#91c7ae"],[.8,"#638693"],[1,"#c23531"]]),t),width:this.option.lineSize||5}},axisLabel:{show:this.vaildData(this.option.axisLabelShow,!0),fontSize:this.option.axisLabelFontSize||25},axisTick:{lineStyle:{color:this.option.lineColor||"#eee"}},title:{color:this.option.nameColor,fontSize:this.option.nameFontSize||20},data:[n]}]};this.myChart.resize(),this.myChart.setOption(i,!0)}}}),Jn=Object(c.a)(Qn,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,Zn=jn({name:"progress",computed:{styleSuffixName:function(){return{fontWeight:this.option.suffixFontWeight||"normal",fontSize:(this.option.suffixFontSize||40)+"px",color:this.option.suffixColor||"#333"}},styleName:function(){return{marginBottom:this.option.split+"px",fontWeight:this.option.fontWeight||"normal",fontSize:(this.option.fontSize||40)+"px",color:this.option.color||"#333"}},type:function(){return this.option.type||"line"},color:function(){return this.option.borderColor||"#333"},strokeWidth:function(){return this.option.strokeWidth||14}},props:{option:{type:Object,default:function(){return{}}}},methods:{handleClick:function(){this.clickFormatter&&this.clickFormatter({data:this.dataChart})}}}),ti=Object(c.a)(Zn,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"main",class:t.b(),style:t.styleSizeName,on:{click:t.handleClick}},[n("div",{class:t.b("text",{line:"line"===t.type,circle:"circle"===t.type})},[n("p",{style:t.styleSuffixName},[t._v(t._s(t.dataChart.label))]),t._v(" "),n("p",{style:t.styleName},[t.dataChart.value?n("avue-count-up",{attrs:{end:Number(t.dataChart.value)}}):t._e()],1)]),t._v(" "),n("avue-progress",{attrs:{color:t.color,width:t.width,showText:!1,strokeWidth:t.strokeWidth,percentage:t.dataChart.data,type:t.type}})],1)}),[],!1,null,null,null).exports;function ei(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var ni=jn({name:"map",data:function(){return{bannerCount:0,bannerCheck:"",move:!1,step:1,startLeft:0,startTop:0,baseScale:0,left:0,top:0,centerData:[],zoomData:1}},watch:{mapData:function(){this.updateChart()},dataChartLen:function(){this.setBanner()},bannerTime:function(){this.setBanner()},banner:{handler:function(){this.setBanner()},immediate:!0},type:function(){var t=this;this.isEchart&&this.$nextTick((function(){t.init(),t.updateData()}))},width:function(){this.updateData()},height:function(){this.updateData()},zoom:{handler:function(){this.zoomData=this.zoom},immediate:!0},scale:{handler:function(t){this.baseScale=t},immediate:!0}},computed:{zoomShow:function(){return this.option.zoomShow||1},zoom:function(){return this.option.zoom||1},mapData:function(){return this.option.mapData||{}},borderWidth:function(){return this.option.borderWidth||3},borderColor:function(){return this.option.borderColor||"#389BB7"},areaColor:function(){return this.option.areaColor||"#0c162f"},empColor:function(){return this.option.empColor||"#fff"},empAreaColor:function(){return this.option.empAreaColor||"yellow"},color:function(){return this.option.color||"#fff"},roam:function(){return this.vaildData(this.option.roam,!0)},fontSize:function(){return this.option.fontSize||24},isEchart:function(){return 0===this.type},bannerTime:function(){return this.option.bannerTime||3e3},banner:function(){return this.option.banner},scale:function(){return this.option.scale||100},styleImgName:function(){return{marginLeft:this.setPx(this.left),marginTop:this.setPx(this.top),transform:"scale(".concat(this.baseScale/100,", ").concat(this.baseScale/100,")")}},location:function(){return this.option.location||[]},img:function(){return this.option.img},type:function(){return this.option.type},locationData:function(){var t=this;return(this.dataChart||[]).map((function(e){e.zoom=e.zoom||1;var n=t.zoomData<1?1:t.zoomData;return Object.assign(e.zoom<=n?{name:e.name}:{},{value:[e.lng,e.lat,e.value]})}))}},methods:{docMouseUp:function(){var t=this;window.document.onmouseup=function(e){window.document.onmousemove=void 0,t.move=!1}},handleMouseDown:function(t){this.move=!0,this.startLeft=t.clientX,this.startTop=t.clientY,this.docMouseUp()},handleMouseMove:function(t){var e=this;this.move&&(window.document.onmousemove=function(t){var n=t.clientX,i=t.clientY;e.left=e.left+(n-e.startLeft)*e.step,e.top=e.top+(i-e.startTop)*e.step,e.startLeft=n,e.startTop=i})},handleMouseUp:function(){this.move=!1},handleMousewheel:function(t){var e=t.deltaY;this.baseScale=e>0?this.baseScale+10:this.baseScale-10},resetBanner:function(){var t=this;this.$nextTick((function(){t.myChart.dispatchAction({type:"hideTip"})}))},setBanner:function(){var t=this;clearInterval(this.bannerCheck),this.banner&&(this.bannerCheck=setInterval((function(){var e=t.bannerCount%t.dataChartLen;t.myChart.dispatchAction({type:"showTip",seriesIndex:"0",dataIndex:e}),t.myChart.dispatchAction({type:"downplay"}),t.myChart.dispatchAction({type:"highlight",dataIndex:e}),t.bannerCount+=1}),this.bannerTime))},updateChart:function(){var t=this;window.axios?this.$axios(this.mapData).then((function(e){var n,i=e.data,o=t.deepClone(i);window.echarts.registerMap("HK",o);var a={tooltip:Object.assign(t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{},{backgroundColor:t.option.tipBackgroundColor||"rgba(0,0,0,1)",textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"red"}}),geo:Object.assign(t.validatenull(t.centerData)?{}:{center:t.centerData},(n={map:"HK",label:{emphasis:{show:!1}},zoom:t.zoomData,layoutCenter:["50%","50%"],layoutSize:1200,roam:t.roam},ei(n,"label",{show:!0,fontSize:t.fontSize,color:t.color}),ei(n,"left",t.option.gridX),ei(n,"top",t.option.gridY),ei(n,"right",t.option.gridX2),ei(n,"bottom",t.option.gridY2),ei(n,"emphasis",{label:{color:t.empColor},itemStyle:{areaColor:t.empAreaColor}}),ei(n,"itemStyle",{borderWidth:t.borderWidth,borderColor:t.borderColor,areaColor:t.areaColor}),n)),series:[{type:"effectScatter",coordinateSystem:"geo",showEffectOn:"emphasis",rippleEffect:{brushType:"fill",scale:4},symbolSize:t.fontSize,hoverAnimation:!0,data:t.locationData,label:{show:!0,position:["130%","0"],fontSize:t.fontSize,color:t.color,formatter:function(t){return t.name}},itemStyle:{color:t.color},emphasis:{label:{show:!0,fontSize:t.fontSize+20,color:t.option.empColor},itemStyle:{color:t.option.empColor}}}]};t.myChart.off("mouseover"),t.myChart.off("mouseout"),t.myChart.off("georoam"),t.myChart.on("mouseover",(function(){clearInterval(t.bannerCheck),t.resetBanner()})),t.myChart.on("mouseout",(function(){t.bannerCount=0,t.setBanner()})),t.myChart.on("georoam",(function(e){var n=t.myChart.getOption().geo[0];t.centerData=n.center,t.zoomData=n.zoom,t.zoomData<1&&(t.zoomData=1)})),t.myChart.resize(),t.myChart.setOption(a,!0)})):D.a.logs("axios")}}}),ii=Object(c.a)(ni,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.styleSizeName,on:{mousewheel:function(e){return e.preventDefault(),t.handleMousewheel(e)}}},[t.isEchart?n("div",{ref:t.id,style:t.styleChartName}):n("div",{class:t.b("map")},[n("div",{class:t.b("box"),style:t.styleImgName,on:{mousedown:function(e){!t.disabled&&t.handleMouseDown(e)},mousemove:function(e){!t.disabled&&t.handleMouseMove(e)},mouseup:function(e){!t.disabled&&t.handleMouseUp(e)}}},[n("img",{ref:"img",class:t.b("bg"),attrs:{src:t.img,draggable:"false"}}),t._v(" "),t._l(t.location,(function(e,i){return n("span",{class:t.b("location"),style:{left:t.setPx(e.x),top:t.setPx(e.y)}})}))],2)])])}),[],!1,null,null,null).exports,oi=jn({name:"img",computed:{styleImgName:function(){var t=this;return Object.assign(t.rotate?{animationDuration:t.duration/1e3+"s"}:{},{opacity:this.option.opacity||1})},duration:function(){return this.option.duration||3e3},rotate:function(){return this.option.rotate}},methods:{handleClick:function(){this.clickFormatter&&this.clickFormatter({data:this.dataChart})}}}),ai=Object(c.a)(oi,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.styleSizeName,on:{click:t.handleClick}},[n("img",{class:t.b({rotate:t.rotate}),style:[t.styleImgName,t.styleSizeName],attrs:{src:t.dataChart.value,draggable:"false"}})])}),[],!1,null,null,null).exports,ri=jn({name:"imgborder",computed:{styleImgName:function(){var t=this;return Object.assign({width:"100%",height:"100%",backgroundColor:this.option.backgroundColor||"rgba(180, 181, 198, 0.1)",backgroundClip:"padding-box",opacity:this.option.opacity||1,filter:"blur(0px)"},t.validatenull(t.dataChart)?{}:{borderImageSource:"url("+t.dataChart+")",borderImageSlice:"10 16 15 10 fill",borderWidth:"10px 16px 15px 10px",borderStyle:"solid",boxSizing:"border-box"})}},methods:{}}),si=Object(c.a)(ri,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{style:this.styleImgName})])}),[],!1,null,null,null).exports,li=jn({name:"tabs",data:function(){return{active:""}},watch:{active:function(t){t&&this.handleClick(t)},dataChart:{handler:function(t){0!==t.length&&(this.active=t[0].value)},immediate:!0}},computed:{isSelect:function(){return"select"===this.type},type:function(){return this.option.type},paramName:function(){return this.option.paramName},iconSize:function(){return this.option.iconSize||20},styleSelectName:function(){return Object.assign({fontSize:this.setPx(this.option.fontSize||30)},this.styleSizeName)},styleIconName:function(){return Object.assign({marginRight:this.setPx(this.option.iconSplit),width:this.setPx(this.option.iconSize),height:this.setPx(this.option.iconSize)})},styleName:function(){var t=this;return Object.assign(t.option.backgroundImage?{backgroundImage:"url(".concat(t.option.backgroundImage,")"),backgroundSize:"100% 100%"}:{},{borderColor:this.option.borderColor||"#fff",borderStyle:"solid",borderWidth:this.setPx(this.option.borderWidth||0),margin:"0 ".concat(this.setPx(this.option.split)),backgroundColor:this.option.backgroundColor,fontSize:this.setPx(this.option.fontSize||30),color:this.option.color})}},created:function(){},mounted:function(){},methods:{styleIconBgName:function(t){if(t.icon)return{backgroundImage:"url(".concat(t.icon,")"),backgroundSize:"100% 100%"}},styleIconActiveName:function(t){if(this.active==t.value&&t.empIcon)return{backgroundImage:"url(".concat(t.empIcon,")"),backgroundSize:"100% 100%"}},styleActiveName:function(t){var e=this;if(this.active==t.value)return Object.assign(e.option.empBackgroundImage?{backgroundImage:"url(".concat(e.option.empBackgroundImage,")"),backgroundSize:"100% 100%"}:{},{borderColor:this.option.empBorderColor||"#fff",borderStyle:"solid",borderWidth:this.setPx(this.option.empBorderWidth||0),color:this.option.empColor})},handleClick:function(t){this.active=t,this.click({type:this.name,child:this.child,value:this.active})}},props:{option:{type:Object,default:function(){return{}}}}}),ci=Object(c.a)(li,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"main",class:t.b(),style:t.styleSizeName},[t.isSelect?n("avue-select",{style:t.styleSelectName,attrs:{dic:"string"==typeof t.dataChart?[]:t.dataChart},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}}):n("div",{class:t.b("list")},t._l(t.dataChart,(function(e,i){return n("div",{key:i,class:t.b("item"),style:[t.styleName,t.styleActiveName(e)],on:{click:function(n){return t.handleClick(e.value)}}},[e.icon?n("div",{class:t.b("icon"),style:[t.styleIconName,t.styleIconBgName(e),t.styleIconActiveName(e)]}):t._e(),t._v(" "),n("span",[t._v(t._s(e.label))])])})),0)],1)}),[],!1,null,null,null).exports,ui=jn({name:"slide",data:function(){return{reload:!0}},mounted:function(){this.init()},computed:{delay:function(){return this.option.delay||3e3},autoplay:function(){return this.vaildData(this.option.autoplay,!1)}},watch:{option:{handler:function(){var t=this;this.reload=!1,this.$nextTick((function(){t.reload=!0,t.init()}))},deep:!0}},methods:{init:function(){var t=this;new Swiper(".swiper-container",Object.assign(t.autoplay?{autoplay:{delay:t.delay,disableOnInteraction:!1}}:{},{spaceBetween:80,pagination:{el:".swiper-pagination",clickable:!0},observer:!0,observeParents:!0}))}}}),di=Object(c.a)(ui,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{staticClass:"swiper-container"},[this.reload?e("div",{staticClass:"swiper-wrapper"},[this._t("default")],2):this._e(),this._v(" "),e("div",{staticClass:"swiper-pagination"})])])}),[],!1,null,null,null).exports,pi=jn({name:"pictorialbar",methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n=this.validatenull(this.option.symbol)?"":"image://"+this.option.symbol,i=this.option.color||"#fff",o=this.option.fontSize||20,a=0;e.forEach((function(t){t.value>a&&(a=t.value)}));var r={tooltip:Object.assign(t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{},{textStyle:{fontSize:t.option.tipFontSize,color:t.option.tipColor||"#fff"}}),xAxis:{show:this.vaildData(this.option.xAxisShow,!0),max:a,splitLine:{show:!1},offset:10,axisTick:{show:!1},axisLine:{show:!1},axisLabel:{margin:10,textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.xNameFontSize||14}}},yAxis:{data:e.map((function(t){return t.name})),show:this.vaildData(this.option.yAxisShow,!0),inverse:!0,axisTick:{show:!1},axisLine:{show:!1},axisLabel:{margin:10,textStyle:{color:this.option.nameColor||"#333",fontSize:this.option.yNameFontSize||14}}},grid:{top:"center",height:10*Number(this.option.split),left:this.option.gridX||70,right:this.option.gridX2||100},series:[{type:"pictorialBar",symbol:n,symbolRepeat:"fixed",symbolMargin:"5%",symbolClip:!0,symbolSize:this.option.symbolSize||30,symbolBoundingData:a,data:e.map((function(t){return t.value}))},{type:"pictorialBar",itemStyle:{normal:{opacity:.2}},label:{normal:{show:!0,position:"right",offset:[10,0],textStyle:{color:i,fontSize:o}}},animationDuration:0,symbol:n,symbolRepeat:"fixed",symbolMargin:"5%",symbolSize:30,symbolBoundingData:a,data:e.map((function(t){return t.value}))}]};this.myChart.resize(),this.myChart.setOption(r,!0)}}}),hi=Object(c.a)(pi,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,fi=jn({name:"radar",x2:function(){return this.option.gridX2||"80%"},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:Object.assign(t.formatter?{formatter:function(e){return t.formatter(e,t.dataChart)}}:{},{backgroundColor:t.option.tipBackgroundColor||"rgba(50,50,50,0.7)",textStyle:{fontSize:t.option.tipFontSize||14,color:t.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),top:0,x:this.option.legendPostion||"right",right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:(e.series[0].data||[]).map((function(e,n){return{name:e.name,textStyle:t.ishasprop(!t.option.switchTheme,{color:t.getColor(n,!0)},{})}}))},radar:{name:{fontSize:this.option.radarNameSize||12,color:this.option.radarNameColor||"#333"},indicator:e.indicator||[],shape:this.option.shape||"polygon",radius:this.option.radius||"75%"},series:function(){t.option.barColor;return[{type:"radar",barWidth:t.option.barWidth||16,barMinHeight:t.option.barMinHeight||0,itemStyle:{barBorderRadius:t.option.barRadius||0},data:(e.series[0].data||[]).map((function(e,n){return{name:e.name,value:e.value,label:{show:t.vaildData(t.option.labelShow,!1),textStyle:{fontSize:t.option.fontSize||14,color:t.getColor(n),fontWeight:t.option.labelShowFontWeight||500}},areaStyle:{color:t.getColor(n),opacity:t.option.areaOpacity||.9}}}))}]}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),mi=Object(c.a)(fi,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,bi=jn({name:"funnel",computed:{x2:function(){return this.option.gridX2||20},fontSize:function(){return this.option.fontSize||14}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:this.ishasprop(this.formatter,{formatter:function(e){return t.formatter(e,t.dataChart)}},{backgroundColor:this.option.tipBackgroundColor||"rgba(50,50,50,0.7)",textStyle:{fontSize:this.option.tipFontSize,color:this.option.tipColor||"#fff"}}),grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},legend:{show:this.vaildData(this.option.legend,!1),orient:this.option.legendOrient||"horizontal",top:0,x:this.option.legendPostion||"right",right:this.x2,textStyle:{fontSize:this.option.legendFontSize||12},data:e.map((function(t,e){return t.name}))},series:function(){t.option.barColor;return[{type:"funnel",animationDelay:function(t){return 200*Math.random()},label:{show:t.vaildData(t.option.labelShow,!1),fontSize:t.fontSize},data:function(){var n=e;return t.option.notCount&&(n=n.filter((function(t){if(0!==t.value&&t.value)return!0}))),t.option.sort&&n.sort((function(t,e){return t.value-e.value})),n}(),itemStyle:t.ishasprop(!t.switchTheme,{normal:{color:function(e){return t.getColor(e.dataIndex)}}},{emphasis:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}})}]}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),vi=Object(c.a)(bi,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,yi=jn({name:"scatter",computed:{x2:function(){return this.option.gridX2||20}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart),n={title:this.ishasprop(this.option.titleShow,{text:this.option.title,subtext:this.option.subtext||"",textStyle:{color:this.option.titleColor||"#333",fontSize:this.option.titleFontSize||16},left:this.option.titlePostion||"auto",subtextStyle:{color:this.option.subTitleColor||"#aaa",fontSize:this.option.subTitleFontSize||14}},{}),tooltip:{formatter:this.option.formatter||"",backgroundColor:this.option.tipBackgroundColor||"rgba(50,50,50,0.7)",textStyle:{fontSize:this.option.tipFontSize,color:this.option.tipColor||"#fff"}},grid:{left:this.option.gridX||20,top:this.option.gridY||60,right:this.x2,bottom:this.option.gridY2||60},xAxis:{splitLine:{lineStyle:{type:"dashed"}}},yAxis:{splitLine:{lineStyle:{type:"dashed"}}},series:function(){t.option.barColor;return(e||[]).map((function(e,n){return Object.assign(e,{type:"scatter",itemStyle:{color:t.getColor(n)},label:{show:t.vaildData(t.option.labelShow,!1),position:"top",textStyle:{fontSize:t.option.fontSize||14,color:t.option.labelShowColor||"#333",fontWeight:t.option.labelShowFontWeight||500}}})}))}()};this.myChart.resize(),this.myChart.setOption(n,!0)}}}),gi=Object(c.a)(yi,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,_i=jn({name:"common",methods:{updateChart:function(){var t=this.deepClone(this.dataChart)||[],e=this.echartFormatter(t);this.myChart.resize(),this.myChart.setOption(e,!0)}}}),xi=Object(c.a)(_i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.b(),style:this.styleSizeName},[e("div",{ref:this.id,style:this.styleChartName})])}),[],!1,null,null,null).exports,wi=jn({name:"datav",data:function(){return{reload:!0,config:{}}},methods:{updateChart:function(){var t=this,e=this.deepClone(this.dataChart)||[];this.config=this.echartFormatter(e),this.reload=!1,this.$nextTick((function(){t.reload=!0}))}}}),Si={EchartRadar:mi,EchartScatter:gi,EchartFunnel:vi,EchartSlide:di,EchartTabs:ci,EchartVideo:Yn,EchartWordCloud:Xn,EchartPictorialBar:hi,EchartMaps:ii,EchartImg:ai,EchartImgBorder:si,EchartBar:En,EchartGauge:Jn,EchartIframe:Vn,EchartSwiper:Un,EchartTable:Ln,EchartPie:An,EchartText:Kn,EchartLine:Pn,EchartFlop:Nn,EchartDatetime:Fn,EchartProgress:ti,EchartCommon:xi,EchartDatav:Object(c.a)(wi,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.b(),style:t.styleSizeName},[t.reload?n(t.option.is,t._b({ref:t.id,tag:"component",style:t.styleChartName},"component",t.config,!1)):t._e()],1)}),[],!1,null,null,null).exports};window.Element||D.a.logs("element-ui");var Oi=Object.assign(On,Si,{Arrays:Ge,Affix:u,Avatar:v,Article:_,Carousel:w,Crud:O,Code:M,Card:j,Chat:$,Comment:N,Form:F,Checkbox:G,Date:J,CountUp:f,Draggable:et,Empty:it,Flow:st,Notice:ut,License:pt,Progress:ft,Time:bt,Input:xt,Radio:St,Select:kt,Cascader:Et,InputColor:At,InputNumber:Pt,InputTree:$t,InputIcon:Bt,InputMap:zt,InputTable:Rt,Switchs:Ht,Rate:qt,Upload:le,Slider:pe,Keyboard:_e,Tree:Ce,Title:je,Search:Te,Tabs:Le,Queue:Fe,Dynamic:Ne,Video:He,Verifys:Wt,textEllipsis:Qe,Skeleton:Ie,Sign:ue,Login:qe}),Ci={is:"$isEle",name:"element-ui",type:"el"},ki={bind:function(t,e,n,i){if(0!=e.value){var o=t.querySelector(".el-dialog__header"),a=t.querySelector(".el-dialog");o.style.cursor="move";var r=a.currentStyle||window.getComputedStyle(a,null);a.style.position="absolute",a.style.top="".concat(a.style.marginTop),a.style.marginTop=0;var s=a.style.width;s=s.includes("%")?+document.body.clientWidth*(+s.replace(/\%/g,"")/100):+s.replace(/\px/g,""),a.style.left="".concat((document.body.clientWidth-s)/2,"px"),o.onmousedown=function(t){var e,n,i=t.clientX-o.offsetLeft,s=t.clientY-o.offsetTop;r.left.includes("%")?(e=+document.body.clientWidth*(+r.left.replace(/\%/g,"")/100),n=+document.body.clientHeight*(+r.top.replace(/\%/g,"")/100)):(e=+r.left.replace(/\px/g,""),n=+r.top.replace(/\px/g,"")),document.onmousemove=function(t){var o=t.clientX-i,r=t.clientY-s,l=o+e,c=r+n;a.style.left="".concat(l,"px"),a.style.top="".concat(c,"px")},document.onmouseup=function(t){document.onmousemove=null,document.onmouseup=null}}}}};function ji(t){return function(t){if(Array.isArray(t))return Di(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Di(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Di(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Di(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0){var l=this.getHeader(s.children,e,n+1,a.length-1);this.pushColSpanPlaceHolder(a,l-1),o+=l}else o++}return o},pushRowSpanPlaceHolder:function(t,e){for(var n=0;n0&&r>a?(n.push({s:{r:i,c:r-a-1},e:{r:i,c:r-1}}),a=0):a=0;for(var s=t[0].length,l=0;l0&&u>c?(n.push({s:{r:u-c-1,c:l},e:{r:u-1,c:l}}),c=0):c=0;return n},aoa_to_sheet:function(t,e){for(var n={},i={s:{c:1e7,r:1e7},e:{c:0,r:0}},o=0;o!==t.length;++o)for(var a=0;a!==t[o].length;++a){i.s.r>o&&(i.s.r=o),i.s.c>a&&(i.s.c=a),i.e.r"},getHtml:function(){for(var t=document.querySelectorAll("input"),e=document.querySelectorAll("textarea"),n=document.querySelectorAll("select"),i=0;i0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o="imagePreview_"+Ri++,a={datas:n,index:i},s=a.onClose;return Ii=new e({data:a}),a.onClose=function(){t.close(o,s)},Ii.id=o,r(Ii.message)&&(Ii.$slots.default=[Ii.message],Ii.message=null),Ii.vm=Ii.$mount(),document.body.appendChild(Ii.vm.$el),Ii.vm.isShow=!0,Ii.dom=Ii.vm.$el,Fi.push(Ii),Ii.vm};return n.close=function(t,e){for(var n=0,i=Fi.length;n1&&void 0!==arguments[1]?arguments[1]:{};if(window.html2canvas)return window.html2canvas(t,e);D.a.logs("Screenshot")},deepClone:Z.e,dataURLtoFile:Z.d,isJson:Z.s,setPx:Z.w,vaildData:Z.z,sortArrys:Z.x,findArray:Z.j,validatenull:vt.b,downFile:Z.h,loadScript:Z.t,watermark:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Jt(t)},asyncValidator:vt.a,findObject:Z.l},Vi=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.directive("dialogdrag",ki),Object.keys(Oi).map((function(e){var n=Oi[e],i=n.name||"";i="-"===i.substr(i.length-1,1)?i.substr(0,i.length-1)+e:i,t.component(i,n)})),Object.keys(Hi).forEach((function(e){t.prototype[e]=Hi[e]})),Ai.a.use(e.locale),Ai.a.i18n(e.i18n),t.prototype.$axios=e.axios||window.axios,t.prototype.$typeList={img:/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)/,video:/\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|ogg|mp4)/},t.component(Ui.name,Ui),t.prototype.$ImagePreview=Ki(t),"dark"===e.theme&&(document.documentElement.className="avue-theme--dark"),t.prototype.$uploadFun=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;e=e||this;var n=["uploadPreview","uploadBefore","uploadAfter","uploadDelete","uploadError","uploadExceed"],i={};return"upload"===t.type?n.forEach((function(n){t[n]||(i[n]=e[n])})):n.forEach((function(t){i[t]=e[t]})),i},t.prototype.$AVUE=Object.assign(e,{ui:(t.prototype[Ci.is]=!0,Ci),size:e.size||"small",calcHeight:e.calcHeight||0,menuType:e.menuType||"text",canvas:Object.assign({text:"avuejs.com",fontFamily:"microsoft yahei",color:"#999",fontSize:16,opacity:100,bottom:10,right:10,ratio:1},e.canvas),qiniu:Object.assign({AK:"",SK:"",scope:"",url:"",bucket:"https://upload.qiniup.com",deadline:1},e.qiniu||{}),ali:Object.assign({region:"",endpoint:"",stsToken:"",accessKeyId:"",accessKeySecret:"",bucket:""},e.ali||{})})};"undefined"!=typeof window&&window.Vue&&Vi(window.Vue);var qi=Object.assign({version:"2.8.12",locale:Ai.a.locale,$Echart:kn,install:Vi},Oi);e.default=qi}]).default})); \ No newline at end of file diff --git a/public/cdn/avue/2.8.12/index.css b/public/cdn/avue/2.8.12/index.css new file mode 100644 index 0000000..e097f96 --- /dev/null +++ b/public/cdn/avue/2.8.12/index.css @@ -0,0 +1 @@ +@charset "UTF-8";.avue-article__body,.avue-comment__body{font-family:Segoe UI,Lucida Grande,Helvetica,Arial,Microsoft YaHei,FreeSans,Arimo,Droid Sans,wenquanyi micro hei,Hiragino Sans GB,Hiragino Sans GB W3,FontAwesome,sans-serif}.avue-affix{position:fixed;z-index:10}.avue-sign{padding:5px}.avue-sign__canvas{border:1px solid #ccc}.avue-carousel--fullscreen{height:100%}.avue-carousel--fullscreen .el-carousel,.avue-carousel--fullscreen .el-carousel__container{height:90%}.avue-carousel__item{position:relative;width:100%;height:100%}.avue-carousel__item a{width:100%;height:100%;display:block}.avue-carousel__img{height:100%;background-size:cover;background-position:center center}.avue-carousel__title{z-index:1024;position:absolute;left:0;bottom:0;width:100%;height:50px;line-height:50px;font-size:16px;text-align:center;color:#fff;background-color:rgba(0,0,0,.6)}.avue-article__title{margin-bottom:15px;font-size:32px;line-height:32px;font-weight:400}.avue-article__meta{display:block;margin-bottom:20px;font-size:12px;color:#999}.avue-article__lead{color:#666;font-size:14px;line-height:22px;border:1px solid #dedede;border-radius:2px;background:#f9f9f9;padding:10px}.avue-article__body{padding-top:10px;background:#fff;color:#333;font-size:14px}.avue-article blockquote{margin:0;font-family:Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;padding:1px 0 1px 15px;border-left:4px solid #ddd}.avue-avatar{font-size:14px;font-variant:tabular-nums;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:#fff;white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;width:32px;height:32px;line-height:32px;border-radius:50%}.avue-avatar__images{width:100%;height:100%}.avue-avatar__icon{font-size:18px}.avue-avatar__string{position:absolute;left:50%;-webkit-transform-origin:0 center;transform-origin:0 center}.avue-avatar--lg{width:40px;height:40px;line-height:40px;border-radius:50%;font-size:24px}.avue-avatar--sm{width:24px;height:24px;line-height:24px;border-radius:50%;font-size:14px}.avue-avatar--square{border-radius:4px}.avue-skeleton__avatar{width:40px;height:40px;line-height:40px;display:inline-block;border-radius:50%;background:#f2f2f2}.avue-skeleton__header{display:table-cell;vertical-align:top;padding-right:16px}.avue-skeleton__content{display:table-cell;vertical-align:top;width:100%}.avue-skeleton__title{margin-top:16px;height:16px;width:40%;background:#f2f2f2}.avue-skeleton__item{padding-top:16px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.avue-skeleton__item:last-child{border-bottom:none}.avue-skeleton__li{margin-bottom:10px;height:16px;background:#f2f2f2;list-style:none;width:100%}.avue-skeleton__li:last-child{width:50%}.avue-skeleton__loading{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);-webkit-animation:avue-skeleton-loading 1.4s ease infinite;animation:avue-skeleton-loading 1.4s ease infinite;background-size:400% 100%}@-webkit-keyframes avue-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes avue-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.avue-crud{margin:0 auto;width:100%}.avue-crud .el-card+.el-card{margin-top:8px}.avue-crud--card .el-card{border:none}.avue-crud--card .el-card__body{padding:0}.avue-crud--card .el-card+.el-card{margin-top:0}.avue-crud .el-table .el-form-item{margin-bottom:0;display:inline-block;width:100%}.avue-crud .el-table .el-form-item__label{position:absolute;left:2px}.avue-crud .el-table .el-form-item__content{line-height:inherit;font-size:inherit}.avue-crud .el-table .el-form-item__error{width:100%;text-align:left;position:relative}.avue-crud .el-dropdown+.el-button{margin-left:10px}.avue-crud .el-checkbox:last-of-type{margin-right:0}.avue-crud .el-range-editor--mini{height:28px}.avue-crud__img{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__img img{height:40px;margin-left:5px;-o-object-fit:contain;object-fit:contain}.avue-crud__column .el-checkbox{margin-bottom:10px;cursor:move}.avue-crud__menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;width:100%;min-height:40px;height:auto;overflow:hidden;margin-bottom:5px;background-color:#fff}.avue-crud__search .el-form-item--medium.el-form-item{margin-bottom:22px}.avue-crud__search .el-form-item--mini.el-form-item,.avue-crud__search .el-form-item--small.el-form-item{margin-bottom:14px}.avue-crud .el-table--mini .avue-crud__color{width:20px;height:20px}.avue-crud .el-table--mini .avue-crud__icon{font-size:20px}.avue-crud .el-table--small .avue-crud__color{width:30px;height:30px}.avue-crud .el-table--small .avue-crud__icon{font-size:30px}.avue-crud th{word-break:break-word;color:rgba(0,0,0,.85);background-color:#fafafa}.avue-crud .ms-tree-title{padding-left:10px}.avue-crud .ms-tree-space{position:relative;top:1px;display:inline-block;font-style:normal;font-weight:400;line-height:1;width:15px;height:14px}.avue-crud .ms-tree-space::before{content:""}.avue-crud .processContainer{width:100%;height:100%}.avue-crud table td{line-height:26px}.avue-crud .tree-ctrl{position:relative;cursor:pointer;color:#666;margin-left:-15px;display:inline-block;width:17px;height:17px;text-align:center;line-height:14px;border:1px solid #e8e8e8;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#fff;font-size:10px}.avue-crud .tree-ctrl i{padding-top:3px}@keyframes treeTableShow{from{opacity:0}to{opacity:1}}@-webkit-keyframes treeTableShow{from{opacity:0}to{opacity:1}}.avue-crud--indeterminate .is-indeterminate .el-checkbox__inner{background-color:#fff;border-color:#dcdfe6}.avue-crud .el-table th{word-break:break-word;color:rgba(0,0,0,.85);background-color:#fafafa}.avue-crud__color{margin:0 auto;width:40px;height:40px;border-radius:5px;display:block}.avue-crud__icon{font-size:45px}.avue-crud__icon--small{font-size:20px}.avue-crud__ghost{cursor:move;opacity:.4}.avue-crud__pagination{position:relative;padding:25px 0 20px 20px;text-align:right}.avue-crud__pagination .el-pagination{display:inline-block}.avue-crud__tip,.avue-crud__title{display:-webkit-box;display:-ms-flexbox}.avue-crud__form{padding:0 8px}.avue-crud__empty{padding:60px 0}.avue-crud__header{margin-bottom:10px}.avue-crud__header>.el-button{padding:12px 25px}.avue-crud__title{font-weight:700;margin-bottom:20px;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:22px}.avue-crud__tip{margin:8px 0;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px}.avue-crud__tip-name{margin-right:10px}.avue-crud__tip-count{font-size:16px;font-weight:600}.avue-crud__tip .el-button{margin-bottom:0}.avue-crud__filter-item{margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__filter-menu{padding:0 5px;margin-bottom:20px}.avue-crud__filter-label{margin:0 5px;width:120px!important}.avue-crud__filter-symbol{margin:0 5px;width:80px!important}.avue-crud__filter-value{margin:0 5px;width:150px!important}.avue-crud__filter-value .el-date-editor.el-input,.avue-crud__filter-value .el-date-editor.el-input__inner{width:100%}.avue-crud__filter-icon{margin-left:10px}.avue-crud__dialog--fullscreen .el-dialog{left:0!important;top:0!important}.avue-crud__dialog__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-crud__dialog .el-transfer__buttons,.avue-form__item--top{-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal}.avue-crud__dialog__menu{padding-right:20px}.avue-crud__dialog__menu i{color:#909399;font-size:15px}.avue-crud__dialog__menu i:hover{color:#409EFF}.avue-crud__dialog .el-transfer{position:relative;padding:0 20px;height:80%}.avue-crud__dialog .el-transfer-panel__body,.avue-crud__dialog .el-transfer-panel__list.is-filterable{height:90%!important}.avue-crud__dialog .el-transfer__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-crud__dialog .el-transfer__buttons .el-button{margin:5px 0}.avue-crud__dialog .el-transfer-panel{min-width:200px;width:40%}.avue-crud__dialog .el-dialog__body{padding:20px 20px 5px 10px}.avue-crud__dialog .el-scrollbar__wrap{overflow-x:hidden}.avue-crud__dialog .avue-form__menu{padding-top:15px}.avue-card__item{margin-bottom:16px;border:1px solid #e8e8e8;background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";cursor:pointer;height:200px}.avue-card__item:hover{border-color:rgba(0,0,0,.09);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.09);box-shadow:0 2px 8px rgba(0,0,0,.09)}.avue-chat,.avue-data-pay .item{-webkit-box-shadow:1px 2px 10px #eee}.avue-card__item--add{border:1px dashed #d9d9d9;width:100%;color:rgba(0,0,0,.45);background-color:#fff;border-radius:2px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:16px}.avue-card__item--add i{margin-right:10px}.avue-card__item--add:hover{color:#40a9ff;background-color:#fff;border-color:#40a9ff}.avue-card__body{display:-webkit-box;display:-ms-flexbox;display:flex;padding:24px}.avue-card__detail{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-card__avatar{width:48px;height:48px;border-radius:48px;overflow:hidden;margin-right:12px}.avue-card__avatar img{width:100%;height:100%}.avue-card__title{color:rgba(0,0,0,.85);margin-bottom:12px;font-size:16px}.avue-card__title:hover{color:#1890ff}.avue-card__info,.avue-card__menu{display:-webkit-box;color:rgba(0,0,0,.45)}.avue-card__info{-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;height:64px}.avue-card__menu{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;height:50px;background:#f7f9fa;text-align:center;line-height:50px}.avue-card__menu:hover{color:#1890ff}.avue-comment{margin-bottom:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.avue-comment--reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.avue-comment--reverse .avue-comment__main:after,.avue-comment--reverse .avue-comment__main:before{left:auto;right:-8px;border-width:8px 0 8px 8px}.avue-comment--reverse .avue-comment__main:before{border-left-color:#dedede}.avue-comment--reverse .avue-comment__main:after{border-left-color:#f8f8f8;margin-right:1px;margin-left:auto}.avue-comment__avatar{width:48px;height:48px;border-radius:50%;border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;vertical-align:middle}.avue-comment__header{padding:5px 15px;background:#f8f8f8;border-bottom:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-comment__author{font-weight:700;font-size:14px;color:#999}.avue-comment__main{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 20px;position:relative;border:1px solid #dedede;border-radius:2px}.avue-comment__main:after,.avue-comment__main:before{position:absolute;top:10px;left:-8px;right:100%;width:0;height:0;display:block;content:" ";border-color:transparent;border-style:solid solid outset;border-width:8px 8px 8px 0;pointer-events:none}.avue-comment__main:before{border-right-color:#dedede;z-index:1}.avue-comment__main:after{border-right-color:#f8f8f8;margin-left:1px;z-index:2}.avue-comment__body{padding:15px;overflow:hidden;background:#fff;color:#333;font-size:14px}.avue-comment blockquote{margin:0;font-family:Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;padding:1px 0 1px 15px;border-left:4px solid #ddd}.avue-chat{box-shadow:1px 2px 10px #eee;position:relative;background-color:#fcfcfc}.avue-chat li,.avue-chat ul{padding:0;margin:0}.avue-chat li{list-style:none;cursor:pointer}.avue-chat .web__content{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.avue-chat .web__main{height:calc(100% - 200px);padding:15px 15px 20px;overflow-x:hidden;overflow-y:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-chat .web__logo{background-color:#409eff;display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 12px;margin:0 auto;vertical-align:middle}.avue-chat .web__logo-img{margin-top:3px;width:35px;height:35px;border-radius:100%;-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,.1);box-shadow:0 3px 3px 0 rgba(0,0,0,.1)}.avue-chat .web__logo-info{margin-left:10px}.avue-chat .web__logo-name{position:relative;margin-top:5px;font-size:13px}.avue-chat .web__logo-dept{margin-top:1px;font-size:12px}.avue-chat .web__logo-dept,.avue-chat .web__logo-name{color:#fff;margin:0;padding:0;width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.avue-chat .web__main-item{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.avue-chat .web__main-text,.avue-chat .web__main-user{display:inline-block;vertical-align:top;font-size:14px}.avue-chat .web__main-user{position:absolute;left:3px}.avue-chat .web__main-user img{width:40px;height:40px;border-radius:100%}.avue-chat .web__main-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.avue-chat .web__main-user cite i{padding-left:15px;font-style:normal}.avue-chat .web__main-text{position:relative;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#f3f3f3;border-radius:3px;border:1px solid #f0f0f0;color:#000;word-break:break-all}.avue-chat .web__main-arrow{top:6px;left:-8px;position:absolute;display:block;width:0;height:0;border-color:transparent #ebeef5 transparent transparent;border-style:solid;border-width:8px 8px 8px 0}.avue-chat .web__main-arrow::after{content:" ";top:-7px;left:1px;position:absolute;display:block;width:0;height:0;border-color:transparent #fff transparent transparent;border-style:solid;border-width:7px 7px 7px 0}.avue-chat .web__main-item--mine .web__main-text .web__main-arrow{left:auto;right:-5px;border-color:transparent transparent transparent #409eff;border-style:solid;border-width:8px 0 8px 8px}.avue-chat .web__main-item--mine .web__main-text .web__main-arrow::after{left:auto;right:-2px;border-color:transparent transparent transparent #409eff;border-style:solid;border-width:7px 0 7px 7px}.avue-chat .web__main-list{margin:10px 0}.avue-chat .web__main-list li{height:30px;color:#409eff;line-height:30px}.avue-chat .web__main-item--mine{text-align:right;padding-left:0;padding-right:60px}.avue-chat .web__main-item--mine .web__main-user{left:auto;right:3px}.avue-chat .web__main-item--mine .web__main-user cite{left:auto;right:60px;text-align:right}.avue-chat .web__main-item--mine .web__main-user cite i{padding-left:0;padding-right:15px}.avue-chat .web__main-item--mine .web__main-text{margin-left:0;text-align:left;background-color:#409eff;color:#fff}.avue-chat .web__footer{-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.04),0 -2px 0 0 rgba(0,0,0,.01);box-shadow:0 -1px 0 0 rgba(0,0,0,.04),0 -2px 0 0 rgba(0,0,0,.01);position:absolute;left:0;bottom:0;width:100%;background-color:#fff}.avue-chat .web__msg{padding:10px;height:auto;overflow:hidden}.avue-chat .web__msg--file,.avue-chat .web__msg--img,.avue-chat .web__msg--video{position:relative;max-width:250px;min-width:200px;width:100%;margin:10px 0;border:1px solid #eee;overflow:hidden;border-radius:5px;cursor:pointer;display:block}.avue-chat .web__msg--file span,.avue-image-preview__box,.avue-img--center{display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center}.avue-chat .web__msg--file{height:140px;background-color:#fff}.avue-chat .web__msg--file span{-webkit-box-sizing:border-box;box-sizing:border-box;padding:3px 5px;color:#333;display:flex;-ms-flex-align:center;align-items:center;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:calc(100% - 80px);overflow:hidden;font-size:13px;text-align:center}.avue-chat .web__msg--file h2{margin:0;width:100%;text-align:center;line-height:80px;background-color:#409EFF;color:#fff}.avue-chat .web__msg--map{height:160px}.avue-chat .web__msg-input{display:block;width:100%;height:60px;overflow-x:hidden;overflow-y:auto;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;outline:0;background-color:#fff;border:0;word-break:break-all;font-size:13px;line-height:17px;-webkit-appearance:none}.avue-chat .web__msg-submit{float:right;display:block;outline:0;cursor:pointer;text-align:center}.avue-chat .web__tools{padding:8px 10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-chat .web__tools i{margin-right:12px;font-size:20px;color:#888a91}.avue-chat .web__tools i:hover{color:#76b1f9}.avue-draggable{padding:10px;position:absolute;cursor:move;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-draggable__focus{opacity:0;position:absolute!important;top:0;left:0;z-index:-1024}.avue-draggable__mask{width:100%;height:100%;border:0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.avue-draggable--active{cursor:move;border:1px dashed #09f;background-color:rgba(115,170,229,.5)}.avue-draggable--move{opacity:.6;background-color:rgba(115,170,229,.5)}.avue-draggable--click{cursor:pointer}.avue-draggable__line--left{position:absolute;border-top:1px dashed #09f;width:10000px;height:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.avue-draggable__line--top{position:absolute;border-left:1px dashed #09f;width:0;height:10000px;left:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.avue-draggable__line--label{top:-5px;left:-8px;position:absolute;padding:5px;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);color:#09f;font-size:18px;white-space:nowrap;cursor:move}.avue-draggable__menu{position:absolute;top:0;left:0;background-color:#409EFF;font-size:25px;color:#fff;z-index:9999;cursor:pointer}.avue-draggable__range{position:absolute;width:10px;height:10px;border-radius:100%;z-index:9999;background-color:#09f}.avue-draggable__range--left,.avue-draggable__range--right{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.avue-draggable__range--left:hover,.avue-draggable__range--right:hover{cursor:ew-resize}.avue-draggable__range--left{left:-6px}.avue-draggable__range--right{right:-6px}.avue-draggable__range--bottom,.avue-draggable__range--top{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.avue-draggable__range--bottom:hover,.avue-draggable__range--top:hover{cursor:ns-resize}.avue-draggable__range--top{top:-6px}.avue-draggable__range--bottom{bottom:-6px}.avue-draggable__range--bottom-right:hover,.avue-draggable__range--top-left:hover{cursor:nwse-resize}.avue-draggable__range--bottom-left:hover,.avue-draggable__range--top-right:hover{cursor:nesw-resize}.avue-draggable__range--top-right{top:-6px;right:-6px}.avue-draggable__range--top-left{top:-6px;left:-6px}.avue-draggable__range--bottom-right{bottom:-6px;right:-6px}.avue-draggable__range--bottom-left{bottom:-6px;left:-6px}.avue-img--center{display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-img--fullscreen .el-dialog__body{height:100%}.avue-image-preview{position:fixed;top:0;left:0;width:100%;height:100%;-webkit-transition:all .5s;transition:all .5s;z-index:9998}.avue-image-preview .el-image-viewer__close i{color:#fff}.avue-image-preview .el-image-viewer__btn{z-index:1024}.avue-image-preview img{-webkit-transition:all .5s;transition:all .5s;cursor:pointer}.avue-image-preview__mask{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:-1}.avue-image-preview__box{width:100%;height:100%;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-image-preview__box .el-carousel{width:90%;height:100%}.avue-image-preview__box .el-carousel__container{height:100%}.avue-image-preview__box .el-carousel__item{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-input-tree .el-tag__close{display:none!important}.avue-input-table__crud .avue-crud__pagination{padding:10px 0 2px 10px;margin:0}.amap-icon img,.amap-marker-content img{width:25px;height:34px}.avue-input-map__marker{position:absolute;top:-20px;right:-118px;color:#fff;padding:4px 10px;-webkit-box-shadow:1px 1px 1px rgba(10,10,10,.2);box-shadow:1px 1px 1px rgba(10,10,10,.2);white-space:nowrap;font-size:12px;font-family:"";background-color:#25a5f7;border-radius:3px}.avue-input-map__content-input{margin-bottom:10px}.avue-input-map__content-box{position:relative}.avue-input-map__content-container{width:100%;height:450px}.avue-input-map__content-result{display:block!important;position:absolute;top:0;right:-8px;width:250px;height:450px;overflow-y:auto}.avue-input-icon__item{text-align:center;max-width:80px;padding:20px;-webkit-transition:all .2s;transition:all .2s}.avue-input-icon__item:hover{-webkit-transform:scale(1.4);transform:scale(1.4)}.avue-input-icon__item--active{-webkit-transform:scale(1.4);transform:scale(1.4);color:#409EFF}.avue-input-icon__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-input-icon__icon{font-size:32px!important}.avue-upload--upload .el-upload,.avue-upload--upload .el-upload__tip{display:none}.avue-upload--upload .el-upload--picture-img{display:inline-block}.avue-upload--upload .el-upload-list{margin-top:-6px}.avue-upload--list .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avue-upload--list .el-upload:hover{border-color:#409eff}.avue-upload__dialog .el-dialog__header{display:none}.avue-upload__dialog .el-dialog__body{padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-upload__menu{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1024}.avue-form,.avue-form__group .el-col{position:relative}.avue-upload__menu i{color:#fff;margin:0 8px;font-size:20px}.avue-upload__icon{font-size:28px;color:#8c939d;width:178px;height:178px;line-height:178px;text-align:center}.avue-upload__avatar{width:178px;height:178px;display:block}.avue-form{margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__item--top{display:-webkit-box;display:-ms-flexbox;display:flex;flex-direction:column}.avue-form__item--top .el-form-item__label{width:100%!important;text-align:left!important}.avue-form__item--top .el-form-item__content{margin-left:0!important}.avue-form__item--left .el-form-item__label{text-align:left!important}.avue-form__menu{padding:5px 10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__menu--center{text-align:center}.avue-form__menu--center .el-button{margin:0 5px}.avue-form__menu--left{text-align:left}.avue-form__menu--right{text-align:right}.avue-form__tabs{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__group{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;height:auto}.avue-form__group--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-form__line{display:inline-block;height:42px}.avue-form__row--block{width:100%;display:block}.avue-flow__node,.avue-flow__node-body{display:-webkit-box;display:-ms-flexbox}.avue-form__row--cursor{cursor:pointer}.avue-form__option{position:absolute;right:0;top:-10px;z-index:999}.avue-flow,.avue-flow__node,.avue-tree{position:relative}.avue-form__option i{color:#666}.avue-form__option i+i{margin-left:10px}.el-drawer .avue-form{padding:0 20px}.avue-flow .avue-draggable{padding:0}.avue-flow__node{display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:200px;height:80px;border-radius:5px;-webkit-box-shadow:'#66a6e0 0px 0px 12px 0px';box-shadow:'#66a6e0 0px 0px 12px 0px';border:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.avue-flow__node--active{border-width:2px;border-color:#f56c6c}.avue-flow__node-drag{margin:0 5px;display:inline-block}.avue-flow__node-header{-webkit-box-flex:1;-ms-flex:1;flex:1;background-color:#66a6e0}.avue-flow__node-body{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1.5;-ms-flex:1.5;flex:1.5;text-align:center;background:#fff}.avue-date__group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-date__radio .el-radio-button:last-child .el-radio-button__inner{border-radius:0;border-right:0}.avue-date__date{width:300px}.avue-date__date .el-date-editor{border-top-left-radius:0;border-bottom-left-radius:0}.avue-empty{margin:0 8px;font-size:14px;line-height:22px;text-align:center}.avue-checkbox .el-checkbox+.el-checkbox,.avue-crud .avue-crud__left .el-button+.el-button,.avue-crud .avue-crud__right .el-button+.el-button,.avue-form .avue-crud__left .el-button+.el-button,.avue-form .avue-crud__right .el-button+.el-button,.avue-radio .el-radio+.el-radio{margin-left:0}.avue-checkbox .el-checkbox,.avue-radio .el-radio{margin-right:10px}.avue-empty__image{height:100px;margin-bottom:8px}.avue-empty__image img{height:100%;vertical-align:middle;border-style:none}.avue-empty__desc{color:rgba(0,0,0,.65)}.avue-select .sortable-ghost{opacity:.8;color:#fff!important;background:#409EFF!important}.avue-select .el-tag{cursor:pointer}.avue-select__desc{float:right;color:#8492a6;font-size:13px}.avue-group .el-collapse,.avue-group .el-collapse-item__wrap{border-color:#fff}.avue-group .el-collapse-item__header{height:inherit;border:none;border-bottom:1px solid #eee;margin-bottom:20px}.avue-group .el-collapse-item__content,.avue-group .van-collapse-item__content{padding-bottom:0}.avue-group .van-collapse-item__content{padding:0 2px}.avue-group .van-hairline--top-bottom::after,.avue-group .van-hairline-unset--top-bottom::after,.avue-group--arrow .el-collapse-item__arrow,.avue-group--arrow .van-icon-arrow{display:none}.avue-group .van-collapse-item__title,.avue-group__header,.avue-tree__filter{display:-webkit-box;display:-ms-flexbox}.avue-group .van-collapse-item__title{padding:0 10px;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-group .van-collapse-item__title::after{left:0!important}.avue-group--none{margin:0!important;border:none!important}.avue-group--header .el-collapse-item__header,.avue-group--header .van-collapse-item__title{display:none}.avue-group--collapse .el-collapse-item__arrow,.avue-group--collapse .el-collapse-item__header{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.avue-group__item{margin-bottom:10px;background-color:#fff;border-bottom:1px solid #eee;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-group__item:last-child{border-bottom:none}.avue-group__header{width:100%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:50px;line-height:50px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-group__icon{margin-right:8px;font-size:20px;color:rgba(0,0,0,.85)}.avue-group__title{font-size:16px;font-weight:500;color:rgba(0,0,0,.85)}.avue-tree__menu{width:200px;position:fixed;z-index:1024;-ms-flex-wrap:wrap;flex-wrap:wrap;background-color:#fff}.avue-tree__item,.avue-video{position:relative;overflow:hidden}.avue-tree__dialog .el-dialog__body{padding:30px 20px 0}.avue-tree__item{height:34px;line-height:34px;outline:0;padding:0 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;color:#666}.avue-tree__item:hover{cursor:pointer;color:#409eff}.avue-tree__filter{margin-bottom:5px;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-tree__content{padding:5px 0;height:calc(100% - 32px)}.avue-title p{font-weight:700;font-size:18px;margin:5px 10px}.avue-search{padding:0 20px}.avue-search__item{padding:20px 0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;border-bottom:1px dashed #e8e8e8}.avue-search__item:last-child{border-bottom:none}.avue-search__tags{padding:0 12px;margin-right:24px;margin-bottom:12px;font-size:14px;color:rgba(0,0,0,.65);cursor:pointer;white-space:nowrap;display:inline-block}.avue-search__tags:hover{color:#1890ff}.avue-search__tags--active{color:#fff;background-color:#1890ff;border-radius:5px}.avue-search__tags--active:hover{opacity:.85;color:#fff}.avue-search__title{margin:0;padding:0 20px;width:120px;font-size:14px;text-align:right;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-search__content{width:calc(100% - 190px);display:inline-block}.avue-dynamic__item,.avue-notice__item{display:-webkit-box;display:-ms-flexbox}.avue-search__content .el-tag{margin-right:10px;margin-bottom:10px}.avue-video{width:500px}.avue-video__border span{position:absolute;width:30px;height:30px;border-width:4px;color:#0073eb;border-style:solid}.avue-video__border span:nth-child(1){left:15px;top:15px;border-right:0;border-bottom:0}.avue-video__border span:nth-child(2){right:15px;top:15px;border-left:0;border-bottom:0}.avue-video__border span:nth-child(3){bottom:15px;left:15px;border-right:0;border-top:0}.avue-video__border span:nth-child(4){bottom:15px;right:15px;border-left:0;border-top:0}.avue-video__img{width:100px;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.avue-video__main{width:100%}.avue-dynamic__item{margin-bottom:10px;width:100%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-dynamic__header{padding-left:40px}.avue-dynamic__row{position:relative;border-top:1px dashed #eee;padding-top:13px}.avue-dynamic__row:first-child{border-top:0}.avue-dynamic__menu{position:absolute;right:0;z-index:1024}.avue-dynamic__input{margin-right:8px;width:100%}.avue-dynamic__button{margin-bottom:0!important}.avue-verify__item{padding:5px 10px;display:inline-block;margin:0 4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e1e1e1;font-size:64px;text-align:center}.avue-text-ellipsis__more{padding:0 2px}.avue-login .el-form-item{margin-bottom:18px}.avue-login .el-input-group__append{padding:0;overflow:hidden}.avue-login__send{min-width:150px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-login__send:hover{color:#C0C4CC!important;border-color:#EBEEF5!important;background-color:#F5F7FA!important}.avue-login__submit{width:100%}.avue-keyboard--default .akeyboard-keyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--default .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--default .akeyboard-keyboard-keys:hover,.avue-keyboard--default .keyboard-keyboard-keys-focus{background:#1e9fff;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys,.avue-keyboard--green .akeyboard-keyboard-keys{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:inline-block;cursor:pointer}.avue-keyboard--default .akeyboard-keyboard-keys-Delete,.avue-keyboard--default .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--default .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--default .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--default .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--default .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--default .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--default .akeyboard-numberKeyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--default .akeyboard-mobileKeyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#fff;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;user-select:none;font-size:10px}.avue-keyboard--default .akeyboard-mobileKeyboard-keys:hover{background:#1e9fff!important;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#1e9fff!important;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-focus{background:#1e9fff!important;color:#fff}.avue-keyboard--green .akeyboard-keyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--green .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#cc9;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;user-select:none}.avue-keyboard--green .akeyboard-keyboard-keys:hover,.avue-keyboard--green .keyboard-keyboard-keys-focus{background:#693;color:#fff}.avue-keyboard--green .akeyboard-keyboard-keys-Delete,.avue-keyboard--green .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--green .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--green .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--green .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--green .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--green .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--green .akeyboard-numberKeyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--green .akeyboard-mobileKeyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#cc9;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--green .akeyboard-mobileKeyboard-keys:hover{background:#693!important;color:#fff}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#693!important;color:#fff}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-focus{background:#693!important;color:#fff}.avue-keyboard--dark .akeyboard-keyboard{height:100%;width:100%;background:#000;color:#fff;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--dark .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#393d49;color:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--dark .akeyboard-keyboard-keys:hover,.avue-keyboard--dark .keyboard-keyboard-keys-focus{background:#1e9fff}.avue-keyboard--dark .akeyboard-keyboard-keys-Delete,.avue-keyboard--dark .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--dark .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--dark .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--dark .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--dark .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--dark .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--dark .akeyboard-numberKeyboard{height:100%;width:100%;background:#000;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--dark .akeyboard-mobileKeyboard{height:100%;width:100%;background:#000;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#393d49;color:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys:hover{background:#1e9fff!important;color:#fff}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#1e9fff!important;color:#fff}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-focus{background:#1e9fff!important;color:#fff}.avue-keyboard--classic .akeyboard-keyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--classic .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--classic .akeyboard-keyboard-keys:hover,.avue-keyboard--classic .keyboard-keyboard-keys-focus{background:#c2c2c2;color:#fff}.avue-keyboard--classic .akeyboard-keyboard-keys-Delete,.avue-keyboard--classic .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--classic .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--classic .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--classic .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--classic .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--classic .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--classic .akeyboard-numberKeyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--classic .akeyboard-mobileKeyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys:hover{background:#c2c2c2!important;color:#fff}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#c2c2c2!important;color:#fff}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-focus{background:#c2c2c2!important;color:#fff}.avue-notice__item{padding:12px 24px;border-bottom:1px solid #e8eaec;cursor:pointer;-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out;text-align:left;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.avue-array__input,.avue-data-tabs .item-tip,.data-box .item a{display:-webkit-box;display:-ms-flexbox}.avue-notice__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-notice__img{width:38px;height:38px;border-radius:100%;margin-top:5px;margin-right:10px;overflow:hidden}.avue-notice__img img{width:100%;height:100%}.avue-notice__name{line-height:25px}.avue-notice__title{font-size:14px;font-weight:400;line-height:22px;color:#515a6e;margin-bottom:4px}.avue-notice__tag{float:right;margin-top:2px}.avue-notice__subtitle{font-size:12px;color:#808695}.avue-notice__more{cursor:pointer;color:#2d8cf0;text-align:center;padding:10px 0}.avue-array__item{margin-bottom:5px}.ant-form-item,.ant-form-item-with-help{margin-bottom:0}.avue-array__input{display:flex}.avue-array__input .el-input{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.avue-array__input .el-button{margin-left:5px}.ant-btn+.ant-btn{margin-left:10px}.ant-calendar-picker,.ant-time-picker{width:100%}.ant-form{padding-right:50px}.ant-form-item-control{line-height:34px}.ant-form-item{height:60px}.avue-data-tabs .item{position:relative;margin:15px;padding:12px;height:160px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:#fff}.avue-data-tabs .item a{color:#fff}.avue-data-tabs .item-header{position:relative}.avue-data-tabs .item-header>p{color:#fff;margin:0;font-size:14px}.avue-data-tabs .item-header>span{position:absolute;right:0;top:0;padding:2px 8px;border-radius:4px;font-size:12px;background:rgba(255,255,255,.3)}.avue-data-tabs .item-body .h2{color:#fff;margin:0;font-size:32px;line-height:60px;font-weight:700}.avue-data-tabs .item-footer{padding-top:8px;line-height:20px}.avue-data-tabs .item-footer>span{font-size:10px}.avue-data-tabs .item-footer>p{color:#fff;margin:0;font-size:12px}.avue-data-tabs .item-tip{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;width:80px;height:80px;bottom:10px;right:10px;border:2px solid #fff;border-radius:100%;font-size:48px;-webkit-transform:rotate(-40deg);transform:rotate(-40deg);opacity:.1}.avue-data-cardText .item{padding:20px 25px;margin:10px 20px;background:#F8F8F8;border-radius:6px;-webkit-box-shadow:2px 2px 20px #ccc;box-shadow:2px 2px 20px #ccc}.avue-data-cardText .item-header{position:relative}.avue-data-cardText .item-header i{font-size:26px;color:#009688}.avue-data-cardText .item-header a{font-size:16px;margin-left:6px;position:absolute;bottom:4px}.avue-data-cardText .item-content{margin-top:8PX;font-size:14px;line-height:22px;color:#333}.avue-data-cardText .item-footer{position:relative}.avue-data-cardText .item-footer span:nth-child(1){color:#777;font-size:12px;text-overflow:ellipsis;word-break:break-all}.avue-data-cardText .item-footer span:nth-child(2){color:#CCC;font-size:12px;line-height:24px;position:absolute;right:0}.data-box .item{position:relative;margin:0 auto 10px;width:96%;height:100px;overflow:hidden;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.data-box .item:hover .item-text{top:0}.data-box .item a{display:flex}.data-box .item-icon{width:100px;height:100px;color:#fff;text-align:center;line-height:100px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex}.data-box .item-icon i{font-size:48px!important}.data-box .item-info{border-radius:0 5px 5px 0;border:1px solid #eee;border-left:none;background-color:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.data-icons .item,.data-progress .item-header{display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center}.data-box .item-info .title{font-size:30px;line-height:40px;text-align:center}.data-box .item-info .info{color:#999;font-size:14px;text-align:center}.data-progress .item{margin:10px}.data-progress .item-header{margin-bottom:10px;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.data-progress .item-count{line-height:26px;font-size:26px;color:#666}.data-progress .item-title{color:#999;font-size:14px}.data-icons .item{display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:90%;margin:10px 15px}.data-icons .item-icon{margin-top:3px;margin-right:0!important;text-align:center}.data-icons .item-icon>i{font-size:46px!important}.data-icons .item-info{text-align:center;padding:10px 0}.data-icons .item-info>span{display:block;padding:5px 0;color:#999;font-size:12px}.data-icons .item-info .count{font-size:20px;line-height:25px}.data-icons .item--easy{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.data-icons .item--easy>.item-icon{margin:0}.data-icons .item--easy>.item-info{margin-top:-15px}.data-icons .item--easy>.item-info>span{font-size:14px}.data-card .item{position:relative;margin:0 auto 50px;width:230px;height:340px;overflow:hidden;border-radius:5px;border-color:#fff;border-width:1px;border-style:solid}.data-card .item:hover .item-text{top:0}.data-card .item-img{width:100%;border-radius:5px 5px 0 0}.data-card .item-text{position:absolute;top:150px;padding:20px 15px;width:100%;height:340px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:0 0 5px 5px;opacity:.9;-webkit-transition:top .4s;transition:top .4s}.data-card .item-text>p{font-size:12px;line-height:25px;text-indent:2em}.avue-data-display .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:5px 0;text-align:center}.avue-data-display .count{display:block;margin:8px 0 15px;font-weight:700;font-size:32px;color:#15A0FF}.avue-data-display .title{line-height:32px;color:#999}.avue-data-display .splitLine{display:block;margin:0 auto;width:24px;height:1px;background:#9B9B9B}.avue-data-imgtext .item{position:relative;height:340px;width:240px;margin:10px auto 50px;border-radius:5px;-webkit-box-shadow:2px 2px 20px #ccc;box-shadow:2px 2px 20px #ccc}.avue-data-imgtext .item-header img{width:100%;height:170px;background:red;border-radius:5px 5px 0 0}.avue-data-imgtext .item-content{padding:10px 15px;color:#333!important}.avue-data-imgtext .item-content span{font-size:20px}.avue-data-imgtext .item-content:hover span{color:#1890ff}.avue-data-imgtext .item-content p{font-size:14px;height:60px;margin:6px 0;overflow:hidden}.avue-data-imgtext .item-footer{padding:10px 15px;position:relative}.avue-data-imgtext .item-footer img{height:20px;width:20px;border-radius:50%}.avue-data-imgtext .item-footer div{display:inline-block}.avue-data-imgtext .item-footer div li,.avue-data-imgtext .item-footer div ul{padding:0;margin:0 0 0 -8px;list-style:none;display:inline-block;border:2px solid #fff;border-radius:50%}.avue-data-imgtext .item-footer div:nth-child(1){font-size:14px;color:#ccc!important}.avue-data-imgtext .item-footer div:nth-child(2){position:absolute;right:15px}.avue-data-operatext .item{margin:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;border-radius:3px;background:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1)}.avue-data-operatext .item a{color:#333}.avue-data-operatext .item-header{padding:20px 20px 60px;border-top-right-radius:3px;border-top-left-radius:3px;color:#fff;background-position:center center}.avue-data-operatext .item-title{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,.2);display:block}.avue-data-operatext .item-subtitle{font-size:14px;font-weight:400}.avue-data-operatext .item-content{border-top:1px solid #f4f4f4;padding:10px 10px 20px;background-color:#fff;border-radius:0 0 3px 3px}.avue-data-operatext .item-img{margin:-60px auto 5px;width:90px;height:90px;border-radius:100%;overflow:hidden;border:4px solid #fff}.avue-data-operatext .item-img img{width:100%;height:100%}.avue-data-operatext .item-list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-data-operatext .item-row{-webkit-box-sizing:border-box;box-sizing:border-box;width:33.33%;text-align:center}.avue-data-operatext .item-label{margin-bottom:5px;display:block;font-weight:600;font-size:16px}.avue-data-operatext .item-value{display:block;font-weight:300;text-transform:uppercase}.avue-data-rotate .item{margin:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;color:#fff;border-radius:3px}.avue-data-rotate .item-box{padding:10px 20px}.avue-data-rotate .item-count{margin-bottom:5px;font-size:38px;white-space:nowrap;font-weight:300;display:block}.avue-data-rotate .item-title{font-size:15px}.avue-data-rotate .item-icon{-webkit-transition:all .3s linear;transition:all .3s linear;position:absolute;top:20px;right:20px;font-size:65px;color:rgba(0,0,0,.15)}.avue-data-rotate .item-icon:hover{font-size:70px}.avue-data-rotate .item-more{position:relative;text-align:center;padding:3px 0;color:#fff;color:rgba(255,255,255,.8);display:block;z-index:10;font-size:14px;letter-spacing:2px;background:rgba(0,0,0,.1);text-decoration:none}.avue-data-pay .item{margin:0 auto;padding-bottom:16px;width:80%;position:relative;border-radius:4px;background-color:#fff;min-height:670px;box-shadow:1px 2px 10px #eee}.avue-data-pay .top{width:100%;height:6px;position:absolute;top:0;left:0;border-radius:4px 4px 0 0}.avue-data-pay .header{margin-bottom:40px;text-align:center}.avue-data-pay .title{text-align:center;padding:20px 0 10px;font-size:20px;font-weight:200}.avue-data-pay .money span{margin-right:5px;font-size:14px}.avue-data-pay .money .b{margin-right:2px;font-size:20px;font-weight:700}.avue-data-pay .money s{margin-right:3px;font-size:12px}.avue-data-pay .money em{font-size:14px;font-style:normal}.avue-data-pay .img{width:50px}.avue-data-pay .line{width:60%;height:1px;background:rgba(150,150,150,.1);margin:20px auto}.avue-data-pay .btn{display:block;width:120px;height:32px;line-height:32px;margin:0 auto;text-align:center;border-radius:32px;color:#fff;cursor:pointer;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.avue-data-pay .list-item{list-style:none;padding-left:20px;margin-bottom:12px;color:#666;font-size:14px}.avue-data-pay .list-item a{color:#666}.avue-data-pay .list-item-icon{color:#515a6e;margin-right:8px}.avue-data-pay .list-item--link{font-size:12px;color:#2d8cf0}.avue-data-pay .list-item--no,.avue-data-pay .list-item--no+span{color:#c5c8ce}.data-price .item{margin:0 20px;text-align:center;-webkit-box-shadow:2px 3px 15px #eee;box-shadow:2px 3px 15px #eee}.data-price .item:hover{border:1px solid #00a680}.data-price .item:hover .body{color:#fff;background-color:#00a680}.data-price .item:hover .body::after{border-top-color:#00a680}.data-price .item:hover .list{color:#00a680}.data-price .item:hover .price{color:#fff}.data-price .item .title{height:80px;line-height:80px;font-size:18px;color:#333}.data-price .item .body,.data-price .item .price{margin:0 0 50px;line-height:120px;height:120px;color:#6b6b6b}.data-price .item .price{padding:0 8px;font-size:42px}.data-price .item .append{font-size:16px}.data-price .item .body{position:relative;padding:0;background-color:#f4f4f4;font-size:42px}.data-price .item .body::before{content:"¥";font-size:16px;font-weight:400}.data-price .item .body::after{content:'';position:absolute;display:block;width:0;height:0;bottom:-15px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-color:#f4f4f4 transparent transparent;border-style:solid;border-width:20px 30px 0}.data-price .item .list{padding-bottom:30px;color:#666;font-size:14px}.avue-data-panel .item{padding:0 30px;margin:0 20px;cursor:pointer;height:108px;font-size:12px;position:relative;overflow:hidden;color:#666;background:#fff;-webkit-box-shadow:4px 4px 40px rgba(0,0,0,.05);box-shadow:4px 4px 40px rgba(0,0,0,.05);border-color:rgba(0,0,0,.05);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-data-panel .item-icon{font-size:52px}.avue-data-panel .item-info{text-align:center}.avue-data-panel .item-title{line-height:18px;color:rgba(0,0,0,.45);font-size:16px;margin-bottom:12px}.avue-data-panel .item-count{font-size:20px}[class^=avue-data-] a,[class^=data-] a{text-decoration:none}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.avue-echart-tabs .el-select{width:100%}.avue-echart-tabs .el-input,.avue-echart-tabs .el-select,.avue-echart-tabs input{height:100%}.avue-echart-tabs .el-input{font-size:inherit}.avue-echart-tabs__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.avue-echart-tabs__icon{margin-right:10px}.avue-echart-tabs__item{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-echart-iframe iframe{border:none;width:100%;height:100%}.avue-echart-text{overflow:hidden}.avue-echart-text__box{width:100%;height:100%}.avue-echart-text__text{display:block;text-decoration:none}.avue-echart-swiper .el-carousel,.avue-echart-swiper .el-carousel__container{height:100%}.avue-echart-swiper img{width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-echart-pie__title{position:absolute;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-echart-slide .swiper-container{width:100%;height:100%}.avue-echart-slide .swiper-slide{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-echart-table__body{position:relative;overflow:hidden}.avue-echart-table__menu{position:absolute;padding:0 5px;text-align:right}.avue-echart-table__menu i{margin-right:10px;font-size:20px}.avue-echart-table__allview{opacity:.9}.avue-echart-table__allview .el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#333}.avue-echart-table__tr{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-echart-table__tr--line{-webkit-transition:all .5s;transition:all .5s;width:100%;position:absolute}.avue-echart-table__td{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-echart-table__header{margin-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;border-bottom-width:0}.avue-echart-table__index{margin:0 auto;width:30px;height:30px;line-height:30px;text-align:center;color:#fff;background-color:#144280;border-radius:100%}.avue-echart-table__index--1{background-color:#fdd706}.avue-echart-table__index--2,.avue-echart-table__index--3{background-color:#1f94f4}.avue-echart-table__item{display:inline-block;padding:5px 10px;border-style:solid;border-width:1px}.avue-echart-table__item--active{color:#fff!important}.avue-echart-table table{width:100%;border-width:1px;border-style:solid}.avue-echart-table td,.avue-echart-table th{border-width:0 0 1px;border-style:solid;font-size:16px;font-weight:300}.avue-echart-header{padding:10px}.avue-echart-header--center{text-align:center}.avue-echart-header--right{text-align:right}.avue-echart-header__title{margin-right:5px;font-size:18px;font-weight:400;color:#333;text-decoration:none}.avue-echart-header__info{display:inline-block}.avue-echart-progress{position:relative}.avue-echart-progress__text--circle{position:absolute;width:100%;top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);text-align:center}.avue-echart-progress__text--line{margin-bottom:20px;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-echart-progress__text--line p{margin-right:5px}.avue-echart-img--rotate{-webkit-animation:rotating 0s linear infinite;animation:rotating 0s linear infinite}.avue-echart-flop .el-tooltip{width:100%}.avue-echart-flop__count{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-echart-flop__item{font-family:"Microsoft Yahei";font-size:28px;font-weight:400;color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.avue-echart-flop__item--img{padding:0 5px;border-image-slice:10 16 15 10 fill;border-width:10px 16px 15px 10px;border-style:solid}.avue-echart-flop__item--none{padding:0!important;border-width:0!important;background-color:transparent!important}.avue-echart-map{position:relative}.avue-echart-map__bg{position:absolute;top:0;left:0}.avue-echart-map__box{position:relative}.avue-echart-map__location{position:absolute;background-color:red;width:10px;height:10px}.avue-echart-map__location:hover{background-color:green}.avue-checkbox__mobile .avue__tag,.avue-radio__mobile .avue__tag{margin-right:5px;margin-bottom:2px}.avue-grid__mobile{padding:30px 0 0}.avue-grid__mobile .avue-grid__icon{width:50px;height:50px;line-height:50px;text-align:center}.avue-grid__mobile .avue-grid__icon i{line-height:50px;font-size:26px;color:#fff}.avue-grid__mobile .avue-grid__item{margin-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.avue-grid__mobile .avue-grid__img{width:50px;height:50px}.avue-grid__mobile .avue-grid__title{line-height:30px;font-size:13px}.avue-swipe__mobile .avue-swipe__item{position:relative}.avue-swipe__mobile .avue-swipe__title{width:100%;padding:8px 0;position:absolute;left:0;bottom:0;background-color:rgba(0,0,0,.5);color:#fff;font-size:14px;text-align:center}.avue-swipe__mobile .avue-swipe__img{-o-object-fit:cover;object-fit:cover}.avue-cell__mobile .avue-cell__icon{margin-right:5px;font-size:20px}.avue-cell__mobile .avue-cell__icon--color{width:30px;height:30px;text-align:center;line-height:30px;border-radius:3px;color:#fff}.van-cell::after{display:block!important}.avue--detail .el-radio,.avue--detail .el-radio .el-radio__inner,.avue-canvas{display:none}.van-image-preview{z-index:9999!important}.van-field__control{-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-crud__mobile .avue-crud__page{margin-top:10px;background-color:#fff}.avue-crud__mobile .van-cell-group{margin-bottom:10px}body{font-family:Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}*{outline:0}.avue-ghost{opacity:.5;background:#c8ebfb}.avue--disabled{color:#ccc}.avue--detail .el-input.is-disabled .el-input__inner,.avue--detail .el-range-editor.is-disabled,.avue--detail .el-range-editor.is-disabled input,.avue--detail .el-textarea.is-disabled .el-textarea__inner{color:#606266;background-color:#fff}.avue--detail .hover-row td{background-color:#fff!important}.avue--detail .el-input-group__append,.avue--detail .el-input-group__prepend{background-color:transparent;border:none}.avue--detail .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#606266}.avue--detail .el-input__inner,.avue--detail .el-textarea__inner{border:none}.avue--detail .el-input__inner::-webkit-input-placeholder,.avue--detail .el-textarea__inner::-webkit-input-placeholder{color:transparent!important}.avue--detail .el-input__inner::-moz-placeholder,.avue--detail .el-textarea__inner::-moz-placeholder{color:transparent!important}.avue--detail .el-input__inner::-ms-input-placeholder,.avue--detail .el-textarea__inner::-ms-input-placeholder{color:transparent!important}.avue--detail .el-radio .is-disabled.is-checked,.avue--detail .el-radio.is-checked{display:inline-block;color:#606266}.avue--detail .el-radio .is-disabled.is-checked .el-radio__label,.avue--detail .el-radio.is-checked .el-radio__label{padding-left:14px;color:#606266;font-weight:400;font-size:14px}.avue--detail .el-checkbox{display:none}.avue--detail .el-checkbox .is-disabled.is-checked,.avue--detail .el-checkbox.is-checked{display:inline-block;color:#606266}.avue--detail .el-checkbox .el-checkbox__inner,.avue--detail .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.avue--detail .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before,.avue--detail .el-input__suffix,.avue--view .el-input-number.is-disabled .el-input-number__decrease,.avue--view .el-input-number.is-disabled .el-input-number__increase{display:none}.avue--detail .el-checkbox .is-disabled.is-checked .el-checkbox__label,.avue--detail .el-checkbox.is-checked .el-checkbox__label{padding-left:14px;color:#606266;font-weight:400;font-size:14px}.avue--view .el-textarea.is-disabled .el-textarea__inner{background-color:#fff;border-color:#dcdfe6;color:#606266;resize:none}.avue--view .el-input.is-disabled .el-input__inner{background-color:#fff;border-color:#dcdfe6;color:#606266}.avue--view .el-input-number.is-disabled .el-input__inner{padding-left:15px}.avue-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-size:20px 20px,20px 20px;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 0)}#nprogress .bar,.avue-mask{position:fixed;top:0;left:0}.avue-mask{bottom:0;right:0;background-color:rgba(55,55,55,.6);height:100%;z-index:1000}.avue--card{-webkit-box-shadow:2px 1px 8px rgba(0,0,0,.15);box-shadow:2px 1px 8px rgba(0,0,0,.15);border-radius:5px}.avue-dialog .el-dialog{border-radius:2px}.avue-dialog .el-dialog__title,.avue-dialog .el-drawer__header{color:rgba(0,0,0,.85);font-weight:500;word-wrap:break-word}.el-select-dropdown .el-tree-node__label,.el-select-dropdown__item.selected{font-weight:400}.avue-dialog .el-drawer__header{margin:0;min-height:20px;padding:16px 10px 16px 24px;border-bottom:1px solid #f0f0f0}.avue-dialog .el-drawer__body{padding:30px 10px}.avue-dialog .el-dialog__footer{padding:10px 16px;border-top:1px solid #f0f0f0}.avue-dialog .el-dialog__header{padding:16px 24px;min-height:20px;border-bottom:1px solid #f0f0f0}.avue-dialog iframe{width:100%;height:100%;border:0;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-queue--block{display:inline-block}.avue-opacity{opacity:0}.avue-opacity--active{opacity:1}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.el-tooltip__popper{max-width:60%}.avue-crud .avue-input-number,.avue-crud .el-cascader,.avue-crud .el-date-editor.el-input,.avue-crud .el-date-editor.el-input__inner,.avue-crud .el-select,.avue-form .avue-input-number,.avue-form .el-cascader,.avue-form .el-date-editor.el-input,.avue-form .el-date-editor.el-input__inner,.avue-form .el-select{width:100%!important}.avue-crud .el-input-number .el-input__inner,.avue-form .el-input-number .el-input__inner{text-align:left}.avue-crud .avue-crud__left .el-button,.avue-crud .avue-crud__right .el-button,.avue-form .avue-crud__left .el-button,.avue-form .avue-crud__right .el-button{margin-right:8px;margin-bottom:8px}.avue-crud .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content,.avue-form .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:#409EFF}.avue-crud .el-tree-node__label,.avue-form .el-tree-node__label{margin-left:8px}.avue-crud .el-input__inner,.avue-form .el-input__inner{height:38px;line-height:38px}.avue-crud .el-range-editor--small,.avue-form .el-range-editor--small{height:32px;line-height:32px}.avue-crud .el-range-editor--mini,.avue-form .el-range-editor--mini{height:28px;line-height:28px}.avue-crud .el-input--small input,.avue-form .el-input--small input{height:32px;line-height:32px}.avue-crud .el-input--mini input,.avue-form .el-input--mini input{height:28px;line-height:28px}.avue-crud .el-table--medium td,.avue-form .el-table--medium td{padding:7px 0!important}.avue-crud .el-tooltip__popper,.avue-form .el-tooltip__popper{max-width:60%}.avue-crud .el-dropdown-menu__item,.avue-form .el-dropdown-menu__item{line-height:25px}.avue-crud .el-table-filter__list,.avue-form .el-table-filter__list{width:100%;height:300px;overflow-y:auto}.el-form-item--mini .el-color-picker--mini,.el-form-item--mini .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}.el-dropdown-menu .el-button--text{width:100%!important}.el-pagination__editor.el-input .el-input__inner{line-height:28px}.el-drawer__body{height:100%}.el-checkbox:last-of-type{margin-right:8px}.el-table colgroup.gutter,.el-table th.gutter{display:table-cell!important}.el-input-number .el-input__suffix{display:none}.el-input-number__decrease,.el-input-number__increase{background-color:transparent;color:#c0c4cc!important;font-size:16px!important}.el-transfer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-tree-node.is-current>.el-tree-node__content{color:#409eff;background-color:#F5F7FA}.el-transfer-panel__item{width:100%}.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item{height:auto;padding:0}.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item>span{padding:0 20px}.el-select-dropdown ul li>>>.el-tree .el-tree-node__content{height:auto;padding:0 20px}.el-select-dropdown .el-tree>>>.is-current .el-tree-node__label{color:#409EFF;font-weight:700}.el-select-dropdown .el-tree>>>.is-current .el-tree-node__children .el-tree-node__label{color:#606266;font-weight:400}.el-form-item.is-error .avue-dynamic{border:1px solid #F56C6C;border-radius:3px}.el-dropdown-menu__item{padding-top:3px!important;padding-bottom:3px!important}.avue-theme--dark body{background:#000}.avue-theme--dark .el-pagination.is-background .btn-next,.avue-theme--dark .el-pagination.is-background .btn-prev,.avue-theme--dark .el-pagination.is-background .el-pager li{background-color:#151518;color:#525256;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #313135}.avue-theme--dark .el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#151518;border-color:#409EFF}.avue-theme--dark .el-cascader-menu{border-right:solid 1px #313135}.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected,.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#151518}.avue-theme--dark .el-cascader__dropdown,.avue-theme--dark .el-input__inner,.avue-theme--dark .el-range-input,.avue-theme--dark .el-select-dropdown{background-color:#151518;color:#999;border:1px solid #313135}.avue-theme--dark .el-cascader__dropdown:hover,.avue-theme--dark .el-input__inner:hover,.avue-theme--dark .el-range-input:hover,.avue-theme--dark .el-select-dropdown:hover{border-color:#409EFF}.avue-theme--dark .el-cascader__dropdown::-webkit-input-placeholder,.avue-theme--dark .el-input__inner::-webkit-input-placeholder,.avue-theme--dark .el-range-input::-webkit-input-placeholder,.avue-theme--dark .el-select-dropdown::-webkit-input-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown::-moz-placeholder,.avue-theme--dark .el-input__inner::-moz-placeholder,.avue-theme--dark .el-range-input::-moz-placeholder,.avue-theme--dark .el-select-dropdown::-moz-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown:-moz-placeholder,.avue-theme--dark .el-input__inner:-moz-placeholder,.avue-theme--dark .el-range-input:-moz-placeholder,.avue-theme--dark .el-select-dropdown:-moz-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown:-ms-input-placeholder,.avue-theme--dark .el-input__inner:-ms-input-placeholder,.avue-theme--dark .el-range-input:-ms-input-placeholder,.avue-theme--dark .el-select-dropdown:-ms-input-placeholder{color:#525256}.avue-theme--dark .el-form-item__label{color:#9a9a9f}.avue-theme--dark .el-switch__core{background:#151518;border-color:#151518}.avue-theme--dark .avue-group__item{background-color:#000}.avue-theme--dark .el-table--border,.avue-theme--dark .el-table--group{border-color:#313135}.avue-theme--dark .el-table__body tr.current-row>td,.avue-theme--dark .el-table__body tr.hover-row>td{background-color:#151518}.avue-theme--dark .el-table--border td,.avue-theme--dark .el-table--border th,.avue-theme--dark .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-color:#999}.avue-theme--dark .avue-crud .el-table th,.avue-theme--dark .el-table,.avue-theme--dark .el-table th,.avue-theme--dark .el-table tr,.avue-theme--dark .el-table__fixed-footer-wrapper tbody td,.avue-theme--dark .el-table__footer-wrapper tbody td,.avue-theme--dark .el-table__header-wrapper tbody td{background-color:#151518;color:#999;border-color:#999}@media screen and (max-width:992px){.el-dialog__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-button+.el-button{margin-left:0}.avue-upload__avatar,.avue-upload__icon,.el-upload--picture-card,.el-upload-list--picture-card .el-upload-list__item{width:100px;height:100px;line-height:100px}.avue-crud .el-form-item,.avue-crud__title .avue-date__radio,.avue-crud__title .avue-date__radio .el-radio-group .el-radio-button__inner,.avue-crud__title .avue-date__radio .el-radio-group label{width:100%}.avue-tip{display:none}.avue-crud__menu,.avue-crud__title{display:block!important}.avue-crud .el-form-item__label{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-crud .el-form-item__content{-webkit-box-flex:5;-ms-flex:5;flex:5}.avue-crud__searchMenu{text-align:center}.avue-crud__title p{margin-bottom:20px}.avue-crud__title .avue-date__group{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__title .avue-date__date{display:none}.avue-crud__title .avue-date__radio .el-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-crud__title .avue-date__radio .el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0;border-right:1px solid #dcdfe6}}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;z-index:1031;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #29d,0 0 5px #29d;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}} \ No newline at end of file diff --git a/public/cdn/axios/1.0.0/axios.min.js b/public/cdn/axios/1.0.0/axios.min.js new file mode 100644 index 0000000..bcae108 --- /dev/null +++ b/public/cdn/axios/1.0.0/axios.min.js @@ -0,0 +1,9 @@ +/* axios v0.17.1 | (c) 2017 by Matt Zabriskie */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n +* @license MIT +*/ +e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,this.defaults,{method:"get"},e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)&&(t+="[]"),o.isArray(e)||(e=[e]),o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/public/cdn/element-ui/2.15.1/index.js b/public/cdn/element-ui/2.15.1/index.js new file mode 100644 index 0000000..12f66a1 --- /dev/null +++ b/public/cdn/element-ui/2.15.1/index.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("ELEMENT",["vue"],t):"object"==typeof exports?exports.ELEMENT=t(require("vue")):e.ELEMENT=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=49)}([function(t,i){t.exports=e},function(e,t,i){var n=i(4);e.exports=function(e,t,i){return void 0===i?n(e,t,!1):n(e,i,!1!==t)}},function(e,t,i){var n;!function(r){"use strict";var s={},a=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,o="[^\\s]+",l=/\[([^]*?)\]/gm,u=function(){};function c(e,t){for(var i=[],n=0,r=e.length;n3?0:(e-e%10!=10)*e%10]}};var g={D:function(e){return e.getDay()},DD:function(e){return d(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return d(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return d(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return d(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return d(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return d(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+d(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},b={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+o,function(e,t){e.day=parseInt(t,10)}],M:["\\d\\d?",function(e,t){e.month=t-1}],yy:["\\d\\d?",function(e,t){var i=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?i-1:i)+t}],h:["\\d\\d?",function(e,t){e.hour=t}],m:["\\d\\d?",function(e,t){e.minute=t}],s:["\\d\\d?",function(e,t){e.second=t}],yyyy:["\\d{4}",function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:["\\d{3}",function(e,t){e.millisecond=t}],D:["\\d\\d?",u],ddd:[o,u],MMM:[o,h("monthNamesShort")],MMMM:[o,h("monthNames")],a:[o,function(e,t,i){var n=t.toLowerCase();n===i.amPm[0]?e.isPm=!1:n===i.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var i,n=(t+"").match(/([+-]|\d\d)/gi);n&&(i=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?i:-i)}]};b.dd=b.d,b.dddd=b.ddd,b.DD=b.D,b.mm=b.m,b.hh=b.H=b.HH=b.h,b.MM=b.M,b.ss=b.s,b.A=b.a,s.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},s.format=function(e,t,i){var n=i||s.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=s.masks[t]||t||s.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})).replace(a,function(t){return t in g?g[t](e,n):t.slice(1,t.length-1)})).replace(/@@@/g,function(){return r.shift()})},s.parse=function(e,t,i){var n=i||s.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=s.masks[t]||t,e.length>1e3)return null;var r={},o=[],u=[];t=t.replace(l,function(e,t){return u.push(t),"@@@"});var c,h=(c=t,c.replace(/[|\\{()[^$+*?.-]/g,"\\$&")).replace(a,function(e){if(b[e]){var t=b[e];return o.push(t[1]),"("+t[0]+")"}return e});h=h.replace(/@@@/g,function(){return u.shift()});var d=e.match(new RegExp(h,"i"));if(!d)return null;for(var p=1;pe?u():!0!==t&&(r=setTimeout(n?function(){r=void 0}:u,void 0===n?e-o:e))}}},function(e,t){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,t){var i=/^(attrs|props|on|nativeOn|class|style|hook)$/;function n(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce(function(e,t){var r,s,a,o,l;for(a in t)if(r=e[a],s=t[a],r&&i.test(a))if("class"===a&&("string"==typeof r&&(l=r,e[a]=r={},r[l]=!0),"string"==typeof s&&(l=s,t[a]=s={},s[l]=!0)),"on"===a||"nativeOn"===a||"hook"===a)for(o in s)r[o]=n(r[o],s[o]);else if(Array.isArray(r))e[a]=r.concat(s);else if(Array.isArray(s))e[a]=[r].concat(s);else for(o in s)r[o]=s[o];else e[a]=t[a];return e},{})}},function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},function(e,t,i){"use strict";t.__esModule=!0;var n,r=i(56),s=(n=r)&&n.__esModule?n:{default:n};t.default=s.default||function(e){for(var t=1;t0?n:i)(e)}},function(e,t,i){var n=i(28)("keys"),r=i(21);e.exports=function(e){return n[e]||(n[e]=r(e))}},function(e,t,i){var n=i(14),r=i(5),s=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return s[e]||(s[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:i(20)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){e.exports={}},function(e,t,i){var n=i(10).f,r=i(7),s=i(13)("toStringTag");e.exports=function(e,t,i){e&&!r(e=i?e:e.prototype,s)&&n(e,s,{configurable:!0,value:t})}},function(e,t,i){t.f=i(13)},function(e,t,i){var n=i(5),r=i(14),s=i(20),a=i(33),o=i(10).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=s?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||o(t,e,{value:a.f(e)})}},function(e,t,i){var n=i(4),r=i(1);e.exports={throttle:n,debounce:r}},function(e,t,i){e.exports=!i(11)&&!i(16)(function(){return 7!=Object.defineProperty(i(37)("div"),"a",{get:function(){return 7}}).a})},function(e,t,i){var n=i(15),r=i(5).document,s=n(r)&&n(r.createElement);e.exports=function(e){return s?r.createElement(e):{}}},function(e,t,i){var n=i(7),r=i(12),s=i(62)(!1),a=i(27)("IE_PROTO");e.exports=function(e,t){var i,o=r(e),l=0,u=[];for(i in o)i!=a&&n(o,i)&&u.push(i);for(;t.length>l;)n(o,i=t[l++])&&(~s(u,i)||u.push(i));return u}},function(e,t,i){var n=i(40);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,t,i){var n=i(25);e.exports=function(e){return Object(n(e))}},function(e,t,i){"use strict";var n=i(20),r=i(23),s=i(43),a=i(9),o=i(31),l=i(69),u=i(32),c=i(72),h=i(13)("iterator"),d=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,i,f,m,v,g){l(i,t,f);var b,y,w,_=function(e){if(!d&&e in S)return S[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},x=t+" Iterator",C="values"==m,k=!1,S=e.prototype,D=S[h]||S["@@iterator"]||m&&S[m],$=D||_(m),E=m?C?_("entries"):$:void 0,T="Array"==t&&S.entries||D;if(T&&(w=c(T.call(new e)))!==Object.prototype&&w.next&&(u(w,x,!0),n||"function"==typeof w[h]||a(w,h,p)),C&&D&&"values"!==D.name&&(k=!0,$=function(){return D.call(this)}),n&&!g||!d&&!k&&S[h]||a(S,h,$),o[t]=$,o[x]=p,m)if(b={values:C?$:_("values"),keys:v?$:_("keys"),entries:E},g)for(y in b)y in S||s(S,y,b[y]);else r(r.P+r.F*(d||k),t,b);return b}},function(e,t,i){e.exports=i(9)},function(e,t,i){var n=i(17),r=i(70),s=i(29),a=i(27)("IE_PROTO"),o=function(){},l=function(){var e,t=i(37)("iframe"),n=s.length;for(t.style.display="none",i(71).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" + + + Saber企业级开发平台 + + + + + +
+
+
+ loading +
+ 正在加载资源 +
+
+ 初次加载资源可能需要较多时间 请耐心等待 +
+
+ +
+
+ + + + + + + + + + + diff --git a/public/svg/loading-spin.svg b/public/svg/loading-spin.svg new file mode 100644 index 0000000..e2166a5 --- /dev/null +++ b/public/svg/loading-spin.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/util/aes.js b/public/util/aes.js new file mode 100644 index 0000000..f23a0e0 --- /dev/null +++ b/public/util/aes.js @@ -0,0 +1,105 @@ +/* +CryptoJS v3.1.2 +code.google.com/p/crypto-js +(c) 2009-2013 by Jeff Mott. All rights reserved. +code.google.com/p/crypto-js/wiki/License +*/ +var CryptoJS = CryptoJS || function (u, p) { + var d = {}, l = d.lib = {}, s = function () { }, t = l.Base = { extend: function (a) { s.prototype = this; var c = new s; a && c.mixIn(a); c.hasOwnProperty("init") || (c.init = function () { c.$super.init.apply(this, arguments) }); c.init.prototype = c; c.$super = this; return c }, create: function () { var a = this.extend(); a.init.apply(a, arguments); return a }, init: function () { }, mixIn: function (a) { for (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]); a.hasOwnProperty("toString") && (this.toString = a.toString) }, clone: function () { return this.init.prototype.extend(this) } }, + r = l.WordArray = t.extend({ + init: function (a, c) { a = this.words = a || []; this.sigBytes = c != p ? c : 4 * a.length }, toString: function (a) { return (a || v).stringify(this) }, concat: function (a) { var c = this.words, e = a.words, j = this.sigBytes; a = a.sigBytes; this.clamp(); if (j % 4) for (var k = 0; k < a; k++)c[j + k >>> 2] |= (e[k >>> 2] >>> 24 - 8 * (k % 4) & 255) << 24 - 8 * ((j + k) % 4); else if (65535 < e.length) for (k = 0; k < a; k += 4)c[j + k >>> 2] = e[k >>> 2]; else c.push.apply(c, e); this.sigBytes += a; return this }, clamp: function () { + var a = this.words, c = this.sigBytes; a[c >>> 2] &= 4294967295 << + 32 - 8 * (c % 4); a.length = u.ceil(c / 4) + }, clone: function () { var a = t.clone.call(this); a.words = this.words.slice(0); return a }, random: function (a) { for (var c = [], e = 0; e < a; e += 4)c.push(4294967296 * u.random() | 0); return new r.init(c, a) } + }), w = d.enc = {}, v = w.Hex = { + stringify: function (a) { var c = a.words; a = a.sigBytes; for (var e = [], j = 0; j < a; j++) { var k = c[j >>> 2] >>> 24 - 8 * (j % 4) & 255; e.push((k >>> 4).toString(16)); e.push((k & 15).toString(16)) } return e.join("") }, parse: function (a) { + for (var c = a.length, e = [], j = 0; j < c; j += 2)e[j >>> 3] |= parseInt(a.substr(j, + 2), 16) << 24 - 4 * (j % 8); return new r.init(e, c / 2) + } + }, b = w.Latin1 = { stringify: function (a) { var c = a.words; a = a.sigBytes; for (var e = [], j = 0; j < a; j++)e.push(String.fromCharCode(c[j >>> 2] >>> 24 - 8 * (j % 4) & 255)); return e.join("") }, parse: function (a) { for (var c = a.length, e = [], j = 0; j < c; j++)e[j >>> 2] |= (a.charCodeAt(j) & 255) << 24 - 8 * (j % 4); return new r.init(e, c) } }, x = w.Utf8 = { stringify: function (a) { try { return decodeURIComponent(escape(b.stringify(a))) } catch (c) { throw Error("Malformed UTF-8 data"); } }, parse: function (a) { return b.parse(unescape(encodeURIComponent(a))) } }, + q = l.BufferedBlockAlgorithm = t.extend({ + reset: function () { this._data = new r.init; this._nDataBytes = 0 }, _append: function (a) { "string" == typeof a && (a = x.parse(a)); this._data.concat(a); this._nDataBytes += a.sigBytes }, _process: function (a) { var c = this._data, e = c.words, j = c.sigBytes, k = this.blockSize, b = j / (4 * k), b = a ? u.ceil(b) : u.max((b | 0) - this._minBufferSize, 0); a = b * k; j = u.min(4 * a, j); if (a) { for (var q = 0; q < a; q += k)this._doProcessBlock(e, q); q = e.splice(0, a); c.sigBytes -= j } return new r.init(q, j) }, clone: function () { + var a = t.clone.call(this); + a._data = this._data.clone(); return a + }, _minBufferSize: 0 + }); l.Hasher = q.extend({ + cfg: t.extend(), init: function (a) { this.cfg = this.cfg.extend(a); this.reset() }, reset: function () { q.reset.call(this); this._doReset() }, update: function (a) { this._append(a); this._process(); return this }, finalize: function (a) { a && this._append(a); return this._doFinalize() }, blockSize: 16, _createHelper: function (a) { return function (b, e) { return (new a.init(e)).finalize(b) } }, _createHmacHelper: function (a) { + return function (b, e) { + return (new n.HMAC.init(a, + e)).finalize(b) + } + } + }); var n = d.algo = {}; return d +}(Math); +(function () { + var u = CryptoJS, p = u.lib.WordArray; u.enc.Base64 = { + stringify: function (d) { var l = d.words, p = d.sigBytes, t = this._map; d.clamp(); d = []; for (var r = 0; r < p; r += 3)for (var w = (l[r >>> 2] >>> 24 - 8 * (r % 4) & 255) << 16 | (l[r + 1 >>> 2] >>> 24 - 8 * ((r + 1) % 4) & 255) << 8 | l[r + 2 >>> 2] >>> 24 - 8 * ((r + 2) % 4) & 255, v = 0; 4 > v && r + 0.75 * v < p; v++)d.push(t.charAt(w >>> 6 * (3 - v) & 63)); if (l = t.charAt(64)) for (; d.length % 4;)d.push(l); return d.join("") }, parse: function (d) { + var l = d.length, s = this._map, t = s.charAt(64); t && (t = d.indexOf(t), -1 != t && (l = t)); for (var t = [], r = 0, w = 0; w < + l; w++)if (w % 4) { var v = s.indexOf(d.charAt(w - 1)) << 2 * (w % 4), b = s.indexOf(d.charAt(w)) >>> 6 - 2 * (w % 4); t[r >>> 2] |= (v | b) << 24 - 8 * (r % 4); r++ } return p.create(t, r) + }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" + } +})(); +(function (u) { + function p(b, n, a, c, e, j, k) { b = b + (n & a | ~n & c) + e + k; return (b << j | b >>> 32 - j) + n } function d(b, n, a, c, e, j, k) { b = b + (n & c | a & ~c) + e + k; return (b << j | b >>> 32 - j) + n } function l(b, n, a, c, e, j, k) { b = b + (n ^ a ^ c) + e + k; return (b << j | b >>> 32 - j) + n } function s(b, n, a, c, e, j, k) { b = b + (a ^ (n | ~c)) + e + k; return (b << j | b >>> 32 - j) + n } for (var t = CryptoJS, r = t.lib, w = r.WordArray, v = r.Hasher, r = t.algo, b = [], x = 0; 64 > x; x++)b[x] = 4294967296 * u.abs(u.sin(x + 1)) | 0; r = r.MD5 = v.extend({ + _doReset: function () { this._hash = new w.init([1732584193, 4023233417, 2562383102, 271733878]) }, + _doProcessBlock: function (q, n) { + for (var a = 0; 16 > a; a++) { var c = n + a, e = q[c]; q[c] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360 } var a = this._hash.words, c = q[n + 0], e = q[n + 1], j = q[n + 2], k = q[n + 3], z = q[n + 4], r = q[n + 5], t = q[n + 6], w = q[n + 7], v = q[n + 8], A = q[n + 9], B = q[n + 10], C = q[n + 11], u = q[n + 12], D = q[n + 13], E = q[n + 14], x = q[n + 15], f = a[0], m = a[1], g = a[2], h = a[3], f = p(f, m, g, h, c, 7, b[0]), h = p(h, f, m, g, e, 12, b[1]), g = p(g, h, f, m, j, 17, b[2]), m = p(m, g, h, f, k, 22, b[3]), f = p(f, m, g, h, z, 7, b[4]), h = p(h, f, m, g, r, 12, b[5]), g = p(g, h, f, m, t, 17, b[6]), m = p(m, g, h, f, w, 22, b[7]), + f = p(f, m, g, h, v, 7, b[8]), h = p(h, f, m, g, A, 12, b[9]), g = p(g, h, f, m, B, 17, b[10]), m = p(m, g, h, f, C, 22, b[11]), f = p(f, m, g, h, u, 7, b[12]), h = p(h, f, m, g, D, 12, b[13]), g = p(g, h, f, m, E, 17, b[14]), m = p(m, g, h, f, x, 22, b[15]), f = d(f, m, g, h, e, 5, b[16]), h = d(h, f, m, g, t, 9, b[17]), g = d(g, h, f, m, C, 14, b[18]), m = d(m, g, h, f, c, 20, b[19]), f = d(f, m, g, h, r, 5, b[20]), h = d(h, f, m, g, B, 9, b[21]), g = d(g, h, f, m, x, 14, b[22]), m = d(m, g, h, f, z, 20, b[23]), f = d(f, m, g, h, A, 5, b[24]), h = d(h, f, m, g, E, 9, b[25]), g = d(g, h, f, m, k, 14, b[26]), m = d(m, g, h, f, v, 20, b[27]), f = d(f, m, g, h, D, 5, b[28]), h = d(h, f, + m, g, j, 9, b[29]), g = d(g, h, f, m, w, 14, b[30]), m = d(m, g, h, f, u, 20, b[31]), f = l(f, m, g, h, r, 4, b[32]), h = l(h, f, m, g, v, 11, b[33]), g = l(g, h, f, m, C, 16, b[34]), m = l(m, g, h, f, E, 23, b[35]), f = l(f, m, g, h, e, 4, b[36]), h = l(h, f, m, g, z, 11, b[37]), g = l(g, h, f, m, w, 16, b[38]), m = l(m, g, h, f, B, 23, b[39]), f = l(f, m, g, h, D, 4, b[40]), h = l(h, f, m, g, c, 11, b[41]), g = l(g, h, f, m, k, 16, b[42]), m = l(m, g, h, f, t, 23, b[43]), f = l(f, m, g, h, A, 4, b[44]), h = l(h, f, m, g, u, 11, b[45]), g = l(g, h, f, m, x, 16, b[46]), m = l(m, g, h, f, j, 23, b[47]), f = s(f, m, g, h, c, 6, b[48]), h = s(h, f, m, g, w, 10, b[49]), g = s(g, h, f, m, + E, 15, b[50]), m = s(m, g, h, f, r, 21, b[51]), f = s(f, m, g, h, u, 6, b[52]), h = s(h, f, m, g, k, 10, b[53]), g = s(g, h, f, m, B, 15, b[54]), m = s(m, g, h, f, e, 21, b[55]), f = s(f, m, g, h, v, 6, b[56]), h = s(h, f, m, g, x, 10, b[57]), g = s(g, h, f, m, t, 15, b[58]), m = s(m, g, h, f, D, 21, b[59]), f = s(f, m, g, h, z, 6, b[60]), h = s(h, f, m, g, C, 10, b[61]), g = s(g, h, f, m, j, 15, b[62]), m = s(m, g, h, f, A, 21, b[63]); a[0] = a[0] + f | 0; a[1] = a[1] + m | 0; a[2] = a[2] + g | 0; a[3] = a[3] + h | 0 + }, _doFinalize: function () { + var b = this._data, n = b.words, a = 8 * this._nDataBytes, c = 8 * b.sigBytes; n[c >>> 5] |= 128 << 24 - c % 32; var e = u.floor(a / + 4294967296); n[(c + 64 >>> 9 << 4) + 15] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360; n[(c + 64 >>> 9 << 4) + 14] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; b.sigBytes = 4 * (n.length + 1); this._process(); b = this._hash; n = b.words; for (a = 0; 4 > a; a++)c = n[a], n[a] = (c << 8 | c >>> 24) & 16711935 | (c << 24 | c >>> 8) & 4278255360; return b + }, clone: function () { var b = v.clone.call(this); b._hash = this._hash.clone(); return b } + }); t.MD5 = v._createHelper(r); t.HmacMD5 = v._createHmacHelper(r) +})(Math); +(function () { + var u = CryptoJS, p = u.lib, d = p.Base, l = p.WordArray, p = u.algo, s = p.EvpKDF = d.extend({ cfg: d.extend({ keySize: 4, hasher: p.MD5, iterations: 1 }), init: function (d) { this.cfg = this.cfg.extend(d) }, compute: function (d, r) { for (var p = this.cfg, s = p.hasher.create(), b = l.create(), u = b.words, q = p.keySize, p = p.iterations; u.length < q;) { n && s.update(n); var n = s.update(d).finalize(r); s.reset(); for (var a = 1; a < p; a++)n = s.finalize(n), s.reset(); b.concat(n) } b.sigBytes = 4 * q; return b } }); u.EvpKDF = function (d, l, p) { + return s.create(p).compute(d, + l) + } +})(); +CryptoJS.lib.Cipher || function (u) { + var p = CryptoJS, d = p.lib, l = d.Base, s = d.WordArray, t = d.BufferedBlockAlgorithm, r = p.enc.Base64, w = p.algo.EvpKDF, v = d.Cipher = t.extend({ + cfg: l.extend(), createEncryptor: function (e, a) { return this.create(this._ENC_XFORM_MODE, e, a) }, createDecryptor: function (e, a) { return this.create(this._DEC_XFORM_MODE, e, a) }, init: function (e, a, b) { this.cfg = this.cfg.extend(b); this._xformMode = e; this._key = a; this.reset() }, reset: function () { t.reset.call(this); this._doReset() }, process: function (e) { this._append(e); return this._process() }, + finalize: function (e) { e && this._append(e); return this._doFinalize() }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function (e) { return { encrypt: function (b, k, d) { return ("string" == typeof k ? c : a).encrypt(e, b, k, d) }, decrypt: function (b, k, d) { return ("string" == typeof k ? c : a).decrypt(e, b, k, d) } } } + }); d.StreamCipher = v.extend({ _doFinalize: function () { return this._process(!0) }, blockSize: 1 }); var b = p.mode = {}, x = function (e, a, b) { + var c = this._iv; c ? this._iv = u : c = this._prevBlock; for (var d = 0; d < b; d++)e[a + d] ^= + c[d] + }, q = (d.BlockCipherMode = l.extend({ createEncryptor: function (e, a) { return this.Encryptor.create(e, a) }, createDecryptor: function (e, a) { return this.Decryptor.create(e, a) }, init: function (e, a) { this._cipher = e; this._iv = a } })).extend(); q.Encryptor = q.extend({ processBlock: function (e, a) { var b = this._cipher, c = b.blockSize; x.call(this, e, a, c); b.encryptBlock(e, a); this._prevBlock = e.slice(a, a + c) } }); q.Decryptor = q.extend({ + processBlock: function (e, a) { + var b = this._cipher, c = b.blockSize, d = e.slice(a, a + c); b.decryptBlock(e, a); x.call(this, + e, a, c); this._prevBlock = d + } + }); b = b.CBC = q; q = (p.pad = {}).Pkcs7 = { pad: function (a, b) { for (var c = 4 * b, c = c - a.sigBytes % c, d = c << 24 | c << 16 | c << 8 | c, l = [], n = 0; n < c; n += 4)l.push(d); c = s.create(l, c); a.concat(c) }, unpad: function (a) { a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255 } }; d.BlockCipher = v.extend({ + cfg: v.cfg.extend({ mode: b, padding: q }), reset: function () { + v.reset.call(this); var a = this.cfg, b = a.iv, a = a.mode; if (this._xformMode == this._ENC_XFORM_MODE) var c = a.createEncryptor; else c = a.createDecryptor, this._minBufferSize = 1; this._mode = c.call(a, + this, b && b.words) + }, _doProcessBlock: function (a, b) { this._mode.processBlock(a, b) }, _doFinalize: function () { var a = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { a.pad(this._data, this.blockSize); var b = this._process(!0) } else b = this._process(!0), a.unpad(b); return b }, blockSize: 4 + }); var n = d.CipherParams = l.extend({ init: function (a) { this.mixIn(a) }, toString: function (a) { return (a || this.formatter).stringify(this) } }), b = (p.format = {}).OpenSSL = { + stringify: function (a) { + var b = a.ciphertext; a = a.salt; return (a ? s.create([1398893684, + 1701076831]).concat(a).concat(b) : b).toString(r) + }, parse: function (a) { a = r.parse(a); var b = a.words; if (1398893684 == b[0] && 1701076831 == b[1]) { var c = s.create(b.slice(2, 4)); b.splice(0, 4); a.sigBytes -= 16 } return n.create({ ciphertext: a, salt: c }) } + }, a = d.SerializableCipher = l.extend({ + cfg: l.extend({ format: b }), encrypt: function (a, b, c, d) { d = this.cfg.extend(d); var l = a.createEncryptor(c, d); b = l.finalize(b); l = l.cfg; return n.create({ ciphertext: b, key: c, iv: l.iv, algorithm: a, mode: l.mode, padding: l.padding, blockSize: a.blockSize, formatter: d.format }) }, + decrypt: function (a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); return a.createDecryptor(c, d).finalize(b.ciphertext) }, _parse: function (a, b) { return "string" == typeof a ? b.parse(a, this) : a } + }), p = (p.kdf = {}).OpenSSL = { execute: function (a, b, c, d) { d || (d = s.random(8)); a = w.create({ keySize: b + c }).compute(a, d); c = s.create(a.words.slice(b), 4 * c); a.sigBytes = 4 * b; return n.create({ key: a, iv: c, salt: d }) } }, c = d.PasswordBasedCipher = a.extend({ + cfg: a.cfg.extend({ kdf: p }), encrypt: function (b, c, d, l) { + l = this.cfg.extend(l); d = l.kdf.execute(d, + b.keySize, b.ivSize); l.iv = d.iv; b = a.encrypt.call(this, b, c, d.key, l); b.mixIn(d); return b + }, decrypt: function (b, c, d, l) { l = this.cfg.extend(l); c = this._parse(c, l.format); d = l.kdf.execute(d, b.keySize, b.ivSize, c.salt); l.iv = d.iv; return a.decrypt.call(this, b, c, d.key, l) } + }) +}(); +(function () { + for (var u = CryptoJS, p = u.lib.BlockCipher, d = u.algo, l = [], s = [], t = [], r = [], w = [], v = [], b = [], x = [], q = [], n = [], a = [], c = 0; 256 > c; c++)a[c] = 128 > c ? c << 1 : c << 1 ^ 283; for (var e = 0, j = 0, c = 0; 256 > c; c++) { var k = j ^ j << 1 ^ j << 2 ^ j << 3 ^ j << 4, k = k >>> 8 ^ k & 255 ^ 99; l[e] = k; s[k] = e; var z = a[e], F = a[z], G = a[F], y = 257 * a[k] ^ 16843008 * k; t[e] = y << 24 | y >>> 8; r[e] = y << 16 | y >>> 16; w[e] = y << 8 | y >>> 24; v[e] = y; y = 16843009 * G ^ 65537 * F ^ 257 * z ^ 16843008 * e; b[k] = y << 24 | y >>> 8; x[k] = y << 16 | y >>> 16; q[k] = y << 8 | y >>> 24; n[k] = y; e ? (e = z ^ a[a[a[G ^ z]]], j ^= a[a[j]]) : e = j = 1 } var H = [0, 1, 2, 4, 8, + 16, 32, 64, 128, 27, 54], d = d.AES = p.extend({ + _doReset: function () { + for (var a = this._key, c = a.words, d = a.sigBytes / 4, a = 4 * ((this._nRounds = d + 6) + 1), e = this._keySchedule = [], j = 0; j < a; j++)if (j < d) e[j] = c[j]; else { var k = e[j - 1]; j % d ? 6 < d && 4 == j % d && (k = l[k >>> 24] << 24 | l[k >>> 16 & 255] << 16 | l[k >>> 8 & 255] << 8 | l[k & 255]) : (k = k << 8 | k >>> 24, k = l[k >>> 24] << 24 | l[k >>> 16 & 255] << 16 | l[k >>> 8 & 255] << 8 | l[k & 255], k ^= H[j / d | 0] << 24); e[j] = e[j - d] ^ k } c = this._invKeySchedule = []; for (d = 0; d < a; d++)j = a - d, k = d % 4 ? e[j] : e[j - 4], c[d] = 4 > d || 4 >= j ? k : b[l[k >>> 24]] ^ x[l[k >>> 16 & 255]] ^ q[l[k >>> + 8 & 255]] ^ n[l[k & 255]] + }, encryptBlock: function (a, b) { this._doCryptBlock(a, b, this._keySchedule, t, r, w, v, l) }, decryptBlock: function (a, c) { var d = a[c + 1]; a[c + 1] = a[c + 3]; a[c + 3] = d; this._doCryptBlock(a, c, this._invKeySchedule, b, x, q, n, s); d = a[c + 1]; a[c + 1] = a[c + 3]; a[c + 3] = d }, _doCryptBlock: function (a, b, c, d, e, j, l, f) { + for (var m = this._nRounds, g = a[b] ^ c[0], h = a[b + 1] ^ c[1], k = a[b + 2] ^ c[2], n = a[b + 3] ^ c[3], p = 4, r = 1; r < m; r++)var q = d[g >>> 24] ^ e[h >>> 16 & 255] ^ j[k >>> 8 & 255] ^ l[n & 255] ^ c[p++], s = d[h >>> 24] ^ e[k >>> 16 & 255] ^ j[n >>> 8 & 255] ^ l[g & 255] ^ c[p++], t = + d[k >>> 24] ^ e[n >>> 16 & 255] ^ j[g >>> 8 & 255] ^ l[h & 255] ^ c[p++], n = d[n >>> 24] ^ e[g >>> 16 & 255] ^ j[h >>> 8 & 255] ^ l[k & 255] ^ c[p++], g = q, h = s, k = t; q = (f[g >>> 24] << 24 | f[h >>> 16 & 255] << 16 | f[k >>> 8 & 255] << 8 | f[n & 255]) ^ c[p++]; s = (f[h >>> 24] << 24 | f[k >>> 16 & 255] << 16 | f[n >>> 8 & 255] << 8 | f[g & 255]) ^ c[p++]; t = (f[k >>> 24] << 24 | f[n >>> 16 & 255] << 16 | f[g >>> 8 & 255] << 8 | f[h & 255]) ^ c[p++]; n = (f[n >>> 24] << 24 | f[g >>> 16 & 255] << 16 | f[h >>> 8 & 255] << 8 | f[k & 255]) ^ c[p++]; a[b] = q; a[b + 1] = s; a[b + 2] = t; a[b + 3] = n + }, keySize: 8 + }); u.AES = p._createHelper(d) +})(); \ No newline at end of file diff --git a/public/util/screen/guge.png b/public/util/screen/guge.png new file mode 100644 index 0000000000000000000000000000000000000000..128cc53f6848aa325dbc832a42118c822af06fc5 GIT binary patch literal 66296 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
F>y$|{7m8SQmv#D?PFjHvLh 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 literal 0 HcmV?d00001 diff --git a/public/util/screen/huohu.png b/public/util/screen/huohu.png new file mode 100644 index 0000000000000000000000000000000000000000..00af13998a6894226a8ebb489d3d40461b3efaec GIT binary patch literal 430866 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

}CS_haLymOALQoX>OJ(BsF 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%0DB8gvpG05gCohedP@>>W@e~9mB#5+M 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%0A&f{2ohpuQUGIP^XUu$ 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

    hl_-Y zaNgT*m+oP!&6*?p#!j^@`y-_v;~I(W;JKu*KjS~wnd=G_-PoyD9}2r4G1a&}wKp_k z)@Z!6FIvskUixH1e>CV;*Otq&7;hHlzMl8?uQl9~1M}DWmEt$Ait8NWx;=rnh?sD0 z4T17Fc!piSHxJ9kj$@)Hnm*x>aeStHRu3oO%S>BV3#)fMA5BWv?2MSWIAex1W*_SJ zKRBN?CcJc>_zVEDRkimc2%o=joLEAifU3@?U!ojp}{7eztDh6&zewQI<6 z(0_&(m&Xk(**ig1i~Ev(`v0Pkp+KGV7cB1-s+g{_=Rxr?9v*a)S&omVnM98XU;B#< zu7G_vfcYN+&}W*eZiF(|V#78Hgql&ZY<@En!B(-u2Do6mZ$JQmpoIk+7MtDgx=m5G zZ9x<^YISywA8P6NeY00p{P_lOyHDR_GGht6{!wWDaToKk6mki{k$Pym+VE2+)oYTt zEBU4lU=gFl`;%vrUQzC(p8k;k?t~k}iH~JsNEt?INR<9AQYBqNtz069eKO?8l*~F~ z1R>$(`Z8%r`Cr3VV??QF1?l%c*if4PoPhq)Ra)=`78iz|=!RkhD2(Zh7jOO$? zq!lJSN)f@p5T^*6uIG#YE68R_%Nwm?`Q0*VqNVfm9xb8CDl$J9;G5%R=pfG@1Xs6@ zz?!u%p9B6rmlpNp{Umkjec5z>FTXsWFuiIm{SJfE&#~MoUsmTN+~o=|Wt?qy6)2tT z8cJJ{>Cj1$q^sW4(lYFZxN-AxFGUKNiDNeF&sVDx&E%Bq(KA;9x1%v{?ElkQd`#{_ z0Ecc*3y9Mo#O!*Vi4L|`Y+v~1oj>*`ru5%AYew#~R&`U~i^&*GwO=lPzL?k1n*Z82 zik7!r#_W7rQPwgz9pnklvwrnTguv+TGv+D{ZWtvgVpMSU%)Y00R1?$_8idhh^dU4b zb>M4*XiC_F+ocCL6Y2|Ax$T=5ZZ046U93?^^H9eVRwQzoIE466f84^JaGwKeF|Gsr z!>NL5tV9T?QLc`AJ*#=v&C=?KKklW<%8*$g^G0=NdX1}UNelSf;;Fuilh2K_E*H?4ib zN->!OgHc^fDQ(@6bkaBzC$9Mc?GVa>p>j7KTFJewmVrs8Hg#Q9$ShP^Xs4lb-!kSg zn~Hh=@OH1@Qs`^mm45c8`6iW2GnuM_i-7ryMp1=~BWn~MNkqi8#pa40W#xs*^zsQv zRi3&T6Y4uBTYU=ktR`qrd23rQg(l!WdW5NT?NgQPg$_vN^@=7WKH^4mOVq%4XD{vJ z(h&KPk>Uf@_QKvDgw%j@VZJ@eBnNx-d*Y0TotS}Fqax9ozYo0k&68eYzM{1)7g5AX z@O-sB1EVBU@XpYY(OY0ttF(y{tB|MI){F5`hxm`c3sA=c}5pyV1~& zt%7C5XkaGSBp1Nc_B|8%`TJJohD94T=@HwPzR

    $sJ-@_%G&WZtJPwtTDTRpc|(4 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 z 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 literal 0 HcmV?d00001 diff --git a/public/util/screen/screen.css b/public/util/screen/screen.css new file mode 100644 index 0000000..8333cbb --- /dev/null +++ b/public/util/screen/screen.css @@ -0,0 +1,32 @@ +.el-tip { + position: fixed; + left: 50%; + top: 50%; + width: 500px; + padding: 8px 16px; + margin: 0; + margin-left: -250px; + margin-top: -60px; + box-sizing: border-box; + border-radius: 4px; + position: relative; + background-color: #fff; + overflow: hidden; + opacity: 1; + display: flex; + align-items: center; + transition: opacity .2s; +} + +.el-tip--warning { + background-color: #fdf6ec; + color: #e6a23c; +} + +.el-tip__title { + line-height: 18px; +} +.el-tip_img img{ + width: 80px; + height: 80px; +} \ No newline at end of file diff --git a/public/util/screen/screen.js b/public/util/screen/screen.js new file mode 100644 index 0000000..d9eca41 --- /dev/null +++ b/public/util/screen/screen.js @@ -0,0 +1,47 @@ +function util() { + this.flag = true; + var body = document.body; + var safe = this; + var validVersion = function() { + var browser = navigator.appName + var b_version = navigator.appVersion + var version = b_version.split(";"); + var trim_Version = version[1].replace(/[ ]/g, ""); + if (trim_Version == 'WOW64') { + safe.flag = false + } else if (browser == "Microsoft Internet Explorer" && trim_Version == "MSIE6.0") { + safe.flag = false + } else if (browser == "Microsoft Internet Explorer" && trim_Version == "MSIE7.0") { + safe.flag = false + } else if (browser == "Microsoft Internet Explorer" && trim_Version == "MSIE8.0") { + safe.flag = false + } else if (browser == "Microsoft Internet Explorer" && trim_Version == "MSIE9.0") { + safe.flag = false + } + } + this.setBody = function() { + var str = '

    ' + + '
    ' + + '' + + '您乘坐的浏览器版本太低了,你可以把浏览器从兼容模式调到极速模式' + + '
    实在不行就换浏览器吧;' + + '
    ' + + '
    ' + + '' + + '' + + '
    ' + + '
    ' + + '
    '; + body.innerHTML = str + body.innerHTML + } + this.init = function() { + validVersion(); //检测浏览器的版本 + return this; + } +} + +var creen = new util().init(); +var flag = creen.flag; +if (!flag) { + creen.setBody(); +} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..2959c60 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,27 @@ + + + + diff --git a/src/api/base/region.js b/src/api/base/region.js new file mode 100644 index 0000000..4447bb2 --- /dev/null +++ b/src/api/base/region.js @@ -0,0 +1,53 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/region/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getLazyTree = (parentCode, params) => { + return request({ + url: '/api1/bd-system/region/lazy-tree', + method: 'get', + params: { + ...params, + parentCode + } + }) +} + +export const getDetail = (code) => { + return request({ + url: '/api1/bd-system/region/detail', + method: 'get', + params: { + code + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/bd-system/region/remove', + method: 'post', + params: { + id, + } + }) +} + +export const submit = (row) => { + return request({ + url: '/api1/bd-system/region/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/checklog/check.js b/src/api/checklog/check.js new file mode 100644 index 0000000..3bc5272 --- /dev/null +++ b/src/api/checklog/check.js @@ -0,0 +1,23 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/checkLog/page', + method: 'get', + params: { + current, + size, + ...params, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/checkLog/detail', + method: 'get', + params: { + id + } + }) +} diff --git a/src/api/core/bill/dailyBill.js b/src/api/core/bill/dailyBill.js new file mode 100644 index 0000000..15599e7 --- /dev/null +++ b/src/api/core/bill/dailyBill.js @@ -0,0 +1,31 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/tenant/dailybill/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/tenant/dailybill/detail', + method: 'get', + params: { + id + } + }) +} + + +export const select = () => { + return request({ + url: '/api1/bd-system/tenant/select', + method: 'get', + }) +} diff --git a/src/api/core/bill/dayresource.js b/src/api/core/bill/dayresource.js new file mode 100644 index 0000000..fb99d0b --- /dev/null +++ b/src/api/core/bill/dayresource.js @@ -0,0 +1,33 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/source/dailybill/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/source/dailybill/detail', + method: 'get', + params: { + id + } + }) +} + +export const zyfdictionary = (id) => { + return request({ + url: '/api1/bd-system/dict/dictionary?code=source_type', + method: 'get', + params: { + id + } + }) +} diff --git a/src/api/core/bill/monresource.js b/src/api/core/bill/monresource.js new file mode 100644 index 0000000..2e07b45 --- /dev/null +++ b/src/api/core/bill/monresource.js @@ -0,0 +1,33 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/source/monthbill/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/source/monthbill/detail', + method: 'get', + params: { + id + } + }) +} + +export const zyfdictionary = (id) => { + return request({ + url: '/api1/bd-system/dict/dictionary?code=source_type', + method: 'get', + params: { + id + } + }) +} diff --git a/src/api/core/bill/monthBill.js b/src/api/core/bill/monthBill.js new file mode 100644 index 0000000..31a51f7 --- /dev/null +++ b/src/api/core/bill/monthBill.js @@ -0,0 +1,31 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/tenant/monthbill/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/tenant/monthbill/detail', + method: 'get', + params: { + id + } + }) +} + +export const exportexcel = (query) => { + return request({ + url: '/api1/bd-core/tenant/monthbill/export-excel', + method: 'get', + params:query + }) +} diff --git a/src/api/core/customer/customerApi.js b/src/api/core/customer/customerApi.js new file mode 100644 index 0000000..8de2504 --- /dev/null +++ b/src/api/core/customer/customerApi.js @@ -0,0 +1,23 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/customer/api/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/customer/api/detail', + method: 'get', + params: { + id + } + }) +} \ No newline at end of file diff --git a/src/api/core/product/productApi.js b/src/api/core/product/productApi.js new file mode 100644 index 0000000..0522c33 --- /dev/null +++ b/src/api/core/product/productApi.js @@ -0,0 +1,70 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/product/api/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/product/api/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/bd-core/product/api/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-core/product/api/save', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-core/product/api/update', + method: 'post', + data: row + }) +} + +export const getProductTree = (tenantId) => { + return request({ + url: '/api1/bd-core/product/api/select', + method: 'get', + params: { + tenantId, + } + }) +} + +/** + * 获取产品对应的服务订阅 + * @param id + */ +export const getServerSubscribeList = (id) => request({ + url: '/api1/bd-core/product/subscribe', + params: { + id, + }, +}); diff --git a/src/api/core/source/sourceApi.js b/src/api/core/source/sourceApi.js new file mode 100644 index 0000000..14dd475 --- /dev/null +++ b/src/api/core/source/sourceApi.js @@ -0,0 +1,69 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/source/api/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-core/source/api/detail', + method: 'get', + params: { + id + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-core/source/api/save', + method: 'post', + data: row + }) +} + +export const update = (arr) => { + return request({ + url: '/api1/bd-core/source/api/update', + method: 'post', + data: arr + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/bd-core/source/api/remove', + method: 'post', + params: { + id, + } + }) +} + +export const getSelect = (params) => { + return request({ + url: '/api1/bd-core/source/api/select', + method: 'get', + params: { + ...params + } + }) +} + +export const change = (params) => { + return request({ + url: '/api1/bd-core/source/api/priceRecord/page', + method: 'get', + params: { + ...params, + } + }) +} diff --git a/src/api/customerbill/daily.js b/src/api/customerbill/daily.js new file mode 100644 index 0000000..a9ec0e3 --- /dev/null +++ b/src/api/customerbill/daily.js @@ -0,0 +1,13 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/customer/dailyBill/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} diff --git a/src/api/customerbill/month.js b/src/api/customerbill/month.js new file mode 100644 index 0000000..ef048d6 --- /dev/null +++ b/src/api/customerbill/month.js @@ -0,0 +1,13 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-core/customer/monthBill/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} diff --git a/src/api/dashboard/index.js b/src/api/dashboard/index.js new file mode 100644 index 0000000..6834234 --- /dev/null +++ b/src/api/dashboard/index.js @@ -0,0 +1,12 @@ +import request from '@/router/axios'; + +//客户详情 +export const getdetail = (tenantId) => { + return request({ + url: '/api1/bd-system/tenant/details', + method: 'get', + params:{ + tenantId + } + }) +} diff --git a/src/api/desk/notice.js b/src/api/desk/notice.js new file mode 100644 index 0000000..d185418 --- /dev/null +++ b/src/api/desk/notice.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/desk/notice/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/desk/notice/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/desk/notice/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/desk/notice/submit', + method: 'post', + data: row + }) +} + +export const getNotice = (id) => { + return request({ + url: '/api1/bd-system/desk/notice/detail', + method: 'get', + params: { + id + } + }) +} + diff --git a/src/api/equipment/index.js b/src/api/equipment/index.js new file mode 100644 index 0000000..c2e839d --- /dev/null +++ b/src/api/equipment/index.js @@ -0,0 +1,12 @@ +import request from '@/router/axios'; + +export const getEquipments = (current, size, params) => { + return request({ + url: '/api1/device/device/list', + params: { + current, + size, + ...params, + }, + }) +}; diff --git a/src/api/flow/flow.js b/src/api/flow/flow.js new file mode 100644 index 0000000..f0251cd --- /dev/null +++ b/src/api/flow/flow.js @@ -0,0 +1,99 @@ +import request from '@/router/axios'; + +export const modelList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/model/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const managerList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/manager/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const followList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/follow/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + + +export const removeModel = (ids) => { + return request({ + url: '/api1/hulk-flow/model/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const deployModel = (params) => { + return request({ + url: '/api1/hulk-flow/model/deploy', + method: 'post', + params + }) +} + +export const changeState = (params) => { + return request({ + url: '/api1/hulk-flow/manager/change-state', + method: 'post', + params + }) +} + +export const deployUpload = (category, tenantIds, files) => { + const formData = new FormData(); + formData.append('category', category); + formData.append('tenantIds', tenantIds); + files.forEach(file => { + formData.append('files', file); + }); + return request({ + headers: { + "Content-Type": "multipart/form-data" + }, + url: '/api1/hulk-flow/manager/deploy-upload', + method: 'post', + data: formData + }) +} + +export const deleteDeployment = (deploymentIds) => { + return request({ + url: '/api1/hulk-flow/manager/delete-deployment', + method: 'post', + params: { + deploymentIds, + } + }) +} + +export const deleteProcessInstance = (params) => { + return request({ + url: '/api1/hulk-flow/follow/delete-process-instance', + method: 'post', + params + }) +} diff --git a/src/api/iot/device/device.js b/src/api/iot/device/device.js new file mode 100644 index 0000000..7ada5aa --- /dev/null +++ b/src/api/iot/device/device.js @@ -0,0 +1,56 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/device/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/device/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/iot/device/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/device/save', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/device/update', + method: 'post', + data: row + }) +} + +/** + * 获取设备统计 + */ +export const getDeviceStatistics = () => request({ + url: '/api1/iot/device/statistics', +}); diff --git a/src/api/iot/device/product.js b/src/api/iot/device/product.js new file mode 100644 index 0000000..2fc9862 --- /dev/null +++ b/src/api/iot/device/product.js @@ -0,0 +1,70 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/product/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/product/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/iot/product/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/product/save', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/product/update', + method: 'post', + data: row + }) +} + +export const getProductTree = (tenantId) => { + return request({ + url: '/api1/iot/product/select', + method: 'get', + params: { + tenantId, + } + }) +} + +/** + * 获取产品对应的服务订阅 + * @param id + */ +export const getServerSubscribeList = (id) => request({ + url: '/api1/iot/product/subscribe', + params: { + id, + }, +}); diff --git a/src/api/iot/device/productTopic.js b/src/api/iot/device/productTopic.js new file mode 100644 index 0000000..1a4f114 --- /dev/null +++ b/src/api/iot/device/productTopic.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/product/topic/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/product/topic/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/iot/product/topic/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/product/topic/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/product/topic/submit', + method: 'post', + data: row + }) + +} diff --git a/src/api/iot/ops/deviceLog.js b/src/api/iot/ops/deviceLog.js new file mode 100644 index 0000000..a1a7f90 --- /dev/null +++ b/src/api/iot/ops/deviceLog.js @@ -0,0 +1,61 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/device/log/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/device/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/iot/device/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/device/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/device/submit', + method: 'post', + data: row + }) + +} + +/** + * 获取消息内容详情 + * @param id + */ +export const getMessageDetail = (id) => request({ + url: '/api1/iot/device/log/message', + params: { + id, + }, +}); diff --git a/src/api/iot/subscribe/consumer.js b/src/api/iot/subscribe/consumer.js new file mode 100644 index 0000000..2840344 --- /dev/null +++ b/src/api/iot/subscribe/consumer.js @@ -0,0 +1,71 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/server/consumer/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/server/consumer/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/iot/server/consumer/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/server/consumer/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/server/consumer/submit', + method: 'post', + data: row + }) +} + +/** + * 获取消费组订阅产品列表 + * @param consumerId + */ +export const getSubscribeProductList = (consumerId) => request({ + url: '/api1/iot/server/consumer/subscribeList', + params: { + consumerId, + }, +}); + +/** + * 获取消费组订阅服务列表 + * @param consumerToken + */ +export const getSubscribeServerList = (consumerToken) => request({ + url: '/api1/iot/server/client/list', + params: { + consumerToken, + }, +}); diff --git a/src/api/iot/subscribe/subscribe.js b/src/api/iot/subscribe/subscribe.js new file mode 100644 index 0000000..d0f4162 --- /dev/null +++ b/src/api/iot/subscribe/subscribe.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/server/subscribe/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/server/subscribe/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/iot/server/subscribe/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/server/subscribe/save', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/server/subscribe/update', + method: 'post', + data: row + }) + +} diff --git a/src/api/iot/vendor/aliConfig.js b/src/api/iot/vendor/aliConfig.js new file mode 100644 index 0000000..f6a0cf0 --- /dev/null +++ b/src/api/iot/vendor/aliConfig.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/ali/config/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/ali/config/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/iot/ali/config/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/ali/config/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/ali/config/submit', + method: 'post', + data: row + }) + +} diff --git a/src/api/iot/vendor/aliConsumer.js b/src/api/iot/vendor/aliConsumer.js new file mode 100644 index 0000000..c22e418 --- /dev/null +++ b/src/api/iot/vendor/aliConsumer.js @@ -0,0 +1,59 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/iot/ali/consumer/page', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/iot/ali/consumer/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/iot/ali/consumer/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/iot/ali/consumer/save', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/iot/ali/consumer/update', + method: 'post', + data: row + }) +} + +export const getAliConsumerTree = (configId) => { + return request({ + url: '/api1/iot/ali/consumer/select', + method: 'get', + params: { + configId, + } + }) +} diff --git a/src/api/logs.js b/src/api/logs.js new file mode 100644 index 0000000..b90bef8 --- /dev/null +++ b/src/api/logs.js @@ -0,0 +1,64 @@ +import request from '@/router/axios'; + +export const getUsualList = (current, size) => { + return request({ + url: '/api1/hulk-log/usual/list', + method: 'get', + params: { + current, + size + } + }) +} + +export const getApiList = (current, size) => { + return request({ + url: '/api1/hulk-log/api/list', + method: 'get', + params: { + current, + size + } + }) +} + +export const getErrorList = (current, size) => { + return request({ + url: '/api1/hulk-log/error/list', + method: 'get', + params: { + current, + size + } + }) +} + + +export const getUsualLogs = (id) => { + return request({ + url: '/api1/hulk-log/usual/detail', + method: 'get', + params: { + id, + } + }) +} +export const getApiLogs = (id) => { + return request({ + url: '/api1/hulk-log/api/detail', + method: 'get', + params: { + id, + } + }) +} +export const getErrorLogs = (id) => { + return request({ + url: '/api1/hulk-log/error/detail', + method: 'get', + params: { + id, + } + }) +} + diff --git a/src/api/report/report.js b/src/api/report/report.js new file mode 100644 index 0000000..13563f4 --- /dev/null +++ b/src/api/report/report.js @@ -0,0 +1,22 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/hulk-report/report/rest/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} +export const remove = (ids) => { + return request({ + url: '/api1/hulk-report/report/rest/remove', + method: 'post', + params: { + ids, + } + }) +} diff --git a/src/api/resource/attach.js b/src/api/resource/attach.js new file mode 100644 index 0000000..9299953 --- /dev/null +++ b/src/api/resource/attach.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/attach/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/attach/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/attach/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/attach/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/attach/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/resource/oss.js b/src/api/resource/oss.js new file mode 100644 index 0000000..236e118 --- /dev/null +++ b/src/api/resource/oss.js @@ -0,0 +1,59 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/oss/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/oss/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/oss/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/oss/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/oss/submit', + method: 'post', + data: row + }) +} + +export const enable = (id) => { + return request({ + url: '/api1/bd-system/oss/enable', + method: 'post', + params: { + id + } + }) +} diff --git a/src/api/resource/sms.js b/src/api/resource/sms.js new file mode 100644 index 0000000..99c0748 --- /dev/null +++ b/src/api/resource/sms.js @@ -0,0 +1,72 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/sms/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/sms/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/sms/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/sms/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/sms/submit', + method: 'post', + data: row + }) +} + +export const enable = (id) => { + return request({ + url: '/api1/bd-system/sms/enable', + method: 'post', + params: { + id + } + }) +} + +export const send = (code, phones, params) => { + return request({ + url: '/api1/bd-system/sms/endpoint/send-message', + method: 'post', + params: { + code, + phones, + params, + } + }) +} + diff --git a/src/api/sys/index.js b/src/api/sys/index.js new file mode 100644 index 0000000..716aa3d --- /dev/null +++ b/src/api/sys/index.js @@ -0,0 +1,27 @@ +import request from '@/router/axios'; + +/** + * 获取租户详情 + * @param{string} tenantId + */ +export const getTenantDetail = (tenantId) => request({ + url: '/api1/iot/tenant/summary', + params: { + tenantId, + }, +}); + +/** + * 获取在线设备统计数据 + * @param queryStartTime + * @param queryEndTime + * @param productId + */ +export const getOnlineDeviceData = (queryStartTime, queryEndTime, productId) => request({ + url: '/api1/iot/statistics/online', + params: { + queryStartTime, + queryEndTime, + productId, + }, +}); diff --git a/src/api/system/client.js b/src/api/system/client.js new file mode 100644 index 0000000..70b8600 --- /dev/null +++ b/src/api/system/client.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/client/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/client/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/client/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/client/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/client/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..943d02f --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,81 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/dept/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getLazyList = (parentId, params) => { + return request({ + url: '/api1/bd-system/dept/lazy-list', + method: 'get', + params: { + ...params, + parentId + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/dept/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/dept/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/dept/submit', + method: 'post', + data: row + }) +} + +export const getDept = (id) => { + return request({ + url: '/api1/bd-system/dept/detail', + method: 'get', + params: { + id, + } + }) +} + +export const getDeptTree = (tenantId) => { + return request({ + url: '/api1/bd-system/dept/tree', + method: 'get', + params: { + tenantId, + } + }) +} + +export const getDeptLazyTree = (parentId) => { + return request({ + url: '/api1/bd-system/dept/lazy-tree', + method: 'get', + params: { + parentId + } + }) +} + diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..1e5cc92 --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,89 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/dict/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getParentList = (current, size, params) => { + return request({ + url: '/api1/bd-system/dict/parent-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getChildList = (current, size, parentId, params) => { + return request({ + url: '/api1/bd-system/dict/child-list', + method: 'get', + params: { + ...params, + current, + size, + parentId: parentId, + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/dict/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/dict/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/dict/submit', + method: 'post', + data: row + }) +} + + +export const getDict = (id) => { + return request({ + url: '/api1/bd-system/dict/detail', + method: 'get', + params: { + id, + } + }) +} +export const getDictTree = () => { + return request({ + url: '/api1/bd-system/dict/tree?code=DICT', + method: 'get' + }) +} + +export const getDictionary = (params) => { + return request({ + url: '/api1/bd-system/dict/dictionary', + method: 'get', + params, + }) +} diff --git a/src/api/system/dictbiz.js b/src/api/system/dictbiz.js new file mode 100644 index 0000000..0766f86 --- /dev/null +++ b/src/api/system/dictbiz.js @@ -0,0 +1,89 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/dict-biz/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getParentList = (current, size, params) => { + return request({ + url: '/api1/bd-system/dict-biz/parent-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getChildList = (current, size, parentId, params) => { + return request({ + url: '/api1/bd-system/dict-biz/child-list', + method: 'get', + params: { + ...params, + current, + size, + parentId: parentId, + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/dict-biz/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/dict-biz/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/dict-biz/submit', + method: 'post', + data: row + }) +} + + +export const getDict = (id) => { + return request({ + url: '/api1/bd-system/dict-biz/detail', + method: 'get', + params: { + id, + } + }) +} +export const getDictTree = () => { + return request({ + url: '/api1/bd-system/dict-biz/tree?code=DICT', + method: 'get' + }) +} + +export const getDictionary = (params) => { + return request({ + url: '/api1/bd-system/dict-biz/dictionary', + method: 'get', + params, + }) +} diff --git a/src/api/system/menu.js b/src/api/system/menu.js new file mode 100644 index 0000000..7c606eb --- /dev/null +++ b/src/api/system/menu.js @@ -0,0 +1,106 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/menu/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getLazyList = (parentId, params) => { + return request({ + url: '/api1/bd-system/menu/lazy-list', + method: 'get', + params: { + ...params, + parentId + } + }) +} + +export const getLazyMenuList = (parentId, params) => { + return request({ + url: '/api1/bd-system/menu/lazy-menu-list', + method: 'get', + params: { + ...params, + parentId + } + }) +} + +export const getMenuList = (current, size, params) => { + return request({ + url: '/api1/bd-system/menu/menu-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getMenuTree = (tenantId) => { + return request({ + url: '/api1/bd-system/menu/tree', + method: 'get', + params: { + tenantId, + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/menu/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/menu/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/menu/submit', + method: 'post', + data: row + }) +} + +export const getMenu = (id) => { + return request({ + url: '/api1/bd-system/menu/detail', + method: 'get', + params: { + id, + } + }) +} + +export const getTopMenu = () => request({ + url: '/api1/bd-system/menu/top-menu', + method: 'get' +}); + +export const getRoutes = (topMenuId) => request({ + url: '/api1/bd-system/menu/routes', + method: 'get', + params: { + topMenuId, + } +}); diff --git a/src/api/system/param.js b/src/api/system/param.js new file mode 100644 index 0000000..1ff542a --- /dev/null +++ b/src/api/system/param.js @@ -0,0 +1,39 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/param/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/param/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/param/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/param/submit', + method: 'post', + data: row + }) +} diff --git a/src/api/system/post.js b/src/api/system/post.js new file mode 100644 index 0000000..97616e3 --- /dev/null +++ b/src/api/system/post.js @@ -0,0 +1,60 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/post/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getPostList = (tenantId) => { + return request({ + url: '/api1/bd-system/post/select', + method: 'get', + params: { + tenantId + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/post/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/post/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/post/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/post/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/system/price.js b/src/api/system/price.js new file mode 100644 index 0000000..e8d09fa --- /dev/null +++ b/src/api/system/price.js @@ -0,0 +1,27 @@ +import request from '@/router/axios'; + +export const change = (params) => { + return request({ + url: '/api1/bd-core/tenant/api/priceRecord/page', + method: 'get', + params: { + ...params, + } + }) +} +// 运营商类型 +export const operator = () => { + return request({ + url: '/api1/bd-system/dict/dictionary?code=net_type', + method: 'get', + }) +} + +// 接口类型 +export const apiprot = () => { + return request({ + url: '/api1/bd-system/dict/dictionary?code=api_type', + method: 'get', + }) +} + diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..2f31292 --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,89 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/role/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} +export const grantTree = () => { + return request({ + url: '/api1/bd-system/menu/grant-tree', + method: 'get', + }) +} + +export const grant = (roleIds, menuIds, dataScopeIds, apiScopeIds) => { + return request({ + url: '/api1/bd-system/role/grant', + method: 'post', + data: { + roleIds, + menuIds, + dataScopeIds, + apiScopeIds + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/role/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/role/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/role/submit', + method: 'post', + data: row + }) +} + + +export const getRole = (roleIds) => { + return request({ + url: '/api1/bd-system/menu/role-tree-keys', + method: 'get', + params: { + roleIds, + } + }) +} + +export const getRoleTree = (tenantId) => { + return request({ + url: '/api1/bd-system/role/tree', + method: 'get', + params: { + tenantId, + } + }) +} + +export const getRoleTreeById = (roleId) => { + return request({ + url: '/api1/bd-system/role/tree-by-id', + method: 'get', + params: { + roleId, + } + }) +} diff --git a/src/api/system/scope.js b/src/api/system/scope.js new file mode 100644 index 0000000..2aef456 --- /dev/null +++ b/src/api/system/scope.js @@ -0,0 +1,97 @@ +import request from '@/router/axios'; + +export const getListDataScope = (current, size, params) => { + return request({ + url: '/api1/bd-system/data-scope/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const removeDataScope = (ids) => { + return request({ + url: '/api1/bd-system/data-scope/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const addDataScope = (row) => { + return request({ + url: '/api1/bd-system/data-scope/submit', + method: 'post', + data: row + }) +} + +export const updateDataScope = (row) => { + return request({ + url: '/api1/bd-system/data-scope/submit', + method: 'post', + data: row + }) +} + +export const getMenuDataScope = (id) => { + return request({ + url: '/api1/bd-system/data-scope/detail', + method: 'get', + params: { + id, + } + }) +} + +export const getListApiScope = (current, size, params) => { + return request({ + url: '/api1/bd-system/api-scope/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const removeApiScope = (ids) => { + return request({ + url: '/api1/bd-system/api-scope/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const addApiScope = (row) => { + return request({ + url: '/api1/bd-system/api-scope/submit', + method: 'post', + data: row + }) +} + +export const updateApiScope = (row) => { + return request({ + url: '/api1/bd-system/api-scope/submit', + method: 'post', + data: row + }) +} + +export const getMenuApiScope = (id) => { + return request({ + url: '/api1/bd-system/api-scope/detail', + method: 'get', + params: { + id, + } + }) +} diff --git a/src/api/system/tenant.js b/src/api/system/tenant.js new file mode 100644 index 0000000..6b37bf6 --- /dev/null +++ b/src/api/system/tenant.js @@ -0,0 +1,221 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/tenant/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getPage = (current, size, params) => { + return request({ + url: '/api1/bd-system/tenant/pageExceptAdmin', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/tenant/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (id) => { + return request({ + url: '/api1/bd-system/tenant/remove', + method: 'post', + params: { + id, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/tenant/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/tenant/submit', + method: 'post', + data: row + }) +} + +export const setting = (ids, form) => { + return request({ + url: '/api1/bd-system/tenant/setting', + method: 'post', + params: { + ...form, + ids + } + }) +} + +export const datasource = (tenantId, datasourceId) => { + return request({ + url: '/api1/bd-system/tenant/datasource', + method: 'post', + params: { + tenantId, + datasourceId + } + }) +} + +export const info = (domain) => { + return request({ + url: '/api1/bd-system/tenant/info', + method: 'get', + params: { + domain + } + }) +} + +//选中的api列表 +export const page = (query) => { + return request({ + url: '/api1/bd-core/tenant/api/page', + method: 'get', + params: query + }) +} + +//查询出未绑定租户的产品api +export const noselect = (query) => { + return request({ + url: '/api1/bd-core/tenant/api/select', + method: 'get', + params: query + }) +} +//租户绑定产品api +export const bind = (data) => { + return request({ + url: '/api1/bd-core/tenant/api/bind', + method: 'post', + data + }) +} +//租户解绑产品api +export const unbind = (id) => { + return request({ + url: '/api1/bd-core/tenant/api/unbind?id='+id, + method: 'post', + id + }) +} +//禁用接口 +export const disable = (id) => { + return request({ + url: '/api1/bd-core/tenant/api/disable?id='+id, + method: 'post', + id + }) +} +//启用接口 +export const enable = (id) => { + return request({ + url: '/api1/bd-core/tenant/api/enable?id='+id, + method: 'post', + id + }) +} + +//一级路由 +export const firstR = (query) => { + return request({ + url: '/api1/bd-core/source/api/select', + method: 'get', + params:query + }) +} +//配置一级路由 +export const setRoute = (data) => { + return request({ + url: '/api1/bd-core/tenant/api/setRoute?id='+data.id+"&sourceApiIds="+data.sourceApiIds, + method: 'post', + data + }) +} + +//配置价格 +export const setPrice = (obj) => { + return request({ + url: '/api1/bd-core/tenant/api/setPrice', + method: 'post', + params:{ + ...obj + } + }) +} +//设置IP白名单 +export const setIpWhiteList = (obj) => { + return request({ + url: '/api1/bd-system/tenant/setIpWhiteList', + method: 'post', + params:{ + ...obj + } + }) +} +//充值 +export const charge = (obj) => { + return request({ + url: '/api1/bd-system/tenant/charge', + method: 'post', + params:{ + ...obj + } + }) +} +//设置授信额度 +export const setCreditAmount = (obj) => { + return request({ + url: '/api1/bd-system/tenant/setCreditAmount', + method: 'post', + params:{ + ...obj + } + }) +} +//设置api权限 +export const enables = (obj) => { + return request({ + url: '/api1/bd-system/tenant/openApi/enable', + method: 'post', + params:{ + ...obj + } + }) +} +//设置缓存 +export const cache = (obj) => { + return request({ + url: '/api1/bd-system/tenant/cache/enable', + method: 'post', + params:{ + ...obj + } + }) +} diff --git a/src/api/system/topmenu.js b/src/api/system/topmenu.js new file mode 100644 index 0000000..ad5348a --- /dev/null +++ b/src/api/system/topmenu.js @@ -0,0 +1,77 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/topmenu/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/topmenu/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/topmenu/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/topmenu/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/topmenu/submit', + method: 'post', + data: row + }) +} + +export const grantTree = () => { + return request({ + url: '/api1/bd-system/menu/grant-top-tree', + method: 'get', + }) +} + +export const getTopTree = (topMenuIds) => { + return request({ + url: '/api1/bd-system/menu/top-tree-keys', + method: 'get', + params: { + topMenuIds, + } + }) +} + +export const grant = (topMenuIds, menuIds) => { + return request({ + url: '/api1/bd-system/topmenu/grant', + method: 'post', + data: { + topMenuIds, + menuIds, + } + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..7de05fc --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,120 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params, deptId) => { + return request({ + url: '/api1/bd-system/user/page', + method: 'get', + params: { + ...params, + current, + size, + deptId, + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/user/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/user/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/user/update', + method: 'post', + data: row + }) +} + +export const updatePlatform = (userId, userType, userExt) => { + return request({ + url: '/api1/bd-system/user/update-platform', + method: 'post', + params: { + userId, + userType, + userExt, + } + }) +} + +export const getUser = (id) => { + return request({ + url: '/api1/bd-system/user/detail', + method: 'get', + params: { + id, + } + }) +} + +export const getUserPlatform = (id) => { + return request({ + url: '/api1/bd-system/user/platform-detail', + method: 'get', + params: { + id, + } + }) +} + +export const getUserInfo = () => { + return request({ + url: '/api1/bd-system/user/info', + method: 'get', + }) +} + +export const resetPassword = (userIds) => { + return request({ + url: '/api1/bd-system/user/reset-password', + method: 'post', + params: { + userIds, + } + }) +} + +export const updatePassword = (oldPassword, newPassword, newPassword1) => { + return request({ + url: '/api1/bd-system/user/update-password', + method: 'post', + params: { + oldPassword, + newPassword, + newPassword1, + } + }) +} + +export const updateInfo = (row) => { + return request({ + url: '/api1/bd-system/user/update-info', + method: 'post', + data: row + }) +} + +export const grant = (userIds, roleIds) => { + return request({ + url: '/api1/bd-system/user/grant', + method: 'post', + params: { + userIds, + roleIds, + } + }) +} diff --git a/src/api/tool/code.js b/src/api/tool/code.js new file mode 100644 index 0000000..4d8c630 --- /dev/null +++ b/src/api/tool/code.js @@ -0,0 +1,69 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/develop/code/list', + method: 'get', + params: { + ...params, + current, + size + } + }) +} + +export const build = (ids) => { + return request({ + url: '/api1/bd-system/develop/code/gen-code', + method: 'post', + params: { + ids, + system: 'saber' + } + }) +} +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/develop/code/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/develop/code/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/develop/code/submit', + method: 'post', + data: row + }) +} + +export const copy = (id) => { + return request({ + url: '/api1/bd-system/develop/code/copy', + method: 'post', + params: { + id, + } + }) +} + +export const getCode = (id) => { + return request({ + url: '/api1/bd-system/develop/code/detail', + method: 'get', + params: { + id, + } + }) +} diff --git a/src/api/tool/datasource.js b/src/api/tool/datasource.js new file mode 100644 index 0000000..7530e17 --- /dev/null +++ b/src/api/tool/datasource.js @@ -0,0 +1,50 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api1/bd-system/develop/datasource/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api1/bd-system/develop/datasource/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api1/bd-system/develop/datasource/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api1/bd-system/develop/datasource/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api1/bd-system/develop/datasource/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/user.js b/src/api/user.js new file mode 100644 index 0000000..de6edec --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,93 @@ +import request from '@/router/axios'; +import website from "@/config/website"; + +export const loginByUsername = (tenantId, username, password, type, key, code) => request({ + url: '/api1/bd-auth/oauth/token', + method: 'post', + headers: { + 'Tenant-Id': tenantId, + 'Captcha-Key': key, + 'Captcha-Code': code, + }, + params: { + tenantId, + username, + password, + grant_type: (website.captchaMode ? "captcha" : "password"), + scope: "all", + type + } +}); + +export const loginBySocial = (tenantId, source, code, state) => request({ + url: '/api1/bd-auth/oauth/token', + method: 'post', + headers: { + 'Tenant-Id': tenantId + }, + params: { + tenantId, + source, + code, + state, + grant_type: "social", + scope: "all", + } +}) + +export const refreshToken = (refresh_token, tenantId) => request({ + url: '/api1/bd-auth/oauth/token', + method: 'post', + headers: { + 'Tenant-Id': tenantId + }, + params: { + tenantId, + refresh_token, + grant_type: "refresh_token", + scope: "all", + } +}); + +export const registerGuest = (form, oauthId) => request({ + url: '/api1/bd-system/user/register-guest', + method: 'post', + params: { + tenantId: form.tenantId, + name: form.name, + account: form.account, + password: form.password, + oauthId + } +}); + +export const getButtons = () => request({ + url: '/api1/bd-system/menu/buttons', + method: 'get' +}); + +export const getCaptcha = () => request({ + url: '/api1/bd-auth/oauth/captcha', + method: 'get' +}); + +export const logout = () => request({ + url: '/api1/bd-auth/oauth/logout', + method: 'get' +}); + +export const getUserInfo = () => request({ + url: '/api1/bd-auth/oauth/user-info', + method: 'get' +}); + +export const sendLogs = (list) => request({ + url: '/api1/bd-auth/oauth/logout', + method: 'post', + data: list +}); + +export const clearCache = () => request({ + url: '/api1/bd-auth/oauth/clear-cache', + method: 'get' +}); diff --git a/src/api/work/process.js b/src/api/work/process.js new file mode 100644 index 0000000..38e2e17 --- /dev/null +++ b/src/api/work/process.js @@ -0,0 +1,34 @@ +import request from '@/router/axios'; + +// =====================参数=========================== + +export const historyFlowList = (processInstanceId) => { + return request({ + url: '/api1/hulk-flow/process/history-flow-list', + method: 'get', + params: { + processInstanceId + } + }) +} + + +// =====================请假流程=========================== + +export const leaveProcess = (data) => { + return request({ + url: '/api1/bd-system/desk/process/leave/start-process', + method: 'post', + data + }) +} + +export const leaveDetail = (businessId) => { + return request({ + url: '/api1/bd-system/desk/process/leave/detail', + method: 'get', + params: { + businessId + } + }) +} diff --git a/src/api/work/work.js b/src/api/work/work.js new file mode 100644 index 0000000..c207a9b --- /dev/null +++ b/src/api/work/work.js @@ -0,0 +1,81 @@ +import request from '@/router/axios'; + +export const startList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/work/start-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const claimList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/work/claim-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const todoList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/work/todo-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const sendList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/work/send-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + + +export const doneList = (current, size, params) => { + return request({ + url: '/api1/hulk-flow/work/done-list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const claimTask = (taskId) => { + return request({ + url: '/api1/hulk-flow/work/claim-task', + method: 'post', + params: { + taskId + } + }) +} + + +export const completeTask = (data) => { + return request({ + url: '/api1/hulk-flow/work/complete-task', + method: 'post', + data + }) +} diff --git a/src/assets/shouye.png b/src/assets/shouye.png new file mode 100644 index 0000000000000000000000000000000000000000..948070c62f14f1177aac28f907cb1e14e22e4244 GIT binary patch literal 6841 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 literal 0 HcmV?d00001 diff --git a/src/cache.js b/src/cache.js new file mode 100644 index 0000000..fdd723d --- /dev/null +++ b/src/cache.js @@ -0,0 +1,45 @@ +import Vue from 'vue' +import store from './store'; +Vue.mixin({ + beforeRouteEnter: function (to, from, next) { + next(() => { + let avueView = document.getElementById('avue-view'); + if (avueView && to.meta.savedPosition) { + avueView.scrollTop = to.meta.savedPosition + } + }) + }, + beforeRouteLeave: function (to, from, next) { + let avueView = document.getElementById('avue-view'); + if (from && from.meta.keepAlive) { + if (avueView) { + from.meta.savedPosition = avueView.scrollTop + } + const result = this.$route.meta.keepAlive === true && store.state.tags.tagList.some(ele => { + return ele.value === this.$route.fullPath; + }); + if (this.$vnode && !result) { + from.meta.savedPosition = 0 + if (this.$vnode.parent && this.$vnode.parent.componentInstance && this.$vnode.parent.componentInstance.cache) { + if (this.$vnode.componentOptions) { + let key = this.$vnode.key == null + ? this.$vnode.componentOptions.Ctor.cid + (this.$vnode.componentOptions.tag ? `::${this.$vnode.componentOptions.tag}` : '') + : this.$vnode.key; + let cache = this.$vnode.parent.componentInstance.cache; + let keys = this.$vnode.parent.componentInstance.keys; + if (cache[key]) { + if (keys.length) { + let index = keys.indexOf(key); + if (index > -1) { + keys.splice(index, 1); + } + } + delete cache[key]; + } + } + } + } + } + next(); + }, +}); diff --git a/src/components/Bar/index.vue b/src/components/Bar/index.vue new file mode 100644 index 0000000..518d55d --- /dev/null +++ b/src/components/Bar/index.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/components/Charts/BasicLine.vue b/src/components/Charts/BasicLine.vue new file mode 100644 index 0000000..6421c04 --- /dev/null +++ b/src/components/Charts/BasicLine.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/components/DatePicker/index.vue b/src/components/DatePicker/index.vue new file mode 100644 index 0000000..49573b3 --- /dev/null +++ b/src/components/DatePicker/index.vue @@ -0,0 +1,31 @@ + + + + + + + diff --git a/src/components/DescTable/index.vue b/src/components/DescTable/index.vue new file mode 100644 index 0000000..9bf0632 --- /dev/null +++ b/src/components/DescTable/index.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/components/DescriptionsTable/index.vue b/src/components/DescriptionsTable/index.vue new file mode 100644 index 0000000..19665ba --- /dev/null +++ b/src/components/DescriptionsTable/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/Dialog/index.vue b/src/components/Dialog/index.vue new file mode 100644 index 0000000..1c7c46c --- /dev/null +++ b/src/components/Dialog/index.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/components/Render/index.vue b/src/components/Render/index.vue new file mode 100644 index 0000000..c7482b1 --- /dev/null +++ b/src/components/Render/index.vue @@ -0,0 +1,11 @@ + diff --git a/src/components/basic-block/main.vue b/src/components/basic-block/main.vue new file mode 100644 index 0000000..b7c5f64 --- /dev/null +++ b/src/components/basic-block/main.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/components/basic-container/main.vue b/src/components/basic-container/main.vue new file mode 100644 index 0000000..cbe7b61 --- /dev/null +++ b/src/components/basic-container/main.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/components/error-page/403.vue b/src/components/error-page/403.vue new file mode 100644 index 0000000..75f9f6f --- /dev/null +++ b/src/components/error-page/403.vue @@ -0,0 +1,24 @@ + + + + diff --git a/src/components/error-page/404.vue b/src/components/error-page/404.vue new file mode 100644 index 0000000..7ba262e --- /dev/null +++ b/src/components/error-page/404.vue @@ -0,0 +1,24 @@ + + + + diff --git a/src/components/error-page/500.vue b/src/components/error-page/500.vue new file mode 100644 index 0000000..8a84a23 --- /dev/null +++ b/src/components/error-page/500.vue @@ -0,0 +1,24 @@ + + + + diff --git a/src/components/error-page/style.scss b/src/components/error-page/style.scss new file mode 100644 index 0000000..4796368 --- /dev/null +++ b/src/components/error-page/style.scss @@ -0,0 +1,32 @@ +.error-page { + background: #f0f2f5; + margin-top: -30px; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + .img { + margin-right: 80px; + height: 360px; + width: 100%; + max-width: 430px; + background-repeat: no-repeat; + background-position: 50% 50%; + background-size: contain; + } + .content { + h1 { + color: #434e59; + font-size: 72px; + font-weight: 600; + line-height: 72px; + margin-bottom: 24px; + } + .desc { + color: rgba(0, 0, 0, 0.45); + font-size: 20px; + line-height: 28px; + margin-bottom: 16px; + } + } +} \ No newline at end of file diff --git a/src/components/iframe/main.vue b/src/components/iframe/main.vue new file mode 100644 index 0000000..4d421bc --- /dev/null +++ b/src/components/iframe/main.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/src/components/third-register/main.vue b/src/components/third-register/main.vue new file mode 100644 index 0000000..080d54e --- /dev/null +++ b/src/components/third-register/main.vue @@ -0,0 +1,122 @@ + + + diff --git a/src/config/env.js b/src/config/env.js new file mode 100644 index 0000000..8c982c7 --- /dev/null +++ b/src/config/env.js @@ -0,0 +1,21 @@ +// 阿里矢量图标库配置 +let iconfontVersion = ['567566_pwc3oottzol']; +let iconfontUrl = `//at.alicdn.com/t/font_$key.css`; + +let baseUrl = ''; +let codeUrl = `${baseUrl}/code` +const env = process.env +if (env.NODE_ENV === 'development') { + baseUrl = ''; // 开发环境地址 +} else if (env.NODE_ENV === 'production') { + baseUrl = 'http://223.99.228.240:18081'; //生产环境地址 +} else if (env.NODE_ENV === 'test') { + baseUrl = ``; //测试环境地址 +} +export { + baseUrl, + iconfontUrl, + iconfontVersion, + codeUrl, + env +} diff --git a/src/config/iconList.js b/src/config/iconList.js new file mode 100644 index 0000000..e79647e --- /dev/null +++ b/src/config/iconList.js @@ -0,0 +1,118 @@ +export default [ + { + label: "通用图标", + list: [ + "iconfont iconicon_roundadd", + "iconfont iconicon_compile", + "iconfont iconicon_glass", + "iconfont iconicon_roundclose", + "iconfont iconicon_roundreduce", + "iconfont iconicon_delete", + "iconfont iconicon_shakehands", + "iconfont iconicon_task_done", + "iconfont iconicon_voipphone", + "iconfont iconicon_safety", + "iconfont iconicon_work", + "iconfont iconicon_study", + "iconfont iconicon_task", + "iconfont iconicon_subordinate", + "iconfont iconicon_star", + "iconfont iconicon_setting", + "iconfont iconicon_sms", + "iconfont iconicon_share", + "iconfont iconicon_secret", + "iconfont iconicon_scan_namecard", + "iconfont iconicon_principal", + "iconfont iconicon_group", + "iconfont iconicon_send", + "iconfont iconicon_scan", + "iconfont iconicon_search", + "iconfont iconicon_refresh", + "iconfont iconicon_savememo", + "iconfont iconicon_QRcode", + "iconfont iconicon_im_keyboard", + "iconfont iconicon_redpacket", + "iconfont iconicon_photo", + "iconfont iconicon_qq", + "iconfont iconicon_wechat", + "iconfont iconicon_phone", + "iconfont iconicon_namecard", + "iconfont iconicon_notice", + "iconfont iconicon_next_arrow", + "iconfont iconicon_left", + "iconfont iconicon_more", + "iconfont iconicon_details", + "iconfont iconicon_message", + "iconfont iconicon_mobilephone", + "iconfont iconicon_im_voice", + "iconfont iconicon_GPS", + "iconfont iconicon_ding", + "iconfont iconicon_exchange", + "iconfont iconicon_cspace", + "iconfont iconicon_doc", + "iconfont iconicon_dispose", + "iconfont iconicon_discovery", + "iconfont iconicon_community_line", + "iconfont iconicon_cloud_history", + "iconfont iconicon_coinpurse_line", + "iconfont iconicon_airplay", + "iconfont iconicon_at", + "iconfont iconicon_addressbook", + "iconfont iconicon_boss", + "iconfont iconicon_addperson", + "iconfont iconicon_affiliations_li", + "iconfont iconicon_addmessage", + "iconfont iconicon_addresslist", + "iconfont iconicon_add", + "iconfont icongithub", + "iconfont icongitee2", + ] + }, + { + label: "系统图标", + list: [ + "iconfont icon-zhongyingwen", + "iconfont icon-caidan", + "iconfont icon-rizhi1", + "iconfont icon-zhuti", + "iconfont icon-suoping", + "iconfont icon-bug", + "iconfont icon-qq1", + "iconfont icon-weixin1", + "iconfont icon-shouji", + "iconfont icon-mima", + "iconfont icon-yonghu", + "iconfont icon-yanzhengma", + "iconfont icon-canshu", + "iconfont icon-dongtai", + "iconfont icon-iconset0265", + "iconfont icon-shujuzhanshi2", + "iconfont icon-tuichuquanping", + "iconfont icon-rizhi", + "iconfont icon-cuowutishitubiao", + "iconfont icon-debug", + "iconfont icon-iconset0216", + "iconfont icon-quanxian", + "iconfont icon-quanxian", + "iconfont icon-shuaxin", + "iconfont icon-bofangqi-suoping", + "iconfont icon-quanping", + "iconfont icon-navicon", + "iconfont icon-biaodan", + "iconfont icon-liuliangyunpingtaitubiao08", + "iconfont icon-caidanguanli", + "iconfont icon-cuowu", + "iconfont icon-wxbgongju", + "iconfont icon-tuichu", + "iconfont icon-daohanglanmoshi02", + "iconfont icon-changyonglogo27", + "iconfont icon-biaoge", + "iconfont icon-baidu1", + "iconfont icon-tubiao", + "iconfont icon-souhu", + "iconfont icon-msnui-360", + "iconfont icon-iframe", + "iconfont icon-huanyingye", + ] + } +] diff --git a/src/config/website.js b/src/config/website.js new file mode 100644 index 0000000..0c3550e --- /dev/null +++ b/src/config/website.js @@ -0,0 +1,48 @@ +/** + * 全局配置文件 + */ +export default { + title: "saber", + logo: "S", + key: 'saber',//配置主键,目前用于存储 + indexTitle: '大数据服务平台', + clientId: 'falcon', // 客户端id + clientSecret: 'falcon_secret', // 客户端密钥 + tenantMode: true, // 是否开启租户模式 + tenantId: "000000", // 管理组租户编号 + captchaMode: true, // 是否开启验证码模式 + lockPage: '/lock', + tokenTime: 3000, + tokenHeader: 'Hulk-Auth', + //http的status默认放行列表 + statusWhiteList: [], + //配置首页不可关闭 + isFirstPage: false, + fistPage: { + label: "首页", + value: "/wel/index", + params: {}, + query: {}, + meta: { + i18n: 'dashboard' + }, + group: [], + close: false + }, + //配置菜单的属性 + menu: { + iconDefault: 'iconfont icon-caidan', + props: { + label: 'name', + path: 'path', + icon: 'source', + children: 'children' + } + }, + // 第三方系统授权地址 + authUrl: 'http://localhost/hulk-auth/oauth/render', + // 流程设计器地址 + flowDesignUrl: 'http://localhost:9999', + // 报表设计器地址(cloud端口为8108,boot端口为80) + reportUrl: 'http://localhost:8108/ureport', +} diff --git a/src/docker/Dockerfile b/src/docker/Dockerfile new file mode 100644 index 0000000..88425be --- /dev/null +++ b/src/docker/Dockerfile @@ -0,0 +1,6 @@ +FROM nginx +VOLUME /tmp +ENV LANG en_US.UTF-8 +ADD ./dist/ /usr/share/nginx/html/ +EXPOSE 80 +EXPOSE 443 \ No newline at end of file diff --git a/src/error.js b/src/error.js new file mode 100644 index 0000000..040b8bb --- /dev/null +++ b/src/error.js @@ -0,0 +1,25 @@ +import Vue from 'vue'; +import store from './store' + +Vue.config.errorHandler = function (err, vm, info) { + + Vue.nextTick(() => { + store.commit('ADD_LOGS', { + type: 'error', + message: err.message, + stack: err.stack, + info + }); + if (process.env.NODE_ENV === 'development') { + window.console.group('>>>>>> 错误信息 >>>>>>'); + window.console.error(info); + window.console.groupEnd(); + window.console.group('>>>>>> Vue 实例 >>>>>>'); + window.console.log(vm); + window.console.groupEnd(); + window.console.group('>>>>>> Error >>>>>>'); + window.console.log(err); + window.console.groupEnd(); + } + }) +} diff --git a/src/lang/en.js b/src/lang/en.js new file mode 100644 index 0000000..00a65d0 --- /dev/null +++ b/src/lang/en.js @@ -0,0 +1,109 @@ +export default { + title: 'Avue is a framework', + tip: 'tip', + logoutTip: 'Exit the system, do you want to continue?', + submitText: 'submit', + cancelText: 'cancel', + search: 'Please input search content', + menuTip: 'none menu list', + wel: { + info: 'Good morning, Smallwei, Avuex is a framework', + dept: 'a certain technology department', + team: 'Team ranking', + project: 'Project access', + count: 'Item number', + data: { + subtitle: 'real time', + column1: 'Classified statistics', + column2: 'Annex statistics', + column3: 'Article statistics', + key1: 'C', + key2: 'A', + key3: 'A', + text1: 'Total Record Number of Classifications', + text2: 'Number of attachments Uploaded', + text3: 'Comment frequency' + }, + data2: { + column1: 'Registration today', + column2: 'Login today', + column3: 'Subscription today', + column4: 'Todays review' + }, + data3: { + column1: 'Conversion rate(Day 28%)', + column2: 'Attendance rate(Day 11%)', + column3: 'Attendance rate(Day 33%)' + }, + data4: { + column1: 'Error log', + column2: 'Data display', + column3: 'Privilege management', + column4: 'user management' + }, + table: { + rw: 'Work Tasks', + nr: 'Work content', + sj: 'Working hours', + } + }, + route: { + info: 'info', + website: 'website', + avuexwebsite: 'avuex', + dashboard: 'dashboard', + more: 'more', + tags: 'tags', + store: 'store', + permission: 'permission', + api: 'api', + logs: 'logs', + table: 'table', + form: 'form', + top: 'backtop', + data: 'data', + error: 'error', + test: 'test' + }, + login: { + title: 'Login ', + info: 'Enterprise Development Platform', + tenantId: 'Please input tenantId', + username: 'Please input username', + password: 'Please input a password', + wechat: 'Wechat', + qq: 'QQ', + github: 'github', + gitee: 'gitee', + phone: 'Please input a phone', + code: 'Please input a code', + submit: 'Login', + userLogin: 'userLogin', + phoneLogin: 'phoneLogin', + thirdLogin: 'thirdLogin', + msgText: 'send code', + msgSuccess: 'reissued code', + }, + navbar: { + info: 'info', + logOut: 'logout', + userinfo: 'userinfo', + dashboard: 'dashboard', + lock: 'lock', + bug: 'none bug', + bugs: 'bug', + screenfullF: 'exit screenfull', + screenfull: 'screenfull', + language: 'language', + notice: 'notice', + theme: 'theme', + color: 'color' + }, + tagsView: { + search: 'Search', + menu: 'menu', + clearCache: 'Clear Cache', + closeOthers: 'Close Others', + closeAll: 'Close All' + } +} diff --git a/src/lang/index.js b/src/lang/index.js new file mode 100644 index 0000000..a453e2a --- /dev/null +++ b/src/lang/index.js @@ -0,0 +1,28 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' +import elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang +import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'// element-ui lang +import enLocale from './en' +import zhLocale from './zh' +import { getStore } from '@/util/store' +Vue.use(VueI18n) +const Avue = window.AVUE; +const messages = { + en: { + ...enLocale, + ...elementEnLocale, + ...Avue.locale.en, + }, + zh: { + ...zhLocale, + ...elementZhLocale, + ...Avue.locale.zh, + } +} + +const i18n = new VueI18n({ + locale: getStore({ name: 'language' }) || 'zh', + messages +}) + +export default i18n \ No newline at end of file diff --git a/src/lang/zh.js b/src/lang/zh.js new file mode 100644 index 0000000..e6d5e82 --- /dev/null +++ b/src/lang/zh.js @@ -0,0 +1,108 @@ +export default { + tip: '提示', + title: 'Saber企业级开发平台', + logoutTip: '退出系统, 是否继续?', + submitText: '确定', + cancelText: '取消', + search: '请输入搜索内容', + menuTip: '没有发现菜单', + wel: { + info: '早安,Smallwei,Avuex一款超乎你想象的框架!', + dept: '我是avue团队下的一个部门-哈皮部门-哈皮职位', + team: '团队内排名', + project: '项目访问', + count: '项目数', + data: { + subtitle: '实时', + column1: '分类统计', + column2: '附件统计', + column3: '文章统计', + key1: '分', + key2: '附', + key3: '评', + text1: '当前分类总记录数', + text2: '当前上传的附件数', + text3: '评论次数' + }, + data2: { + column1: '今日注册', + column2: '今日登录', + column3: '今日订阅', + column4: '今日评论' + }, + data3: { + column1: '转化率(日同比 28%)', + column2: '签到率(日同比 11%)', + column3: '签到率(日同比 11%)' + }, + data4: { + column1: '错误日志', + column2: '数据展示', + column3: '权限管理', + column4: '用户管理' + }, + table: { + rw: '工作任务', + nr: '工作内容', + sj: '工作时间' + } + }, + route: { + info: '个人信息', + website: 'bladex官网', + avuexwebsite: 'avuex官网', + dashboard: '首页', + more: '更多', + tags: '标签', + store: '本地存储', + api: '全局函数', + logs: '日志监控', + table: '表格', + form: '表单', + top: '返回顶部', + data: '数据展示', + permission: '权限', + error: '异常页面', + test: '测试页面' + }, + login: { + title: '登录 ', + info: '大数据服务平台', + tenantId: '请输入租户ID', + username: '请输入账号', + password: '请输入密码', + wechat: '微信', + qq: 'QQ', + github: 'github', + gitee: '码云', + phone: '请输入手机号', + code: '请输入验证码', + submit: '登录', + userLogin: '账号密码登录', + phoneLogin: '手机号登录', + thirdLogin: '第三方系统登录', + msgText: '发送验证码', + msgSuccess: '秒后重发', + }, + navbar: { + logOut: '退出登录', + userinfo: '个人信息', + dashboard: '首页', + lock: '锁屏', + bug: '没有错误日志', + bugs: '条错误日志', + screenfullF: '退出全屏', + screenfull: '全屏', + language: '中英文', + notice: '消息通知', + theme: '主题', + color: '换色' + }, + tagsView: { + search: '搜索', + menu: '更多', + clearCache: '清除缓存', + closeOthers: '关闭其它', + closeAll: '关闭所有' + } +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..2a00c9b --- /dev/null +++ b/src/main.js @@ -0,0 +1,67 @@ +import Vue from 'vue'; +import axios from './router/axios'; +import VueAxios from 'vue-axios'; +import App from './App'; +import router from './router/router'; +import './permission'; // 权限 +import './error'; // 日志 +import './cache';//页面缓存 +import store from './store'; +import {loadStyle} from './util/util' +import * as urls from '@/config/env'; +import Element from 'element-ui'; +import { + iconfontUrl, + iconfontVersion +} from '@/config/env'; +import i18n from './lang'; // Internationalization +import './styles/common.scss'; +import basicBlock from './components/basic-block/main'; +import basicContainer from './components/basic-container/main'; +import thirdRegister from './components/third-register/main'; +import avueUeditor from 'avue-plugin-ueditor'; +import website from '@/config/website'; +import crudCommon from '@/mixins/crud'; +// 注册全局crud驱动 +window.$crudCommon = crudCommon; +// 加载Vue拓展 +Vue.use(router); +Vue.use(VueAxios, axios); +Vue.use(Element, { + i18n: (key, value) => i18n.t(key, value) +}); +Vue.use(window.AVUE, { + size: 'small', + tableSize: 'small', + calcHeight: 65, + i18n: (key, value) => i18n.t(key, value) +}); +// 注册全局容器 +Vue.component('basicContainer', basicContainer); +Vue.component('basicBlock', basicBlock); +Vue.component('thirdRegister', thirdRegister); +Vue.component('avueUeditor', avueUeditor); +// 加载相关url地址 +Object.keys(urls).forEach(key => { + Vue.prototype[key] = urls[key]; +}); +// 加载website +Vue.prototype.website = website; +// 动态加载阿里云字体库 +iconfontVersion.forEach(ele => { + loadStyle(iconfontUrl.replace('$key', ele)); +}); + +Vue.config.productionTip = false; + +// 开发环境打开调试工具 +if (process.env.NODE_ENV === 'development') { + Vue.config.devtools = true; +} + +new Vue({ + router, + store, + i18n, + render: h => h(App) +}).$mount('#app'); diff --git a/src/mixins/color.js b/src/mixins/color.js new file mode 100644 index 0000000..1f6563c --- /dev/null +++ b/src/mixins/color.js @@ -0,0 +1,168 @@ +import { mapGetters } from "vuex"; +const version = require("element-ui/package.json").version; // element-ui version from node_modules +const ORIGINAL_THEME = "#409EFF"; // default color +export default function () { + return { + data() { + return { + themeVal: ORIGINAL_THEME + } + }, + created() { + this.themeVal = this.colorName; + }, + watch: { + themeVal(val, oldVal) { + this.$store.commit("SET_COLOR_NAME", val); + this.updateTheme(val, oldVal); + } + }, + computed: { + ...mapGetters(["colorName"]) + }, + methods: { + updateTheme(val, oldVal) { + if (typeof val !== "string") return; + const head = document.getElementsByTagName("head")[0]; + const themeCluster = this.getThemeCluster(val.replace("#", "")); + const originalCluster = this.getThemeCluster(oldVal.replace("#", "")); + const getHandler = (variable, id) => { + return () => { + const originalCluster = this.getThemeCluster( + ORIGINAL_THEME.replace("#", "") + ); + const newStyle = this.updateStyle( + this[variable], + originalCluster, + themeCluster + ); + + let styleTag = document.getElementById(id); + if (!styleTag) { + styleTag = document.createElement("style"); + styleTag.setAttribute("id", id); + head.appendChild(styleTag); + } + styleTag.innerText = newStyle; + }; + }; + + const chalkHandler = getHandler("chalk", "chalk-style"); + + if (!this.chalk) { + const url = `/cdn/element-ui/${version}/theme-chalk/index.css`; + this.getCSSString(url, chalkHandler, "chalk"); + } else { + chalkHandler(); + } + + const link = [].slice.call( + document.getElementsByTagName("head")[0].getElementsByTagName("link") + ); + for (let i = 0; i < link.length; i++) { + const style = link[i]; + if (style.href.includes('css')) { + this.getCSSString(style.href, innerText => { + const originalCluster = this.getThemeCluster( + ORIGINAL_THEME.replace("#", "") + ); + const newStyle = this.updateStyle( + innerText, + originalCluster, + themeCluster + ); + let styleTag = document.getElementById(i); + if (!styleTag) { + styleTag = document.createElement("style"); + styleTag.id = i; + styleTag.innerText = newStyle; + head.appendChild(styleTag); + } + }); + } + } + + const styles = [].slice.call(document.querySelectorAll("style")) + + styles.forEach(style => { + const { + innerText + } = style; + if (typeof innerText !== "string") return; + style.innerText = this.updateStyle( + innerText, + originalCluster, + themeCluster + ); + }); + }, + updateStyle(style, oldCluster, newCluster) { + let newStyle = style; + oldCluster.forEach((color, index) => { + newStyle = newStyle.replace(new RegExp(color, "ig"), newCluster[index]); + }); + return newStyle; + }, + + getCSSString(url, callback, variable) { + const xhr = new XMLHttpRequest(); + xhr.onreadystatechange = () => { + if (xhr.readyState === 4 && xhr.status === 200) { + if (variable) { + this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, ""); + } + callback(xhr.responseText); + } + }; + xhr.open("GET", url); + xhr.send(); + }, + + getThemeCluster(theme) { + const tintColor = (color, tint) => { + let red = parseInt(color.slice(0, 2), 16); + let green = parseInt(color.slice(2, 4), 16); + let blue = parseInt(color.slice(4, 6), 16); + + if (tint === 0) { + // when primary color is in its rgb space + return [red, green, blue].join(","); + } else { + red += Math.round(tint * (255 - red)); + green += Math.round(tint * (255 - green)); + blue += Math.round(tint * (255 - blue)); + + red = red.toString(16); + green = green.toString(16); + blue = blue.toString(16); + + return `#${red}${green}${blue}`; + } + }; + + const shadeColor = (color, shade) => { + let red = parseInt(color.slice(0, 2), 16); + let green = parseInt(color.slice(2, 4), 16); + let blue = parseInt(color.slice(4, 6), 16); + + red = Math.round((1 - shade) * red); + green = Math.round((1 - shade) * green); + blue = Math.round((1 - shade) * blue); + + red = red.toString(16); + green = green.toString(16); + blue = blue.toString(16); + + return `#${red}${green}${blue}`; + }; + + const clusters = [theme]; + for (let i = 0; i <= 9; i++) { + clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))); + } + clusters.push(shadeColor(theme, 0.1)); + return clusters; + } + } + } +} diff --git a/src/mixins/crud.js b/src/mixins/crud.js new file mode 100644 index 0000000..0f32858 --- /dev/null +++ b/src/mixins/crud.js @@ -0,0 +1,209 @@ +import {mapGetters} from "vuex"; + +export default (app, option = {}) => { + const mixins = { + data() { + return { + selectionList: [], + data: [], + form: {}, + params: {}, + loading: false, + api: require(`@/api/${option.name}`), + option: require(`@/option/${option.name}`).default, + page: { + pageSizes: [10, 30, 50, 100, 200], + pageSize: 10 + }, + } + }, + computed: { + ...mapGetters(['userInfo', 'permission', 'roles']), + ids() { + const ids = []; + this.selectionList.forEach(ele => { + ids.push(ele[this.rowKey]); + }); + return ids.join(","); + }, + bindVal() { + return { + ref: 'crud', + option: this.option, + data: this.data, + tableLoading: this.loading + } + }, + onEvent() { + return { + 'on-load': this.getList, + 'row-save': this.rowSave, + 'row-update': this.rowUpdate, + 'row-del': this.rowDel, + 'selection-change': this.selectionChange, + 'refresh-change': this.refreshChange, + 'date-change': this.dateChange, + 'search-change': this.searchChange, + 'search-reset': this.searchChange + } + }, + rowKey() { + return this.option.rowKey || option.rowKey || 'id' + } + }, + methods: { + getList() { + const callback = () => { + this.loading = true; + this.api[option.list || 'getList'](this.page.currentPage, this.page.pageSize, this.params).then(res => { + let data; + if (option.res) { + data = option.res(res.data); + } else { + data = res.data.data; + } + this.page.total = data[option.total || 'total'] || 0; + this.data = data[option.records || 'records']; + if (this.listAfter) { + this.listAfter(data); + } + this.loading = false; + }) + } + if (this.listBefore) { + this.listBefore(); + } + callback(); + }, + rowSave(row, done, loading) { + const callback = () => { + delete this.form.params; + this.api[option.add || 'add'](this.form).then((data) => { + this.getList(); + if (this.addAfter) { + this.addAfter(data); + } else { + this.$message.success('新增成功'); + } + done(); + }).catch(() => { + loading(); + }) + } + if (this.addBefore) { + this.addBefore(); + } + callback(); + }, + rowUpdate(row, index, done, loading) { + const callback = () => { + delete this.form.params; + this.api[option.update || 'update'](this.form).then((data) => { + this.getList(); + if (this.updateAfter) { + this.updateAfter(data); + } else { + this.$message.success('更新成功'); + } + done(); + }).catch(() => { + loading(); + }) + } + if (this.updateBefore) { + this.updateBefore(); + } + callback(); + }, + rowDel(row, index) { + const callback = () => { + this.api[option.del || 'remove'](row[this.rowKey], row).then((data) => { + this.getList(); + if (this.delAfter) { + this.delAfter(data, row, index) + } else { + this.$message.success('删除成功'); + } + }) + } + if (this.delBefore) { + this.delBefore(); + callback(); + } else { + this.$confirm('确定将选择数据删除?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + callback(); + }) + } + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + this.api[option.del || 'remove'](this.ids).then((data) => { + this.getList(); + if (this.delMultiAfter) { + this.delMultiAfter(data, this.ids); + } else { + this.$message.success('删除成功'); + } + }); + }); + }, + searchChange(params, done) { + if (done) done(); + if (this.validatenull(params)) { + Object.keys(this.params).forEach(ele => { + if (!['createTime_dategt', 'createTime_datelt'].includes(ele)) { + delete this.params[ele]; + } + }) + } else { + Object.keys(params).forEach(ele => { + if (this.validatenull(params[ele])) { + delete this.params[ele]; + delete params[ele]; + } + }) + } + this.params = Object.assign(this.params, params); + this.page.currentPage = 1; + this.getList(); + }, + dateChange(date) { + if (date) { + this.params.createTime_dategt = date[0]; + this.params.createTime_datelt = date[1]; + } else { + delete this.params.createTime_dategt; + delete this.params.createTime_datelt; + } + this.page.currentPage = 1; + this.getList(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + refreshChange() { + this.getList(); + } + } + } + app.mixins = app.mixins || []; + app.mixins.push(mixins); + return app; +} diff --git a/src/mock/index.js b/src/mock/index.js new file mode 100644 index 0000000..c677f64 --- /dev/null +++ b/src/mock/index.js @@ -0,0 +1,20 @@ +import user from './user'; +import menu from './menu'; +import oauth from './oauth'; +import param from './param'; + +/** + * 模拟数据mock + * + * mock是否开启模拟数据拦截 + */ + +const options = {mock: false}; + +user(options); + +menu(options); + +oauth(options); + +param(options); diff --git a/src/mock/menu.js b/src/mock/menu.js new file mode 100644 index 0000000..ce5eaea --- /dev/null +++ b/src/mock/menu.js @@ -0,0 +1,47 @@ +import Mock from 'mockjs' + +const top = [{ + label: "首页", + path: "/wel/index", + icon: 'el-icon-menu', + meta: { + i18n: 'dashboard', + }, + parentId: 0 +}, + { + label: "bladex官网", + icon: 'el-icon-document', + meta: { + i18n: 'website', + }, + path: "https://bladex.vip/#/", + parentId: 1 + }, + { + label: "avuex官网", + icon: 'el-icon-document', + meta: { + i18n: 'avuexwebsite', + }, + path: "https://avuex.avue.top", + parentId: 2 + }, + { + label: "测试", + icon: 'el-icon-document', + path: "/test/index", + meta: { + i18n: 'test', + }, + parentId: 3 + }] +export default ({mock}) => { + if (!mock) return; + Mock.mock('/user/getTopMenu', 'get', () => { + return { + data: top + } + }) + +} diff --git a/src/mock/oauth.js b/src/mock/oauth.js new file mode 100644 index 0000000..0e9488a --- /dev/null +++ b/src/mock/oauth.js @@ -0,0 +1,22 @@ +import Mock from 'mockjs' + +export default ({mock}) => { + if (!mock) return; + Mock.mock('/api1/bd-auth/oauth/token/refresh', 'post', () => { + return { + data: { + "account": "admin", + "user_name": "admin", + "nick_name": "管理员", + "role_name": "administrator", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "access_token": "eyJ0eXAiOiJKc29uV2ViVG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSIsInVzZXJfbmFtZSI6ImFkbWluIiwibmlja19uYW1lIjoi566h55CG5ZGYIiwiYWNjb3VudCI6ImFkbWluIiwidGVuYW50X2NvZGUiOiIwMDAwMDAiLCJjbGllbnRfaWQiOiJzd29yZCIsImV4cCI6MTU1Nzk0Njc5OSwibmJmIjoxNTU3ODgxODg0fQ.FT8y1v1tg8hOAAoQpKlarKMgmsSXol-561edqtvOwa4", + "refresh_token": "eyJ0eXAiOiJKc29uV2ViVG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSIsInVzZXJfbmFtZSI6ImFkbWluIiwibmlja19uYW1lIjoi566h55CG5ZGYIiwiYWNjb3VudCI6ImFkbWluIiwidGVuYW50X2NvZGUiOiIwMDAwMDAiLCJjbGllbnRfaWQiOiJzd29yZCIsImV4cCI6MTU1Nzk0Njc5OSwibmJmIjoxNTU3ODgxODg0fQ.FT8y1v1tg8hOAAoQpKlarKMgmsSXol-561edqtvOwa4", + "token_type": "bearer", + "expires_in": 64915, + "license": "powered by bladex" + } + } + }) + +} diff --git a/src/mock/param.js b/src/mock/param.js new file mode 100644 index 0000000..e0053e7 --- /dev/null +++ b/src/mock/param.js @@ -0,0 +1,59 @@ +import Mock from 'mockjs' + +function getFakeList() { + const json = {code: 200, success: true, msg: '操作成功'}; + const list = []; + list.push( + { + id: '1', + paramName: '是否开启注册功能--mock测试', + paramKey: 'account.registerUser', + paramValue: 'true', + remark: '描述', + }, + { + id: '2', + paramName: '账号初始密码--mock测试', + paramKey: 'account.initPassword', + paramValue: '123456', + remark: '描述', + } + ); + json.data = { + total: 10, + size: 10, + current: 1, + searchCount: true, + pages: 1, + records: list, + }; + return json; +} + +function getFakeDetail() { + const json = {code: 200, success: true, msg: '操作成功'}; + json.data = { + id: '1', + paramName: '是否开启注册功能', + paramKey: 'account.registerUser', + paramValue: 'true', + remark: '描述', + }; + return json; +} + +function fakeSuccess() { + return {code: 200, success: true, msg: '操作成功'}; +} + +export default ({mock}) => { + if (!mock) return; + Mock.mock(/\/api\/bd-system\/param\/list/, 'get', getFakeList); + + Mock.mock(/\/api\/bd-system\/param\/detail/, 'get', getFakeDetail); + + Mock.mock(/\/api\/bd-system\/param\/submit/, 'post', fakeSuccess); + + Mock.mock(/\/api\/bd-system\/param\/remove/, 'post', fakeSuccess); + +} diff --git a/src/mock/user.js b/src/mock/user.js new file mode 100644 index 0000000..d8b6a2b --- /dev/null +++ b/src/mock/user.js @@ -0,0 +1,44 @@ +import Mock from 'mockjs' +export default ({ mock }) => { + if (!mock) return; + // 用户登录 + Mock.mock('/user/login', 'post', { + data: new Date().getTime() + '' + }); + //用户退出 + Mock.mock('/user/logout', 'get', { + data: true, + }); + //刷新token + Mock.mock('/user/refesh', 'post', { + data: new Date().getTime() + '' + }); + + //获取表格数据 + Mock.mock('/user/getTable', 'get', () => { + let list = [] + for (let i = 0; i < 5; i++) { + list.push(Mock.mock({ + id: '@increment', + name: Mock.mock('@cname'), + username: Mock.mock('@last'), + type: [0, 2], + checkbox: [0, 1], + 'number|0-100': 0, + datetime: 1532932422071, + 'sex|0-1': 0, + moreselect: [0, 1], + "grade": 0, + address: Mock.mock('@cparagraph(1, 3)'), + check: [1, 3, 4] + })) + } + return { + data: { + total: 11, + pageSize: 10, + tableData: list + } + } + }) +} diff --git a/src/option/system/dict.js b/src/option/system/dict.js new file mode 100644 index 0000000..f90d3c3 --- /dev/null +++ b/src/option/system/dict.js @@ -0,0 +1,210 @@ +export const optionParent = { + height: 'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 10, + border: true, + index: true, + selection: true, + viewBtn: true, + menuWidth: 250, + dialogWidth: 880, + dialogClickModal: false, + column: [ + { + label: "字典编号", + prop: "code", + search: true, + slot: true, + span: 24, + rules: [ + { + required: true, + message: "请输入字典编号", + trigger: "blur" + } + ] + }, + { + label: "字典名称", + prop: "dictValue", + search: true, + align: "center", + rules: [ + { + required: true, + message: "请输入字典名称", + trigger: "blur" + } + ] + }, + { + label: "字典排序", + prop: "sort", + type: "number", + align: "right", + width: 100, + rules: [ + { + required: true, + message: "请输入字典排序", + trigger: "blur" + } + ] + }, + { + label: "封存", + prop: "isSealed", + type: "switch", + align: "center", + width: 100, + dicData: [ + { + label: "否", + value: 0 + }, + { + label: "是", + value: 1 + } + ], + value: 0, + slot: true, + rules: [ + { + required: true, + message: "请选择封存", + trigger: "blur" + } + ] + }, + { + label: "字典备注", + prop: "remark", + hide: true + } + ] +}; + +export const optionChild = { + height: 'auto', + calcHeight: 95, + tip: false, + searchShow: true, + searchMenuSpan: 10, + tree: true, + border: true, + index: true, + selection: true, + viewBtn: true, + menuWidth: 300, + dialogWidth: 880, + dialogClickModal: false, + column: [ + { + label: "字典编号", + prop: "code", + addDisabled: true, + editDisabled: true, + search: true, + span: 24, + rules: [ + { + required: true, + message: "请输入字典编号", + trigger: "blur" + } + ] + }, + { + label: "字典名称", + prop: "dictValue", + search: true, + align: "center", + rules: [ + { + required: true, + message: "请输入字典名称", + trigger: "blur" + } + ] + }, + { + label: "上级字典", + prop: "parentId", + type: "tree", + dicData: [], + hide: true, + props: { + label: "title" + }, + addDisabled: true, + editDisabled: true, + rules: [ + { + required: false, + message: "请选择上级字典", + trigger: "click" + } + ] + }, + { + label: "字典键值", + prop: "dictKey", + width: 80, + rules: [ + { + required: true, + message: "请输入字典键值", + trigger: "blur" + } + ] + }, + { + label: "字典排序", + prop: "sort", + type: "number", + align: "right", + hide: true, + rules: [ + { + required: true, + message: "请输入字典排序", + trigger: "blur" + } + ] + }, + { + label: "封存", + prop: "isSealed", + type: "switch", + align: "center", + width: 80, + dicData: [ + { + label: "否", + value: 0 + }, + { + label: "是", + value: 1 + } + ], + value: 0, + slot: true, + rules: [ + { + required: true, + message: "请选择封存", + trigger: "blur" + } + ] + }, + { + label: "字典备注", + prop: "remark", + hide: true + } + ] +}; diff --git a/src/option/system/dictbiz.js b/src/option/system/dictbiz.js new file mode 100644 index 0000000..277f520 --- /dev/null +++ b/src/option/system/dictbiz.js @@ -0,0 +1,211 @@ +export const optionParent = { + height: 'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 10, + border: true, + index: true, + selection: true, + viewBtn: true, + menuWidth: 250, + dialogWidth: 880, + dialogClickModal: false, + column: [ + { + label: "字典编号", + prop: "code", + search: true, + slot: true, + span: 24, + rules: [ + { + required: true, + message: "请输入字典编号", + trigger: "blur" + } + ] + }, + { + label: "字典名称", + prop: "dictValue", + search: true, + align: "center", + rules: [ + { + required: true, + message: "请输入字典名称", + trigger: "blur" + } + ] + }, + { + label: "字典排序", + prop: "sort", + type: "number", + align: "right", + width: 100, + hide: true, + rules: [ + { + required: true, + message: "请输入字典排序", + trigger: "blur" + } + ] + }, + { + label: "封存", + prop: "isSealed", + type: "switch", + align: "center", + width: 100, + dicData: [ + { + label: "否", + value: 0 + }, + { + label: "是", + value: 1 + } + ], + value: 0, + slot: true, + rules: [ + { + required: true, + message: "请选择封存", + trigger: "blur" + } + ] + }, + { + label: "字典备注", + prop: "remark", + hide: true + } + ] +}; + +export const optionChild = { + height: 'auto', + calcHeight: 95, + tip: false, + searchShow: true, + searchMenuSpan: 10, + tree: true, + border: true, + index: true, + selection: true, + viewBtn: true, + menuWidth: 300, + dialogWidth: 880, + dialogClickModal: false, + column: [ + { + label: "字典编号", + prop: "code", + addDisabled: true, + editDisabled: true, + search: true, + span: 24, + rules: [ + { + required: true, + message: "请输入字典编号", + trigger: "blur" + } + ] + }, + { + label: "字典名称", + prop: "dictValue", + search: true, + align: "center", + rules: [ + { + required: true, + message: "请输入字典名称", + trigger: "blur" + } + ] + }, + { + label: "上级字典", + prop: "parentId", + type: "tree", + dicData: [], + hide: true, + props: { + label: "title" + }, + addDisabled: true, + editDisabled: true, + rules: [ + { + required: false, + message: "请选择上级字典", + trigger: "click" + } + ] + }, + { + label: "字典键值", + prop: "dictKey", + width: 80, + rules: [ + { + required: true, + message: "请输入字典键值", + trigger: "blur" + } + ] + }, + { + label: "字典排序", + prop: "sort", + type: "number", + align: "right", + hide: true, + rules: [ + { + required: true, + message: "请输入字典排序", + trigger: "blur" + } + ] + }, + { + label: "封存", + prop: "isSealed", + type: "switch", + align: "center", + width: 80, + dicData: [ + { + label: "否", + value: 0 + }, + { + label: "是", + value: 1 + } + ], + value: 0, + slot: true, + rules: [ + { + required: true, + message: "请选择封存", + trigger: "blur" + } + ] + }, + { + label: "字典备注", + prop: "remark", + hide: true + } + ] +}; diff --git a/src/option/system/param.js b/src/option/system/param.js new file mode 100644 index 0000000..e0b8447 --- /dev/null +++ b/src/option/system/param.js @@ -0,0 +1,48 @@ +export default { + height: 'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + selection: true, + viewBtn: true, + dialogClickModal: false, + column: [ + { + label: "参数名称", + prop: "paramName", + search: true, + span: 24, + rules: [{ + required: true, + message: "请输入参数名称", + trigger: "blur" + }] + }, + { + label: "参数键名", + prop: "paramKey", + search: true, + span: 24, + rules: [{ + required: true, + message: "请输入参数键名", + trigger: "blur" + }] + }, + { + label: "参数键值", + prop: "paramValue", + type: "textarea", + span: 24, + minRows: 6, + rules: [{ + required: true, + message: "请输入参数键值", + trigger: "blur" + }] + } + ] +}; diff --git a/src/option/user/info.js b/src/option/user/info.js new file mode 100644 index 0000000..47dc35f --- /dev/null +++ b/src/option/user/info.js @@ -0,0 +1,71 @@ +export default { + tabs: true, + tabsActive: 1, + group: [ + { + label: '个人信息', + prop: 'info', + column: [{ + label: '头像', + type: 'upload', + listType: 'picture-img', + propsHttp: { + res: 'data', + url: 'link', + }, + canvasOption: { + text: ' ', + ratio: 0.1 + }, + action: '/api1/bd-system/oss/endpoint/put-file', + tip: '只能上传jpg/png用户头像,且不超过500kb', + span: 12, + row: true, + prop: 'avatar' + }, { + label: '姓名', + span: 12, + row: true, + prop: 'name' + }, { + label: '用户名', + span: 12, + row: true, + prop: 'realName' + }, { + label: '手机号', + span: 12, + row: true, + prop: 'phone' + }, { + label: '邮箱', + prop: 'email', + span: 12, + row: true, + }] + }, + { + label: '修改密码', + prop: 'password', + column: [{ + label: '原密码', + span: 12, + row: true, + type: 'password', + prop: 'oldPassword' + }, { + label: '新密码', + span: 12, + row: true, + type: 'password', + prop: 'newPassword' + }, { + label: '确认密码', + span: 12, + row: true, + type: 'password', + prop: 'newPassword1' + }] + } + ], +} diff --git a/src/page/index/index.vue b/src/page/index/index.vue new file mode 100644 index 0000000..061c513 --- /dev/null +++ b/src/page/index/index.vue @@ -0,0 +1,143 @@ + + + diff --git a/src/page/index/layout.vue b/src/page/index/layout.vue new file mode 100644 index 0000000..96976dd --- /dev/null +++ b/src/page/index/layout.vue @@ -0,0 +1,8 @@ + diff --git a/src/page/index/logo.vue b/src/page/index/logo.vue new file mode 100644 index 0000000..de07ead --- /dev/null +++ b/src/page/index/logo.vue @@ -0,0 +1,73 @@ + + + + + \ No newline at end of file diff --git a/src/page/index/search.vue b/src/page/index/search.vue new file mode 100644 index 0000000..32fd9b9 --- /dev/null +++ b/src/page/index/search.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/src/page/index/sidebar/config.js b/src/page/index/sidebar/config.js new file mode 100644 index 0000000..156c570 --- /dev/null +++ b/src/page/index/sidebar/config.js @@ -0,0 +1,9 @@ +export default { + propsDefault: { + label: 'label', + path: 'path', + icon: 'icon', + children: 'children', + isOpen: 'isOpen' + } +} diff --git a/src/page/index/sidebar/index.vue b/src/page/index/sidebar/index.vue new file mode 100644 index 0000000..9b883ef --- /dev/null +++ b/src/page/index/sidebar/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/page/index/sidebar/sidebarItem.vue b/src/page/index/sidebar/sidebarItem.vue new file mode 100644 index 0000000..2693e31 --- /dev/null +++ b/src/page/index/sidebar/sidebarItem.vue @@ -0,0 +1,146 @@ + + + diff --git a/src/page/index/tags.vue b/src/page/index/tags.vue new file mode 100644 index 0000000..ab14485 --- /dev/null +++ b/src/page/index/tags.vue @@ -0,0 +1,186 @@ + + + + diff --git a/src/page/index/top/index.vue b/src/page/index/top/index.vue new file mode 100644 index 0000000..cc9fba3 --- /dev/null +++ b/src/page/index/top/index.vue @@ -0,0 +1,182 @@ + + + + diff --git a/src/page/index/top/top-color.vue b/src/page/index/top/top-color.vue new file mode 100644 index 0000000..ab433c0 --- /dev/null +++ b/src/page/index/top/top-color.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/page/index/top/top-lang.vue b/src/page/index/top/top-lang.vue new file mode 100644 index 0000000..7c0748f --- /dev/null +++ b/src/page/index/top/top-lang.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/page/index/top/top-lock.vue b/src/page/index/top/top-lock.vue new file mode 100644 index 0000000..bbc9132 --- /dev/null +++ b/src/page/index/top/top-lock.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/page/index/top/top-logs.vue b/src/page/index/top/top-logs.vue new file mode 100644 index 0000000..d80f2d4 --- /dev/null +++ b/src/page/index/top/top-logs.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/page/index/top/top-menu.vue b/src/page/index/top/top-menu.vue new file mode 100644 index 0000000..3add0bf --- /dev/null +++ b/src/page/index/top/top-menu.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/page/index/top/top-notice.vue b/src/page/index/top/top-notice.vue new file mode 100644 index 0000000..5953924 --- /dev/null +++ b/src/page/index/top/top-notice.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/src/page/index/top/top-search.vue b/src/page/index/top/top-search.vue new file mode 100644 index 0000000..a8d2dfb --- /dev/null +++ b/src/page/index/top/top-search.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/page/index/top/top-theme.vue b/src/page/index/top/top-theme.vue new file mode 100644 index 0000000..d1c22c6 --- /dev/null +++ b/src/page/index/top/top-theme.vue @@ -0,0 +1,112 @@ + + + + + + diff --git a/src/page/lock/index.vue b/src/page/lock/index.vue new file mode 100644 index 0000000..26cb451 --- /dev/null +++ b/src/page/lock/index.vue @@ -0,0 +1,108 @@ + + + + diff --git a/src/page/login/authredirect.vue b/src/page/login/authredirect.vue new file mode 100644 index 0000000..15cbce1 --- /dev/null +++ b/src/page/login/authredirect.vue @@ -0,0 +1,20 @@ + + + + + + diff --git a/src/page/login/codelogin.vue b/src/page/login/codelogin.vue new file mode 100644 index 0000000..79022c3 --- /dev/null +++ b/src/page/login/codelogin.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/src/page/login/index.vue b/src/page/login/index.vue new file mode 100644 index 0000000..80ee789 --- /dev/null +++ b/src/page/login/index.vue @@ -0,0 +1,121 @@ + + + + diff --git a/src/page/login/thirdlogin.vue b/src/page/login/thirdlogin.vue new file mode 100644 index 0000000..9c176e2 --- /dev/null +++ b/src/page/login/thirdlogin.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/page/login/userlogin.vue b/src/page/login/userlogin.vue new file mode 100644 index 0000000..2980cb9 --- /dev/null +++ b/src/page/login/userlogin.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/page/logs/index.vue b/src/page/logs/index.vue new file mode 100644 index 0000000..30c8cd6 --- /dev/null +++ b/src/page/logs/index.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/src/permission.js b/src/permission.js new file mode 100644 index 0000000..2f88c34 --- /dev/null +++ b/src/permission.js @@ -0,0 +1,76 @@ +/** + * 全站权限配置 + * + */ +import router from './router/router' +import store from './store' +import {validatenull} from '@/util/validate' +import {getToken} from '@/util/auth' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +NProgress.configure({showSpinner: false}); +const lockPage = store.getters.website.lockPage; //锁屏页 +router.beforeEach((to, from, next) => { + const meta = to.meta || {}; + const isMenu = meta.menu === undefined ? to.query.menu : meta.menu; + store.commit('SET_IS_MENU', isMenu === undefined); + if (getToken()) { + if (store.getters.isLock && to.path !== lockPage) { //如果系统激活锁屏,全部跳转到锁屏页 + next({path: lockPage}) + } else if (to.path === '/login') { //如果登录成功访问登录页跳转到主页 + next({path: '/'}) + } else { + //如果用户信息为空则获取用户信息,获取用户信息失败,跳转到登录页 + if (store.getters.token.length === 0) { + store.dispatch('FedLogOut').then(() => { + next({path: '/login'}) + }) + } else { + const value = to.query.src || to.fullPath; + const label = to.query.name || to.name; + const meta = to.meta || router.$avueRouter.meta || {}; + const i18n = to.query.i18n; + if (to.query.target) { + window.open(value) + } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) { + store.commit('ADD_TAG', { + label: label, + value: value, + params: to.params, + query: to.query, + meta: (() => { + if (!i18n) { + return meta + } + return { + i18n: i18n + } + })(), + group: router.$avueRouter.group || [] + }); + } + next() + } + } + } else { + //判断是否需要认证,没有登录访问去登录页 + if (meta.isAuth === false) { + next() + } else { + next('/login') + } + } +}) + +router.afterEach(() => { + NProgress.done(); + let title = store.getters.tag.label; + let i18n = store.getters.tag.meta.i18n; + title = router.$avueRouter.generateTitle(title, i18n); + //判断登录页的情况 + if (router.history.current.fullPath === "/login") { + title = "登录"; + } + //根据当前的标签也获取label的值动态设置浏览器标题 + router.$avueRouter.setTitle(title); +}); diff --git a/src/router/avue-router.js b/src/router/avue-router.js new file mode 100644 index 0000000..0e68bda --- /dev/null +++ b/src/router/avue-router.js @@ -0,0 +1,199 @@ +let RouterPlugin = function () { + this.$router = null; + this.$store = null; + +}; +RouterPlugin.install = function (vue, option = {}) { + this.$router = option.router; + this.$store = option.store; + this.$vue = new vue({ i18n: option.i18n }); + + // 这个的作用是 为了检查出网页链接,因为本项目用到了 iframe + function isURL(s) { + if (s.includes('html')) return true; + return /^http[s]?:\/\/.*/.test(s) + } + + // 将参数处理为参数的形式拼接 + function objToform(obj) { + let result = []; + Object.keys(obj).forEach(ele => { + result.push(`${ele}=${obj[ele]}`); + }) + return result.join('&'); + } + + this.$router.$avueRouter = { + //全局配置 + $website: this.$store.getters.website, + group: '', + meta: {}, + safe: this, + // 设置标题 + setTitle: (title) => { + const defaultTitle = this.$vue.$t('title'); + title = title ? `${title}-${defaultTitle}` : defaultTitle; + document.title = title; + }, + closeTag: (value) => { + let tag = value || this.$store.getters.tag; + if (typeof value === 'string') { + tag = this.$store.getters.tagList.filter(ele => ele.value === value)[0] + } + this.$store.commit('DEL_TAG', tag) + }, + generateTitle: (title, key) => { + if (!key) return title; + const hasKey = this.$vue.$te('route.' + key) + if (hasKey) { + // $t :this method from vue-i18n, inject in @/lang/index.js + const translatedTitle = this.$vue.$t('route.' + key) + + return translatedTitle + } + return title + }, + //处理路由 + getPath: function (params) { + let {src} = params; + let result = src || '/'; + if (isURL(src)) { + result = `/myiframe/urlPath?${objToform(params)}`; + } + return result; + }, + //正则处理路由 + vaildPath: function (list, path) { + let result = false; + list.forEach(ele => { + if (new RegExp("^" + ele + ".*", "g").test(path)) { + result = true + } + + }) + return result; + }, + //设置路由值 + getValue: function (route) { + let value = ""; + if (route.query.src) { + value = route.query.src; + } else { + value = route.path; + } + return value; + }, + //动态路由 + // 路由是专门的一个接口获取 + /** + * aMenu: 接受到的动态路由数据 menu的结构外层有父级path 里面有一个childen 记录页面的路由 + * first: 为了区分外界 调用formatRoutes 和 当前文件调用 formatRoutes + */ + formatRoutes: function (aMenu = [], first) { + // window.console.log('aMenu') + // window.console.log(aMenu) + const aRouter = [] + // 获取到全局配置中的 props + const propsConfig = this.$website.menu.props; + // 设置 props默认值 作用就是将字段设置成配置的 + const propsDefault = { + label: propsConfig.label || 'name', + path: propsConfig.path || 'path', + icon: propsConfig.icon || 'icon', + children: propsConfig.children || 'children', + meta: propsConfig.meta || 'meta', + } + // 如果没有权限菜单就结束 + if (aMenu.length === 0) return; + // 开始处理menu + for (let i = 0; i < aMenu.length; i++) { + // 取到当前要处理的一项 + const oMenu = aMenu[i]; + // 这一块的赋值 也就是取到返回的值 + let path = (() => { + if (first) { + // 将 '/index' 替换为 '' + return oMenu[propsDefault.path].replace('/index', '') + } else { + return oMenu[propsDefault.path] + } + })(), + //特殊处理组件 执行完这个 component 也就是精确到具体的文件了 views文件夹下面就是具体的页面代码 + component = 'views' + oMenu.path, + name = oMenu[propsDefault.label], + icon = oMenu[propsDefault.icon], + children = oMenu[propsDefault.children], + meta = oMenu[propsDefault.meta] || {}; + // meta中 keepalive 的处理 + meta = Object.assign(meta, (function () { + if (option.keepAlive === true) { + return { + keepAlive: true + } + } + })()); + //是否有子路由 + const isChild = children.length !== 0; + const oRouter = { + path: path, + component(resolve) { + // 判断是否为首路由 + if (first) { + require(['../page/index'], resolve) + return + // 判断是否为多层路由 + } else if (isChild && !first) { + require(['../page/index/layout'], resolve) + return + // 判断是否为最终的页面视图 + } else { + require([`../${component}.vue`], resolve) + } + }, + name: name, + icon: icon, + meta: meta, + redirect: (() => { + // 第一次进来但是没有子路由的 需要添加redirect + if (!isChild && first && !isURL(path)) return `${path}/index` + else return ''; + })(), + // 整理子路由的route 配置 + // 处理是否为一级路由 + children: !isChild ? (() => { + if (first) { + // 这里的isURL判断,因为这个网站有使用 iframe。所以需要判断是否为网页链接 + if (!isURL(path)) oMenu[propsDefault.path] = `${path}/index`; + return [{ + component(resolve) { + require([`../${component}.vue`], resolve) + }, + icon: icon, + name: name, + meta: meta, + path: 'index' + }] + } + return []; + })() : (() => { + /** + * 这里是重点,当有子路由的时候 会再去执行 formatRoutes 方法,然后又会有一个新的 aMenu for循环。 + * 最后返回的是一个数组 aRouter 这个数组就会作为 childen的值被 return + */ + return this.formatRoutes(children, false) + })() + } + aRouter.push(oRouter) + } + // for循环结束 + // 这个first 卡的其实就是首路由 + if (first) { + this.safe.$router.addRoutes(aRouter) + } else { + // 这里返回的是子组件 + return aRouter + } + } + } +} +export default RouterPlugin; diff --git a/src/router/axios.js b/src/router/axios.js new file mode 100644 index 0000000..530b8b8 --- /dev/null +++ b/src/router/axios.js @@ -0,0 +1,85 @@ +/** + * 全站http配置 + * + * axios参数说明 + * isSerialize是否开启form表单提交 + * isToken是否需要token + */ +import axios from 'axios'; +import store from '@/store/'; +import router from '@/router/router'; +import {serialize} from '@/util/util'; +import {getToken} from '@/util/auth'; +import {Message} from 'element-ui'; +import website from '@/config/website'; +import {Base64} from 'js-base64'; +import NProgress from 'nprogress'; +import 'nprogress/nprogress.css'; +import {baseUrl} from '@/config/env'; + +//默认超时时间 +axios.defaults.timeout = 10000; +//返回其他状态码 +axios.defaults.validateStatus = function (status) { + return status >= 200 && status <= 500; +}; +//跨域请求,允许保存cookie +axios.defaults.withCredentials = true; +axios.defaults.baseURL = baseUrl; +// NProgress 配置 +NProgress.configure({ + showSpinner: false +}); +//http request拦截 +axios.interceptors.request.use(config => { + //开启 progress bar + NProgress.start(); + const meta = (config.meta || {}); + const isToken = meta.isToken === false; + // 生产环境把 /api 去掉 + // config.url = process.env.NODE_ENV === 'production' ? config.url : config.url; + config.url = process.env.NODE_ENV === 'production' ? config.url.replace('/api1', '') : config.url; + config.headers['Authorization'] = `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`; + //让每个请求携带token + if (getToken() && !isToken) { + config.headers[website.tokenHeader] = 'bearer ' + getToken() + } + //headers中配置text请求 + if (config.text === true) { + config.headers["Content-Type"] = "text/plain"; + } + //headers中配置serialize为true开启序列化 + if (config.method === 'post' && meta.isSerialize === true) { + config.data = serialize(config.data); + } + return config +}, error => { + return Promise.reject(error) +}); +//http response 拦截 +axios.interceptors.response.use(res => { + //关闭 progress bar + NProgress.done(); + //获取状态码 + const status = res.data.code || res.status; + const statusWhiteList = website.statusWhiteList || []; + const message = res.data.msg || res.data.error_description || '未知错误'; + //如果在白名单里则自行catch逻辑处理 + if (statusWhiteList.includes(status)) return Promise.reject(res); + //如果是401则跳转到登录页面 + if (status === 401) store.dispatch('FedLogOut').then(() => router.push({path: '/login'})); + // 如果请求为非200否者默认统一处理 + if (status !== 200) { + Message({ + message: message, + type: 'error' + }); + return Promise.reject(new Error(message)) + } + return res; +}, error => { + NProgress.done(); + return Promise.reject(new Error(error)); +}); + +export default axios; diff --git a/src/router/page/index.js b/src/router/page/index.js new file mode 100644 index 0000000..1136402 --- /dev/null +++ b/src/router/page/index.js @@ -0,0 +1,81 @@ +import Layout from '@/page/index/' + +export default [{ + path: '/login', + name: '登录页', + component: () => + import( /* webpackChunkName: "page" */ '@/page/login/index'), + meta: { + keepAlive: true, + isTab: false, + isAuth: false + } +}, + { + path: '/lock', + name: '锁屏页', + component: () => + import( /* webpackChunkName: "page" */ '@/page/lock/index'), + meta: { + keepAlive: true, + isTab: false, + isAuth: false + } + }, + { + path: '/404', + component: () => + import( /* webpackChunkName: "page" */ '@/components/error-page/404'), + name: '404', + meta: { + keepAlive: true, + isTab: false, + isAuth: false + } + + }, + { + path: '/403', + component: () => + import( /* webpackChunkName: "page" */ '@/components/error-page/403'), + name: '403', + meta: { + keepAlive: true, + isTab: false, + isAuth: false + } + }, + { + path: '/500', + component: () => + import( /* webpackChunkName: "page" */ '@/components/error-page/500'), + name: '500', + meta: { + keepAlive: true, + isTab: false, + isAuth: false + } + }, + { + path: '/', + name: '主页', + redirect: '/wel' + }, + { + path: '/myiframe', + component: Layout, + redirect: '/myiframe', + children: [{ + path: ":routerPath", + name: 'iframe', + component: () => + import( /* webpackChunkName: "page" */ '@/components/iframe/main'), + props: true + }] + + }, + { + path: '*', + redirect: '/404' + } +] diff --git a/src/router/router.js b/src/router/router.js new file mode 100644 index 0000000..017af95 --- /dev/null +++ b/src/router/router.js @@ -0,0 +1,41 @@ +/** + * 全站路由配置 + * + * meta参数说明 + * keepAlive是否缓冲页面 + * isTab是否加入到tag导航 + * isAuth是否需要授权 + */ +import Vue from 'vue'; +import VueRouter from 'vue-router'; +import PageRouter from './page/' // 页面路由 +import ViewsRouter from './views/' // 页面路由 +import AvueRouter from './avue-router'; //封装的路由控制方法 +import i18n from '@/lang' // Internationalization 国际化 多语言 +import Store from '../store/'; // vuex +Vue.use(VueRouter) +//创建路由 +export const createRouter = () => new VueRouter({ + routes: [...PageRouter, ...ViewsRouter] +}) +const Router = createRouter() // 获得 route 实例 +// 初始化和注册 AvueRouter +AvueRouter.install(Vue, { + router: Router, + store: Store, + i18n: i18n, + keepAlive: false, +}); +Router.$avueRouter.formatRoutes(Store.state.user.menuAll, true); // 动态路由核心方法 +Router.addRoutes([...PageRouter, ...ViewsRouter]); +export function resetRouter () { // 重置路由 比如用于身份验证失败,需要重新登录时 先清空当前的路有权限 + const newRouter = createRouter() + Router.matcher = newRouter.matcher // reset router + AvueRouter.install(Vue, { + router: Router, + store: Store, + i18n: i18n, + keepAlive: false, + }); +} +export default Router diff --git a/src/router/views/index.js b/src/router/views/index.js new file mode 100644 index 0000000..383242e --- /dev/null +++ b/src/router/views/index.js @@ -0,0 +1,106 @@ +import Layout from '@/page/index/' + +export default [{ + path: '/wel', + component: Layout, + redirect: '/wel/index', + children: [{ + path: 'index', + name: '首页', + meta: { + i18n: 'dashboard' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/wel/index') + }, { + path: 'dashboard', + name: '控制台', + meta: { + i18n: 'dashboard', + menu: false, + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/wel/dashboard') + }] +}, { + path: '/test', + component: Layout, + redirect: '/test/index', + children: [{ + path: 'index', + name: '测试页', + meta: { + i18n: 'test' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/util/test') + }] +}, { + path: '/dict-horizontal', + component: Layout, + redirect: '/dict-horizontal/index', + children: [{ + path: 'index', + name: '字典管理', + meta: { + i18n: 'dict' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal') + }] +}, { + path: '/dict-vertical', + component: Layout, + redirect: '/dict-vertical/index', + children: [{ + path: 'index', + name: '字典管理', + meta: { + i18n: 'dict' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical') + }] +}, { + path: '/info', + component: Layout, + redirect: '/info/index', + children: [{ + path: 'index', + name: '个人信息', + meta: { + i18n: 'info' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/system/userinfo') + }] +}, { + path: '/work/process/leave', + component: Layout, + redirect: '/work/process/leave/form', + children: [{ + path: 'form/:processDefinitionId', + name: '请假流程', + meta: { + i18n: 'work' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form') + }, { + path: 'handle/:taskId/:processInstanceId/:businessId', + name: '处理请假流程', + meta: { + i18n: 'work' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle') + }, { + path: 'detail/:processInstanceId/:businessId', + name: '请假流程详情', + meta: { + i18n: 'work' + }, + component: () => + import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail') + }] +}] diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 0000000..e6fcd6f --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,29 @@ +const getters = { + tag: state => state.tags.tag, + language: state => state.common.language, + website: state => state.common.website, + userInfo: state => state.user.userInfo, + colorName: state => state.common.colorName, + themeName: state => state.common.themeName, + isShade: state => state.common.isShade, + isCollapse: state => state.common.isCollapse, + keyCollapse: (state, getters) => getters.screen > 1 ? getters.isCollapse : false, + screen: state => state.common.screen, + isLock: state => state.common.isLock, + isFullScren: state => state.common.isFullScren, + isMenu: state => state.common.isMenu, + lockPasswd: state => state.common.lockPasswd, + tagList: state => state.tags.tagList, + tagWel: state => state.tags.tagWel, + token: state => state.user.token, + roles: state => state.user.roles, + permission: state => state.user.permission, + menu: state => state.user.menu, + menuId: state => state.user.menuId, + menuAll: state => state.user.menuAll, + logsList: state => state.logs.logsList, + logsLen: state => state.logs.logsList.length || 0, + logsFlag: (state, getters) => getters.logsLen === 0, + flowRoutes: state => state.dict.flowRoutes, +} +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..805b864 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import user from './modules/user' +import common from './modules/common' +import tags from './modules/tags' +import logs from './modules/logs' +import dict from './modules/dict' +import getters from './getters' + +Vue.use(Vuex) +const store = new Vuex.Store({ + modules: { + user, + common, + logs, + tags, + dict + }, + getters, +}) + +export default store diff --git a/src/store/modules/common.js b/src/store/modules/common.js new file mode 100644 index 0000000..ec24a59 --- /dev/null +++ b/src/store/modules/common.js @@ -0,0 +1,99 @@ +import { + setStore, + getStore, + removeStore +} from '@/util/store' +import website from '@/config/website' + +const common = { + + state: { + language: getStore({name: 'language'}) || 'zh', + isCollapse: false, + isFullScren: false, + isMenu: true, + isShade: false, + screen: -1, + isLock: getStore({name: 'isLock'}) || false, + showTag: true, + showDebug: true, + showCollapse: true, + showSearch: true, + showLock: true, + showFullScren: true, + showTheme: true, + showMenu: true, + showColor: true, + colorName: getStore({name: 'colorName'}) || '#409EFF', + themeName: getStore({name: 'themeName'}) || 'theme-default', + lockPasswd: getStore({name: 'lockPasswd'}) || '', + website: website, + }, + mutations: { + SET_LANGUAGE: (state, language) => { + state.language = language + setStore({ + name: 'language', + content: state.language + }) + }, + SET_SHADE: (state, active) => { + state.isShade = active; + }, + SET_COLLAPSE: (state) => { + state.isCollapse = !state.isCollapse; + }, + SET_FULLSCREN: (state) => { + state.isFullScren = !state.isFullScren; + }, + SET_IS_MENU: (state, menu) => { + state.isMenu = menu; + }, + SET_LOCK: (state) => { + state.isLock = true; + setStore({ + name: 'isLock', + content: state.isLock, + type: 'session' + }) + }, + SET_SCREEN: (state, screen) => { + state.screen = screen; + }, + SET_COLOR_NAME: (state, colorName) => { + state.colorName = colorName; + setStore({ + name: 'colorName', + content: state.colorName, + }) + }, + SET_THEME_NAME: (state, themeName) => { + state.themeName = themeName; + setStore({ + name: 'themeName', + content: state.themeName, + }) + }, + SET_LOCK_PASSWD: (state, lockPasswd) => { + state.lockPasswd = lockPasswd; + setStore({ + name: 'lockPasswd', + content: state.lockPasswd, + type: 'session' + }) + }, + CLEAR_LOCK: (state) => { + state.isLock = false; + state.lockPasswd = ''; + removeStore({ + name: 'lockPasswd', + type: 'session' + }); + removeStore({ + name: 'isLock', + type: 'session' + }); + }, + } +} +export default common diff --git a/src/store/modules/dict.js b/src/store/modules/dict.js new file mode 100644 index 0000000..837dbe6 --- /dev/null +++ b/src/store/modules/dict.js @@ -0,0 +1,35 @@ +import {getStore, setStore} from '@/util/store' + +import {getDictionary} from '@/api/system/dict' + +const dict = { + state: { + flowRoutes: getStore({name: 'flowRoutes'}) || {}, + }, + actions: { + FlowRoutes({commit}) { + return new Promise((resolve, reject) => { + getDictionary({code: 'flow'}).then(res => { + commit('SET_FLOW_ROUTES', res.data.data); + resolve(); + }).catch(error => { + reject(error) + }) + }) + }, + }, + mutations: { + SET_FLOW_ROUTES: (state, data) => { + state.flowRoutes = data.map(item => { + return { + routeKey: `${item.code}_${item.dictKey}`, + routeValue: item.remark, + }; + }); + setStore({name: 'flowRoutes', content: state.flowRoutes}) + }, + } + +}; + +export default dict; diff --git a/src/store/modules/logs.js b/src/store/modules/logs.js new file mode 100644 index 0000000..be8a96c --- /dev/null +++ b/src/store/modules/logs.js @@ -0,0 +1,42 @@ +import {setStore, getStore} from '@/util/store' +import {dateFormat} from '@/util/date' +import {sendLogs} from '@/api/user' + +const logs = { + state: { + logsList: getStore({name: 'logsList'}) || [], + }, + actions: { + SendLogs({state, commit}) { + return new Promise((resolve, reject) => { + sendLogs(state.logsList).then(() => { + commit('CLEAR_LOGS'); + resolve(); + }).catch(error => { + reject(error) + }) + }) + }, + }, + mutations: { + ADD_LOGS: (state, {type, message, stack, info}) => { + state.logsList.push(Object.assign({ + url: window.location.href, + time: dateFormat(new Date()) + }, { + type, + message, + stack, + info: info.toString() + })) + setStore({name: 'logsList', content: state.logsList}) + }, + CLEAR_LOGS: (state) => { + state.logsList = []; + setStore({name: 'logsList', content: state.logsList}) + } + } + +}; + +export default logs; diff --git a/src/store/modules/tags.js b/src/store/modules/tags.js new file mode 100644 index 0000000..5e0cb94 --- /dev/null +++ b/src/store/modules/tags.js @@ -0,0 +1,76 @@ +import {setStore, getStore} from '@/util/store' +import {diff} from '@/util/util' +import website from '@/config/website' + +const isFirstPage = website.isFirstPage; +const tagWel = website.fistPage; +const tagObj = { + label: '', //标题名称 + value: '', //标题的路径 + params: '', //标题的路径参数 + query: '', //标题的参数 + meta: {},//额外参数 + group: [], //分组 +} + +//处理首个标签 +function setFistTag(list) { + if (list.length === 1) { + list[0].close = false; + } else { + list.forEach(ele => { + if (ele.value === tagWel.value && isFirstPage === false) { + ele.close = false + } else { + ele.close = true + } + }) + } +} + + +const navs = { + state: { + tagList: getStore({name: 'tagList'}) || [], + tag: getStore({name: 'tag'}) || tagObj, + tagWel: tagWel + }, + actions: {}, + mutations: { + ADD_TAG: (state, action) => { + state.tag = action; + setStore({name: 'tag', content: state.tag}) + if (state.tagList.some(ele => diff(ele, action))) return + state.tagList.push(action) + setFistTag(state.tagList); + setStore({name: 'tagList', content: state.tagList}) + }, + DEL_TAG: (state, action) => { + state.tagList = state.tagList.filter(item => { + return !diff(item, action); + }) + setFistTag(state.tagList); + setStore({name: 'tagList', content: state.tagList}) + }, + DEL_ALL_TAG: (state) => { + state.tagList = [state.tagWel]; + setStore({name: 'tagList', content: state.tagList}) + }, + DEL_TAG_OTHER: (state) => { + state.tagList = state.tagList.filter(item => { + if (item.value === state.tag.value) { + return true; + } else if (!website.isFirstPage && item.value === website.fistPage.value) { + return true; + } + }) + setFistTag(state.tagList); + setStore({name: 'tagList', content: state.tagList}) + }, + SET_TAG_LIST(state, tagList) { + state.tagList = tagList; + setStore({name: 'tagList', content: state.tagList}) + } + } +} +export default navs diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..f8fe52e --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,274 @@ +import {setToken, setRefreshToken, removeToken, removeRefreshToken} from '@/util/auth' +import {Message} from 'element-ui' +import {setStore, getStore} from '@/util/store' +import {isURL, validatenull} from '@/util/validate' +import {deepClone} from '@/util/util' +import website from '@/config/website' +import {loginByUsername, loginBySocial, getUserInfo, logout, refreshToken, getButtons} from '@/api/user' +import {getTopMenu, getRoutes} from '@/api/system/menu' +import md5 from 'js-md5' + + +function addPath(ele, first) { + const menu = website.menu; + const propsConfig = menu.props; + const propsDefault = { + label: propsConfig.label || 'name', + path: propsConfig.path || 'path', + icon: propsConfig.icon || 'icon', + children: propsConfig.children || 'children' + } + const icon = ele[propsDefault.icon]; + ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon; + const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0; + if (!isChild) ele[propsDefault.children] = []; + if (!isChild && first && !isURL(ele[propsDefault.path])) { + ele[propsDefault.path] = ele[propsDefault.path] + '/index' + } else { + ele[propsDefault.children].forEach(child => { + addPath(child); + }) + } + +} + +const user = { + state: { + tenantId: getStore({name: 'tenantId'}) || '', + userInfo: getStore({name: 'userInfo'}) || [], + permission: getStore({name: 'permission'}) || {}, + roles: [], + menuId: {}, + menu: getStore({name: 'menu'}) || [], + menuAll: getStore({name: 'menuAll'}) || [], + token: getStore({name: 'token'}) || '', + refreshToken: getStore({name: 'refreshToken'}) || '', + }, + actions: { + //根据用户名登录 + LoginByUsername({commit}, userInfo) { + return new Promise((resolve, reject) => { + loginByUsername(userInfo.tenantId, userInfo.username, md5(userInfo.password), userInfo.type, userInfo.key, userInfo.code).then(res => { + const data = res.data; + if (data.error_description) { + Message({ + message: data.error_description, + type: 'error' + }) + } else { + commit('SET_TOKEN', data.access_token); + commit('SET_REFRESH_TOKEN', data.refresh_token); + commit('SET_TENANT_ID', data.tenant_id); + commit('SET_USER_INFO', data); + commit('DEL_ALL_TAG'); + commit('CLEAR_LOCK'); + } + resolve(); + }).catch(error => { + reject(error); + }) + }) + }, + //根据手机号登录 + LoginByPhone({commit}, userInfo) { + return new Promise((resolve) => { + loginByUsername(userInfo.phone, userInfo.code).then(res => { + const data = res.data.data; + commit('SET_TOKEN', data); + commit('DEL_ALL_TAG'); + commit('CLEAR_LOCK'); + resolve(); + }) + }) + }, + //根据第三方信息登录 + LoginBySocial({commit}, userInfo) { + return new Promise((resolve) => { + loginBySocial(userInfo.tenantId, userInfo.source, userInfo.code, userInfo.state).then(res => { + const data = res.data; + if (data.error_description) { + Message({ + message: data.error_description, + type: 'error' + }) + } else { + commit('SET_TOKEN', data.access_token); + commit('SET_REFRESH_TOKEN', data.refresh_token); + commit('SET_USER_INFO', data); + commit('DEL_ALL_TAG'); + commit('CLEAR_LOCK'); + } + resolve(); + }) + }) + }, + //获取用户信息 + GetUserInfo({commit}) { + return new Promise((resolve, reject) => { + getUserInfo().then((res) => { + const data = res.data.data; + commit('SET_ROLES', data.roles); + resolve(data); + }).catch(err => { + reject(err); + }) + }) + }, + //刷新token + refreshToken({state, commit}) { + window.console.log('handle refresh token') + return new Promise((resolve, reject) => { + refreshToken(state.refreshToken, state.tenantId).then(res => { + const data = res.data; + commit('SET_TOKEN', data.access_token); + commit('SET_REFRESH_TOKEN', data.refresh_token); + resolve(); + }).catch(error => { + reject(error) + }) + }) + }, + // 登出 + LogOut({commit}) { + return new Promise((resolve, reject) => { + logout().then(() => { + commit('SET_TOKEN', ''); + commit('SET_MENU', []); + commit('SET_MENU_ALL_NULL', []); + commit('SET_ROLES', []); + commit('SET_TAG_LIST', []); + commit('DEL_ALL_TAG'); + commit('CLEAR_LOCK'); + removeToken(); + removeRefreshToken(); + resolve(); + }).catch(error => { + reject(error) + }) + }) + }, + //注销session + FedLogOut({commit}) { + return new Promise(resolve => { + commit('SET_TOKEN', ''); + commit('SET_MENU_ALL_NULL', []); + commit('SET_MENU', []); + commit('SET_ROLES', []); + commit('SET_TAG_LIST', []); + commit('DEL_ALL_TAG'); + commit('CLEAR_LOCK'); + removeToken(); + removeRefreshToken(); + resolve(); + }) + }, + //获取顶部菜单 + GetTopMenu() { + return new Promise(resolve => { + getTopMenu().then((res) => { + const data = res.data.data || []; + resolve(data) + }) + }) + }, + //获取系统菜单 + GetMenu({commit, dispatch}, topMenuId) { + return new Promise(resolve => { + getRoutes(topMenuId).then((res) => { + const data = res.data.data + let menu = deepClone(data); + menu.forEach(ele => { + addPath(ele, true); + }); + commit('SET_MENU_ALL', menu) + commit('SET_MENU', menu) + dispatch('GetButtons'); + resolve(menu) + }) + }) + }, + //获取系统按钮 + GetButtons({commit}) { + return new Promise((resolve) => { + getButtons().then(res => { + const data = res.data.data; + commit('SET_PERMISSION', data); + resolve(); + }) + }) + }, + }, + mutations: { + SET_TOKEN: (state, token) => { + setToken(token); + state.token = token; + setStore({name: 'token', content: state.token}) + }, + SET_MENU_ID(state, menuId) { + state.menuId = menuId; + }, + SET_MENU_ALL: (state, menuAll) => { + let menu = state.menuAll; + menuAll.forEach(ele => { + if (!menu.find(item => item.label === ele.label && item.path === ele.path)) { + menu.push(ele); + } + }) + state.menuAll = menu + setStore({ name: 'menuAll', content: state.menuAll }) + }, + SET_MENU_ALL_NULL: (state) => { + state.menuAll = [] + setStore({ name: 'menuAll', content: state.menuAll }) + }, + SET_MENU: (state, menu) => { + state.menu = menu + setStore({ name: 'menu', content: state.menu }) + }, + SET_REFRESH_TOKEN: (state, refreshToken) => { + setRefreshToken(refreshToken) + state.refreshToken = refreshToken; + setStore({name: 'refreshToken', content: state.refreshToken}) + }, + SET_TENANT_ID: (state, tenantId) => { + state.tenantId = tenantId; + setStore({name: 'tenantId', content: state.tenantId}) + }, + SET_USER_INFO: (state, userInfo) => { + if (validatenull(userInfo.avatar)) { + userInfo.avatar = "/img/bg/img-logo.png"; + } + state.userInfo = userInfo; + setStore({name: 'userInfo', content: state.userInfo}) + }, + SET_ROLES: (state, roles) => { + state.roles = roles; + }, + SET_PERMISSION: (state, permission) => { + let result = []; + + function getCode(list) { + list.forEach(ele => { + if (typeof (ele) === 'object') { + const chiildren = ele.children; + const code = ele.code; + if (chiildren) { + getCode(chiildren) + } else { + result.push(code); + } + } + }) + } + + getCode(permission); + state.permission = {}; + result.forEach(ele => { + state.permission[ele] = true; + }); + setStore({name: 'permission', content: state.permission}) + } + } + +} +export default user diff --git a/src/styles/animate/vue-transition.scss b/src/styles/animate/vue-transition.scss new file mode 100644 index 0000000..c73902c --- /dev/null +++ b/src/styles/animate/vue-transition.scss @@ -0,0 +1,65 @@ +// 过渡动画 横向渐变 +.fade-transverse-leave-active, +.fade-transverse-enter-active { + transition: all .5s; +} + +.fade-transverse-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transverse-leave-to { + opacity: 0; + transform: translateX(30px); +} + +// 过渡动画 缩放渐变 +.fade-scale-leave-active, +.fade-scale-enter-active { + transition: all .5s; +} + +.fade-scale-enter { + opacity: 0; + transform: scale(1.2); +} + +.fade-scale-leave-to { + opacity: 0; + transform: scale(0.8); +} + +@-webkit-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } + } + @-moz-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } + } + @-ms-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } + } + @-o-keyframes animate-cloud { + from { + background-position: 600px 100%; + } + to { + background-position: 0 100%; + } + } + \ No newline at end of file diff --git a/src/styles/common.scss b/src/styles/common.scss new file mode 100644 index 0000000..b7e08a0 --- /dev/null +++ b/src/styles/common.scss @@ -0,0 +1,33 @@ +// 全局变量 +@import './variables.scss'; +// ele样式覆盖 +@import './element-ui.scss'; +// 顶部右侧显示 +@import './top.scss'; +// 导航标签 +@import './tags.scss'; +// 工具类函数 +@import './mixin.scss'; +// 侧面导航栏 +@import './sidebar.scss'; +// 动画 +@import './animate/vue-transition.scss'; +//主题 +@import './theme/index.scss'; +//适配 +@import './media.scss'; +//通用配置 +@import './normalize.scss'; + +a{ + text-decoration: none; + color:#333; +} +*{ + outline: none; +} +.basic-container .el-card { + overflow: initial; +} +//滚动条样式 +@include scrollBar; diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss new file mode 100644 index 0000000..54c3e92 --- /dev/null +++ b/src/styles/element-ui.scss @@ -0,0 +1,71 @@ +.el-dropdown-menu__item { + font-size: 12px !important; + line-height: 28px !important; +} + +//.el-card.is-always-shadow { +// box-shadow: none; +// border: none !important; +//} + +.el-scrollbar__view { + height: 100%; +} + +.el-menu--horizontal { + border-bottom: none !important; +} + +.el-menu { + border-right: none !important; +} + +.el-menu--display, +.el-menu--display + .el-submenu__icon-arrow { + display: none; +} + + +.el-message__icon, +.el-message__content { + display: inline-block; +} + +.el-date-editor .el-range-input, +.el-date-editor .el-range-separator { + height: auto; + overflow: hidden; +} + +.el-dialog__wrapper { + z-index: 2048; +} + +.el-col { + margin-bottom: 8px; +} + +.el-main { + padding: 0 !important; +} + +.el-dropdown-menu__item--divided:before, .el-menu, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-submenu .el-submenu__title:hover { + background-color: transparent; +} + + +.el-dropdown-menu__item--divided:before, .el-menu, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-submenu .el-submenu__title:hover { + background-color: transparent !important; +} + +.el-card__header { + padding: 6px 18px !important; +} + +.el-card__body { + //padding: 16px !important; +} + +.el-divider--horizontal { + margin: 12px 0 !important; +} diff --git a/src/styles/login.scss b/src/styles/login.scss new file mode 100644 index 0000000..498d5af --- /dev/null +++ b/src/styles/login.scss @@ -0,0 +1,184 @@ +.login-container { + display: flex; + align-items: center; + position: relative; + width: 100%; + height: 100%; + margin: 0 auto; + background-image: url("/img/bg/bg.jpg"); + background-size: 100% 100%; +} + +.login-weaper { + margin: 0 auto; + width: 1000px; + box-shadow: -4px 5px 10px rgba(0, 0, 0, 0.4); + + .el-input-group__append { + border: none; + } +} + +.login-left, +.login-border { + position: relative; + min-height: 500px; + align-items: center; + display: flex; +} + +.login-left { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + justify-content: center; + flex-direction: column; + background-color: #409EFF; + color: #fff; + float: left; + width: 50%; + position: relative; +} + +.login-left .img { + width: 140px; +} + +.login-time { + position: absolute; + left: 25px; + top: 25px; + width: 100%; + color: #fff; + font-weight: 200; + opacity: 0.9; + font-size: 18px; + overflow: hidden; +} + +.login-left .title { + margin-top: 60px; + text-align: center; + color: #fff; + font-weight: 300; + letter-spacing: 2px; + font-size: 25px; +} + +.login-border { + border-left: none; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + color: #fff; + background-color: #fff; + width: 50%; + float: left; + box-sizing: border-box; +} + +.login-main { + margin: 0 auto; + width: 65%; + box-sizing: border-box; +} + +.login-main > h3 { + margin-bottom: 20px; +} + +.login-main > p { + color: #76838f; +} + +.login-title { + color: #333; + margin-bottom: 40px; + font-weight: 500; + font-size: 22px; + text-align: center; + letter-spacing: 4px; +} + +.login-menu { + margin-top: 40px; + width: 100%; + text-align: center; + + a { + color: #999; + font-size: 12px; + margin: 0px 8px; + } +} + +.login-submit { + width: 100%; + height: 45px; + border: 1px solid #409EFF; + background: none; + font-size: 18px; + letter-spacing: 2px; + font-weight: 300; + color: #409EFF; + cursor: pointer; + margin-top: 30px; + font-family: "neo"; + transition: 0.25s; +} + +.login-form { + margin: 10px 0; + + i { + color: #333; + } + + .el-form-item__content { + width: 100%; + } + + .el-form-item { + margin-bottom: 12px; + } + + .el-input { + input { + padding-bottom: 10px; + text-indent: 5px; + background: transparent; + border: none; + border-radius: 0; + color: #333; + border-bottom: 1px solid rgb(235, 237, 242); + } + + .el-input__prefix { + i { + padding: 0 5px; + font-size: 16px !important; + } + } + } +} + +.login-code { + display: flex; + align-items: center; + justify-content: space-around; + margin: 0 0 0 10px; +} + +.login-code-img { + margin-top: 2px; + width: 100px; + height: 38px; + background-color: #fdfdfd; + border: 1px solid #f0f0f0; + color: #333; + font-size: 14px; + font-weight: bold; + letter-spacing: 5px; + line-height: 38px; + text-indent: 5px; + text-align: center; + cursor:pointer!important; +} diff --git a/src/styles/media.scss b/src/styles/media.scss new file mode 100644 index 0000000..2781c4c --- /dev/null +++ b/src/styles/media.scss @@ -0,0 +1,182 @@ +.avue-left, +.avue-header, +.avue-top, +.avue-logo, +.avue-layout +.login-logo, +.avue-main { + transition: all .3s; +} + +.avue-contail { + width: 100%; + height: 100%; + background: #f0f2f5; + background-size: 100%; + background-repeat: no-repeat; +} + + +.avue-left { + position: fixed; + left: 0; + top: 0; + width: 240px; + height: 100%; + z-index: 1025; +} + +.avue--collapse { + .avue-left, + .avue-logo { + width: 60px; + } + + .avue-header { + padding-left: 60px; + } + + .avue-main { + width: calc(100% - 60px); + left: 60px; + } +} + +.avue-header { + padding-left: 240px; + width: 100%; + background-color: #fff; + box-sizing: border-box; +} + +.avue-main { + position: absolute; + left: 240px; + padding: 0; + padding-bottom: 20px; + width: calc(100% - 240px); + height: calc(100% - 64px); + box-sizing: border-box; + overflow: hidden; + transition: all 0.5s; + background: #f0f2f5; + z-index: 1026; + + &--fullscreen { + width: 100%; + left: 0; + } +} + +.avue-view { + padding: 0 10px !important; + width: 100%; + box-sizing: border-box; +} + +.avue-footer { + margin: 0 auto; + padding: 0 22px; + width: 1300px; + display: flex; + align-items: center; + justify-content: space-between; + + .logo { + margin-left: -50px; + } + + .copyright { + color: #666; + line-height: 1.5; + font-size: 12px; + } +} + +.avue-shade { + position: fixed; + display: none; + width: 100%; + height: 100%; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-color: rgba(0, 0, 0, .3); + z-index: 1024; + + &--show { + display: block; + } +} + +@media screen and (max-width: 992px) { + $width: 240px; + // ele的自适应 + .el-dialog, + .el-message-box { + width: 98% !important; + } + //登录页面 + .login-left { + display: none !important; + } + .login-logo { + padding-top: 30px !important; + margin-left: -30px; + } + .login-weaper { + margin: 0 auto; + width: 96% !important; + } + .login-border { + border-radius: 5px; + padding: 40px; + margin: 0 auto; + float: none !important; + width: 100% !important; + } + .login-main { + width: 100% !important; + } + //主框架 + .avue-tags { + display: none; + } + .avue-left, + .avue-logo { + left: -$width; + } + .avue-main { + left: 0; + width: 100%; + } + .avue-header { + margin-bottom: 15px; + padding-left: 15px; + } + .top-bar__item { + display: none; + } + .avue--collapse { + .avue-left, + .avue-logo { + width: $width; + left: 0; + } + + .avue-main { + left: $width; + width: 100%; + } + + .avue-header { + padding: 0; + transform: translate3d(230px, 0, 0); + } + + .avue-shade { + display: block; + } + } +} diff --git a/src/styles/mixin.scss b/src/styles/mixin.scss new file mode 100644 index 0000000..0523edd --- /dev/null +++ b/src/styles/mixin.scss @@ -0,0 +1,73 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + ::-webkit-scrollbar-track-piece { + background-color: transparent; + } + ::-webkit-scrollbar { + width: 7px; + height: 7px; + background-color: transparent; + } + ::-webkit-scrollbar-thumb { + border-radius: 5px; + background-color: hsla(220, 4%, 58%, .3); + } +} + +@mixin radius($width, $size, $color) { + width: $width; + height: $width; + line-height: $width; + border-radius: $width; + text-align: center; + border-width: $size; + border-style: solid; + border-color: $color; +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } + @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} \ No newline at end of file diff --git a/src/styles/normalize.scss b/src/styles/normalize.scss new file mode 100644 index 0000000..e51d268 --- /dev/null +++ b/src/styles/normalize.scss @@ -0,0 +1,502 @@ +/*! normalize.css v2.1.2 | MIT License | git.io/normalize */ +/* +/*! 我就是自己看看,然后翻译下下,让大家看看 */ + +/* ========================================================================== + HTML5 display definitions + + HTML5 新增元素定义 + + ========================================================================== */ + +/** + * Correct `block` display not defined in IE 8/9. + * + * 修正IE 8/9 中未定义的块级元素。 + */ + + article, + aside, + details, + figcaption, + figure, + footer, + header, + hgroup, + main, + nav, + section, + summary { + display: block; + } + + /** + * Correct `inline-block` display not defined in IE 8/9. + * + * 修正在 IE 8/9 中未定义的 'inline-block' 元素。 + */ + + audio, + canvas, + video { + display: inline-block; + } + + /** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + * + * 阻止现在浏览器显示未定义 control 播放控件的 'audio' 声音元素。 + * 删除 IOS 5 设备中显示的多余的高度。 + */ + + audio:not([controls]) { + display: none; + height: 0; + } + + /** + * Address styling not present in IE 8/9. + * + * 处理 IE 8/9 中不存在的样式。 + */ + + [hidden] { + display: none; + } + + /* ========================================================================== + Base + + 基本设置 + ========================================================================== */ + + /** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + * + * 1. 设置默认字体类型为 sans-serif. + * 2. 当用户放大或缩小页面时不改变字体大小。 + */ + + html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /** + * Remove default margin. + * + * 删除默认边距。 + */ + + body { + margin: 0; + } + + /* ========================================================================== + Links + + 链接 + ========================================================================== */ + + /** + * Address `outline` inconsistency between Chrome and other browsers. + * + * 处理 Chrome 与其它浏览器中关于 'outline' 的不一致性。 + */ + + a:focus { + outline: thin dotted; + } + + /** + * Improve readability when focused and also mouse hovered in all browsers. + * + * 为所有浏览器改善当激活或悬停在元素上时元素内容的可读性。 + */ + + a:active, + a:hover { + outline: 0; + } + + /* ========================================================================== + Typography + + 排版 + ========================================================================== */ + + /** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + * + * 处理多变的 'h1' 字体大小及其在 Firefox 4+, Safari 5, 及 Chrome时浏览器中的 + * 'section' 与 'article' 元素中的边距。 + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + * + * 处理在 IE 8/9, Safari 5, 及 Chrome 没有的样式。 + */ + + abbr[title] { + border-bottom: 1px dotted; + } + + /** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + * + * 处理 Firefox 4+, Safari 5, 及 Chrome 中默认的 'bolder' 样式为 'bold'. + */ + + b, + strong { + font-weight: bold; + } + + /** + * Address styling not present in Safari 5 and Chrome. + * + * 处理在 Safari 5 和 Chrome 没有的样式。 + */ + + dfn { + font-style: italic; + } + + /** + * Address differences between Firefox and other browsers. + * + * 处理 Firefox 与其它浏览器的差异。 + */ + + hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; + } + + /** + * Address styling not present in IE 8/9. + * + * 处理在 IE 8/9 中没有的样式。 + */ + + mark { + background: #ff0; + color: #000; + } + + /** + * Correct font family set oddly in Safari 5 and Chrome. + * + * 修正确 Safari 5 和 Chrome 中古怪的默认字体。 + */ + + code, + kbd, + pre, + samp { + font-family: monospace, serif; + font-size: 1em; + } + + /** + * Improve readability of pre-formatted text in all browsers. + * + * 为所有浏览器改善预格式化文本的可读性。 + */ + + pre { + white-space: pre-wrap; + } + + /** + * Set consistent quote types. + * + * 设置一致的引用格式。 + */ + + q { + quotes: "\201C" "\201D" "\2018" "\2019"; + } + + /** + * Address inconsistent and variable font size in all browsers. + * + * 处理所有浏览器中字体大小的不一致性[译者注:原文直译为:处理所有 + * 浏览器中的不一致和多变的字体大小]。 + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + * + * 阻止所有浏览器中 'sub' 和 'sup' 元素影响 'line-height'. + * [译者注:就是不让上标与下标影响行高。] + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sup { + top: -0.5em; + } + + sub { + bottom: -0.25em; + } + + /* ========================================================================== + Embedded content + + 嵌入的内容 + ========================================================================== */ + + /** + * Remove border when inside `a` element in IE 8/9. + * + * 删除 IE 8/9 中当内容位于 'a' 中出现的边框。 + */ + + img { + border: 0; + } + + /** + * Correct overflow displayed oddly in IE 9. + * + * 修正 IE 9 中显示古怪的溢出内容。 + */ + + svg:not(:root) { + overflow: hidden; + } + + /* ========================================================================== + Figures + + Figure 图像/图表/代码等 + ========================================================================== */ + + /** + * Address margin not present in IE 8/9 and Safari 5. + * + * 处理在 IE 8/9 和 Safari 5 没有的边距。 + */ + + figure { + margin: 0; + } + + /* ========================================================================== + Forms + ========================================================================== */ + + /** + * Define consistent border, margin, and padding. + * + * 定义一致的边框、外边距及内边距。 + */ + + fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + } + + /** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + * 1. 修正在 IE 8/9 中没有继承的 'color'. + * + * [译者注:说是修正颜色嘛,可下面没有关于颜色的呀,这也行?求大神解释!] + * 2. 去掉内边距,避免当用户清空表单组时认为出错了。 + */ + + legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + * + * 1. 修正所有浏览器中未被继承的字体类型。 + * 2. 修正所有浏览器中未被继承的字体大小。 + * 3. 处理 Firefox 4+, Safari 5, 及 Chrome 中默认设置不同的外边距。 + */ + + button, + input, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ + } + + /** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + * + * 处理 Firefox 4+ 中的客户端样式表里使用 '!important' 设置的 'line-height'. + */ + + button, + input { + line-height: normal; + } + + /** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + * + * 处理 'button' 和 'select' 的 'text-transform' 继承的不一致性。 + * 所有其它表单控件元素不继承 'text-transform' 的值。 + * 修正 Chrome, Safari 5+, 及 IE 8+ 中 'button' 的继承样式。 + * 修正 Firefox 4+ 和 Opera 中 'select' 的继承样式。 + */ + + button, + select { + text-transform: none; + } + + /** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * + * 1. 避免 Android 4.0.* 中 WebKit 的一个bug, 防止 'audio' 与 'video' 的播放控件失效。 + * 2. 修正 iOS 中不可点击的 'input' 样式。 + * 3. 改善图片类型的 'input' 等光标样式的可用性与一致性。 + */ + + button, + html input[type="button"], /* 1 */ + input[type="reset"], + input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + } + + /** + * Re-set default cursor for disabled elements. + * + * 重置不可用元素的默认光标样式。 + */ + + button[disabled], + html input[disabled] { + cursor: default; + } + + /** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + * + * 1. 处理 IE 8/9 中设置为 'content-box' 的盒子模型。 + * 2. 删除 IE 8/9 中多余的内边距。 + */ + + input[type="checkbox"], + input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + * + * 1. 处理 Safari 5 和 Chrome 中默认设置为 'appearance' 的 'searchfield'. + * 2. 处理 Safari 5 和 Chrome 中默认设置为 'box-sizing' 的 'border-box' + * (包括不会过时的 '-moz'). + */ + + input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; + } + + /** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + * + * 删除 Safari 5 和 OS X 上的 Chrome 中的输入框上的内边距和搜索取消按钮。 + */ + + input[type="search"]::-webkit-search-cancel-button, + input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * Remove inner padding and border in Firefox 4+. + * + * 删除 Firefox 4+ button 与 input 上的内边距。 + */ + + button::-moz-focus-inner, + input::-moz-focus-inner { + border: 0; + padding: 0; + } + + /** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + * + * 1. 删除 IE8/9 中默认的垂直滚动条。 + * 2. 改善所有浏览器中的可读性并使文本垂直对齐。 + */ + + textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ + } + + /* ========================================================================== + Tables + + 表格 + ========================================================================== */ + + /** + * Remove most spacing between table cells. + * + * 删除表格里单元格间的间距。 + */ + + table { + border-collapse: collapse; + border-spacing: 0; + } + \ No newline at end of file diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss new file mode 100644 index 0000000..f4995d7 --- /dev/null +++ b/src/styles/sidebar.scss @@ -0,0 +1,91 @@ + + +.el-menu--popup{ + .el-menu-item{ + background-color: #20222a; + i,span{ + color:hsla(0,0%,100%,.7); + } + &:hover{ + i,span{ + color:#fff; + } + } + &.is-active { + background-color: rgba(0,0,0,.8); + &:before { + content: ''; + top: 0; + left: 0; + bottom: 0; + width: 4px; + background: #409eff; + position: absolute; + } + i,span{ + color:#fff; + } + } + } + +} +.avue-sidebar { + user-select: none; + position: relative; + padding-top: 60px; + height: 100%; + position: relative; + background-color: #20222a; + transition: width .2s; + box-sizing: border-box; + box-shadow: 2px 0 6px rgba(0,21,41,.35); + .el-scrollbar__wrap { + overflow-x: hidden; + } + &--tip{ + width:90%; + height: 140px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 5px; + position: absolute; + top:5px; + left:5%; + color:#ccc; + z-index: 2; + text-align: center; + font-size: 14px; + background-color: rgba(0,0,0,.4); + } + .el-menu-item,.el-submenu__title{ + i{ + margin-right: 10px; + } + i,span{ + color:hsla(0,0%,100%,.7); + } + &:hover{ + background: transparent; + i,span{ + color:#fff; + } + } + &.is-active { + &:before { + content: ''; + top: 0; + left: 0; + bottom: 0; + width: 4px; + background: #409eff; + position: absolute; + } + background-color: rgba(0,0,0,.8); + i,span{ + color:#fff; + } + } + } + +} \ No newline at end of file diff --git a/src/styles/tags.scss b/src/styles/tags.scss new file mode 100644 index 0000000..283be5e --- /dev/null +++ b/src/styles/tags.scss @@ -0,0 +1,92 @@ + + +.avue-tags { + user-select: none; + position: relative; + padding: 0 10px; + margin-bottom: 10px; + box-sizing: border-box; + overflow: hidden; + border-top: 1px solid #f6f6f6; + background-color: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); + .el-tabs--card>.el-tabs__header { + margin: 0; + } + .el-tabs--card>.el-tabs__header .el-tabs__nav, + .el-tabs--card>.el-tabs__header .el-tabs__item, + .el-tabs--card>.el-tabs__header { + border: none; + } + .el-tabs--card>.el-tabs__header .el-tabs__item:first-child { + border-left-width: 1px + } + .el-tabs--card>.el-tabs__header .el-tabs__item { + margin: 0 3px; + height: 40px; + line-height:40px; + font-size: 13px; + font-weight: normal; + color: #ccc; + &.is-active { + color: #409EFF; + border-bottom: 3px solid #409EFF; + } + } + .el-tabs__nav-prev, + .el-tabs__nav-next { + width: 20px; + line-height: 34px; + font-size: 18x; + text-align: center; + } + &__box { + position: relative; + box-sizing: border-box; + padding-right: 106px; + width: 100%; + &--close { + .el-tabs__item { + &:first-child { + padding: 0 20px !important; + .el-icon-close { + display: none; + } + } + } + } + } + &__contentmenu{ + position: fixed; + width:120px; + background-color: #fff; + z-index:1024; + border-radius: 5px; + box-shadow: 1px 2px 10px #ccc; + .item{ + cursor: pointer; + font-size: 14px; + padding: 8px 20px 8px 15px; + color: #606266; + &:first-child{ + border-top-left-radius: 5px; + border-top-right-radius: 5px; + } + &:last-child{ + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + } + &:hover{ + background-color: #409EFF; + color:#fff; + } + } + } + &__menu { + position: absolute !important; + top: 3px; + right: 0; + padding: 1px 0 0 15px; + box-sizing: border-box; + } +} \ No newline at end of file diff --git a/src/styles/theme/bule.scss b/src/styles/theme/bule.scss new file mode 100644 index 0000000..258b0a8 --- /dev/null +++ b/src/styles/theme/bule.scss @@ -0,0 +1,46 @@ +.theme-bule{ + + .avue-header,.avue-logo{ + background: #004ca7; + } + .avue-sidebar{ + background: #004ca7; + .el-menu-item.is-active, .el-submenu__title.is-active { + background-color: rgba(0, 0, 0, 0.2); + } + } + .el-dropdown{ + color: #fff; + } + .avue-logo{ + .avue-logo_title{ + color:#fff; + } + } + .avue-breadcrumb{ + i{ + color:#fff; + } + } + + .top-bar__item { + i { + color: #fff; + } + } + .avue-top{ + + .el-menu-item { + i, + span { + color: #fff; + } + &:hover { + i, + span { + color: #fff; + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/theme/cool.scss b/src/styles/theme/cool.scss new file mode 100644 index 0000000..e2e5928 --- /dev/null +++ b/src/styles/theme/cool.scss @@ -0,0 +1,146 @@ +.theme-cool { + .el-menu--popup{ + .el-menu-item{ + background-color: #fff; + i,span{ + color:#666; + } + &:hover{ + i,span{ + color:#333; + } + } + &.is-active { + background-color: #409EFF; + &:before { + content: ''; + top: 0; + left: 0; + bottom: 0; + width: 4px; + background: #409eff; + position: absolute; + } + i,span{ + color:#fff; + } + } + } + } +.avue-header{ + background: linear-gradient(120deg,#25aff3,#008ad3); +} +.avue-tags { + padding: 0 3px; + margin: 8px 0; + box-shadow: none; + background-color: transparent; + .el-tabs__header .el-tabs__item{ + padding: 0 10px !important; + background-color: #fff; + margin-right: 5px; + color: #909399; + border-radius: 3px; + height:30px; + font-size: 12px; + line-height: 30px; + &.is-active { + border: none; + color:#008ad3; + } + } +} +.avue-logo{ + background: #fff; + box-shadow: none; +} +.avue-sidebar--tip{ + background-color:transparent; + color:#333; +} +.el-dropdown{ + color:#fff; +} +.avue-logo_title{ + font-weight: 400; + color:#008ad3; +} +.logo_title, +.avue-breadcrumb +{ + color: #fff ; + i { + color: #fff; + } +} +.avue-top{ + .el-menu-item { + i, + span { + color: #fff ; + } + &:hover { + i, + span { + color: #fff ; + } + } + } +} +.avue-sidebar{ + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15); + background-color: #fff; + padding-top: 70px; + .el-menu-item,.el-submenu__title{ + font-size: 13px; + i,span{ + color:#000; + } + &:hover{ + background: transparent; + i,span{ + color:#000; + } + } + &.is-active { + background-color: #e5f1fb; + &::before{ + width: 0; + } + i,span{ + color: #25aff3; + } + } + } +} +.top-search { + .el-input__inner{ + color: #333; + } + input::-webkit-input-placeholder, + textarea::-webkit-input-placeholder { + /* WebKit browsers */ + color: #fff; + } + input:-moz-placeholder, + textarea:-moz-placeholder { + /* Mozilla Firefox 4 to 18 */ + color: #fff; + } + input::-moz-placeholder, + textarea::-moz-placeholder { + /* Mozilla Firefox 19+ */ + color: #fff; + } + input:-ms-input-placeholder, + textarea:-ms-input-placeholder { + /* Internet Explorer 10+ */ + color: #fff; + } +} +.top-bar__item { + i { + color: #fff; + } +} +} \ No newline at end of file diff --git a/src/styles/theme/d2.scss b/src/styles/theme/d2.scss new file mode 100644 index 0000000..b4d75e4 --- /dev/null +++ b/src/styles/theme/d2.scss @@ -0,0 +1,57 @@ +.theme-d2 { + .avue-logo{ + color: #409EFF; + background-color: #ebf1f6; + box-shadow: none; + .avue-logo_title{ + font-size: 20px; + font-weight: 400; + } + } + .avue-top{ + background-color: #ebf1f6; + box-shadow: none; + } + .avue-main{ + padding: 0 5px; + } + .avue-tags{ + margin-left: 6px; + padding: 0; + border: 1px solid #e4e7ed; + border-radius: 3px; + background-color: #ebf1f6; + box-shadow: none; + .el-tabs__item{ + border-left: 1px solid #cfd7e5 !important; + margin: 0 !important; + background-color: rgba(0,0,0,.03) !important; + color: #606266 !important; + font-size: 14px !important; + font-weight: 500 !important; + &:first-child{ + border-left: none !important; + } + } + .is-active{ + border-bottom:1px solid #fff !important; + background-color: #fff !important; + color: #409EFF !important; + } + } + .avue-sidebar{ + background-color: #ebf1f6; + box-shadow: none; + .el-menu-item,.el-submenu__title{ + i,span{ + color:#606266 + } + &:hover,&.is-active{ + background: hsla(0,0%,100%,.5); + i,span{ + color: #409EFF; + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/theme/dark.scss b/src/styles/theme/dark.scss new file mode 100644 index 0000000..395232b --- /dev/null +++ b/src/styles/theme/dark.scss @@ -0,0 +1,57 @@ +.theme-dark { + .avue-logo{ + color: #fff; + background-color: #2c3643; + box-shadow: none; + .avue-logo_title{ + font-size: 20px; + font-weight: 400; + } + } + .avue-top{ + background-color: #2c3643; + box-shadow: none; + color:#ccc; + i, span{ + color:#ccc; + } + } + .avue-main{ + padding: 0 5px; + } + .avue-tags{ + padding-left: 0; + background-color: #2c3643; + border-color: transparent; + .el-tabs__item{ + margin: 0 !important; + background-color: #262d37; + &.is-active{ + color:#262d37 !important; + background-color:#fff !important; + border-color: #262d37 !important; + } + } + } + .avue-main{ + background-color: #2c3643; + } + .avue-sidebar{ + background-color: #2c3643; + box-shadow: none; + .el-menu-item,.el-submenu__title{ + i,span{ + color:#ccc; + } + &:hover,&.is-active{ + background: #262d37; + i,span{ + color: #fff; + } + &:before{ + background-color: #000; + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/theme/hey.scss b/src/styles/theme/hey.scss new file mode 100644 index 0000000..e9a8ac2 --- /dev/null +++ b/src/styles/theme/hey.scss @@ -0,0 +1,45 @@ +.theme-hey{ + .avue-sidebar{ + background-color: #fff; + box-shadow: 0 1px 4px rgba(0,21,41,.08); + .el-menu-item,.el-submenu__title{ + i,span{ + color: rgba(49,58,70,.8); + } + &:hover{ + background: transparent; + i,span{ + color:#409eff; + } + } + &.is-active { + &:before { + left:auto; + right: 0 ; + } + background-color: #f0f6ff; + i,span{ + color:#409eff; + } + } + } + } + .avue-logo{ + background-color: #fff; + box-shadow: none; + .avue-logo_title{ + color:#409eff; + font-size: 20px; + } + } + .avue-tags{ + background: #f3f6f8; + .el-tabs__item{ + color: rgba(0,0,0,.65) !important; + } + .is-active{ + background-color: #fff; + border-bottom: none !important; + } + } +} \ No newline at end of file diff --git a/src/styles/theme/index.scss b/src/styles/theme/index.scss new file mode 100644 index 0000000..c4449d0 --- /dev/null +++ b/src/styles/theme/index.scss @@ -0,0 +1,30 @@ +// white +@import './white.scss'; + +//dark +@import './dark.scss'; + +// star +@import './star.scss'; + +// vip +@import './vip.scss'; + +// d2 +@import './d2.scss'; + +// bule +@import './bule.scss'; + +//iview +@import './iview.scss'; + +//heyui +@import './hey.scss'; + + +//lite +@import './lte.scss'; + +//cool +@import './cool.scss'; diff --git a/src/styles/theme/iview.scss b/src/styles/theme/iview.scss new file mode 100644 index 0000000..afed508 --- /dev/null +++ b/src/styles/theme/iview.scss @@ -0,0 +1,76 @@ +.theme-iview { + .avue-logo{ + background: #001529; + box-shadow: none; + text-align: center; + .avue-logo_title{ + padding: 5px 8px 8px 8px; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + font-size: 20px; + color:#fff; + font-weight: 500; + display: inline; + background-color: #409EFF; + } + } + .avue-tags{ + padding: 3px 5px 5px 0; + background: #f0f0f0; + box-shadow: inset 0 0 3px 2px hsla(0,0%,39.2%,.1); + .is-active{ + &:before{ + background: #409EFF !important; + } + } + .el-tabs__item{ + padding: 0 15px !important; + position: relative; + height: 32px !important; + line-height:32px !important; + border: 1px solid #e8eaec!important; + color: #515a6e!important; + background: #fff!important; + border-radius: 3px; + &:before{ + content:''; + display: inline-block; + width: 12px; + height: 12px; + margin-right:10px; + border-radius: 50%; + background: #e8eaec; + } + } + } + + .avue-sidebar{ + background: #001529; + .el-menu-item{ + &.is-active { + background-color: #000c17; + &:before { + display: none; + } + i,span{ + color:#409EFF; + } + } + } + .el-submenu{ + .el-menu-item{ + &.is-active { + background-color: #409EFF; + &:before { + display: none; + } + i,span{ + color:#fff; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/theme/lte.scss b/src/styles/theme/lte.scss new file mode 100644 index 0000000..7c110f3 --- /dev/null +++ b/src/styles/theme/lte.scss @@ -0,0 +1,36 @@ +.theme-lte { + .avue-logo{ + background-color: #409EFF; + .avue-logo_title{ + font-weight: 500; + font-size: 20px; + color:#fff; + } + } + .avue-tags{ + .el-tabs__item{ + font-size: 12px !important; + font-weight: 500 !important; + } + } + .avue-sidebar{ + background-color: #263238; + .el-menu-item,.el-submenu__title{ + i,span{ + color: #8a979e; + } + &:hover{ + background-color: #2b373d; + } + &.is-active { + &:before { + display: none; + } + background-color: #2b373d; + i,span{ + color:#fff; + } + } + } + } +} diff --git a/src/styles/theme/star.scss b/src/styles/theme/star.scss new file mode 100644 index 0000000..b05613f --- /dev/null +++ b/src/styles/theme/star.scss @@ -0,0 +1,95 @@ +.theme-star { + .avue-main{ + background: transparent; + } + .avue-contail { + background-image: url("/img/bg/star-squashed.jpg"); + background-size: 100% 100%; + } + .avue-logo{ + color: #fff; + } + .avue-header, + .avue-logo, + .tags-container { + background-color: transparent; + } + .el-card,.error-page { + opacity: .9; + } + .avue-tabs { + padding: 0 20px ; + } + .avue-tags{ + background-color: transparent; + border-top: none; + } + .avue-top{ + .avue-breadcrumb{ + color:#fff; + } + .el-menu-item{ + i,span{ + color:#fff; + } + &.is-active{ + background-color: rgba(0,0,0,.4) + } + } + .el-dropdown{ + color:#fff; + } + } + .avue-sidebar{ + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15); + background-color:transparent; + .el-menu-item,.el-submenu__title{ + i,span{ + color:#fff + } + &:hover{ + background: transparent; + i,span{ + color:#409EFF; + } + } + &.is-active { + background-color: rgba(0,0,0,.4); + i,span{ + color:#fff; + } + } + } + } + + .top-search { + .el-input__inner{ + color: #333; + } + input::-webkit-input-placeholder, + textarea::-webkit-input-placeholder { + /* WebKit browsers */ + color: #fff; + } + input:-moz-placeholder, + textarea:-moz-placeholder { + /* Mozilla Firefox 4 to 18 */ + color: #fff; + } + input::-moz-placeholder, + textarea::-moz-placeholder { + /* Mozilla Firefox 19+ */ + color: #fff; + } + input:-ms-input-placeholder, + textarea:-ms-input-placeholder { + /* Internet Explorer 10+ */ + color: #fff; + } + } + .top-bar__item { + i { + color: #fff; + } + } +} \ No newline at end of file diff --git a/src/styles/theme/vip.scss b/src/styles/theme/vip.scss new file mode 100644 index 0000000..8a0ef09 --- /dev/null +++ b/src/styles/theme/vip.scss @@ -0,0 +1,92 @@ +.theme-vip { + $color:rgba(246,202,157,.7); + $is_active_color:#f6ca9d; + .avue-header{ + background-color: #20222a; + } + .el-dropdown{ + color: $color; + } + .avue-logo{ + .avue-logo_title{ + background-image:-webkit-gradient(linear,left top,left bottom,from($color),to( $is_active_color)); + -webkit-background-clip:text; + -webkit-text-fill-color:transparent; + font-weight: 400; + } + } + .avue-breadcrumb{ + i{ + color: $color; + } + } + .avue-sidebar{ + .el-menu-item{ + &.is-active { + &:before { + background: $color; + } + i,span{ + color: $is_active_color; + } + } + } + } + .avue-tags{ + .el-tabs__item{ + color: rgba(0, 0, 0, 0.4) !important; + &.is-active{ + color:$is_active_color !important; + border-color: $is_active_color !important; + } + &:before{ + background: $is_active_color; + } + } + } + .top-search { + .el-input__inner{ + color: $color; + } + input::-webkit-input-placeholder, + textarea::-webkit-input-placeholder { + /* WebKit browsers */ + color: $color; + } + input:-moz-placeholder, + textarea:-moz-placeholder { + /* Mozilla Firefox 4 to 18 */ + color: $color; + } + input::-moz-placeholder, + textarea::-moz-placeholder { + /* Mozilla Firefox 19+ */ + color: $color; + } + input:-ms-input-placeholder, + textarea:-ms-input-placeholder { + /* Internet Explorer 10+ */ + color: $color; + } +} + .top-bar__item { + i { + color: $color; + } + } + .avue-top{ + + .el-menu-item { + i, + span { + color: $color; + } + &:hover { + i, + span { + color:$is_active_color; + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/theme/white.scss b/src/styles/theme/white.scss new file mode 100644 index 0000000..ed81bc2 --- /dev/null +++ b/src/styles/theme/white.scss @@ -0,0 +1,120 @@ +.theme-white { + .el-menu--popup{ + .el-menu-item{ + background-color: #fff; + i,span{ + color:#666; + } + &:hover{ + i,span{ + color:#333; + } + } + &.is-active { + background-color: #409EFF; + &:before { + content: ''; + top: 0; + left: 0; + bottom: 0; + width: 4px; + background: #409eff; + position: absolute; + } + i,span{ + color:#fff; + } + } + } + } + .avue-header, + .avue-logo, + .tags-container { + background-color: #409EFF; + } + .avue-sidebar--tip{ + background-color:transparent; + color:#333; + } + .el-dropdown{ + color:#fff; + } + .avue-logo_title{ + font-weight: 400; + color:#fff; + } + .logo_title, + .avue-breadcrumb + { + color: #fff ; + i { + color: #fff; + } + } + .avue-top{ + .el-menu-item { + i, + span { + color: #fff ; + } + &:hover { + i, + span { + color: #fff ; + } + } + } + } + .avue-sidebar{ + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15); + background-color: #fff; + padding-top: 70px; + .el-menu-item,.el-submenu__title{ + i,span{ + color:#666 + } + &:hover{ + background: transparent; + i,span{ + color:#333; + } + } + &.is-active { + background-color: #409EFF; + i,span{ + color:#fff; + } + } + } + } + .top-search { + .el-input__inner{ + color: #333; + } + input::-webkit-input-placeholder, + textarea::-webkit-input-placeholder { + /* WebKit browsers */ + color: #fff; + } + input:-moz-placeholder, + textarea:-moz-placeholder { + /* Mozilla Firefox 4 to 18 */ + color: #fff; + } + input::-moz-placeholder, + textarea::-moz-placeholder { + /* Mozilla Firefox 19+ */ + color: #fff; + } + input:-ms-input-placeholder, + textarea:-ms-input-placeholder { + /* Internet Explorer 10+ */ + color: #fff; + } + } + .top-bar__item { + i { + color: #fff; + } + } +} \ No newline at end of file diff --git a/src/styles/top.scss b/src/styles/top.scss new file mode 100644 index 0000000..a3f9b81 --- /dev/null +++ b/src/styles/top.scss @@ -0,0 +1,108 @@ +$height:64px; +.avue-top { + padding: 0 20px; + position: relative; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15); + color: rgba(0, 0, 0, .65); + font-size: 28px; + height: $height; + line-height: $height; + box-sizing: border-box; + white-space: nowrap; + .el-menu-item{ + i,span{ + font-size: 13px; + } + } + .el-menu--horizontal>.el-menu-item { + height: $height; + line-height: $height; + } +} +.avue-breadcrumb { + height: 100%; + i{ + font-size: 30px !important; + } + &--active { + transform:rotate(90deg); + } +} + +.top-menu { + box-sizing: border-box; + .el-menu-item { + padding: 0 10px; + border:none !important; + } +} + +.top-search { + line-height: $height; + position: absolute !important; + left: 20px; + top:0; + width: 400px !important; + .el-input__inner { + font-size: 13px; + border: none; + background-color: transparent; + } +} + +.top-bar__img { + margin: 0 8px 0 5px; + padding: 2px; + width: 30px; + height: 30px; + border-radius: 100%; + box-sizing: border-box; + border: 1px solid #eee; + vertical-align: middle; +} + +.top-bar__left, +.top-bar__right { + height: $height; + position: absolute; + top: 0; + i{ + line-height: $height; + } +} + +.top-bar__left { + left: 20px; +} + +.top-bar__right { + right: 20px; + display: flex; + align-items: center; +} + +.top-bar__item { + position: relative; + display: inline-block; + height: $height; + margin:0 10px; + font-size: 16px; + &--show { + display: inline-block !important; + } + .el-badge__content.is-fixed{ + top:12px; + right: 5px; + } +} + +.top-bar__title { + height: 100%; + padding:0 40px; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: inherit; + font-weight: 400; +} diff --git a/src/styles/variables.scss b/src/styles/variables.scss new file mode 100644 index 0000000..219e4a7 --- /dev/null +++ b/src/styles/variables.scss @@ -0,0 +1,2 @@ +//main +$mainBg: #409eff; diff --git a/src/util/admin.js b/src/util/admin.js new file mode 100644 index 0000000..2a86e16 --- /dev/null +++ b/src/util/admin.js @@ -0,0 +1,14 @@ +export default { + getScreen: function () { + var width = document.body.clientWidth; + if (width >= 1200) { + return 3; //大屏幕 + } else if (width >= 992) { + return 2; //中屏幕 + } else if (width >= 768) { + return 1; //小屏幕 + } else { + return 0; //超小屏幕 + } + } +} \ No newline at end of file diff --git a/src/util/auth.js b/src/util/auth.js new file mode 100644 index 0000000..cb19ca4 --- /dev/null +++ b/src/util/auth.js @@ -0,0 +1,27 @@ +import Cookies from 'js-cookie' +const TokenKey = 'saber-access-token' +const RefreshTokenKey = 'saber-refresh-token' +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token) +} + +export function getRefreshToken() { + return Cookies.get(RefreshTokenKey) +} + +export function setRefreshToken(token) { + return Cookies.set(RefreshTokenKey, token) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} + +export function removeRefreshToken() { + return Cookies.remove(RefreshTokenKey) +} + diff --git a/src/util/crypto.js b/src/util/crypto.js new file mode 100644 index 0000000..be5daeb --- /dev/null +++ b/src/util/crypto.js @@ -0,0 +1,80 @@ +import CryptoJS from 'crypto-js' + +export default class crypto { + // 使用AesUtil.genAesKey()生成,需和后端配置保持一致 + static aesKey = "O2BEeIv399qHQNhD6aGW8R8DEj4bqHXm"; + + // 使用DesUtil.genDesKey()生成,需和后端配置保持一致 + static desKey = "jMVCBsFGDQr1USHo"; + + /** + * aes 加密方法 + * @param data + * @returns {*} + */ + static encrypt(data) { + return this.encryptAES(data, this.aesKey); + } + + /** + * aes 解密方法 + * @param data + * @returns {*} + */ + static decrypt(data) { + return this.decryptAES(data, this.aesKey); + } + + /** + * aes 加密方法,同java:AesUtil.encryptToBase64(text, aesKey); + */ + static encryptAES(data, key) { + const dataBytes = CryptoJS.enc.Utf8.parse(data); + const keyBytes = CryptoJS.enc.Utf8.parse(key); + const encrypted = CryptoJS.AES.encrypt(dataBytes, keyBytes, { + iv: keyBytes, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return CryptoJS.enc.Base64.stringify(encrypted.ciphertext); + } + + /** + * aes 解密方法,同java:AesUtil.decryptFormBase64ToString(encrypt, aesKey); + */ + static decryptAES(data, key) { + const keyBytes = CryptoJS.enc.Utf8.parse(key); + const decrypted = CryptoJS.AES.decrypt(data, keyBytes, { + iv: keyBytes, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return CryptoJS.enc.Utf8.stringify(decrypted); + } + + /** + * des 加密方法,同java:DesUtil.encryptToBase64(text, desKey) + */ + static encryptDES(data, key) { + const keyHex = CryptoJS.enc.Utf8.parse(key); + const encrypted = CryptoJS.DES.encrypt(data, keyHex, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return encrypted.toString(); + } + + /** + * des 解密方法,同java:DesUtil.decryptFormBase64(encryptBase64, desKey); + */ + static decryptDES(data, key) { + const keyHex = CryptoJS.enc.Utf8.parse(key); + const decrypted = CryptoJS.DES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(data) + }, keyHex, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return decrypted.toString(CryptoJS.enc.Utf8); + } +} diff --git a/src/util/date.js b/src/util/date.js new file mode 100644 index 0000000..4c1f250 --- /dev/null +++ b/src/util/date.js @@ -0,0 +1,51 @@ +export const calcDate = (date1, date2) => { + let date3 = date2 - date1; + + let days = Math.floor(date3 / (24 * 3600 * 1000)) + + let leave1 = date3 % (24 * 3600 * 1000) //计算天数后剩余的毫秒数 + let hours = Math.floor(leave1 / (3600 * 1000)) + + let leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数 + let minutes = Math.floor(leave2 / (60 * 1000)) + + let leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数 + let seconds = Math.round(date3 / 1000) + return { + leave1, + leave2, + leave3, + days: days, + hours: hours, + minutes: minutes, + seconds: seconds, + } +} + +/** + * 日期格式化 + */ +export function dateFormat(date, format) { + format = format || 'yyyy-MM-dd hh:mm:ss'; + if (date !== 'Invalid Date') { + let o = { + "M+": date.getMonth() + 1, //month + "d+": date.getDate(), //day + "h+": date.getHours(), //hour + "m+": date.getMinutes(), //minute + "s+": date.getSeconds(), //second + "q+": Math.floor((date.getMonth() + 3) / 3), //quarter + "S": date.getMilliseconds() //millisecond + } + if (/(y+)/.test(format)) format = format.replace(RegExp.$1, + (date.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (let k in o) + if (new RegExp("(" + k + ")").test(format)) + format = format.replace(RegExp.$1, + RegExp.$1.length === 1 ? o[k] : + ("00" + o[k]).substr(("" + o[k]).length)); + return format; + } + return ''; + +} diff --git a/src/util/download.js b/src/util/download.js new file mode 100644 index 0000000..865b8ab --- /dev/null +++ b/src/util/download.js @@ -0,0 +1,24 @@ +import {dateFormat} from "@/util/date"; +export const downloadFiles = (res, msg, type, isTime = true) => { + let blob = new Blob([res.data]); + let contentDisposition = res.headers["content-disposition"]; + let patt = new RegExp("filename=([^;]+\\.[^\\.;]+);*"); + let result = patt.exec(contentDisposition); + let filename; + if (result) { + filename = result[1]; + } else { + const time = dateFormat(new Date(), "yyyyMMddHHmmss"); + filename = msg + (isTime ? time : "") + "." + type; + } + let downloadElement = document.createElement("a"); + let href = window.URL.createObjectURL(blob); //创建下载的链接 + let reg = /^["](.*)["]$/g; + downloadElement.style.display = "none"; + downloadElement.href = href; + downloadElement.download = decodeURI(filename.replace(reg, "$1")); //下载后文件名 + document.body.appendChild(downloadElement); + downloadElement.click(); //点击下载 + document.body.removeChild(downloadElement); //下载完成移除元素 + window.URL.revokeObjectURL(href); //释放掉blob对象 +} diff --git a/src/util/enum.js b/src/util/enum.js new file mode 100644 index 0000000..e28d3a8 --- /dev/null +++ b/src/util/enum.js @@ -0,0 +1,21 @@ +export const equipmentEnum = { + powerTypeEnum: [ + { value: 'Bat', label: '电池供电' }, + { value: 'DC', label: '直流供电' }, + { value: 'AC', label: '交流供电' }, + { value: 'CT', label: 'CT 取电' }, + { value: 'Solar', label: '太阳能取电' }, + ], + onlineModeEnum: [ + { value: 'Active', label: '在线模式' }, + { value: 'Sleep', label: '间歇休眠' }, + ], + onlineEnum: [ + { value: 0, label: '离线' }, + { value: 1, label: '在线' }, + ], + netTypeEnum: [ + { value: 'PTN', label: 'PTN 有线网络接入' }, + { value: 'LTE', label: '运营商 VPN 接入' }, + ], +} diff --git a/src/util/flow.js b/src/util/flow.js new file mode 100644 index 0000000..7c9e918 --- /dev/null +++ b/src/util/flow.js @@ -0,0 +1,20 @@ +/** + * 工作流统一分类格式 + * @param category 分类字典号 + * @returns {string} + */ +export function flowCategory(category) { + return `flow_${category}`; +} + +/** + * 根据key获取流程路由 + * @param routes + * @param key + */ +export function flowRoute(routes, key) { + const data = routes.filter(d => { + return d.routeKey === key; + }); + return data.length === 0 ? [] : data[0].routeValue; +} diff --git a/src/util/func.js b/src/util/func.js new file mode 100644 index 0000000..9b9f692 --- /dev/null +++ b/src/util/func.js @@ -0,0 +1,93 @@ +/** + * 通用工具类 + */ +export default class func { + /** + * 不为空 + * @param val + * @returns {boolean} + */ + static notEmpty(val) { + return !this.isEmpty(val); + } + + /** + * 是否为定义 + * @param val + * @returns {boolean} + */ + static isUndefined(val) { + return val === null || typeof val === 'undefined'; + } + + /** + * 为空 + * @param val + * @returns {boolean} + */ + static isEmpty(val) { + if ( + val === null || + typeof val === 'undefined' || + (typeof val === 'string' && val === '' && val !== 'undefined') + ) { + return true; + } + return false; + } + + /** + * 强转int型 + * @param val + * @param defaultValue + * @returns {number} + */ + static toInt(val, defaultValue) { + if (this.isEmpty(val)) { + return defaultValue === undefined ? -1 : defaultValue; + } + const num = parseInt(val, 0); + return Number.isNaN(num) ? (defaultValue === undefined ? -1 : defaultValue) : num; + } + + /** + * Json强转为Form类型 + * @param obj + * @returns {FormData} + */ + static toFormData(obj) { + const data = new FormData(); + Object.keys(obj).forEach(key => { + data.append(key, Array.isArray(obj[key]) ? obj[key].join(',') : obj[key]); + }); + return data; + } + + /** + * date类转为字符串格式 + * @param date + * @param format + * @returns {null} + */ + static format(date, format = 'YYYY-MM-DD HH:mm:ss') { + return date ? date.format(format) : null; + } + + /** + * 根据逗号联合 + * @param arr + * @returns {string} + */ + static join(arr) { + return arr ? arr.join(',') : ''; + } + + /** + * 根据逗号分隔 + * @param str + * @returns {string} + */ + static split(str) { + return str ? String(str).split(',') : ''; + } +} diff --git a/src/util/store.js b/src/util/store.js new file mode 100644 index 0000000..6388ec2 --- /dev/null +++ b/src/util/store.js @@ -0,0 +1,121 @@ +import { + validatenull +} from '@/util/validate'; +import website from '@/config/website' + +const keyName = website.key + '-'; +/** + * 存储localStorage + */ +export const setStore = (params = {}) => { + let { + name, + content, + type, + } = params; + name = keyName + name + let obj = { + dataType: typeof (content), + content: content, + type: type, + datetime: new Date().getTime() + } + if (type) window.sessionStorage.setItem(name, JSON.stringify(obj)); + else window.localStorage.setItem(name, JSON.stringify(obj)); +} +/** + * 获取localStorage + */ + +export const getStore = (params = {}) => { + let { + name, + debug + } = params; + name = keyName + name + let obj = {}, + content; + obj = window.sessionStorage.getItem(name); + if (validatenull(obj)) obj = window.localStorage.getItem(name); + if (validatenull(obj)) return; + try { + obj = JSON.parse(obj); + } catch{ + return obj; + } + if (debug) { + return obj; + } + if (obj.dataType == 'string') { + content = obj.content; + } else if (obj.dataType == 'number') { + content = Number(obj.content); + } else if (obj.dataType == 'boolean') { + content = eval(obj.content); + } else if (obj.dataType == 'object') { + content = obj.content; + } + return content; +} +/** + * 删除localStorage + */ +export const removeStore = (params = {}) => { + let { + name, + type + } = params; + name = keyName + name + if (type) { + window.sessionStorage.removeItem(name); + } else { + window.localStorage.removeItem(name); + } + +} + +/** + * 获取全部localStorage + */ +export const getAllStore = (params = {}) => { + let list = []; + let { + type + } = params; + if (type) { + for (let i = 0; i <= window.sessionStorage.length; i++) { + list.push({ + name: window.sessionStorage.key(i), + content: getStore({ + name: window.sessionStorage.key(i), + type: 'session' + }) + }) + } + } else { + for (let i = 0; i <= window.localStorage.length; i++) { + list.push({ + name: window.localStorage.key(i), + content: getStore({ + name: window.localStorage.key(i), + }) + }) + + } + } + return list; + +} + +/** + * 清空全部localStorage + */ +export const clearStore = (params = {}) => { + let { type } = params; + if (type) { + window.sessionStorage.clear(); + } else { + window.localStorage.clear() + } + +} \ No newline at end of file diff --git a/src/util/util.js b/src/util/util.js new file mode 100644 index 0000000..1180684 --- /dev/null +++ b/src/util/util.js @@ -0,0 +1,371 @@ +import {validatenull} from './validate' +//表单序列化 +export const serialize = data => { + let list = []; + Object.keys(data).forEach(ele => { + list.push(`${ele}=${data[ele]}`) + }) + return list.join('&'); +}; +export const getObjType = obj => { + var toString = Object.prototype.toString; + var map = { + '[object Boolean]': 'boolean', + '[object Number]': 'number', + '[object String]': 'string', + '[object Function]': 'function', + '[object Array]': 'array', + '[object Date]': 'date', + '[object RegExp]': 'regExp', + '[object Undefined]': 'undefined', + '[object Null]': 'null', + '[object Object]': 'object' + }; + if (obj instanceof Element) { + return 'element'; + } + return map[toString.call(obj)]; +}; +export const getViewDom = () => { + return window.document.getElementById('avue-view').getElementsByClassName('el-scrollbar__wrap')[0] +} +/** + * 对象深拷贝 + */ +export const deepClone = data => { + var type = getObjType(data); + var obj; + if (type === 'array') { + obj = []; + } else if (type === 'object') { + obj = {}; + } else { + //不再具有下一层次 + return data; + } + if (type === 'array') { + for (var i = 0, len = data.length; i < len; i++) { + obj.push(deepClone(data[i])); + } + } else if (type === 'object') { + for (var key in data) { + obj[key] = deepClone(data[key]); + } + } + return obj; +}; +/** + * 设置灰度模式 + */ +export const toggleGrayMode = (status) => { + if (status) { + document.body.className = document.body.className + ' grayMode'; + } else { + document.body.className = document.body.className.replace(' grayMode', ''); + } +}; +/** + * 设置主题 + */ +export const setTheme = (name) => { + document.body.className = name; +} + +/** + * 加密处理 + */ +export const encryption = (params) => { + let { + data, + type, + param, + key + } = params; + let result = JSON.parse(JSON.stringify(data)); + if (type == 'Base64') { + param.forEach(ele => { + result[ele] = btoa(result[ele]); + }) + } else if (type == 'Aes') { + param.forEach(ele => { + result[ele] = window.CryptoJS.AES.encrypt(result[ele], key).toString(); + }) + + } + return result; +}; + + +/** + * 浏览器判断是否全屏 + */ +export const fullscreenToggel = () => { + if (fullscreenEnable()) { + exitFullScreen(); + } else { + reqFullScreen(); + } +}; +/** + * esc监听全屏 + */ +export const listenfullscreen = (callback) => { + function listen() { + callback() + } + + document.addEventListener("fullscreenchange", function () { + listen(); + }); + document.addEventListener("mozfullscreenchange", function () { + listen(); + }); + document.addEventListener("webkitfullscreenchange", function () { + listen(); + }); + document.addEventListener("msfullscreenchange", function () { + listen(); + }); +}; +/** + * 浏览器判断是否全屏 + */ +export const fullscreenEnable = () => { + var isFullscreen = document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen + return isFullscreen; +} + +/** + * 浏览器全屏 + */ +export const reqFullScreen = () => { + if (document.documentElement.requestFullScreen) { + document.documentElement.requestFullScreen(); + } else if (document.documentElement.webkitRequestFullScreen) { + document.documentElement.webkitRequestFullScreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.documentElement.mozRequestFullScreen(); + } +}; +/** + * 浏览器退出全屏 + */ +export const exitFullScreen = () => { + if (document.documentElement.requestFullScreen) { + document.exitFullScreen(); + } else if (document.documentElement.webkitRequestFullScreen) { + document.webkitCancelFullScreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.mozCancelFullScreen(); + } +}; +/** + * 递归寻找子类的父类 + */ + +export const findParent = (menu, id) => { + for (let i = 0; i < menu.length; i++) { + if (menu[i].children.length != 0) { + for (let j = 0; j < menu[i].children.length; j++) { + if (menu[i].children[j].id == id) { + return menu[i]; + } else { + if (menu[i].children[j].children.length != 0) { + return findParent(menu[i].children[j].children, id); + } + } + } + } + } +}; +/** + * 判断2个对象属性和值是否相等 + */ + +/** + * 动态插入css + */ + +export const loadStyle = url => { + const link = document.createElement('link'); + link.type = 'text/css'; + link.rel = 'stylesheet'; + link.href = url; + const head = document.getElementsByTagName('head')[0]; + head.appendChild(link); +}; +/** + * 判断路由是否相等 + */ +export const diff = (obj1, obj2) => { + delete obj1.close; + var o1 = obj1 instanceof Object; + var o2 = obj2 instanceof Object; + if (!o1 || !o2) { /* 判断不是对象 */ + return obj1 === obj2; + } + + if (Object.keys(obj1).length !== Object.keys(obj2).length) { + return false; + //Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = ["a", "b", "c"];console.log(Object.keys(arr))->0,1,2; + } + + for (var attr in obj1) { + var t1 = obj1[attr] instanceof Object; + var t2 = obj2[attr] instanceof Object; + if (t1 && t2) { + return diff(obj1[attr], obj2[attr]); + } else if (obj1[attr] !== obj2[attr]) { + return false; + } + } + return true; +} +/** + * 根据字典的value显示label + */ +export const findByvalue = (dic, value) => { + let result = ''; + if (validatenull(dic)) return value; + if (typeof (value) == 'string' || typeof (value) == 'number' || typeof (value) == 'boolean') { + let index = 0; + index = findArray(dic, value); + if (index != -1) { + result = dic[index].label; + } else { + result = value; + } + } else if (value instanceof Array) { + result = []; + let index = 0; + value.forEach(ele => { + index = findArray(dic, ele); + if (index != -1) { + result.push(dic[index].label); + } else { + result.push(value); + } + }); + result = result.toString(); + } + return result; +}; +/** + * 根据字典的value查找对应的index + */ +export const findArray = (dic, value) => { + for (let i = 0; i < dic.length; i++) { + if (dic[i].value == value) { + return i; + } + } + return -1; +}; +/** + * 生成随机len位数字 + */ +export const randomLenNum = (len, date) => { + let random = ''; + random = Math.ceil(Math.random() * 100000000000000).toString().substr(0, len ? len : 4); + if (date) random = random + Date.now(); + return random; +}; +/** + * 打开小窗口 + */ +export const openWindow = (url, title, w, h) => { + // Fixes dual-screen position Most browsers Firefox + const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left + const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top + + const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width + const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height + + const left = ((width / 2) - (w / 2)) + dualScreenLeft + const top = ((height / 2) - (h / 2)) + dualScreenTop + const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left) + + // Puts focus on the newWindow + if (window.focus) { + newWindow.focus() + } +} + +/** + * 获取顶部地址栏地址 + */ +export const getTopUrl = () => { + return window.location.href.split("/#/")[0]; +} + +/** + * 获取url参数 + * @param name 参数名 + */ +export const getQueryString = (name) => { + let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); + let r = window.location.search.substr(1).match(reg); + if (r != null) return unescape(decodeURI(r[2])); + return null; +} + +/** + * 下载文件 + * @param {String} path - 文件地址 + * @param {String} name - 文件名,eg: test.png + */ +export const downloadFileBlob = (path, name) => { + const xhr = new XMLHttpRequest(); + xhr.open('get', path); + xhr.responseType = 'blob'; + xhr.send(); + xhr.onload = function () { + if (this.status === 200 || this.status === 304) { + // 如果是IE10及以上,不支持download属性,采用msSaveOrOpenBlob方法,但是IE10以下也不支持msSaveOrOpenBlob + if ('msSaveOrOpenBlob' in navigator) { + navigator.msSaveOrOpenBlob(this.response, name); + return; + } + const url = URL.createObjectURL(this.response); + const a = document.createElement('a'); + a.style.display = 'none'; + a.href = url; + a.download = name; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); + } + }; +} + +/** + * 下载文件 + * @param {String} path - 文件地址 + * @param {String} name - 文件名,eg: test.png + */ +export const downloadFileBase64 = (path, name) => { + const xhr = new XMLHttpRequest(); + xhr.open('get', path); + xhr.responseType = 'blob'; + xhr.send(); + xhr.onload = function () { + if (this.status === 200 || this.status === 304) { + const fileReader = new FileReader(); + fileReader.readAsDataURL(this.response); + fileReader.onload = function () { + const a = document.createElement('a'); + a.style.display = 'none'; + a.href = this.result; + a.download = name; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + }; + } + }; +} + +export const isEmptyObject = (obj) => { + return Object.prototype.toString.call(obj) === '[object Object]' && Object.keys(obj).length === 0; +}; diff --git a/src/util/validate.js b/src/util/validate.js new file mode 100644 index 0000000..a774710 --- /dev/null +++ b/src/util/validate.js @@ -0,0 +1,253 @@ +/** + * Created by jiachenpan on 16/11/18. + */ + +export function isvalidUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} + +/* 合法uri*/ +export function validateURL(textval) { + const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return urlregex.test(textval) +} +/** + * 邮箱 + * @param {*} s + */ +export function isEmail(s) { + return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s) +} + +/** + * 手机号码 + * @param {*} s + */ +export function isMobile(s) { + return /^1[0-9]{10}$/.test(s) +} + +/** + * 电话号码 + * @param {*} s + */ +export function isPhone(s) { + return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s) +} + +/** + * URL地址 + * @param {*} s + */ +export function isURL(s) { + return /^http[s]?:\/\/.*/.test(s) +} + +/* 小写字母*/ +export function validateLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/* 大写字母*/ +export function validateUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/* 大小写字母*/ +export function validatAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} +/*验证pad还是pc*/ +export const vaildatePc = function() { + const userAgentInfo = navigator.userAgent; + const Agents = ["Android", "iPhone", + "SymbianOS", "Windows Phone", + "iPad", "iPod" + ]; + let flag = true; + for (var v = 0; v < Agents.length; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; + } + /** + * validate email + * @param email + * @returns {boolean} + */ +export function validateEmail(email) { + const re = /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(email) +} + +/** + * 判断身份证号码 + */ +export function cardid(code) { + let list = []; + let result = true; + let msg = ''; + var city = { + 11: "北京", + 12: "天津", + 13: "河北", + 14: "山西", + 15: "内蒙古", + 21: "辽宁", + 22: "吉林", + 23: "黑龙江 ", + 31: "上海", + 32: "江苏", + 33: "浙江", + 34: "安徽", + 35: "福建", + 36: "江西", + 37: "山东", + 41: "河南", + 42: "湖北 ", + 43: "湖南", + 44: "广东", + 45: "广西", + 46: "海南", + 50: "重庆", + 51: "四川", + 52: "贵州", + 53: "云南", + 54: "西藏 ", + 61: "陕西", + 62: "甘肃", + 63: "青海", + 64: "宁夏", + 65: "新疆", + 71: "台湾", + 81: "香港", + 82: "澳门", + 91: "国外 " + }; + if (!validatenull(code)) { + if (code.length == 18) { + if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) { + msg = "证件号码格式错误"; + } else if (!city[code.substr(0, 2)]) { + msg = "地址编码错误"; + } else { + //18位身份证需要验证最后一位校验位 + code = code.split(''); + //∑(ai×Wi)(mod 11) + //加权因子 + var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; + //校验位 + var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x']; + var sum = 0; + var ai = 0; + var wi = 0; + for (var i = 0; i < 17; i++) { + ai = code[i]; + wi = factor[i]; + sum += ai * wi; + } + if (parity[sum % 11] != code[17]) { + msg = "证件号码校验位错误"; + } else { + result = false; + } + + } + } else { + msg = "证件号码长度不为18位"; + } + + } else { + msg = "证件号码不能为空"; + } + list.push(result); + list.push(msg); + return list; +} +/** + * 判断手机号码是否正确 + */ +export function isvalidatemobile(phone) { + let list = []; + let result = true; + let msg = ''; + var isPhone = /^0\d{2,3}-?\d{7,8}$/; + //增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678] + if (!validatenull(phone)) { + if (phone.length == 11) { + if (isPhone.test(phone)) { + msg = '手机号码格式不正确'; + } else { + result = false; + } + } else { + msg = '手机号码长度不为11位'; + } + } else { + msg = '手机号码不能为空'; + } + list.push(result); + list.push(msg); + return list; +} +/** + * 判断姓名是否正确 + */ +export function validatename(name) { + var regName = /^[\u4e00-\u9fa5]{2,4}$/; + if (!regName.test(name)) return false; + return true; +} +/** + * 判断是否为整数 + */ +export function validatenum(num, type) { + let regName = /[^\d.]/g; + if (type == 1) { + if (!regName.test(num)) return false; + } else if (type == 2) { + regName = /[^\d]/g; + if (!regName.test(num)) return false; + } + return true; +} +/** + * 判断是否为小数 + */ +export function validatenumord(num, type) { + let regName = /[^\d.]/g; + if (type == 1) { + if (!regName.test(num)) return false; + } else if (type == 2) { + regName = /[^\d.]/g; + if (!regName.test(num)) return false; + } + return true; +} +/** + * 判断是否为空 + */ +export function validatenull(val) { + if (typeof val == 'boolean') { + return false; + } + if (typeof val == 'number') { + return false; + } + if (val instanceof Array) { + if (val.length == 0) return true; + } else if (val instanceof Object) { + if (JSON.stringify(val) === '{}') return true; + } else { + if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true; + return false; + } + return false; +} \ No newline at end of file diff --git a/src/views/authority/apiscope.vue b/src/views/authority/apiscope.vue new file mode 100644 index 0000000..3d44de1 --- /dev/null +++ b/src/views/authority/apiscope.vue @@ -0,0 +1,643 @@ + + + diff --git a/src/views/authority/datascope.vue b/src/views/authority/datascope.vue new file mode 100644 index 0000000..6119ef5 --- /dev/null +++ b/src/views/authority/datascope.vue @@ -0,0 +1,727 @@ + + + + diff --git a/src/views/authority/role.vue b/src/views/authority/role.vue new file mode 100644 index 0000000..1970a36 --- /dev/null +++ b/src/views/authority/role.vue @@ -0,0 +1,380 @@ + + + diff --git a/src/views/base/region.vue b/src/views/base/region.vue new file mode 100644 index 0000000..fa2aa3d --- /dev/null +++ b/src/views/base/region.vue @@ -0,0 +1,417 @@ + + + + + diff --git a/src/views/bill/components/check/index.vue b/src/views/bill/components/check/index.vue new file mode 100644 index 0000000..99faa47 --- /dev/null +++ b/src/views/bill/components/check/index.vue @@ -0,0 +1,103 @@ + + diff --git a/src/views/bill/components/checklist/index.vue b/src/views/bill/components/checklist/index.vue new file mode 100644 index 0000000..7cee586 --- /dev/null +++ b/src/views/bill/components/checklist/index.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/views/bill/daily.vue b/src/views/bill/daily.vue new file mode 100644 index 0000000..fed205b --- /dev/null +++ b/src/views/bill/daily.vue @@ -0,0 +1,333 @@ + + + + + diff --git a/src/views/bill/monthlybill.vue b/src/views/bill/monthlybill.vue new file mode 100644 index 0000000..8ddaec4 --- /dev/null +++ b/src/views/bill/monthlybill.vue @@ -0,0 +1,331 @@ + + + + + diff --git a/src/views/bill/sourcedaily.vue b/src/views/bill/sourcedaily.vue new file mode 100644 index 0000000..1163a5d --- /dev/null +++ b/src/views/bill/sourcedaily.vue @@ -0,0 +1,361 @@ + + + + + diff --git a/src/views/bill/sourcemonthlybill.vue b/src/views/bill/sourcemonthlybill.vue new file mode 100644 index 0000000..6c0e395 --- /dev/null +++ b/src/views/bill/sourcemonthlybill.vue @@ -0,0 +1,350 @@ + + + + + diff --git a/src/views/bizLog/checkLog/check.vue b/src/views/bizLog/checkLog/check.vue new file mode 100644 index 0000000..c5bb4d5 --- /dev/null +++ b/src/views/bizLog/checkLog/check.vue @@ -0,0 +1,394 @@ + + + + + diff --git a/src/views/customer/api.vue b/src/views/customer/api.vue new file mode 100644 index 0000000..7bb513d --- /dev/null +++ b/src/views/customer/api.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/customer/component/cache.vue b/src/views/customer/component/cache.vue new file mode 100644 index 0000000..3c05785 --- /dev/null +++ b/src/views/customer/component/cache.vue @@ -0,0 +1,96 @@ + + diff --git a/src/views/customer/component/change.vue b/src/views/customer/component/change.vue new file mode 100644 index 0000000..09bcf15 --- /dev/null +++ b/src/views/customer/component/change.vue @@ -0,0 +1,137 @@ + + diff --git a/src/views/customer/component/option.vue b/src/views/customer/component/option.vue new file mode 100644 index 0000000..2554fac --- /dev/null +++ b/src/views/customer/component/option.vue @@ -0,0 +1,90 @@ + + diff --git a/src/views/customer/index.vue b/src/views/customer/index.vue new file mode 100644 index 0000000..6ea1d9b --- /dev/null +++ b/src/views/customer/index.vue @@ -0,0 +1,1251 @@ + + + + + diff --git a/src/views/customerApi/index.vue b/src/views/customerApi/index.vue new file mode 100644 index 0000000..4fe591e --- /dev/null +++ b/src/views/customerApi/index.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/customerBill/daily.vue b/src/views/customerBill/daily.vue new file mode 100644 index 0000000..d9d4071 --- /dev/null +++ b/src/views/customerBill/daily.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/src/views/customerBill/month.vue b/src/views/customerBill/month.vue new file mode 100644 index 0000000..8ce8b58 --- /dev/null +++ b/src/views/customerBill/month.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/views/desk/notice.vue b/src/views/desk/notice.vue new file mode 100644 index 0000000..6ede0b1 --- /dev/null +++ b/src/views/desk/notice.vue @@ -0,0 +1,294 @@ + + + + + diff --git a/src/views/equipment/index.vue b/src/views/equipment/index.vue new file mode 100644 index 0000000..014dec6 --- /dev/null +++ b/src/views/equipment/index.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/flow/deploy.vue b/src/views/flow/deploy.vue new file mode 100644 index 0000000..311b86a --- /dev/null +++ b/src/views/flow/deploy.vue @@ -0,0 +1,154 @@ + + + diff --git a/src/views/flow/follow.vue b/src/views/flow/follow.vue new file mode 100644 index 0000000..fbaa282 --- /dev/null +++ b/src/views/flow/follow.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/views/flow/manager.vue b/src/views/flow/manager.vue new file mode 100644 index 0000000..125fccf --- /dev/null +++ b/src/views/flow/manager.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/views/flow/model.vue b/src/views/flow/model.vue new file mode 100644 index 0000000..ccdbf65 --- /dev/null +++ b/src/views/flow/model.vue @@ -0,0 +1,402 @@ + + + + + diff --git a/src/views/iot/components/ConsumerDetail/Client.vue b/src/views/iot/components/ConsumerDetail/Client.vue new file mode 100644 index 0000000..1479298 --- /dev/null +++ b/src/views/iot/components/ConsumerDetail/Client.vue @@ -0,0 +1,70 @@ + + + diff --git a/src/views/iot/components/ConsumerDetail/Infos.vue b/src/views/iot/components/ConsumerDetail/Infos.vue new file mode 100644 index 0000000..ababe6d --- /dev/null +++ b/src/views/iot/components/ConsumerDetail/Infos.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/views/iot/components/ConsumerDetail/Product.vue b/src/views/iot/components/ConsumerDetail/Product.vue new file mode 100644 index 0000000..a10caec --- /dev/null +++ b/src/views/iot/components/ConsumerDetail/Product.vue @@ -0,0 +1,91 @@ + + + diff --git a/src/views/iot/components/ConsumerDetail/index.vue b/src/views/iot/components/ConsumerDetail/index.vue new file mode 100644 index 0000000..e88d809 --- /dev/null +++ b/src/views/iot/components/ConsumerDetail/index.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/views/iot/components/DeviceDetail/Infos.vue b/src/views/iot/components/DeviceDetail/Infos.vue new file mode 100644 index 0000000..d790d33 --- /dev/null +++ b/src/views/iot/components/DeviceDetail/Infos.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/src/views/iot/components/DeviceDetail/Topic.vue b/src/views/iot/components/DeviceDetail/Topic.vue new file mode 100644 index 0000000..c4877e0 --- /dev/null +++ b/src/views/iot/components/DeviceDetail/Topic.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/src/views/iot/components/DeviceDetail/index.vue b/src/views/iot/components/DeviceDetail/index.vue new file mode 100644 index 0000000..e00ec6a --- /dev/null +++ b/src/views/iot/components/DeviceDetail/index.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/views/iot/components/ProductDetail/Infos.vue b/src/views/iot/components/ProductDetail/Infos.vue new file mode 100644 index 0000000..105daea --- /dev/null +++ b/src/views/iot/components/ProductDetail/Infos.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/views/iot/components/ProductDetail/Server.vue b/src/views/iot/components/ProductDetail/Server.vue new file mode 100644 index 0000000..1a89a33 --- /dev/null +++ b/src/views/iot/components/ProductDetail/Server.vue @@ -0,0 +1,77 @@ + + + diff --git a/src/views/iot/components/ProductDetail/Topic.vue b/src/views/iot/components/ProductDetail/Topic.vue new file mode 100644 index 0000000..195d78e --- /dev/null +++ b/src/views/iot/components/ProductDetail/Topic.vue @@ -0,0 +1,240 @@ + + + + + diff --git a/src/views/iot/components/ProductDetail/index.vue b/src/views/iot/components/ProductDetail/index.vue new file mode 100644 index 0000000..fcf4bb0 --- /dev/null +++ b/src/views/iot/components/ProductDetail/index.vue @@ -0,0 +1,76 @@ + + + + diff --git a/src/views/iot/device.vue b/src/views/iot/device.vue new file mode 100644 index 0000000..885fa82 --- /dev/null +++ b/src/views/iot/device.vue @@ -0,0 +1,286 @@ + + + + + diff --git a/src/views/iot/ops/deviceLog.vue b/src/views/iot/ops/deviceLog.vue new file mode 100644 index 0000000..cc2f273 --- /dev/null +++ b/src/views/iot/ops/deviceLog.vue @@ -0,0 +1,365 @@ + + + + + diff --git a/src/views/iot/product.vue b/src/views/iot/product.vue new file mode 100644 index 0000000..07d747e --- /dev/null +++ b/src/views/iot/product.vue @@ -0,0 +1,364 @@ + + + + + diff --git a/src/views/iot/product/topic.vue b/src/views/iot/product/topic.vue new file mode 100644 index 0000000..1ecc049 --- /dev/null +++ b/src/views/iot/product/topic.vue @@ -0,0 +1,207 @@ + + + + + diff --git a/src/views/iot/server/consumer.vue b/src/views/iot/server/consumer.vue new file mode 100644 index 0000000..a6ad981 --- /dev/null +++ b/src/views/iot/server/consumer.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/src/views/iot/server/subscribe.vue b/src/views/iot/server/subscribe.vue new file mode 100644 index 0000000..14d51cf --- /dev/null +++ b/src/views/iot/server/subscribe.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/src/views/iot/vendor/ali/config.vue b/src/views/iot/vendor/ali/config.vue new file mode 100644 index 0000000..7e7b459 --- /dev/null +++ b/src/views/iot/vendor/ali/config.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/views/iot/vendor/ali/consumer.vue b/src/views/iot/vendor/ali/consumer.vue new file mode 100644 index 0000000..455db92 --- /dev/null +++ b/src/views/iot/vendor/ali/consumer.vue @@ -0,0 +1,199 @@ + + + + + diff --git a/src/views/monitor/log/api.vue b/src/views/monitor/log/api.vue new file mode 100644 index 0000000..bef4765 --- /dev/null +++ b/src/views/monitor/log/api.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/monitor/log/error.vue b/src/views/monitor/log/error.vue new file mode 100644 index 0000000..3196839 --- /dev/null +++ b/src/views/monitor/log/error.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/src/views/monitor/log/usual.vue b/src/views/monitor/log/usual.vue new file mode 100644 index 0000000..329f77b --- /dev/null +++ b/src/views/monitor/log/usual.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/src/views/product/api.vue b/src/views/product/api.vue new file mode 100644 index 0000000..3406024 --- /dev/null +++ b/src/views/product/api.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/views/report/reportlist.vue b/src/views/report/reportlist.vue new file mode 100644 index 0000000..b33c12b --- /dev/null +++ b/src/views/report/reportlist.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/views/resource/attach.vue b/src/views/resource/attach.vue new file mode 100644 index 0000000..c4d12a6 --- /dev/null +++ b/src/views/resource/attach.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/views/resource/oss.vue b/src/views/resource/oss.vue new file mode 100644 index 0000000..f54e057 --- /dev/null +++ b/src/views/resource/oss.vue @@ -0,0 +1,415 @@ + + + diff --git a/src/views/resource/sms.vue b/src/views/resource/sms.vue new file mode 100644 index 0000000..52c56c2 --- /dev/null +++ b/src/views/resource/sms.vue @@ -0,0 +1,438 @@ + + + + diff --git a/src/views/source/api.vue b/src/views/source/api.vue new file mode 100644 index 0000000..9a79236 --- /dev/null +++ b/src/views/source/api.vue @@ -0,0 +1,349 @@ + + + + + diff --git a/src/views/sys/index.vue b/src/views/sys/index.vue new file mode 100644 index 0000000..ee8e04d --- /dev/null +++ b/src/views/sys/index.vue @@ -0,0 +1,352 @@ + + + + + diff --git a/src/views/system/client.vue b/src/views/system/client.vue new file mode 100644 index 0000000..2a1892b --- /dev/null +++ b/src/views/system/client.vue @@ -0,0 +1,333 @@ + + + + + diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue new file mode 100644 index 0000000..0c89b27 --- /dev/null +++ b/src/views/system/dept.vue @@ -0,0 +1,363 @@ + + + + + diff --git a/src/views/system/dict.vue b/src/views/system/dict.vue new file mode 100644 index 0000000..1355028 --- /dev/null +++ b/src/views/system/dict.vue @@ -0,0 +1,443 @@ + + + + diff --git a/src/views/system/dictbiz.vue b/src/views/system/dictbiz.vue new file mode 100644 index 0000000..d7772fe --- /dev/null +++ b/src/views/system/dictbiz.vue @@ -0,0 +1,442 @@ + + + diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue new file mode 100644 index 0000000..b197c19 --- /dev/null +++ b/src/views/system/menu.vue @@ -0,0 +1,423 @@ + + + + + diff --git a/src/views/system/param.vue b/src/views/system/param.vue new file mode 100644 index 0000000..c890354 --- /dev/null +++ b/src/views/system/param.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/system/post.vue b/src/views/system/post.vue new file mode 100644 index 0000000..6d6ea75 --- /dev/null +++ b/src/views/system/post.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/src/views/system/tenant.vue b/src/views/system/tenant.vue new file mode 100644 index 0000000..c880db4 --- /dev/null +++ b/src/views/system/tenant.vue @@ -0,0 +1,456 @@ + + + + + diff --git a/src/views/system/topmenu.vue b/src/views/system/topmenu.vue new file mode 100644 index 0000000..fdb6388 --- /dev/null +++ b/src/views/system/topmenu.vue @@ -0,0 +1,332 @@ + + + + + diff --git a/src/views/system/user.vue b/src/views/system/user.vue new file mode 100644 index 0000000..a76ea12 --- /dev/null +++ b/src/views/system/user.vue @@ -0,0 +1,994 @@ + + + + + diff --git a/src/views/system/userinfo.vue b/src/views/system/userinfo.vue new file mode 100644 index 0000000..6c985b5 --- /dev/null +++ b/src/views/system/userinfo.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/views/test.vue b/src/views/test.vue new file mode 100644 index 0000000..04e63b9 --- /dev/null +++ b/src/views/test.vue @@ -0,0 +1,10 @@ + + + + + diff --git a/src/views/tool/code.vue b/src/views/tool/code.vue new file mode 100644 index 0000000..e6432d9 --- /dev/null +++ b/src/views/tool/code.vue @@ -0,0 +1,379 @@ + + + diff --git a/src/views/tool/datasource.vue b/src/views/tool/datasource.vue new file mode 100644 index 0000000..47e8d00 --- /dev/null +++ b/src/views/tool/datasource.vue @@ -0,0 +1,272 @@ + + + + + diff --git a/src/views/util/affix.vue b/src/views/util/affix.vue new file mode 100644 index 0000000..21ff38e --- /dev/null +++ b/src/views/util/affix.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/util/cache.vue b/src/views/util/cache.vue new file mode 100644 index 0000000..4b966dd --- /dev/null +++ b/src/views/util/cache.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/views/util/crud-form.vue b/src/views/util/crud-form.vue new file mode 100644 index 0000000..2e1e0de --- /dev/null +++ b/src/views/util/crud-form.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/views/util/data.vue b/src/views/util/data.vue new file mode 100644 index 0000000..669796c --- /dev/null +++ b/src/views/util/data.vue @@ -0,0 +1,199 @@ + + + + diff --git a/src/views/util/demo/dict-classic.vue b/src/views/util/demo/dict-classic.vue new file mode 100644 index 0000000..659da7a --- /dev/null +++ b/src/views/util/demo/dict-classic.vue @@ -0,0 +1,359 @@ + + + + + diff --git a/src/views/util/demo/dict-horizontal.vue b/src/views/util/demo/dict-horizontal.vue new file mode 100644 index 0000000..31c123f --- /dev/null +++ b/src/views/util/demo/dict-horizontal.vue @@ -0,0 +1,469 @@ + + + + + diff --git a/src/views/util/demo/dict-vertical.vue b/src/views/util/demo/dict-vertical.vue new file mode 100644 index 0000000..ffc2c44 --- /dev/null +++ b/src/views/util/demo/dict-vertical.vue @@ -0,0 +1,474 @@ + + + + + diff --git a/src/views/util/demo/dict.vue b/src/views/util/demo/dict.vue new file mode 100644 index 0000000..b1d5536 --- /dev/null +++ b/src/views/util/demo/dict.vue @@ -0,0 +1,454 @@ + + + + diff --git a/src/views/util/demo/dictbiz.vue b/src/views/util/demo/dictbiz.vue new file mode 100644 index 0000000..cb7748e --- /dev/null +++ b/src/views/util/demo/dictbiz.vue @@ -0,0 +1,447 @@ + + + diff --git a/src/views/util/form-detail.vue b/src/views/util/form-detail.vue new file mode 100644 index 0000000..e9ea21f --- /dev/null +++ b/src/views/util/form-detail.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/views/util/form.vue b/src/views/util/form.vue new file mode 100644 index 0000000..244895b --- /dev/null +++ b/src/views/util/form.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/views/util/logs.vue b/src/views/util/logs.vue new file mode 100644 index 0000000..2970f0d --- /dev/null +++ b/src/views/util/logs.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/util/permission.vue b/src/views/util/permission.vue new file mode 100644 index 0000000..4864aaf --- /dev/null +++ b/src/views/util/permission.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/views/util/store.vue b/src/views/util/store.vue new file mode 100644 index 0000000..51c76ad --- /dev/null +++ b/src/views/util/store.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/views/util/table.vue b/src/views/util/table.vue new file mode 100644 index 0000000..461d575 --- /dev/null +++ b/src/views/util/table.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/src/views/util/tags.vue b/src/views/util/tags.vue new file mode 100644 index 0000000..cbefd90 --- /dev/null +++ b/src/views/util/tags.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/views/util/test.vue b/src/views/util/test.vue new file mode 100644 index 0000000..6609c25 --- /dev/null +++ b/src/views/util/test.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/views/util/top.vue b/src/views/util/top.vue new file mode 100644 index 0000000..f524cc9 --- /dev/null +++ b/src/views/util/top.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/views/wel/component/Administrator.vue b/src/views/wel/component/Administrator.vue new file mode 100644 index 0000000..521c05b --- /dev/null +++ b/src/views/wel/component/Administrator.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/views/wel/component/clientside.vue b/src/views/wel/component/clientside.vue new file mode 100644 index 0000000..1aba683 --- /dev/null +++ b/src/views/wel/component/clientside.vue @@ -0,0 +1,369 @@ + + + + + diff --git a/src/views/wel/dashboard.vue b/src/views/wel/dashboard.vue new file mode 100644 index 0000000..81b1879 --- /dev/null +++ b/src/views/wel/dashboard.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/views/wel/index.vue b/src/views/wel/index.vue new file mode 100644 index 0000000..15426a4 --- /dev/null +++ b/src/views/wel/index.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/views/work/claim.vue b/src/views/work/claim.vue new file mode 100644 index 0000000..cf765ab --- /dev/null +++ b/src/views/work/claim.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/src/views/work/done.vue b/src/views/work/done.vue new file mode 100644 index 0000000..0373f40 --- /dev/null +++ b/src/views/work/done.vue @@ -0,0 +1,207 @@ + + + + + diff --git a/src/views/work/process/leave/detail.vue b/src/views/work/process/leave/detail.vue new file mode 100644 index 0000000..1fbd4e4 --- /dev/null +++ b/src/views/work/process/leave/detail.vue @@ -0,0 +1,108 @@ + + + diff --git a/src/views/work/process/leave/form.vue b/src/views/work/process/leave/form.vue new file mode 100644 index 0000000..914df59 --- /dev/null +++ b/src/views/work/process/leave/form.vue @@ -0,0 +1,103 @@ + + + diff --git a/src/views/work/process/leave/handle.vue b/src/views/work/process/leave/handle.vue new file mode 100644 index 0000000..8244bb5 --- /dev/null +++ b/src/views/work/process/leave/handle.vue @@ -0,0 +1,170 @@ + + + diff --git a/src/views/work/send.vue b/src/views/work/send.vue new file mode 100644 index 0000000..6462b76 --- /dev/null +++ b/src/views/work/send.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/src/views/work/start.vue b/src/views/work/start.vue new file mode 100644 index 0000000..88946ea --- /dev/null +++ b/src/views/work/start.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/src/views/work/todo.vue b/src/views/work/todo.vue new file mode 100644 index 0000000..23d4510 --- /dev/null +++ b/src/views/work/todo.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..974fd0b --- /dev/null +++ b/vue.config.js @@ -0,0 +1,41 @@ +module.exports = { + //路径前缀 + publicPath: "/", + lintOnSave: true, + productionSourceMap: false, + chainWebpack: (config) => { + //忽略的打包文件 + config.externals({ + 'vue': 'Vue', + 'vue-router': 'VueRouter', + 'vuex': 'Vuex', + 'axios': 'axios', + 'element-ui': 'ELEMENT', + }); + const entry = config.entry('app'); + entry.add('babel-polyfill').end(); + entry.add('classlist-polyfill').end(); + entry.add('@/mock').end(); + }, + css: { + extract: { + ignoreOrder: true + } + }, + //开发模式反向代理配置,生产模式请使用Nginx部署并配置反向代理 + devServer: { + port: 1888, + proxy: { + '/api1': { + //本地服务接口地址 + // target: 'http://192.168.1.106:8081', // 民 + target: 'http://192.168.1.253:8081',//测试环境 + // target: 'http://223.99.228.240:18081', // 生产环境 + ws: true, + pathRewrite: { + '^/api1': '/' + } + } + } + } +};

}vixMLAS6K0VahdjO|IA* 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