commit 188efaf733489a43b3013429e894e90ac3ae0a0a Author: JIAL <2287346125@qq.com> Date: Wed Jan 17 08:53:49 2024 +0800 业务跟踪完成 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..8727c00 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..22e83c6 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..132404b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/logs/JIAL-ss.log b/logs/JIAL-ss.log new file mode 100644 index 0000000..a07c4b3 --- /dev/null +++ b/logs/JIAL-ss.log @@ -0,0 +1,327 @@ +2024-01-16 09:59:24.221 INFO 10524 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 10524 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 09:59:24.224 INFO 10524 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 09:59:26.533 WARN 10524 --- [Druid-ConnectionPool-Create-507377172] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 09:59:27.952 INFO 10524 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 09:59:27.960 INFO 10524 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 09:59:28.097 WARN 10524 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 09:59:28.355 INFO 10524 --- [main] com.JN.JNApplication : Started JNApplication in 4.692 seconds (JVM running for 6.541) +2024-01-16 09:59:28.361 INFO 10524 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 10:32:17.643 INFO 10524 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 10:32:17.645 INFO 10524 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 10:32:17.674 WARN 10524 --- [http-nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'id' for method parameter type String is not present] +2024-01-16 10:32:17.753 INFO 10524 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/favicon.ico +2024-01-16 10:32:17.753 INFO 10524 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/favicon.ico不需要处理 +2024-01-16 10:32:17.758 WARN 10524 --- [http-nio-8080-exec-1] o.s.web.servlet.PageNotFound : No mapping for GET /favicon.ico +2024-01-16 10:32:22.760 INFO 10524 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 10:32:22.761 INFO 10524 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 10:32:22.767 INFO 10524 --- [http-nio-8080-exec-3] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 10:32:23.095 INFO 10524 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 10:32:23.096 INFO 10524 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 10:32:23.096 INFO 10524 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 10:32:23.097 INFO 10524 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 10:32:23.100 INFO 10524 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 10:32:23.100 INFO 10524 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 10:32:23.100 INFO 10524 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 10:32:23.100 INFO 10524 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 10:32:23.102 INFO 10524 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 10:32:23.102 INFO 10524 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 10:32:23.104 INFO 10524 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 10:32:23.104 INFO 10524 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 10:32:23.117 INFO 10524 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 10:32:23.117 INFO 10524 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 10:32:23.119 INFO 10524 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 10:32:23.119 INFO 10524 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 10:32:23.256 INFO 10524 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-16 10:32:23.256 INFO 10524 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-16 10:32:32.759 INFO 10524 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-16 10:32:32.760 INFO 10524 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-16 10:32:32.762 INFO 10524 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-16 10:32:32.762 INFO 10524 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 南京 +2024-01-16 10:32:32.763 INFO 10524 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : false +2024-01-16 10:32:32.816 WARN 10524 --- [Druid-ConnectionPool-Create-507377172] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 10:32:32.951 INFO 10524 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-16 10:32:40.839 INFO 10524 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-16 10:32:40.840 INFO 10524 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-16 10:32:40.841 INFO 10524 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-16 10:32:40.841 INFO 10524 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-16 10:32:41.075 WARN 10524 --- [Druid-ConnectionPool-Create-507377172] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 10:32:41.307 INFO 10524 --- [http-nio-8080-exec-6] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京顺吉纸管厂 +2024-01-16 10:32:45.358 INFO 10524 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-16 10:32:45.359 INFO 10524 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-16 10:32:45.359 INFO 10524 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-16 10:32:45.359 INFO 10524 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-16 10:32:45.715 INFO 10524 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京年嘉模具制造有限责任公司 +2024-01-16 10:32:50.650 INFO 10524 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-16 10:32:50.650 INFO 10524 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-16 10:32:50.651 INFO 10524 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-16 10:32:50.651 INFO 10524 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-16 10:32:50.651 INFO 10524 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : false +2024-01-16 10:32:50.748 INFO 10524 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-16 10:32:51.870 INFO 10524 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-16 10:32:51.871 INFO 10524 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-16 10:32:51.874 INFO 10524 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-16 10:32:51.874 INFO 10524 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-16 10:32:52.244 INFO 10524 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南通一凡安装工程有限公司 +2024-01-16 10:32:54.455 INFO 10524 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-16 10:32:54.456 INFO 10524 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-16 10:32:54.456 INFO 10524 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-16 10:32:54.456 INFO 10524 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-16 10:32:56.550 INFO 10524 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:无锡一凡电气设备有限公司 +2024-01-16 11:14:13.897 INFO 10616 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 10616 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 11:14:13.900 INFO 10616 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 11:14:15.984 WARN 10616 --- [Druid-ConnectionPool-Create-504509135] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:14:17.473 INFO 10616 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 11:14:17.482 INFO 10616 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 11:14:17.697 WARN 10616 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 11:14:17.924 INFO 10616 --- [main] com.JN.JNApplication : Started JNApplication in 4.481 seconds (JVM running for 5.456) +2024-01-16 11:14:17.932 INFO 10616 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 11:14:38.662 INFO 10616 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:14:38.662 INFO 10616 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:14:38.687 INFO 10616 --- [http-nio-8080-exec-1] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 11:14:38.720 WARN 10616 --- [Druid-ConnectionPool-Create-515482607] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:14:38.796 INFO 10616 --- [http-nio-8080-exec-1] c.JN.controller.PageRedirectController : 贾龙 +2024-01-16 11:14:39.172 INFO 10616 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 11:14:39.172 INFO 10616 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 11:45:00.231 INFO 12280 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 12280 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 11:45:00.234 INFO 12280 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 11:45:02.259 WARN 12280 --- [Druid-ConnectionPool-Create-507377172] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:45:03.470 INFO 12280 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 11:45:03.477 INFO 12280 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 11:45:03.606 WARN 12280 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 11:45:03.849 INFO 12280 --- [main] com.JN.JNApplication : Started JNApplication in 4.075 seconds (JVM running for 5.13) +2024-01-16 11:45:03.857 INFO 12280 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 11:45:08.076 INFO 12280 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:45:08.077 INFO 12280 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:45:08.101 INFO 12280 --- [http-nio-8080-exec-2] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 11:45:08.130 WARN 12280 --- [Druid-ConnectionPool-Create-1877317084] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:45:08.493 INFO 12280 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 11:45:08.494 INFO 12280 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 11:45:08.496 INFO 12280 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 11:45:08.496 INFO 12280 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 11:45:08.498 INFO 12280 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 11:45:08.498 INFO 12280 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 11:45:08.499 INFO 12280 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 11:45:08.499 INFO 12280 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 11:45:08.500 INFO 12280 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 11:45:08.502 INFO 12280 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 11:45:08.500 INFO 12280 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 11:45:08.503 INFO 12280 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 11:45:08.551 INFO 12280 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 11:45:08.552 INFO 12280 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 11:45:08.567 INFO 12280 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 11:45:08.567 INFO 12280 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 11:45:08.770 INFO 12280 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 11:45:08.771 INFO 12280 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 11:45:13.896 INFO 12280 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-16 11:45:13.897 INFO 12280 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-16 11:45:13.899 INFO 12280 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-16 11:45:13.899 INFO 12280 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-16 11:45:21.163 INFO 12280 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:45:21.163 INFO 12280 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:45:21.164 INFO 12280 --- [http-nio-8080-exec-8] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 11:46:05.790 INFO 11192 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 11192 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 11:46:05.793 INFO 11192 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 11:46:07.870 WARN 11192 --- [Druid-ConnectionPool-Create-1155300221] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:46:09.117 INFO 11192 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 11:46:09.131 INFO 11192 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 11:46:09.268 WARN 11192 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 11:46:09.520 INFO 11192 --- [main] com.JN.JNApplication : Started JNApplication in 4.152 seconds (JVM running for 5.022) +2024-01-16 11:46:09.527 INFO 11192 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 11:46:14.353 INFO 11192 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:46:14.354 INFO 11192 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:46:14.379 INFO 11192 --- [http-nio-8080-exec-1] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 11:46:14.409 WARN 11192 --- [Druid-ConnectionPool-Create-1740328397] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:46:14.833 INFO 11192 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 11:46:14.833 INFO 11192 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 11:46:14.833 INFO 11192 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 11:46:14.833 INFO 11192 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 11:46:14.836 INFO 11192 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 11:46:14.837 INFO 11192 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 11:46:14.837 INFO 11192 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 11:46:14.837 INFO 11192 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 11:46:14.837 INFO 11192 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 11:46:14.838 INFO 11192 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 11:46:14.838 INFO 11192 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 11:46:14.838 INFO 11192 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 11:46:14.870 INFO 11192 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 11:46:14.870 INFO 11192 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 11:46:14.870 INFO 11192 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 11:46:14.870 INFO 11192 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 11:46:14.959 INFO 11192 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 11:46:14.959 INFO 11192 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 11:46:16.069 INFO 11192 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:46:16.070 INFO 11192 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:46:16.072 INFO 11192 --- [http-nio-8080-exec-1] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 11:46:16.100 INFO 11192 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 11:46:16.100 INFO 11192 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 11:46:16.100 INFO 11192 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 11:46:16.100 INFO 11192 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 11:46:16.104 INFO 11192 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 11:46:16.104 INFO 11192 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 11:46:16.107 INFO 11192 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 11:46:16.107 INFO 11192 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 11:46:16.108 INFO 11192 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 11:46:16.108 INFO 11192 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 11:46:16.112 INFO 11192 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 11:46:16.112 INFO 11192 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 11:46:16.126 INFO 11192 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 11:46:16.126 INFO 11192 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 11:46:16.129 INFO 11192 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 11:46:16.129 INFO 11192 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 11:46:16.189 INFO 11192 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 11:46:16.190 INFO 11192 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 11:47:12.477 INFO 15660 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 15660 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 11:47:12.480 INFO 15660 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 11:47:14.622 WARN 15660 --- [Druid-ConnectionPool-Create-1938634748] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:47:15.842 INFO 15660 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 11:47:15.851 INFO 15660 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 11:47:15.992 WARN 15660 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 11:47:16.221 INFO 15660 --- [main] com.JN.JNApplication : Started JNApplication in 4.161 seconds (JVM running for 5.029) +2024-01-16 11:47:16.228 INFO 15660 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 11:47:18.940 INFO 15660 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:47:18.941 INFO 15660 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:47:18.968 INFO 15660 --- [http-nio-8080-exec-2] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 11:47:18.997 WARN 15660 --- [Druid-ConnectionPool-Create-217911413] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:47:19.355 INFO 15660 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 11:47:19.355 INFO 15660 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 11:47:19.355 INFO 15660 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 11:47:19.355 INFO 15660 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 11:47:19.354 INFO 15660 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 11:47:19.356 INFO 15660 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 11:47:19.357 INFO 15660 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 11:47:19.357 INFO 15660 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 11:47:19.359 INFO 15660 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 11:47:19.359 INFO 15660 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 11:47:19.360 INFO 15660 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 11:47:19.360 INFO 15660 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 11:47:19.392 INFO 15660 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 11:47:19.393 INFO 15660 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 11:47:19.393 INFO 15660 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 11:47:19.393 INFO 15660 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 11:47:19.470 INFO 15660 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-16 11:47:19.470 INFO 15660 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-16 11:47:19.503 INFO 15660 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 11:47:19.504 INFO 15660 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 11:47:31.764 INFO 15660 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 11:47:31.764 INFO 15660 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 11:47:31.765 INFO 15660 --- [http-nio-8080-exec-7] c.JN.controller.PageRedirectController : 登入工号为: 102243 +2024-01-16 11:48:15.117 INFO 15660 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-16 11:48:15.117 INFO 15660 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-16 11:48:15.119 INFO 15660 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-16 11:48:15.119 INFO 15660 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 无锡 +2024-01-16 11:48:15.119 INFO 15660 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : false +2024-01-16 11:48:15.203 INFO 15660 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001021526, name1=无锡阿克赛光伏科技有限公司), BizDto(kunnr=0001021540, name1=无锡桥阳机械制造有限公司), BizDto(kunnr=0001021587, name1=无锡宇灿幕墙建筑材料有限公司), BizDto(kunnr=0001021592, name1=无锡市鑫力泰环保设备有限公司), BizDto(kunnr=0001023163, name1=江苏博金建设集团有限公司无锡分公司), BizDto(kunnr=0001023206, name1=无锡市昌明化工换热设备有限公司), BizDto(kunnr=0001023213, name1=无锡加视诚智能科技有限公司), BizDto(kunnr=0001023214, name1=无锡华路仪试验仪器有限公司), BizDto(kunnr=0001023267, name1=无锡市新鑫轧辊堆焊厂), BizDto(kunnr=0001025049, name1=无锡市荡口鹅湖红木家具厂)] +2024-01-16 11:49:21.523 INFO 15660 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-16 11:49:21.524 INFO 15660 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-16 11:49:21.524 INFO 15660 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-16 11:49:21.524 INFO 15660 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 无锡一凡 +2024-01-16 11:49:21.524 INFO 15660 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : false +2024-01-16 11:49:21.538 WARN 15660 --- [Druid-ConnectionPool-Create-1938634748] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:49:21.613 INFO 15660 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-16 11:49:23.084 INFO 15660 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-16 11:49:23.085 INFO 15660 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-16 11:49:23.093 INFO 15660 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-16 11:49:23.093 INFO 15660 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-16 11:49:23.291 WARN 15660 --- [Druid-ConnectionPool-Create-1938634748] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 11:49:23.394 INFO 15660 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102243的用户查询的客户名称为:无锡一凡电气设备有限公司 +2024-01-16 12:38:28.949 INFO 15660 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 12:38:28.950 INFO 15660 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 12:38:28.951 INFO 15660 --- [http-nio-8080-exec-4] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 12:38:28.960 WARN 15660 --- [Druid-ConnectionPool-Create-217911413] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 12:49:35.834 INFO 11664 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 11664 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 12:49:35.837 INFO 11664 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 12:49:37.906 WARN 11664 --- [Druid-ConnectionPool-Create-925955862] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 12:49:39.067 INFO 11664 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 12:49:39.074 INFO 11664 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 12:49:39.208 WARN 11664 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 12:49:39.436 INFO 11664 --- [main] com.JN.JNApplication : Started JNApplication in 4.024 seconds (JVM running for 5.232) +2024-01-16 12:49:39.442 INFO 11664 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 12:50:15.753 INFO 11664 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 12:50:15.754 INFO 11664 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 12:50:15.779 INFO 11664 --- [http-nio-8080-exec-2] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 12:50:15.821 WARN 11664 --- [Druid-ConnectionPool-Create-70528019] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 12:50:23.165 INFO 11664 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 12:50:23.165 INFO 11664 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 12:50:23.166 INFO 11664 --- [http-nio-8080-exec-3] c.JN.controller.PageRedirectController : 登入工号为: 8888888 +2024-01-16 13:54:07.798 INFO 14512 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 14512 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-16 13:54:07.801 INFO 14512 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-16 13:54:10.055 WARN 14512 --- [Druid-ConnectionPool-Create-265556987] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 13:54:11.254 INFO 14512 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-16 13:54:11.261 INFO 14512 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-16 13:54:11.393 WARN 14512 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-16 13:54:11.644 INFO 14512 --- [main] com.JN.JNApplication : Started JNApplication in 4.286 seconds (JVM running for 5.321) +2024-01-16 13:54:11.652 INFO 14512 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-16 13:54:48.932 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 13:54:48.933 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 13:54:48.963 INFO 14512 --- [http-nio-8080-exec-2] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 13:54:48.993 WARN 14512 --- [Druid-ConnectionPool-Create-982313508] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 14:06:52.542 INFO 14512 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 14:06:52.542 INFO 14512 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 14:06:52.543 INFO 14512 --- [http-nio-8080-exec-3] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 14:06:52.551 WARN 14512 --- [Druid-ConnectionPool-Create-982313508] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-16 14:06:52.571 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 14:06:52.571 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 14:06:52.572 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 14:06:52.572 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 14:06:52.572 INFO 14512 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 14:06:52.572 INFO 14512 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 14:06:52.572 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 14:06:52.572 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 14:06:52.574 INFO 14512 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 14:06:52.575 INFO 14512 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 14:06:52.576 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 14:06:52.576 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 14:06:52.631 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 14:06:52.632 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 14:06:52.645 INFO 14512 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 14:06:52.645 INFO 14512 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 14:06:52.847 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-16 14:06:52.848 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-16 14:06:52.880 INFO 14512 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 14:06:52.880 INFO 14512 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 14:06:55.229 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 14:06:55.231 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 14:06:55.232 INFO 14512 --- [http-nio-8080-exec-6] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 14:06:55.262 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 14:06:55.262 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 14:06:55.262 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 14:06:55.262 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 14:06:55.263 INFO 14512 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 14:06:55.263 INFO 14512 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 14:06:55.262 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 14:06:55.264 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 14:06:55.266 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 14:06:55.266 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 14:06:55.270 INFO 14512 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 14:06:55.270 INFO 14512 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 14:06:55.280 INFO 14512 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 14:06:55.280 INFO 14512 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 14:06:55.285 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 14:06:55.285 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 14:06:55.354 INFO 14512 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-16 14:06:55.355 INFO 14512 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-16 14:06:55.369 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 14:06:55.369 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-16 14:06:58.680 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-16 14:06:58.681 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-16 14:06:58.682 INFO 14512 --- [http-nio-8080-exec-10] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-16 14:06:58.707 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-16 14:06:58.708 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-16 14:06:58.708 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-16 14:06:58.708 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-16 14:06:58.714 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-16 14:06:58.714 INFO 14512 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-16 14:06:58.715 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-16 14:06:58.707 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-16 14:06:58.716 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-16 14:06:58.716 INFO 14512 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-16 14:06:58.718 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-16 14:06:58.718 INFO 14512 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-16 14:06:58.732 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-16 14:06:58.732 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-16 14:06:58.733 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-16 14:06:58.734 INFO 14512 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-16 14:06:58.807 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-16 14:06:58.807 INFO 14512 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-16 14:06:58.821 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-16 14:06:58.821 INFO 14512 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 diff --git a/logs/JIAL-ss.log.2024-01-15.0 b/logs/JIAL-ss.log.2024-01-15.0 new file mode 100644 index 0000000..80c2a3c --- /dev/null +++ b/logs/JIAL-ss.log.2024-01-15.0 @@ -0,0 +1,1303 @@ +2024-01-15 08:19:18.910 INFO 6628 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 6628 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 08:19:18.913 INFO 6628 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 08:19:21.165 WARN 6628 --- [Druid-ConnectionPool-Create-1454942961] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 08:19:22.599 INFO 6628 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 08:19:22.606 INFO 6628 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 08:19:22.740 WARN 6628 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 08:19:23.052 INFO 6628 --- [main] com.JN.JNApplication : Started JIALApplication in 4.651 seconds (JVM running for 7.88) +2024-01-15 08:19:23.063 INFO 6628 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 08:19:55.638 INFO 6628 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:19:55.639 INFO 6628 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:19:55.665 WARN 6628 --- [http-nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'id' for method parameter type String is not present] +2024-01-15 08:19:55.740 INFO 6628 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/favicon.ico +2024-01-15 08:19:55.742 INFO 6628 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/favicon.ico不需要处理 +2024-01-15 08:19:55.745 WARN 6628 --- [http-nio-8080-exec-2] o.s.web.servlet.PageNotFound : No mapping for GET /favicon.ico +2024-01-15 08:19:58.024 INFO 6628 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:19:58.024 INFO 6628 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:19:58.024 WARN 6628 --- [http-nio-8080-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'id' for method parameter type String is not present] +2024-01-15 08:20:24.440 INFO 6628 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:20:24.440 INFO 6628 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:20:24.445 INFO 6628 --- [http-nio-8080-exec-5] c.J.controller.PageRedirectController : 登入工号为: 102245 +2024-01-15 08:20:24.775 INFO 6628 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 08:20:24.776 INFO 6628 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 08:20:24.776 INFO 6628 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 08:20:24.776 INFO 6628 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 08:20:24.775 INFO 6628 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 08:20:24.779 INFO 6628 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 08:20:24.780 INFO 6628 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 08:20:24.780 INFO 6628 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 08:20:24.775 INFO 6628 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 08:20:24.780 INFO 6628 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 08:20:24.781 INFO 6628 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 08:20:24.782 INFO 6628 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 08:20:24.797 INFO 6628 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 08:20:24.797 INFO 6628 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 08:20:24.798 INFO 6628 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 08:20:24.798 INFO 6628 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 08:20:24.939 INFO 6628 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 08:20:24.939 INFO 6628 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 08:20:24.967 INFO 6628 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 08:20:24.967 INFO 6628 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 08:26:32.149 INFO 16044 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 16044 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 08:26:32.152 INFO 16044 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 08:26:34.244 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 08:26:35.585 INFO 16044 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 08:26:35.592 INFO 16044 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 08:26:35.710 WARN 16044 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 08:26:35.954 INFO 16044 --- [main] com.JN.JNApplication : Started JIALApplication in 4.289 seconds (JVM running for 5.216) +2024-01-15 08:26:35.960 INFO 16044 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 08:26:40.001 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:26:40.002 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:26:40.051 INFO 16044 --- [http-nio-8080-exec-2] c.J.controller.PageRedirectController : 登入工号为: 102245 +2024-01-15 08:26:40.377 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 08:26:40.378 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 08:26:40.378 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 08:26:40.378 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 08:26:40.380 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 08:26:40.380 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 08:26:40.391 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 08:26:40.391 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 08:26:40.394 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 08:26:40.394 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 08:26:40.394 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 08:26:40.394 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 08:26:40.457 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 08:26:40.457 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 08:26:40.468 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 08:26:40.468 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 08:26:40.664 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 08:26:40.664 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 08:26:40.705 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 08:26:40.706 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 08:26:41.347 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:26:41.348 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:26:41.352 INFO 16044 --- [http-nio-8080-exec-3] c.J.controller.PageRedirectController : 登入工号为: 102245 +2024-01-15 08:26:41.382 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 08:26:41.383 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 08:26:41.383 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 08:26:41.383 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 08:26:41.390 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 08:26:41.391 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 08:26:41.391 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 08:26:41.391 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 08:26:41.396 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 08:26:41.397 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 08:26:41.401 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 08:26:41.401 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 08:26:41.411 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 08:26:41.412 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 08:26:41.412 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 08:26:41.412 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 08:26:41.484 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 08:26:41.484 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 08:26:41.499 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 08:26:41.500 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 08:26:48.081 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:26:48.082 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:26:48.084 INFO 16044 --- [http-nio-8080-exec-1] c.J.controller.PageRedirectController : 登入工号为: 111145 +2024-01-15 08:26:57.034 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 08:26:57.035 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 08:26:57.035 INFO 16044 --- [http-nio-8080-exec-5] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 08:27:06.330 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 08:27:06.330 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 08:27:06.331 INFO 16044 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 08:27:06.331 INFO 16044 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 08:27:06.331 INFO 16044 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : false +2024-01-15 08:27:06.502 INFO 16044 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 08:27:08.759 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 08:27:08.759 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 08:27:08.759 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 08:27:08.759 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 08:27:08.827 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 08:27:08.850 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.b.controller.BizQccController : Request query headers: HEAD null HTTP/1.1 +2024-01-15 08:27:09.245 INFO 16044 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : latestShippingDate:0latestOrderDate:0latestQuotationDate:0salespersonCount0 +2024-01-15 08:27:09.245 INFO 16044 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 08:27:09.599 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.b.controller.BizQccController : tokenJson: {"Status":"200","Message":"【有效请求】查询成功","OrderNumber":"ENTERPRISEINFO2024011508270948812316","Result":{"VerifyResult":1,"Data":{"KeyNo":"cikm5ys9spakskmjsm5habmbpvbhm393vj","Name":"南京年嘉模具制造有限责任公司","CreditCode":"913201047904001983","OperName":"傅年宝","Status":"存续(在营、开业、在册)","StartDate":"2006-06-14","RegistCapi":"45万元人民币","RealCapi":"45万元人民币","OrgNo":"79040019-8","No":"320103000090283","TaxNo":"913201047904001983","EconKind":"有限责任公司(自然人投资或控股)","TermStart":"2006-06-14","TermEnd":"","TaxpayerType":"增值税一般纳税人","PersonScope":"少于50人","InsuredCount":"10","CheckDate":"2022-06-24","AreaCode":"320104","Area":{"Province":"江苏省","City":"南京市","County":"秦淮区"},"BelongOrg":"南京市秦淮区行政审批局","ImExCode":"","Industry":{"IndustryCode":"C","Industry":"制造业","SubIndustryCode":"35","SubIndustry":"专用设备制造业","MiddleCategoryCode":"352","MiddleCategory":"化工、木材、非金属加工专用设备制造","SmallCategoryCode":"3525","SmallCategory":"模具制造"},"EnglishName":"Nanjing Nianjia Mould Manufacturing Co., Ltd.","Address":"南京市秦淮区石门坎102号","AnnualAddress":"南京市江宁东山工业区丰收路28号","Scope":"模具设计、制造;模具、机械配件生产。(依法须经批准的项目,经相关部门批准后方可开展经营活动)","EntType":"0","ImageUrl":"https://image.qcc.com/logo/EntImage.png","RevokeInfo":null,"OriginalName":null,"StockInfo":null,"ContactInfo":{"WebSiteList":null,"Email":"","MoreEmailList":null,"Tel":"13805158138","MoreTelList":[{"Tel":"025-84605361","Source":"2017年报"},{"Tel":"025-84438863","Source":"互联网"}]},"LongLat":{"Longitude":"118.830629","Latitude":"32.025348"},"BankInfo":{"Bank":"南京银行白下支行","BankAccount":"01590120210004150","Name":"南京年嘉模具制造有限责任公司","CreditCode":"913201047904001983","Address":"南京市秦淮区石门坎102号","Tel":"02584438863"},"IsSmall":"1","Scale":"XS","QccIndustry":{"AName":"工业与商业服务","BName":"机械制造","CName":"专用设备","DName":"其他专用设备"},"IsOfficialEnglish":"0"}}} +2024-01-15 08:27:09.608 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.b.controller.BizQccController : Status:200 +2024-01-15 08:27:09.653 INFO 16044 --- [http-nio-8080-exec-4] com.JN.utils.JSONHelper : Qcc result tokenJson: { + "Status" : "200", + "Message" : "【有效请求】查询成功", + "OrderNumber" : "ENTERPRISEINFO2024011508270948812316", + "Result" : { + "VerifyResult" : 1, + "Data" : { + "KeyNo" : "cikm5ys9spakskmjsm5habmbpvbhm393vj", + "Name" : "南京年嘉模具制造有限责任公司", + "CreditCode" : "913201047904001983", + "OperName" : "傅年宝", + "Status" : "存续(在营、开业、在册)", + "StartDate" : "2006-06-14", + "RegistCapi" : "45万元人民币", + "RealCapi" : "45万元人民币", + "OrgNo" : "79040019-8", + "No" : "320103000090283", + "TaxNo" : "913201047904001983", + "EconKind" : "有限责任公司(自然人投资或控股)", + "TermStart" : "2006-06-14", + "TermEnd" : "", + "TaxpayerType" : "增值税一般纳税人", + "PersonScope" : "少于50人", + "InsuredCount" : "10", + "CheckDate" : "2022-06-24", + "AreaCode" : "320104", + "Area" : { + "Province" : "江苏省", + "City" : "南京市", + "County" : "秦淮区" + }, + "BelongOrg" : "南京市秦淮区行政审批局", + "ImExCode" : "", + "Industry" : { + "IndustryCode" : "C", + "Industry" : "制造业", + "SubIndustryCode" : "35", + "SubIndustry" : "专用设备制造业", + "MiddleCategoryCode" : "352", + "MiddleCategory" : "化工、木材、非金属加工专用设备制造", + "SmallCategoryCode" : "3525", + "SmallCategory" : "模具制造" + }, + "EnglishName" : "Nanjing Nianjia Mould Manufacturing Co., Ltd.", + "Address" : "南京市秦淮区石门坎102号", + "AnnualAddress" : "南京市江宁东山工业区丰收路28号", + "Scope" : "模具设计、制造;模具、机械配件生产。(依法须经批准的项目,经相关部门批准后方可开展经营活动)", + "EntType" : "0", + "ImageUrl" : "https://image.qcc.com/logo/EntImage.png", + "RevokeInfo" : null, + "OriginalName" : null, + "StockInfo" : null, + "ContactInfo" : { + "WebSiteList" : null, + "Email" : "", + "MoreEmailList" : null, + "Tel" : "13805158138", + "MoreTelList" : [ { + "Tel" : "025-84605361", + "Source" : "2017年报" + }, { + "Tel" : "025-84438863", + "Source" : "互联网" + } ] + }, + "LongLat" : { + "Longitude" : "118.830629", + "Latitude" : "32.025348" + }, + "BankInfo" : { + "Bank" : "南京银行白下支行", + "BankAccount" : "01590120210004150", + "Name" : "南京年嘉模具制造有限责任公司", + "CreditCode" : "913201047904001983", + "Address" : "南京市秦淮区石门坎102号", + "Tel" : "02584438863" + }, + "IsSmall" : "1", + "Scale" : "XS", + "QccIndustry" : { + "AName" : "工业与商业服务", + "BName" : "机械制造", + "CName" : "专用设备", + "DName" : "其他专用设备" + }, + "IsOfficialEnglish" : "0" + } + } +} +2024-01-15 08:27:09.658 INFO 16044 --- [http-nio-8080-exec-4] com.JN.common.MyMetaObjecthandler : 公共字段自动填充[insert]... +2024-01-15 08:27:09.659 INFO 16044 --- [http-nio-8080-exec-4] com.JN.common.MyMetaObjecthandler : org.apache.ibatis.reflection.MetaObject@4c230d8 +2024-01-15 08:27:37.501 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 08:27:37.501 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 08:27:37.502 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 08:27:37.502 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 08:27:37.681 INFO 16044 --- [http-nio-8080-exec-8] c.J.d.bizquery.controller.BizController : latestShippingDate:0latestOrderDate:0latestQuotationDate:0salespersonCount0 +2024-01-15 08:27:37.682 INFO 16044 --- [http-nio-8080-exec-8] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 08:34:24.585 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 08:34:24.585 INFO 16044 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 08:34:24.586 INFO 16044 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 08:34:24.586 INFO 16044 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 无锡 +2024-01-15 08:34:24.586 INFO 16044 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : false +2024-01-15 08:34:24.602 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 08:34:24.656 INFO 16044 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001021526, name1=无锡阿克赛光伏科技有限公司), BizDto(kunnr=0001021540, name1=无锡桥阳机械制造有限公司), BizDto(kunnr=0001021587, name1=无锡宇灿幕墙建筑材料有限公司), BizDto(kunnr=0001021592, name1=无锡市鑫力泰环保设备有限公司), BizDto(kunnr=0001023163, name1=江苏博金建设集团有限公司无锡分公司), BizDto(kunnr=0001023206, name1=无锡市昌明化工换热设备有限公司), BizDto(kunnr=0001023213, name1=无锡加视诚智能科技有限公司), BizDto(kunnr=0001023214, name1=无锡华路仪试验仪器有限公司), BizDto(kunnr=0001023267, name1=无锡市新鑫轧辊堆焊厂), BizDto(kunnr=0001025049, name1=无锡市荡口鹅湖红木家具厂)] +2024-01-15 08:34:32.249 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 08:34:32.249 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 08:34:32.249 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 08:34:32.249 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 无锡一凡 +2024-01-15 08:34:32.250 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : false +2024-01-15 08:34:32.332 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 08:34:36.885 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 08:34:36.885 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 08:34:36.886 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 08:34:36.887 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 08:34:36.901 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 08:34:36.906 INFO 16044 --- [http-nio-8080-exec-8] c.J.d.b.controller.BizQccController : Request query headers: HEAD null HTTP/1.1 +2024-01-15 08:34:37.238 INFO 16044 --- [http-nio-8080-exec-6] c.J.d.bizquery.controller.BizController : latestShippingDate:20240112latestOrderDate:20240105latestQuotationDate:2024-01-13 14:50:00.357salespersonCount2 +2024-01-15 08:34:37.268 ERROR 16044 --- [http-nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22] with root cause + +java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22 + at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952) + at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) + at java.time.LocalDate.parse(LocalDate.java:400) + at com.JN.utils.StringUtils.formatDateString(StringUtils.java:41) + at com.JN.demo.bizquery.controller.BizController.queryBizDetail(BizController.java:85) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:748) + +2024-01-15 08:34:37.279 INFO 16044 --- [http-nio-8080-exec-8] c.J.d.b.controller.BizQccController : tokenJson: {"Status":"200","Message":"【有效请求】查询成功","OrderNumber":"ENTERPRISEINFO2024011508343734063900","Result":{"VerifyResult":1,"Data":{"KeyNo":"2eb3ry9baklirk5j5mkilhmm9iv93elpav","Name":"无锡一凡电气设备有限公司","CreditCode":"91320206MA1N5B795R","OperName":"顾艺芳","Status":"在业","StartDate":"2016-12-22","RegistCapi":"200万元人民币","RealCapi":"30万元人民币","OrgNo":"MA1N5B79-5","No":"320206000325613","TaxNo":"91320206MA1N5B795R","EconKind":"有限责任公司(自然人投资或控股)","TermStart":"2016-12-22","TermEnd":"","TaxpayerType":"增值税一般纳税人","PersonScope":"少于50人","InsuredCount":"3","CheckDate":"2022-06-18","AreaCode":"320206","Area":{"Province":"江苏省","City":"无锡市","County":"惠山区"},"BelongOrg":"无锡市惠山区行政审批局","ImExCode":"","Industry":{"IndustryCode":"C","Industry":"制造业","SubIndustryCode":"38","SubIndustry":"电气机械和器材制造业","MiddleCategoryCode":"","MiddleCategory":"","SmallCategoryCode":"","SmallCategory":""},"EnglishName":"Wuxi Yifan Electrical Equipment Co., Ltd.","Address":"无锡市惠山区洛社镇红湖路20","AnnualAddress":"无锡市惠山区石塘湾贝沙桥社区","Scope":"电气机械和器材、工业自动化控制系统装置的制造、安装;五金产品、机械设备、仪器仪表、电线电缆的销售;计算机软件的开发、技术咨询、信息系统集成服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动)","EntType":"0","ImageUrl":"https://image.qcc.com/logo/EntImage.png","RevokeInfo":null,"OriginalName":null,"StockInfo":null,"ContactInfo":{"WebSiteList":null,"Email":"120087139@qq.com","MoreEmailList":null,"Tel":"13771109723","MoreTelList":[{"Tel":"0510-83262868","Source":"2020年报"},{"Tel":"0510-83262068","Source":"2017年报"}]},"LongLat":{"Longitude":"120.142998","Latitude":"31.65512"},"BankInfo":{"Bank":"无锡农村商业银行洛社支行","BankAccount":"019801230005433","Name":"无锡一凡电气设备有限公司","CreditCode":"91320206MA1N5B795R","Address":"无锡市惠山区洛社镇红湖路20","Tel":"0510-83750369"},"IsSmall":"1","Scale":"XS","QccIndustry":{"AName":"工业与商业服务","BName":"电力设备","CName":"","DName":""},"IsOfficialEnglish":"0"}}} +2024-01-15 08:34:37.279 INFO 16044 --- [http-nio-8080-exec-8] c.J.d.b.controller.BizQccController : Status:200 +2024-01-15 08:34:37.282 INFO 16044 --- [http-nio-8080-exec-8] com.JN.utils.JSONHelper : Qcc result tokenJson: { + "Status" : "200", + "Message" : "【有效请求】查询成功", + "OrderNumber" : "ENTERPRISEINFO2024011508343734063900", + "Result" : { + "VerifyResult" : 1, + "Data" : { + "KeyNo" : "2eb3ry9baklirk5j5mkilhmm9iv93elpav", + "Name" : "无锡一凡电气设备有限公司", + "CreditCode" : "91320206MA1N5B795R", + "OperName" : "顾艺芳", + "Status" : "在业", + "StartDate" : "2016-12-22", + "RegistCapi" : "200万元人民币", + "RealCapi" : "30万元人民币", + "OrgNo" : "MA1N5B79-5", + "No" : "320206000325613", + "TaxNo" : "91320206MA1N5B795R", + "EconKind" : "有限责任公司(自然人投资或控股)", + "TermStart" : "2016-12-22", + "TermEnd" : "", + "TaxpayerType" : "增值税一般纳税人", + "PersonScope" : "少于50人", + "InsuredCount" : "3", + "CheckDate" : "2022-06-18", + "AreaCode" : "320206", + "Area" : { + "Province" : "江苏省", + "City" : "无锡市", + "County" : "惠山区" + }, + "BelongOrg" : "无锡市惠山区行政审批局", + "ImExCode" : "", + "Industry" : { + "IndustryCode" : "C", + "Industry" : "制造业", + "SubIndustryCode" : "38", + "SubIndustry" : "电气机械和器材制造业", + "MiddleCategoryCode" : "", + "MiddleCategory" : "", + "SmallCategoryCode" : "", + "SmallCategory" : "" + }, + "EnglishName" : "Wuxi Yifan Electrical Equipment Co., Ltd.", + "Address" : "无锡市惠山区洛社镇红湖路20", + "AnnualAddress" : "无锡市惠山区石塘湾贝沙桥社区", + "Scope" : "电气机械和器材、工业自动化控制系统装置的制造、安装;五金产品、机械设备、仪器仪表、电线电缆的销售;计算机软件的开发、技术咨询、信息系统集成服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动)", + "EntType" : "0", + "ImageUrl" : "https://image.qcc.com/logo/EntImage.png", + "RevokeInfo" : null, + "OriginalName" : null, + "StockInfo" : null, + "ContactInfo" : { + "WebSiteList" : null, + "Email" : "120087139@qq.com", + "MoreEmailList" : null, + "Tel" : "13771109723", + "MoreTelList" : [ { + "Tel" : "0510-83262868", + "Source" : "2020年报" + }, { + "Tel" : "0510-83262068", + "Source" : "2017年报" + } ] + }, + "LongLat" : { + "Longitude" : "120.142998", + "Latitude" : "31.65512" + }, + "BankInfo" : { + "Bank" : "无锡农村商业银行洛社支行", + "BankAccount" : "019801230005433", + "Name" : "无锡一凡电气设备有限公司", + "CreditCode" : "91320206MA1N5B795R", + "Address" : "无锡市惠山区洛社镇红湖路20", + "Tel" : "0510-83750369" + }, + "IsSmall" : "1", + "Scale" : "XS", + "QccIndustry" : { + "AName" : "工业与商业服务", + "BName" : "电力设备", + "CName" : "", + "DName" : "" + }, + "IsOfficialEnglish" : "0" + } + } +} +2024-01-15 08:34:37.284 INFO 16044 --- [http-nio-8080-exec-8] com.JN.common.MyMetaObjecthandler : 公共字段自动填充[insert]... +2024-01-15 08:34:37.284 INFO 16044 --- [http-nio-8080-exec-8] com.JN.common.MyMetaObjecthandler : org.apache.ibatis.reflection.MetaObject@a355510 +2024-01-15 08:35:11.180 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 08:35:11.181 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 08:35:11.181 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 08:35:11.181 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 08:35:11.353 INFO 16044 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : latestShippingDate:20240112latestOrderDate:20240105latestQuotationDate:2024-01-13 14:50:00.357salespersonCount2 +2024-01-15 08:35:11.355 ERROR 16044 --- [http-nio-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22] with root cause + +java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22 + at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952) + at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) + at java.time.LocalDate.parse(LocalDate.java:400) + at com.JN.utils.StringUtils.formatDateString(StringUtils.java:41) + at com.JN.demo.bizquery.controller.BizController.queryBizDetail(BizController.java:85) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:748) + +2024-01-15 09:15:25.370 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 09:15:25.370 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 09:15:25.371 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 09:15:25.371 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 09:15:25.371 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : false +2024-01-15 09:15:25.383 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:15:25.450 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 09:15:27.629 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:15:27.629 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:15:27.630 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:15:27.630 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:15:27.644 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:15:27.824 INFO 16044 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : latestShippingDate:20240112latestOrderDate:20240105latestQuotationDate:2024-01-13 14:50:00.357salespersonCount2 +2024-01-15 09:15:27.826 ERROR 16044 --- [http-nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22] with root cause + +java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22 + at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952) + at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) + at java.time.LocalDate.parse(LocalDate.java:400) + at com.JN.utils.StringUtils.formatDateString(StringUtils.java:41) + at com.JN.demo.bizquery.controller.BizController.queryBizDetail(BizController.java:85) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:748) + +2024-01-15 09:29:18.085 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:29:18.085 INFO 16044 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:29:18.085 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:29:18.085 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:29:18.102 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:29:18.106 INFO 16044 --- [http-nio-8080-exec-6] c.J.d.b.controller.BizQccController : Request query headers: HEAD null HTTP/1.1 +2024-01-15 09:29:18.114 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:29:18.442 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : latestShippingDate:20231207latestOrderDate:20231207latestQuotationDate:0salespersonCount1 +2024-01-15 09:29:18.442 INFO 16044 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 09:29:18.663 INFO 16044 --- [http-nio-8080-exec-6] c.J.d.b.controller.BizQccController : tokenJson: {"Status":"200","Message":"【有效请求】查询成功","OrderNumber":"ENTERPRISEINFO2024011509291816214879","Result":{"VerifyResult":1,"Data":{"KeyNo":"9khrhyaiprh3l53jearji39ekh5jshhpli","Name":"南通一凡安装工程有限公司","CreditCode":"913206027605461458","OperName":"江欣","Status":"存续(在营、开业、在册)","StartDate":"2004-05-09","RegistCapi":"1050万元人民币","RealCapi":"50万元人民币","OrgNo":"76054614-5","No":"320600000082070","TaxNo":"913206027605461458","EconKind":"有限责任公司(自然人投资或控股)","TermStart":"2004-05-09","TermEnd":"2024-05-08","TaxpayerType":"增值税一般纳税人","PersonScope":"少于50人","InsuredCount":"3","CheckDate":"2021-04-26","AreaCode":"320613","Area":{"Province":"江苏省","City":"南通市","County":"崇川区"},"BelongOrg":"南通市崇川区行政审批局","ImExCode":"","Industry":{"IndustryCode":"C","Industry":"制造业","SubIndustryCode":"34","SubIndustry":"通用设备制造业","MiddleCategoryCode":"","MiddleCategory":"","SmallCategoryCode":"","SmallCategory":""},"EnglishName":"Nantong Yifan Installation Engineering Co., Ltd.","Address":"江苏省南通市崇川区钟秀街道纬一路19号1号楼三层","AnnualAddress":"南通市易家桥新村21-101","Scope":"空调制冷设备及构件的制造、销售、安装及维修保养;金属材料、建筑装潢材料、卫生洁具、电线电缆、电器产品、五金工具、服装及辅料、日用百货的销售。(制造另设分支机构)(依法须经批准的项目,经相关部门批准后方可开展经营活动)","EntType":"0","ImageUrl":"https://image.qcc.com/logo/EntImage.png","RevokeInfo":null,"OriginalName":[{"Name":"南通一凡空调制冷有限公司","ChangeDate":"2020-09-04"}],"StockInfo":null,"ContactInfo":{"WebSiteList":null,"Email":"ntwfzl@163.com","MoreEmailList":null,"Tel":"0513-83580000","MoreTelList":null},"LongLat":{"Longitude":"120.923061","Latitude":"32.043239"},"BankInfo":{"Bank":"工行南川园支行","BankAccount":"1111822409000032790","Name":"南通一凡安装工程有限公司","CreditCode":"913206027605461458","Address":"江苏省南通市崇川区钟秀街道纬一路19号1号楼三层","Tel":"0513-83580000"},"IsSmall":"1","Scale":"XS","QccIndustry":{"AName":"工业与商业服务","BName":"机械制造","CName":"通用机械","DName":""},"IsOfficialEnglish":"0"}}} +2024-01-15 09:29:18.664 INFO 16044 --- [http-nio-8080-exec-6] c.J.d.b.controller.BizQccController : Status:200 +2024-01-15 09:29:18.669 INFO 16044 --- [http-nio-8080-exec-6] com.JN.utils.JSONHelper : Qcc result tokenJson: { + "Status" : "200", + "Message" : "【有效请求】查询成功", + "OrderNumber" : "ENTERPRISEINFO2024011509291816214879", + "Result" : { + "VerifyResult" : 1, + "Data" : { + "KeyNo" : "9khrhyaiprh3l53jearji39ekh5jshhpli", + "Name" : "南通一凡安装工程有限公司", + "CreditCode" : "913206027605461458", + "OperName" : "江欣", + "Status" : "存续(在营、开业、在册)", + "StartDate" : "2004-05-09", + "RegistCapi" : "1050万元人民币", + "RealCapi" : "50万元人民币", + "OrgNo" : "76054614-5", + "No" : "320600000082070", + "TaxNo" : "913206027605461458", + "EconKind" : "有限责任公司(自然人投资或控股)", + "TermStart" : "2004-05-09", + "TermEnd" : "2024-05-08", + "TaxpayerType" : "增值税一般纳税人", + "PersonScope" : "少于50人", + "InsuredCount" : "3", + "CheckDate" : "2021-04-26", + "AreaCode" : "320613", + "Area" : { + "Province" : "江苏省", + "City" : "南通市", + "County" : "崇川区" + }, + "BelongOrg" : "南通市崇川区行政审批局", + "ImExCode" : "", + "Industry" : { + "IndustryCode" : "C", + "Industry" : "制造业", + "SubIndustryCode" : "34", + "SubIndustry" : "通用设备制造业", + "MiddleCategoryCode" : "", + "MiddleCategory" : "", + "SmallCategoryCode" : "", + "SmallCategory" : "" + }, + "EnglishName" : "Nantong Yifan Installation Engineering Co., Ltd.", + "Address" : "江苏省南通市崇川区钟秀街道纬一路19号1号楼三层", + "AnnualAddress" : "南通市易家桥新村21-101", + "Scope" : "空调制冷设备及构件的制造、销售、安装及维修保养;金属材料、建筑装潢材料、卫生洁具、电线电缆、电器产品、五金工具、服装及辅料、日用百货的销售。(制造另设分支机构)(依法须经批准的项目,经相关部门批准后方可开展经营活动)", + "EntType" : "0", + "ImageUrl" : "https://image.qcc.com/logo/EntImage.png", + "RevokeInfo" : null, + "OriginalName" : [ { + "Name" : "南通一凡空调制冷有限公司", + "ChangeDate" : "2020-09-04" + } ], + "StockInfo" : null, + "ContactInfo" : { + "WebSiteList" : null, + "Email" : "ntwfzl@163.com", + "MoreEmailList" : null, + "Tel" : "0513-83580000", + "MoreTelList" : null + }, + "LongLat" : { + "Longitude" : "120.923061", + "Latitude" : "32.043239" + }, + "BankInfo" : { + "Bank" : "工行南川园支行", + "BankAccount" : "1111822409000032790", + "Name" : "南通一凡安装工程有限公司", + "CreditCode" : "913206027605461458", + "Address" : "江苏省南通市崇川区钟秀街道纬一路19号1号楼三层", + "Tel" : "0513-83580000" + }, + "IsSmall" : "1", + "Scale" : "XS", + "QccIndustry" : { + "AName" : "工业与商业服务", + "BName" : "机械制造", + "CName" : "通用机械", + "DName" : "" + }, + "IsOfficialEnglish" : "0" + } + } +} +2024-01-15 09:29:18.670 INFO 16044 --- [http-nio-8080-exec-6] com.JN.common.MyMetaObjecthandler : 公共字段自动填充[insert]... +2024-01-15 09:29:18.670 INFO 16044 --- [http-nio-8080-exec-6] com.JN.common.MyMetaObjecthandler : org.apache.ibatis.reflection.MetaObject@43fcde11 +2024-01-15 09:30:01.884 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:30:01.884 INFO 16044 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:30:01.884 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:30:01.885 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:30:02.091 INFO 16044 --- [http-nio-8080-exec-8] c.J.d.bizquery.controller.BizController : latestShippingDate:20240112latestOrderDate:20240105latestQuotationDate:2024-01-13 14:50:00.357salespersonCount2 +2024-01-15 09:30:02.092 ERROR 16044 --- [http-nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22] with root cause + +java.time.format.DateTimeParseException: Text '2024-01-13 14:50:00.357' could not be parsed, unparsed text found at index 22 + at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952) + at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) + at java.time.LocalDate.parse(LocalDate.java:400) + at com.JN.utils.StringUtils.formatDateString(StringUtils.java:41) + at com.JN.demo.bizquery.controller.BizController.queryBizDetail(BizController.java:85) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.JN.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:48) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:748) + +2024-01-15 09:30:18.041 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 09:30:18.041 INFO 16044 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 09:30:18.041 INFO 16044 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 09:30:18.041 INFO 16044 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 09:30:18.041 INFO 16044 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : false +2024-01-15 09:30:18.110 INFO 16044 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 09:30:34.357 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:30:34.357 INFO 16044 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:30:34.358 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:30:34.358 INFO 16044 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:30:34.362 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.b.controller.BizQccController : Request query headers: HEAD null HTTP/1.1 +2024-01-15 09:30:34.744 INFO 16044 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : latestShippingDate:0latestOrderDate:0latestQuotationDate:0salespersonCount0 +2024-01-15 09:30:34.745 INFO 16044 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 09:30:34.829 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.b.controller.BizQccController : tokenJson: {"Status":"200","Message":"【有效请求】查询成功","OrderNumber":"ENTERPRISEINFO2024011509303482366875","Result":{"VerifyResult":1,"Data":{"KeyNo":"eahmmy5l5pkem9hjh5ah9v3vjajskhshj9","Name":"南京顺吉纸管厂","CreditCode":"92320115MA1N90JW1P","OperName":"许家祥","Status":"存续(在营、开业、在册)","StartDate":"2002-03-02","RegistCapi":"5万元人民币","RealCapi":"","OrgNo":"MA1N90JW-1","No":"320121600021098","TaxNo":"92320115MA1N90JW1P","EconKind":"个体工商户","TermStart":"","TermEnd":"","TaxpayerType":"","PersonScope":"少于50人","InsuredCount":"","CheckDate":"2017-12-11","AreaCode":"320115","Area":{"Province":"江苏省","City":"南京市","County":"江宁区"},"BelongOrg":"南京市江宁区市场监督管理局","ImExCode":"","Industry":{"IndustryCode":"C","Industry":"制造业","SubIndustryCode":"22","SubIndustry":"造纸和纸制品业","MiddleCategoryCode":"223","MiddleCategory":"纸制品制造","SmallCategoryCode":"","SmallCategory":""},"EnglishName":"","Address":"南京市江宁区淳化街道淳化村","AnnualAddress":"","Scope":"纸制品、塑料零部件、模具加工、制造;道路货物运输。(依法须经批准的项目,经相关部门批准后方可开展经营活动)","EntType":"0","ImageUrl":"https://image.qcc.com/logo/EntImage.png","RevokeInfo":null,"OriginalName":null,"StockInfo":null,"ContactInfo":{"WebSiteList":null,"Email":"","MoreEmailList":null,"Tel":"13705192576","MoreTelList":[{"Tel":"18952021817","Source":"2018年报"},{"Tel":"13705197772","Source":"2015年报"}]},"LongLat":{"Longitude":"118.949174400941","Latitude":"31.9418439622918"},"BankInfo":{"Bank":"","BankAccount":"","Name":"南京顺吉纸管厂","CreditCode":"92320115MA1N90JW1P","Address":"南京市江宁区淳化街道淳化村","Tel":""},"IsSmall":"1","Scale":"XS","QccIndustry":null,"IsOfficialEnglish":"0"}}} +2024-01-15 09:30:34.830 INFO 16044 --- [http-nio-8080-exec-2] c.J.d.b.controller.BizQccController : Status:200 +2024-01-15 09:30:34.835 INFO 16044 --- [http-nio-8080-exec-2] com.JN.utils.JSONHelper : Qcc result tokenJson: { + "Status" : "200", + "Message" : "【有效请求】查询成功", + "OrderNumber" : "ENTERPRISEINFO2024011509303482366875", + "Result" : { + "VerifyResult" : 1, + "Data" : { + "KeyNo" : "eahmmy5l5pkem9hjh5ah9v3vjajskhshj9", + "Name" : "南京顺吉纸管厂", + "CreditCode" : "92320115MA1N90JW1P", + "OperName" : "许家祥", + "Status" : "存续(在营、开业、在册)", + "StartDate" : "2002-03-02", + "RegistCapi" : "5万元人民币", + "RealCapi" : "", + "OrgNo" : "MA1N90JW-1", + "No" : "320121600021098", + "TaxNo" : "92320115MA1N90JW1P", + "EconKind" : "个体工商户", + "TermStart" : "", + "TermEnd" : "", + "TaxpayerType" : "", + "PersonScope" : "少于50人", + "InsuredCount" : "", + "CheckDate" : "2017-12-11", + "AreaCode" : "320115", + "Area" : { + "Province" : "江苏省", + "City" : "南京市", + "County" : "江宁区" + }, + "BelongOrg" : "南京市江宁区市场监督管理局", + "ImExCode" : "", + "Industry" : { + "IndustryCode" : "C", + "Industry" : "制造业", + "SubIndustryCode" : "22", + "SubIndustry" : "造纸和纸制品业", + "MiddleCategoryCode" : "223", + "MiddleCategory" : "纸制品制造", + "SmallCategoryCode" : "", + "SmallCategory" : "" + }, + "EnglishName" : "", + "Address" : "南京市江宁区淳化街道淳化村", + "AnnualAddress" : "", + "Scope" : "纸制品、塑料零部件、模具加工、制造;道路货物运输。(依法须经批准的项目,经相关部门批准后方可开展经营活动)", + "EntType" : "0", + "ImageUrl" : "https://image.qcc.com/logo/EntImage.png", + "RevokeInfo" : null, + "OriginalName" : null, + "StockInfo" : null, + "ContactInfo" : { + "WebSiteList" : null, + "Email" : "", + "MoreEmailList" : null, + "Tel" : "13705192576", + "MoreTelList" : [ { + "Tel" : "18952021817", + "Source" : "2018年报" + }, { + "Tel" : "13705197772", + "Source" : "2015年报" + } ] + }, + "LongLat" : { + "Longitude" : "118.949174400941", + "Latitude" : "31.9418439622918" + }, + "BankInfo" : { + "Bank" : "", + "BankAccount" : "", + "Name" : "南京顺吉纸管厂", + "CreditCode" : "92320115MA1N90JW1P", + "Address" : "南京市江宁区淳化街道淳化村", + "Tel" : "" + }, + "IsSmall" : "1", + "Scale" : "XS", + "QccIndustry" : null, + "IsOfficialEnglish" : "0" + } + } +} +2024-01-15 09:30:34.836 INFO 16044 --- [http-nio-8080-exec-2] com.JN.common.MyMetaObjecthandler : 公共字段自动填充[insert]... +2024-01-15 09:30:34.837 INFO 16044 --- [http-nio-8080-exec-2] com.JN.common.MyMetaObjecthandler : org.apache.ibatis.reflection.MetaObject@1c577183 +2024-01-15 09:31:01.038 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:31:01.038 INFO 16044 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:31:01.038 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:31:01.038 INFO 16044 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:31:01.214 INFO 16044 --- [http-nio-8080-exec-5] c.J.d.bizquery.controller.BizController : latestShippingDate:0latestOrderDate:0latestQuotationDate:0salespersonCount0 +2024-01-15 09:31:01.215 INFO 16044 --- [http-nio-8080-exec-5] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 09:34:15.805 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:34:15.806 INFO 16044 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:34:15.807 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:34:15.807 INFO 16044 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:34:15.821 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:34:15.833 WARN 16044 --- [Druid-ConnectionPool-Create-1005373776] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:34:25.313 INFO 16044 --- [http-nio-8080-exec-6] c.J.d.bizquery.controller.BizController : latestShippingDate:0latestOrderDate:0latestQuotationDate:0salespersonCount0 +2024-01-15 09:34:40.016 INFO 16044 --- [http-nio-8080-exec-6] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 09:54:48.761 INFO 15324 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 15324 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 09:54:48.764 INFO 15324 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 09:54:50.696 WARN 15324 --- [Druid-ConnectionPool-Create-1994984869] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:54:51.858 INFO 15324 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 09:54:51.865 INFO 15324 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 09:54:51.979 WARN 15324 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 09:54:52.196 INFO 15324 --- [main] com.JN.JNApplication : Started JIALApplication in 3.845 seconds (JVM running for 4.819) +2024-01-15 09:54:52.202 INFO 15324 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 09:56:31.236 INFO 15324 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 09:56:31.237 INFO 15324 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 09:56:31.264 INFO 15324 --- [http-nio-8080-exec-1] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 09:56:31.557 INFO 15324 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 09:56:31.557 INFO 15324 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 09:56:31.558 INFO 15324 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 09:56:31.559 INFO 15324 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 09:56:31.561 INFO 15324 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 09:56:31.562 INFO 15324 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 09:56:31.564 INFO 15324 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 09:56:31.564 INFO 15324 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 09:56:31.567 INFO 15324 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 09:56:31.567 INFO 15324 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 09:56:31.568 INFO 15324 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 09:56:31.568 INFO 15324 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 09:56:31.592 INFO 15324 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 09:56:31.592 INFO 15324 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 09:56:31.592 INFO 15324 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 09:56:31.593 INFO 15324 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 09:56:31.685 INFO 15324 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 09:56:31.686 INFO 15324 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 09:56:31.704 INFO 15324 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 09:56:31.704 INFO 15324 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 09:56:35.938 INFO 15324 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 09:56:35.938 INFO 15324 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 09:56:35.939 INFO 15324 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 09:56:35.939 INFO 15324 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 09:56:35.939 INFO 15324 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : false +2024-01-15 09:56:35.989 WARN 15324 --- [Druid-ConnectionPool-Create-1994984869] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:56:36.102 INFO 15324 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 09:56:37.958 INFO 15324 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:56:37.958 INFO 15324 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:56:37.959 INFO 15324 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:56:37.959 INFO 15324 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:56:38.025 WARN 15324 --- [Druid-ConnectionPool-Create-1994984869] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 09:56:38.165 INFO 15324 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : latestShippingDate:20231207latestOrderDate:20231207latestQuotationDate:0salespersonCount1 +2024-01-15 09:56:38.168 INFO 15324 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 09:56:51.061 INFO 15324 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 09:56:51.062 INFO 15324 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 09:56:51.062 INFO 15324 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 09:56:51.062 INFO 15324 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 09:56:51.288 INFO 15324 --- [http-nio-8080-exec-5] c.J.d.bizquery.controller.BizController : latestShippingDate:20240112latestOrderDate:20240105latestQuotationDate:2024-01-13 14:50:00.357salespersonCount2 +2024-01-15 09:56:51.289 INFO 15324 --- [http-nio-8080-exec-5] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 10:12:17.280 INFO 13592 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 13592 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:12:17.283 INFO 13592 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:12:19.290 WARN 13592 --- [Druid-ConnectionPool-Create-633226335] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:12:20.575 INFO 13592 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:12:20.581 INFO 13592 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:12:20.705 WARN 13592 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:12:20.922 INFO 13592 --- [main] com.JN.JNApplication : Started JIALApplication in 4.055 seconds (JVM running for 4.955) +2024-01-15 10:12:20.928 INFO 13592 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 10:12:53.760 INFO 13592 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:12:53.761 INFO 13592 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:12:53.789 INFO 13592 --- [http-nio-8080-exec-2] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:12:54.107 INFO 13592 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 10:12:54.107 INFO 13592 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 10:12:54.107 INFO 13592 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 10:12:54.107 INFO 13592 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 10:12:54.116 INFO 13592 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 10:12:54.119 INFO 13592 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 10:12:54.119 INFO 13592 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 10:12:54.119 INFO 13592 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 10:12:54.120 INFO 13592 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 10:12:54.120 INFO 13592 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 10:12:54.121 INFO 13592 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 10:12:54.121 INFO 13592 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 10:12:54.253 INFO 13592 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 10:12:54.254 INFO 13592 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 10:12:54.257 INFO 13592 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 10:12:54.258 INFO 13592 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 10:12:54.352 INFO 13592 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 10:12:54.352 INFO 13592 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 10:12:54.375 INFO 13592 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 10:12:54.375 INFO 13592 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 10:12:58.210 INFO 13592 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:12:58.210 INFO 13592 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:12:58.211 INFO 13592 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:12:58.212 INFO 13592 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:12:58.212 INFO 13592 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:12:58.382 INFO 13592 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:13:02.802 INFO 13592 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-15 10:13:02.802 INFO 13592 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-15 10:13:02.802 INFO 13592 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-15 10:13:02.802 INFO 13592 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-15 10:15:08.854 INFO 5828 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 5828 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:15:08.856 INFO 5828 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:15:10.915 WARN 5828 --- [Druid-ConnectionPool-Create-1032382137] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:15:12.083 INFO 5828 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:15:12.090 INFO 5828 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:15:12.214 WARN 5828 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:15:12.460 INFO 5828 --- [main] com.JN.JNApplication : Started JIALApplication in 4.043 seconds (JVM running for 4.974) +2024-01-15 10:15:12.472 INFO 5828 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 10:16:02.206 INFO 5828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:16:02.208 INFO 5828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:16:02.233 INFO 5828 --- [http-nio-8080-exec-1] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:16:02.535 INFO 5828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 10:16:02.536 INFO 5828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 10:16:02.536 INFO 5828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 10:16:02.536 INFO 5828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 10:16:02.535 INFO 5828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 10:16:02.539 INFO 5828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 10:16:02.539 INFO 5828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 10:16:02.542 INFO 5828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 10:16:02.542 INFO 5828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 10:16:02.543 INFO 5828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 10:16:02.543 INFO 5828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 10:16:02.543 INFO 5828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 10:16:02.593 INFO 5828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 10:16:02.593 INFO 5828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 10:16:02.594 INFO 5828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 10:16:02.594 INFO 5828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 10:16:02.761 INFO 5828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 10:16:02.761 INFO 5828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 10:16:02.766 INFO 5828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-15 10:16:02.766 INFO 5828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-15 10:16:02.768 INFO 5828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-15 10:16:02.768 INFO 5828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-15 10:16:02.824 INFO 5828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 10:16:02.824 INFO 5828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 10:16:06.476 INFO 5828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:16:06.476 INFO 5828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:16:06.477 INFO 5828 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:16:06.478 INFO 5828 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:16:06.478 INFO 5828 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:16:06.629 INFO 5828 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:23:06.051 INFO 1364 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 1364 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:23:06.053 INFO 1364 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:23:08.152 WARN 1364 --- [Druid-ConnectionPool-Create-734518153] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:23:09.437 INFO 1364 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:23:09.450 INFO 1364 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:23:09.612 WARN 1364 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:23:09.829 INFO 1364 --- [main] com.JN.JNApplication : Started JIALApplication in 4.252 seconds (JVM running for 6.055) +2024-01-15 10:23:09.835 INFO 1364 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 10:23:31.918 INFO 1364 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:23:31.920 INFO 1364 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:23:31.945 INFO 1364 --- [http-nio-8080-exec-2] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:23:32.172 INFO 1364 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 10:23:32.172 INFO 1364 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 10:23:32.173 INFO 1364 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 10:23:32.173 INFO 1364 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 10:23:32.193 INFO 1364 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 10:23:32.195 INFO 1364 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 10:23:32.172 INFO 1364 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 10:23:32.195 INFO 1364 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 10:23:32.194 INFO 1364 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 10:23:32.195 INFO 1364 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 10:23:32.195 INFO 1364 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 10:23:32.195 INFO 1364 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 10:23:32.226 INFO 1364 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 10:23:32.226 INFO 1364 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 10:23:32.228 INFO 1364 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 10:23:32.228 INFO 1364 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 10:23:32.327 INFO 1364 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 10:23:32.327 INFO 1364 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 10:23:32.345 INFO 1364 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 10:23:32.345 INFO 1364 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 10:39:15.147 INFO 11160 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 11160 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:39:15.150 INFO 11160 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:39:17.121 WARN 11160 --- [Druid-ConnectionPool-Create-1374664497] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:39:18.324 INFO 11160 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:39:18.330 INFO 11160 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:39:18.453 WARN 11160 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:39:18.665 INFO 11160 --- [main] com.JN.JNApplication : Started JIALApplication in 4.005 seconds (JVM running for 4.893) +2024-01-15 10:39:18.671 INFO 11160 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 10:39:21.114 INFO 11160 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:21.115 INFO 11160 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:21.142 INFO 11160 --- [http-nio-8080-exec-1] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:21.442 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 10:39:21.442 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 10:39:21.442 INFO 11160 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 10:39:21.443 INFO 11160 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 10:39:21.445 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 10:39:21.445 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 10:39:21.449 INFO 11160 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 10:39:21.450 INFO 11160 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 10:39:21.451 INFO 11160 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 10:39:21.451 INFO 11160 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 10:39:21.456 INFO 11160 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 10:39:21.456 INFO 11160 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 10:39:21.476 INFO 11160 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 10:39:21.477 INFO 11160 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 10:39:21.479 INFO 11160 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 10:39:21.479 INFO 11160 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 10:39:21.554 INFO 11160 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 10:39:21.554 INFO 11160 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 10:39:21.569 INFO 11160 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 10:39:21.569 INFO 11160 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 10:39:30.691 INFO 11160 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:39:30.691 INFO 11160 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:39:30.692 INFO 11160 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:39:30.692 INFO 11160 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:39:30.692 INFO 11160 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:39:30.836 INFO 11160 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:39:33.674 INFO 11160 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-15 10:39:33.674 INFO 11160 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-15 10:39:33.674 INFO 11160 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-15 10:39:33.674 INFO 11160 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-15 10:39:35.009 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:39:35.010 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:39:35.016 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:39:35.016 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:39:35.085 WARN 11160 --- [Druid-ConnectionPool-Create-1374664497] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:39:35.210 INFO 11160 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : latestShippingDate:20231207latestOrderDate:20231207latestQuotationDate:0salespersonCount1 +2024-01-15 10:39:35.211 INFO 11160 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 10:39:49.076 INFO 11160 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.077 INFO 11160 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.078 INFO 11160 --- [http-nio-8080-exec-5] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:49.254 INFO 11160 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.254 INFO 11160 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.255 INFO 11160 --- [http-nio-8080-exec-8] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:49.412 INFO 11160 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.412 INFO 11160 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.413 INFO 11160 --- [http-nio-8080-exec-9] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:49.565 INFO 11160 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.565 INFO 11160 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.565 INFO 11160 --- [http-nio-8080-exec-10] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:49.708 INFO 11160 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.708 INFO 11160 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.709 INFO 11160 --- [http-nio-8080-exec-1] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:49.853 INFO 11160 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.854 INFO 11160 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.854 INFO 11160 --- [http-nio-8080-exec-7] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:49.981 INFO 11160 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:49.981 INFO 11160 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:49.982 INFO 11160 --- [http-nio-8080-exec-6] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:51.329 INFO 11160 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:51.330 INFO 11160 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:51.332 INFO 11160 --- [http-nio-8080-exec-2] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:51.811 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:51.812 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:51.813 INFO 11160 --- [http-nio-8080-exec-4] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:52.307 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:52.308 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:52.310 INFO 11160 --- [http-nio-8080-exec-3] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:39:52.896 INFO 11160 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:39:52.896 INFO 11160 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:39:52.898 INFO 11160 --- [http-nio-8080-exec-5] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:40:14.717 INFO 11160 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-15 10:40:14.717 INFO 11160 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-15 10:40:14.718 INFO 11160 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-15 10:40:14.717 INFO 11160 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-15 10:40:20.483 INFO 11160 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:40:20.483 INFO 11160 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:40:20.483 INFO 11160 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:40:20.483 INFO 11160 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:40:20.483 INFO 11160 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:40:20.545 INFO 11160 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:40:21.873 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:40:21.874 INFO 11160 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:40:21.878 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:40:21.878 INFO 11160 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:40:22.063 INFO 11160 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : latestShippingDate:20231207latestOrderDate:20231207latestQuotationDate:0salespersonCount1 +2024-01-15 10:40:22.065 INFO 11160 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : Received request with parameter: 开始写日志文件 +2024-01-15 10:45:28.290 INFO 6544 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 6544 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:45:28.293 INFO 6544 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:45:30.207 WARN 6544 --- [Druid-ConnectionPool-Create-1456250665] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:45:31.431 INFO 6544 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:45:31.437 INFO 6544 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:45:31.562 WARN 6544 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:45:31.779 INFO 6544 --- [main] com.JN.JNApplication : Started JIALApplication in 3.912 seconds (JVM running for 4.877) +2024-01-15 10:45:31.785 INFO 6544 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 10:47:02.179 INFO 828 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 828 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:47:02.181 INFO 828 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:47:04.190 WARN 828 --- [Druid-ConnectionPool-Create-1904652802] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:47:05.351 INFO 828 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:47:05.358 INFO 828 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:47:05.479 WARN 828 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:47:05.703 INFO 828 --- [main] com.JN.JNApplication : Started JIALApplication in 3.903 seconds (JVM running for 4.692) +2024-01-15 10:47:05.708 INFO 828 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 10:47:11.248 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:47:11.249 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:47:11.276 INFO 828 --- [http-nio-8080-exec-1] c.J.controller.PageRedirectController : 登入工号为: 11115 +2024-01-15 10:47:11.559 INFO 828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 10:47:11.559 INFO 828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 10:47:11.559 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 10:47:11.560 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 10:47:11.562 INFO 828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 10:47:11.563 INFO 828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 10:47:11.565 INFO 828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 10:47:11.565 INFO 828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 10:47:11.565 INFO 828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 10:47:11.565 INFO 828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 10:47:11.565 INFO 828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 10:47:11.565 INFO 828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 10:47:11.612 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 10:47:11.612 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 10:47:11.616 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 10:47:11.616 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 10:47:11.809 INFO 828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-15 10:47:11.809 INFO 828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-15 10:47:11.816 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 10:47:11.816 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 10:47:11.817 INFO 828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-15 10:47:11.817 INFO 828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-15 10:47:11.885 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 10:47:11.886 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 10:47:19.451 INFO 828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:47:19.451 INFO 828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:47:19.453 INFO 828 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:47:19.453 INFO 828 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:47:19.453 INFO 828 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:47:19.622 INFO 828 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:47:21.946 INFO 828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:47:21.946 INFO 828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:47:21.948 INFO 828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:47:21.949 INFO 828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:47:22.019 WARN 828 --- [Druid-ConnectionPool-Create-1904652802] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:47:22.153 INFO 828 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:南通一凡安装工程有限公司 +2024-01-15 10:47:41.321 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:47:41.321 INFO 828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:47:41.322 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:47:41.322 INFO 828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:47:41.510 INFO 828 --- [http-nio-8080-exec-5] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:无锡一凡电气设备有限公司 +2024-01-15 10:47:56.362 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:47:56.362 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:47:56.363 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:47:56.363 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 10:47:56.363 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:47:56.430 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 10:47:58.542 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:47:58.542 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:47:58.543 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:47:58.543 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:47:58.559 INFO 828 --- [http-nio-8080-exec-3] c.J.d.b.controller.BizQccController : Request query headers: HEAD null HTTP/1.1 +2024-01-15 10:47:59.007 INFO 828 --- [http-nio-8080-exec-1] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:南京能达利机械设备制造有限公司 +2024-01-15 10:47:59.251 INFO 828 --- [http-nio-8080-exec-3] c.J.d.b.controller.BizQccController : tokenJson: {"Status":"200","Message":"【有效请求】查询成功","OrderNumber":"ENTERPRISEINFO2024011510475916106346","Result":{"VerifyResult":1,"Data":{"KeyNo":"ehvv3yhijjsasehjk9abm5aaimae9brjhb","Name":"南京能达利机械设备制造有限公司","CreditCode":"913201147217231886","OperName":"伍仁华","Status":"存续(在营、开业、在册)","StartDate":"2000-03-10","RegistCapi":"200万元人民币","RealCapi":"200万元人民币","OrgNo":"72172318-8","No":"320114000009829","TaxNo":"913201147217231886","EconKind":"有限责任公司(自然人投资或控股)","TermStart":"2000-03-10","TermEnd":"","TaxpayerType":"增值税一般纳税人","PersonScope":"少于50人","InsuredCount":"7","CheckDate":"2022-06-21","AreaCode":"320114","Area":{"Province":"江苏省","City":"南京市","County":"雨花台区"},"BelongOrg":"南京市雨花台区行政审批局","ImExCode":"","Industry":{"IndustryCode":"C","Industry":"制造业","SubIndustryCode":"35","SubIndustry":"专用设备制造业","MiddleCategoryCode":"","MiddleCategory":"","SmallCategoryCode":"","SmallCategory":""},"EnglishName":"Nanjing Nengdali Mechanical Equipment Manufacturing Co., Ltd.","Address":"南京市雨花台区板桥街道孙家村666号05幢1跨车间","AnnualAddress":"","Scope":"化纤设备制造;机械加工;锻件加工;冷作;高炉开口钎具、凿岩钎具制造。(依法须经批准的项目,经相关部门批准后方可开展经营活动)","EntType":"0","ImageUrl":"https://image.qcc.com/logo/EntImage.png","RevokeInfo":null,"OriginalName":null,"StockInfo":null,"ContactInfo":{"WebSiteList":null,"Email":"","MoreEmailList":null,"Tel":"13851607535","MoreTelList":[{"Tel":"13851434990","Source":"2021年报"},{"Tel":"13809027168","Source":"2017年报"},{"Tel":"025-86808219","Source":"2014年报"}]},"LongLat":{"Longitude":"118.679885","Latitude":"31.907283"},"BankInfo":{"Bank":"紫金农商银行河西支行","BankAccount":"3201140301201000005156","Name":"南京能达利机械设备制造有限公司","CreditCode":"913201147217231886","Address":"南京市雨花台区板桥街道孙家村666号05幢1跨车间","Tel":"86808219"},"IsSmall":"1","Scale":"XS","QccIndustry":{"AName":"工业与商业服务","BName":"机械制造","CName":"专用设备","DName":""},"IsOfficialEnglish":"0"}}} +2024-01-15 10:47:59.254 INFO 828 --- [http-nio-8080-exec-3] com.JN.common.MyMetaObjecthandler : 公共字段自动填充[insert]... +2024-01-15 10:47:59.254 INFO 828 --- [http-nio-8080-exec-3] com.JN.common.MyMetaObjecthandler : org.apache.ibatis.reflection.MetaObject@688b4ac1 +2024-01-15 10:48:38.458 INFO 828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:48:38.458 INFO 828 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:48:38.459 INFO 828 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:48:38.459 INFO 828 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:48:38.459 INFO 828 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:48:38.512 INFO 828 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:48:39.446 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:48:39.446 INFO 828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:48:39.447 INFO 828 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:48:39.447 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:48:39.809 INFO 828 --- [http-nio-8080-exec-8] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:南通一凡安装工程有限公司 +2024-01-15 10:48:44.169 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:48:44.169 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:48:44.169 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:48:44.169 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:48:44.169 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:48:44.234 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:48:45.637 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:48:45.637 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:48:45.637 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:48:45.637 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:48:46.002 INFO 828 --- [http-nio-8080-exec-1] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:南通一凡安装工程有限公司 +2024-01-15 10:48:47.588 INFO 828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:48:47.589 INFO 828 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:48:47.589 INFO 828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:48:47.589 INFO 828 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:48:47.937 INFO 828 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:无锡一凡电气设备有限公司 +2024-01-15 10:49:04.677 INFO 828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:49:04.677 INFO 828 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:49:04.677 INFO 828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:49:04.677 INFO 828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:49:05.041 INFO 828 --- [http-nio-8080-exec-6] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:11115的用户查询的客户名称为:无锡一凡电气设备有限公司 +2024-01-15 10:50:23.147 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 10:50:23.147 INFO 828 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 10:50:23.148 INFO 828 --- [http-nio-8080-exec-8] c.J.controller.PageRedirectController : 登入工号为: 102245 +2024-01-15 10:50:32.354 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:50:32.354 INFO 828 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:50:32.354 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:50:32.354 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 一凡 +2024-01-15 10:50:32.354 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:50:32.368 WARN 828 --- [Druid-ConnectionPool-Create-1904652802] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:50:32.517 INFO 828 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001061173, name1=南通一凡安装工程有限公司), BizDto(kunnr=0001017188, name1=无锡一凡电气设备有限公司)] +2024-01-15 10:50:33.302 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 10:50:33.303 INFO 828 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 10:50:33.303 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 10:50:33.303 INFO 828 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 10:50:33.316 WARN 828 --- [Druid-ConnectionPool-Create-1904652802] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:50:33.478 INFO 828 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南通一凡安装工程有限公司 +2024-01-15 10:53:52.034 INFO 828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 10:53:52.034 INFO 828 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 10:53:52.034 INFO 828 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 10:53:52.034 INFO 828 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 10:53:52.034 INFO 828 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : false +2024-01-15 10:53:52.047 WARN 828 --- [Druid-ConnectionPool-Create-1904652802] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:53:52.106 INFO 828 --- [http-nio-8080-exec-10] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 10:55:21.969 INFO 12408 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 12408 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 10:55:21.972 INFO 12408 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 10:55:24.043 WARN 12408 --- [Druid-ConnectionPool-Create-1459669467] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 10:55:25.390 INFO 12408 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 10:55:25.396 INFO 12408 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 10:55:25.511 WARN 12408 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 10:55:25.726 INFO 12408 --- [main] com.JN.JNApplication : Started JIALApplication in 4.202 seconds (JVM running for 5.176) +2024-01-15 10:55:25.733 INFO 12408 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 11:09:31.534 INFO 12408 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 11:09:31.535 INFO 12408 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 11:09:31.558 INFO 12408 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 11:09:31.559 INFO 12408 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 11:09:31.559 INFO 12408 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : false +2024-01-15 11:09:31.604 WARN 12408 --- [Druid-ConnectionPool-Create-1459669467] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 11:09:31.750 INFO 12408 --- [http-nio-8080-exec-2] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 11:09:32.282 INFO 12408 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 11:09:32.282 INFO 12408 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 11:09:32.283 INFO 12408 --- [http-nio-8080-exec-1] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 11:09:32.283 INFO 12408 --- [http-nio-8080-exec-1] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 11:09:32.283 INFO 12408 --- [http-nio-8080-exec-1] c.J.d.bizquery.controller.BizController : false +2024-01-15 11:09:32.349 INFO 12408 --- [http-nio-8080-exec-1] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 11:09:43.627 INFO 12408 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 11:09:43.627 INFO 12408 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 11:09:43.628 INFO 12408 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 11:09:43.628 INFO 12408 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 11:09:43.694 WARN 12408 --- [Druid-ConnectionPool-Create-1459669467] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 11:09:44.007 INFO 12408 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京骏阔电子科技有限公司 +2024-01-15 11:09:58.901 INFO 12408 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 11:09:58.902 INFO 12408 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 11:09:58.902 INFO 12408 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 11:09:58.902 INFO 12408 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 11:09:59.275 INFO 12408 --- [http-nio-8080-exec-5] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京虹天科技有限公司 +2024-01-15 11:10:09.182 INFO 12408 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 11:10:09.182 INFO 12408 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 11:10:09.182 INFO 12408 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 11:10:09.182 INFO 12408 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 11:10:09.400 INFO 12408 --- [http-nio-8080-exec-7] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京年嘉模具制造有限责任公司 +2024-01-15 11:10:15.886 INFO 12408 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 11:10:15.887 INFO 12408 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 11:10:15.888 INFO 12408 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 11:10:15.888 INFO 12408 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 11:10:16.106 INFO 12408 --- [http-nio-8080-exec-9] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京顺吉纸管厂 +2024-01-15 11:10:20.757 INFO 12408 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/js-calendar-converter.js.map +2024-01-15 11:10:20.758 INFO 12408 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/js-calendar-converter.js.map不需要处理 +2024-01-15 11:10:20.760 INFO 12408 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.map +2024-01-15 11:10:20.760 INFO 12408 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.map不需要处理 +2024-01-15 11:10:44.891 INFO 13920 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 13920 (D:\Users\Administrator\Desktop\BizProject\target\classes started by Administrator in D:\Users\Administrator\Desktop\BizProject) +2024-01-15 11:10:44.894 INFO 13920 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 11:10:46.808 WARN 13920 --- [Druid-ConnectionPool-Create-95552255] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 11:10:48.029 INFO 13920 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 11:10:48.035 INFO 13920 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 11:10:48.152 WARN 13920 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 11:10:48.387 INFO 13920 --- [main] com.JN.JNApplication : Started JIALApplication in 3.891 seconds (JVM running for 4.748) +2024-01-15 11:10:48.392 INFO 13920 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 11:10:51.935 INFO 13920 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 11:10:51.937 INFO 13920 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 11:10:51.966 INFO 13920 --- [http-nio-8080-exec-2] c.J.controller.PageRedirectController : 登入工号为: 102245 +2024-01-15 11:10:52.274 INFO 13920 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 11:10:52.275 INFO 13920 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 11:10:52.275 INFO 13920 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 11:10:52.274 INFO 13920 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 11:10:52.279 INFO 13920 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 11:10:52.279 INFO 13920 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 11:10:52.281 INFO 13920 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 11:10:52.282 INFO 13920 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 11:10:52.282 INFO 13920 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 11:10:52.282 INFO 13920 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 11:10:52.285 INFO 13920 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 11:10:52.285 INFO 13920 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 11:10:52.306 INFO 13920 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 11:10:52.306 INFO 13920 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 11:10:52.310 INFO 13920 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 11:10:52.311 INFO 13920 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 11:10:52.413 INFO 13920 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 11:10:52.413 INFO 13920 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 11:10:52.431 INFO 13920 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 11:10:52.431 INFO 13920 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 +2024-01-15 11:10:56.618 INFO 13920 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/list +2024-01-15 11:10:56.619 INFO 13920 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/list不需要处理 +2024-01-15 11:10:56.620 INFO 13920 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 开始调用sql---------------------- +2024-01-15 11:10:56.620 INFO 13920 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : 南京 +2024-01-15 11:10:56.620 INFO 13920 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : false +2024-01-15 11:10:56.773 INFO 13920 --- [http-nio-8080-exec-3] c.J.d.bizquery.controller.BizController : [BizDto(kunnr=0001023011, name1=南京顺吉纸管厂), BizDto(kunnr=0001021816, name1=南京骏阔电子科技有限公司), BizDto(kunnr=0001023316, name1=南京市浦口区峰塔水泥制品厂), BizDto(kunnr=0001022145, name1=南京盈和防雷检测科技有限公司), BizDto(kunnr=0001022168, name1=南京帝悦电梯配件有限公司), BizDto(kunnr=0001023929, name1=南京年嘉模具制造有限责任公司), BizDto(kunnr=0001024029, name1=南京虹天科技有限公司), BizDto(kunnr=0001022630, name1=南京佳美液压机械制造有限公司), BizDto(kunnr=0001024208, name1=南京能达利机械设备制造有限公司), BizDto(kunnr=0001024288, name1=南京春明现代雕塑有限公司)] +2024-01-15 11:11:04.811 INFO 13920 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 11:11:04.812 INFO 13920 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 11:11:04.812 INFO 13920 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 11:11:04.812 INFO 13920 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 11:11:04.876 WARN 13920 --- [Druid-ConnectionPool-Create-95552255] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 11:11:05.008 INFO 13920 --- [http-nio-8080-exec-6] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京顺吉纸管厂 +2024-01-15 11:11:10.494 INFO 13920 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/bizquery/detail +2024-01-15 11:11:10.495 INFO 13920 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/bizquery/detail不需要处理 +2024-01-15 11:11:10.495 INFO 13920 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/qcc +2024-01-15 11:11:10.495 INFO 13920 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/qcc不需要处理 +2024-01-15 11:11:10.867 INFO 13920 --- [http-nio-8080-exec-4] c.J.d.bizquery.controller.BizController : 开始记录日志信息: 工号为:102245的用户查询的客户名称为:南京顺吉纸管厂 +2024-01-15 11:20:28.495 INFO 10692 --- [main] com.JN.JNApplication : Starting JIALApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 10692 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-15 11:20:28.498 INFO 10692 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 11:20:30.533 WARN 10692 --- [Druid-ConnectionPool-Create-1398479590] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 11:20:31.766 INFO 10692 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 11:20:31.772 INFO 10692 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 11:20:31.898 WARN 10692 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 11:20:32.118 INFO 10692 --- [main] com.JN.JNApplication : Started JIALApplication in 4.049 seconds (JVM running for 4.877) +2024-01-15 11:20:32.124 INFO 10692 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 11:21:51.792 INFO 14028 --- [main] com.JN.JNApplication : Starting JNApplication using Java 1.8.0_171 on DESKTOP-OG1MRMC with PID 14028 (D:\JavaProject\JNDemo\target\classes started by Administrator in D:\JavaProject\JNDemo) +2024-01-15 11:21:51.795 INFO 14028 --- [main] com.JN.JNApplication : The following profiles are active: ss +2024-01-15 11:21:53.799 WARN 14028 --- [Druid-ConnectionPool-Create-2133998394] c.m.s.jdbc.internals.TDS.Channel : TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. +2024-01-15 11:21:54.984 INFO 14028 --- [main] com.JN.config.WebMvcConfig : 扩展消息转换器... +2024-01-15 11:21:54.991 INFO 14028 --- [main] com.JN.config.WebMvcConfig : 开始进行静态资源映射... +2024-01-15 11:21:55.181 WARN 14028 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2024-01-15 11:21:55.453 INFO 14028 --- [main] com.JN.JNApplication : Started JNApplication in 4.097 seconds (JVM running for 4.925) +2024-01-15 11:21:55.460 INFO 14028 --- [main] com.JN.JNApplication : 项目启动成功... +2024-01-15 11:22:01.193 INFO 14028 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/Biz +2024-01-15 11:22:01.195 INFO 14028 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/Biz不需要处理 +2024-01-15 11:22:01.224 INFO 14028 --- [http-nio-8080-exec-1] c.JN.controller.PageRedirectController : 登入工号为: 102245 +2024-01-15 11:22:01.533 INFO 14028 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.css +2024-01-15 11:22:01.534 INFO 14028 --- [http-nio-8080-exec-3] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.css不需要处理 +2024-01-15 11:22:01.536 INFO 14028 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/css/index.css +2024-01-15 11:22:01.536 INFO 14028 --- [http-nio-8080-exec-2] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/css/index.css不需要处理 +2024-01-15 11:22:01.539 INFO 14028 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/index.js +2024-01-15 11:22:01.540 INFO 14028 --- [http-nio-8080-exec-5] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/index.js不需要处理 +2024-01-15 11:22:01.542 INFO 14028 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/calendar/calendar.js +2024-01-15 11:22:01.542 INFO 14028 --- [http-nio-8080-exec-6] com.JN.filter.LoginCheckFilter : 本次请求/plugins/calendar/calendar.js不需要处理 +2024-01-15 11:22:01.539 INFO 14028 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/vue/vue.js +2024-01-15 11:22:01.543 INFO 14028 --- [http-nio-8080-exec-4] com.JN.filter.LoginCheckFilter : 本次请求/plugins/vue/vue.js不需要处理 +2024-01-15 11:22:01.545 INFO 14028 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/axios.min.js +2024-01-15 11:22:01.545 INFO 14028 --- [http-nio-8080-exec-7] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/axios.min.js不需要处理 +2024-01-15 11:22:01.593 INFO 14028 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/axios/request.js +2024-01-15 11:22:01.593 INFO 14028 --- [http-nio-8080-exec-8] com.JN.filter.LoginCheckFilter : 本次请求/plugins/axios/request.js不需要处理 +2024-01-15 11:22:01.598 INFO 14028 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/bizquery/js/index.js +2024-01-15 11:22:01.598 INFO 14028 --- [http-nio-8080-exec-9] com.JN.filter.LoginCheckFilter : 本次请求/static/bizquery/js/index.js不需要处理 +2024-01-15 11:22:01.806 INFO 14028 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 拦截到请求:/plugins/element-ui/fonts/element-icons.woff +2024-01-15 11:22:01.807 INFO 14028 --- [http-nio-8080-exec-10] com.JN.filter.LoginCheckFilter : 本次请求/plugins/element-ui/fonts/element-icons.woff不需要处理 +2024-01-15 11:22:01.833 INFO 14028 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 拦截到请求:/static/image/JNlogo.png +2024-01-15 11:22:01.833 INFO 14028 --- [http-nio-8080-exec-1] com.JN.filter.LoginCheckFilter : 本次请求/static/image/JNlogo.png不需要处理 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..d0dd1d6 --- /dev/null +++ b/pom.xml @@ -0,0 +1,199 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.4.5 + + + com.JIAL + BizProject + 1.0-SNAPSHOT + + 1.8 + + + + + com.aliyun + aliyun-java-sdk-core + 4.5.16 + + + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.5.0 + + + com.aliyun + aliyun-java-sdk-dysmsapi + 2.1.0 + + + org.springframework.boot + spring-boot-starter + + + cn.hutool + hutool-all + 5.4.1 + + + + org.apache.httpcomponents + httpclient + 4.5.1 + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-web + compile + + + + com.baomidou + mybatis-plus-boot-starter + 3.4.2 + + + + org.projectlombok + lombok + 1.18.20 + + + + com.alibaba + fastjson + 1.2.76 + + + net.sf.json-lib + json-lib + 2.2.3 + jdk15 + + + commons-lang + commons-lang + 2.6 + + + + + com.thoughtworks.xstream + xstream + 1.4.11.1 + + + org.dom4j + dom4j + 2.0.0 + + + org.testng + testng + RELEASE + compile + + + org.apache.commons + commons-lang3 + 3.4 + + + + commons-codec + commons-codec + 1.10 + + + + mysql + mysql-connector-java + runtime + + + + com.alibaba + druid-spring-boot-starter + 1.1.23 + + + + com.github.yulichang + mybatis-plus-join-boot-starter + 1.4.7.2 + + + junit + junit + 4.10 + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + com.microsoft.sqlserver + mssql-jdbc + 9.4.0.jre8 + + + + + org.hibernate + hibernate-core + + + + + com.h2database + h2 + runtime + + + + com.zaxxer + HikariCP + + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + com.vaadin.external.google + android-json + 0.0.20131108.vaadin1 + compile + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.4.5 + + + + + \ No newline at end of file diff --git a/src/main/java/com/JN/API/qichacha/QccApiUntils.java b/src/main/java/com/JN/API/qichacha/QccApiUntils.java new file mode 100644 index 0000000..fdb86ef --- /dev/null +++ b/src/main/java/com/JN/API/qichacha/QccApiUntils.java @@ -0,0 +1,58 @@ +package com.JN.API.qichacha; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.commons.codec.digest.DigestUtils; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.regex.Pattern; + +import static java.lang.System.out; + + +/** + * @ClassName QccApiUntils + * @Description 企查查的API接口类工具类 + * @Author JN + * @Date 2024/1/11 9:41 + * @Version 1.0 + */ +public class QccApiUntils { + + + // 获取返回码 Res Code + public static class HttpCodeRegex { + private static final String ABNORMAL_REGIX = "(101)|(102)"; + private static final Pattern pattern = Pattern.compile(ABNORMAL_REGIX); + public static boolean isAbnornalRequest(final String status) { + return pattern.matcher(status).matches(); + } + } + + // 获取Auth Code + public static String[] RandomAuthentHeader(String appkey, String secretKey) { + String timeSpan = String.valueOf(System.currentTimeMillis() / 1000); + String[] authentHeaders = new String[] { DigestUtils.md5Hex(appkey.concat(timeSpan).concat(secretKey)).toUpperCase(), timeSpan }; + return authentHeaders; + } + + // 解析JSON + public static String FormartJson(String jsonString, String key) throws JSONException { + JSONObject jObject = new JSONObject(jsonString); + return (String) jObject.get(key); + } + + // pretty print 返回值 + public static void PrettyPrintJson(String jsonString) throws JSONException { + try { + ObjectMapper mapper = new ObjectMapper(); + Object obj = mapper.readValue(jsonString, Object.class); + String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj); + out.println(indented); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + +} diff --git a/src/main/java/com/JN/JNApplication.java b/src/main/java/com/JN/JNApplication.java new file mode 100644 index 0000000..4da312d --- /dev/null +++ b/src/main/java/com/JN/JNApplication.java @@ -0,0 +1,18 @@ +package com.JN; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +@Slf4j +@SpringBootApplication +@ServletComponentScan +@EnableTransactionManagement +public class JNApplication { + public static void main(String[] args) { + SpringApplication.run(JNApplication.class,args); + log.info("项目启动成功..."); + } +} diff --git a/src/main/java/com/JN/common/BaseContext.java b/src/main/java/com/JN/common/BaseContext.java new file mode 100644 index 0000000..d1e86c3 --- /dev/null +++ b/src/main/java/com/JN/common/BaseContext.java @@ -0,0 +1,24 @@ +package com.JN.common; + +/** + * 基于ThreadLocal封装工具类,用户保存和获取当前登录用户id + */ +public class BaseContext { + private static ThreadLocal threadLocal = new ThreadLocal<>(); + + /** + * 设置值 + * @param id + */ + public static void setCurrentId(Long id){ + threadLocal.set(id); + } + + /** + * 获取值 + * @return + */ + public static Long getCurrentId(){ + return threadLocal.get(); + } +} \ No newline at end of file diff --git a/src/main/java/com/JN/common/CustomException.java b/src/main/java/com/JN/common/CustomException.java new file mode 100644 index 0000000..382194f --- /dev/null +++ b/src/main/java/com/JN/common/CustomException.java @@ -0,0 +1,10 @@ +package com.JN.common; + +/** + * 自定义业务异常类 + */ +public class CustomException extends RuntimeException { + public CustomException(String message){ + super(message); + } +} diff --git a/src/main/java/com/JN/common/GlobalExceptionHandler.java b/src/main/java/com/JN/common/GlobalExceptionHandler.java new file mode 100644 index 0000000..92f6852 --- /dev/null +++ b/src/main/java/com/JN/common/GlobalExceptionHandler.java @@ -0,0 +1,48 @@ +package com.JN.common; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import java.sql.SQLIntegrityConstraintViolationException; + +/** + * 全局异常处理 + */ +@ControllerAdvice(annotations = {RestController.class, Controller.class}) +@ResponseBody +@Slf4j +public class GlobalExceptionHandler { + + /** + * 异常处理方法 + * @return + */ + @ExceptionHandler(SQLIntegrityConstraintViolationException.class) + public R exceptionHandler(SQLIntegrityConstraintViolationException ex){ + log.error(ex.getMessage()); + + if(ex.getMessage().contains("Duplicate entry")){ + String[] split = ex.getMessage().split(" "); + String msg = split[2] + "已存在"; + return R.error(msg); + } + + return R.error("未知错误"); + } + + /** + * 异常处理方法 + * @return + */ + @ExceptionHandler(CustomException.class) + public R exceptionHandler(CustomException ex){ + log.error(ex.getMessage()); + + return R.error(ex.getMessage()); + } + +} diff --git a/src/main/java/com/JN/common/JacksonObjectMapper.java b/src/main/java/com/JN/common/JacksonObjectMapper.java new file mode 100644 index 0000000..89f3212 --- /dev/null +++ b/src/main/java/com/JN/common/JacksonObjectMapper.java @@ -0,0 +1,56 @@ +package com.JN.common; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; + +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; + +import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; + +/** + * 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象 + * 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] + * 从Java对象生成JSON的过程称为 [序列化Java对象到JSON] + */ +public class JacksonObjectMapper extends ObjectMapper { + + public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; + public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss"; + + public JacksonObjectMapper() { + super(); + //收到未知属性时不报异常 + this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); + + //反序列化时,属性不存在的兼容处理 + this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + + + SimpleModule simpleModule = new SimpleModule() + .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) + .addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) + .addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))) + + .addSerializer(BigInteger.class, ToStringSerializer.instance) + .addSerializer(Long.class, ToStringSerializer.instance) + .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) + .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) + .addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); + + //注册功能模块 例如,可以添加自定义序列化器和反序列化器 + this.registerModule(simpleModule); + } +} diff --git a/src/main/java/com/JN/common/MyMetaObjecthandler.java b/src/main/java/com/JN/common/MyMetaObjecthandler.java new file mode 100644 index 0000000..b1e8097 --- /dev/null +++ b/src/main/java/com/JN/common/MyMetaObjecthandler.java @@ -0,0 +1,43 @@ +package com.JN.common; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.reflection.MetaObject; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; + +/** + * 自定义元数据对象处理器 + */ +@Component +@Slf4j +public class MyMetaObjecthandler implements MetaObjectHandler { + /** + * 插入操作,自动填充 + * @param metaObject + */ + @Override + public void insertFill(MetaObject metaObject) { + log.info("公共字段自动填充[insert]..."); + log.info(metaObject.toString()); + + metaObject.setValue("createTime", LocalDateTime.now()); + metaObject.setValue("updateTime",LocalDateTime.now()); + } + + /** + * 更新操作,自动填充 + * @param metaObject + */ + @Override + public void updateFill(MetaObject metaObject) { + log.info("公共字段自动填充[update]..."); + log.info(metaObject.toString()); + + long id = Thread.currentThread().getId(); + log.info("线程id为:{}",id); + + metaObject.setValue("updateTime",LocalDateTime.now()); + } +} diff --git a/src/main/java/com/JN/common/R.java b/src/main/java/com/JN/common/R.java new file mode 100644 index 0000000..220a0dc --- /dev/null +++ b/src/main/java/com/JN/common/R.java @@ -0,0 +1,42 @@ +package com.JN.common; + +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +/** + * 通用返回结果,服务端响应的数据最终都会封装成此对象 + * @param + */ +@Data +public class R { + + private Integer code; //编码:1成功,0和其它数字为失败 + + private String msg; //错误信息 + + private T data; //数据 + + private Map map = new HashMap(); //动态数据 + + public static R success(T object) { + R r = new R(); + r.data = object; + r.code = 1; + return r; + } + + public static R error(String msg) { + R r = new R(); + r.msg = msg; + r.code = 0; + return r; + } + + public R add(String key, Object value) { + this.map.put(key, value); + return this; + } + +} diff --git a/src/main/java/com/JN/config/MybatisPlusConfig.java b/src/main/java/com/JN/config/MybatisPlusConfig.java new file mode 100644 index 0000000..b2a1eb6 --- /dev/null +++ b/src/main/java/com/JN/config/MybatisPlusConfig.java @@ -0,0 +1,20 @@ +package com.JN.config; + +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 配置MP的分页插件 + */ +@Configuration +public class MybatisPlusConfig { + + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor(){ + MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); + mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); + return mybatisPlusInterceptor; + } +} diff --git a/src/main/java/com/JN/config/WebMvcConfig.java b/src/main/java/com/JN/config/WebMvcConfig.java new file mode 100644 index 0000000..67ac424 --- /dev/null +++ b/src/main/java/com/JN/config/WebMvcConfig.java @@ -0,0 +1,47 @@ +package com.JN.config; + +import com.JN.common.JacksonObjectMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; + +import java.util.List; + +@Slf4j +@Configuration +public class WebMvcConfig extends WebMvcConfigurationSupport { + + /** + * 设置静态资源映射,系统默认访问static目录下的资源,通过资源类的映射,来访问其他目录,重写这个类 + * @param registry + */ + @Override + protected void addResourceHandlers(ResourceHandlerRegistry registry) { + log.info("开始进行静态资源映射..."); + //第一个参数是路径,显示在浏览器的,第二个参数是映射路径,我们文件夹的路径 + registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/"); + registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/"); + registry.addResourceHandler("/plugins/**").addResourceLocations("classpath:/plugins/"); + registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); + registry.addResourceHandler("/blog/**").addResourceLocations("classpath:/blog/"); + registry.addResourceHandler("/bizquery/**").addResourceLocations("classpath:/bizquery/"); + } + + /** + * 扩展mvc框架的消息转换器 + * @param converters + */ + @Override + protected void extendMessageConverters(List> converters) { + log.info("扩展消息转换器..."); + //创建消息转换器对象 + MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter(); + //设置对象转换器,底层使用Jackson将Java对象转为json + messageConverter.setObjectMapper(new JacksonObjectMapper()); + //将上面的消息转换器对象追加到mvc框架的转换器集合中 + converters.add(0,messageConverter); + } +} diff --git a/src/main/java/com/JN/controller/PageRedirectController.java b/src/main/java/com/JN/controller/PageRedirectController.java new file mode 100644 index 0000000..6a49c42 --- /dev/null +++ b/src/main/java/com/JN/controller/PageRedirectController.java @@ -0,0 +1,47 @@ +package com.JN.controller; + +import com.JN.service.EmployeeService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +/** + * @ClassName PageRedirectController + * @Description TODO + * @Author JN + * @Date 2024/1/12 14:44 + * @Version 1.0 + */ +@Controller +@Slf4j +public class PageRedirectController { + + @Autowired + EmployeeService employeeService; + /** + * @title redirectBiz + * @description 后台接收带工号的URL请求跳转界面 + * @author JN + * @param: id + * @param: model + * @updateTime 2024/1/15 8:23 + * @return: java.lang.String + */ + @RequestMapping(value = "/Biz", method = {RequestMethod.GET, RequestMethod.POST}) + public String redirectBiz(@RequestParam("id") String id, Model model) { + log.info("登入工号为: {}", id); + // 将工号添加到Model中 + String name = employeeService.queryNameById(id); + model.addAttribute("employeeId", id); + model.addAttribute("employeeName", name); + + if(name == null || name.equals("")) { + return "bizquery/error"; + } + + return "bizquery/index"; + } + +} diff --git a/src/main/java/com/JN/demo/bizquery/controller/BizController.java b/src/main/java/com/JN/demo/bizquery/controller/BizController.java new file mode 100644 index 0000000..cc977c1 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/controller/BizController.java @@ -0,0 +1,88 @@ +package com.JN.demo.bizquery.controller; + +import com.JN.common.R; +import com.JN.demo.bizquery.dto.BizDto; +import com.JN.demo.bizquery.service.BizService; +import com.JN.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @ClassName BizController + * @Description 业务查询的controller类 + * @Author JN + * @Date 2024/1/8 8:54 + * @Version 1.0 + */ +@RestController +@Slf4j +@RequestMapping("/bizquery") +public class BizController { + + @Autowired + BizService bizService; + + @PostMapping("list") + public R> queryBizList(@RequestParam("name") String name) { + log.info("开始调用sql----------------------"); + log.info(name); + + log.info(String.valueOf(bizService == null)); + List resultList = bizService.queryBizListByName(name); + + log.info(resultList.toString()); + return R.success(resultList); + } + + @PostMapping("detail") + public R> queryBizDetail(@RequestParam("kunnr") String kunnr, @RequestParam("name") String name, + @RequestParam("time") String time, @RequestParam("employeeId") String employeeId) { + //根据传入的时间前后获取格式化后的时间 + LocalDate currentDate = LocalDate.now(); + LocalDate manipulatedDate; + String yearAgoFormat; + //通过传入的过去时间值来格式化对应的日期 + switch (time) { + case "1": + manipulatedDate = currentDate.minusYears(1); + break; + case "2": + manipulatedDate = currentDate.minusYears(2); + break; + case "3": + manipulatedDate = currentDate.minusYears(3); + break; + default: + manipulatedDate = currentDate; + } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + + //当前日期和之前的日期格式化 + yearAgoFormat = manipulatedDate.format(formatter); + //获取最近发货日期,最近下单日期,最近报价日期,处理的业务员数量 + String latestShippingDate = StringUtils.getDefaultIfNull(bizService.queryLatestShippingDate(kunnr, yearAgoFormat), "0"); + String latestOrderDate = StringUtils.getDefaultIfNull(bizService.queryLatestOrderDate(kunnr, yearAgoFormat), "0"); + String latestQuotationDate = StringUtils.getDefaultIfNull(bizService.queryLatestQuotationDate(name), "0"); + String salespersonCount = StringUtils.getDefaultIfNull(bizService.querySalespersonCount(kunnr, yearAgoFormat), "0"); + + Map resultMap = new HashMap<>(); + resultMap.put("latestShippingDate", "0".equals(latestShippingDate) ? latestShippingDate : StringUtils.formatDateString(latestShippingDate, "yyyy-MM-dd")); + resultMap.put("latestOrderDate", "0".equals(latestOrderDate) ? latestOrderDate : StringUtils.formatDateString(latestOrderDate, "yyyy-MM-dd")); + resultMap.put("latestQuotationDate", "0".equals(latestQuotationDate) ? latestQuotationDate : StringUtils.formatDateString(latestQuotationDate, "yyyy-MM-dd")); + resultMap.put("salespersonCount", salespersonCount ); + + log.info("开始记录日志信息: {}", "工号为:" + employeeId + "的用户查询的客户名称为:" + name); + return R.success(resultMap); + } + +} diff --git a/src/main/java/com/JN/demo/bizquery/controller/BizQccController.java b/src/main/java/com/JN/demo/bizquery/controller/BizQccController.java new file mode 100644 index 0000000..6392243 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/controller/BizQccController.java @@ -0,0 +1,136 @@ +package com.JN.demo.bizquery.controller; + +import com.JN.API.qichacha.QccApiUntils; +import com.JN.common.R; +import com.JN.demo.bizquery.entity.QccInfo; +import com.JN.demo.bizquery.service.QccInfoService; +import com.JN.utils.HttpHelper; +import com.JN.utils.JSONHelper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import lombok.extern.slf4j.Slf4j; +import org.apache.http.client.methods.HttpHead; +import org.json.JSONException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.PropertySource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.HashMap; +import java.util.Map; + + +/** + * @ClassName BizQccController + * @Description 业务查询中的企查查的接受请求控制类 + * @Author JN + * @Date 2024/1/11 9:46 + * @Version 1.0 + */ + +@RestController +@Slf4j +@RequestMapping("/qcc") +@PropertySource("classpath:/file.properties") +public class BizQccController { + + @Autowired + private QccInfoService qccInfoService; + @Value("${Qcc_Key}") + private String Qcc_Key; + // 接口请求Key + @Value("${Qcc_SecretKey}") + private String Qcc_SecretKey; + + @Value("${Qcc_Url}") + private String Qcc_Url; + + @PostMapping + public R> queryCompanyInfo(@RequestParam("name") String name) throws JSONException { + //创建数据库查询 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(QccInfo::getName, name); + QccInfo qccInfo = qccInfoService.getOne(queryWrapper); + + if(qccInfo == null || isExpiredOneMonth(qccInfo.getUpdateTime())) { + String paramStr = "searchKey="; + String status = ""; + // 判断 name 是否为空,避免拼接出现异常,将传入的 + if (name != null && !name.isEmpty()) { + // 拼接参数字符串 + paramStr += name; + } + try{ + HttpHead reqHeader = new HttpHead(); + String[] autherHeader = QccApiUntils.RandomAuthentHeader(Qcc_Key, Qcc_SecretKey); + reqHeader.setHeader("Token", autherHeader[0]); + reqHeader.setHeader("Timespan", autherHeader[1]); + log.info("Request query headers: {}", reqHeader); + + final String reqUri = Qcc_Url.concat("?key=").concat(Qcc_Key).concat("&").concat(paramStr); + String tokenJson = HttpHelper.httpGet(reqUri, reqHeader.getAllHeaders()); + log.info("tokenJson: {}", tokenJson); + + //创建新增的qccInfo类用来插入数据 + QccInfo qccInfoSave = new QccInfo(); + qccInfoSave.setQccJson(tokenJson); + + if(qccInfo == null) { + qccInfoSave.setName(name); + qccInfoService.save(qccInfoSave); + } else { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(QccInfo::getName, name); + qccInfoService.update(qccInfoSave, updateWrapper); + } + + return R.success(insuredCountMap(tokenJson)); + } catch (Exception e1) { + e1.printStackTrace(); + } + } else { + return R.success(insuredCountMap(qccInfo.getQccJson())); + } + return null; + } + + /** + * @title isExpiredOneMonth + * @description 判断传入的日期是否过期一个月 + * @author JN + * @param: updateTime + * @updateTime 2024/1/12 10:20 + * @return: boolean + */ + public boolean isExpiredOneMonth(LocalDateTime updateTime) { + LocalDateTime oneMonthLater = updateTime.plus(1, ChronoUnit.MONTHS); + LocalDateTime now = LocalDateTime.now(); + + return now.isAfter(oneMonthLater); + } + + /** + * @title resultMap + * @description 传入tokenJson,返回需要返回给前端的Map + * @author JN + * @param: tokenJson + * @updateTime 2024/1/12 10:52 + * @return: java.util.Map + */ + public Map insuredCountMap(String tokenJson) throws JSONException { + String result = JSONHelper.formartJson(tokenJson, "Result"); + String data = JSONHelper.formartJson(result, "Data"); + String insuredCount = JSONHelper.formartJson(data, "InsuredCount"); + + Map resultMap = new HashMap<>(); + resultMap.put("insuredCount", insuredCount); + + return resultMap; + } + +} diff --git a/src/main/java/com/JN/demo/bizquery/dto/BizDto.java b/src/main/java/com/JN/demo/bizquery/dto/BizDto.java new file mode 100644 index 0000000..c90fc55 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/dto/BizDto.java @@ -0,0 +1,21 @@ +package com.JN.demo.bizquery.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @ClassName Biz + * @Description 业务查询列表结果返回 + * @Author JN + * @Date 2024/1/8 10:08 + * @Version 1.0 + */ +@Data +public class BizDto implements Serializable { + private static final long serialVersionUID = 1L; + + private String kunnr; + + private String name1; +} diff --git a/src/main/java/com/JN/demo/bizquery/entity/QccInfo.java b/src/main/java/com/JN/demo/bizquery/entity/QccInfo.java new file mode 100644 index 0000000..00f932f --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/entity/QccInfo.java @@ -0,0 +1,30 @@ +package com.JN.demo.bizquery.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @ClassName QccInfo + * @Description qcc_info表对应的实体类 + * @Author JN + * @Date 2024/1/12 8:59 + * @Version 1.0 + */ +@Data +public class QccInfo implements Serializable { + private static final long serialVersionUID = 1L; + + String name; + + String qccJson; + + @TableField(fill = FieldFill.INSERT) //插入时填充字段 + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) //插入和更新时填充字段 + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/JN/demo/bizquery/mapper/BizMapper.java b/src/main/java/com/JN/demo/bizquery/mapper/BizMapper.java new file mode 100644 index 0000000..121f869 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/mapper/BizMapper.java @@ -0,0 +1,37 @@ +package com.JN.demo.bizquery.mapper; + +import com.JN.demo.bizquery.dto.BizDto; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @ClassName BizMapper + * @Description TODO + * @Author JN + * @Date 2024/1/8 10:11 + * @Version 1.0 + */ +@Mapper +@Repository +public interface BizMapper { + @Select("select kunnr,name1 from openquery(hana2,'select top 10 * from SAPHANADB.kna1 where name1 like ''%${name}%'' and name1 not like ''冻结''')") + List queryBizListByName(String name); + + @Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.likp where kunnr = ''${kunnr}'' and erdat >= ''${time}''')") + String queryLatestShippingDate(String kunnr, String time); + + @Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.vbak where kunnr = ''${kunnr}'' and erdat >= ''${time}''')") + String queryLatestOrderDate(String kunnr, String time); + + @Select("select * from \n" + + "openquery(hana2,'select count(distinct b.kunnr) from SAPHANADB.vbak as a inner join SAPHANADB.vbpa as b \n" + + "on a.vbeln = b.vbeln where a.kunnr = ''${kunnr}'' and b.PARVW = ''Z1'' and a.erdat >= ''${time}''')") + String querySalespersonCount(String kunnr, String time); + + @Select("select max(create_time_0) from [JNERP].[jn_erp].[dbo].[CRM_MESSAGE] where client_name_0 = '${name}'") + String queryLatestQuotationDate(String name); + +} diff --git a/src/main/java/com/JN/demo/bizquery/mapper/QccInfoMapper.java b/src/main/java/com/JN/demo/bizquery/mapper/QccInfoMapper.java new file mode 100644 index 0000000..d190d25 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/mapper/QccInfoMapper.java @@ -0,0 +1,17 @@ +package com.JN.demo.bizquery.mapper; + +import com.JN.demo.bizquery.entity.QccInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @ClassName QccInfoMapper + * @Description TODO + * @Author JN + * @Date 2024/1/12 9:06 + * @Version 1.0 + */ +@Mapper +public interface QccInfoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/JN/demo/bizquery/service/BizService.java b/src/main/java/com/JN/demo/bizquery/service/BizService.java new file mode 100644 index 0000000..ac700ea --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/service/BizService.java @@ -0,0 +1,25 @@ +package com.JN.demo.bizquery.service; + +import com.JN.demo.bizquery.dto.BizDto; + +import java.util.List; + +/** + * @ClassName BizService + * @Description TODO + * @Author JN + * @Date 2024/1/8 10:11 + * @Version 1.0 + */ +public interface BizService { + + List queryBizListByName(String name); + + String queryLatestShippingDate(String kunnr, String time); + + String queryLatestOrderDate(String kunnr, String time); + + String querySalespersonCount(String kunnr, String time); + + String queryLatestQuotationDate(String name); +} diff --git a/src/main/java/com/JN/demo/bizquery/service/QccInfoService.java b/src/main/java/com/JN/demo/bizquery/service/QccInfoService.java new file mode 100644 index 0000000..c524ec3 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/service/QccInfoService.java @@ -0,0 +1,16 @@ +package com.JN.demo.bizquery.service; + +import com.JN.demo.bizquery.entity.QccInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @ClassName QccInfoService + * @Description TODO + * @Author JN + * @Date 2024/1/12 9:05 + * @Version 1.0 + */ +public interface QccInfoService extends IService { + + +} diff --git a/src/main/java/com/JN/demo/bizquery/service/impl/BizServiceImpl.java b/src/main/java/com/JN/demo/bizquery/service/impl/BizServiceImpl.java new file mode 100644 index 0000000..273cfc7 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/service/impl/BizServiceImpl.java @@ -0,0 +1,91 @@ +package com.JN.demo.bizquery.service.impl; + +import com.JN.demo.bizquery.dto.BizDto; +import com.JN.demo.bizquery.mapper.BizMapper; +import com.JN.demo.bizquery.service.BizService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @ClassName BizServiceImpl + * @Description TODO + * @Author JN + * @Date 2024/1/8 10:11 + * @Version 1.0 + */ +@Service +public class BizServiceImpl implements BizService { + @Autowired + BizMapper bizMapper; + + /** + * @title queryBizListByName + * @description 根据名称模糊查询获取列表 + * @author JN + * @param: name + * @updateTime 2024/1/9 13:20 + * @return: java.util.List + */ + @Override + public List queryBizListByName(String name) { + return bizMapper.queryBizListByName(name); + } + + /** + * @title queryLatestShippingDate + * @description 根据客户编号和时间获取最近发货日期 + * @author JN + * @param: kunnr + * @param: time + * @updateTime 2024/1/9 13:21 + * @return: java.lang.String + */ + @Override + public String queryLatestShippingDate(String kunnr, String time) { + return bizMapper.queryLatestShippingDate(kunnr, time); + } + + /** + * @title queryLatestOrderDate + * @description 根据客户编号和时间获取最近下单日期 + * @author JN + * @param: kunnr + * @param: time + * @updateTime 2024/1/9 13:35 + * @return: java.lang.String + */ + @Override + public String queryLatestOrderDate(String kunnr, String time) { + return bizMapper.queryLatestOrderDate(kunnr, time); + } + + /** + * @title querySalespersonCount + * @description 根据客户编号和时间获取最近跟进的业务员数量 + * @author JN + * @param: kunnr + * @param: time + * @updateTime 2024/1/9 13:36 + * @return: java.lang.String + */ + @Override + public String querySalespersonCount(String kunnr, String time) { + return bizMapper.querySalespersonCount(kunnr, time); + } + + /** + * @title queryLatestQuotationDate + * @description 根据客户名称获取最近报价日期 + * @author JN + * @param: name + * @updateTime 2024/1/9 13:38 + * @return: java.lang.String + */ + @Override + public String queryLatestQuotationDate(String name) { + return bizMapper.queryLatestQuotationDate(name); + } + +} diff --git a/src/main/java/com/JN/demo/bizquery/service/impl/QccInfoServiceImpl.java b/src/main/java/com/JN/demo/bizquery/service/impl/QccInfoServiceImpl.java new file mode 100644 index 0000000..a170897 --- /dev/null +++ b/src/main/java/com/JN/demo/bizquery/service/impl/QccInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.JN.demo.bizquery.service.impl; + +import com.JN.demo.bizquery.entity.QccInfo; +import com.JN.demo.bizquery.mapper.QccInfoMapper; +import com.JN.demo.bizquery.service.QccInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @ClassName QccInfoServiceImpl + * @Description TODO + * @Author JN + * @Date 2024/1/12 9:05 + * @Version 1.0 + */ +@Service +public class QccInfoServiceImpl extends ServiceImpl implements QccInfoService { + +} diff --git a/src/main/java/com/JN/filter/LoginCheckFilter.java b/src/main/java/com/JN/filter/LoginCheckFilter.java new file mode 100644 index 0000000..f478963 --- /dev/null +++ b/src/main/java/com/JN/filter/LoginCheckFilter.java @@ -0,0 +1,96 @@ +package com.JN.filter; + +import com.JN.common.BaseContext; +import com.JN.common.R; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.AntPathMatcher; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * 检查用户是否已经完成登录 + */ +@WebFilter(filterName = "loginCheckFilter",urlPatterns = "/*") +@Slf4j +public class LoginCheckFilter implements Filter{ + //路径匹配器,支持通配符 + public static final AntPathMatcher PATH_MATCHER = new AntPathMatcher(); + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { + HttpServletRequest request = (HttpServletRequest) servletRequest; + HttpServletResponse response = (HttpServletResponse) servletResponse; + + //1、获取本次请求的URI + String requestURI = request.getRequestURI();// /backend/index.html + + log.info("拦截到请求:{}",requestURI); + + //定义需要处理的请求路径 + String[] urls = new String[]{ +/* "/user/login", + "/user/logout", + "/backend/**", + "/user/sendMsg",*/ + }; + + //2、判断本次请求是否需要处理 + boolean check = check(urls, requestURI); + + //3、如果不需要处理,则直接放行 + if(!check){ + log.info("本次请求{}不需要处理",requestURI); + filterChain.doFilter(request,response); + return; + } + + //4-1、判断登录状态,如果已登录,则直接放行 + if(request.getSession().getAttribute("user") != null){ + log.info("用户已登录,用户id为:{}",request.getSession().getAttribute("user")); + + Long empId = (Long) request.getSession().getAttribute("user"); + BaseContext.setCurrentId(empId); + + filterChain.doFilter(request,response); + return; + } + + //4-2、判断登录状态,如果已登录,则直接放行 + if(request.getSession().getAttribute("user") != null){ + log.info("用户已登录,用户id为:{}",request.getSession().getAttribute("user")); + + Long userId = (Long) request.getSession().getAttribute("user"); + BaseContext.setCurrentId(userId); + + filterChain.doFilter(request,response); + return; + } + + log.info("用户未登录"); + //5、如果未登录则返回未登录结果,通过输出流方式向客户端页面响应数据 + response.getWriter().write(JSON.toJSONString(R.error("NOTLOGIN"))); + return; + + } + + /** + * 路径匹配,检查本次请求是否需要放行 + * @param urls + * @param requestURI + * @return + */ + public boolean check(String[] urls,String requestURI){ + for (String url : urls) { + boolean match = PATH_MATCHER.match(url, requestURI); + if(match){ + return true; + } + } + return false; + } +} diff --git a/src/main/java/com/JN/mapper/EmployeeMapper.java b/src/main/java/com/JN/mapper/EmployeeMapper.java new file mode 100644 index 0000000..8c5dc31 --- /dev/null +++ b/src/main/java/com/JN/mapper/EmployeeMapper.java @@ -0,0 +1,19 @@ +package com.JN.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + * @ClassName EmployeeMapper + * @Description 查询员工信息Mapper + * @Author JIAL + * @Date 2024/1/16 10:56 + * @Version 1.0 + */ + +@Mapper +public interface EmployeeMapper { + + @Select("SELECT [姓名] FROM [ecology].[dbo].[OA人员信息] WHERE [用户名] = #{id}") + String queryNameById(String id); +} diff --git a/src/main/java/com/JN/service/EmployeeService.java b/src/main/java/com/JN/service/EmployeeService.java new file mode 100644 index 0000000..5e11cec --- /dev/null +++ b/src/main/java/com/JN/service/EmployeeService.java @@ -0,0 +1,13 @@ +package com.JN.service; + +/** + * @ClassName EmployeeInfo + * @Description 查询员工信息接口 + * @Author JIAL + * @Date 2024/1/16 10:55 + * @Version 1.0 + */ +public interface EmployeeService { + + String queryNameById(String id); +} diff --git a/src/main/java/com/JN/service/impl/EmployeeServiceImpl.java b/src/main/java/com/JN/service/impl/EmployeeServiceImpl.java new file mode 100644 index 0000000..20cfba2 --- /dev/null +++ b/src/main/java/com/JN/service/impl/EmployeeServiceImpl.java @@ -0,0 +1,36 @@ +package com.JN.service.impl; + +import com.JN.mapper.EmployeeMapper; +import com.JN.service.EmployeeService; +import com.baomidou.dynamic.datasource.annotation.DS; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @ClassName EmployeeServiceImpl + * @Description 查询员工信息接口实现 + * @Author JIAL + * @Date 2024/1/16 10:56 + * @Version 1.0 + */ + +@Service +public class EmployeeServiceImpl implements EmployeeService { + + @Autowired + EmployeeMapper employeeMapper; + + /** + * @title queryNameById + * @description 根据工号查询姓名 + * @author JIAL + * @param: id + * @updateTime 2024/1/16 11:12 + * @return: java.lang.String + */ + @DS("slave_1") + @Override + public String queryNameById(String id) { + return employeeMapper.queryNameById(id); + } +} diff --git a/src/main/java/com/JN/utils/HttpHelper.java b/src/main/java/com/JN/utils/HttpHelper.java new file mode 100644 index 0000000..ad80154 --- /dev/null +++ b/src/main/java/com/JN/utils/HttpHelper.java @@ -0,0 +1,161 @@ +package com.JN.utils; + + +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpUriRequest; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.util.EntityUtils; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.X509Certificate; +import java.util.Map; + +/** + * @ClassName HttpHelper + * @Description HTTP工具类 + * @Author JN + * @Date 2024/1/11 14:29 + * @Version 1.0 + */ +public class HttpHelper { + + // get 请求 + public static String httpGet(String url, Header[] headers) throws Exception { + HttpUriRequest uriRequest = new HttpGet(url); + if (null != headers) + uriRequest.setHeaders(headers); + CloseableHttpClient httpClient = null; + try { + httpClient = declareHttpClientSSL(url); + CloseableHttpResponse httpresponse = httpClient.execute(uriRequest); + HttpEntity httpEntity = httpresponse.getEntity(); + String result = EntityUtils.toString(httpEntity, REQ_ENCODEING_UTF8); + return result; + } catch (ClientProtocolException e) { + System.out.println(String.format("http请求失败,uri{%s},exception{%s}", new Object[] { url, e })); + } catch (IOException e) { + System.out.println(String.format("IO Exception,uri{%s},exception{%s}", new Object[] { url, e })); + } finally { + if (null != httpClient) + httpClient.close(); + } + return null; + } + + // post 请求 + public static String httpPost(String url, String params) throws Exception { + HttpPost post = new HttpPost(url); + post.addHeader("Content-Type", "application/json;charset=" + REQ_ENCODEING_UTF8); + // 设置传输编码格式 + StringEntity stringEntity = new StringEntity(params, REQ_ENCODEING_UTF8); + stringEntity.setContentEncoding(REQ_ENCODEING_UTF8); + post.setEntity(stringEntity); + HttpResponse httpresponse = null; + CloseableHttpClient httpClient = null; + try { + httpClient = declareHttpClientSSL(url); + httpresponse = httpClient.execute(post); + HttpEntity httpEntity = httpresponse.getEntity(); + String result = EntityUtils.toString(httpEntity, REQ_ENCODEING_UTF8); + return result; + } catch (ClientProtocolException e) { + System.out.println(String.format("http请求失败,uri{%s},exception{%s}", new Object[] { url, e })); + } catch (IOException e) { + System.out.println(String.format("IO Exception,uri{%s},exception{%s}", new Object[] { url, e })); + } finally { + if (null != httpClient) + httpClient.close(); + } + return null; + } + + private static CloseableHttpClient declareHttpClientSSL(String url) { + if (url.startsWith("https://")) { + return sslClient(); + } else { + return HttpClientBuilder.create().setConnectionManager(httpClientConnectionManager).build(); + } + } + + /** + * 设置SSL请求处理 + */ + private static CloseableHttpClient sslClient() { + try { + SSLContext ctx = SSLContext.getInstance("TLS"); + X509TrustManager tm = new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { + return null; + } + + public void checkClientTrusted(X509Certificate[] xcs, String str) { + } + + public void checkServerTrusted(X509Certificate[] xcs, String str) { + } + }; + ctx.init(null, new TrustManager[] { tm }, null); + SSLConnectionSocketFactory sslConnectionSocketFactory = SSLConnectionSocketFactory.getSocketFactory(); + return HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build(); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } catch (KeyManagementException e) { + throw new RuntimeException(e); + } + } + + // this is config + private static final String REQ_ENCODEING_UTF8 = "utf-8"; + private static PoolingHttpClientConnectionManager httpClientConnectionManager; + + public HttpHelper() { + httpClientConnectionManager = new PoolingHttpClientConnectionManager(); + httpClientConnectionManager.setMaxTotal(100); + httpClientConnectionManager.setDefaultMaxPerRoute(20); + } + + // get 请求 + public static String httpGet(String url) throws Exception { + return httpGet(url, null); + } + + /** + * @title urlEncode + * @description 将Map类型转换为请求参数param + * @author JN + * @param: data + * @updateTime 2024/1/11 16:38 + * @return: java.lang.String + */ + public static String urlEncode(Map data) { + StringBuilder sb = new StringBuilder(); + for (Map.Entry i : data.entrySet()) { + try { + sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue() + "", "UTF-8")).append("&"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + String result = sb.toString(); + result = result.substring(0, result.lastIndexOf("&")); + return result; + } +} \ No newline at end of file diff --git a/src/main/java/com/JN/utils/JSONHelper.java b/src/main/java/com/JN/utils/JSONHelper.java new file mode 100644 index 0000000..8ba6da3 --- /dev/null +++ b/src/main/java/com/JN/utils/JSONHelper.java @@ -0,0 +1,53 @@ +package com.JN.utils; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; +import org.json.JSONException; +import org.json.JSONObject; + +import static java.lang.System.out; + +/** + * @ClassName JSONHelper + * @Description JSON字符串工具类 + * @Author JN + * @Date 2024/1/12 8:07 + * @Version 1.0 + */ +@Slf4j +public class JSONHelper { + /** + * @title FormartJson + * @description 获取JSON中对应key的Value值 + * @author JN + * @param: jsonString + * @param: key + * @updateTime 2024/1/12 8:08 + * @return: java.lang.String + */ + public static String formartJson(String jsonString, String key) throws JSONException { + JSONObject jObject = new JSONObject(jsonString); + return jObject.get(key).toString(); + } + + /** + * @title PrettyPrintJson + * @description 控制台和日志打印格式化的JSON字符串 + * @author JN + * @param: jsonString + * @updateTime 2024/1/12 8:08 + */ + public static void prettyPrintJson(String jsonString) throws JSONException { + try { + ObjectMapper mapper = new ObjectMapper(); + Object obj = mapper.readValue(jsonString, Object.class); + String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj); + out.println(indented); + log.info("Qcc result tokenJson: {}", indented); + + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/JN/utils/SMSUtils.java b/src/main/java/com/JN/utils/SMSUtils.java new file mode 100644 index 0000000..5104f81 --- /dev/null +++ b/src/main/java/com/JN/utils/SMSUtils.java @@ -0,0 +1,40 @@ +package com.JN.utils; + +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.aliyuncs.exceptions.ClientException; +import com.aliyuncs.profile.DefaultProfile; + +/** + * 短信发送工具类 + */ +public class SMSUtils { + + /** + * 发送短信 + * @param signName 签名 + * @param templateCode 模板 + * @param phoneNumbers 手机号 + * @param param 参数 + */ + public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){ + DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "", ""); + IAcsClient client = new DefaultAcsClient(profile); + + SendSmsRequest request = new SendSmsRequest(); + request.setSysRegionId("cn-hangzhou"); + request.setPhoneNumbers(phoneNumbers); + request.setSignName(signName); + request.setTemplateCode(templateCode); + request.setTemplateParam("{\"code\":\""+param+"\"}"); + try { + SendSmsResponse response = client.getAcsResponse(request); + System.out.println("短信发送成功"); + }catch (ClientException e) { + e.printStackTrace(); + } + } + +} diff --git a/src/main/java/com/JN/utils/StringUtils.java b/src/main/java/com/JN/utils/StringUtils.java new file mode 100644 index 0000000..111dea3 --- /dev/null +++ b/src/main/java/com/JN/utils/StringUtils.java @@ -0,0 +1,64 @@ +package com.JN.utils; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Optional; + +/** + * @ClassName StringUtils + * @Description 处理字符串的工具类 + * @Author JN + * @Date 2024/1/9 14:02 + * @Version 1.0 + */ +public class StringUtils { + + /** + * @title getDefaultIfNull + * @description 判断传入的字符串是否为null,如果为null则赋值为提供的默认值 + * @author JN + * @param: value + * @param: defaultValue + * @updateTime 2024/1/9 14:03 + * @return: java.lang.String + */ + public static String getDefaultIfNull(String value, String defaultValue) { + return Optional.ofNullable(value).orElse(defaultValue); + } + + /** + * @title formatDateString + * @description 格式化传入的日期字符串 + * @author JN + * @param: dateTimeString 日期字符串 支持yyyy-MM-dd HH:mm:ss,SSS(小数点位数不固定),支持yyyyMMdd + * @param: pattern 你想要输出的格式 + * @updateTime 2024/1/15 9:52 + * @return: java.lang.String + */ + public static String formatDateString(String dateTimeString, String pattern) { + try { + // 将时间字符串解析为 Date 对象 + SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + Date parsedDate = inputFormat.parse(dateTimeString); + + // 格式化 Date 对象为指定格式的字符串 + SimpleDateFormat outputFormat = new SimpleDateFormat(pattern); + return outputFormat.format(parsedDate); + } catch (ParseException e) { + // 解析失败时,尝试解析为纯日期格式 + try { + SimpleDateFormat dateOnlyFormat = new SimpleDateFormat("yyyyMMdd"); + Date parsedDate = dateOnlyFormat.parse(dateTimeString); + return new SimpleDateFormat(pattern).format(parsedDate); + } catch (ParseException ex) { + // 无法解析时的异常处理 + ex.printStackTrace(); + return "解析失败"; + } + } + } + + +} + diff --git a/src/main/java/com/JN/utils/ValidateCodeUtils.java b/src/main/java/com/JN/utils/ValidateCodeUtils.java new file mode 100644 index 0000000..856cb2a --- /dev/null +++ b/src/main/java/com/JN/utils/ValidateCodeUtils.java @@ -0,0 +1,43 @@ +package com.JN.utils; + +import java.util.Random; + +/** + * 随机生成验证码工具类 + */ +public class ValidateCodeUtils { + /** + * 随机生成验证码 + * @param length 长度为4位或者6位 + * @return + */ + public static Integer generateValidateCode(int length){ + Integer code =null; + if(length == 4){ + code = new Random().nextInt(9999);//生成随机数,最大为9999 + if(code < 1000){ + code = code + 1000;//保证随机数为4位数字 + } + }else if(length == 6){ + code = new Random().nextInt(999999);//生成随机数,最大为999999 + if(code < 100000){ + code = code + 100000;//保证随机数为6位数字 + } + }else{ + throw new RuntimeException("只能生成4位或6位数字验证码"); + } + return code; + } + + /** + * 随机生成指定长度字符串验证码 + * @param length 长度 + * @return + */ + public static String generateValidateCode4String(int length){ + Random rdm = new Random(); + String hash1 = Integer.toHexString(rdm.nextInt()); + String capstr = hash1.substring(0, length); + return capstr; + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..e62f462 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,28 @@ +server: + port: 8080 +spring: + application: + #应用的名称,可选 + name: JIALDev + datasource: + druid: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/fwsystem?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + username: root + password: 123456 + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + +mybatis-plus: + configuration: + #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + db-config: + id-type: ASSIGN_ID + + + diff --git a/src/main/resources/application-ss.yml b/src/main/resources/application-ss.yml new file mode 100644 index 0000000..13c573e --- /dev/null +++ b/src/main/resources/application-ss.yml @@ -0,0 +1,51 @@ +server: + port: 8080 +spring: + application: + #应用的名称,可选 + name: JIALDev + datasource: + dynamic: + primary: master #设置默认的数据源或者数据源组,默认值即为master + strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 + datasource: + master: + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true; + username: sa + password: Itcenter110- + slave_1: + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + url: jdbc:sqlserver://192.168.9.182:1433;databaseName=ecology;Encrypt=false;TrustServerCertificate=true; + username: sa + password: Itcenter110- + druid: + initial-size: 1 + max-active: 20 + min-idle: 1 + max-wait: 60000 + autoconfigure: + exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration #去除Druid自动配置 + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + +logging: + level: + root: warn + com.JN: info + file: + name: logs/JIAL-ss.log + +mybatis-plus: + configuration: + #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + db-config: + id-type: ASSIGN_ID + + + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..49cb7e2 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,5 @@ +spring: + thymeleaf: + mode: HTML + profiles: + active: ss diff --git a/src/main/resources/file.properties b/src/main/resources/file.properties new file mode 100644 index 0000000..190ada8 --- /dev/null +++ b/src/main/resources/file.properties @@ -0,0 +1,15 @@ +# +file.localPathDir=D:/testFiles + +#weather +weather.API_Url=http://apis.juhe.cn/simpleWeather/query +weather.API_Key=898cdacbf9a9b9aa94f052eee4a36730 + +#post-type +POST_TYPE_COD=application/x-www-form-urlencoded +POST_TYPE_JSON=application/json;charset=utf-8 + +Qcc_Key=824936f8e78c4f4788978da38b26d488 +Qcc_SecretKey=8B9EB102FD17E0CF2EDEC0FB507DEC1E +Qcc_Url=https://api.qichacha.com/EnterpriseInfo/Verify + diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..7dd2ba7 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + ${FILE_LOG_PATTERN} + + ${LOG_FILE} + + ${LOG_FILE}.%d{yyyy-MM-dd}.%i + + + 10MB + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/plugins/axios/axios.min.js b/src/main/resources/plugins/axios/axios.min.js new file mode 100644 index 0000000..fc6c8b6 --- /dev/null +++ b/src/main/resources/plugins/axios/axios.min.js @@ -0,0 +1,3 @@ +/* axios v0.21.1 | (c) 2020 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 i(e),n=s(i.prototype.request,t);return o.extend(n,i.prototype,t),o.extend(n,t),n}var o=n(2),s=n(3),i=n(4),a=n(22),u=n(10),c=r(u);c.Axios=i,c.create=function(e){return r(a(c.defaults,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(9),c.all=function(e){return Promise.all(e)},c.spread=n(25),c.isAxiosError=n(26),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"undefined"==typeof e}function s(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function i(e){return"[object ArrayBuffer]"===R.call(e)}function a(e){return"undefined"!=typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function f(e){return"number"==typeof e}function p(e){return null!==e&&"object"==typeof e}function d(e){if("[object Object]"!==R.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function l(e){return"[object Date]"===R.call(e)}function h(e){return"[object File]"===R.call(e)}function m(e){return"[object Blob]"===R.call(e)}function y(e){return"[object Function]"===R.call(e)}function g(e){return p(e)&&y(e.pipe)}function v(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function x(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function w(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function b(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},s.forEach(["delete","get","head"],function(e){u.headers[e]={}}),s.forEach(["post","put","patch"],function(e){u.headers[e]=s.merge(a)}),e.exports=u},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(13),s=n(16),i=n(5),a=n(17),u=n(20),c=n(21),f=n(14);e.exports=function(e){return new Promise(function(t,n){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(h+":"+m)}var y=a(e.baseURL,e.url);if(l.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l.onreadystatechange=function(){if(l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in l?u(l.getAllResponseHeaders()):null,s=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:s,status:l.status,statusText:l.statusText,headers:r,config:e,request:l};o(t,n,i),l=null}},l.onabort=function(){l&&(n(f("Request aborted",e,"ECONNABORTED",l)),l=null)},l.onerror=function(){n(f("Network Error",e,null,l)),l=null},l.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(f(t,e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||c(y))&&e.xsrfCookieName?s.read(e.xsrfCookieName):void 0;g&&(d[e.xsrfHeaderName]=g)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),r.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),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(),n(e),l=null)}),p||(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(14);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(15);e.exports=function(e,t,n,o,s){var i=new Error(e);return r(i,t,n,o,s)}},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.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,s,i){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.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";var r=n(18),o=n(19);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},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,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,s,i={};return e?(r.forEach(e.split("\n"),function(e){if(s=e.indexOf(":"),t=r.trim(e.substr(0,s)).toLowerCase(),n=r.trim(e.substr(s+1)),t){if(i[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?i[t]=(i[t]?i[t]:[]).concat([n]):i[t]=i[t]?i[t]+", "+n:n}}),i):i}},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,n){"use strict";var r=n(2);e.exports=function(e,t){function n(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function o(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(s[o]=n(void 0,e[o])):s[o]=n(e[o],t[o])}t=t||{};var s={},i=["url","method","data"],a=["headers","auth","proxy","params"],u=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],c=["validateStatus"];r.forEach(i,function(e){r.isUndefined(t[e])||(s[e]=n(void 0,t[e]))}),r.forEach(a,o),r.forEach(u,function(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(s[o]=n(void 0,e[o])):s[o]=n(void 0,t[o])}),r.forEach(c,function(r){r in t?s[r]=n(e[r],t[r]):r in e&&(s[r]=n(void 0,e[r]))});var f=i.concat(a).concat(u).concat(c),p=Object.keys(e).concat(Object.keys(t)).filter(function(e){return f.indexOf(e)===-1});return r.forEach(p,o),s}},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)}}},function(e,t){"use strict";e.exports=function(e){return"object"==typeof e&&e.isAxiosError===!0}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/src/main/resources/plugins/axios/request.js b/src/main/resources/plugins/axios/request.js new file mode 100644 index 0000000..de6c795 --- /dev/null +++ b/src/main/resources/plugins/axios/request.js @@ -0,0 +1,82 @@ +(function (win) { + axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' + // 创建axios实例 + const service = axios.create({ + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: '/', + // 超时 + timeout: 1000000 + }) + // request拦截器 + service.interceptors.request.use(config => { + // 是否需要设置 token + // const isToken = (config.headers || {}).isToken === false + // if (getToken() && !isToken) { + // config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + // } + // get请求映射params参数 + if (config.method === 'get' && config.params) { + let url = config.url + '?'; + for (const propName of Object.keys(config.params)) { + const value = config.params[propName]; + var part = encodeURIComponent(propName) + "="; + if (value !== null && typeof(value) !== "undefined") { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + "="; + url += subPart + encodeURIComponent(value[key]) + "&"; + } + } else { + url += part + encodeURIComponent(value) + "&"; + } + } + } + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + return config + }, error => { + console.log(error) + Promise.reject(error) + }) + + // 响应拦截器 + service.interceptors.response.use(res => { + console.log('---响应拦截器---',res) + // 未设置状态码则默认成功状态 + const code = res.data.code; + // 获取错误信息 + const msg = res.data.msg + console.log('---code---',code) + if (res.data.code === 0 && res.data.msg === 'NOTLOGIN') {// 返回登录页面 + console.log('---/backend/page/login/login.html---',code) + localStorage.removeItem('userInfo') + window.top.location.href = '/backend/page/login/login.html' + } else { + return res.data + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } + else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } + else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + window.ELEMENT.Message({ + message: message, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } + ) +  win.$axios = service +})(window); diff --git a/src/main/resources/plugins/calendar/calendar.js b/src/main/resources/plugins/calendar/calendar.js new file mode 100644 index 0000000..d681333 --- /dev/null +++ b/src/main/resources/plugins/calendar/calendar.js @@ -0,0 +1,675 @@ +var calendar = (function () { + 'use strict'; + + var lunarInfo = [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, + //1900-1909 + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, + //1910-1919 + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, + //1920-1929 + 0x06566, 0x0d4a0, 0x0ea50, 0x16a95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, + //1930-1939 + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, + //1940-1949 + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, + //1950-1959 + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, + //1960-1969 + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, + //1970-1979 + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, + //1980-1989 + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, + //1990-1999 + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, + //2000-2009 + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, + //2010-2019 + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, + //2020-2029 + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, + //2030-2039 + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, + //2040-2049 + /**Add By JJonline@JJonline.Cn**/ + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, + //2050-2059 + 0x092e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, + //2060-2069 + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, + //2070-2079 + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, + //2080-2089 + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, + //2090-2099 + 0x0d520]; //2100 + + var solarMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + + var Gan = ["\u7532", "\u4E59", "\u4E19", "\u4E01", "\u620A", "\u5DF1", "\u5E9A", "\u8F9B", "\u58EC", "\u7678"]; + var Zhi = ["\u5B50", "\u4E11", "\u5BC5", "\u536F", "\u8FB0", "\u5DF3", "\u5348", "\u672A", "\u7533", "\u9149", "\u620C", "\u4EA5"]; + + var ChineseZodiac = ["\u9F20", "\u725B", "\u864E", "\u5154", "\u9F99", "\u86C7", "\u9A6C", "\u7F8A", "\u7334", "\u9E21", "\u72D7", "\u732A"]; + + var festival = { + '1-1': { + title: '元旦节' + }, + '2-14': { + title: '情人节' + }, + '5-1': { + title: '劳动节' + }, + '5-4': { + title: '青年节' + }, + '6-1': { + title: '儿童节' + }, + '9-10': { + title: '教师节' + }, + '10-1': { + title: '国庆节' + }, + '12-25': { + title: '圣诞节' + }, + '3-8': { + title: '妇女节' + }, + '3-12': { + title: '植树节' + }, + '4-1': { + title: '愚人节' + }, + '5-12': { + title: '护士节' + }, + '7-1': { + title: '建党节' + }, + '8-1': { + title: '建军节' + }, + '12-24': { + title: '平安夜' + } + }; + var lFestival = { + '12-30': { + title: '除夕' + }, + '1-1': { + title: '春节' + }, + '1-15': { + title: '元宵节' + }, + '2-2': { + title: '龙抬头' + }, + '5-5': { + title: '端午节' + }, + '7-7': { + title: '七夕节' + }, + '7-15': { + title: '中元节' + }, + '8-15': { + title: '中秋节' + }, + '9-9': { + title: '重阳节' + }, + '10-1': { + title: '寒衣节' + }, + '10-15': { + title: '下元节' + }, + '12-8': { + title: '腊八节' + }, + '12-23': { + title: '北方小年' + }, + '12-24': { + title: '南方小年' + } + }; + + var solarTerm = ["\u5C0F\u5BD2", "\u5927\u5BD2", "\u7ACB\u6625", "\u96E8\u6C34", "\u60CA\u86F0", "\u6625\u5206", "\u6E05\u660E", "\u8C37\u96E8", "\u7ACB\u590F", "\u5C0F\u6EE1", "\u8292\u79CD", "\u590F\u81F3", "\u5C0F\u6691", "\u5927\u6691", "\u7ACB\u79CB", "\u5904\u6691", "\u767D\u9732", "\u79CB\u5206", "\u5BD2\u9732", "\u971C\u964D", "\u7ACB\u51AC", "\u5C0F\u96EA", "\u5927\u96EA", "\u51AC\u81F3"]; + var sTermInfo = ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722']; + + var nStr1 = ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D", "\u4E03", "\u516B", "\u4E5D", "\u5341"]; + var nStr2 = ["\u521D", "\u5341", "\u5EFF", "\u5345"]; + var nStr3 = ["\u6B63", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D", "\u4E03", "\u516B", "\u4E5D", "\u5341", "\u51AC", "\u814A"]; + + /** + * @1900-2100区间内的公历、农历互转 + * @charset UTF-8 + * @Author Jea杨(JJonline@JJonline.Cn) + * @Time 2014-7-21 + * @Time 2016-8-13 Fixed 2033hex、Attribution Annals + * @Time 2016-9-25 Fixed lunar LeapMonth Param Bug + * @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year + * @Version 1.0.3 + * @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] + * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] + */ + var calendar = { + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: lunarInfo, + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: solarMonth, + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan: Gan, + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi: Zhi, + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals: ChineseZodiac, + /** + * 阳历节日 + */ + festival: festival, + /** + * 农历节日 + */ + lFestival: lFestival, + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm: solarTerm, + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo: sTermInfo, + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1: nStr1, + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2: nStr2, + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3: nStr3, + /** + * 返回默认定义的阳历节日 + */ + getFestival: function getFestival() { + return this.festival; + }, + /** + * 返回默认定义的内容里节日 + */ + getLunarFestival: function getLunarFestival() { + return this.lFestival; + }, + /** + * + * @param param {Object} 按照festival的格式输入数据,设置阳历节日 + */ + setFestival: function setFestival() { + var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.festival = param; + }, + /** + * + * @param param {Object} 按照lFestival的格式输入数据,设置农历节日 + */ + setLunarFestival: function setLunarFestival() { + var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.lFestival = param; + }, + /** + * 返回农历y年一整年的总天数 + * @param y lunar Year + * @return Number + * @eg:var count = calendar.lYearDays(1987) ;//count=387 + */ + lYearDays: function lYearDays(y) { + var i, + sum = 348; + for (i = 0x8000; i > 0x8; i >>= 1) { + sum += this.lunarInfo[y - 1900] & i ? 1 : 0; + } + return sum + this.leapDays(y); + }, + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param y lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth: function leapMonth(y) { + //闰字编码 \u95f0 + return this.lunarInfo[y - 1900] & 0xf; + }, + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param y lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays: function leapDays(y) { + if (this.leapMonth(y)) { + return this.lunarInfo[y - 1900] & 0x10000 ? 30 : 29; + } + return 0; + }, + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param y lunar Year + * @param m lunar Month + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays: function monthDays(y, m) { + if (m > 12 || m < 1) { + return -1; + } //月份参数从1至12,参数错误返回-1 + return this.lunarInfo[y - 1900] & 0x10000 >> m ? 30 : 29; + }, + /** + * 返回公历(!)y年m月的天数 + * @param y solar Year + * @param m solar Month + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays: function solarDays(y, m) { + if (m > 12 || m < 1) { + return -1; + } //若参数错误 返回-1 + var ms = m - 1; + if (ms === 1) { + //2月份的闰平规律测算后确认返回28或29 + return y % 4 === 0 && y % 100 !== 0 || y % 400 === 0 ? 29 : 28; + } else { + return this.solarMonth[ms]; + } + }, + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear: function toGanZhiYear(lYear) { + var ganKey = (lYear - 3) % 10; + var zhiKey = (lYear - 3) % 12; + if (ganKey === 0) ganKey = 10; //如果余数为0则为最后一个天干 + if (zhiKey === 0) zhiKey = 12; //如果余数为0则为最后一个地支 + return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]; + }, + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro: function toAstro(cMonth, cDay) { + var s = "\u6469\u7FAF\u6C34\u74F6\u53CC\u9C7C\u767D\u7F8A\u91D1\u725B\u53CC\u5B50\u5DE8\u87F9\u72EE\u5B50\u5904\u5973\u5929\u79E4\u5929\u874E\u5C04\u624B\u6469\u7FAF"; + var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]; + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + "\u5EA7"; //座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi: function toGanZhi(offset) { + return this.Gan[offset % 10] + this.Zhi[offset % 12]; + }, + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y y公历年(1900-2100) + * @param n n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm: function getTerm(y, n) { + if (y < 1900 || y > 2100 || n < 1 || n > 24) { + return -1; + } + var _table = this.sTermInfo[y - 1900]; + var _calcDay = []; + for (var index = 0; index < _table.length; index += 5) { + var chunk = parseInt('0x' + _table.substr(index, 5)).toString(); + _calcDay.push(chunk[0], chunk.substr(1, 2), chunk[3], chunk.substr(4, 2)); + } + return parseInt(_calcDay[n - 1]); + }, + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param m lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth: function toChinaMonth(m) { + // 月 => \u6708 + if (m > 12 || m < 1) { + return -1; + } //若参数错误 返回-1 + var s = this.nStr3[m - 1]; + s += "\u6708"; //加上月字 + return s; + }, + /** + * 传入农历日期数字返回汉字表示法 + * @param d lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay: function toChinaDay(d) { + //日 => \u65e5 + var s; + switch (d) { + case 10: + s = "\u521D\u5341"; + break; + case 20: + s = "\u4E8C\u5341"; + break; + case 30: + s = "\u4E09\u5341"; + break; + default: + s = this.nStr2[Math.floor(d / 10)]; + s += this.nStr1[d % 10]; + } + return s; + }, + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function getAnimal(y) { + return this.Animals[(y - 4) % 12]; + }, + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * !important! 公历参数区间1900.1.31~2100.12.31 + * @param yPara solar year + * @param mPara solar month + * @param dPara solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar: function solar2lunar(yPara, mPara, dPara) { + var y = parseInt(yPara); + var m = parseInt(mPara); + var d = parseInt(dPara); + //年份限定、上限 + if (y < 1900 || y > 2100) { + return -1; // undefined转换为数字变为NaN + } + //公历传参最下限 + if (y === 1900 && m === 1 && d < 31) { + return -1; + } + + //未传参 获得当天 + var objDate; + if (!y) { + objDate = new Date(); + } else { + objDate = new Date(y, parseInt(m) - 1, d); + } + var i, + leap = 0, + temp = 0; + //修正ymd参数 + y = objDate.getFullYear(); + m = objDate.getMonth() + 1; + d = objDate.getDate(); + var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000; + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = this.lYearDays(i); + offset -= temp; + } + if (offset < 0) { + offset += temp; + i--; + } + + //是否今天 + var isTodayObj = new Date(), + isToday = false; + if (isTodayObj.getFullYear() === y && isTodayObj.getMonth() + 1 === m && isTodayObj.getDate() === d) { + isToday = true; + } + //星期几 + var nWeek = objDate.getDay(), + cWeek = this.nStr1[nWeek]; + //数字表示周几顺应天朝周一开始的惯例 + if (nWeek === 0) { + nWeek = 7; + } + //农历年 + var year = i; + leap = this.leapMonth(i); //闰哪个月 + var isLeap = false; + + //效验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + //闰月 + if (leap > 0 && i === leap + 1 && isLeap === false) { + --i; + isLeap = true; + temp = this.leapDays(year); //计算农历闰月天数 + } else { + temp = this.monthDays(year, i); //计算农历普通月天数 + } + //解除闰月 + if (isLeap === true && i === leap + 1) { + isLeap = false; + } + offset -= temp; + } + // 闰月导致数组下标重叠取反 + if (offset === 0 && leap > 0 && i === leap + 1) { + if (isLeap) { + isLeap = false; + } else { + isLeap = true; + --i; + } + } + if (offset < 0) { + offset += temp; + --i; + } + //农历月 + var month = i; + //农历日 + var day = offset + 1; + //天干地支处理 + var sm = m - 1; + var gzY = this.toGanZhiYear(year); + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + var firstNode = this.getTerm(y, m * 2 - 1); //返回当月「节」为几日开始 + var secondNode = this.getTerm(y, m * 2); //返回当月「节」为几日开始 + + // 依据12节气修正干支月 + var gzM = this.toGanZhi((y - 1900) * 12 + m + 11); + if (d >= firstNode) { + gzM = this.toGanZhi((y - 1900) * 12 + m + 12); + } + + //传入的日期的节气与否 + var isTerm = false; + var Term = null; + if (firstNode === d) { + isTerm = true; + Term = this.solarTerm[m * 2 - 2]; + } + if (secondNode === d) { + isTerm = true; + Term = this.solarTerm[m * 2 - 1]; + } + //日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10; + var gzD = this.toGanZhi(dayCyclical + d - 1); + //该日期所属的星座 + var astro = this.toAstro(m, d); + var solarDate = y + '-' + m + '-' + d; + var lunarDate = year + '-' + month + '-' + day; + var festival = this.festival; + var lFestival = this.lFestival; + var festivalDate = m + '-' + d; + var lunarFestivalDate = month + '-' + day; + + // bugfix https://github.com/jjonline/calendar.js/issues/29 + // 农历节日修正:农历12月小月则29号除夕,大月则30号除夕 + // 此处取巧修正:当前为农历12月29号时增加一次判断并且把lunarFestivalDate设置为12-30以正确取得除夕 + // 天朝农历节日遇闰月过前不过后的原则,此处取农历12月天数不考虑闰月 + // 农历润12月在本工具支持的200年区间内仅1574年出现 + if (month === 12 && day === 29 && this.monthDays(year, month) === 29) { + lunarFestivalDate = '12-30'; + } + return { + date: solarDate, + lunarDate: lunarDate, + festival: festival[festivalDate] ? festival[festivalDate].title : null, + lunarFestival: lFestival[lunarFestivalDate] ? lFestival[lunarFestivalDate].title : null, + 'lYear': year, + 'lMonth': month, + 'lDay': day, + 'Animal': this.getAnimal(year), + 'IMonthCn': (isLeap ? "\u95F0" : '') + this.toChinaMonth(month), + 'IDayCn': this.toChinaDay(day), + 'cYear': y, + 'cMonth': m, + 'cDay': d, + 'gzYear': gzY, + 'gzMonth': gzM, + 'gzDay': gzD, + 'isToday': isToday, + 'isLeap': isLeap, + 'nWeek': nWeek, + 'ncWeek': "\u661F\u671F" + cWeek, + 'isTerm': isTerm, + 'Term': Term, + 'astro': astro + }; + }, + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * !important! 参数区间1900.1.31~2100.12.1 + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar: function lunar2solar(y, m, d, isLeapMonth) { + y = parseInt(y); + m = parseInt(m); + d = parseInt(d); + isLeapMonth = !!isLeapMonth; + var leapMonth = this.leapMonth(y); + this.leapDays(y); + if (isLeapMonth && leapMonth !== m) { + return -1; + } //传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if (y === 2100 && m === 12 && d > 1 || y === 1900 && m === 1 && d < 31) { + return -1; + } //超出了最大极限值 + var day = this.monthDays(y, m); + var _day = day; + //bugFix 2016-9-25 + //if month is leap, _day use leapDays method + if (isLeapMonth) { + _day = this.leapDays(y, m); + } + if (y < 1900 || y > 2100 || d > _day) { + return -1; + } //参数合法性效验 + + //计算农历的时间差 + var offset = 0; + var i; + for (i = 1900; i < y; i++) { + offset += this.lYearDays(i); + } + var leap = 0, + isAdd = false; + for (i = 1; i < m; i++) { + leap = this.leapMonth(y); + if (!isAdd) { + //处理闰月 + if (leap <= i && leap > 0) { + offset += this.leapDays(y); + isAdd = true; + } + } + offset += this.monthDays(y, i); + } + //转换闰月农历 需补充该年闰月的前一个月的时差 + if (isLeapMonth) { + offset += day; + } + //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var strap = Date.UTC(1900, 1, 30, 0, 0, 0); + var calObj = new Date((offset + d - 31) * 86400000 + strap); + var cY = calObj.getUTCFullYear(); + var cM = calObj.getUTCMonth() + 1; + var cD = calObj.getUTCDate(); + return this.solar2lunar(cY, cM, cD); + } + }; + + return calendar; + +})(); +//# sourceMappingURL=js-calendar-converter.js.map diff --git a/src/main/resources/plugins/element-ui/fonts/element-icons.ttf b/src/main/resources/plugins/element-ui/fonts/element-icons.ttf new file mode 100644 index 0000000..91b74de Binary files /dev/null and b/src/main/resources/plugins/element-ui/fonts/element-icons.ttf differ diff --git a/src/main/resources/plugins/element-ui/fonts/element-icons.woff b/src/main/resources/plugins/element-ui/fonts/element-icons.woff new file mode 100644 index 0000000..02b9a25 Binary files /dev/null and b/src/main/resources/plugins/element-ui/fonts/element-icons.woff differ diff --git a/src/main/resources/plugins/element-ui/index.css b/src/main/resources/plugins/element-ui/index.css new file mode 100644 index 0000000..2e1eab5 --- /dev/null +++ b/src/main/resources/plugins/element-ui/index.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-dialog,.el-pager li{-webkit-box-sizing:border-box}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item,.el-menu-item{font-size:14px;padding:0 20px;cursor:pointer}.el-dropdown-menu__item{list-style:none;line-height:36px;margin:0;color:#606266;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.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:#fff}.el-menu::after,.el-menu::before{display:table;content:""}.el-breadcrumb__item:last-child .el-breadcrumb__separator,.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--collapse .el-submenu,.el-menu-item{position:relative}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;list-style:none}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{color:#303133;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-radio-button__inner,.el-submenu__title{-webkit-box-sizing:border-box;position:relative;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-picker-panel,.el-popover,.el-select-dropdown,.el-table-filter,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;color:#C0C4CC}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-range-editor.is-active,.el-range-editor.is-active:hover,.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width: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}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td,.el-table .cell,.el-table-filter{-webkit-box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table--striped .el-table__body tr.el-table__row--striped.selection-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.selection-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.selection-row>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell,.el-table__body tr.selection-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover,.el-cascader__dropdown,.el-color-picker__panel,.el-message-box,.el-notification{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;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}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__content::after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-col-offset-0,.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-cascader-menu:last-child .el-cascader-node,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-button-group>.el-button:not(:last-child),.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content:hover,.el-upload-list__item:hover{background-color:#F5F7FA}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active,.el-upload iframe{opacity:0}.el-carousel__arrow--right,.el-notification.right{right:16px}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-button-group::after,.el-button-group::before,.el-color-dropdown__main-wrapper::after,.el-link.is-underline:hover:after,.el-page-header__left::after,.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-transfer-panel .el-transfer-panel__footer::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{display:inline-block;vertical-align:middle}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-moz-user-select:none;-ms-user-select:none}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row,.el-upload-dragger,.el-upload-list__item{position:relative}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{width:0%}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-badge__content,.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__header,.el-message,.el-step__icon{-webkit-box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;box-sizing:border-box}.el-card__body,.el-main{padding:20px}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow: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}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;position:absolute;top:0;left:0}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409EFF}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__search-input,.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-cascader,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__icon,.el-input,.el-textarea{display:inline-block;width:100%}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center;font-size:12px}.el-input__prefix,.el-input__suffix{position:absolute;top:0;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-input__inner,.el-textarea__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-textarea{position:relative;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{height:100%;right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{height:100%;left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-image-viewer__btn,.el-image__preview,.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#409EFF;font-size:0}.el-button-group>.el-button+.el-button,.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-divider__text,.el-image__error,.el-link,.el-timeline,.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-container,.el-header{-webkit-box-sizing:border-box}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409EFF}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0;font-weight:500}.el-link.is-underline:hover:after{position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#C0C4CC;vertical-align:middle}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index: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;border-radius:50%;opacity:.8;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;user-select:none}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{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}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;top:50%}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button,.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-backtop,.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;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:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-avatar,.el-cascader-panel,.el-radio,.el-radio--medium.is-bordered .el-radio__label,.el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px}.el-drawer,.el-drawer__body>*{-webkit-box-sizing:border-box}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;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;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%}.el-popconfirm__main,.el-skeleton__image{display:-ms-flexbox;-webkit-box-align:center;display:-webkit-box}.el-popconfirm__main{display:flex;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{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%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}.el-empty{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;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{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;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} \ No newline at end of file diff --git a/src/main/resources/plugins/element-ui/index.js b/src/main/resources/plugins/element-ui/index.js new file mode 100644 index 0000000..6d6592f --- /dev/null +++ b/src/main/resources/plugins/element-ui/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 n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=51)}([function(t,n){t.exports=e},function(e,t,n){var i=n(4);e.exports=function(e,t,n){return void 0===n?i(e,t,!1):i(e,n,!1!==t)}},function(e,t,n){var i;!function(r){"use strict";var o={},s=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,a="[^\\s]+",l=/\[([^]*?)\]/gm,u=function(){};function c(e,t){for(var n=[],i=0,r=e.length;i3?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)}},y={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+a,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 n=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?n-1:n)+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:[a,u],MMM:[a,h("monthNamesShort")],MMMM:[a,h("monthNames")],a:[a,function(e,t,n){var i=t.toLowerCase();i===n.amPm[0]?e.isPm=!1:i===n.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var n,i=(t+"").match(/([+-]|\d\d)/gi);i&&(n=60*i[1]+parseInt(i[2],10),e.timezoneOffset="+"===i[0]?n:-n)}]};y.dd=y.d,y.dddd=y.ddd,y.DD=y.D,y.mm=y.m,y.hh=y.H=y.HH=y.h,y.MM=y.M,y.ss=y.s,y.A=y.a,o.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"},o.format=function(e,t,n){var i=n||o.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=o.masks[t]||t||o.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})).replace(s,function(t){return t in g?g[t](e,i):t.slice(1,t.length-1)})).replace(/@@@/g,function(){return r.shift()})},o.parse=function(e,t,n){var i=n||o.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=o.masks[t]||t,e.length>1e3)return null;var r={},a=[],u=[];t=t.replace(l,function(e,t){return u.push(t),"@@@"});var c,h=(c=t,c.replace(/[|\\{()[^$+*?.-]/g,"\\$&")).replace(s,function(e){if(y[e]){var t=y[e];return a.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 f=1;fe?u():!0!==t&&(r=setTimeout(i?function(){r=void 0}:u,void 0===i?e-a:e))}}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){var n=/^(attrs|props|on|nativeOn|class|style|hook)$/;function i(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,o,s,a,l;for(s in t)if(r=e[s],o=t[s],r&&n.test(s))if("class"===s&&("string"==typeof r&&(l=r,e[s]=r={},r[l]=!0),"string"==typeof o&&(l=o,t[s]=o={},o[l]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(a in o)r[a]=i(r[a],o[a]);else if(Array.isArray(r))e[s]=r.concat(o);else if(Array.isArray(o))e[s]=[r].concat(o);else for(a in o)r[a]=o[a];else e[s]=t[s];return e},{})}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0;var i,r=n(57),o=(i=r)&&i.__esModule?i:{default:i};t.default=o.default||function(e){for(var t=1;t>>1,z=[["ary",k],["bind",g],["bindKey",y],["curry",_],["curryRight",w],["flip",D],["partial",x],["partialRight",C],["rearg",S]],R="[object Arguments]",H="[object Array]",j="[object AsyncFunction]",W="[object Boolean]",q="[object Date]",Y="[object DOMException]",K="[object Error]",U="[object Function]",G="[object GeneratorFunction]",X="[object Map]",Z="[object Number]",J="[object Null]",Q="[object Object]",ee="[object Proxy]",te="[object RegExp]",ne="[object Set]",ie="[object String]",re="[object Symbol]",oe="[object Undefined]",se="[object WeakMap]",ae="[object WeakSet]",le="[object ArrayBuffer]",ue="[object DataView]",ce="[object Float32Array]",he="[object Float64Array]",de="[object Int8Array]",fe="[object Int16Array]",pe="[object Int32Array]",me="[object Uint8Array]",ve="[object Uint8ClampedArray]",ge="[object Uint16Array]",ye="[object Uint32Array]",be=/\b__p \+= '';/g,_e=/\b(__p \+=) '' \+/g,we=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xe=/&(?:amp|lt|gt|quot|#39);/g,Ce=/[&<>"']/g,ke=RegExp(xe.source),Se=RegExp(Ce.source),De=/<%-([\s\S]+?)%>/g,Ee=/<%([\s\S]+?)%>/g,$e=/<%=([\s\S]+?)%>/g,Te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Me=/^\w*$/,Ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Oe=/[\\^$.*+?()[\]{}|]/g,Pe=RegExp(Oe.source),Ie=/^\s+|\s+$/g,Ae=/^\s+/,Fe=/\s+$/,Le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ve=/\{\n\/\* \[wrapped with (.+)\] \*/,Be=/,? & /,ze=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Re=/\\(\\)?/g,He=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,je=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,qe=/^0b[01]+$/i,Ye=/^\[object .+?Constructor\]$/,Ke=/^0o[0-7]+$/i,Ue=/^(?:0|[1-9]\d*)$/,Ge=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xe=/($^)/,Ze=/['\n\r\u2028\u2029\\]/g,Je="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",et="[\\ud800-\\udfff]",tt="["+Qe+"]",nt="["+Je+"]",it="\\d+",rt="[\\u2700-\\u27bf]",ot="[a-z\\xdf-\\xf6\\xf8-\\xff]",st="[^\\ud800-\\udfff"+Qe+it+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",at="\\ud83c[\\udffb-\\udfff]",lt="[^\\ud800-\\udfff]",ut="(?:\\ud83c[\\udde6-\\uddff]){2}",ct="[\\ud800-\\udbff][\\udc00-\\udfff]",ht="[A-Z\\xc0-\\xd6\\xd8-\\xde]",dt="(?:"+ot+"|"+st+")",ft="(?:"+ht+"|"+st+")",pt="(?:"+nt+"|"+at+")"+"?",mt="[\\ufe0e\\ufe0f]?"+pt+("(?:\\u200d(?:"+[lt,ut,ct].join("|")+")[\\ufe0e\\ufe0f]?"+pt+")*"),vt="(?:"+[rt,ut,ct].join("|")+")"+mt,gt="(?:"+[lt+nt+"?",nt,ut,ct,et].join("|")+")",yt=RegExp("['’]","g"),bt=RegExp(nt,"g"),_t=RegExp(at+"(?="+at+")|"+gt+mt,"g"),wt=RegExp([ht+"?"+ot+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[tt,ht,"$"].join("|")+")",ft+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[tt,ht+dt,"$"].join("|")+")",ht+"?"+dt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ht+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",it,vt].join("|"),"g"),xt=RegExp("[\\u200d\\ud800-\\udfff"+Je+"\\ufe0e\\ufe0f]"),Ct=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,kt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],St=-1,Dt={};Dt[ce]=Dt[he]=Dt[de]=Dt[fe]=Dt[pe]=Dt[me]=Dt[ve]=Dt[ge]=Dt[ye]=!0,Dt[R]=Dt[H]=Dt[le]=Dt[W]=Dt[ue]=Dt[q]=Dt[K]=Dt[U]=Dt[X]=Dt[Z]=Dt[Q]=Dt[te]=Dt[ne]=Dt[ie]=Dt[se]=!1;var Et={};Et[R]=Et[H]=Et[le]=Et[ue]=Et[W]=Et[q]=Et[ce]=Et[he]=Et[de]=Et[fe]=Et[pe]=Et[X]=Et[Z]=Et[Q]=Et[te]=Et[ne]=Et[ie]=Et[re]=Et[me]=Et[ve]=Et[ge]=Et[ye]=!0,Et[K]=Et[U]=Et[se]=!1;var $t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tt=parseFloat,Mt=parseInt,Nt="object"==typeof e&&e&&e.Object===Object&&e,Ot="object"==typeof self&&self&&self.Object===Object&&self,Pt=Nt||Ot||Function("return this")(),It=t&&!t.nodeType&&t,At=It&&"object"==typeof i&&i&&!i.nodeType&&i,Ft=At&&At.exports===It,Lt=Ft&&Nt.process,Vt=function(){try{var e=At&&At.require&&At.require("util").types;return e||Lt&&Lt.binding&&Lt.binding("util")}catch(e){}}(),Bt=Vt&&Vt.isArrayBuffer,zt=Vt&&Vt.isDate,Rt=Vt&&Vt.isMap,Ht=Vt&&Vt.isRegExp,jt=Vt&&Vt.isSet,Wt=Vt&&Vt.isTypedArray;function qt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Yt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Jt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function wn(e,t){for(var n=e.length;n--&&ln(t,e[n],0)>-1;);return n}var xn=fn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Cn=fn({"&":"&","<":"<",">":">",'"':""","'":"'"});function kn(e){return"\\"+$t[e]}function Sn(e){return xt.test(e)}function Dn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function En(e,t){return function(n){return e(t(n))}}function $n(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"});var An=function e(t){var n,i=(t=null==t?Pt:An.defaults(Pt.Object(),t,An.pick(Pt,kt))).Array,r=t.Date,Je=t.Error,Qe=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,it=t.String,rt=t.TypeError,ot=i.prototype,st=Qe.prototype,at=tt.prototype,lt=t["__core-js_shared__"],ut=st.toString,ct=at.hasOwnProperty,ht=0,dt=(n=/[^.]+$/.exec(lt&<.keys&<.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ft=at.toString,pt=ut.call(tt),mt=Pt._,vt=nt("^"+ut.call(ct).replace(Oe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),gt=Ft?t.Buffer:o,_t=t.Symbol,xt=t.Uint8Array,$t=gt?gt.allocUnsafe:o,Nt=En(tt.getPrototypeOf,tt),Ot=tt.create,It=at.propertyIsEnumerable,At=ot.splice,Lt=_t?_t.isConcatSpreadable:o,Vt=_t?_t.iterator:o,on=_t?_t.toStringTag:o,fn=function(){try{var e=zo(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Fn=t.clearTimeout!==Pt.clearTimeout&&t.clearTimeout,Ln=r&&r.now!==Pt.Date.now&&r.now,Vn=t.setTimeout!==Pt.setTimeout&&t.setTimeout,Bn=et.ceil,zn=et.floor,Rn=tt.getOwnPropertySymbols,Hn=gt?gt.isBuffer:o,jn=t.isFinite,Wn=ot.join,qn=En(tt.keys,tt),Yn=et.max,Kn=et.min,Un=r.now,Gn=t.parseInt,Xn=et.random,Zn=ot.reverse,Jn=zo(t,"DataView"),Qn=zo(t,"Map"),ei=zo(t,"Promise"),ti=zo(t,"Set"),ni=zo(t,"WeakMap"),ii=zo(tt,"create"),ri=ni&&new ni,oi={},si=hs(Jn),ai=hs(Qn),li=hs(ei),ui=hs(ti),ci=hs(ni),hi=_t?_t.prototype:o,di=hi?hi.valueOf:o,fi=hi?hi.toString:o;function pi(e){if($a(e)&&!ga(e)&&!(e instanceof yi)){if(e instanceof gi)return e;if(ct.call(e,"__wrapped__"))return ds(e)}return new gi(e)}var mi=function(){function e(){}return function(t){if(!Ea(t))return{};if(Ot)return Ot(t);e.prototype=t;var n=new e;return e.prototype=o,n}}();function vi(){}function gi(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}function yi(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=L,this.__views__=[]}function bi(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Fi(e,t,n,i,r,s){var a,l=t&d,u=t&f,c=t&p;if(n&&(a=r?n(e,i,r,s):n(e)),a!==o)return a;if(!Ea(e))return e;var h=ga(e);if(h){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return io(e,a)}else{var m=jo(e),v=m==U||m==G;if(wa(e))return Zr(e,l);if(m==Q||m==R||v&&!r){if(a=u||v?{}:qo(e),!l)return u?function(e,t){return ro(e,Ho(e),t)}(e,function(e,t){return e&&ro(t,ol(t),e)}(a,e)):function(e,t){return ro(e,Ro(e),t)}(e,Oi(a,e))}else{if(!Et[m])return r?e:{};a=function(e,t,n){var i,r,o,s=e.constructor;switch(t){case le:return Jr(e);case W:case q:return new s(+e);case ue:return function(e,t){var n=t?Jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case ce:case he:case de:case fe:case pe:case me:case ve:case ge:case ye:return Qr(e,n);case X:return new s;case Z:case ie:return new s(e);case te:return(o=new(r=e).constructor(r.source,je.exec(r))).lastIndex=r.lastIndex,o;case ne:return new s;case re:return i=e,di?tt(di.call(i)):{}}}(e,m,l)}}s||(s=new Ci);var g=s.get(e);if(g)return g;if(s.set(e,a),Pa(e))return e.forEach(function(i){a.add(Fi(i,t,n,i,e,s))}),a;if(Ta(e))return e.forEach(function(i,r){a.set(r,Fi(i,t,n,r,e,s))}),a;var y=h?o:(c?u?Po:Oo:u?ol:rl)(e);return Kt(y||e,function(i,r){y&&(i=e[r=i]),Ti(a,r,Fi(i,t,n,r,e,s))}),a}function Li(e,t,n){var i=n.length;if(null==e)return!i;for(e=tt(e);i--;){var r=n[i],s=t[r],a=e[r];if(a===o&&!(r in e)||!s(a))return!1}return!0}function Vi(e,t,n){if("function"!=typeof e)throw new rt(l);return rs(function(){e.apply(o,n)},t)}function Bi(e,t,n,i){var r=-1,o=Zt,a=!0,l=e.length,u=[],c=t.length;if(!l)return u;n&&(t=Qt(t,gn(n))),i?(o=Jt,a=!1):t.length>=s&&(o=bn,a=!1,t=new xi(t));e:for(;++r-1},_i.prototype.set=function(e,t){var n=this.__data__,i=Mi(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},wi.prototype.clear=function(){this.size=0,this.__data__={hash:new bi,map:new(Qn||_i),string:new bi}},wi.prototype.delete=function(e){var t=Vo(this,e).delete(e);return this.size-=t?1:0,t},wi.prototype.get=function(e){return Vo(this,e).get(e)},wi.prototype.has=function(e){return Vo(this,e).has(e)},wi.prototype.set=function(e,t){var n=Vo(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},xi.prototype.add=xi.prototype.push=function(e){return this.__data__.set(e,u),this},xi.prototype.has=function(e){return this.__data__.has(e)},Ci.prototype.clear=function(){this.__data__=new _i,this.size=0},Ci.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ci.prototype.get=function(e){return this.__data__.get(e)},Ci.prototype.has=function(e){return this.__data__.has(e)},Ci.prototype.set=function(e,t){var n=this.__data__;if(n instanceof _i){var i=n.__data__;if(!Qn||i.length0&&n(a)?t>1?qi(a,t-1,n,i,r):en(r,a):i||(r[r.length]=a)}return r}var Yi=lo(),Ki=lo(!0);function Ui(e,t){return e&&Yi(e,t,rl)}function Gi(e,t){return e&&Ki(e,t,rl)}function Xi(e,t){return Xt(t,function(t){return ka(e[t])})}function Zi(e,t){for(var n=0,i=(t=Kr(t,e)).length;null!=e&&nt}function tr(e,t){return null!=e&&ct.call(e,t)}function nr(e,t){return null!=e&&t in tt(e)}function ir(e,t,n){for(var r=n?Jt:Zt,s=e[0].length,a=e.length,l=a,u=i(a),c=1/0,h=[];l--;){var d=e[l];l&&t&&(d=Qt(d,gn(t))),c=Kn(d.length,c),u[l]=!n&&(t||s>=120&&d.length>=120)?new xi(l&&d):o}d=e[0];var f=-1,p=u[0];e:for(;++f=a)return l;var u=n[i];return l*("desc"==u?-1:1)}}return e.index-t.index}(e,t,n)})}function br(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)a!==e&&At.call(a,l,1),At.call(e,l,1);return e}function wr(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;Ko(r)?At.call(e,r,1):Br(e,r)}}return e}function xr(e,t){return e+zn(Xn()*(t-e+1))}function Cr(e,t){var n="";if(!e||t<1||t>I)return n;do{t%2&&(n+=e),(t=zn(t/2))&&(e+=e)}while(t);return n}function kr(e,t){return os(ts(e,t,Ml),e+"")}function Sr(e){return Si(fl(e))}function Dr(e,t){var n=fl(e);return ls(n,Ai(t,0,n.length))}function Er(e,t,n,i){if(!Ea(e))return e;for(var r=-1,s=(t=Kr(t,e)).length,a=s-1,l=e;null!=l&&++ro?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=i(o);++r>>1,s=e[o];null!==s&&!Aa(s)&&(n?s<=t:s=s){var c=t?null:ko(e);if(c)return Mn(c);a=!1,r=bn,u=new xi}else u=t?[]:l;e:for(;++i=i?e:Nr(e,t,n)}var Xr=Fn||function(e){return Pt.clearTimeout(e)};function Zr(e,t){if(t)return e.slice();var n=e.length,i=$t?$t(n):new e.constructor(n);return e.copy(i),i}function Jr(e){var t=new e.constructor(e.byteLength);return new xt(t).set(new xt(e)),t}function Qr(e,t){var n=t?Jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function eo(e,t){if(e!==t){var n=e!==o,i=null===e,r=e==e,s=Aa(e),a=t!==o,l=null===t,u=t==t,c=Aa(t);if(!l&&!c&&!s&&e>t||s&&a&&u&&!l&&!c||i&&a&&u||!n&&u||!r)return 1;if(!i&&!s&&!c&&e1?n[r-1]:o,a=r>2?n[2]:o;for(s=e.length>3&&"function"==typeof s?(r--,s):o,a&&Uo(n[0],n[1],a)&&(s=r<3?o:s,r=1),t=tt(t);++i-1?r[s?t[a]:a]:o}}function po(e){return No(function(t){var n=t.length,i=n,r=gi.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new rt(l);if(r&&!a&&"wrapper"==Ao(s))var a=new gi([],!0)}for(i=a?i:n;++i1&&_.reverse(),d&&cl))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var h=-1,d=!0,f=n&v?new xi:o;for(s.set(e,t),s.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(Le,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return Kt(z,function(n){var i="_."+n[0];t&n[1]&&!Zt(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(Ve);return t?t[1].split(Be):[]}(i),n)))}function as(e){var t=0,n=0;return function(){var i=Un(),r=M-(i-n);if(n=i,r>0){if(++t>=T)return arguments[0]}else t=0;return e.apply(o,arguments)}}function ls(e,t){var n=-1,i=e.length,r=i-1;for(t=t===o?i:t;++n1?e[t-1]:o;return n="function"==typeof n?(e.pop(),n):o,Os(e,n)});function Bs(e){var t=pi(e);return t.__chain__=!0,t}function zs(e,t){return t(e)}var Rs=No(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,r=function(t){return Ii(t,e)};return!(t>1||this.__actions__.length)&&i instanceof yi&&Ko(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:zs,args:[r],thisArg:o}),new gi(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(o),e})):this.thru(r)});var Hs=oo(function(e,t,n){ct.call(e,n)?++e[n]:Pi(e,n,1)});var js=fo(vs),Ws=fo(gs);function qs(e,t){return(ga(e)?Kt:zi)(e,Lo(t,3))}function Ys(e,t){return(ga(e)?Ut:Ri)(e,Lo(t,3))}var Ks=oo(function(e,t,n){ct.call(e,n)?e[n].push(t):Pi(e,n,[t])});var Us=kr(function(e,t,n){var r=-1,o="function"==typeof t,s=ba(e)?i(e.length):[];return zi(e,function(e){s[++r]=o?qt(t,e,n):rr(e,t,n)}),s}),Gs=oo(function(e,t,n){Pi(e,n,t)});function Xs(e,t){return(ga(e)?Qt:fr)(e,Lo(t,3))}var Zs=oo(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});var Js=kr(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Uo(e,t[0],t[1])?t=[]:n>2&&Uo(t[0],t[1],t[2])&&(t=[t[0]]),yr(e,qi(t,1),[])}),Qs=Ln||function(){return Pt.Date.now()};function ea(e,t,n){return t=n?o:t,t=e&&null==t?e.length:t,Do(e,k,o,o,o,o,t)}function ta(e,t){var n;if("function"!=typeof t)throw new rt(l);return e=Ra(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=o),n}}var na=kr(function(e,t,n){var i=g;if(n.length){var r=$n(n,Fo(na));i|=x}return Do(e,i,t,n,r)}),ia=kr(function(e,t,n){var i=g|y;if(n.length){var r=$n(n,Fo(ia));i|=x}return Do(t,i,e,n,r)});function ra(e,t,n){var i,r,s,a,u,c,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new rt(l);function m(t){var n=i,s=r;return i=r=o,h=t,a=e.apply(s,n)}function v(e){var n=e-c;return c===o||n>=t||n<0||f&&e-h>=s}function g(){var e=Qs();if(v(e))return y(e);u=rs(g,function(e){var n=t-(e-c);return f?Kn(n,s-(e-h)):n}(e))}function y(e){return u=o,p&&i?m(e):(i=r=o,a)}function b(){var e=Qs(),n=v(e);if(i=arguments,r=this,c=e,n){if(u===o)return function(e){return h=e,u=rs(g,t),d?m(e):a}(c);if(f)return u=rs(g,t),m(c)}return u===o&&(u=rs(g,t)),a}return t=ja(t)||0,Ea(n)&&(d=!!n.leading,s=(f="maxWait"in n)?Yn(ja(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){u!==o&&Xr(u),h=0,i=c=r=u=o},b.flush=function(){return u===o?a:y(Qs())},b}var oa=kr(function(e,t){return Vi(e,1,t)}),sa=kr(function(e,t,n){return Vi(e,ja(t)||0,n)});function aa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new rt(l);var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(aa.Cache||wi),n}function la(e){if("function"!=typeof e)throw new rt(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}aa.Cache=wi;var ua=Ur(function(e,t){var n=(t=1==t.length&&ga(t[0])?Qt(t[0],gn(Lo())):Qt(qi(t,1),gn(Lo()))).length;return kr(function(i){for(var r=-1,o=Kn(i.length,n);++r=t}),va=or(function(){return arguments}())?or:function(e){return $a(e)&&ct.call(e,"callee")&&!It.call(e,"callee")},ga=i.isArray,ya=Bt?gn(Bt):function(e){return $a(e)&&Qi(e)==le};function ba(e){return null!=e&&Da(e.length)&&!ka(e)}function _a(e){return $a(e)&&ba(e)}var wa=Hn||jl,xa=zt?gn(zt):function(e){return $a(e)&&Qi(e)==q};function Ca(e){if(!$a(e))return!1;var t=Qi(e);return t==K||t==Y||"string"==typeof e.message&&"string"==typeof e.name&&!Na(e)}function ka(e){if(!Ea(e))return!1;var t=Qi(e);return t==U||t==G||t==j||t==ee}function Sa(e){return"number"==typeof e&&e==Ra(e)}function Da(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=I}function Ea(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function $a(e){return null!=e&&"object"==typeof e}var Ta=Rt?gn(Rt):function(e){return $a(e)&&jo(e)==X};function Ma(e){return"number"==typeof e||$a(e)&&Qi(e)==Z}function Na(e){if(!$a(e)||Qi(e)!=Q)return!1;var t=Nt(e);if(null===t)return!0;var n=ct.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ut.call(n)==pt}var Oa=Ht?gn(Ht):function(e){return $a(e)&&Qi(e)==te};var Pa=jt?gn(jt):function(e){return $a(e)&&jo(e)==ne};function Ia(e){return"string"==typeof e||!ga(e)&&$a(e)&&Qi(e)==ie}function Aa(e){return"symbol"==typeof e||$a(e)&&Qi(e)==re}var Fa=Wt?gn(Wt):function(e){return $a(e)&&Da(e.length)&&!!Dt[Qi(e)]};var La=wo(dr),Va=wo(function(e,t){return e<=t});function Ba(e){if(!e)return[];if(ba(e))return Ia(e)?Pn(e):io(e);if(Vt&&e[Vt])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Vt]());var t=jo(e);return(t==X?Dn:t==ne?Mn:fl)(e)}function za(e){return e?(e=ja(e))===P||e===-P?(e<0?-1:1)*A:e==e?e:0:0===e?e:0}function Ra(e){var t=za(e),n=t%1;return t==t?n?t-n:t:0}function Ha(e){return e?Ai(Ra(e),0,L):0}function ja(e){if("number"==typeof e)return e;if(Aa(e))return F;if(Ea(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ea(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Ie,"");var n=qe.test(e);return n||Ke.test(e)?Mt(e.slice(2),n?2:8):We.test(e)?F:+e}function Wa(e){return ro(e,ol(e))}function qa(e){return null==e?"":Lr(e)}var Ya=so(function(e,t){if(Jo(t)||ba(t))ro(t,rl(t),e);else for(var n in t)ct.call(t,n)&&Ti(e,n,t[n])}),Ka=so(function(e,t){ro(t,ol(t),e)}),Ua=so(function(e,t,n,i){ro(t,ol(t),e,i)}),Ga=so(function(e,t,n,i){ro(t,rl(t),e,i)}),Xa=No(Ii);var Za=kr(function(e,t){e=tt(e);var n=-1,i=t.length,r=i>2?t[2]:o;for(r&&Uo(t[0],t[1],r)&&(i=1);++n1),t}),ro(e,Po(e),n),i&&(n=Fi(n,d|f|p,To));for(var r=t.length;r--;)Br(n,t[r]);return n});var ul=No(function(e,t){return null==e?{}:function(e,t){return br(e,t,function(t,n){return el(e,n)})}(e,t)});function cl(e,t){if(null==e)return{};var n=Qt(Po(e),function(e){return[e]});return t=Lo(t),br(e,n,function(e,n){return t(e,n[0])})}var hl=So(rl),dl=So(ol);function fl(e){return null==e?[]:yn(e,rl(e))}var pl=co(function(e,t,n){return t=t.toLowerCase(),e+(n?ml(t):t)});function ml(e){return Cl(qa(e).toLowerCase())}function vl(e){return(e=qa(e))&&e.replace(Ge,xn).replace(bt,"")}var gl=co(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),yl=co(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),bl=uo("toLowerCase");var _l=co(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});var wl=co(function(e,t,n){return e+(n?" ":"")+Cl(t)});var xl=co(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Cl=uo("toUpperCase");function kl(e,t,n){return e=qa(e),(t=n?o:t)===o?function(e){return Ct.test(e)}(e)?function(e){return e.match(wt)||[]}(e):function(e){return e.match(ze)||[]}(e):e.match(t)||[]}var Sl=kr(function(e,t){try{return qt(e,o,t)}catch(e){return Ca(e)?e:new Je(e)}}),Dl=No(function(e,t){return Kt(t,function(t){t=cs(t),Pi(e,t,na(e[t],e))}),e});function El(e){return function(){return e}}var $l=po(),Tl=po(!0);function Ml(e){return e}function Nl(e){return ur("function"==typeof e?e:Fi(e,d))}var Ol=kr(function(e,t){return function(n){return rr(n,e,t)}}),Pl=kr(function(e,t){return function(n){return rr(e,n,t)}});function Il(e,t,n){var i=rl(t),r=Xi(t,i);null!=n||Ea(t)&&(r.length||!i.length)||(n=t,t=e,e=this,r=Xi(t,rl(t)));var o=!(Ea(n)&&"chain"in n&&!n.chain),s=ka(e);return Kt(r,function(n){var i=t[n];e[n]=i,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=io(this.__actions__)).push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,en([this.value()],arguments))})}),e}function Al(){}var Fl=yo(Qt),Ll=yo(Gt),Vl=yo(rn);function Bl(e){return Go(e)?dn(cs(e)):function(e){return function(t){return Zi(t,e)}}(e)}var zl=_o(),Rl=_o(!0);function Hl(){return[]}function jl(){return!1}var Wl=go(function(e,t){return e+t},0),ql=Co("ceil"),Yl=go(function(e,t){return e/t},1),Kl=Co("floor");var Ul,Gl=go(function(e,t){return e*t},1),Xl=Co("round"),Zl=go(function(e,t){return e-t},0);return pi.after=function(e,t){if("function"!=typeof t)throw new rt(l);return e=Ra(e),function(){if(--e<1)return t.apply(this,arguments)}},pi.ary=ea,pi.assign=Ya,pi.assignIn=Ka,pi.assignInWith=Ua,pi.assignWith=Ga,pi.at=Xa,pi.before=ta,pi.bind=na,pi.bindAll=Dl,pi.bindKey=ia,pi.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return ga(e)?e:[e]},pi.chain=Bs,pi.chunk=function(e,t,n){t=(n?Uo(e,t,n):t===o)?1:Yn(Ra(t),0);var r=null==e?0:e.length;if(!r||t<1)return[];for(var s=0,a=0,l=i(Bn(r/t));sr?0:r+n),(i=i===o||i>r?r:Ra(i))<0&&(i+=r),i=n>i?0:Ha(i);n>>0)?(e=qa(e))&&("string"==typeof t||null!=t&&!Oa(t))&&!(t=Lr(t))&&Sn(e)?Gr(Pn(e),0,n):e.split(t,n):[]},pi.spread=function(e,t){if("function"!=typeof e)throw new rt(l);return t=null==t?0:Yn(Ra(t),0),kr(function(n){var i=n[t],r=Gr(n,0,t);return i&&en(r,i),qt(e,this,r)})},pi.tail=function(e){var t=null==e?0:e.length;return t?Nr(e,1,t):[]},pi.take=function(e,t,n){return e&&e.length?Nr(e,0,(t=n||t===o?1:Ra(t))<0?0:t):[]},pi.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Nr(e,(t=i-(t=n||t===o?1:Ra(t)))<0?0:t,i):[]},pi.takeRightWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3),!1,!0):[]},pi.takeWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3)):[]},pi.tap=function(e,t){return t(e),e},pi.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new rt(l);return Ea(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),ra(e,t,{leading:i,maxWait:t,trailing:r})},pi.thru=zs,pi.toArray=Ba,pi.toPairs=hl,pi.toPairsIn=dl,pi.toPath=function(e){return ga(e)?Qt(e,cs):Aa(e)?[e]:io(us(qa(e)))},pi.toPlainObject=Wa,pi.transform=function(e,t,n){var i=ga(e),r=i||wa(e)||Fa(e);if(t=Lo(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Ea(e)&&ka(o)?mi(Nt(e)):{}}return(r?Kt:Ui)(e,function(e,i,r){return t(n,e,i,r)}),n},pi.unary=function(e){return ea(e,1)},pi.union=$s,pi.unionBy=Ts,pi.unionWith=Ms,pi.uniq=function(e){return e&&e.length?Vr(e):[]},pi.uniqBy=function(e,t){return e&&e.length?Vr(e,Lo(t,2)):[]},pi.uniqWith=function(e,t){return t="function"==typeof t?t:o,e&&e.length?Vr(e,o,t):[]},pi.unset=function(e,t){return null==e||Br(e,t)},pi.unzip=Ns,pi.unzipWith=Os,pi.update=function(e,t,n){return null==e?e:zr(e,t,Yr(n))},pi.updateWith=function(e,t,n,i){return i="function"==typeof i?i:o,null==e?e:zr(e,t,Yr(n),i)},pi.values=fl,pi.valuesIn=function(e){return null==e?[]:yn(e,ol(e))},pi.without=Ps,pi.words=kl,pi.wrap=function(e,t){return ca(Yr(t),e)},pi.xor=Is,pi.xorBy=As,pi.xorWith=Fs,pi.zip=Ls,pi.zipObject=function(e,t){return Wr(e||[],t||[],Ti)},pi.zipObjectDeep=function(e,t){return Wr(e||[],t||[],Er)},pi.zipWith=Vs,pi.entries=hl,pi.entriesIn=dl,pi.extend=Ka,pi.extendWith=Ua,Il(pi,pi),pi.add=Wl,pi.attempt=Sl,pi.camelCase=pl,pi.capitalize=ml,pi.ceil=ql,pi.clamp=function(e,t,n){return n===o&&(n=t,t=o),n!==o&&(n=(n=ja(n))==n?n:0),t!==o&&(t=(t=ja(t))==t?t:0),Ai(ja(e),t,n)},pi.clone=function(e){return Fi(e,p)},pi.cloneDeep=function(e){return Fi(e,d|p)},pi.cloneDeepWith=function(e,t){return Fi(e,d|p,t="function"==typeof t?t:o)},pi.cloneWith=function(e,t){return Fi(e,p,t="function"==typeof t?t:o)},pi.conformsTo=function(e,t){return null==t||Li(e,t,rl(t))},pi.deburr=vl,pi.defaultTo=function(e,t){return null==e||e!=e?t:e},pi.divide=Yl,pi.endsWith=function(e,t,n){e=qa(e),t=Lr(t);var i=e.length,r=n=n===o?i:Ai(Ra(n),0,i);return(n-=t.length)>=0&&e.slice(n,r)==t},pi.eq=fa,pi.escape=function(e){return(e=qa(e))&&Se.test(e)?e.replace(Ce,Cn):e},pi.escapeRegExp=function(e){return(e=qa(e))&&Pe.test(e)?e.replace(Oe,"\\$&"):e},pi.every=function(e,t,n){var i=ga(e)?Gt:Hi;return n&&Uo(e,t,n)&&(t=o),i(e,Lo(t,3))},pi.find=js,pi.findIndex=vs,pi.findKey=function(e,t){return sn(e,Lo(t,3),Ui)},pi.findLast=Ws,pi.findLastIndex=gs,pi.findLastKey=function(e,t){return sn(e,Lo(t,3),Gi)},pi.floor=Kl,pi.forEach=qs,pi.forEachRight=Ys,pi.forIn=function(e,t){return null==e?e:Yi(e,Lo(t,3),ol)},pi.forInRight=function(e,t){return null==e?e:Ki(e,Lo(t,3),ol)},pi.forOwn=function(e,t){return e&&Ui(e,Lo(t,3))},pi.forOwnRight=function(e,t){return e&&Gi(e,Lo(t,3))},pi.get=Qa,pi.gt=pa,pi.gte=ma,pi.has=function(e,t){return null!=e&&Wo(e,t,tr)},pi.hasIn=el,pi.head=bs,pi.identity=Ml,pi.includes=function(e,t,n,i){e=ba(e)?e:fl(e),n=n&&!i?Ra(n):0;var r=e.length;return n<0&&(n=Yn(r+n,0)),Ia(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&ln(e,t,n)>-1},pi.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:Ra(n);return r<0&&(r=Yn(i+r,0)),ln(e,t,r)},pi.inRange=function(e,t,n){return t=za(t),n===o?(n=t,t=0):n=za(n),function(e,t,n){return e>=Kn(t,n)&&e=-I&&e<=I},pi.isSet=Pa,pi.isString=Ia,pi.isSymbol=Aa,pi.isTypedArray=Fa,pi.isUndefined=function(e){return e===o},pi.isWeakMap=function(e){return $a(e)&&jo(e)==se},pi.isWeakSet=function(e){return $a(e)&&Qi(e)==ae},pi.join=function(e,t){return null==e?"":Wn.call(e,t)},pi.kebabCase=gl,pi.last=Cs,pi.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=i;return n!==o&&(r=(r=Ra(n))<0?Yn(i+r,0):Kn(r,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,r):an(e,cn,r,!0)},pi.lowerCase=yl,pi.lowerFirst=bl,pi.lt=La,pi.lte=Va,pi.max=function(e){return e&&e.length?ji(e,Ml,er):o},pi.maxBy=function(e,t){return e&&e.length?ji(e,Lo(t,2),er):o},pi.mean=function(e){return hn(e,Ml)},pi.meanBy=function(e,t){return hn(e,Lo(t,2))},pi.min=function(e){return e&&e.length?ji(e,Ml,dr):o},pi.minBy=function(e,t){return e&&e.length?ji(e,Lo(t,2),dr):o},pi.stubArray=Hl,pi.stubFalse=jl,pi.stubObject=function(){return{}},pi.stubString=function(){return""},pi.stubTrue=function(){return!0},pi.multiply=Gl,pi.nth=function(e,t){return e&&e.length?gr(e,Ra(t)):o},pi.noConflict=function(){return Pt._===this&&(Pt._=mt),this},pi.noop=Al,pi.now=Qs,pi.pad=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return bo(zn(r),n)+e+bo(Bn(r),n)},pi.padEnd=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var r=Xn();return Kn(e+r*(t-e+Tt("1e-"+((r+"").length-1))),t)}return xr(e,t)},pi.reduce=function(e,t,n){var i=ga(e)?tn:pn,r=arguments.length<3;return i(e,Lo(t,4),n,r,zi)},pi.reduceRight=function(e,t,n){var i=ga(e)?nn:pn,r=arguments.length<3;return i(e,Lo(t,4),n,r,Ri)},pi.repeat=function(e,t,n){return t=(n?Uo(e,t,n):t===o)?1:Ra(t),Cr(qa(e),t)},pi.replace=function(){var e=arguments,t=qa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},pi.result=function(e,t,n){var i=-1,r=(t=Kr(t,e)).length;for(r||(r=1,e=o);++iI)return[];var n=L,i=Kn(e,L);t=Lo(t),e-=L;for(var r=vn(i,t);++n=s)return e;var l=n-On(i);if(l<1)return i;var u=a?Gr(a,0,l).join(""):e.slice(0,l);if(r===o)return u+i;if(a&&(l+=u.length-l),Oa(r)){if(e.slice(l).search(r)){var c,h=u;for(r.global||(r=nt(r.source,qa(je.exec(r))+"g")),r.lastIndex=0;c=r.exec(h);)var d=c.index;u=u.slice(0,d===o?l:d)}}else if(e.indexOf(Lr(r),l)!=l){var f=u.lastIndexOf(r);f>-1&&(u=u.slice(0,f))}return u+i},pi.unescape=function(e){return(e=qa(e))&&ke.test(e)?e.replace(xe,In):e},pi.uniqueId=function(e){var t=++ht;return qa(e)+t},pi.upperCase=xl,pi.upperFirst=Cl,pi.each=qs,pi.eachRight=Ys,pi.first=bs,Il(pi,(Ul={},Ui(pi,function(e,t){ct.call(pi.prototype,t)||(Ul[t]=e)}),Ul),{chain:!1}),pi.VERSION="4.17.10",Kt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){pi[e].placeholder=pi}),Kt(["drop","take"],function(e,t){yi.prototype[e]=function(n){n=n===o?1:Yn(Ra(n),0);var i=this.__filtered__&&!t?new yi(this):this.clone();return i.__filtered__?i.__takeCount__=Kn(n,i.__takeCount__):i.__views__.push({size:Kn(n,L),type:e+(i.__dir__<0?"Right":"")}),i},yi.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),Kt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=n==N||3==n;yi.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Lo(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),Kt(["head","last"],function(e,t){var n="take"+(t?"Right":"");yi.prototype[e]=function(){return this[n](1).value()[0]}}),Kt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");yi.prototype[e]=function(){return this.__filtered__?new yi(this):this[n](1)}}),yi.prototype.compact=function(){return this.filter(Ml)},yi.prototype.find=function(e){return this.filter(e).head()},yi.prototype.findLast=function(e){return this.reverse().find(e)},yi.prototype.invokeMap=kr(function(e,t){return"function"==typeof e?new yi(this):this.map(function(n){return rr(n,e,t)})}),yi.prototype.reject=function(e){return this.filter(la(Lo(e)))},yi.prototype.slice=function(e,t){e=Ra(e);var n=this;return n.__filtered__&&(e>0||t<0)?new yi(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==o&&(n=(t=Ra(t))<0?n.dropRight(-t):n.take(t-e)),n)},yi.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},yi.prototype.toArray=function(){return this.take(L)},Ui(yi.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),r=pi[i?"take"+("last"==t?"Right":""):t],s=i||/^find/.test(t);r&&(pi.prototype[t]=function(){var t=this.__wrapped__,a=i?[1]:arguments,l=t instanceof yi,u=a[0],c=l||ga(t),h=function(e){var t=r.apply(pi,en([e],a));return i&&d?t[0]:t};c&&n&&"function"==typeof u&&1!=u.length&&(l=c=!1);var d=this.__chain__,f=!!this.__actions__.length,p=s&&!d,m=l&&!f;if(!s&&c){t=m?t:new yi(this);var v=e.apply(t,a);return v.__actions__.push({func:zs,args:[h],thisArg:o}),new gi(v,d)}return p&&m?e.apply(this,a):(v=this.thru(h),p?i?v.value()[0]:v.value():v)})}),Kt(["pop","push","shift","sort","splice","unshift"],function(e){var t=ot[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);pi.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(ga(r)?r:[],e)}return this[n](function(n){return t.apply(ga(n)?n:[],e)})}}),Ui(yi.prototype,function(e,t){var n=pi[t];if(n){var i=n.name+"";(oi[i]||(oi[i]=[])).push({name:t,func:n})}}),oi[mo(o,y).name]=[{name:"wrapper",func:o}],yi.prototype.clone=function(){var e=new yi(this.__wrapped__);return e.__actions__=io(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=io(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=io(this.__views__),e},yi.prototype.reverse=function(){if(this.__filtered__){var e=new yi(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},yi.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=ga(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},pi.prototype.plant=function(e){for(var t,n=this;n instanceof vi;){var i=ds(n);i.__index__=0,i.__values__=o,t?r.__wrapped__=i:t=i;var r=i;n=n.__wrapped__}return r.__wrapped__=e,t},pi.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof yi){var t=e;return this.__actions__.length&&(t=new yi(this)),(t=t.reverse()).__actions__.push({func:zs,args:[Es],thisArg:o}),new gi(t,this.__chain__)}return this.thru(Es)},pi.prototype.toJSON=pi.prototype.valueOf=pi.prototype.value=function(){return Hr(this.__wrapped__,this.__actions__)},pi.prototype.first=pi.prototype.head,Vt&&(pi.prototype[Vt]=function(){return this}),pi}();Pt._=An,(r=function(){return An}.call(t,n,t,i))===o||(i.exports=r)}).call(this)}).call(this,n(37),n(89)(e))},function(e,t){var n=e.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var i=n(4),r=n(1);e.exports={throttle:i,debounce:r}},function(e,t,n){var i=n(16);e.exports=function(e){if(!i(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var i=n(40),r=n(31);e.exports=Object.keys||function(e){return i(e,r)}},function(e,t){e.exports=!0},function(e,t){var n=0,i=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+i).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var i=n(5),r=n(15),o=n(60),s=n(9),a=n(7),l=function(e,t,n){var u,c,h,d=e&l.F,f=e&l.G,p=e&l.S,m=e&l.P,v=e&l.B,g=e&l.W,y=f?r:r[t]||(r[t]={}),b=y.prototype,_=f?i:p?i[t]:(i[t]||{}).prototype;for(u in f&&(n=t),n)(c=!d&&_&&void 0!==_[u])&&a(y,u)||(h=c?_[u]:n[u],y[u]=f&&"function"!=typeof _[u]?n[u]:v&&c?o(h,i):g&&_[u]==h?function(e){var t=function(t,n,i){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,i)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(h):m&&"function"==typeof h?o(Function.call,h):h,m&&((y.virtual||(y.virtual={}))[u]=h,e&l.R&&b&&!b[u]&&s(b,u,h)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){var i=n(16);e.exports=function(e,t){if(!i(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!i(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,i=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?i:n)(e)}},function(e,t,n){var i=n(30)("keys"),r=n(23);e.exports=function(e){return i[e]||(i[e]=r(e))}},function(e,t,n){var i=n(15),r=n(5),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:i.version,mode:n(22)?"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,n){var i=n(10).f,r=n(7),o=n(13)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,o)&&i(e,o,{configurable:!0,value:t})}},function(e,t,n){t.f=n(13)},function(e,t,n){var i=n(5),r=n(15),o=n(22),s=n(35),a=n(10).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){e.exports=!n(11)&&!n(17)(function(){return 7!=Object.defineProperty(n(39)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var i=n(16),r=n(5).document,o=i(r)&&i(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,t,n){var i=n(7),r=n(12),o=n(63)(!1),s=n(29)("IE_PROTO");e.exports=function(e,t){var n,a=r(e),l=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;t.length>l;)i(a,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t,n){var i=n(42);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==i(e)?e.split(""):Object(e)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var i=n(27);e.exports=function(e){return Object(i(e))}},function(e,t,n){"use strict";var i=n(22),r=n(25),o=n(45),s=n(9),a=n(33),l=n(70),u=n(34),c=n(73),h=n(13)("iterator"),d=!([].keys&&"next"in[].keys()),f=function(){return this};e.exports=function(e,t,n,p,m,v,g){l(n,t,p);var y,b,_,w=function(e){if(!d&&e in S)return S[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+" Iterator",C="values"==m,k=!1,S=e.prototype,D=S[h]||S["@@iterator"]||m&&S[m],E=D||w(m),$=m?C?w("entries"):E:void 0,T="Array"==t&&S.entries||D;if(T&&(_=c(T.call(new e)))!==Object.prototype&&_.next&&(u(_,x,!0),i||"function"==typeof _[h]||s(_,h,f)),C&&D&&"values"!==D.name&&(k=!0,E=function(){return D.call(this)}),i&&!g||!d&&!k&&S[h]||s(S,h,E),a[t]=E,a[x]=f,m)if(y={values:C?E:w("values"),keys:v?E:w("keys"),entries:$},g)for(b in y)b in S||o(S,b,y[b]);else r(r.P+r.F*(d||k),t,y);return y}},function(e,t,n){e.exports=n(9)},function(e,t,n){var i=n(19),r=n(71),o=n(31),s=n(29)("IE_PROTO"),a=function(){},l=function(){var e,t=n(39)("iframe"),i=o.length;for(t.style.display="none",n(72).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    category
    +
    &#xe606;
    +
  • + +
  • + +
    member
    +
    &#xe607;
    +
  • + +
  • + +
    user
    +
    &#xe608;
    +
  • + +
  • + +
    order
    +
    &#xe609;
    +
  • + +
  • + +
    combo
    +
    &#xe60a;
    +
  • + +
  • + +
    lock
    +
    &#xe60b;
    +
  • + +
  • + +
    food
    +
    &#xe60c;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1621231825060') format('woff2'),
+       url('iconfont.woff?t=1621231825060') format('woff'),
+       url('iconfont.ttf?t=1621231825060') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + category +
    +
    .icon-category +
    +
  • + +
  • + +
    + member +
    +
    .icon-member +
    +
  • + +
  • + +
    + user +
    +
    .icon-user +
    +
  • + +
  • + +
    + order +
    +
    .icon-order +
    +
  • + +
  • + +
    + combo +
    +
    .icon-combo +
    +
  • + +
  • + +
    + lock +
    +
    .icon-lock +
    +
  • + +
  • + +
    + food +
    +
    .icon-food +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    category
    +
    #icon-category
    +
  • + +
  • + +
    member
    +
    #icon-member
    +
  • + +
  • + +
    user
    +
    #icon-user
    +
  • + +
  • + +
    order
    +
    #icon-order
    +
  • + +
  • + +
    combo
    +
    #icon-combo
    +
  • + +
  • + +
    lock
    +
    #icon-lock
    +
  • + +
  • + +
    food
    +
    #icon-food
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/src/main/resources/plugins/styles/icon/iconfont.css b/src/main/resources/plugins/styles/icon/iconfont.css new file mode 100644 index 0000000..35b25aa --- /dev/null +++ b/src/main/resources/plugins/styles/icon/iconfont.css @@ -0,0 +1,43 @@ +@font-face { + font-family: "iconfont"; /* Project id 2552591 */ + src: url('iconfont.woff2?t=1621231825060') format('woff2'), + url('iconfont.woff?t=1621231825060') format('woff'), + url('iconfont.ttf?t=1621231825060') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-category:before { + content: "\e606"; +} + +.icon-member:before { + content: "\e607"; +} + +.icon-user:before { + content: "\e608"; +} + +.icon-order:before { + content: "\e609"; +} + +.icon-combo:before { + content: "\e60a"; +} + +.icon-lock:before { + content: "\e60b"; +} + +.icon-food:before { + content: "\e60c"; +} + diff --git a/src/main/resources/plugins/styles/icon/iconfont.js b/src/main/resources/plugins/styles/icon/iconfont.js new file mode 100644 index 0000000..9105ac4 --- /dev/null +++ b/src/main/resources/plugins/styles/icon/iconfont.js @@ -0,0 +1 @@ +!function(c){var e,t,o,a,n,i,l='',m=(m=document.getElementsByTagName("script"))[m.length-1].getAttribute("data-injectcss");if(m&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function d(){n||(n=!0,o())}e=function(){var c,e,t;(t=document.createElement("div")).innerHTML=l,l=null,(e=t.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",c=e,(t=document.body).firstChild?(e=t.firstChild).parentNode.insertBefore(c,e):t.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(e,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),e()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(o=e,a=c.document,n=!1,(i=function(){try{a.documentElement.doScroll("left")}catch(c){return void setTimeout(i,50)}d()})(),a.onreadystatechange=function(){"complete"==a.readyState&&(a.onreadystatechange=null,d())})}(window); \ No newline at end of file diff --git a/src/main/resources/plugins/styles/icon/iconfont.json b/src/main/resources/plugins/styles/icon/iconfont.json new file mode 100644 index 0000000..6f14173 --- /dev/null +++ b/src/main/resources/plugins/styles/icon/iconfont.json @@ -0,0 +1,58 @@ +{ + "id": "2552591", + "name": "rjwm", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "21641541", + "name": "category", + "font_class": "category", + "unicode": "e606", + "unicode_decimal": 58886 + }, + { + "icon_id": "21641542", + "name": "member", + "font_class": "member", + "unicode": "e607", + "unicode_decimal": 58887 + }, + { + "icon_id": "21641545", + "name": "user", + "font_class": "user", + "unicode": "e608", + "unicode_decimal": 58888 + }, + { + "icon_id": "21641546", + "name": "order", + "font_class": "order", + "unicode": "e609", + "unicode_decimal": 58889 + }, + { + "icon_id": "21641547", + "name": "combo", + "font_class": "combo", + "unicode": "e60a", + "unicode_decimal": 58890 + }, + { + "icon_id": "21641548", + "name": "lock", + "font_class": "lock", + "unicode": "e60b", + "unicode_decimal": 58891 + }, + { + "icon_id": "21641611", + "name": "food", + "font_class": "food", + "unicode": "e60c", + "unicode_decimal": 58892 + } + ] +} diff --git a/src/main/resources/plugins/styles/icon/iconfont.ttf b/src/main/resources/plugins/styles/icon/iconfont.ttf new file mode 100644 index 0000000..50c04ba Binary files /dev/null and b/src/main/resources/plugins/styles/icon/iconfont.ttf differ diff --git a/src/main/resources/plugins/styles/icon/iconfont.woff b/src/main/resources/plugins/styles/icon/iconfont.woff new file mode 100644 index 0000000..f85b00a Binary files /dev/null and b/src/main/resources/plugins/styles/icon/iconfont.woff differ diff --git a/src/main/resources/plugins/styles/icon/iconfont.woff2 b/src/main/resources/plugins/styles/icon/iconfont.woff2 new file mode 100644 index 0000000..5722a8f Binary files /dev/null and b/src/main/resources/plugins/styles/icon/iconfont.woff2 differ diff --git a/src/main/resources/plugins/vue/vue.js b/src/main/resources/plugins/vue/vue.js new file mode 100644 index 0000000..919aa12 --- /dev/null +++ b/src/main/resources/plugins/vue/vue.js @@ -0,0 +1,11965 @@ +/*! + * Vue.js v2.6.12 + * (c) 2014-2020 Evan You + * Released under the MIT License. + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.Vue = factory()); +}(this, function () { 'use strict'; + + /* */ + + var emptyObject = Object.freeze({}); + + // These helpers produce better VM code in JS engines due to their + // explicitness and function inlining. + function isUndef (v) { + return v === undefined || v === null + } + + function isDef (v) { + return v !== undefined && v !== null + } + + function isTrue (v) { + return v === true + } + + function isFalse (v) { + return v === false + } + + /** + * Check if value is primitive. + */ + function isPrimitive (value) { + return ( + typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean' + ) + } + + /** + * Quick object check - this is primarily used to tell + * Objects from primitive values when we know the value + * is a JSON-compliant type. + */ + function isObject (obj) { + return obj !== null && typeof obj === 'object' + } + + /** + * Get the raw type string of a value, e.g., [object Object]. + */ + var _toString = Object.prototype.toString; + + function toRawType (value) { + return _toString.call(value).slice(8, -1) + } + + /** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ + function isPlainObject (obj) { + return _toString.call(obj) === '[object Object]' + } + + function isRegExp (v) { + return _toString.call(v) === '[object RegExp]' + } + + /** + * Check if val is a valid array index. + */ + function isValidArrayIndex (val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val) + } + + function isPromise (val) { + return ( + isDef(val) && + typeof val.then === 'function' && + typeof val.catch === 'function' + ) + } + + /** + * Convert a value to a string that is actually rendered. + */ + function toString (val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val) + } + + /** + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. + */ + function toNumber (val) { + var n = parseFloat(val); + return isNaN(n) ? val : n + } + + /** + * Make a map and return a function for checking if a key + * is in that map. + */ + function makeMap ( + str, + expectsLowerCase + ) { + var map = Object.create(null); + var list = str.split(','); + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase + ? function (val) { return map[val.toLowerCase()]; } + : function (val) { return map[val]; } + } + + /** + * Check if a tag is a built-in tag. + */ + var isBuiltInTag = makeMap('slot,component', true); + + /** + * Check if an attribute is a reserved attribute. + */ + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); + + /** + * Remove an item from an array. + */ + function remove (arr, item) { + if (arr.length) { + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1) + } + } + } + + /** + * Check whether an object has the property. + */ + var hasOwnProperty = Object.prototype.hasOwnProperty; + function hasOwn (obj, key) { + return hasOwnProperty.call(obj, key) + } + + /** + * Create a cached version of a pure function. + */ + function cached (fn) { + var cache = Object.create(null); + return (function cachedFn (str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)) + }) + } + + /** + * Camelize a hyphen-delimited string. + */ + var camelizeRE = /-(\w)/g; + var camelize = cached(function (str) { + return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) + }); + + /** + * Capitalize a string. + */ + var capitalize = cached(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1) + }); + + /** + * Hyphenate a camelCase string. + */ + var hyphenateRE = /\B([A-Z])/g; + var hyphenate = cached(function (str) { + return str.replace(hyphenateRE, '-$1').toLowerCase() + }); + + /** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ + + /* istanbul ignore next */ + function polyfillBind (fn, ctx) { + function boundFn (a) { + var l = arguments.length; + return l + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx) + } + + boundFn._length = fn.length; + return boundFn + } + + function nativeBind (fn, ctx) { + return fn.bind(ctx) + } + + var bind = Function.prototype.bind + ? nativeBind + : polyfillBind; + + /** + * Convert an Array-like object to a real Array. + */ + function toArray (list, start) { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start]; + } + return ret + } + + /** + * Mix properties into target object. + */ + function extend (to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to + } + + /** + * Merge an Array of Objects into a single Object. + */ + function toObject (arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res + } + + /* eslint-disable no-unused-vars */ + + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ + function noop (a, b, c) {} + + /** + * Always return false. + */ + var no = function (a, b, c) { return false; }; + + /* eslint-enable no-unused-vars */ + + /** + * Return the same value. + */ + var identity = function (_) { return _; }; + + /** + * Generate a string containing static keys from compiler modules. + */ + function genStaticKeys (modules) { + return modules.reduce(function (keys, m) { + return keys.concat(m.staticKeys || []) + }, []).join(',') + } + + /** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ + function looseEqual (a, b) { + if (a === b) { return true } + var isObjectA = isObject(a); + var isObjectB = isObject(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a); + var isArrayB = Array.isArray(b); + if (isArrayA && isArrayB) { + return a.length === b.length && a.every(function (e, i) { + return looseEqual(e, b[i]) + }) + } else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime() + } else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return keysA.length === keysB.length && keysA.every(function (key) { + return looseEqual(a[key], b[key]) + }) + } else { + /* istanbul ignore next */ + return false + } + } catch (e) { + /* istanbul ignore next */ + return false + } + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b) + } else { + return false + } + } + + /** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ + function looseIndexOf (arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) { return i } + } + return -1 + } + + /** + * Ensure a function is called only once. + */ + function once (fn) { + var called = false; + return function () { + if (!called) { + called = true; + fn.apply(this, arguments); + } + } + } + + var SSR_ATTR = 'data-server-rendered'; + + var ASSET_TYPES = [ + 'component', + 'directive', + 'filter' + ]; + + var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch' + ]; + + /* */ + + + + var config = ({ + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + + /** + * Whether to suppress warnings. + */ + silent: false, + + /** + * Show production mode tip message on boot? + */ + productionTip: "development" !== 'production', + + /** + * Whether to enable devtools + */ + devtools: "development" !== 'production', + + /** + * Whether to record perf + */ + performance: false, + + /** + * Error handler for watcher errors + */ + errorHandler: null, + + /** + * Warn handler for watcher warns + */ + warnHandler: null, + + /** + * Ignore certain custom elements + */ + ignoredElements: [], + + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS + }); + + /* */ + + /** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; + + /** + * Check if a string starts with $ or _ + */ + function isReserved (str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5F + } + + /** + * Define a property. + */ + function def (obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); + } + + /** + * Parse simple path. + */ + var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); + function parsePath (path) { + if (bailRE.test(path)) { + return + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) { return } + obj = obj[segments[i]]; + } + return obj + } + } + + /* */ + + // can we use __proto__? + var hasProto = '__proto__' in {}; + + // Browser environment sniffing + var inBrowser = typeof window !== 'undefined'; + var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; + var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); + var UA = inBrowser && window.navigator.userAgent.toLowerCase(); + var isIE = UA && /msie|trident/.test(UA); + var isIE9 = UA && UA.indexOf('msie 9.0') > 0; + var isEdge = UA && UA.indexOf('edge/') > 0; + var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); + var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); + var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; + var isPhantomJS = UA && /phantomjs/.test(UA); + var isFF = UA && UA.match(/firefox\/(\d+)/); + + // Firefox has a "watch" function on Object.prototype... + var nativeWatch = ({}).watch; + + var supportsPassive = false; + if (inBrowser) { + try { + var opts = {}; + Object.defineProperty(opts, 'passive', ({ + get: function get () { + /* istanbul ignore next */ + supportsPassive = true; + } + })); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); + } catch (e) {} + } + + // this needs to be lazy-evaled because vue may be required before + // vue-server-renderer can set VUE_ENV + var _isServer; + var isServerRendering = function () { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && !inWeex && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; + } else { + _isServer = false; + } + } + return _isServer + }; + + // detect devtools + var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; + + /* istanbul ignore next */ + function isNative (Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) + } + + var hasSymbol = + typeof Symbol !== 'undefined' && isNative(Symbol) && + typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); + + var _Set; + /* istanbul ignore if */ // $flow-disable-line + if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set; + } else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /*@__PURE__*/(function () { + function Set () { + this.set = Object.create(null); + } + Set.prototype.has = function has (key) { + return this.set[key] === true + }; + Set.prototype.add = function add (key) { + this.set[key] = true; + }; + Set.prototype.clear = function clear () { + this.set = Object.create(null); + }; + + return Set; + }()); + } + + /* */ + + var warn = noop; + var tip = noop; + var generateComponentTrace = (noop); // work around flow check + var formatComponentName = (noop); + + { + var hasConsole = typeof console !== 'undefined'; + var classifyRE = /(?:^|[-_])(\w)/g; + var classify = function (str) { return str + .replace(classifyRE, function (c) { return c.toUpperCase(); }) + .replace(/[-_]/g, ''); }; + + warn = function (msg, vm) { + var trace = vm ? generateComponentTrace(vm) : ''; + + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace); + } else if (hasConsole && (!config.silent)) { + console.error(("[Vue warn]: " + msg + trace)); + } + }; + + tip = function (msg, vm) { + if (hasConsole && (!config.silent)) { + console.warn("[Vue tip]: " + msg + ( + vm ? generateComponentTrace(vm) : '' + )); + } + }; + + formatComponentName = function (vm, includeFile) { + if (vm.$root === vm) { + return '' + } + var options = typeof vm === 'function' && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm; + var name = options.name || options._componentTag; + var file = options.__file; + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/); + name = match && match[1]; + } + + return ( + (name ? ("<" + (classify(name)) + ">") : "") + + (file && includeFile !== false ? (" at " + file) : '') + ) + }; + + var repeat = function (str, n) { + var res = ''; + while (n) { + if (n % 2 === 1) { res += str; } + if (n > 1) { str += str; } + n >>= 1; + } + return res + }; + + generateComponentTrace = function (vm) { + if (vm._isVue && vm.$parent) { + var tree = []; + var currentRecursiveSequence = 0; + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1]; + if (last.constructor === vm.constructor) { + currentRecursiveSequence++; + vm = vm.$parent; + continue + } else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence]; + currentRecursiveSequence = 0; + } + } + tree.push(vm); + vm = vm.$parent; + } + return '\n\nfound in\n\n' + tree + .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) + ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") + : formatComponentName(vm))); }) + .join('\n') + } else { + return ("\n\n(found in " + (formatComponentName(vm)) + ")") + } + }; + } + + /* */ + + var uid = 0; + + /** + * A dep is an observable that can have multiple + * directives subscribing to it. + */ + var Dep = function Dep () { + this.id = uid++; + this.subs = []; + }; + + Dep.prototype.addSub = function addSub (sub) { + this.subs.push(sub); + }; + + Dep.prototype.removeSub = function removeSub (sub) { + remove(this.subs, sub); + }; + + Dep.prototype.depend = function depend () { + if (Dep.target) { + Dep.target.addDep(this); + } + }; + + Dep.prototype.notify = function notify () { + // stabilize the subscriber list first + var subs = this.subs.slice(); + if (!config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function (a, b) { return a.id - b.id; }); + } + for (var i = 0, l = subs.length; i < l; i++) { + subs[i].update(); + } + }; + + // The current target watcher being evaluated. + // This is globally unique because only one watcher + // can be evaluated at a time. + Dep.target = null; + var targetStack = []; + + function pushTarget (target) { + targetStack.push(target); + Dep.target = target; + } + + function popTarget () { + targetStack.pop(); + Dep.target = targetStack[targetStack.length - 1]; + } + + /* */ + + var VNode = function VNode ( + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory + ) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.fnContext = undefined; + this.fnOptions = undefined; + this.fnScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; + }; + + var prototypeAccessors = { child: { configurable: true } }; + + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + prototypeAccessors.child.get = function () { + return this.componentInstance + }; + + Object.defineProperties( VNode.prototype, prototypeAccessors ); + + var createEmptyVNode = function (text) { + if ( text === void 0 ) text = ''; + + var node = new VNode(); + node.text = text; + node.isComment = true; + return node + }; + + function createTextVNode (val) { + return new VNode(undefined, undefined, undefined, String(val)) + } + + // optimized shallow clone + // used for static nodes and slot nodes because they may be reused across + // multiple renders, cloning them avoids errors when DOM manipulations rely + // on their elm reference. + function cloneVNode (vnode) { + var cloned = new VNode( + vnode.tag, + vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), + vnode.text, + vnode.elm, + vnode.context, + vnode.componentOptions, + vnode.asyncFactory + ); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.fnContext = vnode.fnContext; + cloned.fnOptions = vnode.fnOptions; + cloned.fnScopeId = vnode.fnScopeId; + cloned.asyncMeta = vnode.asyncMeta; + cloned.isCloned = true; + return cloned + } + + /* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + + var arrayProto = Array.prototype; + var arrayMethods = Object.create(arrayProto); + + var methodsToPatch = [ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' + ]; + + /** + * Intercept mutating methods and emit events + */ + methodsToPatch.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break + case 'splice': + inserted = args.slice(2); + break + } + if (inserted) { ob.observeArray(inserted); } + // notify change + ob.dep.notify(); + return result + }); + }); + + /* */ + + var arrayKeys = Object.getOwnPropertyNames(arrayMethods); + + /** + * In some cases we may want to disable observation inside a component's + * update computation. + */ + var shouldObserve = true; + + function toggleObserving (value) { + shouldObserve = value; + } + + /** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ + var Observer = function Observer (value) { + this.value = value; + this.dep = new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (Array.isArray(value)) { + if (hasProto) { + protoAugment(value, arrayMethods); + } else { + copyAugment(value, arrayMethods, arrayKeys); + } + this.observeArray(value); + } else { + this.walk(value); + } + }; + + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + Observer.prototype.walk = function walk (obj) { + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + defineReactive$$1(obj, keys[i]); + } + }; + + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function observeArray (items) { + for (var i = 0, l = items.length; i < l; i++) { + observe(items[i]); + } + }; + + // helpers + + /** + * Augment a target Object or Array by intercepting + * the prototype chain using __proto__ + */ + function protoAugment (target, src) { + /* eslint-disable no-proto */ + target.__proto__ = src; + /* eslint-enable no-proto */ + } + + /** + * Augment a target Object or Array by defining + * hidden properties. + */ + /* istanbul ignore next */ + function copyAugment (target, src, keys) { + for (var i = 0, l = keys.length; i < l; i++) { + var key = keys[i]; + def(target, key, src[key]); + } + } + + /** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ + function observe (value, asRootData) { + if (!isObject(value) || value instanceof VNode) { + return + } + var ob; + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + ob = value.__ob__; + } else if ( + shouldObserve && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue + ) { + ob = new Observer(value); + } + if (asRootData && ob) { + ob.vmCount++; + } + return ob + } + + /** + * Define a reactive property on an Object. + */ + function defineReactive$$1 ( + obj, + key, + val, + customSetter, + shallow + ) { + var dep = new Dep(); + + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return + } + + // cater for pre-defined getter/setters + var getter = property && property.get; + var setter = property && property.set; + if ((!getter || setter) && arguments.length === 2) { + val = obj[key]; + } + + var childOb = !shallow && observe(val); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter () { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + dep.depend(); + if (childOb) { + childOb.dep.depend(); + if (Array.isArray(value)) { + dependArray(value); + } + } + } + return value + }, + set: function reactiveSetter (newVal) { + var value = getter ? getter.call(obj) : val; + /* eslint-disable no-self-compare */ + if (newVal === value || (newVal !== newVal && value !== value)) { + return + } + /* eslint-enable no-self-compare */ + if (customSetter) { + customSetter(); + } + // #7981: for accessor properties without setter + if (getter && !setter) { return } + if (setter) { + setter.call(obj, newVal); + } else { + val = newVal; + } + childOb = !shallow && observe(newVal); + dep.notify(); + } + }); + } + + /** + * Set a property on an object. Adds the new property and + * triggers change notification if the property doesn't + * already exist. + */ + function set (target, key, val) { + if (isUndef(target) || isPrimitive(target) + ) { + warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + return val + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' + ); + return val + } + if (!ob) { + target[key] = val; + return val + } + defineReactive$$1(ob.value, key, val); + ob.dep.notify(); + return val + } + + /** + * Delete a property and trigger change if necessary. + */ + function del (target, key) { + if (isUndef(target) || isPrimitive(target) + ) { + warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.' + ); + return + } + if (!hasOwn(target, key)) { + return + } + delete target[key]; + if (!ob) { + return + } + ob.dep.notify(); + } + + /** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ + function dependArray (value) { + for (var e = (void 0), i = 0, l = value.length; i < l; i++) { + e = value[i]; + e && e.__ob__ && e.__ob__.dep.depend(); + if (Array.isArray(e)) { + dependArray(e); + } + } + } + + /* */ + + /** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ + var strats = config.optionMergeStrategies; + + /** + * Options with restrictions + */ + { + strats.el = strats.propsData = function (parent, child, vm, key) { + if (!vm) { + warn( + "option \"" + key + "\" can only be used during instance " + + 'creation with the `new` keyword.' + ); + } + return defaultStrat(parent, child) + }; + } + + /** + * Helper that recursively merges two data objects together. + */ + function mergeData (to, from) { + if (!from) { return to } + var key, toVal, fromVal; + + var keys = hasSymbol + ? Reflect.ownKeys(from) + : Object.keys(from); + + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + // in case the object is already observed... + if (key === '__ob__') { continue } + toVal = to[key]; + fromVal = from[key]; + if (!hasOwn(to, key)) { + set(to, key, fromVal); + } else if ( + toVal !== fromVal && + isPlainObject(toVal) && + isPlainObject(fromVal) + ) { + mergeData(toVal, fromVal); + } + } + return to + } + + /** + * Data + */ + function mergeDataOrFn ( + parentVal, + childVal, + vm + ) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal + } + if (!parentVal) { + return childVal + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn () { + return mergeData( + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + ) + } + } else { + return function mergedInstanceDataFn () { + // instance merge + var instanceData = typeof childVal === 'function' + ? childVal.call(vm, vm) + : childVal; + var defaultData = typeof parentVal === 'function' + ? parentVal.call(vm, vm) + : parentVal; + if (instanceData) { + return mergeData(instanceData, defaultData) + } else { + return defaultData + } + } + } + } + + strats.data = function ( + parentVal, + childVal, + vm + ) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + warn( + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm + ); + + return parentVal + } + return mergeDataOrFn(parentVal, childVal) + } + + return mergeDataOrFn(parentVal, childVal, vm) + }; + + /** + * Hooks and props are merged as arrays. + */ + function mergeHook ( + parentVal, + childVal + ) { + var res = childVal + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal; + return res + ? dedupeHooks(res) + : res + } + + function dedupeHooks (hooks) { + var res = []; + for (var i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]); + } + } + return res + } + + LIFECYCLE_HOOKS.forEach(function (hook) { + strats[hook] = mergeHook; + }); + + /** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ + function mergeAssets ( + parentVal, + childVal, + vm, + key + ) { + var res = Object.create(parentVal || null); + if (childVal) { + assertObjectType(key, childVal, vm); + return extend(res, childVal) + } else { + return res + } + } + + ASSET_TYPES.forEach(function (type) { + strats[type + 's'] = mergeAssets; + }); + + /** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ + strats.watch = function ( + parentVal, + childVal, + vm, + key + ) { + // work around Firefox's Object.prototype.watch... + if (parentVal === nativeWatch) { parentVal = undefined; } + if (childVal === nativeWatch) { childVal = undefined; } + /* istanbul ignore if */ + if (!childVal) { return Object.create(parentVal || null) } + { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = {}; + extend(ret, parentVal); + for (var key$1 in childVal) { + var parent = ret[key$1]; + var child = childVal[key$1]; + if (parent && !Array.isArray(parent)) { + parent = [parent]; + } + ret[key$1] = parent + ? parent.concat(child) + : Array.isArray(child) ? child : [child]; + } + return ret + }; + + /** + * Other object hashes. + */ + strats.props = + strats.methods = + strats.inject = + strats.computed = function ( + parentVal, + childVal, + vm, + key + ) { + if (childVal && "development" !== 'production') { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) { extend(ret, childVal); } + return ret + }; + strats.provide = mergeDataOrFn; + + /** + * Default strategy. + */ + var defaultStrat = function (parentVal, childVal) { + return childVal === undefined + ? parentVal + : childVal + }; + + /** + * Validate component names + */ + function checkComponents (options) { + for (var key in options.components) { + validateComponentName(key); + } + } + + function validateComponentName (name) { + if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { + warn( + 'Invalid component name: "' + name + '". Component names ' + + 'should conform to valid custom element name in html5 specification.' + ); + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn( + 'Do not use built-in or reserved HTML elements as component ' + + 'id: ' + name + ); + } + } + + /** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ + function normalizeProps (options, vm) { + var props = options.props; + if (!props) { return } + var res = {}; + var i, val, name; + if (Array.isArray(props)) { + i = props.length; + while (i--) { + val = props[i]; + if (typeof val === 'string') { + name = camelize(val); + res[name] = { type: null }; + } else { + warn('props must be strings when using array syntax.'); + } + } + } else if (isPlainObject(props)) { + for (var key in props) { + val = props[key]; + name = camelize(key); + res[name] = isPlainObject(val) + ? val + : { type: val }; + } + } else { + warn( + "Invalid value for option \"props\": expected an Array or an Object, " + + "but got " + (toRawType(props)) + ".", + vm + ); + } + options.props = res; + } + + /** + * Normalize all injections into Object-based format + */ + function normalizeInject (options, vm) { + var inject = options.inject; + if (!inject) { return } + var normalized = options.inject = {}; + if (Array.isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] }; + } + } else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key]; + normalized[key] = isPlainObject(val) + ? extend({ from: key }, val) + : { from: val }; + } + } else { + warn( + "Invalid value for option \"inject\": expected an Array or an Object, " + + "but got " + (toRawType(inject)) + ".", + vm + ); + } + } + + /** + * Normalize raw function directives into object format. + */ + function normalizeDirectives (options) { + var dirs = options.directives; + if (dirs) { + for (var key in dirs) { + var def$$1 = dirs[key]; + if (typeof def$$1 === 'function') { + dirs[key] = { bind: def$$1, update: def$$1 }; + } + } + } + } + + function assertObjectType (name, value, vm) { + if (!isPlainObject(value)) { + warn( + "Invalid value for option \"" + name + "\": expected an Object, " + + "but got " + (toRawType(value)) + ".", + vm + ); + } + } + + /** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ + function mergeOptions ( + parent, + child, + vm + ) { + { + checkComponents(child); + } + + if (typeof child === 'function') { + child = child.options; + } + + normalizeProps(child, vm); + normalizeInject(child, vm); + normalizeDirectives(child); + + // Apply extends and mixins on the child options, + // but only if it is a raw options object that isn't + // the result of another mergeOptions call. + // Only merged options has the _base property. + if (!child._base) { + if (child.extends) { + parent = mergeOptions(parent, child.extends, vm); + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm); + } + } + } + + var options = {}; + var key; + for (key in parent) { + mergeField(key); + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key); + } + } + function mergeField (key) { + var strat = strats[key] || defaultStrat; + options[key] = strat(parent[key], child[key], vm, key); + } + return options + } + + /** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ + function resolveAsset ( + options, + type, + id, + warnMissing + ) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return + } + var assets = options[type]; + // check local registration variations first + if (hasOwn(assets, id)) { return assets[id] } + var camelizedId = camelize(id); + if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } + var PascalCaseId = capitalize(camelizedId); + if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; + if (warnMissing && !res) { + warn( + 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, + options + ); + } + return res + } + + /* */ + + + + function validateProp ( + key, + propOptions, + propsData, + vm + ) { + var prop = propOptions[key]; + var absent = !hasOwn(propsData, key); + var value = propsData[key]; + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type); + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false; + } else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type); + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true; + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key); + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve; + toggleObserving(true); + observe(value); + toggleObserving(prevShouldObserve); + } + { + assertProp(prop, key, value, vm, absent); + } + return value + } + + /** + * Get the default value of a prop. + */ + function getPropDefaultValue (vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined + } + var def = prop.default; + // warn against non-factory defaults for Object & Array + if (isObject(def)) { + warn( + 'Invalid default value for prop "' + key + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm + ); + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if (vm && vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined + ) { + return vm._props[key] + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return typeof def === 'function' && getType(prop.type) !== 'Function' + ? def.call(vm) + : def + } + + /** + * Assert whether a prop is valid. + */ + function assertProp ( + prop, + name, + value, + vm, + absent + ) { + if (prop.required && absent) { + warn( + 'Missing required prop: "' + name + '"', + vm + ); + return + } + if (value == null && !prop.required) { + return + } + var type = prop.type; + var valid = !type || type === true; + var expectedTypes = []; + if (type) { + if (!Array.isArray(type)) { + type = [type]; + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i]); + expectedTypes.push(assertedType.expectedType || ''); + valid = assertedType.valid; + } + } + + if (!valid) { + warn( + getInvalidTypeMessage(name, value, expectedTypes), + vm + ); + return + } + var validator = prop.validator; + if (validator) { + if (!validator(value)) { + warn( + 'Invalid prop: custom validator check failed for prop "' + name + '".', + vm + ); + } + } + } + + var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; + + function assertType (value, type) { + var valid; + var expectedType = getType(type); + if (simpleCheckRE.test(expectedType)) { + var t = typeof value; + valid = t === expectedType.toLowerCase(); + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type; + } + } else if (expectedType === 'Object') { + valid = isPlainObject(value); + } else if (expectedType === 'Array') { + valid = Array.isArray(value); + } else { + valid = value instanceof type; + } + return { + valid: valid, + expectedType: expectedType + } + } + + /** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ + function getType (fn) { + var match = fn && fn.toString().match(/^\s*function (\w+)/); + return match ? match[1] : '' + } + + function isSameType (a, b) { + return getType(a) === getType(b) + } + + function getTypeIndex (type, expectedTypes) { + if (!Array.isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1 + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i + } + } + return -1 + } + + function getInvalidTypeMessage (name, value, expectedTypes) { + var message = "Invalid prop: type check failed for prop \"" + name + "\"." + + " Expected " + (expectedTypes.map(capitalize).join(', ')); + var expectedType = expectedTypes[0]; + var receivedType = toRawType(value); + var expectedValue = styleValue(value, expectedType); + var receivedValue = styleValue(value, receivedType); + // check if we need to specify expected value + if (expectedTypes.length === 1 && + isExplicable(expectedType) && + !isBoolean(expectedType, receivedType)) { + message += " with value " + expectedValue; + } + message += ", got " + receivedType + " "; + // check if we need to specify received value + if (isExplicable(receivedType)) { + message += "with value " + receivedValue + "."; + } + return message + } + + function styleValue (value, type) { + if (type === 'String') { + return ("\"" + value + "\"") + } else if (type === 'Number') { + return ("" + (Number(value))) + } else { + return ("" + value) + } + } + + function isExplicable (value) { + var explicitTypes = ['string', 'number', 'boolean']; + return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) + } + + function isBoolean () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) + } + + /* */ + + function handleError (err, vm, info) { + // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. + // See: https://github.com/vuejs/vuex/issues/1505 + pushTarget(); + try { + if (vm) { + var cur = vm; + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured; + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false; + if (capture) { return } + } catch (e) { + globalHandleError(e, cur, 'errorCaptured hook'); + } + } + } + } + } + globalHandleError(err, vm, info); + } finally { + popTarget(); + } + } + + function invokeWithErrorHandling ( + handler, + context, + args, + vm, + info + ) { + var res; + try { + res = args ? handler.apply(context, args) : handler.call(context); + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); + // issue #9511 + // avoid catch triggering multiple times when nested calls + res._handled = true; + } + } catch (e) { + handleError(e, vm, info); + } + return res + } + + function globalHandleError (err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info) + } catch (e) { + // if the user intentionally throws the original error in the handler, + // do not log it twice + if (e !== err) { + logError(e, null, 'config.errorHandler'); + } + } + } + logError(err, vm, info); + } + + function logError (err, vm, info) { + { + warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); + } + /* istanbul ignore else */ + if ((inBrowser || inWeex) && typeof console !== 'undefined') { + console.error(err); + } else { + throw err + } + } + + /* */ + + var isUsingMicroTask = false; + + var callbacks = []; + var pending = false; + + function flushCallbacks () { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + for (var i = 0; i < copies.length; i++) { + copies[i](); + } + } + + // Here we have async deferring wrappers using microtasks. + // In 2.5 we used (macro) tasks (in combination with microtasks). + // However, it has subtle problems when state is changed right before repaint + // (e.g. #6813, out-in transitions). + // Also, using (macro) tasks in event handler would cause some weird behaviors + // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). + // So we now use microtasks everywhere, again. + // A major drawback of this tradeoff is that there are some scenarios + // where microtasks have too high a priority and fire in between supposedly + // sequential events (e.g. #4521, #6690, which have workarounds) + // or even between bubbling of the same event (#6566). + var timerFunc; + + // The nextTick behavior leverages the microtask queue, which can be accessed + // via either native Promise.then or MutationObserver. + // MutationObserver has wider support, however it is seriously bugged in + // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It + // completely stops working after triggering a few times... so, if native + // Promise is available, we will use it: + /* istanbul ignore next, $flow-disable-line */ + if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p = Promise.resolve(); + timerFunc = function () { + p.then(flushCallbacks); + // In problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) { setTimeout(noop); } + }; + isUsingMicroTask = true; + } else if (!isIE && typeof MutationObserver !== 'undefined' && ( + isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]' + )) { + // Use MutationObserver where native Promise is not available, + // e.g. PhantomJS, iOS7, Android 4.4 + // (#6466 MutationObserver is unreliable in IE11) + var counter = 1; + var observer = new MutationObserver(flushCallbacks); + var textNode = document.createTextNode(String(counter)); + observer.observe(textNode, { + characterData: true + }); + timerFunc = function () { + counter = (counter + 1) % 2; + textNode.data = String(counter); + }; + isUsingMicroTask = true; + } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + // Fallback to setImmediate. + // Technically it leverages the (macro) task queue, + // but it is still a better choice than setTimeout. + timerFunc = function () { + setImmediate(flushCallbacks); + }; + } else { + // Fallback to setTimeout. + timerFunc = function () { + setTimeout(flushCallbacks, 0); + }; + } + + function nextTick (cb, ctx) { + var _resolve; + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } catch (e) { + handleError(e, ctx, 'nextTick'); + } + } else if (_resolve) { + _resolve(ctx); + } + }); + if (!pending) { + pending = true; + timerFunc(); + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function (resolve) { + _resolve = resolve; + }) + } + } + + /* */ + + var mark; + var measure; + + { + var perf = inBrowser && window.performance; + /* istanbul ignore if */ + if ( + perf && + perf.mark && + perf.measure && + perf.clearMarks && + perf.clearMeasures + ) { + mark = function (tag) { return perf.mark(tag); }; + measure = function (name, startTag, endTag) { + perf.measure(name, startTag, endTag); + perf.clearMarks(startTag); + perf.clearMarks(endTag); + // perf.clearMeasures(name) + }; + } + } + + /* not type checking this file because flow doesn't play well with Proxy */ + + var initProxy; + + { + var allowedGlobals = makeMap( + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify + ); + + var warnNonPresent = function (target, key) { + warn( + "Property or method \"" + key + "\" is not defined on the instance but " + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target + ); + }; + + var warnReservedPrefix = function (target, key) { + warn( + "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals. ' + + 'See: https://vuejs.org/v2/api/#data', + target + ); + }; + + var hasProxy = + typeof Proxy !== 'undefined' && isNative(Proxy); + + if (hasProxy) { + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); + config.keyCodes = new Proxy(config.keyCodes, { + set: function set (target, key, value) { + if (isBuiltInModifier(key)) { + warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); + return false + } else { + target[key] = value; + return true + } + } + }); + } + + var hasHandler = { + has: function has (target, key) { + var has = key in target; + var isAllowed = allowedGlobals(key) || + (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); + if (!has && !isAllowed) { + if (key in target.$data) { warnReservedPrefix(target, key); } + else { warnNonPresent(target, key); } + } + return has || !isAllowed + } + }; + + var getHandler = { + get: function get (target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) { warnReservedPrefix(target, key); } + else { warnNonPresent(target, key); } + } + return target[key] + } + }; + + initProxy = function initProxy (vm) { + if (hasProxy) { + // determine which proxy handler to use + var options = vm.$options; + var handlers = options.render && options.render._withStripped + ? getHandler + : hasHandler; + vm._renderProxy = new Proxy(vm, handlers); + } else { + vm._renderProxy = vm; + } + }; + } + + /* */ + + var seenObjects = new _Set(); + + /** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ + function traverse (val) { + _traverse(val, seenObjects); + seenObjects.clear(); + } + + function _traverse (val, seen) { + var i, keys; + var isA = Array.isArray(val); + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { + return + } + if (val.__ob__) { + var depId = val.__ob__.dep.id; + if (seen.has(depId)) { + return + } + seen.add(depId); + } + if (isA) { + i = val.length; + while (i--) { _traverse(val[i], seen); } + } else { + keys = Object.keys(val); + i = keys.length; + while (i--) { _traverse(val[keys[i]], seen); } + } + } + + /* */ + + var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first + name = once$$1 ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once$$1, + capture: capture, + passive: passive + } + }); + + function createFnInvoker (fns, vm) { + function invoker () { + var arguments$1 = arguments; + + var fns = invoker.fns; + if (Array.isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); + } + } else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") + } + } + invoker.fns = fns; + return invoker + } + + function updateListeners ( + on, + oldOn, + add, + remove$$1, + createOnceHandler, + vm + ) { + var name, def$$1, cur, old, event; + for (name in on) { + def$$1 = cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + if (isUndef(cur)) { + warn( + "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), + vm + ); + } else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm); + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture); + } + add(event.name, cur, event.capture, event.passive, event.params); + } else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove$$1(event.name, oldOn[name], event.capture); + } + } + } + + /* */ + + function mergeVNodeHook (def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + + function wrappedHook () { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove(invoker.fns, wrappedHook); + } + + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + + invoker.merged = true; + def[hookKey] = invoker; + } + + /* */ + + function extractPropsFromVNodeData ( + data, + Ctor, + tag + ) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return + } + var res = {}; + var attrs = data.attrs; + var props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + { + var keyInLowerCase = key.toLowerCase(); + if ( + key !== keyInLowerCase && + attrs && hasOwn(attrs, keyInLowerCase) + ) { + tip( + "Prop \"" + keyInLowerCase + "\" is passed to component " + + (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + + " \"" + key + "\". " + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." + ); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res + } + + function checkProp ( + res, + hash, + key, + altKey, + preserve + ) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true + } else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true + } + } + return false + } + + /* */ + + // The template compiler attempts to minimize the need for normalization by + // statically analyzing the template at compile time. + // + // For plain HTML markup, normalization can be completely skipped because the + // generated render function is guaranteed to return Array. There are + // two cases where extra normalization is needed: + + // 1. When the children contains components - because a functional component + // may return an Array instead of a single root. In this case, just a simple + // normalization is needed - if any child is an Array, we flatten the whole + // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep + // because functional components already normalize their own children. + function simpleNormalizeChildren (children) { + for (var i = 0; i < children.length; i++) { + if (Array.isArray(children[i])) { + return Array.prototype.concat.apply([], children) + } + } + return children + } + + // 2. When the children contains constructs that always generated nested Arrays, + // e.g.