├── .gitignore
├── .mvn
└── wrapper
│ ├── MavenWrapperDownloader.java
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
├── main
├── java
│ └── com
│ │ └── example
│ │ └── demo
│ │ ├── DemoApplication.java
│ │ ├── controller
│ │ └── UserController.java
│ │ ├── entity
│ │ └── User.java
│ │ ├── mapper
│ │ └── UserMapper.java
│ │ ├── service
│ │ ├── UserService.java
│ │ └── impl
│ │ │ └── UserServiceImpl.java
│ │ └── util
│ │ ├── Json.java
│ │ └── Tool.java
└── resources
│ ├── application.properties
│ ├── application.yml
│ ├── mybatis
│ └── mapper
│ │ └── UserMapper.xml
│ ├── static
│ ├── css
│ │ ├── layui.css
│ │ └── login.html
│ ├── html
│ │ └── index.html
│ ├── images
│ │ ├── 12.png
│ │ ├── enter1.png
│ │ ├── login.jpg
│ │ ├── name.png
│ │ └── pwd.png
│ └── js
│ │ ├── demo.js
│ │ ├── echarts.js
│ │ ├── gjzb.js
│ │ ├── jquery-2.1.1.min.js
│ │ ├── layui.js
│ │ └── xjgds.js
│ └── templates
│ ├── Login2.html
│ ├── homePage.html
│ └── success.html
└── test
└── java
└── com
└── example
└── demo
└── DemoApplicationTests.java
/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | /target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 |
5 | ### STS ###
6 | .apt_generated
7 | .classpath
8 | .factorypath
9 | .project
10 | .settings
11 | .springBeans
12 | .sts4-cache
13 |
14 | ### IntelliJ IDEA ###
15 | .idea
16 | *.iws
17 | *.iml
18 | *.ipr
19 |
20 | ### NetBeans ###
21 | /nbproject/private/
22 | /nbbuild/
23 | /dist/
24 | /nbdist/
25 | /.nb-gradle/
26 | /build/
27 |
28 | ### VS Code ###
29 | .vscode/
30 |
--------------------------------------------------------------------------------
/.mvn/wrapper/MavenWrapperDownloader.java:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | https://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 |
20 | import java.io.File;
21 | import java.io.FileInputStream;
22 | import java.io.FileOutputStream;
23 | import java.io.IOException;
24 | import java.net.URL;
25 | import java.nio.channels.Channels;
26 | import java.nio.channels.ReadableByteChannel;
27 | import java.util.Properties;
28 |
29 | public class MavenWrapperDownloader {
30 |
31 | /**
32 | * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
33 | */
34 | private static final String DEFAULT_DOWNLOAD_URL =
35 | "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
36 |
37 | /**
38 | * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
39 | * use instead of the default one.
40 | */
41 | private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
42 | ".mvn/wrapper/maven-wrapper.properties";
43 |
44 | /**
45 | * Path where the maven-wrapper.jar will be saved to.
46 | */
47 | private static final String MAVEN_WRAPPER_JAR_PATH =
48 | ".mvn/wrapper/maven-wrapper.jar";
49 |
50 | /**
51 | * Name of the property which should be used to override the default download url for the wrapper.
52 | */
53 | private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
54 |
55 | public static void main(String args[]) {
56 | System.out.println("- Downloader started");
57 | File baseDirectory = new File(args[0]);
58 | System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
59 |
60 | // If the maven-wrapper.properties exists, read it and check if it contains a custom
61 | // wrapperUrl parameter.
62 | File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
63 | String url = DEFAULT_DOWNLOAD_URL;
64 | if (mavenWrapperPropertyFile.exists()) {
65 | FileInputStream mavenWrapperPropertyFileInputStream = null;
66 | try {
67 | mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
68 | Properties mavenWrapperProperties = new Properties();
69 | mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
70 | url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
71 | } catch (IOException e) {
72 | System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
73 | } finally {
74 | try {
75 | if (mavenWrapperPropertyFileInputStream != null) {
76 | mavenWrapperPropertyFileInputStream.close();
77 | }
78 | } catch (IOException e) {
79 | // Ignore ...
80 | }
81 | }
82 | }
83 | System.out.println("- Downloading from: : " + url);
84 |
85 | File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
86 | if (!outputFile.getParentFile().exists()) {
87 | if (!outputFile.getParentFile().mkdirs()) {
88 | System.out.println(
89 | "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
90 | }
91 | }
92 | System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
93 | try {
94 | downloadFileFromURL(url, outputFile);
95 | System.out.println("Done");
96 | System.exit(0);
97 | } catch (Throwable e) {
98 | System.out.println("- Error downloading");
99 | e.printStackTrace();
100 | System.exit(1);
101 | }
102 | }
103 |
104 | private static void downloadFileFromURL(String urlString, File destination) throws Exception {
105 | URL website = new URL(urlString);
106 | ReadableByteChannel rbc;
107 | rbc = Channels.newChannel(website.openStream());
108 | FileOutputStream fos = new FileOutputStream(destination);
109 | fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
110 | fos.close();
111 | rbc.close();
112 | }
113 |
114 | }
115 |
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SpringbootMybatis
2 | SpringBoot+Mybatis+Mysql+Html实现的前后端登录交互案例
3 |
--------------------------------------------------------------------------------
/mvnw:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # ----------------------------------------------------------------------------
3 | # Licensed to the Apache Software Foundation (ASF) under one
4 | # or more contributor license agreements. See the NOTICE file
5 | # distributed with this work for additional information
6 | # regarding copyright ownership. The ASF licenses this file
7 | # to you under the Apache License, Version 2.0 (the
8 | # "License"); you may not use this file except in compliance
9 | # with the License. You may obtain a copy of the License at
10 | #
11 | # https://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing,
14 | # software distributed under the License is distributed on an
15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | # KIND, either express or implied. See the License for the
17 | # specific language governing permissions and limitations
18 | # under the License.
19 | # ----------------------------------------------------------------------------
20 |
21 | # ----------------------------------------------------------------------------
22 | # Maven2 Start Up Batch script
23 | #
24 | # Required ENV vars:
25 | # ------------------
26 | # JAVA_HOME - location of a JDK home dir
27 | #
28 | # Optional ENV vars
29 | # -----------------
30 | # M2_HOME - location of maven2's installed home dir
31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven
32 | # e.g. to debug Maven itself, use
33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files
35 | # ----------------------------------------------------------------------------
36 |
37 | if [ -z "$MAVEN_SKIP_RC" ] ; then
38 |
39 | if [ -f /etc/mavenrc ] ; then
40 | . /etc/mavenrc
41 | fi
42 |
43 | if [ -f "$HOME/.mavenrc" ] ; then
44 | . "$HOME/.mavenrc"
45 | fi
46 |
47 | fi
48 |
49 | # OS specific support. $var _must_ be set to either true or false.
50 | cygwin=false;
51 | darwin=false;
52 | mingw=false
53 | case "`uname`" in
54 | CYGWIN*) cygwin=true ;;
55 | MINGW*) mingw=true;;
56 | Darwin*) darwin=true
57 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
58 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
59 | if [ -z "$JAVA_HOME" ]; then
60 | if [ -x "/usr/libexec/java_home" ]; then
61 | export JAVA_HOME="`/usr/libexec/java_home`"
62 | else
63 | export JAVA_HOME="/Library/Java/Home"
64 | fi
65 | fi
66 | ;;
67 | esac
68 |
69 | if [ -z "$JAVA_HOME" ] ; then
70 | if [ -r /etc/gentoo-release ] ; then
71 | JAVA_HOME=`java-config --jre-home`
72 | fi
73 | fi
74 |
75 | if [ -z "$M2_HOME" ] ; then
76 | ## resolve links - $0 may be a link to maven's home
77 | PRG="$0"
78 |
79 | # need this for relative symlinks
80 | while [ -h "$PRG" ] ; do
81 | ls=`ls -ld "$PRG"`
82 | link=`expr "$ls" : '.*-> \(.*\)$'`
83 | if expr "$link" : '/.*' > /dev/null; then
84 | PRG="$link"
85 | else
86 | PRG="`dirname "$PRG"`/$link"
87 | fi
88 | done
89 |
90 | saveddir=`pwd`
91 |
92 | M2_HOME=`dirname "$PRG"`/..
93 |
94 | # make it fully qualified
95 | M2_HOME=`cd "$M2_HOME" && pwd`
96 |
97 | cd "$saveddir"
98 | # echo Using m2 at $M2_HOME
99 | fi
100 |
101 | # For Cygwin, ensure paths are in UNIX format before anything is touched
102 | if $cygwin ; then
103 | [ -n "$M2_HOME" ] &&
104 | M2_HOME=`cygpath --unix "$M2_HOME"`
105 | [ -n "$JAVA_HOME" ] &&
106 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
107 | [ -n "$CLASSPATH" ] &&
108 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
109 | fi
110 |
111 | # For Mingw, ensure paths are in UNIX format before anything is touched
112 | if $mingw ; then
113 | [ -n "$M2_HOME" ] &&
114 | M2_HOME="`(cd "$M2_HOME"; pwd)`"
115 | [ -n "$JAVA_HOME" ] &&
116 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
117 | # TODO classpath?
118 | fi
119 |
120 | if [ -z "$JAVA_HOME" ]; then
121 | javaExecutable="`which javac`"
122 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
123 | # readlink(1) is not available as standard on Solaris 10.
124 | readLink=`which readlink`
125 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
126 | if $darwin ; then
127 | javaHome="`dirname \"$javaExecutable\"`"
128 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
129 | else
130 | javaExecutable="`readlink -f \"$javaExecutable\"`"
131 | fi
132 | javaHome="`dirname \"$javaExecutable\"`"
133 | javaHome=`expr "$javaHome" : '\(.*\)/bin'`
134 | JAVA_HOME="$javaHome"
135 | export JAVA_HOME
136 | fi
137 | fi
138 | fi
139 |
140 | if [ -z "$JAVACMD" ] ; then
141 | if [ -n "$JAVA_HOME" ] ; then
142 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
143 | # IBM's JDK on AIX uses strange locations for the executables
144 | JAVACMD="$JAVA_HOME/jre/sh/java"
145 | else
146 | JAVACMD="$JAVA_HOME/bin/java"
147 | fi
148 | else
149 | JAVACMD="`which java`"
150 | fi
151 | fi
152 |
153 | if [ ! -x "$JAVACMD" ] ; then
154 | echo "Error: JAVA_HOME is not defined correctly." >&2
155 | echo " We cannot execute $JAVACMD" >&2
156 | exit 1
157 | fi
158 |
159 | if [ -z "$JAVA_HOME" ] ; then
160 | echo "Warning: JAVA_HOME environment variable is not set."
161 | fi
162 |
163 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
164 |
165 | # traverses directory structure from process work directory to filesystem root
166 | # first directory with .mvn subdirectory is considered project base directory
167 | find_maven_basedir() {
168 |
169 | if [ -z "$1" ]
170 | then
171 | echo "Path not specified to find_maven_basedir"
172 | return 1
173 | fi
174 |
175 | basedir="$1"
176 | wdir="$1"
177 | while [ "$wdir" != '/' ] ; do
178 | if [ -d "$wdir"/.mvn ] ; then
179 | basedir=$wdir
180 | break
181 | fi
182 | # workaround for JBEAP-8937 (on Solaris 10/Sparc)
183 | if [ -d "${wdir}" ]; then
184 | wdir=`cd "$wdir/.."; pwd`
185 | fi
186 | # end of workaround
187 | done
188 | echo "${basedir}"
189 | }
190 |
191 | # concatenates all lines of a file
192 | concat_lines() {
193 | if [ -f "$1" ]; then
194 | echo "$(tr -s '\n' ' ' < "$1")"
195 | fi
196 | }
197 |
198 | BASE_DIR=`find_maven_basedir "$(pwd)"`
199 | if [ -z "$BASE_DIR" ]; then
200 | exit 1;
201 | fi
202 |
203 | ##########################################################################################
204 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
205 | # This allows using the maven wrapper in projects that prohibit checking in binary data.
206 | ##########################################################################################
207 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
208 | if [ "$MVNW_VERBOSE" = true ]; then
209 | echo "Found .mvn/wrapper/maven-wrapper.jar"
210 | fi
211 | else
212 | if [ "$MVNW_VERBOSE" = true ]; then
213 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
214 | fi
215 | jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
216 | while IFS="=" read key value; do
217 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
218 | esac
219 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
220 | if [ "$MVNW_VERBOSE" = true ]; then
221 | echo "Downloading from: $jarUrl"
222 | fi
223 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
224 |
225 | if command -v wget > /dev/null; then
226 | if [ "$MVNW_VERBOSE" = true ]; then
227 | echo "Found wget ... using wget"
228 | fi
229 | wget "$jarUrl" -O "$wrapperJarPath"
230 | elif command -v curl > /dev/null; then
231 | if [ "$MVNW_VERBOSE" = true ]; then
232 | echo "Found curl ... using curl"
233 | fi
234 | curl -o "$wrapperJarPath" "$jarUrl"
235 | else
236 | if [ "$MVNW_VERBOSE" = true ]; then
237 | echo "Falling back to using Java to download"
238 | fi
239 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
240 | if [ -e "$javaClass" ]; then
241 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
242 | if [ "$MVNW_VERBOSE" = true ]; then
243 | echo " - Compiling MavenWrapperDownloader.java ..."
244 | fi
245 | # Compiling the Java class
246 | ("$JAVA_HOME/bin/javac" "$javaClass")
247 | fi
248 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
249 | # Running the downloader
250 | if [ "$MVNW_VERBOSE" = true ]; then
251 | echo " - Running MavenWrapperDownloader.java ..."
252 | fi
253 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
254 | fi
255 | fi
256 | fi
257 | fi
258 | ##########################################################################################
259 | # End of extension
260 | ##########################################################################################
261 |
262 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
263 | if [ "$MVNW_VERBOSE" = true ]; then
264 | echo $MAVEN_PROJECTBASEDIR
265 | fi
266 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
267 |
268 | # For Cygwin, switch paths to Windows format before running java
269 | if $cygwin; then
270 | [ -n "$M2_HOME" ] &&
271 | M2_HOME=`cygpath --path --windows "$M2_HOME"`
272 | [ -n "$JAVA_HOME" ] &&
273 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
274 | [ -n "$CLASSPATH" ] &&
275 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
276 | [ -n "$MAVEN_PROJECTBASEDIR" ] &&
277 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
278 | fi
279 |
280 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
281 |
282 | exec "$JAVACMD" \
283 | $MAVEN_OPTS \
284 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
285 | "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
286 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
287 |
--------------------------------------------------------------------------------
/mvnw.cmd:
--------------------------------------------------------------------------------
1 | @REM ----------------------------------------------------------------------------
2 | @REM Licensed to the Apache Software Foundation (ASF) under one
3 | @REM or more contributor license agreements. See the NOTICE file
4 | @REM distributed with this work for additional information
5 | @REM regarding copyright ownership. The ASF licenses this file
6 | @REM to you under the Apache License, Version 2.0 (the
7 | @REM "License"); you may not use this file except in compliance
8 | @REM with the License. You may obtain a copy of the License at
9 | @REM
10 | @REM https://www.apache.org/licenses/LICENSE-2.0
11 | @REM
12 | @REM Unless required by applicable law or agreed to in writing,
13 | @REM software distributed under the License is distributed on an
14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | @REM KIND, either express or implied. See the License for the
16 | @REM specific language governing permissions and limitations
17 | @REM under the License.
18 | @REM ----------------------------------------------------------------------------
19 |
20 | @REM ----------------------------------------------------------------------------
21 | @REM Maven2 Start Up Batch script
22 | @REM
23 | @REM Required ENV vars:
24 | @REM JAVA_HOME - location of a JDK home dir
25 | @REM
26 | @REM Optional ENV vars
27 | @REM M2_HOME - location of maven2's installed home dir
28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
31 | @REM e.g. to debug Maven itself, use
32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34 | @REM ----------------------------------------------------------------------------
35 |
36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
37 | @echo off
38 | @REM set title of command window
39 | title %0
40 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
42 |
43 | @REM set %HOME% to equivalent of $HOME
44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
45 |
46 | @REM Execute a user defined script before this one
47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
51 | :skipRcPre
52 |
53 | @setlocal
54 |
55 | set ERROR_CODE=0
56 |
57 | @REM To isolate internal variables from possible post scripts, we use another setlocal
58 | @setlocal
59 |
60 | @REM ==== START VALIDATION ====
61 | if not "%JAVA_HOME%" == "" goto OkJHome
62 |
63 | echo.
64 | echo Error: JAVA_HOME not found in your environment. >&2
65 | echo Please set the JAVA_HOME variable in your environment to match the >&2
66 | echo location of your Java installation. >&2
67 | echo.
68 | goto error
69 |
70 | :OkJHome
71 | if exist "%JAVA_HOME%\bin\java.exe" goto init
72 |
73 | echo.
74 | echo Error: JAVA_HOME is set to an invalid directory. >&2
75 | echo JAVA_HOME = "%JAVA_HOME%" >&2
76 | echo Please set the JAVA_HOME variable in your environment to match the >&2
77 | echo location of your Java installation. >&2
78 | echo.
79 | goto error
80 |
81 | @REM ==== END VALIDATION ====
82 |
83 | :init
84 |
85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
86 | @REM Fallback to current working directory if not found.
87 |
88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
90 |
91 | set EXEC_DIR=%CD%
92 | set WDIR=%EXEC_DIR%
93 | :findBaseDir
94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound
95 | cd ..
96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound
97 | set WDIR=%CD%
98 | goto findBaseDir
99 |
100 | :baseDirFound
101 | set MAVEN_PROJECTBASEDIR=%WDIR%
102 | cd "%EXEC_DIR%"
103 | goto endDetectBaseDir
104 |
105 | :baseDirNotFound
106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
107 | cd "%EXEC_DIR%"
108 |
109 | :endDetectBaseDir
110 |
111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
112 |
113 | @setlocal EnableExtensions EnableDelayedExpansion
114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
116 |
117 | :endReadAdditionalConfig
118 |
119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122 |
123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
124 | FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
125 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
126 | )
127 |
128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130 | if exist %WRAPPER_JAR% (
131 | echo Found %WRAPPER_JAR%
132 | ) else (
133 | echo Couldn't find %WRAPPER_JAR%, downloading it ...
134 | echo Downloading from: %DOWNLOAD_URL%
135 | powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
136 | echo Finished downloading %WRAPPER_JAR%
137 | )
138 | @REM End of extension
139 |
140 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
141 | if ERRORLEVEL 1 goto error
142 | goto end
143 |
144 | :error
145 | set ERROR_CODE=1
146 |
147 | :end
148 | @endlocal & set ERROR_CODE=%ERROR_CODE%
149 |
150 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
151 | @REM check for post script, once with legacy .bat ending and once with .cmd ending
152 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
153 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
154 | :skipRcPost
155 |
156 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
157 | if "%MAVEN_BATCH_PAUSE%" == "on" pause
158 |
159 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
160 |
161 | exit /B %ERROR_CODE%
162 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | org.springframework.boot
7 | spring-boot-starter-parent
8 | 2.1.3.RELEASE
9 |
10 |
11 | com.example
12 | demo
13 | 0.0.1-SNAPSHOT
14 | demo
15 | Demo project for Spring Boot
16 |
17 |
18 | 1.8
19 |
20 |
21 |
22 |
23 | org.springframework.boot
24 | spring-boot-starter-web
25 |
26 |
27 |
28 | org.springframework.boot
29 | spring-boot-starter-test
30 | test
31 |
32 |
33 |
34 | org.mybatis.spring.boot
35 | mybatis-spring-boot-starter
36 | 1.1.1
37 |
38 |
39 | org.springframework.boot
40 | spring-boot-starter-thymeleaf
41 |
42 |
43 | net.sf.json-lib
44 | json-lib
45 | 2.4
46 | jdk15
47 |
48 |
49 | org.apache.struts
50 | struts2-json-plugin
51 | 2.3.7
52 |
53 |
54 |
55 | com.alibaba
56 | fastjson
57 | 1.2.51
58 |
59 |
60 | mysql
61 | mysql-connector-java
62 | runtime
63 |
64 |
65 |
66 | org.springframework.boot
67 | spring-boot-devtools
68 | true
69 |
70 |
71 |
72 |
73 | com.alibaba
74 | druid-spring-boot-starter
75 | 1.1.0
76 |
77 |
78 |
79 |
80 |
81 |
82 | org.springframework.boot
83 | spring-boot-maven-plugin
84 |
85 |
86 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/DemoApplication.java:
--------------------------------------------------------------------------------
1 | package com.example.demo;
2 |
3 | import com.alibaba.druid.pool.DruidDataSource;
4 | import org.mybatis.spring.annotation.MapperScan;
5 | import org.springframework.boot.SpringApplication;
6 | import org.springframework.boot.autoconfigure.SpringBootApplication;
7 | import org.springframework.boot.context.properties.ConfigurationProperties;
8 | import org.springframework.context.annotation.Bean;
9 | import org.springframework.context.annotation.ComponentScan;
10 | import org.springframework.transaction.annotation.EnableTransactionManagement;
11 |
12 | import javax.sql.DataSource;
13 |
14 |
15 | @SpringBootApplication
16 | @EnableTransactionManagement //开启事务管理
17 | @ComponentScan("com.example.demo")
18 | @MapperScan("com.example.demo.mapper")//与dao层的@Mapper二选一写上即可(主要作用是扫包)
19 | public class DemoApplication {
20 |
21 | public static void main(String[] args) {
22 |
23 | SpringApplication.run(DemoApplication.class, args);
24 | }
25 |
26 |
27 | @Bean(destroyMethod = "close", initMethod = "init")
28 | @ConfigurationProperties(prefix = "spring.datasource")
29 | public DataSource druidDataSource() {
30 | DruidDataSource druidDataSource = new DruidDataSource();
31 | return druidDataSource;
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/controller/UserController.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.controller;
2 |
3 | import com.example.demo.entity.User;
4 | import com.example.demo.service.UserService;
5 | import com.example.demo.util.Json;
6 | import com.example.demo.util.Tool;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.stereotype.Controller;
9 | import org.springframework.web.bind.annotation.RequestMapping;
10 | import org.springframework.web.bind.annotation.RequestMethod;
11 | import org.springframework.web.bind.annotation.ResponseBody;
12 | import org.springframework.web.servlet.ModelAndView;
13 |
14 | import javax.servlet.http.HttpServletRequest;
15 | import javax.servlet.http.HttpServletResponse;
16 | import javax.servlet.http.HttpSession;
17 | import java.util.ArrayList;
18 | import java.util.List;
19 |
20 | import static java.lang.System.out;
21 |
22 | @Controller
23 | @RequestMapping(value = "/user")//设置访问改控制类的"别名"
24 | public class UserController {
25 |
26 | @Autowired
27 | private UserService userService;
28 |
29 | /*
30 | **返回标准的Json格式数据其中包括(是否成功、状态码、消息、内容)
31 | * 该方法是由于公司很多童鞋写接口时没有一个标准的定义,天马行空的编写数据接口导致调用时效率极低,因此自己写了一个标准的
32 | * 接口调用方法,仅供大家参考
33 | * @param statu
34 | * @param code
35 | * @param message
36 | * @author lgf
37 | * */
38 | @RequestMapping("/getAllUser")
39 | @ResponseBody
40 | private void getAllUser(HttpServletResponse response)throws Exception {
41 | List users = userService.getAllUser();
42 | if(users.isEmpty()){
43 | Json.toJson(new Tool(false,7000,"没有数据",null),response);
44 | return;
45 | }
46 | List listuser = new ArrayList();
47 | for (User entity : users) {
48 | User user = new User();
49 | user.setId(entity.getId());
50 | user.setName(entity.getName());
51 | user.setAge(entity.getAge());
52 | user.setSex(entity.getSex());
53 | listuser.add(entity);
54 | }
55 | Tool result = new Tool(true,200,"成功",listuser);
56 | Json.toJson(result,response);
57 |
58 | }
59 | @RequestMapping("/find")
60 | @ResponseBody
61 | private User find() {
62 | User users = userService.getAllUserByName("小芳");
63 | return users;
64 | }
65 | @RequestMapping("/checkLogin")
66 | @ResponseBody
67 | private User checkLogin() {
68 | User users = new User();
69 | return users;
70 | }
71 | /*
72 | **登录调用方法跳转登录页面
73 | * @author lgf
74 | * */
75 | @RequestMapping("/login")
76 | private String index() {
77 | return "Login2.html";
78 | }
79 | /*
80 | **登录成功响应方法
81 | * @param message
82 | * @author lgf
83 | * */
84 | @RequestMapping(value="/success",method = {RequestMethod.POST, RequestMethod.GET})
85 | private String ok() {
86 | return "success";
87 | }
88 | /*
89 | **输入账号密码登录校验方法
90 | * @param message
91 | * @author lgf
92 | * */
93 | @RequestMapping(value="/loginPage",method = {RequestMethod.POST, RequestMethod.GET})
94 | private ModelAndView login(HttpServletRequest request, HttpSession session) {
95 | ModelAndView mav=new ModelAndView();
96 | //out.print("ajax进入后台!!");
97 | String name = request.getParameter("username");
98 | String id = request.getParameter("pwd");
99 | User tname = userService.loginPage(name,id);
100 | out.print(tname);
101 | if (tname == null) {
102 | mav.clear();
103 | mav.setViewName("Login2");
104 | return mav;
105 | } else {
106 | session.setAttribute("tname", tname.getName());
107 | out.print(tname.getName());
108 | //验证通过跳转首页
109 | mav.setViewName("homePage");
110 | return mav;
111 | }
112 | }
113 | }
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/entity/User.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.entity;
2 |
3 | public class User {
4 |
5 | private String id;
6 | private String name;
7 | private String sex;
8 | private String age ;
9 | // private String memo;
10 | public String getId() {
11 | return id;
12 | }
13 |
14 | public void setId(String id) {
15 | this.id = id;
16 | }
17 |
18 | public String getName() {
19 | return name;
20 | }
21 |
22 | public void setName(String name) {
23 | this.name = name;
24 | }
25 |
26 | public String getSex() {
27 | return sex;
28 | }
29 |
30 | public void setSex(String sex) {
31 | this.sex = sex;
32 | }
33 |
34 | public String getAge() {
35 | return age;
36 | }
37 |
38 | public void setAge(String age) {
39 | this.age = age;
40 | }
41 |
42 | /* public String getMemo() {
43 | return memo;
44 | }
45 |
46 | public void setMemo(String memo) {
47 | this.memo = memo;
48 | }*/
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/mapper/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.mapper;
2 |
3 | import com.example.demo.entity.User;
4 | import org.apache.ibatis.annotations.Param;
5 | import org.apache.ibatis.annotations.Select;
6 | import org.springframework.stereotype.Repository;
7 |
8 | import java.util.List;
9 |
10 | //@Mapper //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可
11 | @Repository
12 | public interface UserMapper {
13 |
14 | List getAllUser();
15 | @Select("select name,id from user where name=#{name}")
16 | User getAllUserByName(@Param("name") String name);
17 | User loginPage(String name,String id);
18 | }
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/service/UserService.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.service;
2 |
3 | import com.example.demo.entity.User;
4 |
5 | import java.util.List;
6 |
7 | public interface UserService {
8 | List getAllUser();
9 | User getAllUserByName(String name);
10 | User loginPage(String name,String id);
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/service/impl/UserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.service.impl;
2 |
3 | import com.example.demo.entity.User;
4 | import com.example.demo.mapper.UserMapper;
5 | import com.example.demo.service.UserService;
6 | import org.springframework.stereotype.Service;
7 |
8 | import javax.annotation.Resource;
9 | import java.util.List;
10 |
11 | @Service(value = "userService")
12 | public class UserServiceImpl implements UserService {
13 |
14 | @Resource
15 | private UserMapper userMapper;
16 |
17 |
18 | @Override
19 | public List getAllUser() {
20 | return userMapper.getAllUser();
21 | }
22 |
23 | @Override
24 | public User getAllUserByName(String name) {
25 | return userMapper.getAllUserByName(name);
26 | }
27 |
28 | @Override
29 | public User loginPage(String name, String id) {
30 | return userMapper.loginPage(name,id);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/util/Json.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.util;
2 |
3 |
4 | import com.alibaba.fastjson.JSONObject;
5 | import com.alibaba.fastjson.serializer.SerializerFeature;
6 |
7 | import javax.servlet.http.HttpServletResponse;
8 | import java.io.PrintWriter;
9 |
10 | public class Json {
11 | /*
12 | **返回标准的Json格式数据其中包括(是否成功、状态码、消息、内容)
13 | * @param statu
14 | * @param code
15 | * @param message
16 | * @author lgf
17 | * */
18 | public static void toJson(Tool result, HttpServletResponse response)throws Exception{
19 | response.setContentType("text/json");
20 | response.setHeader("Cache-Control","no-cache");
21 | response.setCharacterEncoding("UTF-8");
22 | PrintWriter writer = response.getWriter();
23 |
24 | String json = JSONObject.toJSONString(result,
25 | SerializerFeature.WriteMapNullValue,
26 | SerializerFeature.WriteNullNumberAsZero,
27 | SerializerFeature.WriteNullListAsEmpty,
28 | SerializerFeature.WriteNullStringAsEmpty,
29 | SerializerFeature.WriteNullBooleanAsFalse,
30 | SerializerFeature.DisableCircularReferenceDetect);
31 | writer.write(json);
32 | writer.close();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/example/demo/util/Tool.java:
--------------------------------------------------------------------------------
1 | package com.example.demo.util;
2 |
3 | public class Tool {
4 | private Integer code;//状态码
5 | private Boolean isSuccess;//是否成功/状态
6 |
7 | public Integer getCode() {
8 | return code;
9 | }
10 |
11 | public void setCode(Integer code) {
12 | this.code = code;
13 | }
14 |
15 | public Boolean getSuccess() {
16 | return isSuccess;
17 | }
18 |
19 | public void setSuccess(Boolean success) {
20 | isSuccess = success;
21 | }
22 |
23 | public String getMessage() {
24 | return message;
25 | }
26 |
27 | public void setMessage(String message) {
28 | this.message = message;
29 | }
30 |
31 | public Object getResult() {
32 | return result;
33 | }
34 |
35 | public void setResult(Object result) {
36 | this.result = result;
37 | }
38 |
39 | private String message;//消息
40 | private Object result;//数据对象
41 | /*
42 | * 构造函数*/
43 | public Tool(){
44 | super();
45 | }
46 | /**
47 | *返回标准的Json格式数据其中包括(是否成功、状态码、消息、内容)
48 | * @param statu
49 | * @param code
50 | * @param message
51 | */
52 | public Tool(Boolean success,Integer code,String message,Object result ){
53 | super();
54 | this.isSuccess=success;
55 | this.code=code;
56 | this.message=message;
57 | this.result=result;
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | #服务器端口和项目名称配置
2 | server:
3 | port: 8081
4 | #数据库配置
5 | spring:
6 | datasource:
7 | name: springboot
8 | driver-class-name: com.mysql.cj.jdbc.Driver
9 | url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&userSSL=false&serverTimezone=GMT%2B8
10 | username: user
11 | password: l123456
12 | # 使用druid数据源
13 | type: com.alibaba.druid.pool.DruidDataSource
14 | filters: stat
15 | maxActive: 20
16 | initialSize: 1
17 | maxWait: 60000
18 | minIdle: 1
19 | timeBetweenEvictionRunsMillis: 60000
20 | minEvictableIdleTimeMillis: 300000
21 | validationQuery: select 'x'
22 | testWhileIdle: true
23 | testOnBorrow: false
24 | testOnReturn: false
25 | poolPreparedStatements: true
26 | maxOpenPreparedStatements: 20
27 | # 这里我使用了devtool热部署技术,这样就不需要每次都重启服务!!-->
28 | debug: true
29 | spring:
30 | devtools:
31 | restart:
32 | enabled: true #设置开启热部署
33 | freemarker:
34 | cache: false #页面不加载缓存,修改即时生效
35 | #配置Mapper.xml映射文件
36 | mybatis:
37 | mapper-locations: classpath*:mybatis/mapper/*.xml
--------------------------------------------------------------------------------
/src/main/resources/mybatis/mapper/UserMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
13 |
16 |
--------------------------------------------------------------------------------
/src/main/resources/static/css/layui.css:
--------------------------------------------------------------------------------
1 | /** layui-v2.4.5 MIT License By https://www.layui.com */
2 | .layui-inline,img{display:inline-block;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:400}.layui-edge,.layui-header,.layui-inline,.layui-main{position:relative}.layui-elip,.layui-form-checkbox span,.layui-form-pane .layui-form-label{text-overflow:ellipsis;white-space:nowrap}.layui-btn,.layui-edge,.layui-inline,img{vertical-align:middle}.layui-btn,.layui-disabled,.layui-icon,.layui-unselect{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none}blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{border:none}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:24px;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:1px;margin:10px 0;border:0;clear:both}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-inline{*display:inline;*zoom:1}.layui-edge{display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;overflow:hidden}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-elip{overflow:hidden}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=240);src:url(../font/iconfont.eot?v=240#iefix) format('embedded-opentype'),url(../font/iconfont.svg?v=240#iconfont) format('svg'),url(../font/iconfont.woff?v=240) format('woff'),url(../font/iconfont.ttf?v=240) format('truetype')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-search:before{content:"\e615"}.layui-icon-share:before{content:"\e641"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-engine:before{content:"\e628"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-star:before{content:"\e600"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-chat:before{content:"\e606"}.layui-icon-release:before{content:"\e609"}.layui-icon-list:before{content:"\e60a"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-ok-circle:before{content:"\1005"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-table:before{content:"\e62d"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-edit:before{content:"\e642"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-down:before{content:"\e61a"}.layui-icon-file:before{content:"\e621"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-read:before{content:"\e705"}.layui-icon-404:before{content:"\e61c"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-help:before{content:"\e607"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-username:before{content:"\e66f"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-about:before{content:"\e60b"}.layui-icon-location:before{content:"\e715"}.layui-icon-up:before{content:"\e619"}.layui-icon-pause:before{content:"\e651"}.layui-icon-date:before{content:"\e637"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-delete:before{content:"\e640"}.layui-icon-play:before{content:"\e652"}.layui-icon-top:before{content:"\e604"}.layui-icon-friends:before{content:"\e612"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-ok:before{content:"\e605"}.layui-icon-layer:before{content:"\e638"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-group:before{content:"\e613"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-link:before{content:"\e64c"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-log:before{content:"\e60e"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-return:before{content:"\e65c"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-cart:before{content:"\e657"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fire:before{content:"\e756"}.layui-icon-set:before{content:"\e716"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-tips:before{content:"\e702"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-home:before{content:"\e68e"}.layui-icon-user:before{content:"\e770"}.layui-icon-notice:before{content:"\e667"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-voice:before{content:"\e688"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-template:before{content:"\e663"}.layui-icon-auz:before{content:"\e672"}.layui-icon-console:before{content:"\e665"}.layui-icon-app:before{content:"\e653"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-next:before{content:"\e65b"}.layui-icon-component:before{content:"\e857"}.layui-icon-more:before{content:"\e65f"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-camera:before{content:"\e660"}.layui-icon-note:before{content:"\e66e"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-password:before{content:"\e673"}.layui-icon-senior:before{content:"\e674"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-cols:before{content:"\e610"}.layui-icon-export:before{content:"\e67d"}.layui-icon-print:before{content:"\e66d"}.layui-icon-slider:before{content:"\e714"}.layui-main{width:1140px;margin:0 auto}.layui-header{z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:absolute;left:200px;right:0;top:0;bottom:0;z-index:998;width:auto;overflow:hidden;box-sizing:border-box}.layui-layout-body{overflow:hidden}.layui-layout-admin .layui-header{background-color:#23262E}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{top:60px;bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;height:44px;line-height:44px;padding:0 15px;background-color:#eee}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#009688;font-size:16px}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:'';display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:768px){.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:750px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:970px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1170px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space3{margin:-1.5px}.layui-col-space3>*{padding:1.5px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space8{margin:-3.5px}.layui-col-space8>*{padding:3.5px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:22px;border-left:5px solid #009688;border-radius:0 2px 2px 0;background-color:#f2f2f2}.layui-quote-nm{border-style:solid;border-width:1px 1px 1px 5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:10px 15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#e2e2e2}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#5FB878;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#666}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#f2f2f2;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:22px;color:#666}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #E6E6E6;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999}.layui-form-label,.layui-form-mid,.layui-form-select,.layui-input-block,.layui-input-inline,.layui-textarea{position:relative}.layui-bg-red{background-color:#FF5722!important}.layui-bg-orange{background-color:#FFB800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2F4056!important}.layui-bg-blue{background-color:#1E9FFF!important}.layui-bg-black{background-color:#393D49!important}.layui-bg-gray{background-color:#eee!important;color:#666!important}.layui-badge-rim,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#e6e6e6}.layui-timeline-item:before,hr{background-color:#e6e6e6}.layui-text{line-height:22px;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01AAED}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em,.layui-word-aux{color:#999!important;padding:0 5px!important}.layui-btn{display:inline-block;height:38px;line-height:38px;padding:0 18px;background-color:#009688;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border:none;border-radius:2px;cursor:pointer}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{margin-right:3px;font-size:18px;vertical-align:bottom;vertical-align:middle\9}.layui-btn-primary{border:1px solid #C9C9C9;background-color:#fff;color:#555}.layui-btn-primary:hover{border-color:#009688;color:#333}.layui-btn-normal{background-color:#1E9FFF}.layui-btn-warm{background-color:#FFB800}.layui-btn-danger{background-color:#FF5722}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border:1px solid #e6e6e6;background-color:#FBFBFB;color:#C9C9C9;cursor:not-allowed;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-sm i{font-size:16px!important}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:14px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#C9C9C9;color:#009688}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #c9c9c9}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#D2D2D2!important}.layui-input:focus,.layui-textarea:focus{border-color:#C9C9C9!important}.layui-textarea{min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#FF5722!important}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f2f2f2;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#5FB878;color:#fff}.layui-form-checkbox,.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg);margin-top:-3px\9}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;top:0;width:30px;height:28px;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#5FB878}.layui-form-checked span,.layui-form-checked:hover span{background-color:#5FB878}.layui-form-checked i,.layui-form-checked:hover i{color:#5FB878}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#5FB878;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#5FB878;background-color:#5FB878;color:#fff}.layui-checkbox-disbaled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2}.layui-checkbox-disbaled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#5FB878;background-color:#5FB878}.layui-checkbox-disbaled,.layui-checkbox-disbaled i{border-color:#e2e2e2!important}.layui-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch em{margin-left:5px;margin-right:21px;color:#fff!important}.layui-checkbox-disbaled span{background-color:#e2e2e2!important}.layui-checkbox-disbaled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio>i:hover,.layui-form-radioed>i{color:#5FB878}.layui-radio-disbaled>i{color:#e2e2e2!important}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#FBFBFB;overflow:hidden;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0 1px 0 0}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-layedit{border-width:1px;border-style:solid;border-radius:2px}.layui-layedit-tool{padding:3px 5px;border-bottom-width:1px;border-bottom-style:solid;font-size:0}.layedit-tool-fixed{position:fixed;top:0;border-top:1px solid #e2e2e2}.layui-layedit-tool .layedit-tool-mid,.layui-layedit-tool .layui-icon{display:inline-block;vertical-align:middle;text-align:center;font-size:14px}.layui-layedit-tool .layui-icon{position:relative;width:32px;height:30px;line-height:30px;margin:3px 5px;color:#777;cursor:pointer;border-radius:2px}.layui-layedit-tool .layui-icon:hover{color:#393D49}.layui-layedit-tool .layui-icon:active{color:#000}.layui-layedit-tool .layedit-tool-active{background-color:#e2e2e2;color:#000}.layui-layedit-tool .layui-disabled,.layui-layedit-tool .layui-disabled:hover{color:#d2d2d2;cursor:not-allowed}.layui-layedit-tool .layedit-tool-mid{width:1px;height:18px;margin:0 10px;background-color:#d2d2d2}.layedit-tool-html{width:50px!important;font-size:30px!important}.layedit-tool-b,.layedit-tool-code,.layedit-tool-help{font-size:16px!important}.layedit-tool-d,.layedit-tool-face,.layedit-tool-image,.layedit-tool-unlink{font-size:18px!important}.layedit-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-layedit-iframe iframe{display:block;width:100%}#LAY_layedit_code{overflow:hidden}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #e2e2e2}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-flow-more a *,.layui-laypage input,.layui-table-view select[lay-ignore]{display:inline-block}.layui-laypage a:hover{color:#009688}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#009688}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#009688!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-table,.layui-table-view{margin:10px 0}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;background-color:#fff;color:#666}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:400}.layui-table tbody tr:hover,.layui-table thead tr,.layui-table-click,.layui-table-header,.layui-table-hover,.layui-table-mend,.layui-table-patch,.layui-table-tool,.layui-table-total,.layui-table-total tr,.layui-table[lay-even] tr:nth-child(even){background-color:#f2f2f2}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#e6e6e6}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding:15px 30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:40px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:20px;line-height:20px}.layui-table[lay-data]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;width:auto;margin:0}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border-width:0 0 1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:5px 0;border-top:none;border-left:none}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:110}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0 0 1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;padding:5px 0;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-cell,.layui-table-tool-panel li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-table-tool-panel li{padding:0 10px;line-height:30px;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%;padding-left:28px}.layui-table-tool-panel li:hover{background-color:#f2f2f2}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0 0 0 1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:28px;line-height:28px;padding:0 15px;position:relative;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01AAED}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{padding:0;text-align:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:0 -1px 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0 0 0 1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px}.layui-table-tool{position:relative;z-index:890;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-page,.layui-table-total{border-width:1px 0 0;margin-bottom:-1px;overflow:hidden}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;height:41px;font-size:12px;white-space:nowrap}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-7px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;width:100%;height:100%;padding:0 14px 1px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15)}.layui-table-edit:focus{border-color:#5FB878!important}select.layui-table-edit{padding:0 0 0 10px;border-color:#C9C9C9}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:26px;height:100%;padding:5px 0;border-width:0 0 0 1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.layui-table-grid-down:hover{background-color:#fbfbfb}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-44px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#666}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#666;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-list{margin:10px 0}.layui-upload-choose{padding:0 10px;color:#999}.layui-upload-drag{position:relative;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#009688}.layui-upload-drag[lay-over]{border-color:#009688}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-tree{line-height:26px}.layui-tree li{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-tree li .layui-tree-spread,.layui-tree li a{display:inline-block;vertical-align:top;height:26px;*display:inline;*zoom:1;cursor:pointer}.layui-tree li a{font-size:0}.layui-tree li a i{font-size:16px}.layui-tree li a cite{padding:0 6px;font-size:14px;font-style:normal}.layui-tree li i{padding-left:6px;color:#333;-moz-user-select:none}.layui-tree li .layui-tree-check{font-size:13px}.layui-tree li .layui-tree-check:hover{color:#009E94}.layui-tree li ul{display:none;margin-left:20px}.layui-tree li .layui-tree-enter{line-height:24px;border:1px dotted #000}.layui-tree-drag{display:none;position:absolute;left:-666px;top:-666px;background-color:#f2f2f2;padding:5px 10px;border:1px dotted #000;white-space:nowrap}.layui-tree-drag i{padding-right:5px}.layui-nav{position:relative;padding:0 20px;background-color:#393D49;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar,.layui-nav-tree .layui-nav-itemed:after{position:absolute;left:0;top:0;width:0;height:5px;background-color:#5FB878;transition:all .2s;-webkit-transition:all .2s}.layui-nav-bar{z-index:1000}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff}.layui-nav .layui-this:after{content:'';top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{content:'';width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;cursor:pointer;transition:all .2s;-webkit-transition:all .2s;position:absolute;top:50%;right:3px;margin-top:-3px;border-width:6px;border-top-color:rgba(255,255,255,.7)}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{margin-top:-9px;border-style:dashed dashed solid;border-color:transparent transparent #fff}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#333}.layui-nav .layui-nav-child a:hover{background-color:#f2f2f2;color:#000}.layui-nav-child dd{position:relative}.layui-nav .layui-nav-child dd.layui-this a,.layui-nav-child dd.layui-this{background-color:#5FB878;color:#fff}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:45px}.layui-nav-tree .layui-nav-item a{position:relative;height:45px;line-height:45px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item a:hover{background-color:#4E5465}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#009688;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child a{height:40px;line-height:40px;color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-more{right:10px}.layui-nav-itemed>.layui-nav-child{display:block;padding:0;background-color:rgba(0,0,0,.3)!important}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-bg-blue .layui-nav-bar,.layui-bg-blue .layui-nav-itemed:after,.layui-bg-blue .layui-this:after{background-color:#93D1FF}.layui-bg-blue .layui-nav-child dd.layui-this{background-color:#1E9FFF}.layui-bg-blue .layui-nav-itemed>a,.layui-nav-tree.layui-bg-blue .layui-nav-title a,.layui-nav-tree.layui-bg-blue .layui-nav-title a:hover{background-color:#007DDB!important}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#5FB878!important}.layui-breadcrumb a cite{color:#666;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer}.layui-tab-title li a{display:block}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:'';width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#e2e2e2;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\9;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:10px}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#FF5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#009688}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #5FB878}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#f2f2f2}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#5FB878}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#5FB878;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#FF5722}.layui-timeline-item:before{content:'';position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:last-child:before{display:none}.layui-timeline-item:first-child:before{display:block}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#FF5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#666}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-8px 6px 0}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\9;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\9;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#e2e2e2;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:15px;bottom:15px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9F9F9F;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #D9D9D9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{position:relative;margin:10px 0;padding:15px;line-height:20px;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New;font-size:12px}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:10px 5px 10px 0;font-size:0}.layui-rate li i.layui-icon{font-size:20px;color:#FFB800;margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:26px;height:26px;border:1px solid #e6e6e6;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:34px;height:34px;line-height:32px}.layui-colorpicker.layui-colorpicker-sm{width:24px;height:24px;line-height:22px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:20px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#FFF;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;z-index:66666666;width:280px;padding:7px;background:#FFF;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#FFF,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #FFF;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#FF0,#0F0,#0FF,#00F,#F0F,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#666}.layui-slider{height:4px;background:#e2e2e2;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#FFF;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#FFF;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:66666666;white-space:nowrap;display:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#FFF;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:'';position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #e6e6e6;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-15px}.layui-slider-input-btn{display:none;position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #d2d2d2}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #d2d2d2}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none}.layui-slider-input-btn i:hover{color:#009688}.layui-slider-vertical{width:4px;margin-left:34px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .3s;-webkit-transition:all .3s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,30px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,30px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout}
--------------------------------------------------------------------------------
/src/main/resources/static/css/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 | 用户登录系统
8 |
59 |
60 |
61 |
62 |
77 |
80 |
81 |
141 |
142 |
143 |
144 |
145 |
146 |
--------------------------------------------------------------------------------
/src/main/resources/static/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | 内容1
40 |
41 |
42 | 内容2
43 |
44 |
45 | 内容3
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
亏损信息
58 |
59 |
60 | -
61 |
62 |
63 |
%
64 |
亏损率
65 |
66 |
67 | -
68 |
69 |
70 |
亿元
71 |
购买数
72 |
73 |
74 | -
75 |
76 |
77 |
亿元
78 |
中奖数
79 |
80 |
81 |
82 |
83 |
84 |
85 |
亏损数
86 |
87 |
88 | -
89 |
90 |
91 |
数
92 |
异常
93 |
94 |
95 | -
96 |
97 |
98 |
数
99 |
正常
100 |
101 |
102 |
103 |
104 |
105 |
106 |
全省亏损数
107 |
108 |
109 | -
110 |
111 |
112 |
数
113 |
异常
114 |
115 |
116 | -
117 |
118 |
119 |
数
120 |
正常
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 | 内容2
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 | 工单类型 |
141 | 总数 |
142 | 未处理 |
143 | 处理率 |
144 |
145 |
146 |
147 | |
148 |
149 |
150 |
151 |
152 | 内容2
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 | 内容1
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
268 |
--------------------------------------------------------------------------------
/src/main/resources/static/images/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/12.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/enter1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/enter1.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/login.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/login.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/images/name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/name.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/pwd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LuoGF/SpringbootMybatis/a35bc36cfec68d05d6c4bf19c26ad964034b168f/src/main/resources/static/images/pwd.png
--------------------------------------------------------------------------------
/src/main/resources/static/js/demo.js:
--------------------------------------------------------------------------------
1 | //地图中的相关信息
2 | var leishan = {
3 | "type": "FeatureCollection",
4 | "features": [
5 | { "type": "Feature", "properties": { "name": "汉东省" }, "cp": [108.081657, 26.386535], "geometry": { "type": "Polygon", "coordinates": [
6 | [
7 | [107.95921325683592, 26.468421692495475],
8 | [107.96504974365234, 26.45689602619487],
9 | [107.96934127807617, 26.45597392303744],
10 | [107.97105789184569, 26.455359183496455],
11 | [107.97277450561523, 26.45628129157713],
12 | [107.9732894897461, 26.457203392272916],
13 | [107.97431945800781, 26.4575107575304],
14 | [107.97569274902342, 26.458586529469574],
15 | [107.97603607177734, 26.460430686549703],
16 | [107.9765510559082, 26.464579931962085],
17 | [107.97706604003906, 26.468882695141307],
18 | [107.9817008972168, 26.472877974040784],
19 | [107.98582077026367, 26.47164867223187],
20 | [107.99131393432617, 26.461660108190568],
21 | [107.99509048461913, 26.461045399011418],
22 | [107.99989700317383, 26.476873114207926],
23 | [108.00127029418945, 26.47748773884226],
24 | [108.00195693969725, 26.47748773884226],
25 | [108.00264358520506, 26.4771804269356],
26 | [108.00333023071289, 26.476412143577075],
27 | [108.0040168762207, 26.47610482879695],
28 | [108.00504684448242, 26.476412143577075],
29 | [108.00624847412108, 26.476565800659287],
30 | [108.00745010375977, 26.476412143577075],
31 | [108.00968170166016, 26.483787451991393],
32 | [108.00830841064453, 26.488550420644028],
33 | [108.00796508789062, 26.489933181040094],
34 | [108.00762176513672, 26.491162287430537],
35 | [108.00727844238281, 26.492084108599812],
36 | [108.00693511962889, 26.493466826493897],
37 | [108.00779342651367, 26.49653947337672],
38 | [108.01071166992188, 26.50130191371093],
39 | [108.00865173339844, 26.504681590342642],
40 | [108.00830841064453, 26.507139474543607],
41 | [108.00933837890625, 26.509290080083385],
42 | [108.01105499267578, 26.510211755846658],
43 | [108.01311492919922, 26.510826202246957],
44 | [108.01345825195311, 26.513283954978828],
45 | [108.01586151123047, 26.513898384944184],
46 | [108.01826477050781, 26.513898384944184],
47 | [108.01963806152344, 26.512976738763484],
48 | [108.02135467529295, 26.510826202246957],
49 | [108.0230712890625, 26.512362303867505],
50 | [108.02547454833984, 26.512976738763484],
51 | [108.0282211303711, 26.513283954978828],
52 | [108.03010940551758, 26.513898384944184],
53 | [108.03199768066406, 26.514512811622374],
54 | [108.03268432617188, 26.514512811622374],
55 | [108.0340576171875, 26.514051991921896],
56 | [108.03543090820312, 26.513283954978828],
57 | [108.03611755371094, 26.51220869462992],
58 | [108.0366325378418, 26.51128703489018],
59 | [108.0369758605957, 26.510518979457657],
60 | [108.03731918334961, 26.509597306159495],
61 | [108.03903579711914, 26.508982853185575],
62 | [108.04040908813477, 26.508061167562076],
63 | [108.04161071777344, 26.5076003219772],
64 | [108.04229736328125, 26.506985858321602],
65 | [108.04298400878906, 26.505910539016046],
66 | [108.04435729980469, 26.505910539016046],
67 | [108.04504394531249, 26.50637139137945],
68 | [108.04624557495117, 26.506217774130377],
69 | [108.04693222045898, 26.505756921150788],
70 | [108.04847717285156, 26.504835209645716],
71 | [108.04967880249022, 26.503759870210864],
72 | [108.05036544799805, 26.502684520711796],
73 | [108.0501937866211, 26.501609161148814],
74 | [108.0508804321289, 26.500687416370663],
75 | [108.05122375488281, 26.499765664198993],
76 | [108.05105209350586, 26.49853664980271],
77 | [108.05105209350586, 26.49715399289655],
78 | [108.05122375488281, 26.49607858158065],
79 | [108.05122375488281, 26.494849527755743],
80 | [108.05122375488281, 26.493927728762568],
81 | [108.05070877075195, 26.492852287260966],
82 | [108.05002212524414, 26.492084108599812],
83 | [108.0501937866211, 26.491008649850368],
84 | [108.05328369140624, 26.489164982873184],
85 | [108.0556869506836, 26.48885770216924],
86 | [108.05671691894531, 26.487628571141023],
87 | [108.05791854858398, 26.48716764361786],
88 | [108.05912017822266, 26.487321286330882],
89 | [108.06083679199217, 26.487628571141023],
90 | [108.0618667602539, 26.487628571141023],
91 | [108.06255340576172, 26.486860357575928],
92 | [108.06358337402344, 26.485784849962197],
93 | [108.06444168090819, 26.485016624079222],
94 | [108.06564331054688, 26.484248393063975],
95 | [108.0673599243164, 26.483787451991393],
96 | [108.06838989257811, 26.482711915637104],
97 | [108.06976318359375, 26.482404617688346],
98 | [108.07130813598633, 26.482404617688346],
99 | [108.072509765625, 26.48148271891547],
100 | [108.07371139526367, 26.480714464293104],
101 | [108.07456970214844, 26.480253509056467],
102 | [108.07594299316405, 26.480253509056467],
103 | [108.07748794555664, 26.47871697825887],
104 | [108.07697296142577, 26.476873114207926],
105 | [108.07783126831055, 26.47579751319586],
106 | [108.07886123657227, 26.475029220601435],
107 | [108.07954788208008, 26.473953602349287],
108 | [108.08092117309569, 26.47333895883294],
109 | [108.08212280273438, 26.472570649819907],
110 | [108.08332443237305, 26.471955998915437],
111 | [108.0845260620117, 26.471955998915437],
112 | [108.08572769165039, 26.472263324778115],
113 | [108.08727264404297, 26.471955998915437],
114 | [108.0889892578125, 26.472416987401616],
115 | [108.08916091918945, 26.47333895883294],
116 | [108.09087753295898, 26.473799941778033],
117 | [108.09139251708983, 26.47472190212698],
118 | [108.0919075012207, 26.475490196773805],
119 | [108.09207916259764, 26.47748773884226],
120 | [108.09225082397461, 26.478870632262304],
121 | [108.09276580810547, 26.479638899200566],
122 | [108.0919075012207, 26.48148271891547],
123 | [108.09104919433594, 26.48332650907124],
124 | [108.09122085571289, 26.48455568608595],
125 | [108.09242248535155, 26.48563120519619],
126 | [108.09276580810547, 26.486399426973275],
127 | [108.09362411499023, 26.48701400069955],
128 | [108.09431076049805, 26.487474928838598],
129 | [108.0948257446289, 26.488704061509303],
130 | [108.09534072875975, 26.489472262755907],
131 | [108.09637069702147, 26.490547735877893],
132 | [108.09843063354492, 26.48962590238929],
133 | [108.09963226318358, 26.489318622917214],
134 | [108.10057640075684, 26.489318622917214],
135 | [108.10160636901854, 26.48939544286222],
136 | [108.10212135314941, 26.48939544286222],
137 | [108.10315132141113, 26.489472262755907],
138 | [108.10366630554199, 26.489933181040094],
139 | [108.10418128967285, 26.490394097476404],
140 | [108.10478210449219, 26.490624555001606],
141 | [108.10529708862305, 26.490624555001606],
142 | [108.1058120727539, 26.491085468666128],
143 | [108.10641288757324, 26.491085468666128],
144 | [108.10709953308105, 26.490931830983264],
145 | [108.10830116271973, 26.490931830983264],
146 | [108.10898780822754, 26.490547735877893],
147 | [108.10950279235838, 26.49047091670281],
148 | [108.10976028442383, 26.490086820057517],
149 | [108.1101894378662, 26.48970272212896],
150 | [108.11044692993164, 26.48939544286222],
151 | [108.11079025268555, 26.48924180292086],
152 | [108.11121940612793, 26.48924180292086],
153 | [108.11190605163574, 26.48939544286222],
154 | [108.1124210357666, 26.489164982873184],
155 | [108.11293601989746, 26.48901134262387],
156 | [108.1134510040283, 26.488780881864933],
157 | [108.11362266540527, 26.489164982873184],
158 | [108.11396598815918, 26.489472262755907],
159 | [108.1149959564209, 26.48939544286222],
160 | [108.11559677124023, 26.48924180292086],
161 | [108.11628341674805, 26.48885770216924],
162 | [108.11722755432129, 26.48847360013441],
163 | [108.11808586120605, 26.488166317582667],
164 | [108.11954498291016, 26.487859034209677],
165 | [108.12040328979492, 26.487628571141023],
166 | [108.12057495117188, 26.48716764361786],
167 | [108.12143325805664, 26.487321286330882],
168 | [108.1222915649414, 26.487782213238116],
169 | [108.12237739562988, 26.488319958961206],
170 | [108.1208324432373, 26.488934522422227],
171 | [108.12091827392578, 26.48962590238929],
172 | [108.12108993530273, 26.490163639489236],
173 | [108.12143325805664, 26.490547735877893],
174 | [108.1219482421875, 26.491008649850368],
175 | [108.12211990356445, 26.491392743415844],
176 | [108.12246322631836, 26.49185365400047],
177 | [108.12289237976074, 26.49231456273714],
178 | [108.12323570251465, 26.4926986519394],
179 | [108.1248664855957, 26.493927728762568],
180 | [108.12623977661133, 26.493620460788808],
181 | [108.12761306762694, 26.494234995915008],
182 | [108.12898635864258, 26.4953104244802],
183 | [108.13018798828125, 26.496232212384687],
184 | [108.13121795654295, 26.497000363324634],
185 | [108.1325912475586, 26.49776850913066],
186 | [108.1329345703125, 26.498690277321028],
187 | [108.13396453857422, 26.499765664198993],
188 | [108.13482284545897, 26.500072915744372],
189 | [108.13602447509766, 26.500380166468254],
190 | [108.13739776611328, 26.50237727614931],
191 | [108.13756942749023, 26.503606249470028],
192 | [108.13516616821288, 26.505756921150788],
193 | [108.13482284545897, 26.506832241894184],
194 | [108.13396453857422, 26.508061167562076],
195 | [108.13413619995117, 26.509290080083385],
196 | [108.13447952270506, 26.510058143733012],
197 | [108.1358528137207, 26.511440645360395],
198 | [108.13705444335938, 26.512669521726384],
199 | [108.13756942749023, 26.513591170372397],
200 | [108.13756942749023, 26.514820023728774],
201 | [108.13756942749023, 26.5158952596294],
202 | [108.13688278198242, 26.51681688238852],
203 | [108.13619613647461, 26.517738497750972],
204 | [108.13533782958984, 26.518660105716574],
205 | [108.13533782958984, 26.519581706285194],
206 | [108.13653945922852, 26.522192867724723],
207 | [108.13739776611328, 26.52326803458581],
208 | [108.13688278198242, 26.524650377182763],
209 | [108.13619613647461, 26.525571929666384],
210 | [108.13671112060547, 26.52633988441789],
211 | [108.13636779785156, 26.52772219002311],
212 | [108.13550949096678, 26.528490130388352],
213 | [108.13533782958984, 26.530025995704296],
214 | [108.13508033752441, 26.531408256915512],
215 | [108.13508033752441, 26.532022589887564],
216 | [108.13559532165527, 26.53263691957087],
217 | [108.13576698303223, 26.533097664675125],
218 | [108.13593864440918, 26.53371198860308],
219 | [108.13611030578613, 26.53409593938793],
220 | [108.13662528991699, 26.53486383710344],
221 | [108.13705444335938, 26.535017416029856],
222 | [108.13756942749023, 26.534710257971458],
223 | [108.13859939575195, 26.53394235922815],
224 | [108.1395435333252, 26.53348161751551],
225 | [108.14048767089844, 26.53355840792942],
226 | [108.14151763916016, 26.533788778862824],
227 | [108.14229011535645, 26.5338655690712],
228 | [108.14289093017578, 26.533635198291936],
229 | [108.14349174499512, 26.53424951934215],
230 | [108.14400672912598, 26.534940626592345],
231 | [108.14452171325684, 26.535324573266013],
232 | [108.14512252807617, 26.53555494065353],
233 | [108.14555168151855, 26.53570851865494],
234 | [108.14623832702637, 26.536015674041032],
235 | [108.1468391418457, 26.536937135265685],
236 | [108.14701080322264, 26.537781801553756],
237 | [108.14692497253418, 26.538396100402778],
238 | [108.14692497253418, 26.538933609197446],
239 | [108.14735412597656, 26.539163969338542],
240 | [108.14795494079588, 26.53924075594943],
241 | [108.14838409423828, 26.53924075594943],
242 | [108.14838409423828, 26.538933609197446],
243 | [108.14846992492676, 26.538549674601082],
244 | [108.14829826354979, 26.53785858908975],
245 | [108.14812660217285, 26.53747465089577],
246 | [108.14829826354979, 26.537013923367006],
247 | [108.14881324768066, 26.537013923367006],
248 | [108.14915657043457, 26.537551438637358],
249 | [108.14949989318848, 26.53793537657437],
250 | [108.14992904663085, 26.539010395962553],
251 | [108.15061569213866, 26.539163969338542],
252 | [108.15173149108887, 26.540162191271314],
253 | [108.15250396728516, 26.540622906156816],
254 | [108.15301895141602, 26.541083619191998],
255 | [108.1534481048584, 26.5416979003606],
256 | [108.15422058105467, 26.542005039711302],
257 | [108.15482139587402, 26.542312178239644],
258 | [108.15516471862793, 26.542542531596183],
259 | [108.15585136413573, 26.542926452829075],
260 | [108.15645217895508, 26.543387156612305],
261 | [108.15679550170898, 26.54346394039629],
262 | [108.15765380859375, 26.54392464202066],
263 | [108.15825462341309, 26.544308558627424],
264 | [108.15885543823241, 26.54453890797463],
265 | [108.15945625305176, 26.545383518289697],
266 | [108.16031455993652, 26.546074558466575],
267 | [108.16065788269043, 26.54630490426693],
268 | [108.16125869750977, 26.54630490426693],
269 | [108.16177368164061, 26.546458467876786],
270 | [108.16237449645996, 26.54699593889201],
271 | [108.16280364990233, 26.547610188396487],
272 | [108.16323280334473, 26.548070873365717],
273 | [108.16357612609863, 26.548608336824095],
274 | [108.16426277160645, 26.548070873365717],
275 | [108.16529273986816, 26.54722628284174],
276 | [108.16615104675293, 26.546535249604606],
277 | [108.16632270812988, 26.546074558466575],
278 | [108.16640853881835, 26.5455370831333],
279 | [108.16640853881835, 26.544846039717957],
280 | [108.16640853881835, 26.544462124910293],
281 | [108.16692352294922, 26.544308558627424],
282 | [108.1673526763916, 26.543771075018142],
283 | [108.1676959991455, 26.54354072412885],
284 | [108.16812515258789, 26.542926452829075],
285 | [108.1688117980957, 26.542926452829075],
286 | [108.16924095153809, 26.54269610024353],
287 | [108.17001342773436, 26.5424657471954],
288 | [108.17052841186523, 26.5420818244205],
289 | [108.17121505737305, 26.54185147013875],
290 | [108.17155838012695, 26.541621115394417],
291 | [108.17241668701172, 26.541083619191998],
292 | [108.17276000976562, 26.540238977214056],
293 | [108.17318916320801, 26.540238977214056],
294 | [108.17396163940428, 26.540469334733917],
295 | [108.17430496215819, 26.540930048385846],
296 | [108.17499160766602, 26.541083619191998],
297 | [108.1757640838623, 26.541083619191998],
298 | [108.17619323730469, 26.541313975015708],
299 | [108.17679405212402, 26.54185147013875],
300 | [108.17705154418945, 26.542312178239644],
301 | [108.17730903625488, 26.542772884490116],
302 | [108.1775665283203, 26.54346394039629],
303 | [108.17816734313965, 26.544001425444808],
304 | [108.17876815795898, 26.544615690987573],
305 | [108.17893981933594, 26.5452299532405],
306 | [108.17928314208984, 26.545920994342666],
307 | [108.17996978759766, 26.546688812906023],
308 | [108.17996978759766, 26.547072720259994],
309 | [108.17996978759766, 26.548147654014002],
310 | [108.17971229553223, 26.548761897349525],
311 | [108.17893981933594, 26.548915457669338],
312 | [108.17851066589355, 26.548992237752124],
313 | [108.17773818969727, 26.550374270451247],
314 | [108.17760944366455, 26.55079655489801],
315 | [108.17550659179688, 26.552101787900938],
316 | [108.1752061843872, 26.55233212159437],
317 | [108.17477703094482, 26.553061508570867],
318 | [108.17447662353516, 26.55352217163895],
319 | [108.17421913146973, 26.55390605611509],
320 | [108.17383289337158, 26.554443492222223],
321 | [108.17344665527344, 26.554980925809954],
322 | [108.17301750183105, 26.555403193289983],
323 | [108.17276000976562, 26.55559513253945],
324 | [108.17254543304443, 26.555748683707666],
325 | [108.1737470626831, 26.556554823966394],
326 | [108.17584991455078, 26.557783217269225],
327 | [108.17675113677979, 26.558167087476786],
328 | [108.17735195159912, 26.558359022098497],
329 | [108.17769527435303, 26.55855095639882],
330 | [108.17808151245117, 26.55881966387933],
331 | [108.17838191986084, 26.559126757371423],
332 | [108.17889690399169, 26.559241917218845],
333 | [108.17941188812256, 26.559510623079564],
334 | [108.17966938018799, 26.559779328310334],
335 | [108.18018436431883, 26.559779328310334],
336 | [108.18112850189209, 26.559740941887345],
337 | [108.1818151473999, 26.55966416900284],
338 | [108.18211555480957, 26.559894487502103],
339 | [108.18233013153076, 26.560163191832952],
340 | [108.18267345428467, 26.560316736882033],
341 | [108.18318843841551, 26.560585440222965],
342 | [108.18374633789062, 26.56073898470639],
343 | [108.184175491333, 26.560930915021398],
344 | [108.18511962890624, 26.561161230975124],
345 | [108.18580627441405, 26.561314774687176],
346 | [108.18623542785645, 26.56139154646604],
347 | [108.18666458129883, 26.56154508986953],
348 | [108.1874370574951, 26.56173701883461],
349 | [108.18919658660889, 26.562274418226924],
350 | [108.18992614746094, 26.562543116978084],
351 | [108.19039821624754, 26.562735044271797],
352 | [108.19048404693604, 26.56296535659997],
353 | [108.19052696228027, 26.563234053731186],
354 | [108.19065570831299, 26.563464365056518],
355 | [108.19074153900145, 26.56377144610361],
356 | [108.1907844543457, 26.56415529625533],
357 | [108.19074153900145, 26.56446237545098],
358 | [108.19074153900145, 26.56496137738887],
359 | [108.19069862365723, 26.565230069839988],
360 | [108.19069862365723, 26.5654603771538],
361 | [108.19069862365723, 26.565767452852164],
362 | [108.19069862365723, 26.565997759085914],
363 | [108.19082736968994, 26.566266449106912],
364 | [108.19108486175536, 26.566458370164725],
365 | [108.19125652313232, 26.566688675009818],
366 | [108.19142818450928, 26.56703413140948],
367 | [108.1916856765747, 26.567149283311267],
368 | [108.19194316864014, 26.567110899356845],
369 | [108.1923723220825, 26.56703413140948],
370 | [108.19271564483641, 26.56699574741651],
371 | [108.19297313690186, 26.566880595360427],
372 | [108.19335937499999, 26.56684221131601],
373 | [108.19361686706543, 26.56672705910566],
374 | [108.1939172744751, 26.566688675009818],
375 | [108.19421768188477, 26.566611906779535],
376 | [108.19451808929443, 26.566535138497855],
377 | [108.19511890411377, 26.566381601780172],
378 | [108.19576263427734, 26.566419985978886],
379 | [108.19640636444092, 26.566343217568612],
380 | [108.196964263916, 26.566343217568612],
381 | [108.1973934173584, 26.566266449106912],
382 | [108.19799423217773, 26.566228064856773],
383 | [108.19838047027588, 26.566189680593762],
384 | [108.19880962371826, 26.566036143413196],
385 | [108.1994104385376, 26.56592099039277],
386 | [108.20001125335693, 26.566036143413196],
387 | [108.20091247558592, 26.566151296317926],
388 | [108.20138454437256, 26.566266449106912],
389 | [108.20164203643799, 26.566381601780172],
390 | [108.20194244384766, 26.5666502909011],
391 | [108.20211410522461, 26.56684221131601],
392 | [108.20241451263428, 26.56718766725279],
393 | [108.20284366607666, 26.567149283311267],
394 | [108.20348739624023, 26.56699574741651],
395 | [108.20503234863281, 26.56657352264512],
396 | [108.20554733276366, 26.566189680593762],
397 | [108.20687770843506, 26.565498761661104],
398 | [108.20777893066406, 26.564999762063316],
399 | [108.20825099945068, 26.5646542995304],
400 | [108.2085084915161, 26.564347220849054],
401 | [108.20910930633545, 26.563310824224395],
402 | [108.20906639099121, 26.560930915021398],
403 | [108.21146965026854, 26.55881966387933],
404 | [108.21202754974365, 26.55881966387933],
405 | [108.21576118469238, 26.555671908149282],
406 | [108.21820735931396, 26.55517286576642],
407 | [108.22112560272217, 26.55206339890707],
408 | [108.22271347045898, 26.55206339890707],
409 | [108.2233142852783, 26.551449173256753],
410 | [108.22966575622559, 26.551372394819104],
411 | [108.2324981689453, 26.549299357569183],
412 | [108.23258399963379, 26.548147654014002],
413 | [108.22975158691406, 26.544462124910293],
414 | [108.23103904724121, 26.543156804951995],
415 | [108.23095321655273, 26.542158609078268],
416 | [108.22957992553711, 26.540622906156816],
417 | [108.22957992553711, 26.53962468823297],
418 | [108.22889328002928, 26.538933609197446],
419 | [108.22906494140625, 26.537781801553756],
420 | [108.23172569274902, 26.535785307578546],
421 | [108.23112487792969, 26.531408256915512],
422 | [108.23232650756836, 26.530179581105457],
423 | [108.23232650756836, 26.529104478981075],
424 | [108.23335647583008, 26.528106160848],
425 | [108.23490142822266, 26.52941165204426],
426 | [108.23661804199219, 26.529718824285357],
427 | [108.2376480102539, 26.52987241009757],
428 | [108.23893547058105, 26.531177881203106],
429 | [108.2402229309082, 26.531177881203106],
430 | [108.24348449707031, 26.528259748818282],
431 | [108.24417114257812, 26.52226966569159],
432 | [108.24614524841309, 26.520272901857233],
433 | [108.24691772460938, 26.518045701228043],
434 | [108.24468612670897, 26.515972061808487],
435 | [108.24382781982422, 26.515664852783917],
436 | [108.2431411743164, 26.51535764293749],
437 | [108.24254035949707, 26.51520403770611],
438 | [108.24125289916992, 26.514051991921896],
439 | [108.23936462402344, 26.512669521726384],
440 | [108.23653221130371, 26.507446706371407],
441 | [108.23751926422119, 26.507254686575333],
442 | [108.23824882507324, 26.507830745000735],
443 | [108.2402229309082, 26.507830745000735],
444 | [108.24301242828368, 26.505987347871656],
445 | [108.24979305267334, 26.506025752280227],
446 | [108.25138092041016, 26.504681590342642],
447 | [108.25322628021239, 26.5047968048392],
448 | [108.25541496276855, 26.50349103377962],
449 | [108.25884819030762, 26.50291495359454],
450 | [108.25987815856934, 26.50191640776515],
451 | [108.2598352432251, 26.500188134862093],
452 | [108.2616376876831, 26.49853664980271],
453 | [108.26223850250244, 26.49857505670155],
454 | [108.26429843902588, 26.496731511079624],
455 | [108.26640129089355, 26.494926344004817],
456 | [108.26777458190918, 26.494350220885405],
457 | [108.26854705810547, 26.494273404251306],
458 | [108.2697057723999, 26.494311812574754],
459 | [108.27047824859619, 26.494350220885405],
460 | [108.27365398406982, 26.49154638048272],
461 | [108.27361106872557, 26.48851201039563],
462 | [108.27425479888915, 26.48782062373032],
463 | [108.27421188354492, 26.486015316726277],
464 | [108.27369689941406, 26.485439148949993],
465 | [108.27614307403564, 26.483787451991393],
466 | [108.27944755554199, 26.483211273052532],
467 | [108.2809066772461, 26.4819820816681],
468 | [108.28288078308105, 26.481444306306237],
469 | [108.28948974609375, 26.475374952903888],
470 | [108.29017639160156, 26.47418409282132],
471 | [108.29009056091309, 26.471879167321507],
472 | [108.29468250274658, 26.468921111945082],
473 | [108.29665660858154, 26.46922844591367],
474 | [108.2973003387451, 26.46965102878023],
475 | [108.29811573028564, 26.469074779031995],
476 | [108.3000898361206, 26.46911319577165],
477 | [108.30279350280762, 26.471610256338725],
478 | [108.30485343933104, 26.471533424513915],
479 | [108.3097457885742, 26.469074779031995],
480 | [108.31244945526123, 26.469151612498482],
481 | [108.31416606903076, 26.467538098928934],
482 | [108.31408023834229, 26.466385575385587],
483 | [108.31558227539062, 26.464964113786348],
484 | [108.31545352935791, 26.463312122843632],
485 | [108.31686973571777, 26.460661204107517],
486 | [108.32090377807617, 26.45785654246424],
487 | [108.32163333892821, 26.453361257321596],
488 | [108.3202600479126, 26.451632254767517],
489 | [108.32017421722412, 26.445522904512742],
490 | [108.31820011138916, 26.441718805755013],
491 | [108.3193588256836, 26.44079658107859],
492 | [108.32120418548584, 26.44083500725416],
493 | [108.32343578338623, 26.439605363279494],
494 | [108.32476615905762, 26.439605363279494],
495 | [108.32785606384276, 26.43676176132711],
496 | [108.32849979400633, 26.434071803003853],
497 | [108.32819938659667, 26.433994946129168],
498 | [108.32789897918701, 26.4337643751976],
499 | [108.32764148712158, 26.43353380380475],
500 | [108.32738399505615, 26.433303231950617],
501 | [108.32712650299072, 26.433149517124953],
502 | [108.32704067230225, 26.432880515686687],
503 | [108.32648277282715, 26.431266493872716],
504 | [108.3323621749878, 26.42788466059514],
505 | [108.33257675170898, 26.42715447902352],
506 | [108.33257675170898, 26.427000755998083],
507 | [108.33201885223389, 26.42669330933226],
508 | [108.33030223846436, 26.426116844623976],
509 | [108.32661151885986, 26.423618797580616],
510 | [108.32592487335205, 26.423580365664904],
511 | [108.32515239715576, 26.423580365664904],
512 | [108.32395076751709, 26.423618797580616],
513 | [108.3235216140747, 26.423618797580616],
514 | [108.3209466934204, 26.422350537598614],
515 | [108.31721305847168, 26.422965453271384],
516 | [108.31442356109619, 26.41927591004727],
517 | [108.31326484680176, 26.419314343397613],
518 | [108.31236362457275, 26.41992927526109],
519 | [108.30824375152588, 26.419890842115674],
520 | [108.30652713775635, 26.418391939454363],
521 | [108.30579757690428, 26.415240336985207],
522 | [108.30446720123291, 26.414164160321267],
523 | [108.30305099487305, 26.411473674735017],
524 | [108.30317974090575, 26.41097400621729],
525 | [108.30305099487305, 26.410282153927657],
526 | [108.30180644989014, 26.408552505052096],
527 | [108.30691337585449, 26.405785012917846],
528 | [108.30948829650879, 26.408783126400365],
529 | [108.3103895187378, 26.409282804406853],
530 | [108.31103324890137, 26.409474987679292],
531 | [108.31463813781738, 26.409551860898613],
532 | [108.3211612701416, 26.404016858193206],
533 | [108.32176208496094, 26.401710528707707],
534 | [108.32399368286133, 26.39967323265838],
535 | [108.32296371459961, 26.397174612937143],
536 | [108.32056045532227, 26.397751222288687],
537 | [108.32021713256836, 26.397366816374348],
538 | [108.32013130187988, 26.395098795423742],
539 | [108.32253456115723, 26.39275384555818],
540 | [108.32249164581299, 26.392369423003533],
541 | [108.32236289978027, 26.392215653623317],
542 | [108.31837177276611, 26.39194655671513],
543 | [108.3166980743408, 26.392523192179],
544 | [108.3163547515869, 26.392523192179],
545 | [108.31609725952148, 26.392561634440852],
546 | [108.3158826828003, 26.392523192179],
547 | [108.31566810607909, 26.392446307616876],
548 | [108.31545352935791, 26.39233098067769],
549 | [108.31515312194824, 26.392292538339024],
550 | [108.31343650817871, 26.392561634440852],
551 | [108.31240653991698, 26.39194655671513],
552 | [108.30978870391844, 26.391908114248476],
553 | [108.30897331237793, 26.391639016623543],
554 | [108.30562591552734, 26.392830729915527],
555 | [108.30390930175781, 26.392869172074988],
556 | [108.302321434021, 26.391908114248476],
557 | [108.30219268798827, 26.391139262227636],
558 | [108.30034732818604, 26.38952465631984],
559 | [108.29978942871094, 26.389486213046876],
560 | [108.29811573028564, 26.388140690429935],
561 | [108.2977294921875, 26.387794696365876],
562 | [108.29699993133545, 26.387640920893546],
563 | [108.29622745513916, 26.386833596304445],
564 | [108.29579830169678, 26.386180043693972],
565 | [108.29137802124022, 26.38329667920411],
566 | [108.29129219055176, 26.38283533420597],
567 | [108.28657150268555, 26.378913827327477],
568 | [108.28652858734131, 26.378067994665887],
569 | [108.28648567199707, 26.377606628785827],
570 | [108.28635692596436, 26.377183708443994],
571 | [108.28614234924316, 26.376837681558264],
572 | [108.28597068786621, 26.376453206025374],
573 | [108.2858419418335, 26.375991833697082],
574 | [108.28579902648926, 26.375607355349555],
575 | [108.28597068786621, 26.375338219745032],
576 | [108.28635692596436, 26.37495373922259],
577 | [108.28644275665282, 26.37472305029504],
578 | [108.2861852645874, 26.374184774339668],
579 | [108.28601360321045, 26.373915635421696],
580 | [108.28588485717773, 26.37360804731928],
581 | [108.28579902648926, 26.373338907058045],
582 | [108.2858419418335, 26.373108214906633],
583 | [108.28597068786621, 26.372915971095313],
584 | [108.28614234924316, 26.372608380331997],
585 | [108.28588485717773, 26.36987847643138],
586 | [108.2861852645874, 26.36930172791991],
587 | [108.28639984130858, 26.368878777182307],
588 | [108.28665733337402, 26.368571175673726],
589 | [108.28678607940674, 26.368071321476265],
590 | [108.28717231750488, 26.367648366236164],
591 | [108.28717231750488, 26.367186958754527],
592 | [108.28721523284912, 26.366456393141743],
593 | [108.2873010635376, 26.366264138265684],
594 | [108.28858852386475, 26.365033699486993],
595 | [108.28845977783203, 26.364726087745904],
596 | [108.28833103179932, 26.364264668599468],
597 | [108.28815937042236, 26.363995506580185],
598 | [108.28794479370117, 26.363764795779144],
599 | [108.2876443862915, 26.36353408451769],
600 | [108.28751564025879, 26.363264920797395],
601 | [108.28721523284912, 26.361573020206013],
602 | [108.2882022857666, 26.360227172509465],
603 | [108.28815937042236, 26.35868904167371],
604 | [108.28790187835693, 26.355574264065165],
605 | [108.28923225402832, 26.352690135920867],
606 | [108.29009056091309, 26.351690288042743],
607 | [108.2905626296997, 26.351228816876194],
608 | [108.29094886779785, 26.350767343868565],
609 | [108.29150676727295, 26.350498150430543],
610 | [108.29215049743652, 26.349882848791225],
611 | [108.29300880432127, 26.349344457172005],
612 | [108.29378128051758, 26.34872914939597],
613 | [108.29472541809082, 26.348229209418086],
614 | [108.29519748687744, 26.34769081010256],
615 | [108.2969570159912, 26.345229524180123],
616 | [108.2957124710083, 26.340460633706236],
617 | [108.29588413238525, 26.338960700106853],
618 | [108.2960557937622, 26.337729970839195],
619 | [108.29609870910645, 26.33684537609419],
620 | [108.29635620117188, 26.336037696726805],
621 | [108.29712867736816, 26.33415308961844],
622 | [108.29820156097412, 26.33184536565599],
623 | [108.2988452911377, 26.330614560732197],
624 | [108.3003044128418, 26.3277298104197],
625 | [108.30116271972656, 26.324075690180795],
626 | [108.30116271972656, 26.32361410889548],
627 | [108.30099105834961, 26.32307559507075],
628 | [108.30077648162842, 26.322537078741956],
629 | [108.30056190490721, 26.321921628442905],
630 | [108.30043315887451, 26.321460038572354],
631 | [108.3000898361206, 26.320767650317222],
632 | [108.2994031906128, 26.31992139238443],
633 | [108.29854488372803, 26.31892126140152],
634 | [108.29777240753174, 26.318151923999995],
635 | [108.29721450805664, 26.317728786251173],
636 | [108.29652786254883, 26.31722871237346],
637 | [108.29532623291014, 26.31653629882508],
638 | [108.29416751861572, 26.315805413367425],
639 | [108.29343795776367, 26.31522839527524],
640 | [108.29270839691162, 26.314843714950456],
641 | [108.29172134399414, 26.31449750156611],
642 | [108.29107761383057, 26.314305160349946],
643 | [108.28996181488037, 26.313958945356212],
644 | [108.28888893127441, 26.313535792292175],
645 | [108.28751564025879, 26.3131511063474],
646 | [108.28721523284912, 26.31303570031492],
647 | [108.28712940216064, 26.312766419125392],
648 | [108.28601360321045, 26.310535208051274],
649 | [108.2858419418335, 26.30984275449933],
650 | [108.28571319580078, 26.308881006590436],
651 | [108.28558444976807, 26.307111369583296],
652 | [108.28545570373534, 26.30568794629472],
653 | [108.28536987304688, 26.304302977126273],
654 | [108.2854127883911, 26.30303340751722],
655 | [108.28567028045654, 26.30153298914263],
656 | [108.28592777252197, 26.299917132250894],
657 | [108.28614234924316, 26.297377883059536],
658 | [108.28614234924316, 26.2942229808368],
659 | [108.28614234924316, 26.291837509973526],
660 | [108.28627109527588, 26.290067612785567],
661 | [108.28652858734131, 26.288259211674927],
662 | [108.28704357147217, 26.28406515164657],
663 | [108.28682899475098, 26.282564487830555],
664 | [108.28639984130858, 26.27983246027928],
665 | [108.28609943389891, 26.277523654451105],
666 | [108.28605651855469, 26.27648467684133],
667 | [108.28635692596436, 26.274983914983117],
668 | [108.28657150268555, 26.27371402440643],
669 | [108.28678607940674, 26.272290191176417],
670 | [108.28708648681639, 26.27125116671496],
671 | [108.2874298095703, 26.270289098735656],
672 | [108.28803062438965, 26.268788256766292],
673 | [108.28850269317627, 26.267672233492434],
674 | [108.28871726989745, 26.261091326400592],
675 | [108.28854560852051, 26.260783438573387],
676 | [108.28751564025879, 26.25978279749757],
677 | [108.28627109527588, 26.258474253850697],
678 | [108.2850694656372, 26.257088720978423],
679 | [108.28425407409668, 26.256472923285344],
680 | [108.28339576721191, 26.255818634659228],
681 | [108.28206539154053, 26.254817950808103],
682 | [108.28073501586914, 26.253855746667675],
683 | [108.27974796295166, 26.25304748903042],
684 | [108.27640056610107, 26.248582726472822],
685 | [108.27618598937988, 26.248313295656825],
686 | [108.27567100524902, 26.24588839019907],
687 | [108.27515602111816, 26.24330946696629],
688 | [108.27489852905272, 26.241731291687802],
689 | [108.27459812164305, 26.239575700586396],
690 | [108.27476978302002, 26.236650191580235],
691 | [108.27511310577393, 26.233262668122553],
692 | [108.27489852905272, 26.230683464764965],
693 | [108.27481269836426, 26.227719235028474],
694 | [108.27459812164305, 26.22506291302477],
695 | [108.27434062957764, 26.222868514307283],
696 | [108.27404022216797, 26.221213063318874],
697 | [108.27343940734863, 26.217555588084405],
698 | [108.27198028564452, 26.214822031517368],
699 | [108.27047824859619, 26.212203917136687],
700 | [108.26923370361328, 26.210047778714546],
701 | [108.26798915863036, 26.20800711091648],
702 | [108.2664442062378, 26.206197432183565],
703 | [108.26524257659912, 26.204849780808527],
704 | [108.26313972473145, 26.20330958870541],
705 | [108.2621955871582, 26.202500979694488],
706 | [108.26150894165039, 26.2020389148811],
707 | [108.26116561889648, 26.201730870653403],
708 | [108.25674533843994, 26.200652709438426],
709 | [108.25627326965332, 26.200498685592716],
710 | [108.25292587280273, 26.201191791293866],
711 | [108.25206756591797, 26.20130730850961],
712 | [108.25150966644287, 26.201461331285635],
713 | [108.25095176696777, 26.2016153538579],
714 | [108.24970722198486, 26.201961903900578],
715 | [108.24876308441162, 26.202269947517024],
716 | [108.24743270874023, 26.202809021884672],
717 | [108.24468612670897, 26.203771648475836],
718 | [108.24125289916992, 26.204849780808527],
719 | [108.24099540710449, 26.20488828535004],
720 | [108.24018001556396, 26.204734267107604],
721 | [108.2389783859253, 26.204503239361898],
722 | [108.23842048645018, 26.20438772531709],
723 | [108.23803424835205, 26.20438772531709],
724 | [108.23374271392822, 26.202462474363436],
725 | [108.23048114776611, 26.197764728428353],
726 | [108.23030948638916, 26.196840559378092],
727 | [108.23005199432373, 26.19568533775179],
728 | [108.22983741760252, 26.19472264430974],
729 | [108.22962284088135, 26.193721434688754],
730 | [108.22927951812744, 26.19283574208052],
731 | [108.22906494140625, 26.192296621543303],
732 | [108.22636127471924, 26.18694378941049],
733 | [108.22477340698242, 26.184710160832072],
734 | [108.22219848632812, 26.181013026338412],
735 | [108.21889400482178, 26.175852246649914],
736 | [108.21786403656006, 26.174658302384362],
737 | [108.216233253479, 26.1730406809687],
738 | [108.21434497833252, 26.170845301716813],
739 | [108.21288585662842, 26.1686498811254],
740 | [108.21232795715332, 26.167494379999916],
741 | [108.21541786193846, 26.164682612764587],
742 | [108.21670532226561, 26.16406632595637],
743 | [108.21752071380615, 26.16371966319557],
744 | [108.21919441223145, 26.16306485294714],
745 | [108.22056770324707, 26.16252559468794],
746 | [108.22151184082031, 26.16179374020532],
747 | [108.22267055511475, 26.161100400143678],
748 | [108.2234001159668, 26.16056113280193],
749 | [108.22443008422852, 26.15982926599316],
750 | [108.22481632232666, 26.159135914254378],
751 | [108.22554588317871, 26.157672158161002],
752 | [108.22610378265381, 26.15616986307246],
753 | [108.22649002075195, 26.146192592077664],
754 | [108.22494506835936, 26.13910397398148],
755 | [108.2237434387207, 26.134326619015948],
756 | [108.22151184082031, 26.129394950819087],
757 | [108.21945190429688, 26.124463074388967],
758 | [108.2182502746582, 26.121226417329222],
759 | [108.21893692016602, 26.11706486936714],
760 | [108.22099685668944, 26.11475283424124],
761 | [108.22305679321289, 26.11182419075849],
762 | [108.2259750366211, 26.107508161358798],
763 | [108.22700500488281, 26.10427103474491],
764 | [108.22700500488281, 26.102267054311064],
765 | [108.22614669799805, 26.09933809805745],
766 | [108.22546005249023, 26.097334033094253],
767 | [108.22185516357422, 26.094096624851257],
768 | [108.21739196777342, 26.08947160051824],
769 | [108.2156753540039, 26.08237954147195],
770 | [108.2149887084961, 26.078062425554656],
771 | [108.21464538574219, 26.074361913766005],
772 | [108.21395874023438, 26.07343676754388],
773 | [108.21052551269531, 26.069736109561056],
774 | [108.20777893066406, 26.064801717009296],
775 | [108.20365905761719, 26.057399738435414],
776 | [108.19816589355469, 26.05061418062293],
777 | [108.1878662109375, 26.04382822995892],
778 | [108.18374633789062, 26.038892746404027],
779 | [108.1768798828125, 26.03704188651584],
780 | [108.17070007324219, 26.034574027894717],
781 | [108.16658020019531, 26.035190997418077],
782 | [108.16246032714842, 26.03765884305748],
783 | [108.15971374511719, 26.04259437854576],
784 | [108.15765380859375, 26.04752970629009],
785 | [108.15628051757812, 26.05308170164881],
786 | [108.15628051757812, 26.057399738435414],
787 | [108.15628051757812, 26.0629512662096],
788 | [108.15559387207031, 26.066035334636084],
789 | [108.15490722656249, 26.070352894012828],
790 | [108.15422058105467, 26.075287052678327],
791 | [108.15422058105467, 26.08022100341537],
792 | [108.15216064453125, 26.084538039722087],
793 | [108.15078735351562, 26.08947160051824],
794 | [108.1494140625, 26.094404953305965],
795 | [108.14666748046874, 26.09748819315666],
796 | [108.14323425292969, 26.09933809805745],
797 | [108.13980102539062, 26.10118797369925],
798 | [108.13087463378905, 26.10118797369925],
799 | [108.13087463378905, 26.107970600701737],
800 | [108.13018798828125, 26.112903173210267],
801 | [108.13018798828125, 26.11660246600098],
802 | [108.13156127929686, 26.12091815959972],
803 | [108.12812805175781, 26.12400070029862],
804 | [108.12332153320311, 26.124617198679115],
805 | [108.116455078125, 26.130782003547658],
806 | [108.11782836914062, 26.135097173359775],
807 | [108.116455078125, 26.13941218371873],
808 | [108.11302185058594, 26.14372703460594],
809 | [108.1109619140625, 26.149890830630504],
810 | [108.11164855957031, 26.159752227114595],
811 | [108.11370849609375, 26.168380265220303],
812 | [108.11370849609375, 26.173310286096754],
813 | [108.11508178710936, 26.178240098493088],
814 | [108.11714172363281, 26.181937320958628],
815 | [108.12057495117188, 26.185018250078308],
816 | [108.12469482421875, 26.18933141398614],
817 | [108.12744140625, 26.191796007381587],
818 | [108.12881469726562, 26.195492799699977],
819 | [108.12881469726562, 26.199805575765804],
820 | [108.13087463378905, 26.204118192100207],
821 | [108.13774108886719, 26.20658247256803],
822 | [108.1391143798828, 26.20966274979298],
823 | [108.13842773437499, 26.2145910237943],
824 | [108.13842773437499, 26.21736308620283],
825 | [108.13859939575195, 26.22013508256875],
826 | [108.1380844116211, 26.22182904783412],
827 | [108.13756942749023, 26.223061007079295],
828 | [108.13705444335938, 26.223984967950802],
829 | [108.13241958618164, 26.21736308620283],
830 | [108.12795639038086, 26.221983043453275],
831 | [108.12641143798828, 26.2209050698381],
832 | [108.12246322631836, 26.219519089083956],
833 | [108.12005996704102, 26.218595092741374],
834 | [108.1058120727539, 26.21782509018358],
835 | [108.10272216796875, 26.2209050698381],
836 | [108.10409545898438, 26.22783472591327],
837 | [108.10152053833008, 26.232916211296438],
838 | [108.09671401977539, 26.232300285500997],
839 | [108.09534072875975, 26.230760456738363],
840 | [108.09396743774414, 26.229220607584864],
841 | [108.09019088745117, 26.222907012887166],
842 | [108.08624267578125, 26.217517087733565],
843 | [108.0845260620117, 26.215977063253593],
844 | [108.07903289794922, 26.215977063253593],
845 | [108.07714462280273, 26.218441092637512],
846 | [108.07422637939453, 26.21767108906049],
847 | [108.07113647460938, 26.22444694563432],
848 | [108.06221008300781, 26.22413896071585],
849 | [108.05414199829102, 26.22182904783412],
850 | [108.05294036865233, 26.22583286767555],
851 | [108.05242538452148, 26.22814270104532],
852 | [108.05191040039062, 26.230298504133316],
853 | [108.05139541625977, 26.23122240750823],
854 | [108.04899215698241, 26.23445601151049],
855 | [108.06032180786133, 26.24277058025623],
856 | [108.05688858032225, 26.248467256199596],
857 | [108.05654525756835, 26.249391015172165],
858 | [108.0340576171875, 26.251084554213417],
859 | [108.02530288696288, 26.2495449742869],
860 | [108.0234146118164, 26.249083096330665],
861 | [108.02221298217773, 26.2495449742869],
862 | [108.02101135253906, 26.249852891904318],
863 | [108.01963806152344, 26.25031476680035],
864 | [108.01998138427734, 26.251392467750517],
865 | [108.01980972290039, 26.25231620346529],
866 | [108.01895141601562, 26.25308597761687],
867 | [108.01843643188475, 26.254163652859756],
868 | [108.01843643188475, 26.254933414769354],
869 | [108.01912307739258, 26.2557031715779],
870 | [108.0201530456543, 26.2557031715779],
871 | [108.02135467529295, 26.25585712232749],
872 | [108.02083969116211, 26.256626873014692],
873 | [108.0201530456543, 26.257396618600662],
874 | [108.02066802978516, 26.258166359085255],
875 | [108.02118301391602, 26.25893609446839],
876 | [108.02066802978516, 26.25985977019411],
877 | [108.0204963684082, 26.260937382589034],
878 | [108.02101135253906, 26.26247681152116],
879 | [108.02186965942383, 26.26247681152116],
880 | [108.0234146118164, 26.262014984984344],
881 | [108.02410125732422, 26.262630753291948],
882 | [108.0234146118164, 26.26340045908455],
883 | [108.02350044250488, 26.2633234887349],
884 | [108.02289962768555, 26.26401622004512],
885 | [108.02247047424316, 26.264555008206916],
886 | [108.02281379699707, 26.265247732169826],
887 | [108.02324295043945, 26.265632577030047],
888 | [108.02238464355467, 26.266633167696668],
889 | [108.02169799804686, 26.26786465206368],
890 | [108.02144050598145, 26.268557356279516],
891 | [108.02152633666992, 26.26917308989032],
892 | [108.02169799804686, 26.269711854120704],
893 | [108.02118301391602, 26.270481512969415],
894 | [108.0204963684082, 26.270943305829118],
895 | [108.02066802978516, 26.27178992130043],
896 | [108.02092552185059, 26.272405637764685],
897 | [108.02101135253906, 26.272944386991608],
898 | [108.02135467529295, 26.273483133717846],
899 | [108.0216121673584, 26.27402187794336],
900 | [108.02178382873535, 26.274637582567454],
901 | [108.02144050598145, 26.275022396298823],
902 | [108.01886558532715, 26.277023407133495],
903 | [108.01800727844238, 26.276792523028814],
904 | [108.017578125, 26.27656163846476],
905 | [108.01714897155762, 26.27663860003717],
906 | [108.01646232604979, 26.278023899612222],
907 | [108.01611900329588, 26.278793503341486],
908 | [108.01551818847656, 26.279486142333635],
909 | [108.0146598815918, 26.280255736364676],
910 | [108.01414489746092, 26.278793503341486],
911 | [108.01294326782227, 26.27833174171643],
912 | [108.0120849609375, 26.27910134340398],
913 | [108.01156997680664, 26.28033269548704],
914 | [108.01054000854491, 26.28125620097383],
915 | [108.00933837890625, 26.282641445421522],
916 | [108.0091667175293, 26.28356493253137],
917 | [108.00813674926758, 26.28448841229014],
918 | [108.0095100402832, 26.28525797314026],
919 | [108.01122665405273, 26.28571970719983],
920 | [108.0124282836914, 26.284796237242816],
921 | [108.01345825195311, 26.2841805865207],
922 | [108.01397323608398, 26.284950149412815],
923 | [108.01448822021483, 26.28602752888521],
924 | [108.01414489746092, 26.298955301979323],
925 | [108.00899505615234, 26.298955301979323],
926 | [108.00642013549805, 26.298955301979323],
927 | [108.00384521484375, 26.298955301979323],
928 | [107.99869537353514, 26.30080200905286],
929 | [107.99019813537598, 26.30072506351215],
930 | [107.98290252685545, 26.314266692068408],
931 | [107.96719551086426, 26.313882008550422],
932 | [107.96050071716309, 26.32849908419746],
933 | [107.94951438903809, 26.321960094182412],
934 | [107.95140266418457, 26.328345229850786],
935 | [107.9453945159912, 26.33542231818776],
936 | [107.94393539428711, 26.34072985049958],
937 | [107.9571533203125, 26.34611405483601],
938 | [107.95226097106934, 26.349729022870008],
939 | [107.95492172241211, 26.35465135088427],
940 | [107.96333312988281, 26.358266052106853],
941 | [107.9600715637207, 26.368109771875883],
942 | [107.955265045166, 26.370570570846034],
943 | [107.95406341552734, 26.37303131742049],
944 | [107.95337677001953, 26.374569257420802],
945 | [107.95183181762695, 26.377798864793082],
946 | [107.94977188110352, 26.380951489673322],
947 | [107.94857025146484, 26.383258233857987],
948 | [107.94736862182616, 26.384565368447767],
949 | [107.94548034667969, 26.386333821111503],
950 | [107.94299125671387, 26.388794231944853],
951 | [107.9377555847168, 26.393407360963565],
952 | [107.93380737304688, 26.397097731472652],
953 | [107.93140411376953, 26.39948103306158],
954 | [107.9285717010498, 26.403017454408374],
955 | [107.92719841003418, 26.405016253323012],
956 | [107.92685508728027, 26.405785012917846],
957 | [107.92659759521484, 26.407091892475076],
958 | [107.92591094970703, 26.41155054662258],
959 | [107.92548179626465, 26.41385667943026],
960 | [107.92548179626465, 26.415394075689],
961 | [107.92573928833008, 26.416547109435605],
962 | [107.92573928833008, 26.41739266019059],
963 | [107.92582511901855, 26.41816133731583],
964 | [107.9259967803955, 26.419314343397613],
965 | [107.92591094970703, 26.420006141513447],
966 | [107.92616844177246, 26.420928532545656],
967 | [107.9263401031494, 26.421620320977993],
968 | [107.92642593383789, 26.422158375778356],
969 | [107.92659759521484, 26.422773292475902],
970 | [107.9267692565918, 26.423234477847068],
971 | [107.9271125793457, 26.42431056987291],
972 | [107.92745590209961, 26.4253097891899],
973 | [107.92779922485352, 26.42646272379485],
974 | [107.92840003967285, 26.427538785690356],
975 | [107.92874336242676, 26.42838425584782],
976 | [107.9296875, 26.429614019553092],
977 | [107.93028831481932, 26.43030575587197],
978 | [107.93071746826172, 26.431151205735432],
979 | [107.93174743652344, 26.432073507604937],
980 | [107.93251991271973, 26.433226374563407],
981 | [107.93337821960449, 26.43445608660846],
982 | [107.93457984924315, 26.4358394969753],
983 | [107.93569564819336, 26.437146035961916],
984 | [107.9362964630127, 26.437991435647806],
985 | [107.93698310852051, 26.438913682776835],
986 | [107.93792724609375, 26.439835922524356],
987 | [107.93852806091307, 26.44060445000852],
988 | [107.9392147064209, 26.441526676222832],
989 | [107.93981552124022, 26.4425257462913],
990 | [107.94118881225586, 26.44444701053327],
991 | [107.94170379638672, 26.445369205988058],
992 | [107.94196128845215, 26.446060847734206],
993 | [107.94221878051758, 26.447136726640394],
994 | [107.942476272583, 26.44813574805515],
995 | [107.94281959533691, 26.44928845430485],
996 | [107.94307708740234, 26.45028745705601],
997 | [107.94333457946777, 26.45136329648149],
998 | [107.94376373291014, 26.452592814946915],
999 | [107.94384956359863, 26.45366863283561],
1000 | [107.94384956359863, 26.45443706803107],
1001 | [107.94376373291014, 26.455128655322408],
1002 | [107.94376373291014, 26.45574339609419],
1003 | [107.94367790222168, 26.45689602619487],
1004 | [107.94367790222168, 26.457818121967332],
1005 | [107.9435920715332, 26.45866336993773],
1006 | [107.9435920715332, 26.459354931843134],
1007 | [107.94376373291014, 26.460200168530275],
1008 | [107.94384956359863, 26.461045399011418],
1009 | [107.94393539428711, 26.46212113792068],
1010 | [107.94410705566405, 26.462889516700884],
1011 | [107.94427871704102, 26.463734727434776],
1012 | [107.94445037841795, 26.464656768429514],
1013 | [107.94445037841795, 26.46534829432821],
1014 | [107.94453620910645, 26.466270322396458],
1015 | [107.94479370117188, 26.466885003671486],
1016 | [107.94479370117188, 26.46749968166344],
1017 | [107.9450511932373, 26.46803752221322],
1018 | [107.94565200805664, 26.46826802453648],
1019 | [107.9461669921875, 26.468729027797888],
1020 | [107.94676780700684, 26.46911319577165],
1021 | [107.94719696044922, 26.46965102878023],
1022 | [107.94805526733397, 26.470035193675876],
1023 | [107.94882774353027, 26.470573022375085],
1024 | [107.94925689697266, 26.471110848560432],
1025 | [107.94985771179199, 26.471264512723067],
1026 | [107.95071601867676, 26.47164867223187],
1027 | [107.95148849487305, 26.471955998915437],
1028 | [107.95251846313477, 26.472340156115514],
1029 | [107.9531192779541, 26.472493818636398],
1030 | [107.95346260070801, 26.472724312032963],
1031 | [107.95406341552734, 26.472801143062533],
1032 | [107.95543670654297, 26.471725503979737],
1033 | [107.95638084411621, 26.471110848560432],
1034 | [107.95723915100096, 26.470573022375085],
1035 | [107.95766830444336, 26.470112026501113],
1036 | [107.95835494995117, 26.469727861861973],
1037 | [107.95895576477051, 26.469190029212488],
1038 | [107.95921325683592, 26.468421692495475],
1039 | [107.95947074890137, 26.46803752221322]
1040 | ]
1041 | ] } }, { "type": "Feature", "properties": { "name": "汉东县1" }, "cp": [108.075071, 26.326078], "geometry": { "type": "Polygon", "coordinates": [
1042 | [
1043 | [108.075071, 26.326078]
1044 | ]
1045 | ] } }, { "type": "Feature", "properties": { "name": "汉东县2" }, "cp": [108.182896, 26.495448], "geometry": { "type": "Polygon", "coordinates": [
1046 | [
1047 | [108.182896, 26.495448]
1048 | ]
1049 | ] } }, { "type": "Feature", "properties": { "name": "汉东县3" }, "cp": [108.086502, 26.384152], "geometry": { "type": "Polygon", "coordinates": [
1050 | [
1051 | [108.086502, 26.384152]
1052 | ]
1053 | ] } }, { "type": "Feature", "properties": { "name": "汉东县5" }, "cp": [108.228852, 26.232646], "geometry": { "type": "Polygon", "coordinates": [
1054 | [
1055 | [108.228852, 26.232646]
1056 | ]
1057 | ] } }, { "type": "Feature", "properties": { "name": "汉东县4" }, "cp": [108.028849, 26.412356], "geometry": { "type": "Polygon", "coordinates": [
1058 | [
1059 | [108.028849, 26.412356]
1060 | ]
1061 | ] } }
1062 | ]
1063 | }
1064 |
1065 | var myChart;
1066 | //初始化地图
1067 | initleishanMap();
1068 | function initleishanMap(){
1069 | //初始化函数,获取jion中的数据,作为散点图中的数据,模拟数据,
1070 | var convertdata=function (data){
1071 | var res=[];
1072 | for(var i=1;i★';
1176 | break;
1177 | case '2':
1178 | return '★★
';
1179 | break;
1180 | case '3':
1181 | return '★★★
';
1182 | break;
1183 | case '4':
1184 | return '★★★★
';
1185 | break;
1186 | case '5':
1187 | return '★★★★★
';
1188 | break;
1189 | }
1190 |
1191 | }
1192 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/gjzb.js:
--------------------------------------------------------------------------------
1 | var gjzb=echarts.init(document.getElementById("right-gjzbEchart"));
2 |
3 |
4 | option = {
5 | color: [ '#0068b7', '#006699', '#4cabce', '#e5323e' ],//统计图颜色系列值
6 | tooltip : {
7 | trigger: 'axis'
8 | },
9 | grid: {
10 | borderWidth: 0,
11 | x: 70,
12 | y: 10,
13 | top: 65,
14 | left: 45,
15 | right: 30,
16 | bottom: 70,
17 | //barWidth:1,
18 | textStyle: {
19 | color: "#fff"
20 | }
21 | },
22 | legend: {
23 | data:['蒸发量','降水量','平均温度']
24 | },
25 | toolbox: {
26 | show : false,
27 | feature : {
28 | mark : {show: false},
29 | dataView : {show: true, readOnly: false},
30 | magicType: {show: true, type: ['line','bar']},
31 | restore : {show: false},
32 | saveAsImage : {show: true}
33 | }
34 | },
35 | calculable : true,
36 | xAxis : [
37 | {
38 | type : 'category',
39 | data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
40 | }
41 | ],
42 | yAxis : [
43 | {
44 | type : 'value',
45 | name : '降水量',
46 | axisLabel : {
47 | formatter: '{value}\r\nkW·h'
48 | }
49 | },
50 | {
51 | type : 'value',
52 | name : '降水率',
53 | axisLabel : {
54 | formatter: '{value}\r\n%'
55 | }
56 | }
57 | ],
58 | series : [
59 | {
60 | name:'蒸发量',
61 | type:'bar',
62 | data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]/*,
63 | barMaxWidth: 0,
64 | large: false,
65 | barMinHeight: 1,
66 | itemStyle: {color: "#e5323e",
67 | normal :{
68 | label: {
69 | show: true,
70 | distance: 0,
71 | fontWeight: 'bolder',
72 | position: 'top',
73 | color: '#0068b7',
74 | fontSize: 20,
75 | formatter: function(value, index) {
76 | return value.value+"%";
77 | }
78 | }
79 | }
80 | }*/
81 | },
82 | {
83 | name:'降水量',
84 | type:'bar',
85 | //barWidth:0,
86 | data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
87 | },
88 | {
89 | name:'平均温度',
90 | type:'line',
91 | yAxisIndex: 1,
92 | data:[-4.0, 6.2, -3.3, 4.5, -9.3, 10.2, 20.3, 23.4, -23.0, 16.5, -12.0, 6.2]
93 | }
94 | ]
95 |
96 | };
97 | gjzb.setOption(option);
98 |
--------------------------------------------------------------------------------
/src/main/resources/static/js/layui.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.4.5 MIT License By https://www.layui.com */
2 | ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.4.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui["layui.all"]||!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("模块名 "+o+" 已被占用"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;oi?1:r{b} : {c} ({d}%)"
7 | },
8 | legend: {
9 | orient : 'vertical',
10 | x : 'left',
11 | data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
12 | },
13 | toolbox: {
14 | show : false,
15 | feature : {
16 | mark : {show: true},
17 | dataView : {show: true, readOnly: false},
18 | magicType : {
19 | show: true,
20 | type: ['pie', 'funnel'],
21 | option: {
22 | funnel: {
23 | x: '25%',
24 | width: '50%',
25 | funnelAlign: 'left',
26 | max: 1548
27 | }
28 | }
29 | },
30 | restore : {show: true},
31 | saveAsImage : {show: true}
32 | }
33 | },
34 | calculable : true,
35 | series : [
36 | {
37 | name:'访问来源',
38 | type:'pie',
39 | radius : '55%',
40 | center: ['50%', '60%'],
41 | data:[
42 | {value:335, name:'直接访问'},
43 | {value:310, name:'邮件营销'},
44 | {value:234, name:'联盟广告'},
45 | {value:135, name:'视频广告'},
46 | {value:1548, name:'搜索引擎'}
47 | ]
48 | }
49 | ]
50 | };
51 |
52 | option1 = {
53 | color: ['#3398DB'],
54 | tooltip : {
55 | trigger: 'axis',
56 | axisPointer : { // 坐标轴指示器,坐标轴触发有效
57 | type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
58 | }
59 | },
60 | grid: {
61 | left: '1%',
62 | right: '2%',
63 | bottom: '1%',
64 | containLabel: true
65 | },
66 | xAxis : [
67 | {
68 | type : 'category',
69 | data : ['Sat', 'Sun'],
70 | axisTick: {
71 | alignWithLabel: true
72 | }
73 | }
74 | ],
75 | yAxis : [
76 | {
77 | type : 'value'
78 | }
79 | ],
80 | series : [
81 | {
82 | name:'直接访问',
83 | type:'bar',
84 | barWidth: '40%',
85 | data:[10, 52]
86 | }
87 | ]
88 | };
89 | xjgds1.setOption(option1);
90 | xjgds2.setOption(option);
--------------------------------------------------------------------------------
/src/main/resources/templates/Login2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | login
6 |
160 |
161 |
162 |
163 |
164 |
168 |
169 |
193 |
194 |
209 |
210 |
211 |
212 |
213 |
--------------------------------------------------------------------------------
/src/main/resources/templates/homePage.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | layout 后台大布局 - Layui
7 |
8 |
9 |
10 |
11 |
41 |
42 |
68 |
69 |
70 |
71 |
73 |
74 |
75 |
76 |
77 |
84 |
85 |
--------------------------------------------------------------------------------
/src/main/resources/templates/success.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 | Insert title here
8 |
9 |
10 | 成功登陆
11 |
12 |
14 |
15 |
36 |
57 |
58 |
--------------------------------------------------------------------------------
/src/test/java/com/example/demo/DemoApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.example.demo;
2 |
3 | import org.junit.Test;
4 | import org.junit.runner.RunWith;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 | import org.springframework.test.context.junit4.SpringRunner;
7 |
8 | @RunWith(SpringRunner.class)
9 | @SpringBootTest
10 | public class DemoApplicationTests {
11 |
12 | @Test
13 | public void contextLoads() {
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------